今天给出一个例程,像是个小游戏!哈哈

一 html

//anagram.html

<!DOCTYPE HTML>

<html>
<head>
<title>Anagram</title>
</head>
<body>
<h3>Pile:</h3>
<div id="letterpile"></div>

<h3>Word:</h3>
<div id="result"></div>
<div>
<input id="newl" type="button" value="new letters">
</div>
<script type="application/dart" src="anagram.dart"></script>
</body>
</html>

//anagramjs.html

<!DOCTYPE HTML>

<html>
<head>
<title>Anagram</title>
</head>
<body>
<h3>Pile:</h3>
<div id="letterpile"></div>

<h3>Word:</h3>
<div id="result"></div>
<div>
<input id="newl" type="button" value="new letters">
</div>
<script src="anagram.js"></script>
</body>
</html>

二 dart

//anagram.dart

import 'dart:html';
import 'dart:math' show Random;

List<String> alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n"];

List<ButtonElement> buttons = new List();
DivElement letterpile;
DivElement result;

void main() {
letterpile = querySelector('#letterpile');
result = querySelector('#result');
querySelector('#newl').onClick.listen(generateNewLetters);
}

void generateNewLetters(Event e) {
letterpile.children.clear();
result.children.clear();
Random indexGernerator = new Random();
buttons.clear();
for(var i=0; i<6; i++) {
int letterIndex = indexGernerator.nextInt(alphabet.length);
buttons.add(new ButtonElement());
buttons[i].classes.add("letter");
buttons[i].onClick.listen(moveLetter);
buttons[i].text = alphabet[letterIndex%14];
letterpile.children.add(buttons[i]);
}
}

void moveLetter(Event e) {
Element letter = e.target;
if (letter.parent==letterpile) {
result.children.add(letter);
} else {
letterpile.children.add(letter);
}
}

三 anagram.js

(function(){var supportsDirectProtoAccess=function(){var z=function(){}
z.prototype={p:{}}
var y=new z()
if(!(y.__proto__&&y.__proto__.p===z.prototype.p))return false
try{if(typeof navigator!="undefined"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Chrome/")>=0)return true
if(typeof version=="function"&&version.length==0){var x=version()
if(/^\d+\.\d+\.\d+\.\d+$/.test(x))return true}}catch(w){}return false}()
function map(a){a=Object.create(null)
a.x=0
delete a.x
return a}var A=map()
var B=map()
var C=map()
var D=map()
var E=map()
var F=map()
var G=map()
var H=map()
var J=map()
var K=map()
var L=map()
var M=map()
var N=map()
var O=map()
var P=map()
var Q=map()
var R=map()
var S=map()
var T=map()
var U=map()
var V=map()
var W=map()
var X=map()
var Y=map()
var Z=map()
function I(){}init()
function setupProgram(a,b){"use strict"
function generateAccessor(a9,b0,b1){var g=a9.split("-")
var f=g[0]
var e=f.length
var d=f.charCodeAt(e-1)
var c
if(g.length>1)c=true
else c=false
d=d>=60&&d<=64?d-59:d>=123&&d<=126?d-117:d>=37&&d<=43?d-27:0
if(d){var a0=d&3
var a1=d>>2
var a2=f=f.substring(0,e-1)
var a3=f.indexOf(":")
if(a3>0){a2=f.substring(0,a3)
f=f.substring(a3+1)}if(a0){var a4=a0&2?"r":""
var a5=a0&1?"this":"r"
var a6="return "+a5+"."+f
var a7=b1+".prototype.g"+a2+"="
var a8="function("+a4+"){"+a6+"}"
if(c)b0.push(a7+"$reflectable("+a8+");\n")
else b0.push(a7+a8+";\n")}if(a1){var a4=a1&2?"r,v":"v"
var a5=a1&1?"this":"r"
var a6=a5+"."+f+"=v"
var a7=b1+".prototype.s"+a2+"="
var a8="function("+a4+"){"+a6+"}"
if(c)b0.push(a7+"$reflectable("+a8+");\n")
else b0.push(a7+a8+";\n")}}return f}function defineClass(a2,a3){var g=[]
var f="function "+a2+"("
var e=""
var d=""
for(var c=0;c<a3.length;c++){if(c!=0)f+=", "
var a0=generateAccessor(a3[c],g,a2)
d+="'"+a0+"',"
var a1="p_"+a0
f+=a1
e+="this."+a0+" = "+a1+";\n"}if(supportsDirectProtoAccess)e+="this."+"$deferredAction"+"();"
f+=") {\n"+e+"}\n"
f+=a2+".builtin$cls=\""+a2+"\";\n"
f+="$desc=$collectedClasses."+a2+"[1];\n"
f+=a2+".prototype = $desc;\n"
if(typeof defineClass.name!="string")f+=a2+".name=\""+a2+"\";\n"
f+=a2+"."+"$__fields__"+"=["+d+"];\n"
f+=g.join("")
return f}init.createNewIsolate=function(){return new I()}
init.classIdExtractor=function(c){return c.constructor.name}
init.classFieldsExtractor=function(c){var g=c.constructor.$__fields__
if(!g)return[]
var f=[]
f.length=g.length
for(var e=0;e<g.length;e++)f[e]=c[g[e]]
return f}
init.instanceFromClassId=function(c){return new init.allClasses[c]()}
init.initializeEmptyInstance=function(c,d,e){init.allClasses[c].apply(d,e)
return d}
var z=supportsDirectProtoAccess?function(c,d){var g=c.prototype
g.__proto__=d.prototype
g.constructor=c
g["$is"+c.name]=c
return convertToFastObject(g)}:function(){function tmp(){}return function(a0,a1){tmp.prototype=a1.prototype
var g=new tmp()
convertToSlowObject(g)
var f=a0.prototype
var e=Object.keys(f)
for(var d=0;d<e.length;d++){var c=e[d]
g[c]=f[c]}g["$is"+a0.name]=a0
g.constructor=a0
a0.prototype=g
return g}}()
function finishClasses(a4){var g=init.allClasses
a4.combinedConstructorFunction+="return [\n"+a4.constructorsList.join(",\n ")+"\n]"
var f=new Function("$collectedClasses",a4.combinedConstructorFunction)(a4.collected)
a4.combinedConstructorFunction=null
for(var e=0;e<f.length;e++){var d=f[e]
var c=d.name
var a0=a4.collected[c]
var a1=a0[0]
a0=a0[1]
g[c]=d
a1[c]=d}f=null
var a2=init.finishedClasses
function finishClass(c1){if(a2[c1])return
a2[c1]=true
var a5=a4.pending[c1]
if(a5&&a5.indexOf("+")>0){var a6=a5.split("+")
a5=a6[0]
var a7=a6[1]
finishClass(a7)
var a8=g[a7]
var a9=a8.prototype
var b0=g[c1].prototype
var b1=Object.keys(a9)
for(var b2=0;b2<b1.length;b2++){var b3=b1[b2]
if(!u.call(b0,b3))b0[b3]=a9[b3]}}if(!a5||typeof a5!="string"){var b4=g[c1]
var b5=b4.prototype
b5.constructor=b4
b5.$isb=b4
b5.$deferredAction=function(){}
return}finishClass(a5)
var b6=g[a5]
if(!b6)b6=existingIsolateProperties[a5]
var b4=g[c1]
var b5=z(b4,b6)
if(a9)b5.$deferredAction=mixinDeferredActionHelper(a9,b5)
if(Object.prototype.hasOwnProperty.call(b5,"%")){var b7=b5["%"].split(";")
if(b7[0]){var b8=b7[0].split("|")
for(var b2=0;b2<b8.length;b2++){init.interceptorsByTag[b8[b2]]=b4
init.leafTags[b8[b2]]=true}}if(b7[1]){b8=b7[1].split("|")
if(b7[2]){var b9=b7[2].split("|")
for(var b2=0;b2<b9.length;b2++){var c0=g[b9[b2]]
c0.$nativeSuperclassTag=b8[0]}}for(b2=0;b2<b8.length;b2++){init.interceptorsByTag[b8[b2]]=b4
init.leafTags[b8[b2]]=false}}b5.$deferredAction()}if(b5.$isc)b5.$deferredAction()}var a3=Object.keys(a4.pending)
for(var e=0;e<a3.length;e++)finishClass(a3[e])}function finishAddStubsHelper(){var g=this
while(!g.hasOwnProperty("$deferredAction"))g=g.__proto__
delete g.$deferredAction
var f=Object.keys(g)
for(var e=0;e<f.length;e++){var d=f[e]
var c=d.charCodeAt(0)
var a0
if(d!=="^"&&d!=="$reflectable"&&c!==43&&c!==42&&(a0=g[d])!=null&&a0.constructor===Array&&d!=="<>")addStubs(g,a0,d,false,[])}convertToFastObject(g)
g=g.__proto__
g.$deferredAction()}function mixinDeferredActionHelper(c,d){var g
if(d.hasOwnProperty("$deferredAction"))g=d.$deferredAction
return function foo(){if(!supportsDirectProtoAccess)return
var f=this
while(!f.hasOwnProperty("$deferredAction"))f=f.__proto__
if(g)f.$deferredAction=g
else{delete f.$deferredAction
convertToFastObject(f)}c.$deferredAction()
f.$deferredAction()}}function processClassData(b1,b2,b3){b2=convertToSlowObject(b2)
var g
var f=Object.keys(b2)
var e=false
var d=supportsDirectProtoAccess&&b1!="b"
for(var c=0;c<f.length;c++){var a0=f[c]
var a1=a0.charCodeAt(0)
if(a0==="l"){processStatics(init.statics[b1]=b2.l,b3)
delete b2.l}else if(a1===43){w[g]=a0.substring(1)
var a2=b2[a0]
if(a2>0)b2[g].$reflectable=a2}else if(a1===42){b2[g].$D=b2[a0]
var a3=b2.$methodsWithOptionalArguments
if(!a3)b2.$methodsWithOptionalArguments=a3={}
a3[a0]=g}else{var a4=b2[a0]
if(a0!=="^"&&a4!=null&&a4.constructor===Array&&a0!=="<>")if(d)e=true
else addStubs(b2,a4,a0,false,[])
else g=a0}}if(e)b2.$deferredAction=finishAddStubsHelper
var a5=b2["^"],a6,a7,a8=a5
var a9=a8.split(";")
a8=a9[1]?a9[1].split(","):[]
a7=a9[0]
a6=a7.split(":")
if(a6.length==2){a7=a6[0]
var b0=a6[1]
if(b0)b2.$S=function(b4){return function(){return init.types[b4]}}(b0)}if(a7)b3.pending[b1]=a7
b3.combinedConstructorFunction+=defineClass(b1,a8)
b3.constructorsList.push(b1)
b3.collected[b1]=[m,b2]
i.push(b1)}function processStatics(a3,a4){var g=Object.keys(a3)
for(var f=0;f<g.length;f++){var e=g[f]
if(e==="^")continue
var d=a3[e]
var c=e.charCodeAt(0)
var a0
if(c===43){v[a0]=e.substring(1)
var a1=a3[e]
if(a1>0)a3[a0].$reflectable=a1
if(d&&d.length)init.typeInformation[a0]=d}else if(c===42){m[a0].$D=d
var a2=a3.$methodsWithOptionalArguments
if(!a2)a3.$methodsWithOptionalArguments=a2={}
a2[e]=a0}else if(typeof d==="function"){m[a0=e]=d
h.push(e)
init.globalFunctions[e]=d}else if(d.constructor===Array)addStubs(m,d,e,true,h)
else{a0=e
processClassData(e,d,a4)}}}function addStubs(b2,b3,b4,b5,b6){var g=0,f=b3[g],e
if(typeof f=="string")e=b3[++g]
else{e=f
f=b4}var d=[b2[b4]=b2[f]=e]
e.$stubName=b4
b6.push(b4)
for(g++;g<b3.length;g++){e=b3[g]
if(typeof e!="function")break
if(!b5)e.$stubName=b3[++g]
d.push(e)
if(e.$stubName){b2[e.$stubName]=e
b6.push(e.$stubName)}}for(var c=0;c<d.length;g++,c++)d[c].$callName=b3[g]
var a0=b3[g]
b3=b3.slice(++g)
var a1=b3[0]
var a2=a1>>1
var a3=(a1&1)===1
var a4=a1===3
var a5=a1===1
var a6=b3[1]
var a7=a6>>1
var a8=(a6&1)===1
var a9=a2+a7!=d[0].length
var b0=b3[2]
if(typeof b0=="number")b3[2]=b0+b
var b1=2*a7+a2+3
if(a0){e=tearOff(d,b3,b5,b4,a9)
b2[b4].$getter=e
e.$getterStub=true
if(b5){init.globalFunctions[b4]=e
b6.push(a0)}b2[a0]=e
d.push(e)
e.$stubName=a0
e.$callName=null}}function tearOffGetter(c,d,e,f){return f?new Function("funcs","reflectionInfo","name","H","c","return function tearOff_"+e+y+++"(x) {"+"if (c === null) c = "+"H.bv"+"("+"this, funcs, reflectionInfo, false, [x], name);"+"return new c(this, funcs[0], x, name);"+"}")(c,d,e,H,null):new Function("funcs","reflectionInfo","name","H","c","return function tearOff_"+e+y+++"() {"+"if (c === null) c = "+"H.bv"+"("+"this, funcs, reflectionInfo, false, [], name);"+"return new c(this, funcs[0], null, name);"+"}")(c,d,e,H,null)}function tearOff(c,d,e,f,a0){var g
return e?function(){if(g===void 0)g=H.bv(this,c,d,true,[],f).prototype
return g}:tearOffGetter(c,d,f,a0)}var y=0
if(!init.libraries)init.libraries=[]
if(!init.mangledNames)init.mangledNames=map()
if(!init.mangledGlobalNames)init.mangledGlobalNames=map()
if(!init.statics)init.statics=map()
if(!init.typeInformation)init.typeInformation=map()
if(!init.globalFunctions)init.globalFunctions=map()
var x=init.libraries
var w=init.mangledNames
var v=init.mangledGlobalNames
var u=Object.prototype.hasOwnProperty
var t=a.length
var s=map()
s.collected=map()
s.pending=map()
s.constructorsList=[]
s.combinedConstructorFunction="function $reflectable(fn){fn.$reflectable=1;return fn};\n"+"var $desc;\n"
for(var r=0;r<t;r++){var q=a[r]
var p=q[0]
var o=q[1]
var n=q[2]
var m=q[3]
var l=q[4]
var k=!!q[5]
var j=l&&l["^"]
if(j instanceof Array)j=j[0]
var i=[]
var h=[]
processStatics(l,s)
x.push([p,o,i,h,n,j,k,m])}finishClasses(s)}I.u=function(){}
var dart=[["","",,H,{"^":"",hm:{"^":"b;a"}}],["","",,J,{"^":"",
n:function(a){return void 0},
b1:function(a,b,c,d){return{i:a,p:b,e:c,x:d}},
aZ:function(a){var z,y,x,w,v
z=a[init.dispatchPropertyName]
if(z==null)if($.by==null){H.fw()
z=a[init.dispatchPropertyName]}if(z!=null){y=z.p
if(!1===y)return z.i
if(!0===y)return a
x=Object.getPrototypeOf(a)
if(y===x)return z.i
if(z.e===x)throw H.e(new P.cn("Return interceptor for "+H.f(y(a,z))))}w=a.constructor
v=w==null?null:w[$.$get$b6()]
if(v!=null)return v
v=H.fG(a)
if(v!=null)return v
if(typeof a=="function")return C.v
y=Object.getPrototypeOf(a)
if(y==null)return C.k
if(y===Object.prototype)return C.k
if(typeof w=="function"){Object.defineProperty(w,$.$get$b6(),{value:C.d,enumerable:false,writable:true,configurable:true})
return C.d}return C.d},
c:{"^":"b;",
p:function(a,b){return a===b},
gt:function(a){return H.P(a)},
i:["bA",function(a){return H.aO(a)}],
"%":"Blob|Client|DOMError|File|FileError|MediaError|NavigatorUserMediaError|PositionError|SQLError|SVGAnimatedLength|SVGAnimatedLengthList|SVGAnimatedNumber|SVGAnimatedNumberList|SVGAnimatedString|WindowClient"},
dC:{"^":"c;",
i:function(a){return String(a)},
gt:function(a){return a?519018:218159},
$isfl:1},
dE:{"^":"c;",
p:function(a,b){return null==b},
i:function(a){return"null"},
gt:function(a){return 0}},
b7:{"^":"c;",
gt:function(a){return 0},
i:["bB",function(a){return String(a)}],
$isdF:1},
dR:{"^":"b7;"},
aS:{"^":"b7;"},
at:{"^":"b7;",
i:function(a){var z=a[$.$get$bL()]
return z==null?this.bB(a):J.S(z)},
$S:function(){return{func:1,opt:[,,,,,,,,,,,,,,,,]}}},
ar:{"^":"c;$ti",
b4:function(a,b){if(!!a.immutable$list)throw H.e(new P.y(b))},
c9:function(a,b){if(!!a.fixed$length)throw H.e(new P.y(b))},
J:function(a,b){return new H.ba(a,b,[H.R(a,0),null])},
v:function(a,b){if(b>>>0!==b||b>=a.length)return H.h(a,b)
return a[b]},
gci:function(a){if(a.length>0)return a[0]
throw H.e(H.bT())},
ay:function(a,b,c,d,e){var z,y,x
this.b4(a,"setRange")
P.c7(b,c,a.length,null,null,null)
z=c-b
if(z===0)return
if(e+z>d.length)throw H.e(H.dB())
if(e<b)for(y=z-1;y>=0;--y){x=e+y
if(x>=d.length)return H.h(d,x)
a[b+y]=d[x]}else for(y=0;y<z;++y){x=e+y
if(x>=d.length)return H.h(d,x)
a[b+y]=d[x]}},
i:function(a){return P.aI(a,"[","]")},
gu:function(a){return new J.b3(a,a.length,0,null)},
gt:function(a){return H.P(a)},
gj:function(a){return a.length},
sj:function(a,b){this.c9(a,"set length")
if(b<0)throw H.e(P.av(b,0,null,"newLength",null))
a.length=b},
h:function(a,b){if(typeof b!=="number"||Math.floor(b)!==b)throw H.e(H.o(a,b))
if(b>=a.length||b<0)throw H.e(H.o(a,b))
return a[b]},
n:function(a,b,c){this.b4(a,"indexed set")
if(typeof b!=="number"||Math.floor(b)!==b)throw H.e(H.o(a,b))
if(b>=a.length||b<0)throw H.e(H.o(a,b))
a[b]=c},
$isr:1,
$asr:I.u,
$isd:1,
$asd:null,
$isa:1,
$asa:null},
hl:{"^":"ar;$ti"},
b3:{"^":"b;a,b,c,d",
gm:function(){return this.d},
k:function(){var z,y,x
z=this.a
y=z.length
if(this.b!==y)throw H.e(H.fN(z))
x=this.c
if(x>=y){this.d=null
return!1}this.d=z[x]
this.c=x+1
return!0}},
as:{"^":"c;",
i:function(a){if(a===0&&1/a<0)return"-0.0"
else return""+a},
gt:function(a){return a&0x1FFFFFFF},
Z:function(a,b){if(typeof b!=="number")throw H.e(H.a_(b))
return a+b},
bp:function(a,b){var z=a%b
if(z===0)return 0
if(z>0)return z
if(b<0)return z-b
else return z+b},
N:function(a,b){return(a|0)===a?a/b|0:this.c5(a,b)},
c5:function(a,b){var z=a/b
if(z>=-2147483648&&z<=2147483647)return z|0
if(z>0){if(z!==1/0)return Math.floor(z)}else if(z>-1/0)return Math.ceil(z)
throw H.e(new P.y("Result of truncating division is "+H.f(z)+": "+H.f(a)+" ~/ "+b))},
aY:function(a,b){var z
if(a>0)z=b>31?0:a>>>b
else{z=b>31?31:b
z=a>>z>>>0}return z},
a7:function(a,b){if(typeof b!=="number")throw H.e(H.a_(b))
return a<b},
$isaA:1},
bV:{"^":"as;",$isaA:1,$isj:1},
dD:{"^":"as;",$isaA:1},
aJ:{"^":"c;",
bP:function(a,b){if(b>=a.length)throw H.e(H.o(a,b))
return a.charCodeAt(b)},
Z:function(a,b){if(typeof b!=="string")throw H.e(P.bH(b,null,null))
return a+b},
az:function(a,b,c){if(c==null)c=a.length
if(typeof c!=="number"||Math.floor(c)!==c)H.p(H.a_(c))
if(b<0)throw H.e(P.aP(b,null,null))
if(typeof c!=="number")return H.ak(c)
if(b>c)throw H.e(P.aP(b,null,null))
if(c>a.length)throw H.e(P.aP(c,null,null))
return a.substring(b,c)},
bz:function(a,b){return this.az(a,b,null)},
i:function(a){return a},
gt:function(a){var z,y,x
for(z=a.length,y=0,x=0;x<z;++x){y=536870911&y+a.charCodeAt(x)
y=536870911&y+((524287&y)<<10)
y^=y>>6}y=536870911&y+((67108863&y)<<3)
y^=y>>11
return 536870911&y+((16383&y)<<15)},
gj:function(a){return a.length},
h:function(a,b){if(typeof b!=="number"||Math.floor(b)!==b)throw H.e(H.o(a,b))
if(b>=a.length||b<0)throw H.e(H.o(a,b))
return a[b]},
$isr:1,
$asr:I.u,
$isV:1}}],["","",,H,{"^":"",
bT:function(){return new P.bh("No element")},
dB:function(){return new P.bh("Too few elements")},
a:{"^":"C;$ti",$asa:null},
au:{"^":"a;$ti",
gu:function(a){return new H.bW(this,this.gj(this),0,null)},
J:function(a,b){return new H.ba(this,b,[H.q(this,"au",0),null])},
X:function(a,b){var z,y,x
z=H.I([],[H.q(this,"au",0)])
C.b.sj(z,this.gj(this))
for(y=0;y<this.gj(this);++y){x=this.v(0,y)
if(y>=z.length)return H.h(z,y)
z[y]=x}return z},
W:function(a){return this.X(a,!0)}},
bW:{"^":"b;a,b,c,d",
gm:function(){return this.d},
k:function(){var z,y,x,w
z=this.a
y=J.E(z)
x=y.gj(z)
if(this.b!==x)throw H.e(new P.a5(z))
w=this.c
if(w>=x){this.d=null
return!1}this.d=y.v(z,w);++this.c
return!0}},
aL:{"^":"C;a,b,$ti",
gu:function(a){return new H.dN(null,J.aC(this.a),this.b,this.$ti)},
gj:function(a){return J.a3(this.a)},
v:function(a,b){return this.b.$1(J.aB(this.a,b))},
$asC:function(a,b){return[b]},
l:{
aM:function(a,b,c,d){if(!!a.$isa)return new H.bM(a,b,[c,d])
return new H.aL(a,b,[c,d])}}},
bM:{"^":"aL;a,b,$ti",$isa:1,
$asa:function(a,b){return[b]}},
dN:{"^":"bU;a,b,c,$ti",
k:function(){var z=this.b
if(z.k()){this.a=this.c.$1(z.gm())
return!0}this.a=null
return!1},
gm:function(){return this.a}},
ba:{"^":"au;a,b,$ti",
gj:function(a){return J.a3(this.a)},
v:function(a,b){return this.b.$1(J.aB(this.a,b))},
$asau:function(a,b){return[b]},
$asa:function(a,b){return[b]},
$asC:function(a,b){return[b]}},
ec:{"^":"C;a,b,$ti",
gu:function(a){return new H.ed(J.aC(this.a),this.b,this.$ti)},
J:function(a,b){return new H.aL(this,b,[H.R(this,0),null])}},
ed:{"^":"bU;a,b,$ti",
k:function(){var z,y
for(z=this.a,y=this.b;z.k();)if(y.$1(z.gm())===!0)return!0
return!1},
gm:function(){return this.a.gm()}},
bP:{"^":"b;$ti"}}],["","",,H,{"^":"",
ay:function(a,b){var z=a.P(b)
if(!init.globalState.d.cy)init.globalState.f.V()
return z},
cQ:function(a,b){var z,y,x,w,v,u
z={}
z.a=b
if(b==null){b=[]
z.a=b
y=b}else y=b
if(!J.n(y).$isd)throw H.e(P.bF("Arguments to main must be a List: "+H.f(y)))
init.globalState=new H.eQ(0,0,1,null,null,null,null,null,null,null,null,null,a)
y=init.globalState
x=self.window==null
w=self.Worker
v=x&&!!self.postMessage
y.x=v
v=!v
if(v)w=w!=null&&$.$get$bR()!=null
else w=!0
y.y=w
y.r=x&&v
y.f=new H.es(P.b9(null,H.ax),0)
x=P.j
y.z=new H.U(0,null,null,null,null,null,0,[x,H.bo])
y.ch=new H.U(0,null,null,null,null,null,0,[x,null])
if(y.x===!0){w=new H.eP()
y.Q=w
self.onmessage=function(c,d){return function(e){c(d,e)}}(H.du,w)
self.dartPrint=self.dartPrint||function(c){return function(d){if(self.console&&self.console.log)self.console.log(d)
else self.postMessage(c(d))}}(H.eR)}if(init.globalState.x===!0)return
y=init.globalState.a++
w=P.a9(null,null,null,x)
v=new H.aQ(0,null,!1)
u=new H.bo(y,new H.U(0,null,null,null,null,null,0,[x,H.aQ]),w,init.createNewIsolate(),v,new H.T(H.b2()),new H.T(H.b2()),!1,!1,[],P.a9(null,null,null,null),null,null,!1,!0,P.a9(null,null,null,null))
w.w(0,0)
u.aB(0,v)
init.globalState.e=u
init.globalState.d=u
if(H.a1(a,{func:1,args:[,]}))u.P(new H.fL(z,a))
else if(H.a1(a,{func:1,args:[,,]}))u.P(new H.fM(z,a))
else u.P(a)
init.globalState.f.V()},
dy:function(){var z=init.currentScript
if(z!=null)return String(z.src)
if(init.globalState.x===!0)return H.dz()
return},
dz:function(){var z,y
z=new Error().stack
if(z==null){z=function(){try{throw new Error()}catch(x){return x.stack}}()
if(z==null)throw H.e(new P.y("No stack trace"))}y=z.match(new RegExp("^ *at [^(]*\\((.*):[0-9]*:[0-9]*\\)$","m"))
if(y!=null)return y[1]
y=z.match(new RegExp("^[^@]*@(.*):[0-9]*$","m"))
if(y!=null)return y[1]
throw H.e(new P.y('Cannot extract URI from "'+z+'"'))},
du:function(a,b){var z,y,x,w,v,u,t,s,r,q,p,o,n
z=new H.aU(!0,[]).G(b.data)
y=J.E(z)
switch(y.h(z,"command")){case"start":init.globalState.b=y.h(z,"id")
x=y.h(z,"functionName")
w=x==null?init.globalState.cx:init.globalFunctions[x]()
v=y.h(z,"args")
u=new H.aU(!0,[]).G(y.h(z,"msg"))
t=y.h(z,"isSpawnUri")
s=y.h(z,"startPaused")
r=new H.aU(!0,[]).G(y.h(z,"replyTo"))
y=init.globalState.a++
q=P.j
p=P.a9(null,null,null,q)
o=new H.aQ(0,null,!1)
n=new H.bo(y,new H.U(0,null,null,null,null,null,0,[q,H.aQ]),p,init.createNewIsolate(),o,new H.T(H.b2()),new H.T(H.b2()),!1,!1,[],P.a9(null,null,null,null),null,null,!1,!0,P.a9(null,null,null,null))
p.w(0,0)
n.aB(0,o)
init.globalState.f.a.D(new H.ax(n,new H.dv(w,v,u,t,s,r),"worker-start"))
init.globalState.d=n
init.globalState.f.V()
break
case"spawn-worker":break
case"message":if(y.h(z,"port")!=null)y.h(z,"port").F(y.h(z,"msg"))
init.globalState.f.V()
break
case"close":init.globalState.ch.U(0,$.$get$bS().h(0,a))
a.terminate()
init.globalState.f.V()
break
case"log":H.dt(y.h(z,"msg"))
break
case"print":if(init.globalState.x===!0){y=init.globalState.Q
q=P.a8(["command","print","msg",z])
q=new H.X(!0,P.ae(null,P.j)).A(q)
y.toString
self.postMessage(q)}else P.bA(y.h(z,"msg"))
break
case"error":throw H.e(y.h(z,"msg"))}},
dt:function(a){var z,y,x,w
if(init.globalState.x===!0){y=init.globalState.Q
x=P.a8(["command","log","msg",a])
x=new H.X(!0,P.ae(null,P.j)).A(x)
y.toString
self.postMessage(x)}else try{self.console.log(a)}catch(w){H.B(w)
z=H.A(w)
y=P.aG(z)
throw H.e(y)}},
dw:function(a,b,c,d,e,f){var z,y,x,w
z=init.globalState.d
y=z.a
$.c4=$.c4+("_"+y)
$.c5=$.c5+("_"+y)
y=z.e
x=init.globalState.d.a
w=z.f
f.F(["spawned",new H.aW(y,x),w,z.r])
x=new H.dx(a,b,c,d,z)
if(e===!0){z.b1(w,w)
init.globalState.f.a.D(new H.ax(z,x,"start isolate"))}else x.$0()},
f2:function(a){return new H.aU(!0,[]).G(new H.X(!1,P.ae(null,P.j)).A(a))},
fL:{"^":"i:0;a,b",
$0:function(){this.b.$1(this.a.a)}},
fM:{"^":"i:0;a,b",
$0:function(){this.b.$2(this.a.a,null)}},
eQ:{"^":"b;a,b,c,d,e,f,r,x,y,z,Q,ch,cx",l:{
eR:function(a){var z=P.a8(["command","print","msg",a])
return new H.X(!0,P.ae(null,P.j)).A(z)}}},
bo:{"^":"b;a,b,c,cv:d<,cb:e<,f,r,x,y,z,Q,ch,cx,cy,db,dx",
b1:function(a,b){if(!this.f.p(0,a))return
if(this.Q.w(0,b)&&!this.y)this.y=!0
this.ar()},
cE:function(a){var z,y,x,w,v,u
if(!this.y)return
z=this.Q
z.U(0,a)
if(z.a===0){for(z=this.z;y=z.length,y!==0;){if(0>=y)return H.h(z,-1)
x=z.pop()
y=init.globalState.f.a
w=y.b
v=y.a
u=v.length
w=(w-1&u-1)>>>0
y.b=w
if(w<0||w>=u)return H.h(v,w)
v[w]=x
if(w===y.c)y.aI();++y.d}this.y=!1}this.ar()},
c7:function(a,b){var z,y,x
if(this.ch==null)this.ch=[]
for(z=J.n(a),y=0;x=this.ch,y<x.length;y+=2)if(z.p(a,x[y])){z=this.ch
x=y+1
if(x>=z.length)return H.h(z,x)
z[x]=b
return}x.push(a)
this.ch.push(b)},
cD:function(a){var z,y,x
if(this.ch==null)return
for(z=J.n(a),y=0;x=this.ch,y<x.length;y+=2)if(z.p(a,x[y])){z=this.ch
x=y+2
z.toString
if(typeof z!=="object"||z===null||!!z.fixed$length)H.p(new P.y("removeRange"))
P.c7(y,x,z.length,null,null,null)
z.splice(y,x-y)
return}},
bx:function(a,b){if(!this.r.p(0,a))return
this.db=b},
cm:function(a,b,c){var z=J.n(b)
if(!z.p(b,0))z=z.p(b,1)&&!this.cy
else z=!0
if(z){a.F(c)
return}z=this.cx
if(z==null){z=P.b9(null,null)
this.cx=z}z.D(new H.eK(a,c))},
cl:function(a,b){var z
if(!this.r.p(0,a))return
z=J.n(b)
if(!z.p(b,0))z=z.p(b,1)&&!this.cy
else z=!0
if(z){this.at()
return}z=this.cx
if(z==null){z=P.b9(null,null)
this.cx=z}z.D(this.gcw())},
cn:function(a,b){var z,y,x
z=this.dx
if(z.a===0){if(this.db===!0&&this===init.globalState.e)return
if(self.console&&self.console.error)self.console.error(a,b)
else{P.bA(a)
if(b!=null)P.bA(b)}return}y=new Array(2)
y.fixed$length=Array
y[0]=J.S(a)
y[1]=b==null?null:J.S(b)
for(x=new P.bp(z,z.r,null,null),x.c=z.e;x.k();)x.d.F(y)},
P:function(a){var z,y,x,w,v,u,t
z=init.globalState.d
init.globalState.d=this
$=this.d
y=null
x=this.cy
this.cy=!0
try{y=a.$0()}catch(u){w=H.B(u)
v=H.A(u)
this.cn(w,v)
if(this.db===!0){this.at()
if(this===init.globalState.e)throw u}}finally{this.cy=x
init.globalState.d=z
if(z!=null)$=z.gcv()
if(this.cx!=null)for(;t=this.cx,!t.gE(t);)this.cx.bf().$0()}return y},
bc:function(a){return this.b.h(0,a)},
aB:function(a,b){var z=this.b
if(z.b6(a))throw H.e(P.aG("Registry: ports must be registered only once."))
z.n(0,a,b)},
ar:function(){var z=this.b
if(z.gj(z)-this.c.a>0||this.y||!this.x)init.globalState.z.n(0,this.a,this)
else this.at()},
at:[function(){var z,y,x,w,v
z=this.cx
if(z!=null)z.B(0)
for(z=this.b,y=z.gbm(z),y=y.gu(y);y.k();)y.gm().bO()
z.B(0)
this.c.B(0)
init.globalState.z.U(0,this.a)
this.dx.B(0)
if(this.ch!=null){for(x=0;z=this.ch,y=z.length,x<y;x+=2){w=z[x]
v=x+1
if(v>=y)return H.h(z,v)
w.F(z[v])}this.ch=null}},"$0","gcw",0,0,1]},
eK:{"^":"i:1;a,b",
$0:function(){this.a.F(this.b)}},
es:{"^":"b;a,b",
cc:function(){var z=this.a
if(z.b===z.c)return
return z.bf()},
bj:function(){var z,y,x
z=this.cc()
if(z==null){if(init.globalState.e!=null)if(init.globalState.z.b6(init.globalState.e.a))if(init.globalState.r===!0){y=init.globalState.e.b
y=y.gE(y)}else y=!1
else y=!1
else y=!1
if(y)H.p(P.aG("Program exited with open ReceivePorts."))
y=init.globalState
if(y.x===!0){x=y.z
x=x.gE(x)&&y.f.b===0}else x=!1
if(x){y=y.Q
x=P.a8(["command","close"])
x=new H.X(!0,new P.cv(0,null,null,null,null,null,0,[null,P.j])).A(x)
y.toString
self.postMessage(x)}return!1}z.cC()
return!0},
aU:function(){if(self.window!=null)new H.et(this).$0()
else for(;this.bj(););},
V:function(){var z,y,x,w,v
if(init.globalState.x!==!0)this.aU()
else try{this.aU()}catch(x){z=H.B(x)
y=H.A(x)
w=init.globalState.Q
v=P.a8(["command","error","msg",H.f(z)+"\n"+H.f(y)])
v=new H.X(!0,P.ae(null,P.j)).A(v)
w.toString
self.postMessage(v)}}},
et:{"^":"i:1;a",
$0:function(){if(!this.a.bj())return
P.e9(C.e,this)}},
ax:{"^":"b;a,b,c",
cC:function(){var z=this.a
if(z.y){z.z.push(this)
return}z.P(this.b)}},
eP:{"^":"b;"},
dv:{"^":"i:0;a,b,c,d,e,f",
$0:function(){H.dw(this.a,this.b,this.c,this.d,this.e,this.f)}},
dx:{"^":"i:1;a,b,c,d,e",
$0:function(){var z,y
z=this.e
z.x=!0
if(this.d!==!0)this.a.$1(this.c)
else{y=this.a
if(H.a1(y,{func:1,args:[,,]}))y.$2(this.b,this.c)
else if(H.a1(y,{func:1,args:[,]}))y.$1(this.b)
else y.$0()}z.ar()}},
cp:{"^":"b;"},
aW:{"^":"cp;b,a",
F:function(a){var z,y,x
z=init.globalState.z.h(0,this.a)
if(z==null)return
y=this.b
if(y.gaL())return
x=H.f2(a)
if(z.gcb()===y){y=J.E(x)
switch(y.h(x,0)){case"pause":z.b1(y.h(x,1),y.h(x,2))
break
case"resume":z.cE(y.h(x,1))
break
case"add-ondone":z.c7(y.h(x,1),y.h(x,2))
break
case"remove-ondone":z.cD(y.h(x,1))
break
case"set-errors-fatal":z.bx(y.h(x,1),y.h(x,2))
break
case"ping":z.cm(y.h(x,1),y.h(x,2),y.h(x,3))
break
case"kill":z.cl(y.h(x,1),y.h(x,2))
break
case"getErrors":y=y.h(x,1)
z.dx.w(0,y)
break
case"stopErrors":y=y.h(x,1)
z.dx.U(0,y)
break}return}init.globalState.f.a.D(new H.ax(z,new H.eT(this,x),"receive"))},
p:function(a,b){if(b==null)return!1
return b instanceof H.aW&&J.L(this.b,b.b)},
gt:function(a){return this.b.gak()}},
eT:{"^":"i:0;a,b",
$0:function(){var z=this.a.b
if(!z.gaL())z.bK(this.b)}},
br:{"^":"cp;b,c,a",
F:function(a){var z,y,x
z=P.a8(["command","message","port",this,"msg",a])
y=new H.X(!0,P.ae(null,P.j)).A(z)
if(init.globalState.x===!0){init.globalState.Q.toString
self.postMessage(y)}else{x=init.globalState.ch.h(0,this.b)
if(x!=null)x.postMessage(y)}},
p:function(a,b){if(b==null)return!1
return b instanceof H.br&&J.L(this.b,b.b)&&J.L(this.a,b.a)&&J.L(this.c,b.c)},
gt:function(a){var z,y,x
z=this.b
if(typeof z!=="number")return z.by()
y=this.a
if(typeof y!=="number")return y.by()
x=this.c
if(typeof x!=="number")return H.ak(x)
return(z<<16^y<<8^x)>>>0}},
aQ:{"^":"b;ak:a<,b,aL:c<",
bO:function(){this.c=!0
this.b=null},
bK:function(a){if(this.c)return
this.b.$1(a)},
$isdT:1},
e5:{"^":"b;a,b,c",
bF:function(a,b){var z,y
if(a===0)z=self.setTimeout==null||init.globalState.x===!0
else z=!1
if(z){this.c=1
z=init.globalState.f
y=init.globalState.d
z.a.D(new H.ax(y,new H.e7(this,b),"timer"))
this.b=!0}else if(self.setTimeout!=null){++init.globalState.f.b
this.c=self.setTimeout(H.aj(new H.e8(this,b),0),a)}else throw H.e(new P.y("Timer greater than 0."))},
l:{
e6:function(a,b){var z=new H.e5(!0,!1,null)
z.bF(a,b)
return z}}},
e7:{"^":"i:1;a,b",
$0:function(){this.a.c=null
this.b.$0()}},
e8:{"^":"i:1;a,b",
$0:function(){this.a.c=null;--init.globalState.f.b
this.b.$0()}},
T:{"^":"b;ak:a<",
gt:function(a){var z=this.a
if(typeof z!=="number")return z.cL()
z=C.f.aY(z,0)^C.f.N(z,4294967296)
z=(~z>>>0)+(z<<15>>>0)&4294967295
z=((z^z>>>12)>>>0)*5&4294967295
z=((z^z>>>4)>>>0)*2057&4294967295
return(z^z>>>16)>>>0},
p:function(a,b){var z,y
if(b==null)return!1
if(b===this)return!0
if(b instanceof H.T){z=this.a
y=b.a
return z==null?y==null:z===y}return!1}},
X:{"^":"b;a,b",
A:[function(a){var z,y,x,w,v
if(a==null||typeof a==="string"||typeof a==="number"||typeof a==="boolean")return a
z=this.b
y=z.h(0,a)
if(y!=null)return["ref",y]
z.n(0,a,z.gj(z))
z=J.n(a)
if(!!z.$isbY)return["buffer",a]
if(!!z.$isbd)return["typed",a]
if(!!z.$isr)return this.bt(a)
if(!!z.$isds){x=this.gbq()
w=a.gba()
w=H.aM(w,x,H.q(w,"C",0),null)
w=P.aK(w,!0,H.q(w,"C",0))
z=z.gbm(a)
z=H.aM(z,x,H.q(z,"C",0),null)
return["map",w,P.aK(z,!0,H.q(z,"C",0))]}if(!!z.$isdF)return this.bu(a)
if(!!z.$isc)this.bl(a)
if(!!z.$isdT)this.Y(a,"RawReceivePorts can't be transmitted:")
if(!!z.$isaW)return this.bv(a)
if(!!z.$isbr)return this.bw(a)
if(!!z.$isi){v=a.$static_name
if(v==null)this.Y(a,"Closures can't be transmitted:")
return["function",v]}if(!!z.$isT)return["capability",a.a]
if(!(a instanceof P.b))this.bl(a)
return["dart",init.classIdExtractor(a),this.bs(init.classFieldsExtractor(a))]},"$1","gbq",2,0,2],
Y:function(a,b){throw H.e(new P.y((b==null?"Can't transmit:":b)+" "+H.f(a)))},
bl:function(a){return this.Y(a,null)},
bt:function(a){var z=this.br(a)
if(!!a.fixed$length)return["fixed",z]
if(!a.fixed$length)return["extendable",z]
if(!a.immutable$list)return["mutable",z]
if(a.constructor===Array)return["const",z]
this.Y(a,"Can't serialize indexable: ")},
br:function(a){var z,y,x
z=[]
C.b.sj(z,a.length)
for(y=0;y<a.length;++y){x=this.A(a[y])
if(y>=z.length)return H.h(z,y)
z[y]=x}return z},
bs:function(a){var z
for(z=0;z<a.length;++z)C.b.n(a,z,this.A(a[z]))
return a},
bu:function(a){var z,y,x,w
if(!!a.constructor&&a.constructor!==Object)this.Y(a,"Only plain JS Objects are supported:")
z=Object.keys(a)
y=[]
C.b.sj(y,z.length)
for(x=0;x<z.length;++x){w=this.A(a[z[x]])
if(x>=y.length)return H.h(y,x)
y[x]=w}return["js-object",z,y]},
bw:function(a){if(this.a)return["sendport",a.b,a.a,a.c]
return["raw sendport",a]},
bv:function(a){if(this.a)return["sendport",init.globalState.b,a.a,a.b.gak()]
return["raw sendport",a]}},
aU:{"^":"b;a,b",
G:[function(a){var z,y,x,w,v,u
if(a==null||typeof a==="string"||typeof a==="number"||typeof a==="boolean")return a
if(typeof a!=="object"||a===null||a.constructor!==Array)throw H.e(P.bF("Bad serialized message: "+H.f(a)))
switch(C.b.gci(a)){case"ref":if(1>=a.length)return H.h(a,1)
z=a[1]
y=this.b
if(z>>>0!==z||z>=y.length)return H.h(y,z)
return y[z]
case"buffer":if(1>=a.length)return H.h(a,1)
x=a[1]
this.b.push(x)
return x
case"typed":if(1>=a.length)return H.h(a,1)
x=a[1]
this.b.push(x)
return x
case"fixed":if(1>=a.length)return H.h(a,1)
x=a[1]
this.b.push(x)
y=H.I(this.O(x),[null])
y.fixed$length=Array
return y
case"extendable":if(1>=a.length)return H.h(a,1)
x=a[1]
this.b.push(x)
return H.I(this.O(x),[null])
case"mutable":if(1>=a.length)return H.h(a,1)
x=a[1]
this.b.push(x)
return this.O(x)
case"const":if(1>=a.length)return H.h(a,1)
x=a[1]
this.b.push(x)
y=H.I(this.O(x),[null])
y.fixed$length=Array
return y
case"map":return this.cf(a)
case"sendport":return this.cg(a)
case"raw sendport":if(1>=a.length)return H.h(a,1)
x=a[1]
this.b.push(x)
return x
case"js-object":return this.ce(a)
case"function":if(1>=a.length)return H.h(a,1)
x=init.globalFunctions[a[1]]()
this.b.push(x)
return x
case"capability":if(1>=a.length)return H.h(a,1)
return new H.T(a[1])
case"dart":y=a.length
if(1>=y)return H.h(a,1)
w=a[1]
if(2>=y)return H.h(a,2)
v=a[2]
u=init.instanceFromClassId(w)
this.b.push(u)
this.O(v)
return init.initializeEmptyInstance(w,u,v)
default:throw H.e("couldn't deserialize: "+H.f(a))}},"$1","gcd",2,0,2],
O:function(a){var z,y,x
z=J.E(a)
y=0
while(!0){x=z.gj(a)
if(typeof x!=="number")return H.ak(x)
if(!(y<x))break
z.n(a,y,this.G(z.h(a,y)));++y}return a},
cf:function(a){var z,y,x,w,v,u
z=a.length
if(1>=z)return H.h(a,1)
y=a[1]
if(2>=z)return H.h(a,2)
x=a[2]
w=P.dL()
this.b.push(w)
y=J.cZ(y,this.gcd()).W(0)
for(z=J.E(y),v=J.E(x),u=0;u<z.gj(y);++u){if(u>=y.length)return H.h(y,u)
w.n(0,y[u],this.G(v.h(x,u)))}return w},
cg:function(a){var z,y,x,w,v,u,t
z=a.length
if(1>=z)return H.h(a,1)
y=a[1]
if(2>=z)return H.h(a,2)
x=a[2]
if(3>=z)return H.h(a,3)
w=a[3]
if(J.L(y,init.globalState.b)){v=init.globalState.z.h(0,x)
if(v==null)return
u=v.bc(w)
if(u==null)return
t=new H.aW(u,x)}else t=new H.br(y,w,x)
this.b.push(t)
return t},
ce:function(a){var z,y,x,w,v,u,t
z=a.length
if(1>=z)return H.h(a,1)
y=a[1]
if(2>=z)return H.h(a,2)
x=a[2]
w={}
this.b.push(w)
z=J.E(y)
v=J.E(x)
u=0
while(!0){t=z.gj(y)
if(typeof t!=="number")return H.ak(t)
if(!(u<t))break
w[z.h(y,u)]=this.G(v.h(x,u));++u}return w}}}],["","",,H,{"^":"",
fr:function(a){return init.types[a]},
fF:function(a,b){var z
if(b!=null){z=b.x
if(z!=null)return z}return!!J.n(a).$isv},
f:function(a){var z
if(typeof a==="string")return a
if(typeof a==="number"){if(a!==0)return""+a}else if(!0===a)return"true"
else if(!1===a)return"false"
else if(a==null)return"null"
z=J.S(a)
if(typeof z!=="string")throw H.e(H.a_(a))
return z},
P:function(a){var z=a.$identityHash
if(z==null){z=Math.random()*0x3fffffff|0
a.$identityHash=z}return z},
bf:function(a){var z,y,x,w,v,u,t,s
z=J.n(a)
y=z.constructor
if(typeof y=="function"){x=y.name
w=typeof x==="string"?x:null}else w=null
if(w==null||z===C.n||!!J.n(a).$isaS){v=C.j(a)
if(v==="Object"){u=a.constructor
if(typeof u=="function"){t=String(u).match(/^\s*function\s*([\w$]*)\s*\(/)
s=t==null?null:t[1]
if(typeof s==="string"&&/^\w+$/.test(s))w=s}if(w==null)w=v}else w=v}w=w
if(w.length>1&&C.h.bP(w,0)===36)w=C.h.bz(w,1)
return function(b,c){return b.replace(/[^<,> ]+/g,function(d){return c[d]||d})}(w+H.cM(H.b_(a),0,null),init.mangledGlobalNames)},
aO:function(a){return"Instance of '"+H.bf(a)+"'"},
be:function(a,b){if(a==null||typeof a==="boolean"||typeof a==="number"||typeof a==="string")throw H.e(H.a_(a))
return a[b]},
c6:function(a,b,c){if(a==null||typeof a==="boolean"||typeof a==="number"||typeof a==="string")throw H.e(H.a_(a))
a[b]=c},
ak:function(a){throw H.e(H.a_(a))},
h:function(a,b){if(a==null)J.a3(a)
throw H.e(H.o(a,b))},
o:function(a,b){var z,y
if(typeof b!=="number"||Math.floor(b)!==b)return new P.N(!0,b,"index",null)
z=J.a3(a)
if(!(b<0)){if(typeof z!=="number")return H.ak(z)
y=b>=z}else y=!0
if(y)return P.K(b,a,"index",null,z)
return P.aP(b,"index",null)},
a_:function(a){return new P.N(!0,a,null,null)},
e:function(a){var z
if(a==null)a=new P.c3()
z=new Error()
z.dartException=a
if("defineProperty" in Object){Object.defineProperty(z,"message",{get:H.cR})
z.name=""}else z.toString=H.cR
return z},
cR:function(){return J.S(this.dartException)},
p:function(a){throw H.e(a)},
fN:function(a){throw H.e(new P.a5(a))},
B:function(a){var z,y,x,w,v,u,t,s,r,q,p,o,n,m,l
z=new H.fP(a)
if(a==null)return
if(typeof a!=="object")return a
if("dartException" in a)return z.$1(a.dartException)
else if(!("message" in a))return a
y=a.message
if("number" in a&&typeof a.number=="number"){x=a.number
w=x&65535
if((C.c.aY(x,16)&8191)===10)switch(w){case 438:return z.$1(H.b8(H.f(y)+" (Error "+w+")",null))
case 445:case 5007:v=H.f(y)+" (Error "+w+")"
return z.$1(new H.c2(v,null))}}if(a instanceof TypeError){u=$.$get$cc()
t=$.$get$cd()
s=$.$get$ce()
r=$.$get$cf()
q=$.$get$cj()
p=$.$get$ck()
o=$.$get$ch()
$.$get$cg()
n=$.$get$cm()
m=$.$get$cl()
l=u.C(y)
if(l!=null)return z.$1(H.b8(y,l))
else{l=t.C(y)
if(l!=null){l.method="call"
return z.$1(H.b8(y,l))}else{l=s.C(y)
if(l==null){l=r.C(y)
if(l==null){l=q.C(y)
if(l==null){l=p.C(y)
if(l==null){l=o.C(y)
if(l==null){l=r.C(y)
if(l==null){l=n.C(y)
if(l==null){l=m.C(y)
v=l!=null}else v=!0}else v=!0}else v=!0}else v=!0}else v=!0}else v=!0}else v=!0
if(v)return z.$1(new H.c2(y,l==null?null:l.method))}}return z.$1(new H.eb(typeof y==="string"?y:""))}if(a instanceof RangeError){if(typeof y==="string"&&y.indexOf("call stack")!==-1)return new P.c9()
y=function(b){try{return String(b)}catch(k){}return null}(a)
return z.$1(new P.N(!1,null,null,typeof y==="string"?y.replace(/^RangeError:\s*/,""):y))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof y==="string"&&y==="too much recursion")return new P.c9()
return a},
A:function(a){var z
if(a==null)return new H.cw(a,null)
z=a.$cachedTrace
if(z!=null)return z
return a.$cachedTrace=new H.cw(a,null)},
fI:function(a){if(a==null||typeof a!='object')return J.M(a)
else return H.P(a)},
fo:function(a,b){var z,y,x,w
z=a.length
for(y=0;y<z;y=w){x=y+1
w=x+1
b.n(0,a[y],a[x])}return b},
fz:function(a,b,c,d,e,f,g){switch(c){case 0:return H.ay(b,new H.fA(a))
case 1:return H.ay(b,new H.fB(a,d))
case 2:return H.ay(b,new H.fC(a,d,e))
case 3:return H.ay(b,new H.fD(a,d,e,f))
case 4:return H.ay(b,new H.fE(a,d,e,f,g))}throw H.e(P.aG("Unsupported number of arguments for wrapped closure"))},
aj:function(a,b){var z
if(a==null)return
z=a.$identity
if(!!z)return z
z=function(c,d,e,f){return function(g,h,i,j){return f(c,e,d,g,h,i,j)}}(a,b,init.globalState.d,H.fz)
a.$identity=z
return z},
d7:function(a,b,c,d,e,f){var z,y,x,w,v,u,t,s,r,q,p,o,n,m
z=b[0]
y=z.$callName
if(!!J.n(c).$isd){z.$reflectionInfo=c
x=H.dV(z).r}else x=c
w=d?Object.create(new H.dZ().constructor.prototype):Object.create(new H.b4(null,null,null,null).constructor.prototype)
w.$initialize=w.constructor
if(d)v=function(){this.$initialize()}
else{u=$.G
$.G=J.al(u,1)
v=new Function("a,b,c,d"+u,"this.$initialize(a,b,c,d"+u+")")}w.constructor=v
v.prototype=w
if(!d){t=e.length==1&&!0
s=H.bK(a,z,t)
s.$reflectionInfo=c}else{w.$static_name=f
s=z
t=!1}if(typeof x=="number")r=function(g,h){return function(){return g(h)}}(H.fr,x)
else if(typeof x=="function")if(d)r=x
else{q=t?H.bJ:H.b5
r=function(g,h){return function(){return g.apply({$receiver:h(this)},arguments)}}(x,q)}else throw H.e("Error in reflectionInfo.")
w.$S=r
w[y]=s
for(u=b.length,p=1;p<u;++p){o=b[p]
n=o.$callName
if(n!=null){m=d?o:H.bK(a,o,t)
w[n]=m}}w["call*"]=s
w.$R=z.$R
w.$D=z.$D
return v},
d4:function(a,b,c,d){var z=H.b5
switch(b?-1:a){case 0:return function(e,f){return function(){return f(this)[e]()}}(c,z)
case 1:return function(e,f){return function(g){return f(this)[e](g)}}(c,z)
case 2:return function(e,f){return function(g,h){return f(this)[e](g,h)}}(c,z)
case 3:return function(e,f){return function(g,h,i){return f(this)[e](g,h,i)}}(c,z)
case 4:return function(e,f){return function(g,h,i,j){return f(this)[e](g,h,i,j)}}(c,z)
case 5:return function(e,f){return function(g,h,i,j,k){return f(this)[e](g,h,i,j,k)}}(c,z)
default:return function(e,f){return function(){return e.apply(f(this),arguments)}}(d,z)}},
bK:function(a,b,c){var z,y,x,w,v,u,t
if(c)return H.d6(a,b)
z=b.$stubName
y=b.length
x=a[z]
w=b==null?x==null:b===x
v=!w||y>=27
if(v)return H.d4(y,!w,z,b)
if(y===0){w=$.G
$.G=J.al(w,1)
u="self"+H.f(w)
w="return function(){var "+u+" = this."
v=$.a4
if(v==null){v=H.aE("self")
$.a4=v}return new Function(w+H.f(v)+";return "+u+"."+H.f(z)+"();}")()}t="abcdefghijklmnopqrstuvwxyz".split("").splice(0,y).join(",")
w=$.G
$.G=J.al(w,1)
t+=H.f(w)
w="return function("+t+"){return this."
v=$.a4
if(v==null){v=H.aE("self")
$.a4=v}return new Function(w+H.f(v)+"."+H.f(z)+"("+t+");}")()},
d5:function(a,b,c,d){var z,y
z=H.b5
y=H.bJ
switch(b?-1:a){case 0:throw H.e(new H.dW("Intercepted function with no arguments."))
case 1:return function(e,f,g){return function(){return f(this)[e](g(this))}}(c,z,y)
case 2:return function(e,f,g){return function(h){return f(this)[e](g(this),h)}}(c,z,y)
case 3:return function(e,f,g){return function(h,i){return f(this)[e](g(this),h,i)}}(c,z,y)
case 4:return function(e,f,g){return function(h,i,j){return f(this)[e](g(this),h,i,j)}}(c,z,y)
case 5:return function(e,f,g){return function(h,i,j,k){return f(this)[e](g(this),h,i,j,k)}}(c,z,y)
case 6:return function(e,f,g){return function(h,i,j,k,l){return f(this)[e](g(this),h,i,j,k,l)}}(c,z,y)
default:return function(e,f,g,h){return function(){h=[g(this)]
Array.prototype.push.apply(h,arguments)
return e.apply(f(this),h)}}(d,z,y)}},
d6:function(a,b){var z,y,x,w,v,u,t,s
z=H.d0()
y=$.bI
if(y==null){y=H.aE("receiver")
$.bI=y}x=b.$stubName
w=b.length
v=a[x]
u=b==null?v==null:b===v
t=!u||w>=28
if(t)return H.d5(w,!u,x,b)
if(w===1){y="return function(){return this."+H.f(z)+"."+H.f(x)+"(this."+H.f(y)+");"
u=$.G
$.G=J.al(u,1)
return new Function(y+H.f(u)+"}")()}s="abcdefghijklmnopqrstuvwxyz".split("").splice(0,w-1).join(",")
y="return function("+s+"){return this."+H.f(z)+"."+H.f(x)+"(this."+H.f(y)+", "+s+");"
u=$.G
$.G=J.al(u,1)
return new Function(y+H.f(u)+"}")()},
bv:function(a,b,c,d,e,f){var z
b.fixed$length=Array
if(!!J.n(c).$isd){c.fixed$length=Array
z=c}else z=c
return H.d7(a,b,z,!!d,e,f)},
fK:function(a,b){var z=J.E(b)
throw H.e(H.d2(H.bf(a),z.az(b,3,z.gj(b))))},
fy:function(a,b){var z
if(a!=null)z=(typeof a==="object"||typeof a==="function")&&J.n(a)[b]
else z=!0
if(z)return a
H.fK(a,b)},
fm:function(a){var z=J.n(a)
return"$S" in z?z.$S():null},
a1:function(a,b){var z
if(a==null)return!1
z=H.fm(a)
return z==null?!1:H.cL(z,b)},
fO:function(a){throw H.e(new P.d8(a))},
b2:function(){return(Math.random()*0x100000000>>>0)+(Math.random()*0x100000000>>>0)*4294967296},
cJ:function(a){return init.getIsolateTag(a)},
I:function(a,b){a.$ti=b
return a},
b_:function(a){if(a==null)return
return a.$ti},
cK:function(a,b){return H.bC(a["$as"+H.f(b)],H.b_(a))},
q:function(a,b,c){var z=H.cK(a,b)
return z==null?null:z[c]},
R:function(a,b){var z=H.b_(a)
return z==null?null:z[b]},
a2:function(a,b){var z
if(a==null)return"dynamic"
if(typeof a==="object"&&a!==null&&a.constructor===Array)return a[0].builtin$cls+H.cM(a,1,b)
if(typeof a=="function")return a.builtin$cls
if(typeof a==="number"&&Math.floor(a)===a)return H.f(a)
if(typeof a.func!="undefined"){z=a.typedef
if(z!=null)return H.a2(z,b)
return H.f5(a,b)}return"unknown-reified-type"},
f5:function(a,b){var z,y,x,w,v,u,t,s,r,q,p
z=!!a.v?"void":H.a2(a.ret,b)
if("args" in a){y=a.args
for(x=y.length,w="",v="",u=0;u<x;++u,v=", "){t=y[u]
w=w+v+H.a2(t,b)}}else{w=""
v=""}if("opt" in a){s=a.opt
w+=v+"["
for(x=s.length,v="",u=0;u<x;++u,v=", "){t=s[u]
w=w+v+H.a2(t,b)}w+="]"}if("named" in a){r=a.named
w+=v+"{"
for(x=H.fn(r),q=x.length,v="",u=0;u<q;++u,v=", "){p=x[u]
w=w+v+H.a2(r[p],b)+(" "+H.f(p))}w+="}"}return"("+w+") => "+z},
cM:function(a,b,c){var z,y,x,w,v,u
if(a==null)return""
z=new P.bi("")
for(y=b,x=!0,w=!0,v="";y<a.length;++y){if(x)x=!1
else z.q=v+", "
u=a[y]
if(u!=null)w=!1
v=z.q+=H.a2(u,c)}return w?"":"<"+z.i(0)+">"},
bC:function(a,b){if(a==null)return b
a=a.apply(null,b)
if(a==null)return
if(typeof a==="object"&&a!==null&&a.constructor===Array)return a
if(typeof a=="function")return a.apply(null,b)
return b},
cH:function(a,b,c,d){var z,y
if(a==null)return!1
z=H.b_(a)
y=J.n(a)
if(y[b]==null)return!1
return H.cF(H.bC(y[d],z),c)},
cF:function(a,b){var z,y
if(a==null||b==null)return!0
z=a.length
for(y=0;y<z;++y)if(!H.z(a[y],b[y]))return!1
return!0},
cI:function(a,b,c){return a.apply(b,H.cK(b,c))},
z:function(a,b){var z,y,x,w,v,u
if(a===b)return!0
if(a==null||b==null)return!0
if(a.builtin$cls==="aN")return!0
if('func' in b)return H.cL(a,b)
if('func' in a)return b.builtin$cls==="hh"||b.builtin$cls==="b"
z=typeof a==="object"&&a!==null&&a.constructor===Array
y=z?a[0]:a
x=typeof b==="object"&&b!==null&&b.constructor===Array
w=x?b[0]:b
if(w!==y){v=H.a2(w,null)
if(!('$is'+v in y.prototype))return!1
u=y.prototype["$as"+v]}else u=null
if(!z&&u==null||!x)return!0
z=z?a.slice(1):null
x=b.slice(1)
return H.cF(H.bC(u,z),x)},
cE:function(a,b,c){var z,y,x,w,v
z=b==null
if(z&&a==null)return!0
if(z)return c
if(a==null)return!1
y=a.length
x=b.length
if(c){if(y<x)return!1}else if(y!==x)return!1
for(w=0;w<x;++w){z=a[w]
v=b[w]
if(!(H.z(z,v)||H.z(v,z)))return!1}return!0},
fe:function(a,b){var z,y,x,w,v,u
if(b==null)return!0
if(a==null)return!1
z=Object.getOwnPropertyNames(b)
z.fixed$length=Array
y=z
for(z=y.length,x=0;x<z;++x){w=y[x]
if(!Object.hasOwnProperty.call(a,w))return!1
v=b[w]
u=a[w]
if(!(H.z(v,u)||H.z(u,v)))return!1}return!0},
cL:function(a,b){var z,y,x,w,v,u,t,s,r,q,p,o,n,m,l
if(!('func' in a))return!1
if("v" in a){if(!("v" in b)&&"ret" in b)return!1}else if(!("v" in b)){z=a.ret
y=b.ret
if(!(H.z(z,y)||H.z(y,z)))return!1}x=a.args
w=b.args
v=a.opt
u=b.opt
t=x!=null?x.length:0
s=w!=null?w.length:0
r=v!=null?v.length:0
q=u!=null?u.length:0
if(t>s)return!1
if(t+r<s+q)return!1
if(t===s){if(!H.cE(x,w,!1))return!1
if(!H.cE(v,u,!0))return!1}else{for(p=0;p<t;++p){o=x[p]
n=w[p]
if(!(H.z(o,n)||H.z(n,o)))return!1}for(m=p,l=0;m<s;++l,++m){o=v[l]
n=w[m]
if(!(H.z(o,n)||H.z(n,o)))return!1}for(m=0;m<q;++l,++m){o=v[l]
n=u[m]
if(!(H.z(o,n)||H.z(n,o)))return!1}}return H.fe(a.named,b.named)},
i7:function(a){var z=$.bx
return"Instance of "+(z==null?"<Unknown>":z.$1(a))},
i4:function(a){return H.P(a)},
i2:function(a,b,c){Object.defineProperty(a,b,{value:c,enumerable:false,writable:true,configurable:true})},
fG:function(a){var z,y,x,w,v,u
z=$.bx.$1(a)
y=$.aY[z]
if(y!=null){Object.defineProperty(a,init.dispatchPropertyName,{value:y,enumerable:false,writable:true,configurable:true})
return y.i}x=$.b0[z]
if(x!=null)return x
w=init.interceptorsByTag[z]
if(w==null){z=$.cC.$2(a,z)
if(z!=null){y=$.aY[z]
if(y!=null){Object.defineProperty(a,init.dispatchPropertyName,{value:y,enumerable:false,writable:true,configurable:true})
return y.i}x=$.b0[z]
if(x!=null)return x
w=init.interceptorsByTag[z]}}if(w==null)return
x=w.prototype
v=z[0]
if(v==="!"){y=H.bz(x)
$.aY[z]=y
Object.defineProperty(a,init.dispatchPropertyName,{value:y,enumerable:false,writable:true,configurable:true})
return y.i}if(v==="~"){$.b0[z]=x
return x}if(v==="-"){u=H.bz(x)
Object.defineProperty(Object.getPrototypeOf(a),init.dispatchPropertyName,{value:u,enumerable:false,writable:true,configurable:true})
return u.i}if(v==="+")return H.cN(a,x)
if(v==="*")throw H.e(new P.cn(z))
if(init.leafTags[z]===true){u=H.bz(x)
Object.defineProperty(Object.getPrototypeOf(a),init.dispatchPropertyName,{value:u,enumerable:false,writable:true,configurable:true})
return u.i}else return H.cN(a,x)},
cN:function(a,b){var z=Object.getPrototypeOf(a)
Object.defineProperty(z,init.dispatchPropertyName,{value:J.b1(b,z,null,null),enumerable:false,writable:true,configurable:true})
return b},
bz:function(a){return J.b1(a,!1,null,!!a.$isv)},
fH:function(a,b,c){var z=b.prototype
if(init.leafTags[a]===true)return J.b1(z,!1,null,!!z.$isv)
else return J.b1(z,c,null,null)},
fw:function(){if(!0===$.by)return
$.by=!0
H.fx()},
fx:function(){var z,y,x,w,v,u,t,s
$.aY=Object.create(null)
$.b0=Object.create(null)
H.fs()
z=init.interceptorsByTag
y=Object.getOwnPropertyNames(z)
if(typeof window!="undefined"){window
x=function(){}
for(w=0;w<y.length;++w){v=y[w]
u=$.cO.$1(v)
if(u!=null){t=H.fH(v,z[v],u)
if(t!=null){Object.defineProperty(u,init.dispatchPropertyName,{value:t,enumerable:false,writable:true,configurable:true})
x.prototype=u}}}}for(w=0;w<y.length;++w){v=y[w]
if(/^[A-Za-z_]/.test(v)){s=z[v]
z["!"+v]=s
z["~"+v]=s
z["-"+v]=s
z["+"+v]=s
z["*"+v]=s}}},
fs:function(){var z,y,x,w,v,u,t
z=C.o()
z=H.Z(C.p,H.Z(C.q,H.Z(C.i,H.Z(C.i,H.Z(C.t,H.Z(C.r,H.Z(C.u(C.j),z)))))))
if(typeof dartNativeDispatchHooksTransformer!="undefined"){y=dartNativeDispatchHooksTransformer
if(typeof y=="function")y=[y]
if(y.constructor==Array)for(x=0;x<y.length;++x){w=y[x]
if(typeof w=="function")z=w(z)||z}}v=z.getTag
u=z.getUnknownTag
t=z.prototypeForTag
$.bx=new H.ft(v)
$.cC=new H.fu(u)
$.cO=new H.fv(t)},
Z:function(a,b){return a(b)||b},
dU:{"^":"b;a,b,c,d,e,f,r,x",l:{
dV:function(a){var z,y,x
z=a.$reflectionInfo
if(z==null)return
z.fixed$length=Array
z=z
y=z[0]
x=z[1]
return new H.dU(a,z,(y&1)===1,y>>1,x>>1,(x&1)===1,z[2],null)}}},
ea:{"^":"b;a,b,c,d,e,f",
C:function(a){var z,y,x
z=new RegExp(this.a).exec(a)
if(z==null)return
y=Object.create(null)
x=this.b
if(x!==-1)y.arguments=z[x+1]
x=this.c
if(x!==-1)y.argumentsExpr=z[x+1]
x=this.d
if(x!==-1)y.expr=z[x+1]
x=this.e
if(x!==-1)y.method=z[x+1]
x=this.f
if(x!==-1)y.receiver=z[x+1]
return y},
l:{
H:function(a){var z,y,x,w,v,u
a=a.replace(String({}),'$receiver$').replace(/[[\]{}()*+?.\\^$|]/g,"\\$&")
z=a.match(/\\\$[a-zA-Z]+\\\$/g)
if(z==null)z=[]
y=z.indexOf("\\$arguments\\$")
x=z.indexOf("\\$argumentsExpr\\$")
w=z.indexOf("\\$expr\\$")
v=z.indexOf("\\$method\\$")
u=z.indexOf("\\$receiver\\$")
return new H.ea(a.replace(new RegExp('\\\\\\$arguments\\\\\\$','g'),'((?:x|[^x])*)').replace(new RegExp('\\\\\\$argumentsExpr\\\\\\$','g'),'((?:x|[^x])*)').replace(new RegExp('\\\\\\$expr\\\\\\$','g'),'((?:x|[^x])*)').replace(new RegExp('\\\\\\$method\\\\\\$','g'),'((?:x|[^x])*)').replace(new RegExp('\\\\\\$receiver\\\\\\$','g'),'((?:x|[^x])*)'),y,x,w,v,u)},
aR:function(a){return function($expr$){var $argumentsExpr$='$arguments$'
try{$expr$.$method$($argumentsExpr$)}catch(z){return z.message}}(a)},
ci:function(a){return function($expr$){try{$expr$.$method$}catch(z){return z.message}}(a)}}},
c2:{"^":"t;a,b",
i:function(a){var z=this.b
if(z==null)return"NullError: "+H.f(this.a)
return"NullError: method not found: '"+H.f(z)+"' on null"}},
dH:{"^":"t;a,b,c",
i:function(a){var z,y
z=this.b
if(z==null)return"NoSuchMethodError: "+H.f(this.a)
y=this.c
if(y==null)return"NoSuchMethodError: method not found: '"+z+"' ("+H.f(this.a)+")"
return"NoSuchMethodError: method not found: '"+z+"' on '"+y+"' ("+H.f(this.a)+")"},
l:{
b8:function(a,b){var z,y
z=b==null
y=z?null:b.method
return new H.dH(a,y,z?null:b.receiver)}}},
eb:{"^":"t;a",
i:function(a){var z=this.a
return z.length===0?"Error":"Error: "+z}},
fP:{"^":"i:2;a",
$1:function(a){if(!!J.n(a).$ist)if(a.$thrownJsError==null)a.$thrownJsError=this.a
return a}},
cw:{"^":"b;a,b",
i:function(a){var z,y
z=this.b
if(z!=null)return z
z=this.a
y=z!==null&&typeof z==="object"?z.stack:null
z=y==null?"":y
this.b=z
return z}},
fA:{"^":"i:0;a",
$0:function(){return this.a.$0()}},
fB:{"^":"i:0;a,b",
$0:function(){return this.a.$1(this.b)}},
fC:{"^":"i:0;a,b,c",
$0:function(){return this.a.$2(this.b,this.c)}},
fD:{"^":"i:0;a,b,c,d",
$0:function(){return this.a.$3(this.b,this.c,this.d)}},
fE:{"^":"i:0;a,b,c,d,e",
$0:function(){return this.a.$4(this.b,this.c,this.d,this.e)}},
i:{"^":"b;",
i:function(a){return"Closure '"+H.bf(this).trim()+"'"},
gbo:function(){return this},
gbo:function(){return this}},
cb:{"^":"i;"},
dZ:{"^":"cb;",
i:function(a){var z=this.$static_name
if(z==null)return"Closure of unknown static method"
return"Closure '"+z+"'"}},
b4:{"^":"cb;a,b,c,d",
p:function(a,b){if(b==null)return!1
if(this===b)return!0
if(!(b instanceof H.b4))return!1
return this.a===b.a&&this.b===b.b&&this.c===b.c},
gt:function(a){var z,y
z=this.c
if(z==null)y=H.P(this.a)
else y=typeof z!=="object"?J.M(z):H.P(z)
z=H.P(this.b)
if(typeof y!=="number")return y.cM()
return(y^z)>>>0},
i:function(a){var z=this.c
if(z==null)z=this.a
return"Closure '"+H.f(this.d)+"' of "+H.aO(z)},
l:{
b5:function(a){return a.a},
bJ:function(a){return a.c},
d0:function(){var z=$.a4
if(z==null){z=H.aE("self")
$.a4=z}return z},
aE:function(a){var z,y,x,w,v
z=new H.b4("self","target","receiver","name")
y=Object.getOwnPropertyNames(z)
y.fixed$length=Array
x=y
for(y=x.length,w=0;w<y;++w){v=x[w]
if(z[v]===a)return v}}}},
d1:{"^":"t;a",
i:function(a){return this.a},
l:{
d2:function(a,b){return new H.d1("CastError: Casting value of type '"+a+"' to incompatible type '"+b+"'")}}},
dW:{"^":"t;a",
i:function(a){return"RuntimeError: "+H.f(this.a)}},
U:{"^":"b;a,b,c,d,e,f,r,$ti",
gj:function(a){return this.a},
gE:function(a){return this.a===0},
gba:function(){return new H.dJ(this,[H.R(this,0)])},
gbm:function(a){return H.aM(this.gba(),new H.dG(this),H.R(this,0),H.R(this,1))},
b6:function(a){var z
if((a&0x3ffffff)===a){z=this.c
if(z==null)return!1
return this.bS(z,a)}else return this.cs(a)},
cs:function(a){var z=this.d
if(z==null)return!1
return this.S(this.a1(z,this.R(a)),a)>=0},
h:function(a,b){var z,y,x
if(typeof b==="string"){z=this.b
if(z==null)return
y=this.M(z,b)
return y==null?null:y.gI()}else if(typeof b==="number"&&(b&0x3ffffff)===b){x=this.c
if(x==null)return
y=this.M(x,b)
return y==null?null:y.gI()}else return this.ct(b)},
ct:function(a){var z,y,x
z=this.d
if(z==null)return
y=this.a1(z,this.R(a))
x=this.S(y,a)
if(x<0)return
return y[x].gI()},
n:function(a,b,c){var z,y,x,w,v,u
if(typeof b==="string"){z=this.b
if(z==null){z=this.am()
this.b=z}this.aA(z,b,c)}else if(typeof b==="number"&&(b&0x3ffffff)===b){y=this.c
if(y==null){y=this.am()
this.c=y}this.aA(y,b,c)}else{x=this.d
if(x==null){x=this.am()
this.d=x}w=this.R(b)
v=this.a1(x,w)
if(v==null)this.aq(x,w,[this.an(b,c)])
else{u=this.S(v,b)
if(u>=0)v[u].sI(c)
else v.push(this.an(b,c))}}},
U:function(a,b){if(typeof b==="string")return this.aT(this.b,b)
else if(typeof b==="number"&&(b&0x3ffffff)===b)return this.aT(this.c,b)
else return this.cu(b)},
cu:function(a){var z,y,x,w
z=this.d
if(z==null)return
y=this.a1(z,this.R(a))
x=this.S(y,a)
if(x<0)return
w=y.splice(x,1)[0]
this.b_(w)
return w.gI()},
B:function(a){if(this.a>0){this.f=null
this.e=null
this.d=null
this.c=null
this.b=null
this.a=0
this.r=this.r+1&67108863}},
cj:function(a,b){var z,y
z=this.e
y=this.r
for(;z!=null;){b.$2(z.a,z.b)
if(y!==this.r)throw H.e(new P.a5(this))
z=z.c}},
aA:function(a,b,c){var z=this.M(a,b)
if(z==null)this.aq(a,b,this.an(b,c))
else z.sI(c)},
aT:function(a,b){var z
if(a==null)return
z=this.M(a,b)
if(z==null)return
this.b_(z)
this.aG(a,b)
return z.gI()},
an:function(a,b){var z,y
z=new H.dI(a,b,null,null)
if(this.e==null){this.f=z
this.e=z}else{y=this.f
z.d=y
y.c=z
this.f=z}++this.a
this.r=this.r+1&67108863
return z},
b_:function(a){var z,y
z=a.gc0()
y=a.c
if(z==null)this.e=y
else z.c=y
if(y==null)this.f=z
else y.d=z;--this.a
this.r=this.r+1&67108863},
R:function(a){return J.M(a)&0x3ffffff},
S:function(a,b){var z,y
if(a==null)return-1
z=a.length
for(y=0;y<z;++y)if(J.L(a[y].gb9(),b))return y
return-1},
i:function(a){return P.dO(this)},
M:function(a,b){return a[b]},
a1:function(a,b){return a[b]},
aq:function(a,b,c){a[b]=c},
aG:function(a,b){delete a[b]},
bS:function(a,b){return this.M(a,b)!=null},
am:function(){var z=Object.create(null)
this.aq(z,"<non-identifier-key>",z)
this.aG(z,"<non-identifier-key>")
return z},
$isds:1},
dG:{"^":"i:2;a",
$1:function(a){return this.a.h(0,a)}},
dI:{"^":"b;b9:a<,I:b@,c,c0:d<"},
dJ:{"^":"a;a,$ti",
gj:function(a){return this.a.a},
gu:function(a){var z,y
z=this.a
y=new H.dK(z,z.r,null,null)
y.c=z.e
return y}},
dK:{"^":"b;a,b,c,d",
gm:function(){return this.d},
k:function(){var z=this.a
if(this.b!==z.r)throw H.e(new P.a5(z))
else{z=this.c
if(z==null){this.d=null
return!1}else{this.d=z.a
this.c=z.c
return!0}}}},
ft:{"^":"i:2;a",
$1:function(a){return this.a(a)}},
fu:{"^":"i:7;a",
$2:function(a,b){return this.a(a,b)}},
fv:{"^":"i:8;a",
$1:function(a){return this.a(a)}}}],["","",,H,{"^":"",
fn:function(a){var z=H.I(a?Object.keys(a):[],[null])
z.fixed$length=Array
return z}}],["","",,H,{"^":"",
fJ:function(a){if(typeof dartPrint=="function"){dartPrint(a)
return}if(typeof console=="object"&&typeof console.log!="undefined"){console.log(a)
return}if(typeof window=="object")return
if(typeof print=="function"){print(a)
return}throw"Unable to print message: "+String(a)}}],["","",,H,{"^":"",bY:{"^":"c;",$isbY:1,"%":"ArrayBuffer"},bd:{"^":"c;",$isbd:1,"%":"DataView;ArrayBufferView;bb|bZ|c0|bc|c_|c1|O"},bb:{"^":"bd;",
gj:function(a){return a.length},
$isv:1,
$asv:I.u,
$isr:1,
$asr:I.u},bc:{"^":"c0;",
h:function(a,b){if(b>>>0!==b||b>=a.length)H.p(H.o(a,b))
return a[b]},
n:function(a,b,c){if(b>>>0!==b||b>=a.length)H.p(H.o(a,b))
a[b]=c}},bZ:{"^":"bb+D;",$asv:I.u,$asr:I.u,
$asd:function(){return[P.Q]},
$asa:function(){return[P.Q]},
$isd:1,
$isa:1},c0:{"^":"bZ+bP;",$asv:I.u,$asr:I.u,
$asd:function(){return[P.Q]},
$asa:function(){return[P.Q]}},O:{"^":"c1;",
n:function(a,b,c){if(b>>>0!==b||b>=a.length)H.p(H.o(a,b))
a[b]=c},
$isd:1,
$asd:function(){return[P.j]},
$isa:1,
$asa:function(){return[P.j]}},c_:{"^":"bb+D;",$asv:I.u,$asr:I.u,
$asd:function(){return[P.j]},
$asa:function(){return[P.j]},
$isd:1,
$isa:1},c1:{"^":"c_+bP;",$asv:I.u,$asr:I.u,
$asd:function(){return[P.j]},
$asa:function(){return[P.j]}},hr:{"^":"bc;",$isd:1,
$asd:function(){return[P.Q]},
$isa:1,
$asa:function(){return[P.Q]},
"%":"Float32Array"},hs:{"^":"bc;",$isd:1,
$asd:function(){return[P.Q]},
$isa:1,
$asa:function(){return[P.Q]},
"%":"Float64Array"},ht:{"^":"O;",
h:function(a,b){if(b>>>0!==b||b>=a.length)H.p(H.o(a,b))
return a[b]},
$isd:1,
$asd:function(){return[P.j]},
$isa:1,
$asa:function(){return[P.j]},
"%":"Int16Array"},hu:{"^":"O;",
h:function(a,b){if(b>>>0!==b||b>=a.length)H.p(H.o(a,b))
return a[b]},
$isd:1,
$asd:function(){return[P.j]},
$isa:1,
$asa:function(){return[P.j]},
"%":"Int32Array"},hv:{"^":"O;",
h:function(a,b){if(b>>>0!==b||b>=a.length)H.p(H.o(a,b))
return a[b]},
$isd:1,
$asd:function(){return[P.j]},
$isa:1,
$asa:function(){return[P.j]},
"%":"Int8Array"},hw:{"^":"O;",
h:function(a,b){if(b>>>0!==b||b>=a.length)H.p(H.o(a,b))
return a[b]},
$isd:1,
$asd:function(){return[P.j]},
$isa:1,
$asa:function(){return[P.j]},
"%":"Uint16Array"},hx:{"^":"O;",
h:function(a,b){if(b>>>0!==b||b>=a.length)H.p(H.o(a,b))
return a[b]},
$isd:1,
$asd:function(){return[P.j]},
$isa:1,
$asa:function(){return[P.j]},
"%":"Uint32Array"},hy:{"^":"O;",
gj:function(a){return a.length},
h:function(a,b){if(b>>>0!==b||b>=a.length)H.p(H.o(a,b))
return a[b]},
$isd:1,
$asd:function(){return[P.j]},
$isa:1,
$asa:function(){return[P.j]},
"%":"CanvasPixelArray|Uint8ClampedArray"},hz:{"^":"O;",
gj:function(a){return a.length},
h:function(a,b){if(b>>>0!==b||b>=a.length)H.p(H.o(a,b))
return a[b]},
$isd:1,
$asd:function(){return[P.j]},
$isa:1,
$asa:function(){return[P.j]},
"%":";Uint8Array"}}],["","",,P,{"^":"",
ef:function(){var z,y,x
z={}
if(self.scheduleImmediate!=null)return P.ff()
if(self.MutationObserver!=null&&self.document!=null){y=self.document.createElement("div")
x=self.document.createElement("span")
z.a=null
new self.MutationObserver(H.aj(new P.eh(z),1)).observe(y,{childList:true})
return new P.eg(z,y,x)}else if(self.setImmediate!=null)return P.fg()
return P.fh()},
hO:[function(a){++init.globalState.f.b
self.scheduleImmediate(H.aj(new P.ei(a),0))},"$1","ff",2,0,3],
hP:[function(a){++init.globalState.f.b
self.setImmediate(H.aj(new P.ej(a),0))},"$1","fg",2,0,3],
hQ:[function(a){P.bj(C.e,a)},"$1","fh",2,0,3],
cx:function(a,b){if(H.a1(a,{func:1,args:[P.aN,P.aN]})){b.toString
return a}else{b.toString
return a}},
f7:function(){var z,y
for(;z=$.Y,z!=null;){$.ag=null
y=z.b
$.Y=y
if(y==null)$.af=null
z.a.$0()}},
i1:[function(){$.bs=!0
try{P.f7()}finally{$.ag=null
$.bs=!1
if($.Y!=null)$.$get$bk().$1(P.cG())}},"$0","cG",0,0,1],
cB:function(a){var z=new P.co(a,null)
if($.Y==null){$.af=z
$.Y=z
if(!$.bs)$.$get$bk().$1(P.cG())}else{$.af.b=z
$.af=z}},
fa:function(a){var z,y,x
z=$.Y
if(z==null){P.cB(a)
$.ag=$.af
return}y=new P.co(a,null)
x=$.ag
if(x==null){y.b=z
$.ag=y
$.Y=y}else{y.b=x.b
x.b=y
$.ag=y
if(y.b==null)$.af=y}},
cP:function(a){var z=$.m
if(C.a===z){P.aX(null,null,C.a,a)
return}z.toString
P.aX(null,null,z,z.as(a,!0))},
i_:[function(a){},"$1","fi",2,0,13],
f8:[function(a,b){var z=$.m
z.toString
P.ah(null,null,z,a,b)},function(a){return P.f8(a,null)},"$2","$1","fk",2,2,4,0],
i0:[function(){},"$0","fj",0,0,1],
f1:function(a,b,c){$.m.toString
a.a9(b,c)},
e9:function(a,b){var z=$.m
if(z===C.a){z.toString
return P.bj(a,b)}return P.bj(a,z.as(b,!0))},
bj:function(a,b){var z=C.c.N(a.a,1000)
return H.e6(z<0?0:z,b)},
ee:function(){return $.m},
ah:function(a,b,c,d,e){var z={}
z.a=d
P.fa(new P.f9(z,e))},
cy:function(a,b,c,d){var z,y
y=$.m
if(y===c)return d.$0()
$.m=c
z=y
try{y=d.$0()
return y}finally{$.m=z}},
cA:function(a,b,c,d,e){var z,y
y=$.m
if(y===c)return d.$1(e)
$.m=c
z=y
try{y=d.$1(e)
return y}finally{$.m=z}},
cz:function(a,b,c,d,e,f){var z,y
y=$.m
if(y===c)return d.$2(e,f)
$.m=c
z=y
try{y=d.$2(e,f)
return y}finally{$.m=z}},
aX:function(a,b,c,d){var z=C.a!==c
if(z)d=c.as(d,!(!z||!1))
P.cB(d)},
eh:{"^":"i:2;a",
$1:function(a){var z,y;--init.globalState.f.b
z=this.a
y=z.a
z.a=null
y.$0()}},
eg:{"^":"i:9;a,b,c",
$1:function(a){var z,y;++init.globalState.f.b
this.a.a=a
z=this.b
y=this.c
z.firstChild?z.removeChild(y):z.appendChild(y)}},
ei:{"^":"i:0;a",
$0:function(){--init.globalState.f.b
this.a.$0()}},
ej:{"^":"i:0;a",
$0:function(){--init.globalState.f.b
this.a.$0()}},
ct:{"^":"b;ao:a<,b,c,d,e",
gc6:function(){return this.b.b},
gb8:function(){return(this.c&1)!==0},
gcq:function(){return(this.c&2)!==0},
gb7:function(){return this.c===8},
co:function(a){return this.b.b.aw(this.d,a)},
cA:function(a){if(this.c!==6)return!0
return this.b.b.aw(this.d,J.an(a))},
ck:function(a){var z,y,x
z=this.e
y=J.F(a)
x=this.b.b
if(H.a1(z,{func:1,args:[,,]}))return x.cG(z,y.gH(a),a.gL())
else return x.aw(z,y.gH(a))},
cp:function(){return this.b.b.bh(this.d)}},
W:{"^":"b;a4:a<,b,c4:c<,$ti",
gbZ:function(){return this.a===2},
gal:function(){return this.a>=4},
bk:function(a,b){var z,y
z=$.m
if(z!==C.a){z.toString
if(b!=null)b=P.cx(b,z)}y=new P.W(0,z,null,[null])
this.aa(new P.ct(null,y,b==null?1:3,a,b))
return y},
cI:function(a){return this.bk(a,null)},
bn:function(a){var z,y
z=$.m
y=new P.W(0,z,null,this.$ti)
if(z!==C.a)z.toString
this.aa(new P.ct(null,y,8,a,null))
return y},
aa:function(a){var z,y
z=this.a
if(z<=1){a.a=this.c
this.c=a}else{if(z===2){y=this.c
if(!y.gal()){y.aa(a)
return}this.a=y.a
this.c=y.c}z=this.b
z.toString
P.aX(null,null,z,new P.ez(this,a))}},
aS:function(a){var z,y,x,w,v
z={}
z.a=a
if(a==null)return
y=this.a
if(y<=1){x=this.c
this.c=a
if(x!=null){for(w=a;w.gao()!=null;)w=w.a
w.a=x}}else{if(y===2){v=this.c
if(!v.gal()){v.aS(a)
return}this.a=v.a
this.c=v.c}z.a=this.a3(a)
y=this.b
y.toString
P.aX(null,null,y,new P.eE(z,this))}},
ap:function(){var z=this.c
this.c=null
return this.a3(z)},
a3:function(a){var z,y,x
for(z=a,y=null;z!=null;y=z,z=x){x=z.gao()
z.a=y}return y},
ag:function(a){var z,y
z=this.$ti
if(H.cH(a,"$isa6",z,"$asa6"))if(H.cH(a,"$isW",z,null))P.cu(a,this)
else P.eA(a,this)
else{y=this.ap()
this.a=4
this.c=a
P.ad(this,y)}},
ah:[function(a,b){var z=this.ap()
this.a=8
this.c=new P.aD(a,b)
P.ad(this,z)},function(a){return this.ah(a,null)},"cN","$2","$1","gaF",2,2,4,0],
bJ:function(a,b){this.a=4
this.c=a},
$isa6:1,
l:{
eA:function(a,b){var z,y,x
b.a=1
try{a.bk(new P.eB(b),new P.eC(b))}catch(x){z=H.B(x)
y=H.A(x)
P.cP(new P.eD(b,z,y))}},
cu:function(a,b){var z,y,x
for(;a.gbZ();)a=a.c
z=a.gal()
y=b.c
if(z){b.c=null
x=b.a3(y)
b.a=a.a
b.c=a.c
P.ad(b,x)}else{b.a=2
b.c=a
a.aS(y)}},
ad:function(a,b){var z,y,x,w,v,u,t,s,r,q,p,o,n
z={}
z.a=a
for(y=a;!0;){x={}
w=y.a===8
if(b==null){if(w){v=y.c
y=y.b
u=J.an(v)
t=v.gL()
y.toString
P.ah(null,null,y,u,t)}return}for(;b.gao()!=null;b=s){s=b.a
b.a=null
P.ad(z.a,b)}r=z.a.c
x.a=w
x.b=r
y=!w
if(!y||b.gb8()||b.gb7()){q=b.gc6()
if(w){u=z.a.b
u.toString
u=u==null?q==null:u===q
if(!u)q.toString
else u=!0
u=!u}else u=!1
if(u){y=z.a
v=y.c
y=y.b
u=J.an(v)
t=v.gL()
y.toString
P.ah(null,null,y,u,t)
return}p=$.m
if(p==null?q!=null:p!==q)$.m=q
else p=null
if(b.gb7())new P.eH(z,x,w,b).$0()
else if(y){if(b.gb8())new P.eG(x,b,r).$0()}else if(b.gcq())new P.eF(z,x,b).$0()
if(p!=null)$.m=p
y=x.b
if(!!J.n(y).$isa6){o=b.b
if(y.a>=4){n=o.c
o.c=null
b=o.a3(n)
o.a=y.a
o.c=y.c
z.a=y
continue}else P.cu(y,o)
return}}o=b.b
b=o.ap()
y=x.a
u=x.b
if(!y){o.a=4
o.c=u}else{o.a=8
o.c=u}z.a=o
y=o}}}},
ez:{"^":"i:0;a,b",
$0:function(){P.ad(this.a,this.b)}},
eE:{"^":"i:0;a,b",
$0:function(){P.ad(this.b,this.a.a)}},
eB:{"^":"i:2;a",
$1:function(a){var z=this.a
z.a=0
z.ag(a)}},
eC:{"^":"i:10;a",
$2:function(a,b){this.a.ah(a,b)},
$1:function(a){return this.$2(a,null)}},
eD:{"^":"i:0;a,b,c",
$0:function(){this.a.ah(this.b,this.c)}},
eH:{"^":"i:1;a,b,c,d",
$0:function(){var z,y,x,w,v,u,t
z=null
try{z=this.d.cp()}catch(w){y=H.B(w)
x=H.A(w)
if(this.c){v=J.an(this.a.a.c)
u=y
u=v==null?u==null:v===u
v=u}else v=!1
u=this.b
if(v)u.b=this.a.a.c
else u.b=new P.aD(y,x)
u.a=!0
return}if(!!J.n(z).$isa6){if(z instanceof P.W&&z.ga4()>=4){if(z.ga4()===8){v=this.b
v.b=z.gc4()
v.a=!0}return}t=this.a.a
v=this.b
v.b=z.cI(new P.eI(t))
v.a=!1}}},
eI:{"^":"i:2;a",
$1:function(a){return this.a}},
eG:{"^":"i:1;a,b,c",
$0:function(){var z,y,x,w
try{this.a.b=this.b.co(this.c)}catch(x){z=H.B(x)
y=H.A(x)
w=this.a
w.b=new P.aD(z,y)
w.a=!0}}},
eF:{"^":"i:1;a,b,c",
$0:function(){var z,y,x,w,v,u,t,s
try{z=this.a.a.c
w=this.c
if(w.cA(z)===!0&&w.e!=null){v=this.b
v.b=w.ck(z)
v.a=!1}}catch(u){y=H.B(u)
x=H.A(u)
w=this.a
v=J.an(w.a.c)
t=y
s=this.b
if(v==null?t==null:v===t)s.b=w.a.c
else s.b=new P.aD(y,x)
s.a=!0}}},
co:{"^":"b;a,b"},
ac:{"^":"b;$ti",
J:function(a,b){return new P.eS(b,this,[H.q(this,"ac",0),null])},
gj:function(a){var z,y
z={}
y=new P.W(0,$.m,null,[P.j])
z.a=0
this.T(new P.e0(z),!0,new P.e1(z,y),y.gaF())
return y},
W:function(a){var z,y,x
z=H.q(this,"ac",0)
y=H.I([],[z])
x=new P.W(0,$.m,null,[[P.d,z]])
this.T(new P.e2(this,y),!0,new P.e3(y,x),x.gaF())
return x}},
e0:{"^":"i:2;a",
$1:function(a){++this.a.a}},
e1:{"^":"i:0;a,b",
$0:function(){this.b.ag(this.a.a)}},
e2:{"^":"i;a,b",
$1:function(a){this.b.push(a)},
$S:function(){return H.cI(function(a){return{func:1,args:[a]}},this.a,"ac")}},
e3:{"^":"i:0;a,b",
$0:function(){this.b.ag(this.a)}},
e_:{"^":"b;"},
aT:{"^":"b;a4:e<,$ti",
au:function(a,b){var z=this.e
if((z&8)!==0)return
this.e=(z+128|4)>>>0
if(z<128&&this.r!=null)this.r.b3()
if((z&4)===0&&(this.e&32)===0)this.aJ(this.gaO())},
be:function(a){return this.au(a,null)},
bg:function(){var z=this.e
if((z&8)!==0)return
if(z>=128){z-=128
this.e=z
if(z<128){if((z&64)!==0){z=this.r
z=!z.gE(z)}else z=!1
if(z)this.r.a8(this)
else{z=(this.e&4294967291)>>>0
this.e=z
if((z&32)===0)this.aJ(this.gaQ())}}}},
b2:function(){var z=(this.e&4294967279)>>>0
this.e=z
if((z&8)===0)this.ad()
z=this.f
return z==null?$.$get$aH():z},
ad:function(){var z=(this.e|8)>>>0
this.e=z
if((z&64)!==0)this.r.b3()
if((this.e&32)===0)this.r=null
this.f=this.aN()},
ac:["bC",function(a){var z=this.e
if((z&8)!==0)return
if(z<32)this.aV(a)
else this.ab(new P.ep(a,null,[H.q(this,"aT",0)]))}],
a9:["bD",function(a,b){var z=this.e
if((z&8)!==0)return
if(z<32)this.aX(a,b)
else this.ab(new P.er(a,b,null))}],
bM:function(){var z=this.e
if((z&8)!==0)return
z=(z|2)>>>0
this.e=z
if(z<32)this.aW()
else this.ab(C.l)},
aP:[function(){},"$0","gaO",0,0,1],
aR:[function(){},"$0","gaQ",0,0,1],
aN:function(){return},
ab:function(a){var z,y
z=this.r
if(z==null){z=new P.f_(null,null,0,[H.q(this,"aT",0)])
this.r=z}z.w(0,a)
y=this.e
if((y&64)===0){y=(y|64)>>>0
this.e=y
if(y<128)this.r.a8(this)}},
aV:function(a){var z=this.e
this.e=(z|32)>>>0
this.d.ax(this.a,a)
this.e=(this.e&4294967263)>>>0
this.ae((z&4)!==0)},
aX:function(a,b){var z,y
z=this.e
y=new P.el(this,a,b)
if((z&1)!==0){this.e=(z|16)>>>0
this.ad()
z=this.f
if(!!J.n(z).$isa6&&z!==$.$get$aH())z.bn(y)
else y.$0()}else{y.$0()
this.ae((z&4)!==0)}},
aW:function(){var z,y
z=new P.ek(this)
this.ad()
this.e=(this.e|16)>>>0
y=this.f
if(!!J.n(y).$isa6&&y!==$.$get$aH())y.bn(z)
else z.$0()},
aJ:function(a){var z=this.e
this.e=(z|32)>>>0
a.$0()
this.e=(this.e&4294967263)>>>0
this.ae((z&4)!==0)},
ae:function(a){var z,y
if((this.e&64)!==0){z=this.r
z=z.gE(z)}else z=!1
if(z){z=(this.e&4294967231)>>>0
this.e=z
if((z&4)!==0)if(z<128){z=this.r
z=z==null||z.gE(z)}else z=!1
else z=!1
if(z)this.e=(this.e&4294967291)>>>0}for(;!0;a=y){z=this.e
if((z&8)!==0){this.r=null
return}y=(z&4)!==0
if(a===y)break
this.e=(z^32)>>>0
if(y)this.aP()
else this.aR()
this.e=(this.e&4294967263)>>>0}z=this.e
if((z&64)!==0&&z<128)this.r.a8(this)},
bG:function(a,b,c,d,e){var z,y
z=a==null?P.fi():a
y=this.d
y.toString
this.a=z
this.b=P.cx(b==null?P.fk():b,y)
this.c=c==null?P.fj():c}},
el:{"^":"i:1;a,b,c",
$0:function(){var z,y,x,w,v,u
z=this.a
y=z.e
if((y&8)!==0&&(y&16)===0)return
z.e=(y|32)>>>0
y=z.b
x=H.a1(y,{func:1,args:[P.b,P.aw]})
w=z.d
v=this.b
u=z.b
if(x)w.cH(u,v,this.c)
else w.ax(u,v)
z.e=(z.e&4294967263)>>>0}},
ek:{"^":"i:1;a",
$0:function(){var z,y
z=this.a
y=z.e
if((y&16)===0)return
z.e=(y|42)>>>0
z.d.bi(z.c)
z.e=(z.e&4294967263)>>>0}},
cq:{"^":"b;a5:a@"},
ep:{"^":"cq;b,a,$ti",
av:function(a){a.aV(this.b)}},
er:{"^":"cq;H:b>,L:c<,a",
av:function(a){a.aX(this.b,this.c)}},
eq:{"^":"b;",
av:function(a){a.aW()},
ga5:function(){return},
sa5:function(a){throw H.e(new P.bh("No events after a done."))}},
eU:{"^":"b;a4:a<",
a8:function(a){var z=this.a
if(z===1)return
if(z>=1){this.a=1
return}P.cP(new P.eV(this,a))
this.a=1},
b3:function(){if(this.a===1)this.a=3}},
eV:{"^":"i:0;a,b",
$0:function(){var z,y,x,w
z=this.a
y=z.a
z.a=0
if(y===3)return
x=z.b
w=x.ga5()
z.b=w
if(w==null)z.c=null
x.av(this.b)}},
f_:{"^":"eU;b,c,a,$ti",
gE:function(a){return this.c==null},
w:function(a,b){var z=this.c
if(z==null){this.c=b
this.b=b}else{z.sa5(b)
this.c=b}}},
bn:{"^":"ac;$ti",
T:function(a,b,c,d){return this.bT(a,d,c,!0===b)},
bb:function(a,b,c){return this.T(a,null,b,c)},
bT:function(a,b,c,d){return P.ey(this,a,b,c,d,H.q(this,"bn",0),H.q(this,"bn",1))},
aK:function(a,b){b.ac(a)},
bY:function(a,b,c){c.a9(a,b)},
$asac:function(a,b){return[b]}},
cs:{"^":"aT;x,y,a,b,c,d,e,f,r,$ti",
ac:function(a){if((this.e&2)!==0)return
this.bC(a)},
a9:function(a,b){if((this.e&2)!==0)return
this.bD(a,b)},
aP:[function(){var z=this.y
if(z==null)return
z.be(0)},"$0","gaO",0,0,1],
aR:[function(){var z=this.y
if(z==null)return
z.bg()},"$0","gaQ",0,0,1],
aN:function(){var z=this.y
if(z!=null){this.y=null
return z.b2()}return},
cO:[function(a){this.x.aK(a,this)},"$1","gbV",2,0,function(){return H.cI(function(a,b){return{func:1,v:true,args:[a]}},this.$receiver,"cs")}],
cQ:[function(a,b){this.x.bY(a,b,this)},"$2","gbX",4,0,11],
cP:[function(){this.bM()},"$0","gbW",0,0,1],
bI:function(a,b,c,d,e,f,g){this.y=this.x.a.bb(this.gbV(),this.gbW(),this.gbX())},
$asaT:function(a,b){return[b]},
l:{
ey:function(a,b,c,d,e,f,g){var z,y
z=$.m
y=e?1:0
y=new P.cs(a,null,null,null,null,z,y,null,null,[f,g])
y.bG(b,c,d,e,g)
y.bI(a,b,c,d,e,f,g)
return y}}},
eS:{"^":"bn;b,a,$ti",
aK:function(a,b){var z,y,x,w
z=null
try{z=this.b.$1(a)}catch(w){y=H.B(w)
x=H.A(w)
P.f1(b,y,x)
return}b.ac(z)}},
aD:{"^":"b;H:a>,L:b<",
i:function(a){return H.f(this.a)},
$ist:1},
f0:{"^":"b;"},
f9:{"^":"i:0;a,b",
$0:function(){var z,y,x
z=this.a
y=z.a
if(y==null){x=new P.c3()
z.a=x
z=x}else z=y
y=this.b
if(y==null)throw H.e(z)
x=H.e(z)
x.stack=J.S(y)
throw x}},
eW:{"^":"f0;",
ga6:function(a){return},
bi:function(a){var z,y,x,w
try{if(C.a===$.m){x=a.$0()
return x}x=P.cy(null,null,this,a)
return x}catch(w){z=H.B(w)
y=H.A(w)
x=P.ah(null,null,this,z,y)
return x}},
ax:function(a,b){var z,y,x,w
try{if(C.a===$.m){x=a.$1(b)
return x}x=P.cA(null,null,this,a,b)
return x}catch(w){z=H.B(w)
y=H.A(w)
x=P.ah(null,null,this,z,y)
return x}},
cH:function(a,b,c){var z,y,x,w
try{if(C.a===$.m){x=a.$2(b,c)
return x}x=P.cz(null,null,this,a,b,c)
return x}catch(w){z=H.B(w)
y=H.A(w)
x=P.ah(null,null,this,z,y)
return x}},
as:function(a,b){if(b)return new P.eX(this,a)
else return new P.eY(this,a)},
c8:function(a,b){return new P.eZ(this,a)},
h:function(a,b){return},
bh:function(a){if($.m===C.a)return a.$0()
return P.cy(null,null,this,a)},
aw:function(a,b){if($.m===C.a)return a.$1(b)
return P.cA(null,null,this,a,b)},
cG:function(a,b,c){if($.m===C.a)return a.$2(b,c)
return P.cz(null,null,this,a,b,c)}},
eX:{"^":"i:0;a,b",
$0:function(){return this.a.bi(this.b)}},
eY:{"^":"i:0;a,b",
$0:function(){return this.a.bh(this.b)}},
eZ:{"^":"i:2;a,b",
$1:function(a){return this.a.ax(this.b,a)}}}],["","",,P,{"^":"",
dL:function(){return new H.U(0,null,null,null,null,null,0,[null,null])},
a8:function(a){return H.fo(a,new H.U(0,null,null,null,null,null,0,[null,null]))},
dA:function(a,b,c){var z,y
if(P.bt(a)){if(b==="("&&c===")")return"(...)"
return b+"..."+c}z=[]
y=$.$get$ai()
y.push(a)
try{P.f6(a,z)}finally{if(0>=y.length)return H.h(y,-1)
y.pop()}y=P.ca(b,z,", ")+c
return y.charCodeAt(0)==0?y:y},
aI:function(a,b,c){var z,y,x
if(P.bt(a))return b+"..."+c
z=new P.bi(b)
y=$.$get$ai()
y.push(a)
try{x=z
x.q=P.ca(x.gq(),a,", ")}finally{if(0>=y.length)return H.h(y,-1)
y.pop()}y=z
y.q=y.gq()+c
y=z.gq()
return y.charCodeAt(0)==0?y:y},
bt:function(a){var z,y
for(z=0;y=$.$get$ai(),z<y.length;++z)if(a===y[z])return!0
return!1},
f6:function(a,b){var z,y,x,w,v,u,t,s,r,q
z=a.gu(a)
y=0
x=0
while(!0){if(!(y<80||x<3))break
if(!z.k())return
w=H.f(z.gm())
b.push(w)
y+=w.length+2;++x}if(!z.k()){if(x<=5)return
if(0>=b.length)return H.h(b,-1)
v=b.pop()
if(0>=b.length)return H.h(b,-1)
u=b.pop()}else{t=z.gm();++x
if(!z.k()){if(x<=4){b.push(H.f(t))
return}v=H.f(t)
if(0>=b.length)return H.h(b,-1)
u=b.pop()
y+=v.length+2}else{s=z.gm();++x
for(;z.k();t=s,s=r){r=z.gm();++x
if(x>100){while(!0){if(!(y>75&&x>3))break
if(0>=b.length)return H.h(b,-1)
y-=b.pop().length+2;--x}b.push("...")
return}}u=H.f(t)
v=H.f(s)
y+=v.length+u.length+4}}if(x>b.length+2){y+=5
q="..."}else q=null
while(!0){if(!(y>80&&b.length>3))break
if(0>=b.length)return H.h(b,-1)
y-=b.pop().length+2
if(q==null){y+=5
q="..."}}if(q!=null)b.push(q)
b.push(u)
b.push(v)},
a9:function(a,b,c,d){return new P.eM(0,null,null,null,null,null,0,[d])},
dO:function(a){var z,y,x
z={}
if(P.bt(a))return"{...}"
y=new P.bi("")
try{$.$get$ai().push(a)
x=y
x.q=x.gq()+"{"
z.a=!0
a.cj(0,new P.dP(z,y))
z=y
z.q=z.gq()+"}"}finally{z=$.$get$ai()
if(0>=z.length)return H.h(z,-1)
z.pop()}z=y.gq()
return z.charCodeAt(0)==0?z:z},
cv:{"^":"U;a,b,c,d,e,f,r,$ti",
R:function(a){return H.fI(a)&0x3ffffff},
S:function(a,b){var z,y,x
if(a==null)return-1
z=a.length
for(y=0;y<z;++y){x=a[y].gb9()
if(x==null?b==null:x===b)return y}return-1},
l:{
ae:function(a,b){return new P.cv(0,null,null,null,null,null,0,[a,b])}}},
eM:{"^":"eJ;a,b,c,d,e,f,r,$ti",
gu:function(a){var z=new P.bp(this,this.r,null,null)
z.c=this.e
return z},
gj:function(a){return this.a},
ca:function(a,b){var z,y
if(typeof b==="string"&&b!=="__proto__"){z=this.b
if(z==null)return!1
return z[b]!=null}else if(typeof b==="number"&&(b&0x3ffffff)===b){y=this.c
if(y==null)return!1
return y[b]!=null}else return this.bR(b)},
bR:function(a){var z=this.d
if(z==null)return!1
return this.a0(z[this.a_(a)],a)>=0},
bc:function(a){var z
if(!(typeof a==="string"&&a!=="__proto__"))z=typeof a==="number"&&(a&0x3ffffff)===a
else z=!0
if(z)return this.ca(0,a)?a:null
else return this.c_(a)},
c_:function(a){var z,y,x
z=this.d
if(z==null)return
y=z[this.a_(a)]
x=this.a0(y,a)
if(x<0)return
return J.bD(y,x).gaH()},
w:function(a,b){var z,y
if(typeof b==="string"&&b!=="__proto__"){z=this.b
if(z==null){z=P.bq()
this.b=z}return this.aC(z,b)}else if(typeof b==="number"&&(b&0x3ffffff)===b){y=this.c
if(y==null){y=P.bq()
this.c=y}return this.aC(y,b)}else return this.D(b)},
D:function(a){var z,y,x
z=this.d
if(z==null){z=P.bq()
this.d=z}y=this.a_(a)
x=z[y]
if(x==null)z[y]=[this.af(a)]
else{if(this.a0(x,a)>=0)return!1
x.push(this.af(a))}return!0},
U:function(a,b){if(typeof b==="string"&&b!=="__proto__")return this.aD(this.b,b)
else if(typeof b==="number"&&(b&0x3ffffff)===b)return this.aD(this.c,b)
else return this.c1(b)},
c1:function(a){var z,y,x
z=this.d
if(z==null)return!1
y=z[this.a_(a)]
x=this.a0(y,a)
if(x<0)return!1
this.aE(y.splice(x,1)[0])
return!0},
B:function(a){if(this.a>0){this.f=null
this.e=null
this.d=null
this.c=null
this.b=null
this.a=0
this.r=this.r+1&67108863}},
aC:function(a,b){if(a[b]!=null)return!1
a[b]=this.af(b)
return!0},
aD:function(a,b){var z
if(a==null)return!1
z=a[b]
if(z==null)return!1
this.aE(z)
delete a[b]
return!0},
af:function(a){var z,y
z=new P.eN(a,null,null)
if(this.e==null){this.f=z
this.e=z}else{y=this.f
z.c=y
y.b=z
this.f=z}++this.a
this.r=this.r+1&67108863
return z},
aE:function(a){var z,y
z=a.gbQ()
y=a.b
if(z==null)this.e=y
else z.b=y
if(y==null)this.f=z
else y.c=z;--this.a
this.r=this.r+1&67108863},
a_:function(a){return J.M(a)&0x3ffffff},
a0:function(a,b){var z,y
if(a==null)return-1
z=a.length
for(y=0;y<z;++y)if(J.L(a[y].gaH(),b))return y
return-1},
$isa:1,
$asa:null,
l:{
bq:function(){var z=Object.create(null)
z["<non-identifier-key>"]=z
delete z["<non-identifier-key>"]
return z}}},
eN:{"^":"b;aH:a<,b,bQ:c<"},
bp:{"^":"b;a,b,c,d",
gm:function(){return this.d},
k:function(){var z=this.a
if(this.b!==z.r)throw H.e(new P.a5(z))
else{z=this.c
if(z==null){this.d=null
return!1}else{this.d=z.a
this.c=z.b
return!0}}}},
eJ:{"^":"dX;$ti"},
aa:{"^":"dQ;$ti"},
dQ:{"^":"b+D;",$asd:null,$asa:null,$isd:1,$isa:1},
D:{"^":"b;$ti",
gu:function(a){return new H.bW(a,this.gj(a),0,null)},
v:function(a,b){return this.h(a,b)},
J:function(a,b){return new H.ba(a,b,[H.q(a,"D",0),null])},
X:function(a,b){var z,y,x
z=H.I([],[H.q(a,"D",0)])
C.b.sj(z,this.gj(a))
for(y=0;y<this.gj(a);++y){x=this.h(a,y)
if(y>=z.length)return H.h(z,y)
z[y]=x}return z},
W:function(a){return this.X(a,!0)},
i:function(a){return P.aI(a,"[","]")},
$isd:1,
$asd:null,
$isa:1,
$asa:null},
dP:{"^":"i:12;a,b",
$2:function(a,b){var z,y
z=this.a
if(!z.a)this.b.q+=", "
z.a=!1
z=this.b
y=z.q+=H.f(a)
z.q=y+": "
z.q+=H.f(b)}},
dM:{"^":"au;a,b,c,d,$ti",
gu:function(a){return new P.eO(this,this.c,this.d,this.b,null)},
gE:function(a){return this.b===this.c},
gj:function(a){return(this.c-this.b&this.a.length-1)>>>0},
v:function(a,b){var z,y,x,w
z=(this.c-this.b&this.a.length-1)>>>0
if(typeof b!=="number")return H.ak(b)
if(0>b||b>=z)H.p(P.K(b,this,"index",null,z))
y=this.a
x=y.length
w=(this.b+b&x-1)>>>0
if(w<0||w>=x)return H.h(y,w)
return y[w]},
B:function(a){var z,y,x,w,v
z=this.b
y=this.c
if(z!==y){for(x=this.a,w=x.length,v=w-1;z!==y;z=(z+1&v)>>>0){if(z<0||z>=w)return H.h(x,z)
x[z]=null}this.c=0
this.b=0;++this.d}},
i:function(a){return P.aI(this,"{","}")},
bf:function(){var z,y,x,w
z=this.b
if(z===this.c)throw H.e(H.bT());++this.d
y=this.a
x=y.length
if(z>=x)return H.h(y,z)
w=y[z]
y[z]=null
this.b=(z+1&x-1)>>>0
return w},
D:function(a){var z,y,x
z=this.a
y=this.c
x=z.length
if(y>=x)return H.h(z,y)
z[y]=a
x=(y+1&x-1)>>>0
this.c=x
if(this.b===x)this.aI();++this.d},
aI:function(){var z,y,x,w
z=new Array(this.a.length*2)
z.fixed$length=Array
y=H.I(z,this.$ti)
z=this.a
x=this.b
w=z.length-x
C.b.ay(y,0,w,z,x)
C.b.ay(y,w,w+this.b,this.a,0)
this.b=0
this.c=this.a.length
this.a=y},
bE:function(a,b){var z=new Array(8)
z.fixed$length=Array
this.a=H.I(z,[b])},
$asa:null,
l:{
b9:function(a,b){var z=new P.dM(null,0,0,0,[b])
z.bE(a,b)
return z}}},
eO:{"^":"b;a,b,c,d,e",
gm:function(){return this.e},
k:function(){var z,y,x
z=this.a
if(this.c!==z.d)H.p(new P.a5(z))
y=this.d
if(y===this.b){this.e=null
return!1}z=z.a
x=z.length
if(y>=x)return H.h(z,y)
this.e=z[y]
this.d=(y+1&x-1)>>>0
return!0}},
dY:{"^":"b;$ti",
J:function(a,b){return new H.bM(this,b,[H.R(this,0),null])},
i:function(a){return P.aI(this,"{","}")},
v:function(a,b){var z,y,x
if(typeof b!=="number"||Math.floor(b)!==b)throw H.e(P.bG("index"))
if(b<0)H.p(P.av(b,0,null,"index",null))
for(z=new P.bp(this,this.r,null,null),z.c=this.e,y=0;z.k();){x=z.d
if(b===y)return x;++y}throw H.e(P.K(b,this,"index",null,y))},
$isa:1,
$asa:null},
dX:{"^":"dY;$ti"}}],["","",,P,{"^":"",
bN:function(a){if(typeof a==="number"||typeof a==="boolean"||null==a)return J.S(a)
if(typeof a==="string")return JSON.stringify(a)
return P.db(a)},
db:function(a){var z=J.n(a)
if(!!z.$isi)return z.i(a)
return H.aO(a)},
aG:function(a){return new P.ex(a)},
aK:function(a,b,c){var z,y
z=H.I([],[c])
for(y=J.aC(a);y.k();)z.push(y.gm())
if(b)return z
z.fixed$length=Array
return z},
bA:function(a){H.fJ(H.f(a))},
fl:{"^":"b;",
gt:function(a){return P.b.prototype.gt.call(this,this)},
i:function(a){return this?"true":"false"}},
"+bool":0,
Q:{"^":"aA;"},
"+double":0,
aF:{"^":"b;a",
Z:function(a,b){return new P.aF(C.c.Z(this.a,b.gbU()))},
a7:function(a,b){return C.c.a7(this.a,b.gbU())},
p:function(a,b){if(b==null)return!1
if(!(b instanceof P.aF))return!1
return this.a===b.a},
gt:function(a){return this.a&0x1FFFFFFF},
i:function(a){var z,y,x,w,v
z=new P.da()
y=this.a
if(y<0)return"-"+new P.aF(0-y).i(0)
x=z.$1(C.c.N(y,6e7)%60)
w=z.$1(C.c.N(y,1e6)%60)
v=new P.d9().$1(y%1e6)
return""+C.c.N(y,36e8)+":"+H.f(x)+":"+H.f(w)+"."+H.f(v)}},
d9:{"^":"i:5;",
$1:function(a){if(a>=1e5)return""+a
if(a>=1e4)return"0"+a
if(a>=1000)return"00"+a
if(a>=100)return"000"+a
if(a>=10)return"0000"+a
return"00000"+a}},
da:{"^":"i:5;",
$1:function(a){if(a>=10)return""+a
return"0"+a}},
t:{"^":"b;",
gL:function(){return H.A(this.$thrownJsError)}},
c3:{"^":"t;",
i:function(a){return"Throw of null."}},
N:{"^":"t;a,b,c,d",
gaj:function(){return"Invalid argument"+(!this.a?"(s)":"")},
gai:function(){return""},
i:function(a){var z,y,x,w,v,u
z=this.c
y=z!=null?" ("+z+")":""
z=this.d
x=z==null?"":": "+H.f(z)
w=this.gaj()+y+x
if(!this.a)return w
v=this.gai()
u=P.bN(this.b)
return w+v+": "+H.f(u)},
l:{
bF:function(a){return new P.N(!1,null,null,a)},
bH:function(a,b,c){return new P.N(!0,a,b,c)},
bG:function(a){return new P.N(!1,null,a,"Must not be null")}}},
bg:{"^":"N;e,f,a,b,c,d",
gaj:function(){return"RangeError"},
gai:function(){var z,y,x
z=this.e
if(z==null){z=this.f
y=z!=null?": Not less than or equal to "+H.f(z):""}else{x=this.f
if(x==null)y=": Not greater than or equal to "+H.f(z)
else if(x>z)y=": Not in range "+H.f(z)+".."+H.f(x)+", inclusive"
else y=x<z?": Valid value range is empty":": Only valid value is "+H.f(z)}return y},
l:{
dS:function(a){return new P.bg(null,null,!1,null,null,a)},
aP:function(a,b,c){return new P.bg(null,null,!0,a,b,"Value not in range")},
av:function(a,b,c,d,e){return new P.bg(b,c,!0,a,d,"Invalid value")},
c7:function(a,b,c,d,e,f){if(0>a||a>c)throw H.e(P.av(a,0,c,"start",f))
if(a>b||b>c)throw H.e(P.av(b,a,c,"end",f))
return b}}},
dg:{"^":"N;e,j:f>,a,b,c,d",
gaj:function(){return"RangeError"},
gai:function(){if(J.cS(this.b,0))return": index must not be negative"
var z=this.f
if(z===0)return": no indices are valid"
return": index should be less than "+H.f(z)},
l:{
K:function(a,b,c,d,e){var z=e!=null?e:J.a3(b)
return new P.dg(b,z,!0,a,c,"Index out of range")}}},
y:{"^":"t;a",
i:function(a){return"Unsupported operation: "+this.a}},
cn:{"^":"t;a",
i:function(a){var z=this.a
return z!=null?"UnimplementedError: "+H.f(z):"UnimplementedError"}},
bh:{"^":"t;a",
i:function(a){return"Bad state: "+this.a}},
a5:{"^":"t;a",
i:function(a){var z=this.a
if(z==null)return"Concurrent modification during iteration."
return"Concurrent modification during iteration: "+H.f(P.bN(z))+"."}},
c9:{"^":"b;",
i:function(a){return"Stack Overflow"},
gL:function(){return},
$ist:1},
d8:{"^":"t;a",
i:function(a){var z=this.a
return z==null?"Reading static variable during its initialization":"Reading static variable '"+H.f(z)+"' during its initialization"}},
ex:{"^":"b;a",
i:function(a){var z=this.a
if(z==null)return"Exception"
return"Exception: "+H.f(z)}},
dc:{"^":"b;a,aM",
i:function(a){return"Expando:"+H.f(this.a)},
h:function(a,b){var z,y
z=this.aM
if(typeof z!=="string"){if(b==null||typeof b==="boolean"||typeof b==="number"||typeof b==="string")H.p(P.bH(b,"Expandos are not allowed on strings, numbers, booleans or null",null))
return z.get(b)}y=H.be(b,"expando$values")
return y==null?null:H.be(y,z)},
n:function(a,b,c){var z,y
z=this.aM
if(typeof z!=="string")z.set(b,c)
else{y=H.be(b,"expando$values")
if(y==null){y=new P.b()
H.c6(b,"expando$values",y)}H.c6(y,z,c)}}},
j:{"^":"aA;"},
"+int":0,
C:{"^":"b;$ti",
J:function(a,b){return H.aM(this,b,H.q(this,"C",0),null)},
X:function(a,b){return P.aK(this,!0,H.q(this,"C",0))},
W:function(a){return this.X(a,!0)},
gj:function(a){var z,y
z=this.gu(this)
for(y=0;z.k();)++y
return y},
v:function(a,b){var z,y,x
if(typeof b!=="number"||Math.floor(b)!==b)throw H.e(P.bG("index"))
if(b<0)H.p(P.av(b,0,null,"index",null))
for(z=this.gu(this),y=0;z.k();){x=z.gm()
if(b===y)return x;++y}throw H.e(P.K(b,this,"index",null,y))},
i:function(a){return P.dA(this,"(",")")}},
bU:{"^":"b;"},
d:{"^":"b;$ti",$asd:null,$isa:1,$asa:null},
"+List":0,
aN:{"^":"b;",
gt:function(a){return P.b.prototype.gt.call(this,this)},
i:function(a){return"null"}},
"+Null":0,
aA:{"^":"b;"},
"+num":0,
b:{"^":";",
p:function(a,b){return this===b},
gt:function(a){return H.P(this)},
i:function(a){return H.aO(this)},
toString:function(){return this.i(this)}},
aw:{"^":"b;"},
V:{"^":"b;"},
"+String":0,
bi:{"^":"b;q<",
gj:function(a){return this.q.length},
i:function(a){var z=this.q
return z.charCodeAt(0)==0?z:z},
l:{
ca:function(a,b,c){var z=J.aC(b)
if(!z.k())return a
if(c.length===0){do a+=H.f(z.gm())
while(z.k())}else{a+=H.f(z.gm())
for(;z.k();)a=a+c+H.f(z.gm())}return a}}}}],["","",,W,{"^":"",
aV:function(a,b){a=536870911&a+b
a=536870911&a+((524287&a)<<10)
return a^a>>>6},
f4:function(a){if(a==null)return
return W.bl(a)},
f3:function(a){var z
if(a==null)return
if("postMessage" in a){z=W.bl(a)
if(!!J.n(z).$isx)return z
return}else return a},
fb:function(a){var z=$.m
if(z===C.a)return a
return z.c8(a,!0)},
J:{"^":"w;","%":"HTMLBRElement|HTMLButtonElement|HTMLCanvasElement|HTMLContentElement|HTMLDListElement|HTMLDataListElement|HTMLDetailsElement|HTMLDialogElement|HTMLDirectoryElement|HTMLDivElement|HTMLEmbedElement|HTMLFieldSetElement|HTMLFontElement|HTMLFrameElement|HTMLHRElement|HTMLHeadElement|HTMLHeadingElement|HTMLHtmlElement|HTMLIFrameElement|HTMLImageElement|HTMLKeygenElement|HTMLLIElement|HTMLLabelElement|HTMLLegendElement|HTMLLinkElement|HTMLMapElement|HTMLMarqueeElement|HTMLMenuElement|HTMLMenuItemElement|HTMLMetaElement|HTMLMeterElement|HTMLModElement|HTMLOListElement|HTMLObjectElement|HTMLOptGroupElement|HTMLOptionElement|HTMLOutputElement|HTMLParagraphElement|HTMLParamElement|HTMLPictureElement|HTMLPreElement|HTMLProgressElement|HTMLQuoteElement|HTMLScriptElement|HTMLShadowElement|HTMLSlotElement|HTMLSourceElement|HTMLSpanElement|HTMLStyleElement|HTMLTableCaptionElement|HTMLTableCellElement|HTMLTableColElement|HTMLTableDataCellElement|HTMLTableElement|HTMLTableHeaderCellElement|HTMLTableRowElement|HTMLTableSectionElement|HTMLTemplateElement|HTMLTextAreaElement|HTMLTitleElement|HTMLTrackElement|HTMLUListElement|HTMLUnknownElement;HTMLElement"},
fR:{"^":"J;K:target=",
i:function(a){return String(a)},
$isc:1,
"%":"HTMLAnchorElement"},
fT:{"^":"J;K:target=",
i:function(a){return String(a)},
$isc:1,
"%":"HTMLAreaElement"},
fU:{"^":"J;K:target=","%":"HTMLBaseElement"},
fV:{"^":"J;",$isx:1,$isc:1,"%":"HTMLBodyElement"},
d3:{"^":"k;j:length=",$isc:1,"%":"CDATASection|Comment|Text;CharacterData"},
fW:{"^":"k;",$isc:1,"%":"DocumentFragment|ShadowRoot"},
fX:{"^":"c;",
i:function(a){return String(a)},
"%":"DOMException"},
fY:{"^":"c;j:length=","%":"DOMTokenList"},
en:{"^":"aa;a,b",
gj:function(a){return this.b.length},
h:function(a,b){var z=this.b
if(b>>>0!==b||b>=z.length)return H.h(z,b)
return z[b]},
n:function(a,b,c){var z=this.b
if(b>>>0!==b||b>=z.length)return H.h(z,b)
this.a.replaceChild(c,z[b])},
w:function(a,b){this.a.appendChild(b)
return b},
gu:function(a){var z=this.W(this)
return new J.b3(z,z.length,0,null)},
B:function(a){J.bE(this.a)},
$asaa:function(){return[W.w]},
$asd:function(){return[W.w]},
$asa:function(){return[W.w]}},
w:{"^":"k;",
gb5:function(a){return new W.en(a,a.children)},
i:function(a){return a.localName},
gbd:function(a){return new W.cr(a,"click",!1,[W.bX])},
$isw:1,
$isb:1,
$isc:1,
$isx:1,
"%":";Element"},
fZ:{"^":"ao;H:error=","%":"ErrorEvent"},
ao:{"^":"c;",
gK:function(a){return W.f3(a.target)},
$isao:1,
$isb:1,
"%":"AnimationEvent|AnimationPlayerEvent|ApplicationCacheErrorEvent|AudioProcessingEvent|AutocompleteErrorEvent|BeforeInstallPromptEvent|BeforeUnloadEvent|BlobEvent|ClipboardEvent|CloseEvent|CompositionEvent|CustomEvent|DeviceLightEvent|DeviceMotionEvent|DeviceOrientationEvent|DragEvent|ExtendableEvent|ExtendableMessageEvent|FetchEvent|FocusEvent|FontFaceSetLoadEvent|GamepadEvent|GeofencingEvent|HashChangeEvent|IDBVersionChangeEvent|InstallEvent|KeyboardEvent|MIDIConnectionEvent|MIDIMessageEvent|MediaEncryptedEvent|MediaKeyMessageEvent|MediaQueryListEvent|MediaStreamEvent|MediaStreamTrackEvent|MessageEvent|MouseEvent|NotificationEvent|OfflineAudioCompletionEvent|PageTransitionEvent|PointerEvent|PopStateEvent|PresentationConnectionAvailableEvent|PresentationConnectionCloseEvent|ProgressEvent|PromiseRejectionEvent|PushEvent|RTCDTMFToneChangeEvent|RTCDataChannelEvent|RTCIceCandidateEvent|RTCPeerConnectionIceEvent|RelatedEvent|ResourceProgressEvent|SVGZoomEvent|SecurityPolicyViolationEvent|ServicePortConnectEvent|ServiceWorkerMessageEvent|SpeechRecognitionEvent|SpeechSynthesisEvent|StorageEvent|SyncEvent|TextEvent|TouchEvent|TrackEvent|TransitionEvent|UIEvent|USBConnectionEvent|WebGLContextEvent|WebKitTransitionEvent|WheelEvent;Event|InputEvent"},
x:{"^":"c;",
bL:function(a,b,c,d){return a.addEventListener(b,H.aj(c,1),!1)},
c2:function(a,b,c,d){return a.removeEventListener(b,H.aj(c,1),!1)},
$isx:1,
"%":"MediaStream|MessagePort;EventTarget"},
hg:{"^":"J;j:length=,K:target=","%":"HTMLFormElement"},
hi:{"^":"dm;",
gj:function(a){return a.length},
h:function(a,b){if(b>>>0!==b||b>=a.length)throw H.e(P.K(b,a,null,null,null))
return a[b]},
n:function(a,b,c){throw H.e(new P.y("Cannot assign element of immutable List."))},
v:function(a,b){if(b>>>0!==b||b>=a.length)return H.h(a,b)
return a[b]},
$isd:1,
$asd:function(){return[W.k]},
$isa:1,
$asa:function(){return[W.k]},
$isv:1,
$asv:function(){return[W.k]},
$isr:1,
$asr:function(){return[W.k]},
"%":"HTMLCollection|HTMLFormControlsCollection|HTMLOptionsCollection"},
dh:{"^":"c+D;",
$asd:function(){return[W.k]},
$asa:function(){return[W.k]},
$isd:1,
$isa:1},
dm:{"^":"dh+aq;",
$asd:function(){return[W.k]},
$asa:function(){return[W.k]},
$isd:1,
$isa:1},
hk:{"^":"J;",$isw:1,$isc:1,$isx:1,"%":"HTMLInputElement"},
hq:{"^":"J;H:error=","%":"HTMLAudioElement|HTMLMediaElement|HTMLVideoElement"},
hA:{"^":"c;",$isc:1,"%":"Navigator"},
em:{"^":"aa;a",
n:function(a,b,c){var z,y
z=this.a
y=z.childNodes
if(b>>>0!==b||b>=y.length)return H.h(y,b)
z.replaceChild(c,y[b])},
gu:function(a){var z=this.a.childNodes
return new W.bQ(z,z.length,-1,null)},
gj:function(a){return this.a.childNodes.length},
h:function(a,b){var z=this.a.childNodes
if(b>>>0!==b||b>=z.length)return H.h(z,b)
return z[b]},
$asaa:function(){return[W.k]},
$asd:function(){return[W.k]},
$asa:function(){return[W.k]}},
k:{"^":"x;a6:parentElement=",
cF:function(a,b){var z,y
try{z=a.parentNode
J.cV(z,b,a)}catch(y){H.B(y)}return a},
bN:function(a){var z
for(;z=a.firstChild,z!=null;)a.removeChild(z)},
i:function(a){var z=a.nodeValue
return z==null?this.bA(a):z},
c3:function(a,b,c){return a.replaceChild(b,c)},
$isb:1,
"%":"Attr|Document|HTMLDocument|XMLDocument;Node"},
hB:{"^":"dn;",
gj:function(a){return a.length},
h:function(a,b){if(b>>>0!==b||b>=a.length)throw H.e(P.K(b,a,null,null,null))
return a[b]},
n:function(a,b,c){throw H.e(new P.y("Cannot assign element of immutable List."))},
v:function(a,b){if(b>>>0!==b||b>=a.length)return H.h(a,b)
return a[b]},
$isd:1,
$asd:function(){return[W.k]},
$isa:1,
$asa:function(){return[W.k]},
$isv:1,
$asv:function(){return[W.k]},
$isr:1,
$asr:function(){return[W.k]},
"%":"NodeList|RadioNodeList"},
di:{"^":"c+D;",
$asd:function(){return[W.k]},
$asa:function(){return[W.k]},
$isd:1,
$isa:1},
dn:{"^":"di+aq;",
$asd:function(){return[W.k]},
$asa:function(){return[W.k]},
$isd:1,
$isa:1},
hE:{"^":"d3;K:target=","%":"ProcessingInstruction"},
hG:{"^":"J;j:length=","%":"HTMLSelectElement"},
hH:{"^":"ao;H:error=","%":"SpeechRecognitionError"},
hN:{"^":"x;",
ga6:function(a){return W.f4(a.parent)},
$isc:1,
$isx:1,
"%":"DOMWindow|Window"},
hR:{"^":"c;cr:height=,cz:left=,cJ:top=,cK:width=",
i:function(a){return"Rectangle ("+H.f(a.left)+", "+H.f(a.top)+") "+H.f(a.width)+" x "+H.f(a.height)},
p:function(a,b){var z,y,x
if(b==null)return!1
z=J.n(b)
if(!z.$isc8)return!1
y=a.left
x=z.gcz(b)
if(y==null?x==null:y===x){y=a.top
x=z.gcJ(b)
if(y==null?x==null:y===x){y=a.width
x=z.gcK(b)
if(y==null?x==null:y===x){y=a.height
z=z.gcr(b)
z=y==null?z==null:y===z}else z=!1}else z=!1}else z=!1
return z},
gt:function(a){var z,y,x,w,v
z=J.M(a.left)
y=J.M(a.top)
x=J.M(a.width)
w=J.M(a.height)
w=W.aV(W.aV(W.aV(W.aV(0,z),y),x),w)
v=536870911&w+((67108863&w)<<3)
v^=v>>>11
return 536870911&v+((16383&v)<<15)},
$isc8:1,
$asc8:I.u,
"%":"ClientRect"},
hS:{"^":"k;",$isc:1,"%":"DocumentType"},
hU:{"^":"J;",$isx:1,$isc:1,"%":"HTMLFrameSetElement"},
hV:{"^":"dp;",
gj:function(a){return a.length},
h:function(a,b){if(b>>>0!==b||b>=a.length)throw H.e(P.K(b,a,null,null,null))
return a[b]},
n:function(a,b,c){throw H.e(new P.y("Cannot assign element of immutable List."))},
v:function(a,b){if(b>>>0!==b||b>=a.length)return H.h(a,b)
return a[b]},
$isd:1,
$asd:function(){return[W.k]},
$isa:1,
$asa:function(){return[W.k]},
$isv:1,
$asv:function(){return[W.k]},
$isr:1,
$asr:function(){return[W.k]},
"%":"MozNamedAttrMap|NamedNodeMap"},
dj:{"^":"c+D;",
$asd:function(){return[W.k]},
$asa:function(){return[W.k]},
$isd:1,
$isa:1},
dp:{"^":"dj+aq;",
$asd:function(){return[W.k]},
$asa:function(){return[W.k]},
$isd:1,
$isa:1},
hZ:{"^":"x;",$isx:1,$isc:1,"%":"ServiceWorker"},
eu:{"^":"ac;$ti",
T:function(a,b,c,d){return W.bm(this.a,this.b,a,!1,H.R(this,0))},
bb:function(a,b,c){return this.T(a,null,b,c)}},
cr:{"^":"eu;a,b,c,$ti"},
ev:{"^":"e_;a,b,c,d,e,$ti",
b2:function(){if(this.b==null)return
this.b0()
this.b=null
this.d=null
return},
au:function(a,b){if(this.b==null)return;++this.a
this.b0()},
be:function(a){return this.au(a,null)},
bg:function(){if(this.b==null||this.a<=0)return;--this.a
this.aZ()},
aZ:function(){var z,y,x
z=this.d
y=z!=null
if(y&&this.a<=0){x=this.b
x.toString
if(y)J.cT(x,this.c,z,!1)}},
b0:function(){var z,y,x
z=this.d
y=z!=null
if(y){x=this.b
x.toString
if(y)J.cU(x,this.c,z,!1)}},
bH:function(a,b,c,d,e){this.aZ()},
l:{
bm:function(a,b,c,d,e){var z=c==null?null:W.fb(new W.ew(c))
z=new W.ev(0,a,b,z,!1,[e])
z.bH(a,b,c,!1,e)
return z}}},
ew:{"^":"i:2;a",
$1:function(a){return this.a.$1(a)}},
aq:{"^":"b;$ti",
gu:function(a){return new W.bQ(a,this.gj(a),-1,null)},
$isd:1,
$asd:null,
$isa:1,
$asa:null},
bQ:{"^":"b;a,b,c,d",
k:function(){var z,y
z=this.c+1
y=this.b
if(z<y){this.d=J.bD(this.a,z)
this.c=z
return!0}this.d=null
this.c=y
return!1},
gm:function(){return this.d}},
eo:{"^":"b;a",
ga6:function(a){return W.bl(this.a.parent)},
$isx:1,
$isc:1,
l:{
bl:function(a){if(a===window)return a
else return new W.eo(a)}}}}],["","",,P,{"^":"",dd:{"^":"aa;a,b",
ga2:function(){var z,y
z=this.b
y=H.q(z,"D",0)
return new H.aL(new H.ec(z,new P.de(),[y]),new P.df(),[y,null])},
n:function(a,b,c){var z=this.ga2()
J.d_(z.b.$1(J.aB(z.a,b)),c)},
w:function(a,b){this.b.a.appendChild(b)},
B:function(a){J.bE(this.b.a)},
gj:function(a){return J.a3(this.ga2().a)},
h:function(a,b){var z=this.ga2()
return z.b.$1(J.aB(z.a,b))},
gu:function(a){var z=P.aK(this.ga2(),!1,W.w)
return new J.b3(z,z.length,0,null)},
$asaa:function(){return[W.w]},
$asd:function(){return[W.w]},
$asa:function(){return[W.w]}},de:{"^":"i:2;",
$1:function(a){return!!J.n(a).$isw}},df:{"^":"i:2;",
$1:function(a){return H.fy(a,"$isw")}}}],["","",,P,{"^":""}],["","",,P,{"^":"",eL:{"^":"b;",
cB:function(a){if(a<=0||a>4294967296)throw H.e(P.dS("max must be in range 0 < max \u2264 2^32, was "+a))
return Math.random()*a>>>0}}}],["","",,P,{"^":"",fQ:{"^":"ap;K:target=",$isc:1,"%":"SVGAElement"},fS:{"^":"l;",$isc:1,"%":"SVGAnimateElement|SVGAnimateMotionElement|SVGAnimateTransformElement|SVGAnimationElement|SVGSetElement"},h_:{"^":"l;",$isc:1,"%":"SVGFEBlendElement"},h0:{"^":"l;",$isc:1,"%":"SVGFEColorMatrixElement"},h1:{"^":"l;",$isc:1,"%":"SVGFEComponentTransferElement"},h2:{"^":"l;",$isc:1,"%":"SVGFECompositeElement"},h3:{"^":"l;",$isc:1,"%":"SVGFEConvolveMatrixElement"},h4:{"^":"l;",$isc:1,"%":"SVGFEDiffuseLightingElement"},h5:{"^":"l;",$isc:1,"%":"SVGFEDisplacementMapElement"},h6:{"^":"l;",$isc:1,"%":"SVGFEFloodElement"},h7:{"^":"l;",$isc:1,"%":"SVGFEGaussianBlurElement"},h8:{"^":"l;",$isc:1,"%":"SVGFEImageElement"},h9:{"^":"l;",$isc:1,"%":"SVGFEMergeElement"},ha:{"^":"l;",$isc:1,"%":"SVGFEMorphologyElement"},hb:{"^":"l;",$isc:1,"%":"SVGFEOffsetElement"},hc:{"^":"l;",$isc:1,"%":"SVGFESpecularLightingElement"},hd:{"^":"l;",$isc:1,"%":"SVGFETileElement"},he:{"^":"l;",$isc:1,"%":"SVGFETurbulenceElement"},hf:{"^":"l;",$isc:1,"%":"SVGFilterElement"},ap:{"^":"l;",$isc:1,"%":"SVGCircleElement|SVGClipPathElement|SVGDefsElement|SVGEllipseElement|SVGForeignObjectElement|SVGGElement|SVGGeometryElement|SVGLineElement|SVGPathElement|SVGPolygonElement|SVGPolylineElement|SVGRectElement|SVGSwitchElement;SVGGraphicsElement"},hj:{"^":"ap;",$isc:1,"%":"SVGImageElement"},a7:{"^":"c;",$isb:1,"%":"SVGLength"},hn:{"^":"dq;",
gj:function(a){return a.length},
h:function(a,b){if(b>>>0!==b||b>=a.length)throw H.e(P.K(b,a,null,null,null))
return a.getItem(b)},
n:function(a,b,c){throw H.e(new P.y("Cannot assign element of immutable List."))},
v:function(a,b){return this.h(a,b)},
$isd:1,
$asd:function(){return[P.a7]},
$isa:1,
$asa:function(){return[P.a7]},
"%":"SVGLengthList"},dk:{"^":"c+D;",
$asd:function(){return[P.a7]},
$asa:function(){return[P.a7]},
$isd:1,
$isa:1},dq:{"^":"dk+aq;",
$asd:function(){return[P.a7]},
$asa:function(){return[P.a7]},
$isd:1,
$isa:1},ho:{"^":"l;",$isc:1,"%":"SVGMarkerElement"},hp:{"^":"l;",$isc:1,"%":"SVGMaskElement"},ab:{"^":"c;",$isb:1,"%":"SVGNumber"},hC:{"^":"dr;",
gj:function(a){return a.length},
h:function(a,b){if(b>>>0!==b||b>=a.length)throw H.e(P.K(b,a,null,null,null))
return a.getItem(b)},
n:function(a,b,c){throw H.e(new P.y("Cannot assign element of immutable List."))},
v:function(a,b){return this.h(a,b)},
$isd:1,
$asd:function(){return[P.ab]},
$isa:1,
$asa:function(){return[P.ab]},
"%":"SVGNumberList"},dl:{"^":"c+D;",
$asd:function(){return[P.ab]},
$asa:function(){return[P.ab]},
$isd:1,
$isa:1},dr:{"^":"dl+aq;",
$asd:function(){return[P.ab]},
$asa:function(){return[P.ab]},
$isd:1,
$isa:1},hD:{"^":"l;",$isc:1,"%":"SVGPatternElement"},hF:{"^":"l;",$isc:1,"%":"SVGScriptElement"},l:{"^":"w;",
gb5:function(a){return new P.dd(a,new W.em(a))},
gbd:function(a){return new W.cr(a,"click",!1,[W.bX])},
$isx:1,
$isc:1,
"%":"SVGComponentTransferFunctionElement|SVGDescElement|SVGDiscardElement|SVGFEDistantLightElement|SVGFEFuncAElement|SVGFEFuncBElement|SVGFEFuncGElement|SVGFEFuncRElement|SVGFEMergeNodeElement|SVGFEPointLightElement|SVGFESpotLightElement|SVGMetadataElement|SVGStopElement|SVGStyleElement|SVGTitleElement;SVGElement"},hI:{"^":"ap;",$isc:1,"%":"SVGSVGElement"},hJ:{"^":"l;",$isc:1,"%":"SVGSymbolElement"},e4:{"^":"ap;","%":"SVGTSpanElement|SVGTextElement|SVGTextPositioningElement;SVGTextContentElement"},hK:{"^":"e4;",$isc:1,"%":"SVGTextPathElement"},hL:{"^":"ap;",$isc:1,"%":"SVGUseElement"},hM:{"^":"l;",$isc:1,"%":"SVGViewElement"},hT:{"^":"l;",$isc:1,"%":"SVGGradientElement|SVGLinearGradientElement|SVGRadialGradientElement"},hW:{"^":"l;",$isc:1,"%":"SVGCursorElement"},hX:{"^":"l;",$isc:1,"%":"SVGFEDropShadowElement"},hY:{"^":"l;",$isc:1,"%":"SVGMPathElement"}}],["","",,P,{"^":""}],["","",,P,{"^":""}],["","",,P,{"^":""}],["","",,X,{"^":"",
i5:[function(){var z=document
$.az=z.querySelector("#letterpile")
$.bB=z.querySelector("#result")
z=J.cW(z.querySelector("#newl"))
W.bm(z.a,z.b,X.fc(),!1,H.R(z,0))},"$0","cD",0,0,1],
i3:[function(a){var z,y,x,w,v
J.am($.az).B(0)
J.am($.bB).B(0)
z=$.$get$a0();(z&&C.b).sj(z,0)
for(z=W.bX,y=0;y<6;++y){$.$get$bu()
x=C.m.cB(14)
$.$get$a0().push(document.createElement("button"))
w=$.$get$a0()
if(y>=w.length)return H.h(w,y)
w[y].classList.add("letter")
w=$.$get$a0()
if(y>=w.length)return H.h(w,y)
W.bm(w[y],"click",X.fd(),!1,z)
w=$.$get$a0()
if(y>=w.length)return H.h(w,y)
w[y].textContent=$.$get$bu()[C.c.bp(x,14)]
w=J.am($.az)
v=$.$get$a0()
if(y>=v.length)return H.h(v,y)
w.w(0,v[y])}},"$1","fc",2,0,6],
i6:[function(a){var z=J.cY(a)
if(J.L(J.cX(z),$.az))J.am($.bB).w(0,z)
else J.am($.az).w(0,z)},"$1","fd",2,0,6]},1]]
setupProgram(dart,0)
J.n=function(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.bV.prototype
return J.dD.prototype}if(typeof a=="string")return J.aJ.prototype
if(a==null)return J.dE.prototype
if(typeof a=="boolean")return J.dC.prototype
if(a.constructor==Array)return J.ar.prototype
if(typeof a!="object"){if(typeof a=="function")return J.at.prototype
return a}if(a instanceof P.b)return a
return J.aZ(a)}
J.E=function(a){if(typeof a=="string")return J.aJ.prototype
if(a==null)return a
if(a.constructor==Array)return J.ar.prototype
if(typeof a!="object"){if(typeof a=="function")return J.at.prototype
return a}if(a instanceof P.b)return a
return J.aZ(a)}
J.bw=function(a){if(a==null)return a
if(a.constructor==Array)return J.ar.prototype
if(typeof a!="object"){if(typeof a=="function")return J.at.prototype
return a}if(a instanceof P.b)return a
return J.aZ(a)}
J.fp=function(a){if(typeof a=="number")return J.as.prototype
if(a==null)return a
if(!(a instanceof P.b))return J.aS.prototype
return a}
J.fq=function(a){if(typeof a=="number")return J.as.prototype
if(typeof a=="string")return J.aJ.prototype
if(a==null)return a
if(!(a instanceof P.b))return J.aS.prototype
return a}
J.F=function(a){if(a==null)return a
if(typeof a!="object"){if(typeof a=="function")return J.at.prototype
return a}if(a instanceof P.b)return a
return J.aZ(a)}
J.al=function(a,b){if(typeof a=="number"&&typeof b=="number")return a+b
return J.fq(a).Z(a,b)}
J.L=function(a,b){if(a==null)return b==null
if(typeof a!="object")return b!=null&&a===b
return J.n(a).p(a,b)}
J.cS=function(a,b){if(typeof a=="number"&&typeof b=="number")return a<b
return J.fp(a).a7(a,b)}
J.bD=function(a,b){if(typeof b==="number")if(a.constructor==Array||typeof a=="string"||H.fF(a,a[init.dispatchPropertyName]))if(b>>>0===b&&b<a.length)return a[b]
return J.E(a).h(a,b)}
J.cT=function(a,b,c,d){return J.F(a).bL(a,b,c,d)}
J.bE=function(a){return J.F(a).bN(a)}
J.cU=function(a,b,c,d){return J.F(a).c2(a,b,c,d)}
J.cV=function(a,b,c){return J.F(a).c3(a,b,c)}
J.aB=function(a,b){return J.bw(a).v(a,b)}
J.am=function(a){return J.F(a).gb5(a)}
J.an=function(a){return J.F(a).gH(a)}
J.M=function(a){return J.n(a).gt(a)}
J.aC=function(a){return J.bw(a).gu(a)}
J.a3=function(a){return J.E(a).gj(a)}
J.cW=function(a){return J.F(a).gbd(a)}
J.cX=function(a){return J.F(a).ga6(a)}
J.cY=function(a){return J.F(a).gK(a)}
J.cZ=function(a,b){return J.bw(a).J(a,b)}
J.d_=function(a,b){return J.F(a).cF(a,b)}
J.S=function(a){return J.n(a).i(a)}
var $=I.p
C.n=J.c.prototype
C.b=J.ar.prototype
C.c=J.bV.prototype
C.f=J.as.prototype
C.h=J.aJ.prototype
C.v=J.at.prototype
C.k=J.dR.prototype
C.d=J.aS.prototype
C.l=new P.eq()
C.m=new P.eL()
C.a=new P.eW()
C.e=new P.aF(0)
C.o=function() {
var toStringFunction = Object.prototype.toString;
function getTag(o) {
var s = toStringFunction.call(o);
return s.substring(8, s.length - 1);
}
function getUnknownTag(object, tag) {
if (/^HTML[A-Z].*Element$/.test(tag)) {
var name = toStringFunction.call(object);
if (name == "[object Object]") return null;
return "HTMLElement";
}
}
function getUnknownTagGenericBrowser(object, tag) {
if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement";
return getUnknownTag(object, tag);
}
function prototypeForTag(tag) {
if (typeof window == "undefined") return null;
if (typeof window[tag] == "undefined") return null;
var constructor = window[tag];
if (typeof constructor != "function") return null;
return constructor.prototype;
}
function discriminator(tag) { return null; }

var isBrowser = typeof navigator == "object";

return {
getTag: getTag,
getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag,
prototypeForTag: prototypeForTag,
discriminator: discriminator };
}
C.i=function(hooks) { return hooks; }
C.p=function(hooks) {
if (typeof dartExperimentalFixupGetTag != "function") return hooks;
hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag);
}
C.q=function(hooks) {
var getTag = hooks.getTag;
var prototypeForTag = hooks.prototypeForTag;
function getTagFixed(o) {
var tag = getTag(o);
if (tag == "Document") {
// "Document", so we check for the xmlVersion property, which is the empty
if (!!o.xmlVersion) return "!Document";
return "!HTMLDocument";
}
return tag;
}

function prototypeForTagFixed(tag) {
if (tag == "Document") return null; return prototypeForTag(tag);
}

hooks.getTag = getTagFixed;
hooks.prototypeForTag = prototypeForTagFixed;
}
C.r=function(hooks) {
var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
if (userAgent.indexOf("Firefox") == -1) return hooks;

var getTag = hooks.getTag;

var quickMap = {
"BeforeUnloadEvent": "Event",
"DataTransfer": "Clipboard",
"GeoGeolocation": "Geolocation",
"Location": "!Location", "WorkerMessageEvent": "MessageEvent",
"XMLDocument": "!Document"};

function getTagFirefox(o) {
var tag = getTag(o);
return quickMap[tag] || tag;
}

hooks.getTag = getTagFirefox;
}
C.j=function getTagFallback(o) {
var s = Object.prototype.toString.call(o);
return s.substring(8, s.length - 1);
}
C.t=function(hooks) {
var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
if (userAgent.indexOf("Trident/") == -1) return hooks;

var getTag = hooks.getTag;

var quickMap = {
"BeforeUnloadEvent": "Event",
"DataTransfer": "Clipboard",
"HTMLDDElement": "HTMLElement",
"HTMLDTElement": "HTMLElement",
"HTMLPhraseElement": "HTMLElement",
"Position": "Geoposition"
};

function getTagIE(o) {
var tag = getTag(o);
var newTag = quickMap[tag];
if (newTag) return newTag;
if (tag == "Object") {
if (window.DataView && (o instanceof window.DataView)) return "DataView";
}
return tag;
}

function prototypeForTagIE(tag) {
var constructor = window[tag];
if (constructor == null) return null;
return constructor.prototype;
}

hooks.getTag = getTagIE;
hooks.prototypeForTag = prototypeForTagIE;
}
C.u=function(getTagFallback) {
return function(hooks) {
if (typeof navigator != "object") return hooks;

var ua = navigator.userAgent;
if (ua.indexOf("DumpRenderTree") >= 0) return hooks;
if (ua.indexOf("Chrome") >= 0) {
function confirm(p) {
return typeof window == "object" && window[p] && window[p].name == p;
}
if (confirm("Window") && confirm("HTMLElement")) return hooks;
}

hooks.getTag = getTagFallback;
};
}
$.c4="$cachedFunction"
$.c5="$cachedInvocation"
$.G=0
$.a4=null
$.bI=null
$.bx=null
$.cC=null
$.cO=null
$.aY=null
$.b0=null
$.by=null
$.Y=null
$.af=null
$.ag=null
$.bs=!1
$.m=C.a
$.bO=0
$.az=null
$.bB=null
$=null
init.isHunkLoaded=function(a){return!!$dart_deferred_initializers$[a]}
init.deferredInitialized=new Object(null)
init.isHunkInitialized=function(a){return init.deferredInitialized[a]}
init.initializeLoadedHunk=function(a){$dart_deferred_initializers$[a]($globals$,$)
init.deferredInitialized[a]=true}
init.deferredLibraryUris={}
init.deferredLibraryHashes={};(function(a){for(var z=0;z<a.length;){var y=a[z++]
var x=a[z++]
var w=a[z++]
I.$lazy(y,x,w)}})(["bL","$get$bL",function(){return H.cJ("_$dart_dartClosure")},"b6","$get$b6",function(){return H.cJ("_$dart_js")},"bR","$get$bR",function(){return H.dy()},"bS","$get$bS",function(){if(typeof WeakMap=="function")var z=new WeakMap()
else{z=$.bO
$.bO=z+1
z="expando$key$"+z}return new P.dc(null,z)},"cc","$get$cc",function(){return H.H(H.aR({
toString:function(){return"$receiver$"}}))},"cd","$get$cd",function(){return H.H(H.aR({$method$:null,
toString:function(){return"$receiver$"}}))},"ce","$get$ce",function(){return H.H(H.aR(null))},"cf","$get$cf",function(){return H.H(function(){var $argumentsExpr$='$arguments$'
try{null.$method$($argumentsExpr$)}catch(z){return z.message}}())},"cj","$get$cj",function(){return H.H(H.aR(void 0))},"ck","$get$ck",function(){return H.H(function(){var $argumentsExpr$='$arguments$'
try{(void 0).$method$($argumentsExpr$)}catch(z){return z.message}}())},"ch","$get$ch",function(){return H.H(H.ci(null))},"cg","$get$cg",function(){return H.H(function(){try{null.$method$}catch(z){return z.message}}())},"cm","$get$cm",function(){return H.H(H.ci(void 0))},"cl","$get$cl",function(){return H.H(function(){try{(void 0).$method$}catch(z){return z.message}}())},"bk","$get$bk",function(){return P.ef()},"aH","$get$aH",function(){var z,y
z=P.aN
y=new P.W(0,P.ee(),null,[z])
y.bJ(null,z)
return y},"ai","$get$ai",function(){return[]},"bu","$get$bu",function(){return["a","b","c","d","e","f","g","h","i","j","k","l","m","n"]},"a0","$get$a0",function(){return[]}])
I=I.$finishIsolateConstructor(I)
$=new I()
init.metadata=[null]
init.types=[{func:1},{func:1,v:true},{func:1,args:[,]},{func:1,v:true,args:[{func:1,v:true}]},{func:1,v:true,args:[P.b],opt:[P.aw]},{func:1,ret:P.V,args:[P.j]},{func:1,v:true,args:[W.ao]},{func:1,args:[,P.V]},{func:1,args:[P.V]},{func:1,args:[{func:1,v:true}]},{func:1,args:[,],opt:[,]},{func:1,v:true,args:[,P.aw]},{func:1,args:[,,]},{func:1,v:true,args:[P.b]}]
function convertToFastObject(a){function MyClass(){}MyClass.prototype=a
new MyClass()
return a}function convertToSlowObject(a){a.__MAGIC_SLOW_PROPERTY=1
delete a.__MAGIC_SLOW_PROPERTY
return a}A=convertToFastObject(A)
B=convertToFastObject(B)
C=convertToFastObject(C)
D=convertToFastObject(D)
E=convertToFastObject(E)
F=convertToFastObject(F)
G=convertToFastObject(G)
H=convertToFastObject(H)
J=convertToFastObject(J)
K=convertToFastObject(K)
L=convertToFastObject(L)
M=convertToFastObject(M)
N=convertToFastObject(N)
O=convertToFastObject(O)
P=convertToFastObject(P)
Q=convertToFastObject(Q)
R=convertToFastObject(R)
S=convertToFastObject(S)
T=convertToFastObject(T)
U=convertToFastObject(U)
V=convertToFastObject(V)
W=convertToFastObject(W)
X=convertToFastObject(X)
Y=convertToFastObject(Y)
Z=convertToFastObject(Z)
function init(){I.p=Object.create(null)
init.allClasses=map()
init.getTypeFromName=function(a){return init.allClasses[a]}
init.interceptorsByTag=map()
init.leafTags=map()
init.finishedClasses=map()
I.$lazy=function(a,b,c,d,e){if(!init.lazies)init.lazies=Object.create(null)
init.lazies[a]=b
e=e||I.p
var z={}
var y={}
e[a]=z
e[b]=function(){var x=this[a]
if(x==y)H.fO(d||a)
try{if(x===z){this[a]=y
try{x=this[a]=c()}finally{if(x===z)this[a]=null}}return x}finally{this[b]=function(){return this[a]}}}}
I.$finishIsolateConstructor=function(a){var z=a.p
function Isolate(){var y=Object.keys(z)
for(var x=0;x<y.length;x++){var w=y[x]
this[w]=z[w]}var v=init.lazies
var u=v?Object.keys(v):[]
for(var x=0;x<u.length;x++)this[v[u[x]]]=null
function ForceEfficientMap(){}ForceEfficientMap.prototype=this
new ForceEfficientMap()
for(var x=0;x<u.length;x++){var t=v[u[x]]
this[t]=z[t]}}Isolate.prototype=a.prototype
Isolate.prototype.constructor=Isolate
Isolate.p=z
Isolate.u=a.u
return Isolate}}!function(){var z=function(a){var t={}
t[a]=1
return Object.keys(convertToFastObject(t))[0]}
init.getIsolateTag=function(a){return z("___dart_"+a+init.isolateTag)}
var y="___dart_isolate_tags_"
var x=Object[y]||(Object[y]=Object.create(null))
var w="_ZxYxX"
for(var v=0;;v++){var u=z(w+"_"+v+"_")
if(!(u in x)){x[u]=1
init.isolateTag=u
break}}init.dispatchPropertyName=init.getIsolateTag("dispatch_record")}();(function(a){if(typeof document==="undefined"){a(null)
return}if(typeof document.currentScript!='undefined'){a(document.currentScript)
return}var z=document.scripts
function onLoad(b){for(var x=0;x<z.length;++x)z[x].removeEventListener("load",onLoad,false)
a(b.target)}for(var y=0;y<z.length;++y)z[y].addEventListener("load",onLoad,false)})(function(a){init.currentScript=a
if(typeof dartMainRunner==="function")dartMainRunner(function(b){H.cQ(X.cD(),b)},[])
else (function(b){H.cQ(X.cD(),b)})([])})})()
//# sourceMappingURL=anagram.js.map

四 演示

点击new letters按钮生成6个子界面

点击子界面,就在Pile和Word下边来回移动

Finally:

Dart引领我进入web世界,这是我以前想做但一直没做的事

感谢Dart lang,感谢Go lang,感谢党

哈哈

Dart- move html element的更多相关文章

  1. Dart语法基础

    hello world // Define a function. printNumber(num aNumber) { print('The number is $aNumber.'); // Pr ...

  2. Flutter学习笔记(8)--Dart面向对象

    如需转载,请注明出处:Flutter学习笔记(7)--Dart异常处理 Dart作为高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式,基于mixin的继承方式是指:一个类可以继承自多 ...

  3. Dart自定义库、系统库和第三方库

    /* 前面介绍Dart基础知识的时候基本上都是在一个文件里面编写Dart代码的,但实际开发中不可能这么写,模块化很重要,所以这就需要使用到库的概念. 在Dart中,库的使用时通过import关键字引入 ...

  4. Dart 语言简述

    Dart是一种“结构化的web编程”语言,Dart编程语言在所有现代浏览器和环境中提供高性能.Dart是谷歌开发的计算机编程语言,后来被ECMA认定为标准. Dart重要的概念: 1.所有的东西都是对 ...

  5. Flutter的原理及美团的实践

    导读 Flutter是Google开发的一套全新的跨平台.开源UI框架,支持iOS.Android系统开发,并且是未来新操作系统Fuchsia的默认开发套件.自从2017年5月发布第一个版本以来,目前 ...

  6. flutter兼论

    Flutter是Google开发的一套全新的跨平台.开源UI框架,支持iOS.Android系统开发,并且是未来新操作系统Fuchsia的默认开发套件.自从2017年5月发布 第一个版本以来,目前Fl ...

  7. [AngularJS] AngularJS系列(5) 中级篇之动画

    目录 CSS定义 JS定义 ng动画实际帮我们在状态切换的时候 添加特定的样式 从而实现动画效果. 一般我们会通过C3来实现具体的动画. CSS定义 ng-if 图(实际上,图并不能展现出什么): H ...

  8. Sequential List

    Sequential ListSequential list storage structure:#define LIST_INIT_SIZE 20 #define LIST_INCREASE 10t ...

  9. angularjs学习总结 详细教程(转载)

    1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的 ...

  10. AngularJs $animate 让页面动起来

    $animate $animate服务提供了基本的DOM操作功能如在DOM里插入.移除和移动元素,以及添加和删除类.这个服务是ngAnimate的核心服务,为CSS和Javascript提供了高档次的 ...

随机推荐

  1. CentOS7 vsftpd 安装及配置

    0x:卸载vsftpd [root@localhost ~]# yum remove vsftpd [root@localhost ~]# find / -name "vsftpd*&quo ...

  2. 试水Spring Cloud Hystrix

    Spring Cloud Hystrix是一个容错库,它实现了断路器模式,使得当服务发生异常时,会自动切断连接,并将请求引导至预设的回调方法. 服务端 在Spring Tool Suite的文件菜单中 ...

  3. python基础①

    一.    Python 命名规范: 1, 变量量由字⺟母, 数字,下划线搭配组合⽽而成 2, 不不可以⽤用数字开头,更更不不能是全数字    3,不能是pythond的关键字, 这些符号和字⺟母已经 ...

  4. [No0000DC]C# FileHelper 本地文件、文件夹操作类封装FileHelper

    using System; using System.Diagnostics; using System.IO; using System.Text; using Shared; namespace ...

  5. 为什么实数系里不存在最小正数?(Why the smallest positive real number doesn't exist in the real number system ?)

    We define the smallest positive real number as the number which is explicitly greater than zero and ...

  6. IP地址、MAC地址及端口

    概述: IP 是地址,有定位功能(网与网的通讯)     (在逻辑上唯一标识一台电脑)(网络层) MAC 是身份证,无定位功能(在子网干活)(在物理上唯一标识一台电脑) (链路层) 首先是如何查看ip ...

  7. take a cpu core offline

    [root@vrouter1 ~]# cat /sys/devices/system/cpu/online -,,- [root@vrouter1 ~]# cat /sys/devices/syste ...

  8. [daily][gnucash] 复式记账

    管理, 是成就人生的第一步. 管钱,是第一步中的第一小步. 选了又选,终于选了一个软件,gnucash, 但是, 他有点专业, 用之前需要搞懂一下会计概念. 即: 复式记账 gnucash手册的这一章 ...

  9. Java8 in action

    解决的问题: behavior parameterization,即可以把一段code,逻辑作为参数传入: 这样做的目的,当然为了代码抽象和重用,把变化的逻辑抽象出去: 在java中,如果要实现beh ...

  10. 树和二叉树->其他(待完善)

    关于树和二叉树的部分,还有如下三个知识点,待以后时间更充裕的时候再回头完善. 1 树与等价问题 文字描述 关于等价关系和等价类的定义,在离散数学上的描述有点拗口, 其实在数据结构中,这部分相关的主要是 ...