From dc043fda0c5f9db16415623fe2300713f89c8cd1 Mon Sep 17 00:00:00 2001 From: "Alex.Shi" Date: Tue, 1 Sep 2020 15:04:38 +0300 Subject: [PATCH] add-w3c-actions (#321) * init * update * fix * add tests && make local drag-n-drop test * add unit test * rename api-test2 to unit-test --- .circleci/config.yml | 3 +- resources/html/drag-n-drop/example.css | 49 + resources/html/drag-n-drop/example.dart.js | 3864 +++++++++++++++++ resources/html/drag-n-drop/images/README.md | 14 + .../html/drag-n-drop/images/document.png | Bin 0 -> 5091 bytes resources/html/drag-n-drop/images/trash.png | Bin 0 -> 60551 bytes resources/html/drag-n-drop/index.html | 36 + src/etaoin/api.clj | 163 + test/etaoin/api_test.clj | 51 +- test/etaoin/{api_test2.clj => unit_test.clj} | 38 +- 10 files changed, 4215 insertions(+), 3 deletions(-) create mode 100644 resources/html/drag-n-drop/example.css create mode 100644 resources/html/drag-n-drop/example.dart.js create mode 100644 resources/html/drag-n-drop/images/README.md create mode 100644 resources/html/drag-n-drop/images/document.png create mode 100644 resources/html/drag-n-drop/images/trash.png create mode 100644 resources/html/drag-n-drop/index.html rename test/etaoin/{api_test2.clj => unit_test.clj} (55%) diff --git a/.circleci/config.yml b/.circleci/config.yml index e824f9a2..cd1d5b57 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -80,8 +80,9 @@ jobs: command: lein test2junit etaoin.api-test - run: + name: unit tests when: always - command: lein test2junit etaoin.api-test2 + command: lein test2junit etaoin.unit-test - store_test_results: path: target/test2junit diff --git a/resources/html/drag-n-drop/example.css b/resources/html/drag-n-drop/example.css new file mode 100644 index 00000000..94d42615 --- /dev/null +++ b/resources/html/drag-n-drop/example.css @@ -0,0 +1,49 @@ +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.428571429; + color: #333; + background-color: #fff; + margin: 0; +} + +.container { + max-width: 400px; + padding: 15px 15px 0 15px; +} + +.trash { + background: url(images/trash.png) top left no-repeat; + height: 128px; + width: 128px; + margin-top: 90px; + float: right; + opacity: 0.7; +} + +.trash.full { + background: url(images/trash.png) top right no-repeat; +} + +.document { + margin-top: 10px; + display: block; + cursor: pointer; + cursor: grab; + cursor: -webkit-grab; +} + +.dnd-over { + opacity: 1; +} + +.dnd-dragging { + opacity: 0.5; +} + +.dnd-dragging, +.dnd-drag-occurring { + cursor: default; + cursor: grabbing; + cursor: -webkit-grabbing; +} diff --git a/resources/html/drag-n-drop/example.dart.js b/resources/html/drag-n-drop/example.dart.js new file mode 100644 index 00000000..4fb57402 --- /dev/null +++ b/resources/html/drag-n-drop/example.dart.js @@ -0,0 +1,3864 @@ +(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,c){"use strict" +function generateAccessor(b0,b1,b2){var g=b0.split("-") +var f=g[0] +var e=f.length +var d=f.charCodeAt(e-1) +var a0 +if(g.length>1)a0=true +else a0=false +d=d>=60&&d<=64?d-59:d>=123&&d<=126?d-117:d>=37&&d<=43?d-27:0 +if(d){var a1=d&3 +var a2=d>>2 +var a3=f=f.substring(0,e-1) +var a4=f.indexOf(":") +if(a4>0){a3=f.substring(0,a4) +f=f.substring(a4+1)}if(a1){var a5=a1&2?"r":"" +var a6=a1&1?"this":"r" +var a7="return "+a6+"."+f +var a8=b2+".prototype.g"+a3+"=" +var a9="function("+a5+"){"+a7+"}" +if(a0)b1.push(a8+"$reflectable("+a9+");\n") +else b1.push(a8+a9+";\n")}if(a2){var a5=a2&2?"r,v":"v" +var a6=a2&1?"this":"r" +var a7=a6+"."+f+"=v" +var a8=b2+".prototype.s"+a3+"=" +var a9="function("+a5+"){"+a7+"}" +if(a0)b1.push(a8+"$reflectable("+a9+");\n") +else b1.push(a8+a9+";\n")}}return f}function defineClass(a4,a5){var g=[] +var f="function "+a4+"(" +var e="",d="" +for(var a0=0;a00){var a7=a6.split("+") +a6=a7[0] +var a8=a7[1] +finishClass(a8) +var a9=g[a8] +var b0=a9.prototype +var b1=g[c2].prototype +var b2=Object.keys(b0) +for(var b3=0;b3")addStubs(g,a1,d,false,[])}convertToFastObject(g) +g=g.__proto__ +g.$deferredAction()}function mixinDeferredActionHelper(d,e){var g +if(e.hasOwnProperty("$deferredAction"))g=e.$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)}d.$deferredAction() +f.$deferredAction()}}function processClassData(b2,b3,b4){b3=convertToSlowObject(b3) +var g +var f=Object.keys(b3) +var e=false +var d=supportsDirectProtoAccess&&b2!="a" +for(var a0=0;a00)b3[g].$reflectable=a3}else if(a2===42){b3[g].$D=b3[a1] +var a4=b3.$methodsWithOptionalArguments +if(!a4)b3.$methodsWithOptionalArguments=a4={} +a4[a1]=g}else{var a5=b3[a1] +if(a1!=="^"&&a5!=null&&a5.constructor===Array&&a1!=="<>")if(d)e=true +else addStubs(b3,a5,a1,false,[]) +else g=a1}}if(e)b3.$deferredAction=finishAddStubsHelper +var a6=b3["^"],a7,a8,a9=a6 +var b0=a9.split(";") +a9=b0[1]?b0[1].split(","):[] +a8=b0[0] +a7=a8.split(":") +if(a7.length==2){a8=a7[0] +var b1=a7[1] +if(b1)b3.$S=function(b5){return function(){return init.types[b5]}}(b1)}if(a8)b4.pending[b2]=a8 +b4.combinedConstructorFunction+=defineClass(b2,a9) +b4.constructorsList.push(b2) +b4.collected[b2]=[m,b3] +i.push(b2)}function processStatics(a4,a5){var g=Object.keys(a4) +for(var f=0;f0)a4[a1].$reflectable=a2 +if(d&&d.length)init.typeInformation[a1]=d}else if(a0===42){m[a1].$D=d +var a3=a4.$methodsWithOptionalArguments +if(!a3)a4.$methodsWithOptionalArguments=a3={} +a3[e]=a1}else if(typeof d==="function"){m[a1=e]=d +h.push(e)}else if(d.constructor===Array)addStubs(m,d,e,true,h) +else{a1=e +processClassData(e,d,a5)}}}function addStubs(c0,c1,c2,c3,c4){var g=0,f=g,e=c1[g],d +if(typeof e=="string")d=c1[++g] +else{d=e +e=c2}if(typeof d=="number"){f=d +d=c1[++g]}c0[c2]=c0[e]=d +var a0=[d] +d.$stubName=c2 +c4.push(c2) +for(g++;g>1 +var a5=a3>>1 +var a6=(a3&1)===1 +var a7=a3===3 +var a8=a3===1 +var a9=c1[1] +var b0=a9>>1 +var b1=(a9&1)===1 +var b2=a5+b0 +var b3=c1[2] +if(typeof b3=="number")c1[2]=b3+c +if(b>0){var b4=3 +for(var a1=0;a1b5 +if(b6){a0[0].$reflectable=1 +a0[0].$reflectionInfo=c1 +for(var a1=1;a1=a.length)return H.w(a,b) +return a[b]}, +h:function(a){return P.bJ(a,"[","]")}, +gD:function(a){return new J.ed(a,a.length,0,[H.f(a,0)])}, +gt:function(a){return H.ak(a)}, +gj:function(a){return a.length}, +sj:function(a,b){if(!!a.fixed$length)H.U(P.a3("set length")) +if(b<0)throw H.h(P.aX(b,0,null,"newLength",null)) +a.length=b}, +$isv:1, +$isq:1, +m:{ +eV:function(a,b){return J.aR(H.K(a,[b]))}, +aR:function(a){H.aK(a) +a.fixed$length=Array +return a}}}, +jq:{"^":"aQ;$ti"}, +ed:{"^":"a;a,b,c,0d,$ti", +gw:function(){return this.d}, +u:function(){var z,y,x +z=this.a +y=z.length +if(this.b!==y)throw H.h(H.dX(z)) +x=this.c +if(x>=y){this.d=null +return!1}this.d=z[x] +this.c=x+1 +return!0}}, +be:{"^":"r;", +cu:function(a){var z +if(a>=-2147483648&&a<=2147483647)return a|0 +if(isFinite(a)){z=a<0?Math.ceil(a):Math.floor(a) +return z+0}throw H.h(P.a3(""+a+".toInt()"))}, +v:function(a){if(a>0){if(a!==1/0)return Math.round(a)}else if(a>-1/0)return 0-Math.round(0-a) +throw H.h(P.a3(""+a+".round()"))}, +h:function(a){if(a===0&&1/a<0)return"-0.0" +else return""+a}, +gt:function(a){return a&0x1FFFFFFF}, +Z:function(a,b){return(a|0)===a?a/b|0:this.c2(a,b)}, +c2: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.h(P.a3("Result of truncating division is "+H.c(z)+": "+H.c(a)+" ~/ "+b))}, +aP:function(a,b){var z +if(a>0)z=this.bZ(a,b) +else{z=b>31?31:b +z=a>>z>>>0}return z}, +bZ:function(a,b){return b>31?0:a>>>b}, +M:function(a,b){if(typeof b!=="number")throw H.h(H.bt(b)) +return a=a.length)H.U(H.aZ(a,b)) +return a.charCodeAt(b)}, +a6:function(a,b){if(b>=a.length)throw H.h(H.aZ(a,b)) +return a.charCodeAt(b)}, +C:function(a,b){H.x(b) +if(typeof b!=="string")throw H.h(P.bA(b,null,null)) +return a+b}, +cr:function(a,b,c,d){var z=a.length +if(d>z)H.U(P.aX(d,0,z,"startIndex",null)) +return H.iR(a,b,c,d)}, +b6:function(a,b,c){return this.cr(a,b,c,0)}, +a2:function(a,b,c){H.O(c) +if(c==null)c=a.length +if(b<0)throw H.h(P.bj(b,null,null)) +if(b>c)throw H.h(P.bj(b,null,null)) +if(c>a.length)throw H.h(P.bj(c,null,null)) +return a.substring(b,c)}, +bf:function(a,b){return this.a2(a,b,null)}, +au:function(a){var z,y,x,w,v +z=a.trim() +y=z.length +if(y===0)return z +if(this.a6(z,0)===133){x=J.f_(z,1) +if(x===y)return""}else x=0 +w=y-1 +v=this.aW(z,w)===133?J.f0(z,w):y +if(x===0&&v===y)return z +return z.substring(x,v)}, +c9:function(a,b,c){if(c>a.length)throw H.h(P.aX(c,0,a.length,null,null)) +return H.iQ(a,b,c)}, +h:function(a){return a}, +gt:function(a){var z,y,x +for(z=a.length,y=0,x=0;x>6}y=536870911&y+((67108863&y)<<3) +y^=y>>11 +return 536870911&y+((16383&y)<<15)}, +gj:function(a){return a.length}, +$iscM:1, +$iso:1, +m:{ +cB:function(a){if(a<256)switch(a){case 9:case 10:case 11:case 12:case 13:case 32:case 133:case 160:return!0 +default:return!1}switch(a){case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8232:case 8233:case 8239:case 8287:case 12288:case 65279:return!0 +default:return!1}}, +f_:function(a,b){var z,y +for(z=a.length;b0;b=z){z=b-1 +y=C.d.aW(a,z) +if(y!==32&&y!==13&&!J.cB(y))break}return b}}}}],["","",,H,{"^":"",bG:{"^":"v;"},bP:{"^":"bG;$ti", +gD:function(a){return new H.cG(this,this.gj(this),0,[H.a5(this,"bP",0)])}},cG:{"^":"a;a,b,c,0d,$ti", +gw:function(){return this.d}, +u:function(){var z,y,x,w +z=this.a +y=J.b1(z) +x=y.gj(z) +if(this.b!==x)throw H.h(P.ah(z)) +w=this.c +if(w>=x){this.d=null +return!1}this.d=y.F(z,w);++this.c +return!0}},cI:{"^":"bP;a,b,$ti", +gj:function(a){return J.aN(this.a)}, +F:function(a,b){return this.b.$1(J.e4(this.a,b))}, +$asbP:function(a,b){return[b]}, +$asv:function(a,b){return[b]}},bc:{"^":"a;$ti"},bV:{"^":"a;a", +gt:function(a){var z=this._hashCode +if(z!=null)return z +z=536870911&664597*J.V(this.a) +this._hashCode=z +return z}, +h:function(a){return'Symbol("'+H.c(this.a)+'")'}, +A:function(a,b){var z,y +if(b==null)return!1 +if(b instanceof H.bV){z=this.a +y=b.a +y=z==null?y==null:z===y +z=y}else z=!1 +return z}, +$isal:1}}],["","",,H,{"^":"", +dN:function(a){var z=J.l(a) +return!!z.$isck||!!z.$isz||!!z.$iscD||!!z.$iscz||!!z.$isC||!!z.$isbX||!!z.$isd9}}],["","",,H,{"^":"", +iA:[function(a){return init.types[H.O(a)]},null,null,4,0,null,5], +iI:function(a,b){var z +if(b!=null){z=b.x +if(z!=null)return z}return!!J.l(a).$isa0}, +c: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.b6(a) +if(typeof z!=="string")throw H.h(H.bt(a)) +return z}, +ak:function(a){var z=a.$identityHash +if(z==null){z=Math.random()*0x3fffffff|0 +a.$identityHash=z}return z}, +ft:function(a,b){var z,y +z=/^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(a) +if(z==null)return +if(3>=z.length)return H.w(z,3) +y=H.x(z[3]) +if(y!=null)return parseInt(a,10) +if(z[2]!=null)return parseInt(a,16) +return}, +fs:function(a){var z,y +if(!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(a))return +z=parseFloat(a) +if(isNaN(z)){y=C.d.au(a) +if(y==="NaN"||y==="+NaN"||y==="-NaN")return z +return}return z}, +aD:function(a){var z,y,x,w,v,u,t,s,r +z=J.l(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.o||!!J.l(a).$isbq){v=C.k(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.d.a6(w,0)===36)w=C.d.bf(w,1) +r=H.cd(H.aK(H.ac(a)),0,null) +return function(b,c){return b.replace(/[^<,> ]+/g,function(d){return c[d]||d})}(w+r,init.mangledGlobalNames)}, +H:function(a){if(a.date===void 0)a.date=new Date(a.a) +return a.date}, +fr:function(a){return a.b?H.H(a).getUTCFullYear()+0:H.H(a).getFullYear()+0}, +fp:function(a){return a.b?H.H(a).getUTCMonth()+1:H.H(a).getMonth()+1}, +fl:function(a){return a.b?H.H(a).getUTCDate()+0:H.H(a).getDate()+0}, +fm:function(a){return a.b?H.H(a).getUTCHours()+0:H.H(a).getHours()+0}, +fo:function(a){return a.b?H.H(a).getUTCMinutes()+0:H.H(a).getMinutes()+0}, +fq:function(a){return a.b?H.H(a).getUTCSeconds()+0:H.H(a).getSeconds()+0}, +fn:function(a){return a.b?H.H(a).getUTCMilliseconds()+0:H.H(a).getMilliseconds()+0}, +cN:function(a,b,c){var z,y,x +z={} +H.k(c,"$isaV",[P.o,null],"$asaV") +z.a=0 +y=[] +x=[] +z.a=b.length +C.a.aS(y,b) +z.b="" +if(c!=null&&c.a!==0)c.B(0,new H.fk(z,x,y)) +return J.ea(a,new H.eY(C.y,""+"$"+z.a+z.b,0,y,x,0))}, +fj:function(a,b){var z,y +z=b instanceof Array?b:P.bQ(b,!0,null) +y=z.length +if(y===0){if(!!a.$0)return a.$0()}else if(y===1){if(!!a.$1)return a.$1(z[0])}else if(y===2){if(!!a.$2)return a.$2(z[0],z[1])}else if(y===3){if(!!a.$3)return a.$3(z[0],z[1],z[2])}else if(y===4){if(!!a.$4)return a.$4(z[0],z[1],z[2],z[3])}else if(y===5)if(!!a.$5)return a.$5(z[0],z[1],z[2],z[3],z[4]) +return H.fi(a,z)}, +fi:function(a,b){var z,y,x,w,v,u +z=b.length +y=a[""+"$"+z] +if(y==null){y=J.l(a)["call*"] +if(y==null)return H.cN(a,b,null) +x=H.cP(y) +w=x.d +v=w+x.e +if(x.f||w>z||v=z}else y=!0 +if(y)return P.aj(b,a,"index",null,z) +return P.bj(b,"index",null)}, +bt:function(a){return new P.ag(!0,a,null,null)}, +h:function(a){var z +if(a==null)a=new P.cL() +z=new Error() +z.dartException=a +if("defineProperty" in Object){Object.defineProperty(z,"message",{get:H.dY}) +z.name=""}else z.toString=H.dY +return z}, +dY:[function(){return J.b6(this.dartException)},null,null,0,0,null], +U:function(a){throw H.h(a)}, +dX:function(a){throw H.h(P.ah(a))}, +S:function(a){var z,y,x,w,v,u,t,s,r,q,p,o,n,m,l +z=new H.iV(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.e.aP(x,16)&8191)===10)switch(w){case 438:return z.$1(H.bO(H.c(y)+" (Error "+w+")",null)) +case 445:case 5007:return z.$1(H.cK(H.c(y)+" (Error "+w+")",null))}}if(a instanceof TypeError){v=$.$get$cV() +u=$.$get$cW() +t=$.$get$cX() +s=$.$get$cY() +r=$.$get$d1() +q=$.$get$d2() +p=$.$get$d_() +$.$get$cZ() +o=$.$get$d4() +n=$.$get$d3() +m=v.G(y) +if(m!=null)return z.$1(H.bO(H.x(y),m)) +else{m=u.G(y) +if(m!=null){m.method="call" +return z.$1(H.bO(H.x(y),m))}else{m=t.G(y) +if(m==null){m=s.G(y) +if(m==null){m=r.G(y) +if(m==null){m=q.G(y) +if(m==null){m=p.G(y) +if(m==null){m=s.G(y) +if(m==null){m=o.G(y) +if(m==null){m=n.G(y) +l=m!=null}else l=!0}else l=!0}else l=!0}else l=!0}else l=!0}else l=!0}else l=!0 +if(l)return z.$1(H.cK(H.x(y),m))}}return z.$1(new H.fG(typeof y==="string"?y:""))}if(a instanceof RangeError){if(typeof y==="string"&&y.indexOf("call stack")!==-1)return new P.cS() +y=function(b){try{return String(b)}catch(k){}return null}(a) +return z.$1(new P.ag(!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.cS() +return a}, +ad:function(a){var z +if(a==null)return new H.du(a) +z=a.$cachedTrace +if(z!=null)return z +return a.$cachedTrace=new H.du(a)}, +iy:function(a,b){var z,y,x,w +z=a.length +for(y=0;y=27 +if(v)return H.ek(y,!w,z,b) +if(y===0){w=$.W +if(typeof w!=="number")return w.C() +$.W=w+1 +u="self"+w +w="return function(){var "+u+" = this." +v=$.az +if(v==null){v=H.b8("self") +$.az=v}return new Function(w+H.c(v)+";return "+u+"."+H.c(z)+"();}")()}t="abcdefghijklmnopqrstuvwxyz".split("").splice(0,y).join(",") +w=$.W +if(typeof w!=="number")return w.C() +$.W=w+1 +t+=w +w="return function("+t+"){return this." +v=$.az +if(v==null){v=H.b8("self") +$.az=v}return new Function(w+H.c(v)+"."+H.c(z)+"("+t+");}")()}, +el:function(a,b,c,d){var z,y +z=H.bC +y=H.cm +switch(b?-1:a){case 0:throw H.h(H.fy("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)}}, +em:function(a,b){var z,y,x,w,v,u,t,s +z=$.az +if(z==null){z=H.b8("self") +$.az=z}y=$.cl +if(y==null){y=H.b8("receiver") +$.cl=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.el(w,!u,x,b) +if(w===1){z="return function(){return this."+H.c(z)+"."+H.c(x)+"(this."+H.c(y)+");" +y=$.W +if(typeof y!=="number")return y.C() +$.W=y+1 +return new Function(z+y+"}")()}s="abcdefghijklmnopqrstuvwxyz".split("").splice(0,w-1).join(",") +z="return function("+s+"){return this."+H.c(z)+"."+H.c(x)+"(this."+H.c(y)+", "+s+");" +y=$.W +if(typeof y!=="number")return y.C() +$.W=y+1 +return new Function(z+y+"}")()}, +c9:function(a,b,c,d,e,f,g){var z,y +z=J.aR(H.aK(b)) +H.O(c) +y=!!J.l(d).$isq?J.aR(d):d +return H.en(a,z,c,y,!!e,f,g)}, +x:function(a){if(a==null)return a +if(typeof a==="string")return a +throw H.h(H.Z(a,"String"))}, +dR:function(a){if(a==null)return a +if(typeof a==="number")return a +throw H.h(H.Z(a,"num"))}, +dJ:function(a){if(a==null)return a +if(typeof a==="boolean")return a +throw H.h(H.Z(a,"bool"))}, +O:function(a){if(a==null)return a +if(typeof a==="number"&&Math.floor(a)===a)return a +throw H.h(H.Z(a,"int"))}, +dU:function(a,b){throw H.h(H.Z(a,H.x(b).substring(3)))}, +iP:function(a,b){var z=J.b1(b) +throw H.h(H.ei(a,z.a2(b,3,z.gj(b))))}, +e:function(a,b){if(a==null)return a +if((typeof a==="object"||typeof a==="function")&&J.l(a)[b])return a +H.dU(a,b)}, +a6:function(a,b){var z +if(a!=null)z=(typeof a==="object"||typeof a==="function")&&J.l(a)[b] +else z=!0 +if(z)return a +H.iP(a,b)}, +aK:function(a){if(a==null)return a +if(!!J.l(a).$isq)return a +throw H.h(H.Z(a,"List"))}, +iK:function(a,b){if(a==null)return a +if(!!J.l(a).$isq)return a +if(J.l(a)[b])return a +H.dU(a,b)}, +dK:function(a){var z +if("$S" in a){z=a.$S +if(typeof z=="number")return init.types[H.O(z)] +else return a.$S()}return}, +aw:function(a,b){var z,y +if(a==null)return!1 +if(typeof a=="function")return!0 +z=H.dK(J.l(a)) +if(z==null)return!1 +y=H.dO(z,null,b,null) +return y}, +b:function(a,b){var z,y +if(a==null)return a +if($.c5)return a +$.c5=!0 +try{if(H.aw(a,b))return a +z=H.ax(b) +y=H.Z(a,z) +throw H.h(y)}finally{$.c5=!1}}, +b0:function(a,b){if(a!=null&&!H.c8(a,b))H.U(H.Z(a,H.ax(b))) +return a}, +dC:function(a){var z +if(a instanceof H.d){z=H.dK(J.l(a)) +if(z!=null)return H.ax(z) +return"Closure"}return H.aD(a)}, +iT:function(a){throw H.h(new P.ev(H.x(a)))}, +cb:function(a){return init.getIsolateTag(a)}, +K:function(a,b){a.$ti=b +return a}, +ac:function(a){if(a==null)return +return a.$ti}, +jX:function(a,b,c){return H.ay(a["$as"+H.c(c)],H.ac(b))}, +bw:function(a,b,c,d){var z +H.x(c) +H.O(d) +z=H.ay(a["$as"+H.c(c)],H.ac(b)) +return z==null?null:z[d]}, +a5:function(a,b,c){var z +H.x(b) +H.O(c) +z=H.ay(a["$as"+H.c(b)],H.ac(a)) +return z==null?null:z[c]}, +f:function(a,b){var z +H.O(b) +z=H.ac(a) +return z==null?null:z[b]}, +ax:function(a){var z=H.af(a,null) +return z}, +af:function(a,b){var z,y +H.k(b,"$isq",[P.o],"$asq") +if(a==null)return"dynamic" +if(a===-1)return"void" +if(typeof a==="object"&&a!==null&&a.constructor===Array)return a[0].builtin$cls+H.cd(a,1,b) +if(typeof a=="function")return a.builtin$cls +if(a===-2)return"dynamic" +if(typeof a==="number"){H.O(a) +if(b==null||a<0||a>=b.length)return"unexpected-generic-index:"+a +z=b.length +y=z-a-1 +if(y<0||y>=z)return H.w(b,y) +return H.c(b[y])}if('func' in a)return H.ie(a,b) +if('futureOr' in a)return"FutureOr<"+H.af("type" in a?a.type:null,b)+">" +return"unknown-reified-type"}, +ie:function(a,b){var z,y,x,w,v,u,t,s,r,q,p,o,n,m,l,k,j,i,h +z=[P.o] +H.k(b,"$isq",z,"$asq") +if("bounds" in a){y=a.bounds +if(b==null){b=H.K([],z) +x=null}else x=b.length +w=b.length +for(v=y.length,u=v;u>0;--u)C.a.i(b,"T"+(w+u)) +for(t="<",s="",u=0;u "+p}, +cd:function(a,b,c){var z,y,x,w,v,u +H.k(c,"$isq",[P.o],"$asq") +if(a==null)return"" +z=new P.bm("") +for(y=b,x="",w=!0,v="";y" +return v}, +ay: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}, +a_:function(a,b,c,d){var z,y +if(a==null)return!1 +z=H.ac(a) +y=J.l(a) +if(y[b]==null)return!1 +return H.dG(H.ay(y[d],z),null,c,null)}, +k:function(a,b,c,d){var z,y +H.x(b) +H.aK(c) +H.x(d) +if(a==null)return a +z=H.a_(a,b,c,d) +if(z)return a +z=b.substring(3) +y=H.cd(c,0,null) +throw H.h(H.Z(a,function(e,f){return e.replace(/[^<,> ]+/g,function(g){return f[g]||g})}(z+y,init.mangledGlobalNames)))}, +ir:function(a,b,c,d,e){var z +H.x(c) +H.x(d) +H.x(e) +z=H.P(a,null,b,null) +if(!z)H.iU("TypeError: "+H.c(c)+H.ax(a)+H.c(d)+H.ax(b)+H.c(e))}, +iU:function(a){throw H.h(new H.d5(H.x(a)))}, +dG:function(a,b,c,d){var z,y +if(c==null)return!0 +if(a==null){z=c.length +for(y=0;ys)return!1 +if(t+r=0}, +iR:function(a,b,c,d){var z=a.indexOf(b,d) +if(z<0)return a +return H.iS(a,z,z+b.length,c)}, +iS:function(a,b,c,d){var z,y +z=a.substring(0,b) +y=a.substring(c) +return z+d+y}, +eq:{"^":"fH;a,$ti"}, +ep:{"^":"a;$ti", +h:function(a){return P.bg(this)}, +$isaV:1}, +er:{"^":"ep;a,b,c,$ti", +gj:function(a){return this.a}, +bF:function(a){return this.b[H.x(a)]}, +B:function(a,b){var z,y,x,w,v +z=H.f(this,1) +H.b(b,{func:1,ret:-1,args:[H.f(this,0),z]}) +y=this.c +for(x=y.length,w=0;w=z.length)return H.w(z,w) +x.push(z[w])}x.fixed$length=Array +x.immutable$list=Array +return x}, +gb_:function(){var z,y,x,w,v,u,t,s,r +if(this.c!==0)return C.m +z=this.f +y=z.length +x=this.e +w=x.length-y-this.r +if(y===0)return C.m +v=P.al +u=new H.cC(0,0,[v,null]) +for(t=0;t=z.length)return H.w(z,t) +s=z[t] +r=w+t +if(r<0||r>=x.length)return H.w(x,r) +u.aw(0,new H.bV(s),x[r])}return new H.eq(u,[v,null])}, +$isbI:1}, +fv:{"^":"a;a,b,c,d,e,f,r,0x", +cb:function(a,b){var z=this.d +if(typeof b!=="number")return b.M() +if(b>2,x>>1,(x&1)===1,z[2])}}}, +fk:{"^":"d:27;a,b,c", +$2:function(a,b){var z +H.x(a) +z=this.a +z.b=z.b+"$"+H.c(a) +C.a.i(this.b,a) +C.a.i(this.c,b);++z.a}}, +fE:{"^":"a;a,b,c,d,e,f", +G: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}, +m:{ +Y: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=H.K([],[P.o]) +y=z.indexOf("\\$arguments\\$") +x=z.indexOf("\\$argumentsExpr\\$") +w=z.indexOf("\\$expr\\$") +v=z.indexOf("\\$method\\$") +u=z.indexOf("\\$receiver\\$") +return new H.fE(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)}, +bo:function(a){return function($expr$){var $argumentsExpr$='$arguments$' +try{$expr$.$method$($argumentsExpr$)}catch(z){return z.message}}(a)}, +d0:function(a){return function($expr$){try{$expr$.$method$}catch(z){return z.message}}(a)}}}, +fg:{"^":"D;a,b", +h:function(a){var z=this.b +if(z==null)return"NullError: "+H.c(this.a) +return"NullError: method not found: '"+z+"' on null"}, +m:{ +cK:function(a,b){return new H.fg(a,b==null?null:b.method)}}}, +f3:{"^":"D;a,b,c", +h:function(a){var z,y +z=this.b +if(z==null)return"NoSuchMethodError: "+H.c(this.a) +y=this.c +if(y==null)return"NoSuchMethodError: method not found: '"+z+"' ("+H.c(this.a)+")" +return"NoSuchMethodError: method not found: '"+z+"' on '"+y+"' ("+H.c(this.a)+")"}, +m:{ +bO:function(a,b){var z,y +z=b==null +y=z?null:b.method +return new H.f3(a,y,z?null:b.receiver)}}}, +fG:{"^":"D;a", +h:function(a){var z=this.a +return z.length===0?"Error":"Error: "+z}}, +iV:{"^":"d:3;a", +$1:function(a){if(!!J.l(a).$isD)if(a.$thrownJsError==null)a.$thrownJsError=this.a +return a}}, +du:{"^":"a;a,0b", +h: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}, +$isI:1}, +d:{"^":"a;", +h:function(a){return"Closure '"+H.aD(this).trim()+"'"}, +gbc:function(){return this}, +$isaA:1, +gbc:function(){return this}}, +cU:{"^":"d;"}, +fz:{"^":"cU;", +h:function(a){var z=this.$static_name +if(z==null)return"Closure of unknown static method" +return"Closure '"+z+"'"}}, +bB:{"^":"cU;a,b,c,d", +A:function(a,b){if(b==null)return!1 +if(this===b)return!0 +if(!(b instanceof H.bB))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.ak(this.a) +else y=typeof z!=="object"?J.V(z):H.ak(z) +return(y^H.ak(this.b))>>>0}, +h:function(a){var z=this.c +if(z==null)z=this.a +return"Closure '"+H.c(this.d)+"' of "+("Instance of '"+H.aD(z)+"'")}, +m:{ +bC:function(a){return a.a}, +cm:function(a){return a.c}, +b8:function(a){var z,y,x,w,v +z=new H.bB("self","target","receiver","name") +y=J.aR(Object.getOwnPropertyNames(z)) +for(x=y.length,w=0;w=0}, +q:function(a,b){var z,y,x,w +if(typeof b==="string"){z=this.b +if(z==null)return +y=this.V(z,b) +x=y==null?null:y.b +return x}else if(typeof b==="number"&&(b&0x3ffffff)===b){w=this.c +if(w==null)return +y=this.V(w,b) +x=y==null?null:y.b +return x}else return this.cf(b)}, +cf:function(a){var z,y,x +z=this.d +if(z==null)return +y=this.a9(z,J.V(a)&0x3ffffff) +x=this.ap(y,a) +if(x<0)return +return y[x].b}, +aw:function(a,b,c){var z,y,x,w,v,u +H.j(b,H.f(this,0)) +H.j(c,H.f(this,1)) +if(typeof b==="string"){z=this.b +if(z==null){z=this.ac() +this.b=z}this.az(z,b,c)}else if(typeof b==="number"&&(b&0x3ffffff)===b){y=this.c +if(y==null){y=this.ac() +this.c=y}this.az(y,b,c)}else{x=this.d +if(x==null){x=this.ac() +this.d=x}w=J.V(b)&0x3ffffff +v=this.a9(x,w) +if(v==null)this.ag(x,w,[this.a4(b,c)]) +else{u=this.ap(v,b) +if(u>=0)v[u].b=c +else v.push(this.a4(b,c))}}}, +B:function(a,b){var z,y +H.b(b,{func:1,ret:-1,args:[H.f(this,0),H.f(this,1)]}) +z=this.e +y=this.r +for(;z!=null;){b.$2(z.a,z.b) +if(y!==this.r)throw H.h(P.ah(this)) +z=z.c}}, +az:function(a,b,c){var z +H.j(b,H.f(this,0)) +H.j(c,H.f(this,1)) +z=this.V(a,b) +if(z==null)this.ag(a,b,this.a4(b,c)) +else z.b=c}, +bq:function(){this.r=this.r+1&67108863}, +a4:function(a,b){var z,y +z=new H.f4(H.j(a,H.f(this,0)),H.j(b,H.f(this,1))) +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.bq() +return z}, +ap:function(a,b){var z,y +if(a==null)return-1 +z=a.length +for(y=0;y",z) +this.bD(z,"") +return z}, +$iscE:1}, +f4:{"^":"a;a,b,0c,0d"}, +f5:{"^":"bG;a,$ti", +gj:function(a){return this.a.a}, +gD:function(a){var z,y +z=this.a +y=new H.f6(z,z.r,this.$ti) +y.c=z.e +return y}}, +f6:{"^":"a;a,b,0c,0d,$ti", +gw:function(){return this.d}, +u:function(){var z=this.a +if(this.b!==z.r)throw H.h(P.ah(z)) +else{z=this.c +if(z==null){this.d=null +return!1}else{this.d=z.a +this.c=z.c +return!0}}}}, +iC:{"^":"d:3;a", +$1:function(a){return this.a(a)}}, +iD:{"^":"d:20;a", +$2:function(a,b){return this.a(a,b)}}, +iE:{"^":"d:31;a", +$1:function(a){return this.a(H.x(a))}}, +f1:{"^":"a;a,b,0c,0d", +h:function(a){return"RegExp/"+this.a+"/"}, +$iscM:1, +m:{ +f2:function(a,b,c,d){var z,y,x,w +z=b?"m":"" +y=c?"":"i" +x=d?"g":"" +w=function(e,f){try{return new RegExp(e,f)}catch(v){return v}}(a,z+y+x) +if(w instanceof RegExp)return w +throw H.h(new P.eP("Illegal RegExp pattern ("+String(w)+")",a,null))}}}}],["","",,H,{"^":"", +ix:function(a){return J.eV(a?Object.keys(a):[],null)}}],["","",,H,{"^":"", +ab:function(a,b,c){if(a>>>0!==a||a>=c)throw H.h(H.aZ(b,a))}, +fd:{"^":"r;",$isd6:1,"%":"DataView;ArrayBufferView;bR|dq|dr|fc|ds|dt|a9"}, +bR:{"^":"fd;", +gj:function(a){return a.length}, +$isa0:1, +$asa0:I.ca}, +fc:{"^":"dr;", +q:function(a,b){H.ab(b,a,a.length) +return a[b]}, +$asbc:function(){return[P.b_]}, +$asA:function(){return[P.b_]}, +$isv:1, +$asv:function(){return[P.b_]}, +$isq:1, +$asq:function(){return[P.b_]}, +"%":"Float32Array|Float64Array"}, +a9:{"^":"dt;", +$asbc:function(){return[P.ae]}, +$asA:function(){return[P.ae]}, +$isv:1, +$asv:function(){return[P.ae]}, +$isq:1, +$asq:function(){return[P.ae]}}, +jv:{"^":"a9;", +q:function(a,b){H.ab(b,a,a.length) +return a[b]}, +"%":"Int16Array"}, +jw:{"^":"a9;", +q:function(a,b){H.ab(b,a,a.length) +return a[b]}, +"%":"Int32Array"}, +jx:{"^":"a9;", +q:function(a,b){H.ab(b,a,a.length) +return a[b]}, +"%":"Int8Array"}, +jy:{"^":"a9;", +q:function(a,b){H.ab(b,a,a.length) +return a[b]}, +"%":"Uint16Array"}, +jz:{"^":"a9;", +q:function(a,b){H.ab(b,a,a.length) +return a[b]}, +"%":"Uint32Array"}, +jA:{"^":"a9;", +gj:function(a){return a.length}, +q:function(a,b){H.ab(b,a,a.length) +return a[b]}, +"%":"CanvasPixelArray|Uint8ClampedArray"}, +jB:{"^":"a9;", +gj:function(a){return a.length}, +q:function(a,b){H.ab(b,a,a.length) +return a[b]}, +"%":";Uint8Array"}, +dq:{"^":"bR+A;"}, +dr:{"^":"dq+bc;"}, +ds:{"^":"bR+A;"}, +dt:{"^":"ds+bc;"}}],["","",,P,{"^":"", +fK:function(){var z,y,x +z={} +if(self.scheduleImmediate!=null)return P.is() +if(self.MutationObserver!=null&&self.document!=null){y=self.document.createElement("div") +x=self.document.createElement("span") +z.a=null +new self.MutationObserver(H.av(new P.fM(z),1)).observe(y,{childList:true}) +return new P.fL(z,y,x)}else if(self.setImmediate!=null)return P.it() +return P.iu()}, +jN:[function(a){self.scheduleImmediate(H.av(new P.fN(H.b(a,{func:1,ret:-1})),0))},"$1","is",4,0,7], +jO:[function(a){self.setImmediate(H.av(new P.fO(H.b(a,{func:1,ret:-1})),0))},"$1","it",4,0,7], +jP:[function(a){P.bW(C.i,H.b(a,{func:1,ret:-1}))},"$1","iu",4,0,7], +bW:function(a,b){var z +H.b(b,{func:1,ret:-1}) +z=C.e.Z(a.a,1000) +return P.hT(z<0?0:z,b)}, +eQ:function(a,b){var z +H.b(a,{func:1,ret:{futureOr:1,type:b}}) +z=new P.L(0,$.p,[b]) +P.fD(C.i,new P.eR(z,a)) +return z}, +i8:function(a,b,c){var z=$.p +H.e(c,"$isI") +z.toString +a.U(b,c)}, +ij:function(a,b){if(H.aw(a,{func:1,args:[P.a,P.I]}))return b.b5(a,null,P.a,P.I) +if(H.aw(a,{func:1,args:[P.a]})){b.toString +return H.b(a,{func:1,ret:null,args:[P.a]})}throw H.h(P.bA(a,"onError","Error handler must accept one Object or one Object and a StackTrace as arguments, and return a a valid result"))}, +ih:function(){var z,y +for(;z=$.as,z!=null;){$.aH=null +y=z.b +$.as=y +if(y==null)$.aG=null +z.a.$0()}}, +jU:[function(){$.c6=!0 +try{P.ih()}finally{$.aH=null +$.c6=!1 +if($.as!=null)$.$get$bY().$1(P.dI())}},"$0","dI",0,0,1], +dB:function(a){var z=new P.da(H.b(a,{func:1,ret:-1})) +if($.as==null){$.aG=z +$.as=z +if(!$.c6)$.$get$bY().$1(P.dI())}else{$.aG.b=z +$.aG=z}}, +im:function(a){var z,y,x +H.b(a,{func:1,ret:-1}) +z=$.as +if(z==null){P.dB(a) +$.aH=$.aG +return}y=new P.da(a) +x=$.aH +if(x==null){y.b=z +$.aH=y +$.as=y}else{y.b=x.b +x.b=y +$.aH=y +if(y.b==null)$.aG=y}}, +dW:function(a){var z,y +z={func:1,ret:-1} +H.b(a,z) +y=$.p +if(C.c===y){P.at(null,null,C.c,a) +return}y.toString +P.at(null,null,y,H.b(y.ah(a),z))}, +dA:function(a){var z,y,x,w +H.b(a,{func:1}) +if(a==null)return +try{a.$0()}catch(x){z=H.S(x) +y=H.ad(x) +w=$.p +w.toString +P.aI(null,null,w,z,H.e(y,"$isI"))}}, +jS:[function(a){},"$1","iv",4,0,32], +ii:[function(a,b){var z=$.p +z.toString +P.aI(null,null,z,a,b)},function(a){return P.ii(a,null)},"$2","$1","iw",4,2,10], +jT:[function(){},"$0","dH",0,0,1], +fD:function(a,b){var z,y +z={func:1,ret:-1} +H.b(b,z) +y=$.p +if(y===C.c){y.toString +return P.bW(a,b)}return P.bW(a,H.b(y.ah(b),z))}, +aI:function(a,b,c,d,e){var z={} +z.a=d +P.im(new P.ik(z,e))}, +dy:function(a,b,c,d,e){var z,y +H.b(d,{func:1,ret:e}) +y=$.p +if(y===c)return d.$0() +$.p=c +z=y +try{y=d.$0() +return y}finally{$.p=z}}, +dz:function(a,b,c,d,e,f,g){var z,y +H.b(d,{func:1,ret:f,args:[g]}) +H.j(e,g) +y=$.p +if(y===c)return d.$1(e) +$.p=c +z=y +try{y=d.$1(e) +return y}finally{$.p=z}}, +il:function(a,b,c,d,e,f,g,h,i){var z,y +H.b(d,{func:1,ret:g,args:[h,i]}) +H.j(e,h) +H.j(f,i) +y=$.p +if(y===c)return d.$2(e,f) +$.p=c +z=y +try{y=d.$2(e,f) +return y}finally{$.p=z}}, +at:function(a,b,c,d){var z +H.b(d,{func:1,ret:-1}) +z=C.c!==c +if(z){if(z){c.toString +z=!1}else z=!0 +d=!z?c.ah(d):c.c7(d,-1)}P.dB(d)}, +fM:{"^":"d:9;a", +$1:[function(a){var z,y +z=this.a +y=z.a +z.a=null +y.$0()},null,null,4,0,null,0,"call"]}, +fL:{"^":"d:33;a,b,c", +$1:function(a){var z,y +this.a.a=H.b(a,{func:1,ret:-1}) +z=this.b +y=this.c +z.firstChild?z.removeChild(y):z.appendChild(y)}}, +fN:{"^":"d:0;a", +$0:[function(){this.a.$0()},null,null,0,0,null,"call"]}, +fO:{"^":"d:0;a", +$0:[function(){this.a.$0()},null,null,0,0,null,"call"]}, +hS:{"^":"a;a,0b,c", +bp:function(a,b){if(self.setTimeout!=null)this.b=self.setTimeout(H.av(new P.hU(this,b),0),a) +else throw H.h(P.a3("`setTimeout()` not found."))}, +m:{ +hT:function(a,b){var z=new P.hS(!0,0) +z.bp(a,b) +return z}}}, +hU:{"^":"d:1;a,b", +$0:[function(){var z=this.a +z.b=null +z.c=1 +this.b.$0()},null,null,0,0,null,"call"]}, +fQ:{"^":"dd;a,$ti"}, +am:{"^":"fS;dx,0dy,0fr,x,0a,0b,0c,d,e,0f,0r,$ti", +ae:function(){}, +af:function(){}}, +dc:{"^":"a;N:c<,$ti", +gab:function(){return this.c<4}, +aO:function(a){var z,y +H.k(a,"$isam",this.$ti,"$asam") +z=a.fr +y=a.dy +if(z==null)this.d=y +else z.dy=y +if(y==null)this.e=z +else y.fr=z +a.fr=a +a.dy=a}, +c_:function(a,b,c,d){var z,y,x,w,v,u +z=H.f(this,0) +H.b(a,{func:1,ret:-1,args:[z]}) +H.b(c,{func:1,ret:-1}) +if((this.c&4)!==0){if(c==null)c=P.dH() +z=new P.fX($.p,0,c,this.$ti) +z.bW() +return z}y=$.p +x=d?1:0 +w=this.$ti +v=new P.am(0,this,y,x,w) +v.bo(a,b,c,d,z) +v.fr=v +v.dy=v +H.k(v,"$isam",w,"$asam") +v.dx=this.c&1 +u=this.e +this.e=v +v.dy=null +v.fr=u +if(u==null)this.d=v +else u.dy=v +if(this.d===v)P.dA(this.a) +return v}, +bQ:function(a){var z=this.$ti +a=H.k(H.k(a,"$isF",z,"$asF"),"$isam",z,"$asam") +if(a.dy===a)return +z=a.dx +if((z&2)!==0)a.dx=z|4 +else{this.aO(a) +if((this.c&2)===0&&this.d==null)this.a5()}return}, +aA:["bm",function(){if((this.c&4)!==0)return new P.bk("Cannot add new events after calling close") +return new P.bk("Cannot add new events while doing an addStream")}], +i:function(a,b){H.j(b,H.f(this,0)) +if(!this.gab())throw H.h(this.aA()) +this.Y(b)}, +bG:function(a){var z,y,x,w +H.b(a,{func:1,ret:-1,args:[[P.a4,H.f(this,0)]]}) +z=this.c +if((z&2)!==0)throw H.h(P.bU("Cannot fire new event. Controller is already firing an event")) +y=this.d +if(y==null)return +x=z&1 +this.c=z^3 +for(;y!=null;){z=y.dx +if((z&1)===x){y.dx=z|2 +a.$1(y) +z=y.dx^=1 +w=y.dy +if((z&4)!==0)this.aO(y) +y.dx&=4294967293 +y=w}else y=y.dy}this.c&=4294967293 +if(this.d==null)this.a5()}, +a5:function(){if((this.c&4)!==0&&this.r.a===0)this.r.bv(null) +P.dA(this.b)}, +$isao:1}, +hP:{"^":"dc;a,b,c,0d,0e,0f,0r,$ti", +gab:function(){return P.dc.prototype.gab.call(this)&&(this.c&2)===0}, +aA:function(){if((this.c&2)!==0)return new P.bk("Cannot fire new event. Controller is already firing an event") +return this.bm()}, +Y:function(a){var z +H.j(a,H.f(this,0)) +z=this.d +if(z==null)return +if(z===this.e){this.c|=2 +z.aC(a) +this.c&=4294967293 +if(this.d==null)this.a5() +return}this.bG(new P.hQ(this,a))}}, +hQ:{"^":"d;a,b", +$1:function(a){H.k(a,"$isa4",[H.f(this.a,0)],"$asa4").aC(this.b)}, +$S:function(){return{func:1,ret:P.m,args:[[P.a4,H.f(this.a,0)]]}}}, +eR:{"^":"d:0;a,b", +$0:function(){var z,y,x +try{this.a.T(this.b.$0())}catch(x){z=H.S(x) +y=H.ad(x) +P.i8(this.a,z,y)}}}, +fR:{"^":"a;$ti"}, +hR:{"^":"fR;a,$ti"}, +aq:{"^":"a;0a,b,c,d,e,$ti", +ck:function(a){if(this.c!==6)return!0 +return this.b.b.at(H.b(this.d,{func:1,ret:P.aY,args:[P.a]}),a.a,P.aY,P.a)}, +cc:function(a){var z,y,x,w +z=this.e +y=P.a +x={futureOr:1,type:H.f(this,1)} +w=this.b.b +if(H.aw(z,{func:1,args:[P.a,P.I]}))return H.b0(w.ct(z,a.a,a.b,null,y,P.I),x) +else return H.b0(w.at(H.b(z,{func:1,args:[P.a]}),a.a,null,y),x)}}, +L:{"^":"a;N:a<,b,0bV:c<,$ti", +bb:function(a,b,c){var z,y,x,w +z=H.f(this,0) +H.b(a,{func:1,ret:{futureOr:1,type:c},args:[z]}) +y=$.p +if(y!==C.c){y.toString +H.b(a,{func:1,ret:{futureOr:1,type:c},args:[z]}) +if(b!=null)b=P.ij(b,y)}H.b(a,{func:1,ret:{futureOr:1,type:c},args:[z]}) +x=new P.L(0,$.p,[c]) +w=b==null?1:3 +this.aB(new P.aq(x,w,a,b,[z,c])) +return x}, +ba:function(a,b){return this.bb(a,null,b)}, +bY:function(a){H.j(a,H.f(this,0)) +this.a=4 +this.c=a}, +aB:function(a){var z,y +z=this.a +if(z<=1){a.a=H.e(this.c,"$isaq") +this.c=a}else{if(z===2){y=H.e(this.c,"$isL") +z=y.a +if(z<4){y.aB(a) +return}this.a=z +this.c=y.c}z=this.b +z.toString +P.at(null,null,z,H.b(new P.ha(this,a),{func:1,ret:-1}))}}, +aL:function(a){var z,y,x,w,v,u +z={} +z.a=a +if(a==null)return +y=this.a +if(y<=1){x=H.e(this.c,"$isaq") +this.c=a +if(x!=null){for(w=a;v=w.a,v!=null;w=v);w.a=x}}else{if(y===2){u=H.e(this.c,"$isL") +y=u.a +if(y<4){u.aL(a) +return}this.a=y +this.c=u.c}z.a=this.X(a) +y=this.b +y.toString +P.at(null,null,y,H.b(new P.hg(z,this),{func:1,ret:-1}))}}, +W:function(){var z=H.e(this.c,"$isaq") +this.c=null +return this.X(z)}, +X:function(a){var z,y,x +for(z=a,y=null;z!=null;y=z,z=x){x=z.a +z.a=y}return y}, +T:function(a){var z,y,x,w +z=H.f(this,0) +H.b0(a,{futureOr:1,type:z}) +y=this.$ti +x=H.a_(a,"$isX",y,"$asX") +if(x){z=H.a_(a,"$isL",y,null) +if(z)P.br(a,this) +else P.dk(a,this)}else{w=this.W() +H.j(a,z) +this.a=4 +this.c=a +P.ar(this,w)}}, +U:[function(a,b){var z +H.e(b,"$isI") +z=this.W() +this.a=8 +this.c=new P.Q(a,b) +P.ar(this,z)},function(a){return this.U(a,null)},"cv","$2","$1","gbB",4,2,10,1,2,3], +bv:function(a){var z +H.b0(a,{futureOr:1,type:H.f(this,0)}) +z=H.a_(a,"$isX",this.$ti,"$asX") +if(z){this.bx(a) +return}this.a=1 +z=this.b +z.toString +P.at(null,null,z,H.b(new P.hb(this,a),{func:1,ret:-1}))}, +bx:function(a){var z=this.$ti +H.k(a,"$isX",z,"$asX") +z=H.a_(a,"$isL",z,null) +if(z){if(a.a===8){this.a=1 +z=this.b +z.toString +P.at(null,null,z,H.b(new P.hf(this,a),{func:1,ret:-1}))}else P.br(a,this) +return}P.dk(a,this)}, +$isX:1, +m:{ +dk:function(a,b){var z,y,x +b.a=1 +try{a.bb(new P.hc(b),new P.hd(b),null)}catch(x){z=H.S(x) +y=H.ad(x) +P.dW(new P.he(b,z,y))}}, +br:function(a,b){var z,y +for(;z=a.a,z===2;)a=H.e(a.c,"$isL") +if(z>=4){y=b.W() +b.a=a.a +b.c=a.c +P.ar(b,y)}else{y=H.e(b.c,"$isaq") +b.a=2 +b.c=a +a.aL(y)}}, +ar:function(a,b){var z,y,x,w,v,u,t,s,r,q,p,o,n,m +z={} +z.a=a +for(y=a;!0;){x={} +w=y.a===8 +if(b==null){if(w){v=H.e(y.c,"$isQ") +y=y.b +u=v.a +t=v.b +y.toString +P.aI(null,null,y,u,t)}return}for(;s=b.a,s!=null;b=s){b.a=null +P.ar(z.a,b)}y=z.a +r=y.c +x.a=w +x.b=r +u=!w +if(u){t=b.c +t=(t&1)!==0||t===8}else t=!0 +if(t){t=b.b +q=t.b +if(w){p=y.b +p.toString +p=p==null?q==null:p===q +if(!p)q.toString +else p=!0 +p=!p}else p=!1 +if(p){H.e(r,"$isQ") +y=y.b +u=r.a +t=r.b +y.toString +P.aI(null,null,y,u,t) +return}o=$.p +if(o==null?q!=null:o!==q)$.p=q +else o=null +y=b.c +if(y===8)new P.hj(z,x,b,w).$0() +else if(u){if((y&1)!==0)new P.hi(x,b,r).$0()}else if((y&2)!==0)new P.hh(z,x,b).$0() +if(o!=null)$.p=o +y=x.b +if(!!J.l(y).$isX){if(y.a>=4){n=H.e(t.c,"$isaq") +t.c=null +b=t.X(n) +t.a=y.a +t.c=y.c +z.a=y +continue}else P.br(y,t) +return}}m=b.b +n=H.e(m.c,"$isaq") +m.c=null +b=m.X(n) +y=x.a +u=x.b +if(!y){H.j(u,H.f(m,0)) +m.a=4 +m.c=u}else{H.e(u,"$isQ") +m.a=8 +m.c=u}z.a=m +y=m}}}}, +ha:{"^":"d:0;a,b", +$0:function(){P.ar(this.a,this.b)}}, +hg:{"^":"d:0;a,b", +$0:function(){P.ar(this.b,this.a.a)}}, +hc:{"^":"d:9;a", +$1:function(a){var z=this.a +z.a=0 +z.T(a)}}, +hd:{"^":"d:23;a", +$2:[function(a,b){this.a.U(a,H.e(b,"$isI"))},function(a){return this.$2(a,null)},"$1",null,null,null,4,2,null,1,2,3,"call"]}, +he:{"^":"d:0;a,b,c", +$0:function(){this.a.U(this.b,this.c)}}, +hb:{"^":"d:0;a,b", +$0:function(){var z,y,x +z=this.a +y=H.j(this.b,H.f(z,0)) +x=z.W() +z.a=4 +z.c=y +P.ar(z,x)}}, +hf:{"^":"d:0;a,b", +$0:function(){P.br(this.b,this.a)}}, +hj:{"^":"d:1;a,b,c,d", +$0:function(){var z,y,x,w,v,u,t +z=null +try{w=this.c +z=w.b.b.b7(H.b(w.d,{func:1}),null)}catch(v){y=H.S(v) +x=H.ad(v) +if(this.d){w=H.e(this.a.a.c,"$isQ").a +u=y +u=w==null?u==null:w===u +w=u}else w=!1 +u=this.b +if(w)u.b=H.e(this.a.a.c,"$isQ") +else u.b=new P.Q(y,x) +u.a=!0 +return}if(!!J.l(z).$isX){if(z instanceof P.L&&z.gN()>=4){if(z.gN()===8){w=this.b +w.b=H.e(z.gbV(),"$isQ") +w.a=!0}return}t=this.a.a +w=this.b +w.b=z.ba(new P.hk(t),null) +w.a=!1}}}, +hk:{"^":"d:25;a", +$1:function(a){return this.a}}, +hi:{"^":"d:1;a,b,c", +$0:function(){var z,y,x,w,v,u,t +try{x=this.b +x.toString +w=H.f(x,0) +v=H.j(this.c,w) +u=H.f(x,1) +this.a.b=x.b.b.at(H.b(x.d,{func:1,ret:{futureOr:1,type:u},args:[w]}),v,{futureOr:1,type:u},w)}catch(t){z=H.S(t) +y=H.ad(t) +x=this.a +x.b=new P.Q(z,y) +x.a=!0}}}, +hh:{"^":"d:1;a,b,c", +$0:function(){var z,y,x,w,v,u,t,s +try{z=H.e(this.a.a.c,"$isQ") +w=this.c +if(w.ck(z)&&w.e!=null){v=this.b +v.b=w.cc(z) +v.a=!1}}catch(u){y=H.S(u) +x=H.ad(u) +w=H.e(this.a.a.c,"$isQ") +v=w.a +t=y +s=this.b +if(v==null?t==null:v===t)s.b=w +else s.b=new P.Q(y,x) +s.a=!0}}}, +da:{"^":"a;a,0b"}, +bl:{"^":"a;$ti", +gj:function(a){var z,y +z={} +y=new P.L(0,$.p,[P.ae]) +z.a=0 +this.ar(new P.fA(z,this),!0,new P.fB(z,y),y.gbB()) +return y}}, +fA:{"^":"d;a,b", +$1:[function(a){H.j(a,H.a5(this.b,"bl",0));++this.a.a},null,null,4,0,null,0,"call"], +$S:function(){return{func:1,ret:P.m,args:[H.a5(this.b,"bl",0)]}}}, +fB:{"^":"d:0;a,b", +$0:[function(){this.b.T(this.a.a)},null,null,0,0,null,"call"]}, +F:{"^":"a;$ti"}, +dd:{"^":"hO;a,$ti", +gt:function(a){return(H.ak(this.a)^892482866)>>>0}, +A:function(a,b){if(b==null)return!1 +if(this===b)return!0 +if(!(b instanceof P.dd))return!1 +return b.a===this.a}}, +fS:{"^":"a4;$ti", +aK:function(){return this.x.bQ(this)}, +ae:function(){H.k(this,"$isF",[H.f(this.x,0)],"$asF")}, +af:function(){H.k(this,"$isF",[H.f(this.x,0)],"$asF")}}, +a4:{"^":"a;N:e<,$ti", +bo:function(a,b,c,d,e){var z,y,x,w,v +z=H.a5(this,"a4",0) +H.b(a,{func:1,ret:-1,args:[z]}) +y=a==null?P.iv():a +x=this.d +x.toString +this.a=H.b(y,{func:1,ret:null,args:[z]}) +w=b==null?P.iw():b +if(H.aw(w,{func:1,ret:-1,args:[P.a,P.I]}))this.b=x.b5(w,null,P.a,P.I) +else if(H.aw(w,{func:1,ret:-1,args:[P.a]}))this.b=H.b(w,{func:1,ret:null,args:[P.a]}) +else H.U(P.cj("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.")) +H.b(c,{func:1,ret:-1}) +v=c==null?P.dH():c +this.c=H.b(v,{func:1,ret:-1})}, +a0:function(){var z=(this.e&4294967279)>>>0 +this.e=z +if((z&8)===0)this.bw() +z=this.f +return z==null?$.$get$bH():z}, +bw:function(){var z,y +z=(this.e|8)>>>0 +this.e=z +if((z&64)!==0){y=this.r +if(y.a===1)y.a=3}if((z&32)===0)this.r=null +this.f=this.aK()}, +aC:function(a){var z,y +z=H.a5(this,"a4",0) +H.j(a,z) +y=this.e +if((y&8)!==0)return +if(y<32)this.Y(a) +else this.bu(new P.fV(a,[z]))}, +ae:function(){}, +af:function(){}, +aK:function(){return}, +bu:function(a){var z,y +z=[H.a5(this,"a4",0)] +y=H.k(this.r,"$isc1",z,"$asc1") +if(y==null){y=new P.c1(0,z) +this.r=y}z=y.c +if(z==null){y.c=a +y.b=a}else{z.sb0(a) +y.c=a}z=this.e +if((z&64)===0){z=(z|64)>>>0 +this.e=z +if(z<128)this.r.ax(this)}}, +Y:function(a){var z,y +z=H.a5(this,"a4",0) +H.j(a,z) +y=this.e +this.e=(y|32)>>>0 +this.d.b9(this.a,a,z) +this.e=(this.e&4294967263)>>>0 +this.bz((y&4)!==0)}, +bz:function(a){var z,y,x +z=this.e +if((z&64)!==0&&this.r.c==null){z=(z&4294967231)>>>0 +this.e=z +if((z&4)!==0)if(z<128){y=this.r +y=y==null||y.c==null}else y=!1 +else y=!1 +if(y){z=(z&4294967291)>>>0 +this.e=z}}for(;!0;a=x){if((z&8)!==0){this.r=null +return}x=(z&4)!==0 +if(a===x)break +this.e=(z^32)>>>0 +if(x)this.ae() +else this.af() +z=(this.e&4294967263)>>>0 +this.e=z}if((z&64)!==0&&z<128)this.r.ax(this)}, +$isF:1, +$isao:1}, +hO:{"^":"bl;$ti", +ar:function(a,b,c,d){H.b(a,{func:1,ret:-1,args:[H.f(this,0)]}) +H.b(c,{func:1,ret:-1}) +return this.a.c_(H.b(a,{func:1,ret:-1,args:[H.f(this,0)]}),d,c,!0===b)}, +ci:function(a){return this.ar(a,null,null,null)}}, +fW:{"^":"a;0b0:a@,$ti"}, +fV:{"^":"fW;b,0a,$ti", +cp:function(a){H.k(a,"$isao",this.$ti,"$asao").Y(this.b)}}, +hB:{"^":"a;N:a<,$ti", +ax:function(a){var z +H.k(a,"$isao",this.$ti,"$asao") +z=this.a +if(z===1)return +if(z>=1){this.a=1 +return}P.dW(new P.hC(this,a)) +this.a=1}}, +hC:{"^":"d:0;a,b", +$0:function(){var z,y,x,w,v +z=this.a +y=z.a +z.a=0 +if(y===3)return +x=H.k(this.b,"$isao",[H.f(z,0)],"$asao") +w=z.b +v=w.gb0() +z.b=v +if(v==null)z.c=null +w.cp(x)}}, +c1:{"^":"hB;0b,0c,a,$ti"}, +fX:{"^":"a;a,N:b<,c,$ti", +bW:function(){if((this.b&2)!==0)return +var z=this.a +z.toString +P.at(null,null,z,H.b(this.gbX(),{func:1,ret:-1})) +this.b=(this.b|2)>>>0}, +a0:function(){return $.$get$bH()}, +cC:[function(){var z=(this.b&4294967293)>>>0 +this.b=z +if(z>=4)return +this.b=(z|1)>>>0 +z=this.c +if(z!=null)this.a.b8(z)},"$0","gbX",0,0,1], +$isF:1}, +Q:{"^":"a;a,b", +h:function(a){return H.c(this.a)}, +$isD:1}, +i4:{"^":"a;",$isjM:1}, +ik:{"^":"d:0;a,b", +$0:function(){var z,y,x +z=this.a +y=z.a +if(y==null){x=new P.cL() +z.a=x +z=x}else z=y +y=this.b +if(y==null)throw H.h(z) +x=H.h(z) +x.stack=y.h(0) +throw x}}, +hK:{"^":"i4;", +b8:function(a){var z,y,x +H.b(a,{func:1,ret:-1}) +try{if(C.c===$.p){a.$0() +return}P.dy(null,null,this,a,-1)}catch(x){z=H.S(x) +y=H.ad(x) +P.aI(null,null,this,z,H.e(y,"$isI"))}}, +b9:function(a,b,c){var z,y,x +H.b(a,{func:1,ret:-1,args:[c]}) +H.j(b,c) +try{if(C.c===$.p){a.$1(b) +return}P.dz(null,null,this,a,b,-1,c)}catch(x){z=H.S(x) +y=H.ad(x) +P.aI(null,null,this,z,H.e(y,"$isI"))}}, +c7:function(a,b){return new P.hM(this,H.b(a,{func:1,ret:b}),b)}, +ah:function(a){return new P.hL(this,H.b(a,{func:1,ret:-1}))}, +c8:function(a,b){return new P.hN(this,H.b(a,{func:1,ret:-1,args:[b]}),b)}, +b7:function(a,b){H.b(a,{func:1,ret:b}) +if($.p===C.c)return a.$0() +return P.dy(null,null,this,a,b)}, +at:function(a,b,c,d){H.b(a,{func:1,ret:c,args:[d]}) +H.j(b,d) +if($.p===C.c)return a.$1(b) +return P.dz(null,null,this,a,b,c,d)}, +ct:function(a,b,c,d,e,f){H.b(a,{func:1,ret:d,args:[e,f]}) +H.j(b,e) +H.j(c,f) +if($.p===C.c)return a.$2(b,c) +return P.il(null,null,this,a,b,c,d,e,f)}, +b5:function(a,b,c,d){return H.b(a,{func:1,ret:b,args:[c,d]})}}, +hM:{"^":"d;a,b,c", +$0:function(){return this.a.b7(this.b,this.c)}, +$S:function(){return{func:1,ret:this.c}}}, +hL:{"^":"d:1;a,b", +$0:function(){return this.a.b8(this.b)}}, +hN:{"^":"d;a,b,c", +$1:[function(a){var z=this.c +return this.a.b9(this.b,H.j(a,z),z)},null,null,4,0,null,12,"call"], +$S:function(){return{func:1,ret:-1,args:[this.c]}}}}],["","",,P,{"^":"", +f7:function(a,b,c){H.aK(a) +return H.k(H.iy(a,new H.cC(0,0,[b,c])),"$iscE",[b,c],"$ascE")}, +cF:function(a,b,c,d){return new P.hp(0,0,[d])}, +eU:function(a,b,c){var z,y +if(P.c7(a)){if(b==="("&&c===")")return"(...)" +return b+"..."+c}z=[] +y=$.$get$aJ() +C.a.i(y,a) +try{P.ig(a,z)}finally{if(0>=y.length)return H.w(y,-1) +y.pop()}y=P.cT(b,H.iK(z,"$isv"),", ")+c +return y.charCodeAt(0)==0?y:y}, +bJ:function(a,b,c){var z,y,x +if(P.c7(a))return b+"..."+c +z=new P.bm(b) +y=$.$get$aJ() +C.a.i(y,a) +try{x=z +x.sE(P.cT(x.gE(),a,", "))}finally{if(0>=y.length)return H.w(y,-1) +y.pop()}y=z +y.sE(y.gE()+c) +y=z.gE() +return y.charCodeAt(0)==0?y:y}, +c7:function(a){var z,y +for(z=0;y=$.$get$aJ(),z=b.length)return H.w(b,-1) +v=b.pop() +if(0>=b.length)return H.w(b,-1) +u=b.pop()}else{t=z.gw();++x +if(!z.u()){if(x<=4){C.a.i(b,H.c(t)) +return}v=H.c(t) +if(0>=b.length)return H.w(b,-1) +u=b.pop() +y+=v.length+2}else{s=z.gw();++x +for(;z.u();t=s,s=r){r=z.gw();++x +if(x>100){while(!0){if(!(y>75&&x>3))break +if(0>=b.length)return H.w(b,-1) +y-=b.pop().length+2;--x}C.a.i(b,"...") +return}}u=H.c(t) +v=H.c(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.w(b,-1) +y-=b.pop().length+2 +if(q==null){y+=5 +q="..."}}if(q!=null)C.a.i(b,q) +C.a.i(b,u) +C.a.i(b,v)}, +bg:function(a){var z,y,x +z={} +if(P.c7(a))return"{...}" +y=new P.bm("") +try{C.a.i($.$get$aJ(),a) +x=y +x.sE(x.gE()+"{") +z.a=!0 +a.B(0,new P.f9(z,y)) +z=y +z.sE(z.gE()+"}")}finally{z=$.$get$aJ() +if(0>=z.length)return H.w(z,-1) +z.pop()}z=y.gE() +return z.charCodeAt(0)==0?z:z}, +hp:{"^":"hl;a,0b,0c,0d,0e,0f,r,$ti", +gD:function(a){return P.dn(this,this.r,H.f(this,0))}, +gj:function(a){return this.a}, +i:function(a,b){var z,y +H.j(b,H.f(this,0)) +if(typeof b==="string"&&b!=="__proto__"){z=this.b +if(z==null){z=P.dp() +this.b=z}return this.bt(z,b)}else{y=this.br(b) +return y}}, +br:function(a){var z,y,x +H.j(a,H.f(this,0)) +z=this.d +if(z==null){z=P.dp() +this.d=z}y=this.aE(a) +x=z[y] +if(x==null)z[y]=[this.ad(a)] +else{if(this.aG(x,a)>=0)return!1 +x.push(this.ad(a))}return!0}, +L:function(a,b){if(typeof b==="string"&&b!=="__proto__")return this.aN(this.b,b) +else if(typeof b==="number"&&(b&0x3ffffff)===b)return this.aN(this.c,b) +else return this.bR(b)}, +bR:function(a){var z,y,x +z=this.d +if(z==null)return!1 +y=this.bH(z,a) +x=this.aG(y,a) +if(x<0)return!1 +this.aQ(y.splice(x,1)[0]) +return!0}, +bt:function(a,b){H.j(b,H.f(this,0)) +if(H.e(a[b],"$isc0")!=null)return!1 +a[b]=this.ad(b) +return!0}, +aN:function(a,b){var z +if(a==null)return!1 +z=H.e(a[b],"$isc0") +if(z==null)return!1 +this.aQ(z) +delete a[b] +return!0}, +aJ:function(){this.r=this.r+1&67108863}, +ad:function(a){var z,y +z=new P.c0(H.j(a,H.f(this,0))) +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.aJ() +return z}, +aQ:function(a){var z,y +z=a.c +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.aJ()}, +aE:function(a){return J.V(a)&0x3ffffff}, +bH:function(a,b){return a[this.aE(b)]}, +aG:function(a,b){var z,y,x +if(a==null)return-1 +z=a.length +for(y=0;y"]=z +delete z[""] +return z}}}, +c0:{"^":"a;a,0b,0c"}, +hq:{"^":"a;a,b,0c,0d,$ti", +gw:function(){return this.d}, +u:function(){var z=this.a +if(this.b!==z.r)throw H.h(P.ah(z)) +else{z=this.c +if(z==null){this.d=null +return!1}else{this.d=H.j(z.a,H.f(this,0)) +this.c=z.b +return!0}}}, +m:{ +dn:function(a,b,c){var z=new P.hq(a,b,[c]) +z.c=a.e +return z}}}, +hl:{"^":"cQ;"}, +f8:{"^":"hr;",$isv:1,$isq:1}, +A:{"^":"a;$ti", +gD:function(a){return new H.cG(a,this.gj(a),0,[H.bw(this,a,"A",0)])}, +F:function(a,b){return this.q(a,b)}, +B:function(a,b){var z,y +H.b(b,{func:1,ret:-1,args:[H.bw(this,a,"A",0)]}) +z=this.gj(a) +for(y=0;y=1000)return""+a +if(z>=100)return y+"0"+z +if(z>=10)return y+"00"+z +return y+"000"+z}, +ex:function(a){if(a>=100)return""+a +if(a>=10)return"0"+a +return"00"+a}, +aO:function(a){if(a>=10)return""+a +return"0"+a}}}, +b_:{"^":"n;"}, +"+double":0, +ba:{"^":"a;a", +M:function(a,b){return C.e.M(this.a,H.e(b,"$isba").a)}, +A:function(a,b){if(b==null)return!1 +if(!(b instanceof P.ba))return!1 +return this.a===b.a}, +gt:function(a){return this.a&0x1FFFFFFF}, +h:function(a){var z,y,x,w,v +z=new P.eJ() +y=this.a +if(y<0)return"-"+new P.ba(0-y).h(0) +x=z.$1(C.e.Z(y,6e7)%60) +w=z.$1(C.e.Z(y,1e6)%60) +v=new P.eI().$1(y%1e6) +return""+C.e.Z(y,36e8)+":"+H.c(x)+":"+H.c(w)+"."+H.c(v)}}, +eI:{"^":"d:11;", +$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}}, +eJ:{"^":"d:11;", +$1:function(a){if(a>=10)return""+a +return"0"+a}}, +D:{"^":"a;"}, +cL:{"^":"D;", +h:function(a){return"Throw of null."}}, +ag:{"^":"D;a,b,c,d", +ga8:function(){return"Invalid argument"+(!this.a?"(s)":"")}, +ga7:function(){return""}, +h:function(a){var z,y,x,w,v,u +z=this.c +y=z!=null?" ("+z+")":"" +z=this.d +x=z==null?"":": "+H.c(z) +w=this.ga8()+y+x +if(!this.a)return w +v=this.ga7() +u=P.ai(this.b) +return w+v+": "+H.c(u)}, +m:{ +cj:function(a){return new P.ag(!1,null,null,a)}, +bA:function(a,b,c){return new P.ag(!0,a,b,c)}}}, +cO:{"^":"ag;e,f,a,b,c,d", +ga8:function(){return"RangeError"}, +ga7:function(){var z,y,x +z=this.e +if(z==null){z=this.f +y=z!=null?": Not less than or equal to "+H.c(z):""}else{x=this.f +if(x==null)y=": Not greater than or equal to "+H.c(z) +else if(x>z)y=": Not in range "+H.c(z)+".."+H.c(x)+", inclusive" +else y=x,a,b,c,d", +ga8:function(){return"RangeError"}, +ga7:function(){if(J.e_(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.c(z)}, +m:{ +aj:function(a,b,c,d,e){var z=H.O(e!=null?e:J.aN(b)) +return new P.eT(b,z,!0,a,c,"Index out of range")}}}, +fe:{"^":"D;a,b,c,d,e", +h:function(a){var z,y,x,w,v,u,t,s,r,q,p +z={} +y=new P.bm("") +z.a="" +x=this.c +if(x!=null)for(w=x.length,v=0,u="",t="";v78)x=C.d.a2(x,0,75)+"..." +return y+"\n"+x}}, +ae:{"^":"n;"}, +"+int":0, +v:{"^":"a;$ti", +gj:function(a){var z,y +z=this.gD(this) +for(y=0;z.u();)++y +return y}, +F:function(a,b){var z,y,x +if(b<0)H.U(P.aX(b,0,null,"index",null)) +for(z=this.gD(this),y=0;z.u();){x=z.gw() +if(b===y)return x;++y}throw H.h(P.aj(b,this,"index",null,y))}, +h:function(a){return P.eU(this,"(",")")}}, +q:{"^":"a;$ti",$isv:1}, +"+List":0, +m:{"^":"a;", +gt:function(a){return P.a.prototype.gt.call(this,this)}, +h:function(a){return"null"}}, +"+Null":0, +n:{"^":"a;"}, +"+num":0, +a:{"^":";", +A:function(a,b){return this===b}, +gt:function(a){return H.ak(this)}, +h:["bl",function(a){return"Instance of '"+H.aD(this)+"'"}], +as:function(a,b){H.e(b,"$isbI") +throw H.h(P.cJ(this,b.gaZ(),b.gb4(),b.gb_(),null))}, +toString:function(){return this.h(this)}}, +a2:{"^":"bG;$ti"}, +I:{"^":"a;"}, +o:{"^":"a;",$iscM:1}, +"+String":0, +bm:{"^":"a;E:a@", +gj:function(a){return this.a.length}, +h:function(a){var z=this.a +return z.charCodeAt(0)==0?z:z}, +m:{ +cT:function(a,b,c){var z=J.b4(b) +if(!z.u())return a +if(c.length===0){do a+=H.c(z.gw()) +while(z.u())}else{a+=H.c(z.gw()) +for(;z.u();)a=a+c+H.c(z.gw())}return a}}}, +al:{"^":"a;"}}],["","",,W,{"^":"", +aC:function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var z +o=window +z=H.e(document.createEvent("MouseEvent"),"$ist") +z.toString +z.initMouseEvent(a,!0,!0,o,i,l,m,f,g,!1,!1,!1,!1,c,W.i9(k)) +return z}, +bs:function(a,b){a=536870911&a+b +a=536870911&a+((524287&a)<<10) +return a^a>>>6}, +dm:function(a,b,c,d){var z,y +z=W.bs(W.bs(W.bs(W.bs(0,a),b),c),d) +y=536870911&z+((67108863&z)<<3) +y^=y>>>11 +return 536870911&y+((16383&y)<<15)}, +ia:function(a){if(a==null)return +return W.c_(a)}, +G:function(a){var z +if(a==null)return +if("postMessage" in a){z=W.c_(a) +if(!!J.l(z).$isa7)return z +return}else return H.e(a,"$isa7")}, +i9:function(a){return a}, +dE:function(a,b){var z +H.b(a,{func:1,ret:-1,args:[b]}) +z=$.p +if(z===C.c)return a +return z.c8(a,b)}, +J:{"^":"u;","%":"HTMLBRElement|HTMLBaseElement|HTMLBodyElement|HTMLContentElement|HTMLDListElement|HTMLDataElement|HTMLDataListElement|HTMLDetailsElement|HTMLDialogElement|HTMLDirectoryElement|HTMLDivElement|HTMLFieldSetElement|HTMLFontElement|HTMLFrameElement|HTMLFrameSetElement|HTMLHRElement|HTMLHeadElement|HTMLHeadingElement|HTMLHtmlElement|HTMLLIElement|HTMLLabelElement|HTMLLegendElement|HTMLLinkElement|HTMLMapElement|HTMLMarqueeElement|HTMLMenuElement|HTMLMetaElement|HTMLMeterElement|HTMLModElement|HTMLOListElement|HTMLOptGroupElement|HTMLOutputElement|HTMLParagraphElement|HTMLParamElement|HTMLPictureElement|HTMLPreElement|HTMLProgressElement|HTMLQuoteElement|HTMLScriptElement|HTMLShadowElement|HTMLSlotElement|HTMLSourceElement|HTMLSpanElement|HTMLStyleElement|HTMLTableCaptionElement|HTMLTableCellElement|HTMLTableColElement|HTMLTableDataCellElement|HTMLTableElement|HTMLTableHeaderCellElement|HTMLTableRowElement|HTMLTableSectionElement|HTMLTemplateElement|HTMLTimeElement|HTMLTitleElement|HTMLTrackElement|HTMLUListElement|HTMLUnknownElement;HTMLElement"}, +iW:{"^":"J;", +h:function(a){return String(a)}, +"%":"HTMLAnchorElement"}, +iX:{"^":"J;", +h:function(a){return String(a)}, +"%":"HTMLAreaElement"}, +ck:{"^":"r;",$isck:1,"%":"Blob|File"}, +bD:{"^":"J;",$isbD:1,"%":"HTMLButtonElement"}, +iY:{"^":"J;0k:height=,0l:width=","%":"HTMLCanvasElement"}, +iZ:{"^":"C;0j:length=","%":"CDATASection|CharacterData|Comment|ProcessingInstruction|Text"}, +et:{"^":"fT;0j:length=", +J:function(a,b){var z=a.getPropertyValue(this.aD(a,b)) +return z==null?"":z}, +S:function(a,b,c,d){var z=this.aD(a,b) +if(c==null)c="" +a.setProperty(z,c,d) +return}, +aD:function(a,b){var z,y +z=$.$get$cq() +y=z[b] +if(typeof y==="string")return y +y=this.c0(a,b) +z[b]=y +return y}, +c0:function(a,b){var z +if(b.replace(/^-ms-/,"ms-").replace(/-([\da-z])/ig,function(c,d){return d.toUpperCase()}) in a)return b +z=P.ey()+b +if(z in a)return z +return b}, +ga_:function(a){return a.bottom}, +gk:function(a){return a.height}, +gO:function(a){return a.left}, +ga1:function(a){return a.right}, +gI:function(a){return a.top}, +gl:function(a){return a.width}, +"%":"CSS2Properties|CSSStyleDeclaration|MSStyleCSSProperties"}, +eu:{"^":"a;", +ga_:function(a){return this.J(a,"bottom")}, +gk:function(a){return this.J(a,"height")}, +gO:function(a){return this.J(a,"left")}, +ga1:function(a){return this.J(a,"right")}, +gI:function(a){return this.J(a,"top")}, +gl:function(a){return this.J(a,"width")}}, +j_:{"^":"r;", +h:function(a){return String(a)}, +"%":"DOMException"}, +eB:{"^":"r;", +h:function(a){return"Rectangle ("+H.c(a.left)+", "+H.c(a.top)+") "+H.c(a.width)+" x "+H.c(a.height)}, +A:function(a,b){var z +if(b==null)return!1 +z=H.a_(b,"$isa1",[P.n],"$asa1") +if(!z)return!1 +z=J.M(b) +return a.left===z.gO(b)&&a.top===z.gI(b)&&a.width===z.gl(b)&&a.height===z.gk(b)}, +gt:function(a){return W.dm(a.left&0x1FFFFFFF,a.top&0x1FFFFFFF,a.width&0x1FFFFFFF,a.height&0x1FFFFFFF)}, +ga_:function(a){return a.bottom}, +gk:function(a){return a.height}, +gO:function(a){return a.left}, +ga1:function(a){return a.right}, +gI:function(a){return a.top}, +gl:function(a){return a.width}, +gn:function(a){return a.x}, +gp:function(a){return a.y}, +$isa1:1, +$asa1:function(){return[P.n]}, +"%":";DOMRectReadOnly"}, +j0:{"^":"r;0j:length=","%":"DOMTokenList"}, +h9:{"^":"f8;a,$ti", +gj:function(a){return this.a.length}, +q:function(a,b){var z=this.a +if(b<0||b>=z.length)return H.w(z,b) +return H.j(z[b],H.f(this,0))}, +$iscy:1}, +u:{"^":"C;", +gc6:function(a){return new W.dj(a)}, +gaV:function(a){return new W.h0(a)}, +h:function(a){return a.localName}, +cj:function(a,b){if(!!a.matches)return a.matches(b) +else if(!!a.webkitMatchesSelector)return a.webkitMatchesSelector(b) +else if(!!a.mozMatchesSelector)return a.mozMatchesSelector(b) +else if(!!a.msMatchesSelector)return a.msMatchesSelector(b) +else if(!!a.oMatchesSelector)return a.oMatchesSelector(b) +else throw H.h(P.a3("Not supported on this platform"))}, +cl:function(a,b){var z=a +do{if(J.e9(z,b))return!0 +z=z.parentElement}while(z!=null) +return!1}, +gb1:function(a){return new W.aa(a,"click",!1,[W.t])}, +gb2:function(a){return new W.aa(a,"mousedown",!1,[W.t])}, +gb3:function(a){return new W.aa(a,"touchstart",!1,[W.R])}, +$isu:1, +"%":";Element"}, +j1:{"^":"J;0k:height=,0l:width=","%":"HTMLEmbedElement"}, +z:{"^":"r;",$isz:1,"%":"AbortPaymentEvent|AnimationEvent|AnimationPlaybackEvent|ApplicationCacheErrorEvent|AudioProcessingEvent|BackgroundFetchClickEvent|BackgroundFetchEvent|BackgroundFetchFailEvent|BackgroundFetchedEvent|BeforeInstallPromptEvent|BeforeUnloadEvent|BlobEvent|CanMakePaymentEvent|ClipboardEvent|CloseEvent|CustomEvent|DeviceMotionEvent|DeviceOrientationEvent|ErrorEvent|ExtendableEvent|ExtendableMessageEvent|FetchEvent|FontFaceSetLoadEvent|ForeignFetchEvent|GamepadEvent|HashChangeEvent|IDBVersionChangeEvent|InstallEvent|MIDIConnectionEvent|MIDIMessageEvent|MediaEncryptedEvent|MediaKeyMessageEvent|MediaQueryListEvent|MediaStreamEvent|MediaStreamTrackEvent|MessageEvent|MojoInterfaceRequestEvent|MutationEvent|NotificationEvent|OfflineAudioCompletionEvent|PageTransitionEvent|PaymentRequestEvent|PaymentRequestUpdateEvent|PopStateEvent|PresentationConnectionAvailableEvent|PresentationConnectionCloseEvent|ProgressEvent|PromiseRejectionEvent|PushEvent|RTCDTMFToneChangeEvent|RTCDataChannelEvent|RTCPeerConnectionIceEvent|RTCTrackEvent|ResourceProgressEvent|SecurityPolicyViolationEvent|SensorErrorEvent|SpeechRecognitionError|SpeechRecognitionEvent|SpeechSynthesisEvent|StorageEvent|SyncEvent|TrackEvent|TransitionEvent|USBConnectionEvent|VRDeviceEvent|VRDisplayEvent|VRSessionEvent|WebGLContextEvent|WebKitTransitionEvent;Event|InputEvent"}, +eN:{"^":"a;"}, +eK:{"^":"eN;a", +q:function(a,b){var z=$.$get$cx() +if(z.ca(b.toLowerCase()))if(P.eA())return new W.aa(this.a,z.q(0,b.toLowerCase()),!1,[W.z]) +return new W.aa(this.a,b,!1,[W.z])}}, +a7:{"^":"r;", +aT:["bg",function(a,b,c,d){H.b(c,{func:1,args:[W.z]}) +if(c!=null)this.bs(a,b,c,!1)}], +bs:function(a,b,c,d){return a.addEventListener(b,H.av(H.b(c,{func:1,args:[W.z]}),1),!1)}, +aX:function(a,b){return a.dispatchEvent(b)}, +bS:function(a,b,c,d){return a.removeEventListener(b,H.av(H.b(c,{func:1,args:[W.z]}),1),!1)}, +$isa7:1, +"%":"IDBOpenDBRequest|IDBRequest|IDBVersionChangeRequest|MediaStream|ServiceWorker;EventTarget"}, +jm:{"^":"J;0j:length=","%":"HTMLFormElement"}, +jn:{"^":"J;0k:height=,0l:width=","%":"HTMLIFrameElement"}, +cz:{"^":"r;0k:height=,0l:width=",$iscz:1,"%":"ImageData"}, +jo:{"^":"J;0k:height=,0l:width=","%":"HTMLImageElement"}, +bd:{"^":"J;0k:height=,0l:width=", +bd:function(a,b,c,d){return a.setSelectionRange(b,c,d)}, +ay:function(a,b,c){return a.setSelectionRange(b,c)}, +$isbd:1, +"%":"HTMLInputElement"}, +aT:{"^":"bp;",$isaT:1,"%":"KeyboardEvent"}, +fb:{"^":"J;","%":"HTMLAudioElement;HTMLMediaElement"}, +ju:{"^":"a7;", +aT:function(a,b,c,d){H.b(c,{func:1,args:[W.z]}) +if(b==="message")a.start() +this.bg(a,b,c,!1)}, +"%":"MessagePort"}, +t:{"^":"bp;",$ist:1,"%":"WheelEvent;DragEvent|MouseEvent"}, +C:{"^":"a7;", +cq:function(a){var z=a.parentNode +if(z!=null)z.removeChild(a)}, +h:function(a){var z=a.nodeValue +return z==null?this.bi(a):z}, +$isC:1, +"%":"Document|DocumentFragment|DocumentType|HTMLDocument|ShadowRoot|XMLDocument;Node"}, +jC:{"^":"hy;", +gj:function(a){return a.length}, +q:function(a,b){if(b>>>0!==b||b>=a.length)throw H.h(P.aj(b,a,null,null,null)) +return a[b]}, +F:function(a,b){if(b<0||b>=a.length)return H.w(a,b) +return a[b]}, +$isa0:1, +$asa0:function(){return[W.C]}, +$asA:function(){return[W.C]}, +$isv:1, +$asv:function(){return[W.C]}, +$isq:1, +$asq:function(){return[W.C]}, +$asT:function(){return[W.C]}, +"%":"NodeList|RadioNodeList"}, +jE:{"^":"J;0k:height=,0l:width=","%":"HTMLObjectElement"}, +bS:{"^":"J;",$isbS:1,"%":"HTMLOptionElement"}, +bi:{"^":"t;0k:height=,0l:width=",$isbi:1,"%":"PointerEvent"}, +bT:{"^":"J;0j:length=",$isbT:1,"%":"HTMLSelectElement"}, +bn:{"^":"J;", +bd:function(a,b,c,d){return a.setSelectionRange(b,c,d)}, +ay:function(a,b,c){return a.setSelectionRange(b,c)}, +$isbn:1, +"%":"HTMLTextAreaElement"}, +aE:{"^":"r;",$isaE:1,"%":"Touch"}, +R:{"^":"bp;",$isR:1,"%":"TouchEvent"}, +jJ:{"^":"hW;", +gj:function(a){return a.length}, +q:function(a,b){if(b>>>0!==b||b>=a.length)throw H.h(P.aj(b,a,null,null,null)) +return a[b]}, +F:function(a,b){if(b<0||b>=a.length)return H.w(a,b) +return a[b]}, +$isa0:1, +$asa0:function(){return[W.aE]}, +$asA:function(){return[W.aE]}, +$isv:1, +$asv:function(){return[W.aE]}, +$isq:1, +$asq:function(){return[W.aE]}, +$asT:function(){return[W.aE]}, +"%":"TouchList"}, +bp:{"^":"z;",$isbp:1,"%":"CompositionEvent|FocusEvent|TextEvent;UIEvent"}, +jL:{"^":"fb;0k:height=,0l:width=","%":"HTMLVideoElement"}, +bX:{"^":"a7;", +gc5:function(a){var z,y,x +z=P.n +y=new P.L(0,$.p,[z]) +x=H.b(new W.fJ(new P.hR(y,[z])),{func:1,ret:-1,args:[P.n]}) +this.bE(a) +this.bT(a,W.dE(x,z)) +return y}, +bT:function(a,b){return a.requestAnimationFrame(H.av(H.b(b,{func:1,ret:-1,args:[P.n]}),1))}, +bE:function(a){if(!!(a.requestAnimationFrame&&a.cancelAnimationFrame))return;(function(b){var z=['ms','moz','webkit','o'] +for(var y=0;y>>0!==b||b>=a.length)throw H.h(P.aj(b,a,null,null,null)) +return a[b]}, +F:function(a,b){if(b<0||b>=a.length)return H.w(a,b) +return a[b]}, +$isa0:1, +$asa0:function(){return[W.C]}, +$asA:function(){return[W.C]}, +$isv:1, +$asv:function(){return[W.C]}, +$isq:1, +$asq:function(){return[W.C]}, +$asT:function(){return[W.C]}, +"%":"MozNamedAttrMap|NamedNodeMap"}, +fP:{"^":"cH;", +B:function(a,b){var z,y,x,w,v +H.b(b,{func:1,ret:-1,args:[P.o,P.o]}) +for(z=this.gR(),y=z.length,x=this.a,w=0;w=z.length)return H.w(z,w) +v=H.e(z[w],"$isdb") +if(v.namespaceURI==null)C.a.i(y,v.name)}return y}, +$asbh:function(){return[P.o,P.o]}, +$asaV:function(){return[P.o,P.o]}}, +dj:{"^":"fP;a", +q:function(a,b){return this.a.getAttribute(H.x(b))}, +L:function(a,b){var z,y +z=this.a +y=z.getAttribute(b) +z.removeAttribute(b) +return y}, +gj:function(a){return this.gR().length}}, +h0:{"^":"co;a", +P:function(){var z,y,x,w,v +z=P.cF(null,null,null,P.o) +for(y=this.a.className.split(" "),x=y.length,w=0;w=this.gj(this) +if(z)throw H.h(P.aX(a,0,this.gj(this),null,null))}, +q:function(a,b){var z=C.e.cu(b) +if(b===z)this.by(b) +return H.j(this.bk(0,b),H.f(this,0))}, +gj:function(a){var z=this.a.length +if(typeof z==="number"&&z>>>0===z)return z +throw H.h(P.bU("Bad JsArray length"))}, +$isv:1, +$isq:1}, +ic:{"^":"d:3;", +$1:function(a){var z +H.e(a,"$isaA") +z=function(b,c,d){return function(){return b(c,d,this,Array.prototype.slice.apply(arguments))}}(P.i7,a,!1) +P.c3(z,$.$get$b9(),a) +return z}}, +id:{"^":"d:3;a", +$1:function(a){return new this.a(a)}}, +io:{"^":"d:17;", +$1:function(a){return new P.bN(a)}}, +ip:{"^":"d:18;", +$1:function(a){return new P.bM(a,[null])}}, +iq:{"^":"d:19;", +$1:function(a){return new P.a8(a)}}, +hm:{"^":"a8+A;"}}],["","",,P,{"^":"", +aF:function(a,b){a=536870911&a+b +a=536870911&a+((524287&a)<<10) +return a^a>>>6}, +dl:function(a){a=536870911&a+((67108863&a)<<3) +a^=a>>>11 +return 536870911&a+((16383&a)<<15)}, +i:{"^":"a;n:a>,p:b>,$ti", +h:function(a){return"Point("+H.c(this.a)+", "+H.c(this.b)+")"}, +A:function(a,b){var z,y,x +if(b==null)return!1 +z=H.a_(b,"$isi",[P.n],null) +if(!z)return!1 +z=this.a +y=J.M(b) +x=y.gn(b) +if(z==null?x==null:z===x){z=this.b +y=y.gp(b) +y=z==null?y==null:z===y +z=y}else z=!1 +return z}, +gt:function(a){var z,y +z=J.V(this.a) +y=J.V(this.b) +return P.dl(P.aF(P.aF(0,z),y))}, +H:function(a,b){var z,y,x,w,v +z=this.$ti +H.k(b,"$isi",z,"$asi") +y=this.a +x=b.a +if(typeof y!=="number")return y.H() +if(typeof x!=="number")return H.N(x) +w=H.f(this,0) +x=H.j(y-x,w) +y=this.b +v=b.b +if(typeof y!=="number")return y.H() +if(typeof v!=="number")return H.N(v) +return new P.i(x,H.j(y-v,w),z)}}, +hJ:{"^":"a;$ti", +ga1:function(a){var z,y +z=this.a +y=this.c +if(typeof z!=="number")return z.C() +if(typeof y!=="number")return H.N(y) +return H.j(z+y,H.f(this,0))}, +ga_:function(a){var z,y +z=this.b +y=this.d +if(typeof z!=="number")return z.C() +if(typeof y!=="number")return H.N(y) +return H.j(z+y,H.f(this,0))}, +h:function(a){return"Rectangle ("+H.c(this.a)+", "+H.c(this.b)+") "+H.c(this.c)+" x "+H.c(this.d)}, +A:function(a,b){var z,y,x,w,v +if(b==null)return!1 +z=H.a_(b,"$isa1",[P.n],"$asa1") +if(!z)return!1 +z=this.a +y=J.M(b) +x=y.gO(b) +if(z==null?x==null:z===x){x=this.b +w=y.gI(b) +if(x==null?w==null:x===w){w=this.c +if(typeof z!=="number")return z.C() +if(typeof w!=="number")return H.N(w) +v=H.f(this,0) +if(H.j(z+w,v)===y.ga1(b)){z=this.d +if(typeof x!=="number")return x.C() +if(typeof z!=="number")return H.N(z) +y=H.j(x+z,v)===y.ga_(b) +z=y}else z=!1}else z=!1}else z=!1 +return z}, +gt:function(a){var z,y,x,w,v,u +z=this.a +y=J.V(z) +x=this.b +w=J.V(x) +v=this.c +if(typeof z!=="number")return z.C() +if(typeof v!=="number")return H.N(v) +u=H.f(this,0) +v=H.j(z+v,u) +z=this.d +if(typeof x!=="number")return x.C() +if(typeof z!=="number")return H.N(z) +u=H.j(x+z,u) +return P.dl(P.aF(P.aF(P.aF(P.aF(0,y),w),v&0x1FFFFFFF),u&0x1FFFFFFF))}}, +a1:{"^":"hJ;O:a>,I:b>,l:c>,k:d>,$ti",m:{ +fu:function(a,b,c,d,e){var z,y +if(typeof c!=="number")return c.M() +if(c<0)z=-c*0 +else z=c +H.j(z,e) +if(typeof d!=="number")return d.M() +if(d<0)y=-d*0 +else y=d +return new P.a1(a,b,z,H.j(y,e),[e])}}}}],["","",,P,{"^":"",j2:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFEBlendElement"},j3:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFEColorMatrixElement"},j4:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFEComponentTransferElement"},j5:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFECompositeElement"},j6:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFEConvolveMatrixElement"},j7:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFEDiffuseLightingElement"},j8:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFEDisplacementMapElement"},j9:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFEFloodElement"},ja:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFEGaussianBlurElement"},jb:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFEImageElement"},jc:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFEMergeElement"},jd:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFEMorphologyElement"},je:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFEOffsetElement"},jf:{"^":"y;0n:x=,0p:y=","%":"SVGFEPointLightElement"},jg:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFESpecularLightingElement"},jh:{"^":"y;0n:x=,0p:y=","%":"SVGFESpotLightElement"},ji:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFETileElement"},jj:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFETurbulenceElement"},jk:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGFilterElement"},jl:{"^":"aB;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGForeignObjectElement"},eS:{"^":"aB;","%":"SVGCircleElement|SVGEllipseElement|SVGLineElement|SVGPathElement|SVGPolygonElement|SVGPolylineElement;SVGGeometryElement"},aB:{"^":"y;","%":"SVGAElement|SVGClipPathElement|SVGDefsElement|SVGGElement|SVGSwitchElement;SVGGraphicsElement"},jp:{"^":"aB;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGImageElement"},aU:{"^":"r;",$isaU:1,"%":"SVGLength"},js:{"^":"ho;", +gj:function(a){return a.length}, +q:function(a,b){if(b>>>0!==b||b>=a.length)throw H.h(P.aj(b,a,null,null,null)) +return a.getItem(b)}, +F:function(a,b){return this.q(a,b)}, +$asA:function(){return[P.aU]}, +$isv:1, +$asv:function(){return[P.aU]}, +$isq:1, +$asq:function(){return[P.aU]}, +$asT:function(){return[P.aU]}, +"%":"SVGLengthList"},jt:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGMaskElement"},aW:{"^":"r;",$isaW:1,"%":"SVGNumber"},jD:{"^":"hA;", +gj:function(a){return a.length}, +q:function(a,b){if(b>>>0!==b||b>=a.length)throw H.h(P.aj(b,a,null,null,null)) +return a.getItem(b)}, +F:function(a,b){return this.q(a,b)}, +$asA:function(){return[P.aW]}, +$isv:1, +$asv:function(){return[P.aW]}, +$isq:1, +$asq:function(){return[P.aW]}, +$asT:function(){return[P.aW]}, +"%":"SVGNumberList"},jF:{"^":"y;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGPatternElement"},jG:{"^":"eS;0k:height=,0l:width=,0n:x=,0p:y=","%":"SVGRectElement"},ee:{"^":"co;a", +P:function(){var z,y,x,w,v,u +z=this.a.getAttribute("class") +y=P.cF(null,null,null,P.o) +if(z==null)return y +for(x=z.split(" "),w=x.length,v=0;v=x.y){w=$.E +w.f=!0 +v=x.b +u=w.b +H.k(w.e,"$isi",y,"$asi") +w=H.a6(u.cloneNode(!0),"$isu") +w.toString +new W.dj(w).L(0,"id") +r=w.style +r.cursor="inherit" +v.a=w +r=w.style +r.position="absolute" +r=w.style +r.zIndex="100" +u.parentNode.appendChild(w) +z=P.fu(C.b.v(u.offsetLeft),C.b.v(u.offsetTop),C.b.v(u.offsetWidth),C.b.v(u.offsetHeight),z) +w=z.a +u=z.b +H.k(new P.i(w,u,[H.f(z,0)]),"$isi",y,"$asi") +y=v.a.style +if(v.c==null)v.aU() +z=v.c +if(typeof w!=="number")return w.H() +if(typeof z!=="number")return H.N(z) +z=H.c(w-z)+"px" +y.left=z +z=v.a.style +if(v.b==null)v.aU() +y=v.b +if(typeof u!=="number")return u.H() +if(typeof y!=="number")return H.N(y) +y=H.c(u-y)+"px" +z.top=y +z=v.a.style +v.d=(z&&C.f).J(z,"pointer-events") +v=v.a.style;(v&&C.f).S(v,"pointer-events","none","") +J.aM($.E.b).i(0,x.r) +document.body.classList.add(x.x) +x.bA()}}else{q=H.e(this.bI(c),"$isu") +z=this.c +x=$.E +w=x.c +x=x.e +H.k(w,"$isi",y,"$asi") +z.b.be(H.k(x,"$isi",y,"$asi").H(0,w)) +Z.fZ(z,q)}}, +ai:function(a,b,c,d){var z=[P.n] +H.k(c,"$isi",z,"$asi") +H.k(d,"$isi",z,"$asi") +z=$.E +z.e=z.aF(c) +this.c.bJ(a,this.aH(d,b))}, +cs:function(a){var z=this.b +C.a.B(z,new Z.h4()) +C.a.sj(z,0)}, +aI:function(a){var z,y +H.k(a,"$isi",[P.n],"$asi") +z=document +y=z.elementFromPoint(J.b5(a.a),J.b5(a.b)) +return y==null?z.body:y}, +aH:function(a,b){var z,y +H.k(a,"$isi",[P.n],"$asi") +if(b==null)b=this.aI(a) +z=this.c.b.a +z=z!=null&&z.contains(H.e(b,"$isC")) +if(z){z=this.c.b +y=z.a.style +y.visibility="hidden" +b=this.aI(a) +z=z.a.style +z.visibility="visible"}return this.aM(a,b)}, +bI:function(a){return this.aH(a,null)}, +aM:function(a,b){var z +H.k(a,"$isi",[P.n],"$asi") +z=J.l(b) +if(!!z.$isu&&(b.shadowRoot||b.webkitShadowRoot)!=null&&z.gc6(b).a.hasAttribute("dnd-retarget")){H.a6(b,"$isu") +b.toString +b=this.aM(a,(b.shadowRoot||b.webkitShadowRoot).elementFromPoint(J.b5(a.a),J.b5(a.b)))}return b}, +aa:function(a){var z=J.l(a) +z=!!z.$isu&&z.cl(a,this.c.f) +if(z)return!1 +return!0}}, +h1:{"^":"d:12;", +$1:function(a){var z=H.e(a,"$isu").style;(z&&C.f).S(z,"touch-action","none","") +return"none"}}, +h2:{"^":"d:24;a", +$1:function(a){H.e(a,"$isaT") +if(a.keyCode===27)this.a.c.K(a,null,!0)}}, +h3:{"^":"d:2;a", +$1:function(a){this.a.c.K(a,null,!0)}}, +h4:{"^":"d:26;", +$1:function(a){return H.e(a,"$isF").a0()}}, +hX:{"^":"ap;a,b,c", +ao:function(){J.aL(this.c.cx,new Z.i1(this))}, +an:function(){var z=W.R +C.a.i(this.b,W.B(document,"touchmove",H.b(new Z.i_(this),{func:1,ret:-1,args:[z]}),!1,z))}, +am:function(){var z=W.R +C.a.i(this.b,W.B(document,"touchend",H.b(new Z.hZ(this),{func:1,ret:-1,args:[z]}),!1,z))}, +al:function(){var z=W.R +C.a.i(this.b,W.B(document,"touchcancel",H.b(new Z.hY(this),{func:1,ret:-1,args:[z]}),!1,z))}, +cg:function(a){H.k(a,"$isi",[P.n],"$asi").H(0,$.E.c) +return!1}}, +i1:{"^":"d:8;a", +$1:function(a){var z,y,x +z=this.a +y=J.e7(H.e(a,"$isu")) +x=H.f(y,0) +C.a.i(z.a,W.B(y.a,y.b,H.b(new Z.i0(z),{func:1,ret:-1,args:[x]}),!1,x))}}, +i0:{"^":"d:4;a", +$1:function(a){var z,y +H.e(a,"$isR") +if($.E!=null)return +z=a.touches +if(z.length>1)return +y=this.a +if(!y.aa(W.G(z[0].target)))return +z=a.touches +if(0>=z.length)return H.w(z,0) +z=z[0] +y.ak(a,new P.i(C.b.v(z.pageX),C.b.v(z.pageY),[P.n]))}}, +i_:{"^":"d:4;a", +$1:function(a){var z,y +H.e(a,"$isR") +if(a.touches.length>1){this.a.c.K(a,null,!0) +return}if(!$.E.f){z=a.changedTouches +if(0>=z.length)return H.w(z,0) +z=z[0] +z=this.a.cg(new P.i(C.b.v(z.pageX),C.b.v(z.pageY),[P.n]))}else z=!1 +if(z){this.a.c.K(a,null,!0) +return}z=a.changedTouches +if(0>=z.length)return H.w(z,0) +z=z[0] +y=[P.n] +this.a.aj(a,new P.i(C.b.v(z.pageX),C.b.v(z.pageY),y),new P.i(C.b.v(z.clientX),C.b.v(z.clientY),y)) +a.preventDefault()}}, +hZ:{"^":"d:4;a", +$1:function(a){var z,y +H.e(a,"$isR") +z=a.changedTouches +if(0>=z.length)return H.w(z,0) +z=z[0] +y=[P.n] +this.a.ai(a,null,new P.i(C.b.v(z.pageX),C.b.v(z.pageY),y),new P.i(C.b.v(z.clientX),C.b.v(z.clientY),y))}}, +hY:{"^":"d:4;a", +$1:function(a){this.a.c.K(H.e(a,"$isR"),null,!0)}}, +hs:{"^":"ap;a,b,c", +ao:function(){J.aL(this.c.cx,new Z.hw(this))}, +an:function(){var z=W.t +C.a.i(this.b,W.B(document,"mousemove",H.b(new Z.hu(this),{func:1,ret:-1,args:[z]}),!1,z))}, +am:function(){var z=W.t +C.a.i(this.b,W.B(document,"mouseup",H.b(new Z.ht(this),{func:1,ret:-1,args:[z]}),!1,z))}, +al:function(){}}, +hw:{"^":"d:8;a", +$1:function(a){var z,y,x +z=this.a +y=J.e6(H.e(a,"$isu")) +x=H.f(y,0) +C.a.i(z.a,W.B(y.a,y.b,H.b(new Z.hv(z),{func:1,ret:-1,args:[x]}),!1,x))}}, +hv:{"^":"d:5;a", +$1:function(a){var z,y +H.e(a,"$ist") +if($.E!=null)return +if(a.button!==0)return +z=this.a +if(!z.aa(W.G(a.target)))return +y=J.l(H.e(W.G(a.target),"$isu")) +if(!(!!y.$isbT||!!y.$isbd||!!y.$isbn||!!y.$isbD||!!y.$isbS))a.preventDefault() +z.ak(a,new P.i(a.pageX,a.pageY,[P.n]))}}, +hu:{"^":"d:5;a", +$1:function(a){var z +H.e(a,"$ist") +z=[P.n] +this.a.aj(a,new P.i(a.pageX,a.pageY,z),new P.i(a.clientX,a.clientY,z))}}, +ht:{"^":"d:5;a", +$1:function(a){var z +H.e(a,"$ist") +z=[P.n] +this.a.ai(a,W.G(a.target),new P.i(a.pageX,a.pageY,z),new P.i(a.clientX,a.clientY,z))}}, +hD:{"^":"ap;a,b,c", +ao:function(){J.aL(this.c.cx,new Z.hI(this))}, +an:function(){var z=W.z +C.a.i(this.b,W.B(document,"pointermove",H.b(new Z.hG(this),{func:1,ret:-1,args:[z]}),!1,z))}, +am:function(){var z=W.z +C.a.i(this.b,W.B(document,"pointerup",H.b(new Z.hF(this),{func:1,ret:-1,args:[z]}),!1,z))}, +al:function(){var z=W.z +C.a.i(this.b,W.B(document,"pointercancel",H.b(new Z.hE(this),{func:1,ret:-1,args:[z]}),!1,z))}}, +hI:{"^":"d:8;a", +$1:function(a){var z,y,x +H.e(a,"$isu") +z=this.a +a.toString +y=new W.eK(a).q(0,"pointerdown") +x=H.f(y,0) +C.a.i(z.a,W.B(y.a,y.b,H.b(new Z.hH(z),{func:1,ret:-1,args:[x]}),!1,x))}}, +hH:{"^":"d:2;a", +$1:function(a){var z,y +H.a6(a,"$isbi") +if($.E!=null)return +if(a.button!==0)return +z=this.a +if(!z.aa(W.G(a.target)))return +y=J.l(H.e(W.G(a.target),"$isu")) +if(!(!!y.$isbT||!!y.$isbd||!!y.$isbn||!!y.$isbD||!!y.$isbS))a.preventDefault() +z.ak(a,new P.i(a.pageX,a.pageY,[P.n]))}}, +hG:{"^":"d:2;a", +$1:function(a){var z +H.a6(a,"$isbi") +z=[P.n] +this.a.aj(a,new P.i(a.pageX,a.pageY,z),new P.i(a.clientX,a.clientY,z))}}, +hF:{"^":"d:2;a", +$1:function(a){var z +H.a6(a,"$isbi") +z=[P.n] +this.a.ai(a,null,new P.i(a.pageX,a.pageY,z),new P.i(a.clientX,a.clientY,z))}}, +hE:{"^":"d:2;a", +$1:function(a){this.a.c.K(a,null,!0)}}, +eG:{"^":"a;a,b,c,0d,0e,0f,0r,x,y", +gco:function(a){var z=this.r +if(z==null){z=new P.hP(null,new Z.eH(this),0,[Z.aP]) +this.r=z}return new P.fQ(z,[H.f(z,0)])}, +bP:[function(a){var z,y,x +z=this.y +y=$.$get$df() +x=H.f(y,0) +C.a.i(z,W.B(a,y.a,H.b(this.gbK(),{func:1,ret:-1,args:[x]}),!1,x)) +x=$.$get$dh() +y=H.f(x,0) +C.a.i(z,W.B(a,x.a,H.b(this.gbM(),{func:1,ret:-1,args:[y]}),!1,y)) +y=$.$get$dg() +x=H.f(y,0) +C.a.i(z,W.B(a,y.a,H.b(this.gbL(),{func:1,ret:-1,args:[x]}),!1,x)) +x=$.$get$de() +y=H.f(x,0) +C.a.i(z,W.B(a,x.a,H.b(this.gbN(),{func:1,ret:-1,args:[y]}),!1,y))},"$1","gbO",4,0,12], +cw:[function(a){var z +H.e(a,"$ist") +z=a.relatedTarget +if(W.G(z)!=null&&H.a6(W.G(a.currentTarget),"$isu").contains(H.e(W.G(z),"$isC")))return +J.aM(H.a6(W.G(a.currentTarget),"$isu")).i(0,this.b)},"$1","gbK",4,0,6], +cA:[function(a){H.e(a,"$ist")},"$1","gbM",4,0,6], +cz:[function(a){var z +H.e(a,"$ist") +z=a.relatedTarget +if(W.G(z)!=null&&H.a6(W.G(a.currentTarget),"$isu").contains(H.e(W.G(z),"$isC")))return +J.aM(H.a6(W.G(a.currentTarget),"$isu")).L(0,this.b)},"$1","gbL",4,0,6], +cB:[function(a){var z,y,x +H.e(a,"$ist") +z=this.r +if(z!=null){y=H.e(W.G(a.currentTarget),"$isu") +x=$.E +z.i(0,new Z.aP(y,x.b,x.d,x.e))}},"$1","gbN",4,0,6]}, +eH:{"^":"d:0;a", +$0:function(){this.a.r=null +return}}, +aP:{"^":"a;a,b,c,d"}}],["","",,U,{"^":"", +dQ:function(){var z,y,x,w,v,u,t +z=W.u +y=document +H.ir(z,z,"The type argument '","' is not a subtype of the type variable bound '","' of type variable 'T' in 'querySelectorAll'.") +x=y.querySelectorAll(".document") +w=$.cw +$.cw=w+1 +v=H.K([],[Z.ap]) +w=new Z.eC(w,new Z.ej(),!1,!1,null,"input, textarea, button, select, option","dnd-dragging","dnd-drag-occurring",4,v) +w.cx=H.k(new W.h9(x,[z]),"$isq",[z],"$asq") +x=window +u=H.e(P.dD(P.dv(x)),"$isa8") +if("PointerEvent" in u.a){x=[[P.F,,]] +x=new Z.hD(H.K([],x),H.K([],x),w) +x.a3(w) +C.a.i(v,x)}else{if(P.ez("TouchEvent")){x=[[P.F,,]] +x=new Z.hX(H.K([],x),H.K([],x),w) +x.a3(w) +C.a.i(v,x)}x=[[P.F,,]] +x=new Z.hs(H.K([],x),H.K([],x),w) +x.a3(w) +C.a.i(v,x)}y=y.querySelector(".trash") +t=new Z.eG(null,"dnd-over","dnd-invalid",y,H.K([],[[P.F,,]])) +z=H.a_(y,"$iscy",[z],"$ascy") +if(z)J.aL(y,t.gbO()) +else t.bP(y) +t.gco(t).ci(new U.iM())}, +iM:{"^":"d:30;", +$1:[function(a){H.e(a,"$isaP") +J.cf(a.b) +J.aM(a.a).i(0,"full")},null,null,4,0,null,19,"call"]}},1]] +setupProgram(dart,0,0) +J.l=function(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.cA.prototype +return J.eX.prototype}if(typeof a=="string")return J.bf.prototype +if(a==null)return J.eZ.prototype +if(typeof a=="boolean")return J.eW.prototype +if(a.constructor==Array)return J.aQ.prototype +if(typeof a!="object"){if(typeof a=="function")return J.aS.prototype +return a}if(a instanceof P.a)return a +return J.bv(a)} +J.b1=function(a){if(typeof a=="string")return J.bf.prototype +if(a==null)return a +if(a.constructor==Array)return J.aQ.prototype +if(typeof a!="object"){if(typeof a=="function")return J.aS.prototype +return a}if(a instanceof P.a)return a +return J.bv(a)} +J.b2=function(a){if(a==null)return a +if(a.constructor==Array)return J.aQ.prototype +if(typeof a!="object"){if(typeof a=="function")return J.aS.prototype +return a}if(a instanceof P.a)return a +return J.bv(a)} +J.dL=function(a){if(typeof a=="number")return J.be.prototype +if(a==null)return a +if(!(a instanceof P.a))return J.bq.prototype +return a} +J.iz=function(a){if(typeof a=="string")return J.bf.prototype +if(a==null)return a +if(!(a instanceof P.a))return J.bq.prototype +return a} +J.M=function(a){if(a==null)return a +if(typeof a!="object"){if(typeof a=="function")return J.aS.prototype +return a}if(a instanceof P.a)return a +return J.bv(a)} +J.dZ=function(a,b){if(a==null)return b==null +if(typeof a!="object")return b!=null&&a===b +return J.l(a).A(a,b)} +J.e_=function(a,b){if(typeof a=="number"&&typeof b=="number")return a>>0===b&&b= 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; + }; +} +C.t=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.u=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.v=function(hooks) { + var getTag = hooks.getTag; + var prototypeForTag = hooks.prototypeForTag; + function getTagFixed(o) { + var tag = getTag(o); + if (tag == "Document") { + 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.k=function getTagFallback(o) { + var s = Object.prototype.toString.call(o); + return s.substring(8, s.length - 1); +} +C.l=I.by([]) +C.x=H.K(I.by([]),[P.al]) +C.m=new H.er(0,{},C.x,[P.al,null]) +C.y=new H.bV("call") +$.W=0 +$.az=null +$.cl=null +$.c5=!1 +$.dM=null +$.dF=null +$.dV=null +$.bu=null +$.bx=null +$.cc=null +$.as=null +$.aG=null +$.aH=null +$.c6=!1 +$.p=C.c +$.cu=null +$.ct=null +$.cs=null +$.cv=null +$.cr=null +$.E=null +$.cw=0 +$.ci=null +$.b7=!1 +$.an=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){var z=$dart_deferred_initializers$[a] +if(z==null)throw"DeferredLoading state error: code with hash '"+a+"' was not loaded" +z($globals$,$) +init.deferredInitialized[a]=true} +init.deferredLibraryParts={} +init.deferredPartUris=[] +init.deferredPartHashes=[];(function(a){for(var z=0;zo;EV%%JeF)(6e)@lNs;2(P4;@%bIv_$<$>x}H@lmZGF((Z}oC)X(!A<1nCK<#@kN-}YvP=)Z1+w$7Uu?Xijyg zR;#pI9lEVHaTMZ}D@?UJ2g2Kp?DqG=Hut1&>M-ED+j*ghqZol;l1AiFM4BXo;|Xyv zA@NHLgFfRhCY)qQS@7|-Ps!s1B`uOPklYbnv_c(FFS%OOHY8bM6DKjlXhf1H^adfObg&(p)v$+^DwHj8of1W!vbD8=6b7BCl+CS&IKIu= z<^x*IGD39rv5a~WA8waC*ThLc6iLSYkYp+*nFIubkhmH$aYKfqKG8T}GaO?ng)Kw! z++aKmiHnHgxQFLRO14F~7BZ9q&-IW(kfsHbU`$dJ1pSCCNEvPQm`o--SkuhS@8|h_ ztny&xA=PRbAq@JPo0Mu5?2=Er-NEyGJimlruA)qjq|nq#4V+SmnW-84iqCYjgJmcT zQxZlI%}xWN9NTp0RGU~;kM4XI1A|7Vh9yhnBur=XAO+>BPrK7$dcKQe+vMmSvAA2j z?qijQD-SUp6Vp(vu03Q@!Hg~7GEm(jU{kwjR26KxoL`uS(%c|yzgxqkfy!_kC?%PW*B z9?zXT^>iM8e1)f`I((#>U26gJ2wo2`I$LRpM7yho4xb>A0UL_d(+?DBd52e zfqq#dr3B#5r+=^`+P0~9?AYSYx7qo*FYZ=;pfUnbkE`fyq@QM6?ABtBALH&h+kLz1 z+w-1e#{ej$_84J%@O&J=|Nhy}SUh$dQwl!*Yzh;mR^IbBipr7r5}jdjwi@ z>clZ>?KV1y`S8*OGNpL!iz3FF}i$8oSti*S&T%J3`6w=!G#;?JlvGAZ>?cqmJjeoH}`iO0&tFl$aE_W{F`qp;|7H z$%Ia)L#bTCwiG8%oCd?7Ty?QclU##m+Qexw^kKfw2F z5+pZn-J;nUqT?y9UcN!OZ#w?50e@BNCRfSWfzflOkU7NfAw zv6)3i(SUmo)>t~a!1UZAzxnmMP$V2VbB3;8A&O$IUBAIN81dShzsIq~BN%{b8;6?2 z`&i|b*T1zhaJv2GPW{{8`Mo^=rkLi`iIY3+zg+m|04yGzf1>{>gkbIm|7>61@slTa z>f0vl;||RedA!%_;kqt{VGxEPrfK3h4q+JX+-}ElD2g1<^A81nkSFzZ#yzcXACG@> z{VFGyPGSnUeC-;IW{riJDK36|m5Ng$j7B{B%yZmdzRS7u=h0eoV<1S16j9_DT9Jzs zk%Lwsv;v(|2oTaB(;)JKJlBwEv?|E7B#8?Qos%g=F-#F95E*!W8P|sMUH8eFQ%Z%< zIfZGW41p^wJk!HbHjd|_(*(m(2;)mYqe)1S3XqyYr)V@%YmlJF6AWd5$SJUpq-2?a zHc|?$C?*LyHi%7Nl9S2=Um1+T0$UdhlN_sT0`6YT`8e-1%2oVQ2~$a?T1`rgGSYYH zPIa(658rpNU6=NhzoUkuNk$rOiXEk7NluVN7(z1)16qkD z4ktUCO$$L*Xtd5S3`nT#RrI1qc>dS9@IY}wHQ|+C3le|D^K!8Ai zQUt=}!=L<&U;e`fYz-4e!wrs|Si-K=`PTU*HhV*oL5xrWvn;8VTWFDyDTndefH*NQ zg&@r#GxrCb)Z-?j=XrY&e7t^80LL&DMFB!d#tFn5edO9F)Jhir;)j3A2iKOldf^H; zuB{Lz8LM|*=B@9)#mQFnk-wQ{+`V~^JeTzP177>~Sq4GOa8OW)6lELxoOt!Pg7_c* z{qHz+<`l|Mym#?8Ot(55Kl%(Ge0TxNwuyQhoPPOr?tglj@BGO-0Nh(0(rDM&xVMTN z4DscJqn#?1#w=l)k$q~AIc37I;Mi1&`0fq<{lB@(xBu*IF8=xg4?n*TI-%*C48nq& zmp|srOD8#U<{X2~3B-rkD!U`0^T&_U?Ji)F@#2ZIbY^P!l{U{kcM`AKBpURXIdTM} z_%gctaBINY{Ril<$3m-)&IPwOL+Y6#C&jf=+U+)RzlSs|%tiyEKL6!!enP`7QJrez znhp@sZWs&(As@eYjcXrVg+g=c_$)8a|Nh~cQ)`WwB*aMwh9Jyh2BQhCmyu)|D+$Qb z6eCT^b+&VS&c-s*RA8B`uMbeJViG8>uk;DlH@S9u4P}}rCCPG^tvdtCwqUy5q3kLQ z6ooOtQWgq<*{EY$K$g+)ZKkK2`vR!@RemsLCX1O!hw*TLsVu_En60f1`U8WN>MM5qR_-T15)zb#E~Y=R+%7*4z~`sS*22{qdXfW9a^mhm3o6}rA*m&SvY=zx8D4H z3^dOyJm%DK0eFk6$v!sfNJ&$7BT03GAcwAh+JKT26%iST`i z$VXJF7A@N+5edqX*vbTHusGl1qZ_OI;@2PXN8fpQzje4bE0AMkf-H;Bi6BcS#9_ky zQJ+e0i+ZKRB+fA;7+>7!ZnVPtw>G)55|HKw%C=b>6%jf0TUc#Kkl z`~3%$LYHGlmiYen{t#V&)CGo6P{bsUtWW;>C%>jLeUy5u&DvJLt@Qy5Et6Wd#c!_P zpwp~iE5UDXT;Z>dn*8>{2I=|?7@9wQ`xQo_%-{aweb6b6GFj|4`0&bo{?ku>f$|+@ z+wFaE&3$sb)2dUg_&BD^@x>*)s?BIJVdeT=Y*&&6F^z7QC>YV|OabuQpZ^A|D;zm} zg1M7tcYEM&-Zx$aM{cqs=CJQ z&+e0L{3AxIjZ>YbD5iOF-bAJ`?_FBuUmqk6_o#fQgrzLNK$#VUQkX(xdlt4Kuq_M6 zGAVYQ-m}k@xxE~MsnA)9UGo`^6M{j+%~3$Rsd#3|K{*cflBOWx(>sFxdcgW>k9B3E+ z$?|gX$Wk*TMYzWM?`_cVa!$SQ($jhT{@vS@JdaFCKKkH8y0cx52Ek9st`cbCfZ~pG*|4$OTkNclb}0XDz5@Kopa zFi-uPI@V9*@dFb7hiBvR{E^3F7-U(7Qfg0V_#niklx(NrrIb7US(feeXIb_|c)9=$ zQmH3rB$QJ8^zZ){OG_tkq{)YuKcqV~#Y}gW3m;v?cO8N-<`C-MiGQRR&vQ+^WO5vo9W=19}wihEA(Vy;8?CVPSTTW~<3`yUwxWCn#Gs z!^wbpvq{A<$%}%ixh^%&<@n4TwQ8N&*#)#Vu^dV4RjIVAWJ!*v6xDj2a=FZ)I}L@V zR%_zAHsvfMnQBoKf?BOcoWzt}A7xueLp`0x3tiya4$=f9xTO+Ei@Y#UQXy=GPZ`@Z zh)f&La`AE-LzZzo7socSoH8;8!-m4kv2BGaB(dWlO@)*uzGYz|uuO>|q0kn#IBy^>2Izwi9C8+BRsdvcsOAB z{tAUMSa2jO5AM-!RC)Md1=EsPLz^(}k!wvJC-jHINA8_4*jQc1u%MwerLs?!^Z@soBb-phnp|!?TDP_;av3zU^-ByQEt%PfNG-`EB*Tpkk z%4H9!1f49UUan%BCXIFnr|#1Z8z>3Nkk}K0O4%oKZ3-dqJs;b0sI}_oqM%&zQLcl^ zGs@)}ahx*MZnLns0NQxu+Y3#W=T8poCyB<9Hfa))OGO+<7?Hv;$AnRgsSV;uKoAB* zK}5r&c|VUZ;nsS`6v6OuS4FEWxOCd(2GZIY!qBoRd+(OF8N z6DCQ5vMeAcf5MZgJ>sw^a*mulzB9O1tL@z8O0~M@X4h&kJv+72K6my}f30%ji7z08 z5PRTmmu9_ws4PD)>-M;O{9PidyW3YjyF!0;i*l{XE3dpnGRb~tC3RqY{Hr4Lv<0`@ zlYUBXV}L*rryB7M2=i3U`BjmB+N-tQV_$mZ9K7?s@9;Re*ex1)pXCex3eW#Wjo3Ab$Iuyp6p={<_yEotE;P*{to~`V8CZdr0Fd8`}VJf+4METfz(50f~J*vOa{ybe4$j=L(Mw7DmX+cSz1^{ zb6tbFtp9sONw!PtKi;nuLQ1jyP2J^kPJdpI-I@ODntgi7d)hl;{z2W~bBUXi3vXSs zN;`U3*Pldu`JzTkX?T+enXs`19~rfD6!aF{8b?4ZtB#=xgs_f!HOe(UXx z^W6&fsbx>P##&P$^mPwmC`5lpg+_uqke!hCW&Cw8aG9teBYrjZlP)#c@+@;RwboBJt^E?=&$6w2I9 zP%={PdcZjM*`aU1M$F@xI!{Ek*|lel7GKSBeXGsL*lR0o#3&T&7Pk{cO)e%Z!DPYL zd>P4UgUAmvZRca58*!2pidDyVcw=bQd7^(hzIW${?EExn&zr7eB^sod{z5xFl_uGY zy*5KeMn-h&Qj5>C_2aC;@6A|Qd>O}-83P3s>zd4R?|rqnL!ICKHCK;MB&^!M@Ua~6 z@rX}YH92LAm~M2vIahRj(OvmeZIeTO^^}tF3^e`(uE9z2$LC?ka6^GBU(AIwjx(!~ z-Z4q**dChXzjo%?8=S=YK+uIMp|2DN+XA@m39y76>9Z7}8e4ErZn1pH7Oo=17H%pQ z=f_3EMMKW0D9=b~%4)IO)H-#uoFVYx4#uw*r*MN>$C#6})A8nh-8NLhvGnAA6)s)9 zz56F8C*vk2C$R?ZyTVmG{IBU1Rhy+R&CTVlYsPPR>Rh=ZMaUmhVEjSje@`f`v63pF zvdL6P=mO8~4tEB<8(U=(GfUrsis%C`FRG;MYO@l3t;4I8(QYcl>Z_RC_50i3`O5zO zem+K;m*jpwkH>5HXryZ2IZ5B(K|#B`MI?FoNpT0R{u1vWuoO|TF6_~ejE_j~99PKh zq)=e=9eQ`+-eIPCp09HGV_OA#SAq{bR6UHle4ujZ7&Gldtmu;lg)CkCsC-I`uSyD8 zKqZl^MWdL^XlQ6yARr)6?I|l4UukMiCjUzHu+?hfo8I4=wL+O0)n=i2dVDRC@dDau ztrA!s_3X~_ZHvUr<8`^06In|lvFb^>845hne(F3FsoL8u^7r9~nn#^*Uq65TBs4TM zeojo-*gH7f#T{~fAN@y98{|0f4emNbDyD`BKO*=8=h<5EU@K!JW%fPNNLbUmeb z1cf4v>fuL|mKU0`?rkOiS6+Hffjf#IDolmsFJ0QLnyPJSWknuc|F6UKNOZk?S}PWh zLz#QmJ!S6Ll9Dw$LxCl#AjS7B$x76tTLEfKDl}&d_#Q_|#^3hU&syxX6nUzVM!{Zd z+wokTr+ndUR+3#j#g<0*byh0e0WKtZ5tg@GnF>_|<@SY7|72YD{> zuxnixcJACcz84mCS(dLvmoAiy zIZ0YtS`wkk*rZ=9KI=CmD07p=HB#NYd2?od{uH{x`k#>zw+O{#LzYnGxh*xKuD*Wu zhH&gqqs9Eo$B!RtWo+48e!iILY2CAwD4fZ1KCRVHkB=%>k6tqV+v1ikT`(g#wkm5d zSx6NbCnqNj4b8E+#YI_cO3hGZ?s}iFUjwBcPo_skmX8NtYkd|Mw{|Q>?S6}8!Eu^+ z4Qeckd+BDDe7rNq$EJ|2hi~N#W|NC5Ds04*u3ta&(S3ndUtiy*rcp9efM1aYclfTP zM9I`NsjsthNhGmJj*lrcVf_kG5xV=Rq?D9Y(+wfkT-qT2?AFo#`#HtK4I62^nUX9ISY3}ac_vzCoa|H#3qa#kMvOYdrd0TC+_M7W>_xj1t z?1@p^(9URgX|@zWbI?lHiJRE&PueFxN?eP#b&Ig=uoPj-p;{xoAbrk4pWBl?AJ^7= z9>;ZdOzY=g9Di>v+)ZVJ8#EW*r*rwTpJKA*ynEJ=0l6PRPEJ0Plar&fckh!)4h{~9 ztteuqRa0&o4W<7u0|P^Jfj+-dT5ETvmjUfelg@gF|J}~;9NG$A_Hi^gF@=H%?qU~- z{yocbw3K-CZ{EB~di(Yp%U;WdH+mZ;XV0Fc*}3ydS9kXYUzDm#W9+HF?LPN^+4UAR z9_Qn;;RsiWvld}HAj%fLW7&b7I#!(umw>vgv=s4AOymp<3@k{m>(E5^xAdGmurK`8 z={zp^?9(5Q?DglWFc;ovm4B|1Qn(_;8)J3HDC=uvqXo8U@cO#vei~FXnjKe^YSNoG zv<3RMC6c~F;&^C3?Zp|HnFE(bS`K9u6^Y$ydwsEd>ntI!s7T)0+3A{#J*u73QrBr! zD7MX7(6QJ3`&KFK?F}hx17_OlqD8yXNaO6{?XMQJlVe;m+N~IADCHRgFG%d8r@{p4 zEgWz@KjQR(e?*Bp$|ky7ZFrNOE3@-ay}6dIE){Liiyxt;@${4mzHxE;m)F)hFYD;o z$T^Scd}(+hc){m#wMm}&_N&L3ztJ!-XrS3o>4s@0YuWtFZn6AX89>d&NK?_;y4y{f zLs>-y3uIE_w6)-I+OIN+OgNU7nRZW|Ia=y}<$Y4ejvx1X@q*icLt&gXN+T@*ZGbVX zdXmkr<3aPcZwx3kKF9a#Pjz^W%J2OB=F>&S5 ztp8m+Vr)P&z;V~DNK@=zJj{ZZsj0~k2c*8dGkja{ z_N_*#_lEoJ+K2-UpQ@_P|LE&8PLOoIzxl&;z=3)v$NFJDzRWJOT#?V!)uC+r_s5-$ z1?!U+PouR(V8qU$btz$jHc|?@AlbM<3Os-8{%Le=xAzb7k(` zy?gfz*csA1&Y!0v2rMyn+N8c$M*HnZmqKHUTUdIOxZC1H>@cdL&Qe4dH!m%Dch1}k zRXjH{^G@7pq&c1~{Lf(c{?mL)!SoWV^+yxe1BaHQdwTSl0xI1)itPsGPDjTT<^qILAyUP0rZnEK^A_KQs%j%)Nbym(PT_ZYKa?Sp;M!neM^ zqQ#~aohw(qP8`In9So%UEA`&*PXm75}|J^y> zk!A2IB&7CiczC$)kXzhbG1b|uw~yOtfP1z^Wils{3O{|ch|DGf+VI!SATQJ>vvNN5 zT8BTW<(NX+rGUyLiu~@bFI`+jMZf-lk5}WC)U_HRdbHocr2!x6EM04ZnwQ$?Vuvi9 zZ#<8WPc|sN-JGlxvh<-;m&kha#{c6-=`@7^ssr~UBjwbRwcLF65qj?(hie9_LO9V~ zT&xOv7AvMxin3ZyWvQ8Yg#te%$aqkxrG5vjiR;KVu^XIUDdv#%)XTN)74y1&{rYI& z_T3Tm?BX*vOH)72-<3`<>wD+0jh*4_-T6NkObFALX=$!#S}!l9X#}~9wVm@^oakmG zOcSJB1-_aKw-nj-x(rQp=MS=l*9_Nk`b^~7bm!4yT0BMxsSt#u%Y@#`Cr_SC{ArBa zG#8FFG&cSgrIxC3_wHQ*azA-t&*d2>IXO88H#fJHf1|BC!w*QgXsWA!4Go~)`NG6| z$ok9 z?fK|7>%Z21#bh!pENpEtJ82!wEONi7RofANF2fkLVS~)ODhZX$&bB4X@1~&&U~rNYwG{bsx}urVs*t=uKWGQLI?o|JzCWjz+@!q! zMfz4n9XiW(=upZZl$!JLi?dBF z`k%YZCx<@3#LosrHYa(G92rI5lL=LR1b*-a9nHgQqAPb>V`HPs{NE-){2WhM^`}zz z1*^0_e=Kg_xN$^|pFay+;e~pltjyoO_jf8gvrU$EhgJ8rrfHgZE{w%+Nl6(v{jQ73 zIj9t@NJf|tv<9qPogQUX6i&1fS+g3}F*4GzPzO1jWkF70E8kAYK zyg2ms?b|)s#-+Tbxq7Eh-|oAI-?M%B@Fy-)_3J0ReJF#AuT~9IC}dpzSjEnq)c!^uTeamiNEVHF|1+77I~c*> z?Ab$li|wjVk=guL^L`uNzWuhNzW(?EnusXfUV%U?+z>jmAg0>m$1Dc)6}7e0+=mYN zRhyOWrOb4XiHX@JD=RDWYiP*lNR+A%E%{a+tGu$ZvW=(bx@@WOPW>zvu%nXmJcMb= zdknD5Gg7$4VDzg?w6wHr(T^T28kKt=z}~HSDr(&^jb$5u9u+m1i<+UXtgPIzva<3b z<4QJFrd}@hkH*Fe4pV*aADZ}Vw99dEB`F9zIfZTUhjaJtOQmkJzXnd*bTQ(ZhEG~H zC%r*$K8x+gar4{r?dh*yGkR`qEV&vP8a_+aK5mC5uyHnm{pwuz&BQ(KZf=(NM(;v@ zsRy@*hey?`3vp9*=E75&avN>KEh%TGut?=6m_kMVev79AUcX^saUb09&%{J#*u8rX zL8v;=AXbmZsQp=AnV+X5_q#RSUpnaco}F&{_9)QJ>#C}%gQyLT&E=uUZy3bpy}i8w zipd030NLi|CMcM^z?1Tr*8azrMOf)Uc1^#(JXcCbN4G;eU1VJ8gbx7xKy}#O#ANMs zogl^8G&E#U+{f#7D}p#2U4PHlm(WIM?wp*a!Gj0qaPv?4 zN`$k9a2HUc{b&D)Z zcdbA5Ea3~JGSZqB8CFu_(Uh5)nNOImCeZ^*wchRjcvmV`od-*o)M7d9HK;oVOgD(J zgXUs_-aBuptE-!P%|13ys1!9a+>w&%IrTjDcc3flyNkc}HjG%b!1g*12)x#x|g)Jp>`< zwfZluDN)WfrNvUnZRY2*hJsi|>^i?b?ow+!rI z2JU50Pmq3p1=Fu)sWjTBUh*6^U-?*XakjzLt5-`ljjelLXdO#RPd``aI&J(xF}Ybv zLL#QSyZf^72d7*Aunn3v=NbeDFTGL^-9tkeoPH^d<2qocA%H52Hs=9nr75EYoE9vV-D4$6s% zEmq?l;*}H?_18Bx_Mq2HV}`%h6L@01IvB$FHq)S3U=@J#ECjChcMd}}K>Qb}cCZEB zb$2I+EM&LB8>1HF?@vC`oqyE!+jEKScnMB&pUgX3PadE@dhgn^XU}n#uz~x71xI}7 ztK_qEQ!utBu~;L{&d!hT-J?m5k2eBN_fiEuDIsR`cL|va?rntzp1}skWZHJ zt0;TWVE00Su$c` z4G&HR`So6#WVn|5^dv*b(EMzzlBIC$^X28Ci!6b@YzGbmos3oA-&L?=yoYuh^PWAV zU26db!r40NbeA)b%+15&)O9nnR|XU=wkw{H7@$)@$pCLTOGcvA^F1YhT!61AwoL%+`7}8kU*!;FI zH-AUwE6dN{H~?g5*Y|Faj?f8Y9Io)AFv0^oQX9#+^CVk1JyCHRe-^^XZBp+2V=wXG z$dMzTAQ@k?uy}Rz&Yk=N#81U!Elr;2?SYJ#RU+YRqHjcGWjCXL{W43dk3K2~RCj{! z#ECoaaIrq#-eu7(mga`<>?aBYUZrzQFiW-Kjtj)#9EbF<&Lqo$&IB)9TA zx=Ea!0R+0ZqhuhaT%9K%|7H`Dv9a-9bQaxD=E6r>T3U{@x3>#miz<|rmAQEw`Q9-h zM^9lYG%|hTseTrRI?ue+U%ibx!dl04lC*DOruk{yBoC-0=ZW6I$3op@BaqW=_|x9a z^kyx!loZ*F+hWB~H$~z!;aS$~GULWjG2GM3ASLBD`O|*6!n}tp`WCf|i)WH{tZ6P+ zg#$fwTh?%u3I}r4!@|v$I!wTR7{U8%`E{aR2Y3&DTJGhI(HP-;H_{`E$S|ppOm5N8rW+DRt0CEilBHNLfSu~Q~Vj0-hrelUC(YQ1{@B|$u)B}uQ z3jjpsxtMKFeoc+a6rM)OTa$9x0|ZT>{sn3R0+%H@Q3I^MmZg{bOE$V*#Al)XN`frqrBQlNi^ligI zJjW7pLIOWBUT~|`F+t8p03*r~on%Vu>eX95z&v-f@* z&bXcU4GQ5hg~?ec&!v?p>CDSYSON-+eKr?vl-pdsev{xL;WMAP-=QAGw||UbKs^KJ z+LN1`+w=!xY^*!~rpE508lLMA2^Oe`8nl`dWW@XT?~jvJuF9e5vd;`|HfdqM{SLRYJ0n&Fc(+0J% z42#A!+A#-HI!QLNcv@SFh>9v*j#(~kNZ)eXWM2%?BMVh7I>HrI4~hPkkNAiaPxGj{ zsc?6N#T~y&Q!--T#KeSO^{=ixt*n6*mHDr+CM=-o$x&5lo) z6pebrPl2JSz#H>vd3H$d{(}efYg_{IC=D-mc6OWbzAS3c94I<3P(CAn6MYu@fcors zqC-EJ*FTCHs*P*{>hs_yl9H0R(gOklczAeTeTM?LF;lfu#!Wh5b*w$(zhNOf+);eDZ{L>8(ru9OT(6nm4c(=oU@!<`SN&Y_8Qa-8iH6``I~si;@k5T z5zMxg$NUDX2Lri;gmQAP*G63EEwUY#@m^oven{nkTjk&RLQ;(;K7GoXUtTU34ddhf z>rA4#ua6!mw&uaU-S%_8>wP2$xEGw7nwl;K)k5GAR#sL?q=$g#GzHSz^s;p{$F$P_ zBJQwpvLz+t-N%o8O_h}j7r3LixVb-361Lgnp0sZ;tT15y;zST5=&^Mk0r0#cgo^{MXuhT-@kv;;c0P>I!V5Oc4wHZ zb#EViaItoKqs6JV&Q2wJ`y2yH%hz^jnw#a%$=-eVpe;n7e>Js3q6w43H#j&LMu+y~ z*w~w`)$wdPC4`dYvrV)Bp=37hoO(0rJ*FRN>T{0GP`~~@kEST4KQr5`ct7~a{!OXTOw>| z#X-J!CTr-{a{%n{fYJ#<9+L=L@gF#+grsB@jL*jz-u20p7cL`t<2}h&U!TJq5=b`umM{Gci5tZ)-a&7OP(5{JWzH z9uP3}gzUpDIBcv>MOklbBRP^+vW+VJ1;>LjAdTE@Q33eL&=n z_V(?JihRjhmIK~@66>iPog}jwE1vH0F;4S~-m;DH^AUr}sd|{H*{aa@+F?^6y^0|T zBA~LUhNF$}tqI@1^nz5@aLmTegs}`q>_7cBu-Z%%9z|MbM+bZn_Y>ocRYDaG?06ae zlP6nN0^Sj5*(^DFeE2dIVY7`!!;m*Z-8_2yn5XCcotteSpd5tnEOvbq;k#$=UMULS zTaag4cJ10_25o-zyI2-Nw0L`%GS#KYe!>l#NWvn|DJkYhG>R!!S*60#TrATFhwPtmzt=#V&b*%*;3>?kH&L7*ude^ z9Ga&beto`472qdHVoQXtpk5A_YgO>ic`TnL?Ez#OqmizHNLieRr-E9PBk@!WFf{Oz;FA_<+sJ5EZbgzY+wv!4!6I zc%skd-D}V=tP3sl|33?`Gp_Niw9lqAOv|EozHo4(R4Gwl4^&dNLY{t||I;{h=e;2` zMZ46zKf}Z6=qw2U0rj>JoGy~y92)S4l(Ug4IDKii14V(UKFeQUS^9qo(+iE)vj`#`ym&+oh&4Z>7AISk7H(~Lc3O?ELexBdM6 z`{gU`^yL?4!W{SS-+vWY{yNWvXFAUxJ#w_|d}}20?AbFnXg;Cvcpg6oPI`%{UxnV& zYHek;4A4IP9=z=oKR^F4OIWp7H~1KIb6?}^Ev^kJOl?$@IC}(tK=!+LU0v_*{0$4) z$ys&`w*)l&MzC!8*DU&%|D8K`&<6NFtj#ych4g=LZn(n7B8AbM{TeL5d1`9Pwm(Ib z5MmYKitZIG_~bxNLtYr`wc5nDV{=OiFoP5`FcjDd5aeWI6F?PQZ;F@dRN`Z~V`yX) zv;Xw%2a9uaZxThVb&VAjKiwM{8TnpUSGOPHM1@%{3d1ig?I>DL0HPbI+Mzy-1cZ!2 zPz(ogc9u*#8_MVI|U{WY0E8lb#*<` zh?i{N!77x*MyTHT^YyNJs&>1_(p0z(Z;TEenET96zrTQ<9y>Us-#KDC7xS~w-TM0U zHPWg^VwNhh1c`DR{^X;&<-ILmiqhqA5KqChY9!K zD0n6w^8C*2+tW4G)W)_E_nQ8WD=I0aqBHYyMBZeVa+#pRug`^Ve6d70Woe<)}*8Fz4#}%AK_D-?axJPi_P$UK;|$+kE-zRSh~>Xf=9(HwQEG;Y5&v5d;`o zV$o&KsHk)Z8hsE6Zu)!rLacBqYpug~kTK&-<5I~Bd@NTGdq@cgprE9rBz2yEO0AWH zJb9I-ZmF%K^fqGqae2v^ne;;R4dBC(iI{<9`dJpsD=VU8L=lj;AIt@TzPuafKNx4H zaZ0=8_{huqc47W?m$=%+mzH{!go_VY5R;nM$C*qF{DiF=>rJlBxJjc)G&eWTP;0?a zsu-GGrywU+!DSZQZhdv(iDrWIK3#3?UnhaNrHP6Xm&u-oPoKK=HZ@I`fsjJ380pB` z53d_d@z3h&>R(PuLY?PQR;8)XceswZdO&37>b`toB8VH9^(P_IKEileerx!C?og?* z=G8p&a|{8M%{$pdUcX6BuDp$jGD`TyLse%aaxju-A@twGH#Z(dN84RUlr0q!5V);w zY@9$U7|9ql(a$wCEPMCv4b#okiwe5-bP!B|OgsI*OIlh#wT+A>A0{SFyZrrjAdyrj z5NotQpd#%FR3@8 zPCmGT3ETtHFNa&vgyl|H`u9)g<;#~&5&*|;^78US=zZTv8#x=6z*XLuIpI^MWZqA|+H}^}d;R3+6yZunjj&j`1HW{x~9aTok8`v!}Fi)*1C@4-q z4;Y50c+y^+9cThxS~cgrZ)ywfrH^5zgjD&Re>ajFI=KH~_{SB*$$w1BX=g%2H zKsQxWTAHt9>dii^G-Z_q*%wY}QJqHXdtYz<3BIwCfyfWGzC4x-r3^&Tl|y7jZ1)$r zhkf=CC?t~2JkIw+!{rDcZbO`pPrVH|ehdcZq6c>WQNk3R`MwUO8HisWdg2@419Lw= zKU3k@q}0?iN264EWogjy9#EAUXa9114?ofr>hHstm_5*Fy0(DtBCv^%cG(o&0y&^4 zhSe6*Fl>cRa!5{YU=P6<*C-ZNZT3H!+yvlQIo$9>s=Bszr?Z1Y%Y`_xtYy+vA}J;J z!^8PU0f#6G)NU@$&tD=4TR@HtCMG8D{gO_W-9T#|M|gM^_e(hbZXk6wYVyj#1RgPMI+3|R+rrqR{aq&-VR_#>Ak)A!HBi2_J5*U%h?U;<+_`#zz-Ft!=AMcQ`E$r2u^ud7 zIat7Z^yp1NA_=YI1Wj@bO|l(}fZ;My1X$YXLxE)qG+FD5y>{6I;l4a`jaJc8G-7C6 zQBl!q18$)MyQVx%7WAI}+ClsOoFt9zpcGA@9O&{yr`Oljb(O=Vwnh^k0ND=(M-F7v zcbNHEd57@Dl!ysu)c<&^^_4YfJ0mOWvGmN$zOmuqBj||Jsle2nL$hvHEMcjn*AHRT zhf7tAMm_`%c85_htR~{Xnlea{xVZRJQg#4QH)v}kXbvO2cIEM_$vktIhpmi?BiMGT z8SO6+fjG=e+XAD@jw`S%LCjWPAg;0FP5ammn&dqIqwf*PjDhVr2kBXs4wlOLWbpu_ zBF&)qW``f6BADI(Bp^H}q*RlTpaYNFsA~DntrQb;V+4|hDj!QqQLuiN3IbajdxBdm zm4S6fAcLHhkdPP|ZB0`Zcyh>}t4Gr46u|BFQ04EUVq&+yVwsw-deR)(w^rtcRnuAz z=IT9wKHP$L%7&Z#-jk7Prt$QE9<~B2@e@&khwQvLUj3)E>`-{^9 zoMc27o{{^5eW!Tj;F$b`5SVa6H?!^_4LK(9n~$ZX`^9X!9wtDXDMUO*AwxIo142`6 zpU|>v3F1}fcsiwmDHuzFc*H4KqjA@SSf6Vo%3cVMh@dLe-vQ-eW^VYrzcP2b=P?4& zR#Ae0BWn*GlLST)aR9@+hF4{C#M~1kMT!deiL& z$^htKqhI1QB1Fi;03viKgAGp4~JNF5{tTD^g0`1aaVqwums_eHjo-tRric(Wuojtgj zjlHcc{}QB*+H;4Q_`rMrKtMf!-Y-l-$A}6b1pX3i;tv_|I68WWJ4Wp;q&f|il&I~* zD|Fv~KWE+80xEqE$azas68A9f7U*{F%$D?CcSDM7n1XQ6|4f7N=|}jU77>{tSs+aN z_Fdh;wJuQ+4J5;(qpwf>D2@LzEYMFxg{4^BE$l%TBzvAi@{=OCyyhEEcVE7IIRdf6 z8WNE?2Z{Jwq}*ngGakr~VMmGaC#YU$k`#c4HD+RH$OmlrA0&ijqzKnwe@f3TEnR8r z=#cyxcY3=1gY&p>*!}y@Tj709!qz(vS@ZimSf zmKGyqAyqXse_%(DUHgfylY03U7kpbR|CPASn$-a(DSEGtrZunz?-MY5_tQ=+F1@g@ z(1qsU*stm^>PSdM=9}v)JD&)e$Xa&i-Jrm4Hk)f}&x)aq)*@&F8U3Ot)=3bl$O#w` z&<(heOMn#d@FAn9+2?yqLvC zBH1OF7XOW2>Lkf1P><3`K^MrBJtyHj&^>7oO#s$eCqZXiEMp#C>n*mxD5QjqcxcKl z)C4IGprpgQr+Q$(qzJ3kPsqdY50~d^c6e_H9P&ytakH(Z~yr{q*VLSC=z%Z`4#*hc81wt|GnIF=^?K zE!EYj76cXr+e`N>>q232_u_)w*7}{ArzfumM)O=4J9*;^ zvznKe3<~=7+qc0mo~$d4E_*DkJ^4q$Dq{KYtg`ZFao`t(lBf}#MzRHbJxk`>Ih3#I zNmlwi-3;4((rz=mp{>LTT~nMuU-pK|H6Voolq7{PmQXc&VH_R03SC+Yn)_o4Y6e53 z-JhzYBp;A*7jcAewp8`$lNGe(meZ$BT~g+Wc7S#Yc=c+% z-K|^KCcAQnTue<(8;~J&e~!4DG(5<`k(QLiylxv5_ZYkfiY6d~PTPU94ShrsToK1k zL*j7tc2~}zf|HXIf*}WdKrJb{ZHgSQ*Nb8Kn4^4+0O4H#Qv@KFlOl@7{SXkTeUQ64 zgN_xied&^vsE9}oLa}UU&(@%3lW3HcBnQL^zVFlQG;COVs8z}#6I9l`%A|sJCq(jICknrHqqtxj6 zS?3fqiJvn-qq22}BSJ%Schb^6yKQF|Ny3$%%})Lv9wt+y!NGy$)zwdFiQZoz!PO!v zD+&eFBLOYi6CimCd2vB_(2WuI?j;pd6CDYD-@a*7SmgIt5kgw&ZKlFkD;gWKE}X8= zzkG8CZ&~)W3m)`Psk>J9t#@w*_=rJA6ql6rPf0lh+|{+Xr+}OSVb5_X#Cs;9HDxOU z6%W=8JK7`nhiuzBueG9uSUzHA16MsJ%Sr)h(JWjg0J1zuAB51YmdfNZ)wdlh=ZDTl z#5D#722zT9ufJ;mO1|l{K3m)RRQ(mu#>yAclTCwf$8S<5-O%1%7{x_1u_NUnB83#h zLoDErXpOXSFjm&S=4R7!aG8E6EhWGJPh&|<2O>};ShC^osi}TpC_vEUv1zhfvL_&GeB`XD^q zi-CAR($29ci>OdF3HFF!b)LAgl|OM`_ngqB7iFdY4=xNdu5RPA$ zZX6KO4^u?-a9-h(tkVc1veSDw&vs1fb+dTWp7@;K6c$> z^MfcgDU}tV;3K$EY(Z8QNmejLZTjQEZ_aH50+A?HC&>e(Lq{3yAm28=Hb1^iajL#r zE2$)<{_rSxbZxc(%gK9iO5cGIr zQ|C^0@f<1w7(X-$W>P34HzXY?azY_h8?Kycy;<&q1CmZ!6hwDJ!+BT`e2`K3L3!v2 z62#Xae24%1`A|9T&pSp6(ID2zjFeyFu%jp;e@xuv z#oWTe-L~)D>=-~gcSc6W0Rw$~aT03ZCuCZYj|HiH+GtUO3C}@Bq+)1ZhO)%Y%KG{v z<{71wR7n#6?4;1OPn3v!0AiDqoWY^l%zANPRsGhXxt-73c}}r~^ALoIi3wZ_JP911 zB4y$Z^YDCvz)m{%fRh3+n;w=~G_sZ8xvwDwHbw5|yCxfyPcH8vO4yYUpW}FC9811f zY26)9zY1iu4u@`jC#P&*ae8{_EGcjYS({Sy=;qUqhCZ}d zibw-&G(f+f0=UnRi>z%WCE>2$x|Mz&VjI+&{V!f=#6PYdB5!dvyQ=xUwi(n~m6- zCcgk_pBvQ*5rG5^xsToM9@i2k1G+c;oh3P0>Q&`84TP;@amIvnf(IVu^q6^@I}TYi zj{B1Esk}V#?*02xXAMli@$r7RQllZZ+o=eCw5G@``ky~obUXO-5E30kD-8PlSsB3) zSs+qI+8~(W`K(T3_(28PB$kAnjpmkgr4{E zV2A*=!x4BiXaIW&A{dqi!-LS!biE>*tE;5EOZ~9pCh1pxgCah}@>UknAr1(bl(FYP ziP-#~0f#`q0*Y|SZFwen2{eNBE=rM()P5g5dgLAt=cRy@&D+}CxI&sF1>PI0$Ko|= zyWTlmFUJ$=FDfqXEImivVT`PkNvd`WY#L>xjuHrYWl&~-33%h&DOH_VxrXO*0rE@rOX!%qz#X(Xe7xvRn;J1gd zvD<;aLU46*pGCh~4M)0bUm+Kraqb(qlpgVFi(6$VEOP5jE;F1b|!6X+J5)>4K+88)8P+sm| zZ_ehuvCx?W_evn7>f(-l!oOD#9ykuZy*(boED*;R{*Y273`7nHF3aJ=hw0xV2ZB>a zR^&tvROfj#Th>!RcOOqLjJ`w%{rwHZW*ug#Hkof51d1N?kIud_uihs8hzVG&_aY;G z-a!@G1<-j88IK+WQ)LjfwycBY@ye7{jO2u7jP%Hl4nrz42uW7+MAy$F z{+bVmwGJTqNa^uj=Nx^mAVo5CHqy*Rh2tELtw)2wKy0_o?fH29{ke|f>~7HY!r^6m z&+zRHsGJc$di1QM(}-3l!vRUXCx?1c&pG$Qf(^Q(9$!Zy)xIskmQB~|J9WGDmuLa` zn!CDaw9}b?J4zsTZ;)Z1asGyLx2HA6F-r6lNG|}x+dwP2+R`u8Lk&sBan5TE*o5Q`p$=6N8P;lQe*z>_)EO)g8No=N>Qa!2SF0-`<3j ztmMw|tOk8wMt`jA!-iokV`Bz*$UjF$NXOHcJ!PFHMz&tedVg8Y>0FveT-(Vh zPanVdi!n_(>V=r7&AFmfw+@$yHVy4G+h;Am!v~`Oo&P>R{4%SzwaX!{#-O3am^noJ zFoS)72ia#X1+(dmwat4oQhDPA4*fhGYchX-s=ieAt(ceYobOxmGV1giDeN>pukUB3XRb`zeR#K|Exu~w*);a3ruE<6QNd;e|trSAX61E-3+GvloT)a>Iq+v&Czv|d8pH3v# zUfylIc|fC_Um{O#m)+4v4vDF{o{aZs{1H!EQO*;Jss#|TmyEYB`2m!xD$=}?)h;nv z{(Q|%nn5fs{3ycKyF)6Pn;H8(=PxLyTzuO2r@R!_%+`ERA2H>lN>^#hNK!HeHl|#M z3H$L5{u#HATmSW)`xm$-@ zP@iUhUMy#cx{yBl0nhaYKFMSAC$-!RJb8aEnv#a$FAu8C+Oj=|Pl(Y5eZnaek@5i( zm6VpJu-u#^;}3)?FXKrm;(XAO^>W+VX=+D@z^ZHbLfI^Dcnf<>x|Gy^$IjxuDC_qx zG33D`%YzF)^{!s6gsa#$y;SQa-LLQecx~Gc@;_d(oF7U`W>W>dwi7dUTZ?wcG;O6z z-R7QMygHv~x%x~sIP2}(PvE9F@u!g%{pXNp8G+VIUTOC?vC>o?ms~aI`C{*Nv+GBU zPwdk0lH{EE*%|uyM(DUJH-qM3?%k2fw|Sx_HT$^zE4e-z3tnaV=O&E>`Q0bi^=xxq zhl*ppT;K^ETR7=+7%(EERLwWbk8o_9-0N#7kjO(rzI*rXJ{))$+CQ*Ng%48b_gXR{ zZ43<++Mqd)8%mruh5vOC-tg}_e+Sa-deX2BA5sw4$YbD<-)-am%VX)hOy-(b=jYJi z7_;1ExzgL*`~DNp}5V@E-B$un`+t z8`zS?=1Xw^!dfMQ&?e z?z)9V@Wg|-WkQ0TVRUis?ib$eBASMK4=~go4cr~d$~#+mR3rKGaYP@XvZXEKq4rh>y3mrq32UV^f<4NGUT*3)S})^>b-!DLGm?p>tG)@mm*shGVZqoWE} zukHg+s?#0yu?(Gb%?hGEJsL3nbN=g=PxZpq$1BTCC9~1d(GYz@kpb(Pbn%?_7^uR{ zTr@HYhh((}yC{@$jxR=SVZ*iQ{MvN^-@PWDC(R4>HOU_0tm;ZnPtSkgp)JsX=n?4q z3^wzbnt`2&ti?Kzz_3P|(lO=_CS!vek@^xot0J3DeG4Jdvf~n4M}7WMroz|c22+OX z)K%ssg>!1n?d?HpN6Nxs4MetE#fXWBWD2v=C+KGE8FTuu)rn&z*giM{eSdXhQ)$*s zT1r%O4-%JpCMIWb)R*+BB-+~kXF2XtBK(Qwsi&_G9htoE_Gu{gn1}n;woZ0d{57K6 zYQM9t8S%M~LSA2=4I|VKpn|ACFu4U6u(|2YF73t$e1zVL4{Cs$!OF(=0hwUuNo)}u zYjC@IwR_4^M4vfSSsBXxO}T}(OY>+q#VRQmQOTt-Rw8UlI1J1c!7ibA{=$Xo)m2HJ zqepXda(v~vIu+v!zo5d@;uIxA`9LI?QZI^M zNEiO0Bs{}cIDCyc8rot>j}$~_qecEwm^&xX9_h@}HU-9ZX^x!`I+US|<6Jc&gR`Jv zX0WiqlWMSsgP{|1GlgRAv*83TmK4ZKnj`W-Cnw8^X}JzJt@yg3SuH)id$4t0;PX&G zDv@TY*;+N(qC=HH`RXch6~yHZ+KUTGNQD0WZO%$hg%rleas=zQf`W;q^L(e^z(8Mf zO4Yt)XJcbXQSsh+{P7%sBFGnAVNua)+N)RJ6FleYNBk(LN3g_}*49;MI6^Wq;dntr z(@D|^Mi$_Ndd2$IH3jLX3RK?XyR)^^wRChSK?m?DE_g!gn0*x^BgcTO50M0e_~*~R z>R-J&2=Z5CD6kU_&m|uS%Q*4At+-bP9~U52HnIec!Ga(;LUtfjB&!!kwK_V2XJ;Mo zNjrl>k#fPh8P(?nO9SnE)_P~wHW2AkwzfWj&Y+OeLQ>sycn`*?)$7UZ^4S{rNX1m{ z!!7aj;a8jzR7}_5W(m7?_wGK@E^cmZrGScrqC(dyC@xmY(mljXn+y$*)9c?Zlp`J$ zcT`>9^!%!i69ERFIO|@DuKqeZ+m$Bh(+tkhcR*x$gqv%;b?a6hL@acqjt{j%vHAL0 z_y7Bkc^D?{14I!yu!Pv@Ao`VEU92c^BsD-qFzfCLd*)T0m~GZv4X{i+b_1Q}_n$wI zd?;YmVavGvjdz8FiFH2^S#4HSQ&Uq>Qxj~Mr8`eeO|1l1?JK^O`QpWkZfFCsAC2v( zLaGJ>6_ej1l@?O@$0DNA6i!t#J}LsM3FPwQ$B)e<#d4DQzNCZS@Q_-OTWKpN+wb%A<2r{UebG1soUEI1@JR!n%t=wv zAkMAj+NW`GN(u^OIQeV8zU-i`uI`Ij`F9?l`SAiZ1>uS!v8fi!@misNrA5A%pSF;i24OK9(WduwAeP5rM$q{0tX+{e_V}xwDorML@Tngs~ z4b;PLD8~=N_=luh^;{{N+cUD@4%0{pC6JvRDb0_~5cTMhBKfC)q?u8JPl;C7JXw;D zToh2hcMZrJf00xsOriK}pqkp+*>6(Qkb(!X1x~X3A5CWhkLB8~{fAVVq*AGbC6!9i ztP&*^4U(iu5|Soqk|aulq>`jr60(FO&5UQ^#zp`AC$W8BpMZHM zrUjZD0lqD$4suoO*Mg)sYF^l{y$Mz~UzZxF%0ET*b?Wlv<9u93@fd6pm@pLDf0Yd` z#V01CV>v+xQ6D-q7!MSh%>&t$DR16%KjP&T{9)tR@#ANmb?eh4)Z3Bd;i-z*-d#M;eGY21Z3M)J>J%#xB=MDDVRw%FUZ>tQVn*N{CY+=`6!X;|jb zuq=!3UyzfNhRAfApOJ#PtXc)A(hB>yDKKlZ!ZRK6tKG_{y$2`!fS18h^O5QFWU9*h z>KD(`Q1DE#Il!g;@1h>EvvW#+!DSczs*+9>8xR4-j@R=R5c=CxkecW3s*JRHRGpkkx~5O>E}@iJzczMx zzu4uMN6X7D9f`EpG zRA<+B16Dd*ZOBsOq7o zoxOi;)m0vz6A7kC+%{Uc@UW@IA#eqho#0uumkL@s$;?!R`{XR6B|%c&ST;G)o8c%o zXhFV2W6YR2&d!sViMW=j0e=>|?sY!`S#e34|MKO_XKdd-&T>q4=$w!)x(X63D+=k4 zTmjUPr8({6JKW~cG>CH!0Jw}SZn!!3-ifLD`axyRk8?o!n$~;#UhiL7S@|6yYCk&1 znm&tk$EFt7eoAa9)r$Mq{06fCId4#Ikx`cuLFh*@w zZ5_&Vcn3 zjMZ{pv%V1E1Lg%ZeA$r^UB&Q0Er{jeu&^-jg);kb7c>(K^y{=GPqo}@yS3A_-dGox zlY_|VfosD^#Ap9|nD_2+YyTnqnuPZu?1@r^1SA)e?ep`eBZvsN9Cxw@I9bP_3_L5Q za8q&nxVN?7BoP@Ohf^&~u^ee=*adY(<(X_Bhb!X{Dn*;NK1%y#RQBV)WfJb;x$>`S zqWa?8MgRVGnDBXDYH)%3BK6)gRpn9Ei2rEzJ4nw*?%KC+Fr6xZuV-%6ob~I6|8Sm0 zvKO(qybdeFT7K7mlzoet2R%$zXB9IS<2#`ZMEWOlaHc2)Vq$C|{7C~z@82sBXRv7s zHXoUpl~uQQ(9@PosjqYOn-|w3;|KzD7(HR&Xl(kNN?!I#NG>#L{TAYD2rtkm%~S}g z{&i~}I32K9ym&2=>-`&?oJ?JjP~8!L^$qhIH829l_PV;>qHw}G@MLAepZt&$$B*mC zspxHPVz9CsQP@T=s3#E86$WP*o6&fA3$QS;)X&fdP`{-T8ZlPn4H+A`MPglJly7&e2R~ zI#`(_263?nyTfS8q}QJ**j`Zrbn;0l3OIY#m4uv3gIl}SdvAvWPvd8(lBqkeq&-+|!Zf0Xpx6p5?J$PN~p znMqR_A^d>d>q4;z6(QE9#s|MPpn+j7fKuuGtPYYti+4`# z?XBBJgs>c9nb&-=!R9M(hy-VqHFyqNB zt~EmVJUTaiPux%?IUmZD`~0w9Yxa}|Wb(^DPA+`Os7(n4>US9DFX)h)hwC>PJ1$<_ zYq5pJJ(7A8FwXXemOuTB)Hh#PFb6M6Lsj{!y<}$MP}Y_Fz`;o=-R{??y1|u7#JDWG z^}3Htz`QW^<0Go;{)ULDAX4#hL$x;ufpX6 z_Ig6M7eL_@GgV3MEev%X^{Rgt&zgq%dRgYt#vzBSN1t~O#XM1dg=9tzBR9X9DJp+n zye)&q;Z|eWrLE)8I$mo1yeVb{f8PMNRZ)F}F?Kw&>*1n(%OzKD-EtZ+@I(>9-Is6Q z&e2s)g%m(&eT#noUHg@JVb^Znl%vAK2132@k>!}3yLV#~adE*(_zqfiiqpu+(Q|fpy#ebuscnXIt$B0Sk+^QqyBWF|3MZ8g$l}6p;rWaJQ zhAsk;$dI8!JJz}=aVo)f0PQ$L{5R>Mdq<>U`0W{4y(UjcJ+wSYEat=$@Hgkj4}ghN zR92n?;6ev@>f*(&$Y2mbUA=ZqIyyR9pbVT_WV4wC1-_{A6ciNT=f4)Tw-x{@bA{;v z&VJeyYpOBf@80Tk{S;{zp^fR$DS2B=c4Z_JMk_VXzM%%!UgKI3mV<_?|4jKJgwtnm zB>PKY*FX=P)86RYe*RT?oh_B;anPL-Kfhj|cPIYMTZ|v(_v-3%u{oP_fe#v>)@V)5 z{L`NAtIwPp&TN?QFER);>5pvq3>v-gjB?xfy0_DQ2({AhKY#j=hn^vXSiWeHZyfKd zC~$XvFRtDAd`|z3!(U0;vcTvf$vb0=~ z8*A$|JK7>Gl+Q7B_xf@TJSN{vTTkPg4yBHe_&g z5Y6}f0{20jJ?F=Rp}_X%Ii`B4xE}>PU$Af?SKDvnTNIJD^wxYNg6+&TYg8hpQJ{l9 zdSyDOZ+S98p)0q6<4u{#ZT&AV?*u0g5S~a(^AZe<#T}0t7;x^K|K#-8*s%oNsOV^( z4t>p3e1kk_pggpC$TlpBm5@ry_vx*nBCvhL3GWe}<;_#yv~OSQz{3WGmQUPPOw`ui zZ>pib95bfr`7k_)Ysr))P| zvvTG48#ixSb@58R~LVewY$4AEZ%A)^p>N?jG5HzrZ?3q zxt2`uDSmy1vX5EB&YRKEUEsSd=qXyE3&)Pu(prLd*}dNl4cneHL~q?NSZ=P9gM(2D z>62mPeeHLQj?D=ne;q^m*i1}9t~G=)qj$b1PrjQrb?Q7OtBW|dFQ_7PM#;+xx!w+5 z5p#rTi2g%NHQaFdcufp{R$srfAUm=@1AS z09>~oJUD8tEz2_}0>G`xa5$l@n7_T{vtUBRP_Ju(sOckaUJ49MdG)I6N#*HX z`P^is`i6#JdNaNypcx*Ph%iLM>UZ`mv%lL(+Y0^r51|<6`@lg`o*M1UplPVo4nApue@xLw1m-2 zaTvLOA&H4=^u~@ofZ|ApfpU70aq#xf84La<9hBjVX=2E7hRIaW6qbS>eMYM0$2=au z>U}PPH%-9sHC9$f@*K}euI_er9+~I3dwGPpBOf-hfGD;3?#eBZ_y%Ube;-8!-Stws z91Y<550wq?@S(hH5}x`lD{Ba6P|r7YRt#1(E2Awo7d**JFRs0o>2QXVF13U4kYyGY zpQ%`|5S-071Qk>7KhZ?0k?#d-py*Z4#c<;ecc-2XU&dt`c*2Hy>TS`gGN@W$S5!OO{$# zIL3=B!*FphB8L`YFPZK>5_lB$m!&0q5{J&16B$5b&c*f))*xMXfdtn00hhgjW6XgB zUNnF}rGB8h(dI5w&`}~-J2=R~Zy>n?BJ#?voV{Vg2zs$za$eBtJw(l4=p?WOo-Yb6 zBV*$OSryL(e2a&mpON9XZcJ@~T5(2Boj&b(;lcpBb?f}rJtL;_g2;lW9_~j94nzg| zTq#~!L^!o zTYUAqNX#uP9?e$EjJJweCbDB1QRpor6%O+wZGzZSrJ9OYMlw`?oaZPPXtMs~i4$RjH-tN( zb3+zyq(vt;wD5}gu1HG^b3hj8NUo3(DKPE-zL@+Zc<`V>#WYt%AR67s$)D7G4`UCY8=L3{!d9;P5rlvTrMDm$5tFoS|leZcu>v5J*TM>yV)!yK- zv~goseqCB#APo*aSOR`G2HJ|Ej?8nM3(cZd-GOIEDB~OAPU)Xri!R1*ij=47O9p~o zboyETShzRC*OAW&Ha5tCzExLuo++<5V1Njgw0=%>Sk&b5G6!;UR`8R#d!n{;Vlfat6=Ua7m)D4%~pZNE2q7NqIP4q3pE~Wq8SG8%) zpmVQFpD-U$>U;dSY0%!E5BI=s1qB85KVt9?z()G)@T?}XNlY9JI~c})Ag5jR>1yuK z)m>sDbc$AQZ%^t7(_S)#xx~a3VP?JD6ZNeuEtOF8I%3O%3;IiC6&2qBC*~yaqR&v& zG2$QoCM_+8zi~DqV#MKe`}t28%l|CuO}!wkanq()mya2jB)O(prFVA_vx(6%-~O0ebi>oRhfv{Oe)CZFD4)2j?b|zfrTG1 z=G^@F9pxtTQO*G=7!rgT6CFH`g68n5RjYiE29LXR@#5JJ8yhwfQjaHDN2S`tF4c9j zb>}=#FMqS^X!ycgwyAQ|GWcWK zT3d^y4`|(OVil>S?Hmx?XXfN|Ni67z{XECSQ}sVEe!eOEG3S)KL=jiWuaffp`^YGZ zQG~Ncj~>zUXzT0yF4sIl45YaBU)IdgriMp5NqV+LEm0zcuRC$<*Tx|0o4=ae;0*Z; zs*2qO$pQq93ho&JPka3MgEVD;#t^sQ#s`xNuX1s?HA1RK24gUS=5y`13v}+Y`i&p!7?iR#QQyB=D)lwDZg51Xq*hHy5-F4qvX5gd>X-F#oFwLU2}vHuaa%S2Cz zAABjgkV|~vHB`hVyQT&PLw`M|SF)iw6x}_#?r+RoJp=Q9#Y|HsoNu;GtZa*WVhK&( zY2*vr|CusnkL|{d^Tz7w-TYBmY0JouS;71Fp^OxNq3Ah-!^MAb8G4T|`}^AhT+bsU zy{@XLD17q!^QJ6a<%~&V#|C4Lw|JV;$*<=C@MgpQC@U(O;x4ix@XD1ZwWV4fd&Vls z?VT|2gbg?J?&HU+8evf1XpSD8+2FcwYM_Z1wZWaccLAYR_v_wi0M$pXl;5Q94ji_0vI17>}?La}+qB zter*AyR3!?M>AQEvan`tZmXJ~LoW$OeBrx?2a{AG|D+(560Cg5Q=AZ_5CTMj{Ne-~ z@Mg%!s=d8$fq!x+nX|%w1$V3&s`A!OPV)G4+C}gqNh(t03Afv!4~Tqr;s`o4o-zF3MS0O|Gu5Wyb|rIpb60rl~nAP{DT zXT?%6*Z=wBZ)QtlOI+eyLH*-;mQ-AO6$uZre$7@Ks5qy^XtWU$j;ZK7W!f|!A}6S+ zXp!mV1i!=x(!4MOk``mbHFZZkJjO}De(MBXy>MXzUTjHRZ9B*NgV;dRb$@&0n$~#% z7cYKyV_xlU?D7Rp^b$FQkRCvtH@|%Oaw@rS#{BuOH!}azQxX#rGV5M!tdw3*Mpqf> zXFc^ARY7eB4~sDWPNno_ibq@g#d%@P^o@2mZ`@dktChT%HQNhhxCt=;BBatBh6I5V z)(_TknlW6V>k#0(NLXHGvPaKeyS8v6Nk97fb^CRD_N;JWUNnb6)t%A@R6%SV9%XE| zLz(>zSpp^3zvSnIPf+JF?RC20xp$u+*vTThUpY;e~fww@xB~W&v!Q34?#)B|w z>*^kdE97t?>wtzAV7YoBI{6-QULA;jq)T8FVWGf{rrpmlzf{ox7`2Q)L2h(Je=P~R+`#1x(26s)GgTqk7 z*MO)P;KkS$RGPL%LsRql*RQGsJL=|#!F}>O^YYJMxG;0$MuBC+hXU|o3+qcqJS!&K zmd1~wmRM*29s_qF>uGeSW3H@Ma8M8<;leg z2sYx;BiEclr=v84r%!_BKevywrLVdP!Ut+Y?yq^ZZ`SOUn*D5nFGY>_tWbL>;l>q79`XuwYVT39KY*)RG%{cgTF8e#>zW+668(HrL%Mewa)tL;+vIjfG~wH}#o{D? za9jPi#e-+czek8V5FLXJssJsz)h96?t(7}CGl&NQ65`{d5RAU3E^Pev?cZZ*c5`M0 zo1V6aETtzJNAimkKgwd|%14gcik}!Ro}l;V%Z_fmhFVD1AGEgbDQ8wfNbhxawm@FH zq1NScKX1cfDsv<#AcDYrXplM(BdB~S@AqS8n~)ILy(6jBV%ai3$h5YT2TQ$u@>Q3y5VkP#!gkToYa8V!Ro~Xjv5dEv-MGiSfkt9w*AZd(_AiiKWF9+{Vr3%;%cnyt%Q>_>H zJlbZ$BfDK}iK&QbDN6uyIDFKHPs!3KO?@0D9OEuh(oyXS^$R64+JPYxd+`a-DF9t| z_DO*jJs)ls(Z*2&ezxFEd<--RFDln>-($aJOEeJc8s$YMCf5;T&1RNWdEc&GclV(= zYDns=atkskz536N)E6&qb51`27Cb`!RER9$=d|j0{}q71zu%0{Sb%L3+UU7=Jlfp@ zx$s!ZOoT?f#;@Lnwe=<)rRzwC+<}A&V5zC~@fCVgvGWy`lp5(h2?}r>urY26CX~Aj zcplCu_opBOnCZiS^DiQQUU{AOa!m`vnCx(l2Ig~v*TJ{;nQ=LzdO$>uT@zwCuD2^IzZ)nU1!*c z_Pf;i@i{J$9#)NHM68*+;B8)4S0}K0DEg8Tb;ta8W7kqv6ZwBV^);h_yh=o;DMtmf z|HH-n@$Nu45HMmxI^c?04?0`uB#sXt={q-dh^ck!4o_&KzLWz_gSnvs<1~w) zLp0vwu!!!m?H%e4PVR@Hf=GC zY$q6xxSZp>6wFJ21P+kWLNZmA|X0%G~|`?q~YdU`KH3GJ=9 z%uH!)jAl_y=4`y%36JC0Jx)&AJfX*+6XB>g zPa_gLf9%+?AMS}k&h_6iKaejfWj&q5bEQVAd+-|NL@?NR_u`wA_>974+OA!T^;dVg3X-1U;K3=p zK*&DGJx;jLrUc9*^qoC-u9r`W5aUvO1wVQ;kk)}5B}8-NHIO=zjlfx`GT<_XKpdt$ zq$kBksw@2hha8|zoF?*Yav`Z!b=S}#Lx%9{u!XYoFP&m-+6U4K4LfPSFTRq1O#fZVCxjS{t?-MgXl&GJpgbLgLQtCmzD5LA$|`e2BFz-_4ig9VU~AoV*95CV8fSlS z;n5WK8yxSidXDgqKNhko5balmPS-Fvy~w7GACNJ-SFE@Ym~M|(pT3^{ zWIN1%#Fza1E4b%;L;1{rmeje|0mBr!CNI*heSQ%RJKcU2`(~VVLz5lvYth@?_K!wK zMX|#_Q+yM!*=Z;UGvUXEG@Cw?N*P&(uy;r;P6AwF%>iS?Gp&LFpN)Pq3GAk4jT_%EJ4D%g?47;(H1}j08scE<{DgkBg|uV-*6yIdkTajbk@uj{&YohP9wu zAQ#fv@)w4#I6`kA1bFux^We8S@WJp@AZ9_EpiJTjK6Sir3jhOI#6c$A&IW(ud>DuH zB;--pJ+qHn%a{`g=o~~?d=?He{Uewa9~tw6`M3KQ*EW`qX@A#trW;zKSSK`FJr5fM zGX96G%&g|1%cyoyjae`d8P@ya71JzZc^roblBDCA@)!+pmaEU zb!D_%LhXw|LwV0D&CG1Dnpzfh^JdrTFAtMje(p}3Mi!eEywI@y-TD<+?AX=vPDaG54k#2!5g;Abx8OFb7sDf{*H`i)sKc98_7zm#>AK7D1 zf)##<+qXM9{(MF784W?NEGu)3OPj-)swd*sgceC3;53qs|Ts;4jfnzx8B$9 zb!oF;TLbZH#e8nev>`)mc{6r2kggL4E_{I|BDMO@ZgEC_BzKjd$nu*O_}13jWLjcV z`c}-1kE5iZJV$2ZuY7=^FRGeh3vCF5g69M6rC8jbT3mRrr=Hk3h)-VHZA%@c7sSAq zS6pfD(e8h`w`I_V(RlEH+ZlfE4ctkQWiYN5V;Pbhm&MM`ZU&+$Rap|ZXgkSvs`4mf zk}4a>*@TMT1Wv~K@v?nN;G{s0-BV{zxzm|*2(}oS<(pk8hzZm)(D`Y)9V85wP)>CO zLT4260PNSQ6iT5a$NNKidlMY5K7KriVLzCi=0t{T{;nO}fuHnNojI-7uU`G&RHuR0 z{-Lnaq+EMM?*P%gnz`VQhYkKoV~92SU1h^spA@x804>oLmpJiD%!`Rq+I(BjECJbC5PV0hs^Nw-#Kr=hSw4;~a zx?WqcmdcX9TZVoTwqb#){BtBvL$$PgZ+zGY@!u~vt3rmEa{h^+Ee^DUX1^h5uXkZO zaMEGIJk(lgmv9ZBg1RHZFJFyjp`E_vwL!2p#$JUf@O#2Paw+Ha`ZB9M>+&7%?no0o{wOsS$4fBy)Ehf1_pzV2MQ0Z_wK!_l^515W0uJaSrl^&ED%|JuJ zVDH{(##y6Bj`Rfg0)C|(1w|uC8+{ddO1(FrwEBueh^g&D1k#J01$sh6lm}9581^}} z%|&g4&g98nl*xc2X3CbJ#Z*!l9|WA~#{KT|$Nx1yJTxK=3W~y&3dnTL8eamV_>|a& z#m6hb8;5RqLvEm87x|dVk9Gh(iGh0WwbT@!?r!Q&qjKxsy|WH?Y;nW<=ru`3vY(D< z14~h2bF17S5CFNNMkpLx&bz;H_ikT`^JXV;kQ*Xv@Jk4>-&qL`g^0buQRZq;cQT@&PQ4hSC9mE>%37yBnBdp@P& z4q^B*#7~wAQxgIo5+n2Bfdf)G&z~QvuLuvi0%4X>G*@Nc88E}!bia1K(|><55YPp_ z`j;yH{7s>u$>$^jjGr~tIF3zC-45r+fmX|xD~fx8yf?yYfaJ1Cx!J~zH}+CR0mGM+ za>xe}$alVd2;@)3pxzZeS(M()F$z{wU`Gsm+!78o6lUKlE0bGVbY(rCV!B4J zNjLZMG9R)hg*>I5fc(HKpfxsc-rSNuOm&T-gm(G7dT;M4%pjF~Q~SUa-Ud7?MOU`B z2&f3J-4Mh=j{E-P?H(!~tQiMr7uj?aWMdyN-8Iec&Iz&D@?rko+t&0gWk$Rft|1C} z<8~0G*gJR5yeM=k!Xo1FI|`cL{U-E+Wl{C!N=Y*g-QblzDi(t_DXW0Yy#y@2xkNV!=Z7? zzIC`&L~q`>@tu$1wFW3n-L8iXCTj6vLXHU_tt@B~HTE{F^@KbOr4Zm16uLmg z;E%|_@G>W4g2*8F5J@P{L!Pz)wa~237sMD2hjS@m64v=ykybzi3EBDD2=oD2!C!X+uCM-Ikh+zkmJ&` z((P5avx$+LFmzu{h_MW5cy3Z~7k~P+yp41?nt#PMidV}<1{8WUdUwr%d?0BwL- zw=^}q3P<{{cbZ)%R3YYYy|hlaAOGeuiE`zdHRq5eT$-V(N`;$;uHFM% z;u@+dN|bG3W)GJP^AAwgagu<1@h1Y%BDEozq}~-;iq)%oa8E(Wgf5a03l92>YKMRO zv!I!I(rvU?qI6gDI~rP$4<}0TAf!Dg-3qEx`I|y~PALUq#m>Fp=;$68CL0j-`A`)a z=1^YrHt*h300}=HmalP`Zsk^;4-A~mUy7Jc=g6+)7qFK#&-*MQV&YFPC-lKPD|!z& z28lp85_J=Aq$HajfTI>_52r)vCWQYE6Ry#*Qe@%uEg}2mY##QoBcyL43nrEK{<~F@ z*qEXvi+9`5bFYh$oXqr8y+&6l#$>n-$I(P$Q9lDb45E5AjdeW+nC1{41tcjaH@En2 zkT~n?Nq`l|y+5NcPNLkOJmAEOm$*bc+Mgm0AyV%% zxD^ftP_<_&1Gx1T8bUK7U?~&qK9C;}5t-oh|F!lG%tOun>h)_eTa5nLmUHp;?~SKR zku(idQCTzwnT9@+D(mg1B8hDQ|`$t8lhuGOM9nLBNR}SGxx`C&^(*1YN`g4d0 z?^6jkl8hhXVsJMsY+V~8RT;2#BUnzpi|KTCIJ9~voy$bAVjyroPQ{w#%dcJ!4RyNW z)~n6(`~TMh{7P%$-_`wX{lU=NwkOyb(M6w=G}fH*WlU)V%^*4Mp1aoQ(H*^#XCjzJ z7K8Zk7)gvEL9-SMw(R)SW2{xnkE zUaj6Aj8>Rer<@+T;;dy!?{hk7KcA=B4WBk`{cV-}Kk?Jz{8uL$I~S{uIcB%&!`a!3 z&pgi`aV(*~L`HVM%*+X%->TeXn}S-2YB}n^?AymHrk_$9QM>2Lpp1P5*{zQqz;prU zhn@E)w9nR7G~~d6PJ&v9b#4LkyvG((VL*|=d7%>>NE^qYPa(uw?J4aGED8YGOFHO8 z#nT?e%Mdbw=mK!@3oA``Rlo+1?|RrOrt@I~Zq+e_&35?Al@zp9705wbKLF^-dRFN46*28~B$Zp)SCGo` z0M_k-n>TrtX(^SEJ zX(dPNA0D-unxKfWXB%_s}oCtgw^AuEcYs-~QCZEGrD z&FdAc25X)=7T4-D1uU}~3!<@-9(Coyh3Sy$!xAu%&f*)D|M@$BcynGK-wgv@Ch%c3+ZNS=4_J|chw2wM_e`~@PX-}R!*QFZ^<$Cq4 zqh=cdVm30Mw|x}L1(`dLKo&4skYY0vy(rBNr%`E zc0;8JEFi|2*vBZ~8?Kd$u8^*gUV372N%m%ym>9k9)VcHImxfOqCNvie5vwmZFpjjQ zrKtZgu<_BNL9@P}8`oB-()LdXiyE4eRoa}6CRrcil=xsdm%f*Isp}B**(KZe*lgR@ zD|}Iq)#=xzGbNsMJZ%sV;Nv{MVTk$ZLo9H#l|L~jg=vXe7fZ25&Vk?T8t}!y@T@e< z%-@s!%A4JuFbuRZ6zLr6+%E8nG5`&35*K`T@7#G5Kx_wVUoToAV4|>^#5Oi5cDB(I@RlP8*;dY;o$?*E=Q&}!M?t%~5FfTQy3{j5pV9JRP3wo{WX3qu z#Wo1I0ald60L~8jjKBKH2mWfAbg)0az`h<~2*!ar%p*cavpmlSP;4zE0?nP!fl)<) zLO_!reb_`<4Jt(d6H6YIeZ3?*kf-RfYmRXY8YzYmnCB4)6vvLSv$cKP`B(zOg-=3m zOR96J|JIAaSx+!4F&0hf$GFb(Q8Dp!VCcG}IO#|QdTHkX$Vw~cGXG$xc7T!4P_q$e z!Uft&!N^6D9EXR#Hb+VV987W%fe1nit?*)oTtTmqfgCUiFQ!o!905MSLI6V1WX;Is ztf3B)ukE%U5B}P+6(QuMP*aU+X<3h&q|UaK^?+ls6Yl2@-uJiazR)HfWF#VoYAXHJ ztCbjXy^G4OT-si&-)4I@x5|Xyc#fmv&BqkMF)TQt-}=T7nRsE#_+=e=5>;X(W)QEK z!VLIgRTe8Jjr5z+79C+!GGOzhOLR~Vgutj&#jPgks7d&a-Me~QgCZLz44lYj&K-E(hJgC9tr7jpYtG50y@iMSUxy1XIWS}YPbVF{37692 zJSwC_C7#5s#oo6}%v@6{tzNwvF(X`7XCNw2HW4T+ERMhuYBF*l7N`)Ly$wBAM!%R` z;MReU2yBLsgr)Aqj9S5GKc&M!%0jVzVC$2nPE;H^&Oa0>H|Kq;h9{#dKS~$@vtSt& z1oe-CL>1Zv38<|&8`<5+KpY*h zH>Z+v71NHQf(hu#c6OXPZQ5AKCFU4tXc6J=RA)N`ZQs!xFZ4y5T{gbW$Vjf(ISCO* zUenfI5{8@l7|)--Hw19_HZ{O{jz$}W`LhvY#+a0rlzd_lW-A*FURG6BhHQaxyo>`- zV~PKwV_4k(z)M~E(&fwMUIzcZXw`G8e zO1Voy{&8&5E;a};&4>5zb&!`ovx&9CWzB~Id9w(BSn>p0Yrlkf=zH$$*|*hd!W}^zl4JZstn^SBp1xa1I;EO;6_?77X2dCUoUVpq!{Qh zC@y98kH;XV`VSC&Aw@0YllTiCvi^qp5+ME1(U%A%DSaro!7?cXfH4?}`$xAE)1H1u z7{V6R0bkC4kOVPIqo~2`B1S8KZO=KnTy|PblNqyF<s~qfMcC?%uPfST!#+=b*0! z!B4@pIAmhxfeHm17vKpS)O1j=z;%O?ela=xy^)heYAh!5Pd~L_*lR3U>R2~nJ{?^F zV~Pt-q!vE|IjQ9t%Ye8}La>)sUS8g}z^$%F9d&aMLY?g_D*lbhXPBFwM=AXIq*|AF zMILu|IXMi1ntlOX*x~0%P!1(ou5)(2SIJXB*lPgtaB_i($qkYT?zr=9!Qq*mh@gMG zNVF~^%dOu2@XNwrQyqMmM`O2X#B;c574v7C&Sf5H2|ewSi0n#RcJ$mL^`5bcS+iqm z;5*XVN6zvKmhqUY`5gjd+G1yCXh9wwgMBld@vYS2V8!l7CUiPjNY1=7GbXz;p2K-I zvEP6Io^kA(&+|jr@HjgtARvVv%5+NL+y6i)wa`>THPry8mEnM#{9i$V7M6gB6y~BQ zT77r9W_tmYKnn#G2`G$v<(U39JBBj85> zf^_JefPjSzkf?y=GVhR-$`F#bF6~X=*S6?xPuS73A7zitJEC9_3=^2xxZ=r)MOft?oaXw&O>JZ;%R5AaFJTYum}dVm4@*Lt%FB1R7U<1o zo!zJEKd?;3q?0=9*;A&1#l`>{@U=C})?FoWg* z?2UXXBv1>GBXQb{u)O^^9gmixqN1aw8VmXscdt{^CUg`a^oCTN|>5 zag`|VmGs?}=-p8*fQpG358yL$jPi6>*a!)|6GJHoC*2q)?4`nx+F|rMMMY|;*#0li zO*1L`tEX3T5{M6T{HT1ycsK9b4QGG4PM3WW$YDufy%ar=`%>+n|Il@!tPf_M+kCl3W zh8M0P_`w53PCHUDB+WLgH*L%8bG5)iqAF!AeX4`$kIy{RaKlA15 z*FM#N*#q|9VkIsuw_iX&N6O%fSFU`d@Arzdh@4IVa+>_ju6hgBZd`)+zcX&^*nh@d zN}uPS7W&Y=_0djVdQiT1@_Gn$UZ^MR)V^mMz4|V`ud0XASo@**86UpN>))15Y;q-iA!s_5DmC_Ihe)Q|APmo@XE8Qds*2R-pStS!^2UpQgUc z+4=kGG0TMV`WgcXqxU~2bj0(J;R+(MD$E4Wt)-z+GoX8?GOC-6?28CRWV9amc{f@q z_e75}t;TqNsTzrcl!CMdsyBF&3d*Zy5h97vJJXjS)ihE~ z7rYvI44ZoiIg%_3DfluyT@curzc7!MDGy@G1r_I^_8>OEsP`7kyD-xM$zp_dLVK*w ztUWKfX~|rbzPiR^gamT)=9$#uD&ILFT%S;;mcGGNjz>*shEXu>;Y*6lU*w?e5WB}v z9@8~7L!GFP($uuvgQZ*<1^5H=kxN}!`s~hT?!Sl}0)sAJwj+e*2pK(llIp}z?GQhs z&F=12p#6t{Nn@+`Rqw4s2f7K|gMB&IZ~!f&NZoNDwRmXh_C0Q!H!m34+dCfc{5;Xv zJYZg5WamPARKYqHP2$FFfe!@f?R&*!Wiz`S$^hA3AmCaXiS-1coLvyq=Bo0Vq7m`O zW%)*T>-qK7QSIqyq%Cs1{c5a9?JPZ2%NTy)I{Z@TO%cyVHF zhjV%F-yedE7luE8CyL>D+Dd(8WgvL82c8gKe$W62F~m3Gz=42!{))_WpxipTVLJ8L zLrXa#5})$UKTAjUWkeD^4FrGy2+<;5s)_m{xw_e*k>UfI0hz`&Y_h0Xo)y<35()v9 zg}D0m{ks7O7TtRdD=rzBgVNYnT%0SO`C_QAzH8w#R{axr9 z(|3XrEz2yK0D!+8``&0oJ>y@%uKL!2c3T^a4X zIO4sKBp_Fuz0}h3N8bIdL4L?%7?SdEaaj&j;SWGM2x4+Xf>q+i*yZZO{EZ(_qE}Fi z`?D}ZBTaf z!MIMOPp1}2P~IUagJd|m#&6T2bzTfw?j;}=-R+8PHcGb@uP*(l8f~yf?IC!e58doS!W8^{5D$E@HHanjiEB1d~+&%$ZJrPlpshM7bZ)FtL`( zUy!;qn;bq*%C%Li2JuwZP8e8?U{kL##zg9+%@^GoVg*ya}Oh&dqR{2`jB(%&hgWldv^#}CcZY3k6Rh56$Vm?^#j zGoqPd)adwEDP$gKSc320KW8eh%r`nPLxKugs0*>_wH^xCHRzt*3;l+#Z4ql?R<3DO zlN2>Lv{#STjg?aK(9VsMoD#E=33_>Fx_c#G6OVZ0<2>aqhYdD|XN|ac;lg58Tl#R3 zr0wHYl{`aHhV)&X%Du*_Xil-s=RKWsSE{_+b$tq@l`_aoDhLhY~`l>Gh z>~Jv)u_iGQ0xO%LG+@ApN6u9jOVEZUf!XZ%@bP0A$uNyYEEglqM+Qz9n7$9MH#G+7 z03F_;T)qvjv;|{UV|yK?exe+saT*02^?KP&%QVz@0YpKD>`W1a4Cg0zWPpt!z7Z$@ z1f0mE>@Hp9a!WQo2bq>s8q#X=UJU$_J=2R8s5pLoQ=RvirCU-| zhF7jAqm&Ys+7LQMIS+H*^o9o$Z7JH&n59YD^5R*iCKgX zdP-t@Yjwx%58WCB_JB*#;_$49pH)?*;btS+nf_hRqSRnUARcB_C{T_2;WU!a1eLb8 z3@P7%88dR;y%W1hEVC!;LVl z6VNBX&OccCX~ow_Lle{X)29gXTBIZxC!lApu%I@E&f_jK zX!neeiVRRnLS@KD`h+DaJt&8S!b-s9z;0kn#4TwR3vASxF+nxQY#Y-`sP#SPvhq3> z$tz76x>ou@m}(nT+oVPErjBd922w=rv12iBG>{1Z`o>2_L`mR%WYNNlW5Fzv2HX>7 zVh03m5*{uHDoPpg`TWx?@paUX%dLuJv+>m!E%)E9j_pA!T22fH7j1!mE1-A5trMh@}9{%1dscw?q*Z2P8S^(EvF4tB)!`E zctbVsS9Z6TPZ(IrvclWcZwU|R$0x)5c&FG{tX@5MD_HguPMj8*YaDto#P0#i5O-*e z9JyUuz*lC(n>>Q&E@XeEjKxjs=Oawlb2d-%LG1U9nTy)krgb}7vR$$pA&-fW$PEm`>Bc13i}hU6mOaw+Uik~5%$RP<{nJ` zP#52!8g1aE8l$OxZZ|HCmZt7&Qis&2Q8oWx3$P2|$xK7x9g`+3)OiQf{~R!9ze)Iz z;r_6x^NtXgCJeIP}@fP}@KLpep zVDs2(Mxp93Vj!-#(%NK?n%`B_%B716LTkaV;NK;j@XEtJ3ec%WAFGZod>I#2|{d`V|2yBECbbup3KeVWc-u zIWN{f%}_FRa{g@g_fX{!zW*cbdU{GDd+ie_IKKGi?~%v_&Ibi`M$!w*0vly=Sw}2X zLvKvQh>RM>YydUB`bG)u_MtscCZl?3&?$&O1ZKlemsblX;z1ZgM@rAs1GhtZO0jG6 z7UKRZ-3nkA#|PM+!H*=0IZg~GSo*+I7l`w3x$~q-D);DZnx663|4PHW)(FB|8tSq) z)A6JWL_0$sal;s-=3C~F7k{f0x6-!VL6d}f@Jm74@B5zA)T;)|bsmLigH2S$jG;Z; z4CD2iD&P;0`UfgTH;kB;BJCl+zZEk(g50F>Zz6wu--d;n$$Vzf3OC`hF(Maz9L8zwe$eMeFCuArvW zdz?2W0fE;_SJ!5<_3Oj!>0@Yw)DpqlqKGdnQJTJmb{c1jZ=hb%dO_9hEKhUgk5a6) zZ}G9(!x_0~?kDH*vAJ?lmzL*!IF7t2J-fIZ7k*&?<`2;k3Hp~8i5}@WRj4o+uIAg&4>8km+? z%J(==4i_E-`Or4`U@Scf=15GV%KyICPc7;o9sp)GKQV|n!{*y;fWJpfo!DU90L#2^ z8sU8p%4kPaEY6SfZqTAyU`YKA4513Z;76^CImbhnJ1a&hHlsOJl$H6$RFB@IN&VX2 z?tWs+@a3;mo3S{P{0p{X0A+o8EDKPu>+5yl$`uP_G4I6oS@qt=v}lK!lBZ%%!;Yzu zs(e^Kp8#S;PhLq4_`mvv1OxejFJW=Z~i04)ZH!4=tb66sxqmY`3xT91DcW<(W-P z-?25Z^&W%$HrCdvuS>UgnLlryy(npCVJd-rTqIGRX^xgwu2=mkot6O}c8~s4>p>9F zvELuwyURi{H6zRXf0^0Yyd-KKIjRBq_!$Ve6ukhOL~)E152W|`8wn0=oU{Xj3trZO znPD&{EHDp{%{xBCj)o#fb>Im{ol4&~4+;Dmj8eZEM^x5$_)8y^C`7gA>1W4J8G%b7;}OvuaMnkkUN9^I zUma)k7UG*h;9OiVjB&Ur^r7lByR;}!TxUmWX)VHvUqM2z@rvE*eSiei6uL$rAJ=jE zI%9dT=^@D}9Htxy3yh5|v5d*~k~%dj_|zTfm;lyr^7q-@Y6fe288aN#9gc+;8pyk4 z&+WuxU=*AGjmPh}Z%9@}8u-MSG`lE@de&xO2XE8q;7l`?#A?%WzAGs3CBEs2@*&fq zh_b*cIx=#IpkPM%r>TKG(+~FSKIzg4HkU1lN%;L4xl}3_(iRw8SfSzg{37Ary*W=@ zYOjfKoxT3mkj;~(HUE08H4Xg@&b(zB3a{dh?Ekm@3m^+u?J!St^q`aaSijNa7*c#t z)4&=DJ8En_C`?H`r_xGJOzsIGGPMKh<_{o%)MQ|tx&w|u=aP_QOrLMOD~v^$ zkHrFjaV>g5Q9m&zA-i%Lj3BRz^;Vd0Ly^Ie90tGu+@kkHhQJU7Fp+vuZDY`vwpRT- ziDG3(mFA$@nyu!Z2UkYlqwWu20C^={uINyDpFML%XOFJcW}^Q!i^wI3%^zakF>Yi! z<{ZWx_jL%dZWP1Ecj@irzIVl8C!TQ9>a(WB;53Fzzg-igp*QFoqJr96%E3cRyLLLb z6W|bZz8)uC53@~oKdbH!&2#Ke^>+4k>FL(CKZ*Ts&e9lwf@*W@^5=93w-NE(qSOYB z{UjEa$a(Fd#xng>^*eN4SXa?tF$m*{P^E}1F!PK;GFvz!rwO4RYJS!%u^qzjc4y{v z?>u;*!;%yWK%?zEqfZ2Q3I#-i#{;M=zK~px29^Ja7 z4d|aPd_%vZpG)S$?9EvIX-WN7Lragh4Zd_h2?oKRu7k@s>BvTmIWZ?!vid8A-P48D zzx5+VbKL(tE?}*!*Npue?yh{c$;r0fBHF^1AVG!`-i2I9^oIhfM!yt~Qis_bK>!jz z__%`a6PXEkfYO~4feZN*FmOg^Sc2tAIHBeG@_2Vo^y8f*%-3IqWWuE z(82z?%^Nlt!`{w!M{=|PrSeT?52nDd2~)3UXnD#hm-M&ZU1?0)p7rI6CfBt`B0g$2 zdGK>I6nZn0Ba1f=qeu>H0+@uR#)2id$eG5I*owy>zE&h`kpcht$|MIhoJlur%spA!j&{4ZS~>$fjHXO; zp{p=0G}P>u6=hM`pXGah2Xxx+>5*0TcZa_5q)X`_!v(<(6S~sZXjikAW~^RhR)rww zY1D~w6cK1>3z2yUFuMbzQYxg@{bWg6FD9n0F%e3~KN~LqAZs2EeTV>sNL=g%rY`2% zGmB7IUy((af?6{C$v~_ZpdI50C{}ED?Gh_Jgts@}Vr=Gpe6*>@@oM^K)TnOb$9pJd z2(~uqU}qfU4uECS@{^zF125})C=(ND&iHR$h-p8^{d3UFU|&XP2Fw;Cq{JZpXYBpl zRxNa?O;OVO9j3ELCnP<9LNZD?LWx|!TCcu5hn|riHnJ{bEnT8_mGd-VUf_c3c2dspd2D{IjjYb9>v$>y} z!v7JZAixAC<&eex+XV{41&082?>Lth32BD zrI5lhD(S7e_Dp-&*nG|511!x#!!Gle~<~E-SlQ5 zCM`AU69GAl3}8T2?Z3B}3VbpI`Uj?^6{X7p#K1@1aIlJsh_n30Pgub?3NL96TLg+h z2C7y-oM0@`$Y1*}Hy2IbWrf*ly+)AghxYE0#v}|oD|`|VOJFW=82Tv#TIMx((oV$2 z7kZLc4Ux@pt}m0U|FfNRDUXyd9w@;XQr^Ak^%{d{ix4bGdC=gxqUAvc1R6MY>Qs7f zFK`TDm=J7gO$|$bf*(s_Yt>f2z(6z`9Z-#62Zl?PB06qtFowRFfErSq7cK&UNfvYJds~E|uO2!XRcwGx!6XT~G7IE&FPM)D!v)<36z1mUo zqhWXZ`iD{|*8B+xk7=qFOri8KAkTB;U#aN18SQ~mSwL_&$q|IN@T1#KEX9m-Od_6S zb#Oy&Y?+9LGzZ~d0+2TtVAK}f-j&>{>wqYyCLN-rJ?!%5lVl2v0%QtTOYF~}u=Zq> zaq0j?9v%ssBk=r{=ec-nsqMPPTMy*k2tdwc1cw%N6T)o$xq(hx)A zpygu{J|8D?1CKwuJti9kn<`SRAK*B&|5?=QK#R(As}(Nyii<+QXthR+h@gc24F87? zqkE4YLenfns~hj4U89)9X7dG(@7&jU%eO(D*g%yCF*iaG21>;GN`PS@a^xMN(WVU+ zNF6f^^hy7Bl2eRVV8vLB{01$OqKXRBgGrDt$B1`=hY)%WY~`W)s3B_5Mf?M$k9LYA zBxW_STLFRg-XkJ2Bq&q#EC%R6yc9mTg4gh9cNZ%!xcQzIk+bQyN$}ggJ{8k~Y#b1d zQj9XAgkdNcab4$tdH>UKGa{z`ED`X{KVziCD0`Jh#QFjB{f2k0UbT*!q5ATFo_N3^ z_;+OOrrn5$inq=jS8Jx@YN?gqgU76+2|9h{iU~uF^(P`jk_#nV zDmJ>CMaTenGxM-Adf3r%oCU4|sSs9&5K5G#CKY3goMz?(nEj>+;8`wSod4i7unT8| z@J5Iz+PnFSDAAMlck6UeW&;Av)6@X0Z%;1WK6dq({&8R^x51m&Y};1*tG@n@3u^F3 zu-k{hX42Wn-H0?J^zPk&y-mN?vHYO<7ei)cH8nNXJ9gBq&oHeDcYjg2NLrp>MicsJ zblLWYjdVI)3iQZ)cUPVuKr#FwKY9iQF{lc3{55PXI8)T^SXci)voO?bJ^z>Hj|%RS zTus`RMl3{PB*)<3F3>eiwa*%0wA1VajQ_f z9ZZtH5){<#0qRhzqf_Z*#uF~wXBLzlSPX*Q35vO zT<8y2VF)Z}&6rZ#n-}Ip!3$_gO(9%vw`}RbQ=#@1lOFJy z7R%aIL#Tr=ikQLt0>?Y})ezv49|`y|VZ_DaZln)P?L%d9*ZDn!xg0ee>s0Aod{yNE z*jNu~i;Y;JlOoNra4k7(z+?ud6({ zeTsYgng7$%nZV_ocWwNxZd#-glC@H_*b=g(O;W~^ow1c=l%ZlQWug#eZIQ84$u^iQ zlVzlx7))6kOKCw$C`*e{@Ar)NeV@;Ko_U^Oa^L^|?|061u5+F1G{x534tzXNq0l@z z>36`zll;8Akwcj|tOG(ADYUriw;NJ^Kz*mO_T(@i!kR84qge$7*T(t7UyQ za0g*<2lgxJHl18CUc8HWTh!WO6MH$CDbv=G*ISzNR@{`4p4M(IUwOeCR}e%bi>U7Q zL+T5mH_2)v@E&xjw+N1n+^LZ@5rIegsTa9Xs8!}MTLcn?26)by|A+}(a$MZHD*ECP z1*ySvI%#ceLz8ujo7wq~7Y=`0Jb(G}n88@(l`gyTlG63XzPqm%HdBcz(!J1-^K_x{ zt)DIgqF1Fh=q__p+!tlvJQ~6bxhc<>?;WjgzqU_GZC9!T&L*-~#=61=76hpA3Fsnn z?CB_6ry^pnnz%NQD(u#LZA01*plD;xX%loHP_hKET~^XHc5QJjh<38VOjhQR$EC#s z9D&1-HEtZXjW9fHX%yF12ug7TSo$WHwJXixxKs_l;)>;~7lhnM_%}MWv;gDK>HtA$ zQ)I;r4`apQPt>#xagz-q=J68iN6tk#){-A#9$&h?4{S_)#E}4Q%z%aUaO2=V|7vd&_i$Q9*lfE8M`UIZ=?V**EApa$M$ zp$rGJG0WApxm5SKlKwo$W-m7(`{~mTNR0^oyn><$Xjch;+z2Sb%Vb?46!)Tjn8}Yz zK`yUNwXud-iDOFD^dG&vyv}2kx}<-HoqVRIT5S_!n+BDNk9W4aB2Bh2H7!ZF{VE>t z11BM?naHusF+1}aOsbK<4*CBLShnt>m}!suth@R zgo{TiqmC3qyahfwzfL!baW6byq1)iacD3;r^3H1JgWM#M7N|M$4=%M z1E8w9AfbV?qaQ9S9`WCIQRXmUDuA9Q4aJ>{dMR`T({(7ELSB3@*II%~+&hu}C%;JZ zLwpo?3>3t?JN^Rcv2f7*^sR{}Wyu)n4TaKD+9jL}9v^XSX6o9`92R;%Zrz(I-}->_ zFnb3SF{4Yk=an*qy7~9DBuCIBUur$GS&WCmQWd|YZNLEmAB10&IflLvUWCW_Hk%p# z;eq|T_+lSC>ps9UonO&*TKSBB6}RYv&jOJ2gj9N8QSnk!shY!HceS09tY*!aJ$uTS z(WAr3o;RVa(zsaZ-c1A)7!!ahy&0KipvYkSTw)SOh%dkl1(C(2e}`st5smdioa1We zyjv6KzrQrFRM&jzhRZ7J6}p|w+_ns~jEc6{7kxVOe2?iDcP?Era>+Zh;DoZ}^*Oc= zp4?e^{K@vK55|~3IQZqINBQ47+IBYZ>D;DQRJ_}kc<+LmF_B8mkU|wzV_(mv+?s1Y z?Mhg&$bIGWnr|F{FoIC7m$ZXGqVGj7(#dF$F%2{m~X_m}|*V z@Cz#G$T5=Q0QC|5F!UI?=2l9^XHd+pkGTx?|dC^OE)S65ol zVtz%IMe*633RBs>w)py183+c1Zn$?Z?9o%nQZHW?B8QYkm}uB}&zVKWvo`i`Hl1fz z%|bt1ePk?@-U(=SJu3_HeVfAIs-BqpD6%G*<~|stg6Hyxs~pyqYif(aM)%&m6=E+o z-Sc0jqN5}1ySs;X{68(gS2ynTUfddxNl?M4(~u;i!1_z)aMKKY-az%YZay&6rHH09 zNYK8_m<57TfF7J0gU;=sUHAoy9zBMm01?@|l@-ZZyj1Z+Wq8JT;J|itd1wY$^y(!B zhPDF-Qom`j8~ppeHzJfV;mHu2atmo zQZT@5y=-hKb=VC7)s3iom0V9Z^UKt6=UvAIuG?nbb8YjGclbKnv07^oEq$sUE;Q)3 zyn!=;I+W=$Vw+G(?E7MA2(f?cs3p7?F$H)voM9(05h~YKe;SDaP%W-_{tQTvGeOR+ zw)hb`m?r6pK6`nyr|(t*3^1;We0@&f$F!dJPhY_O4t^W1zVJ%vA=B;d@XGjBsqz~c z-E9tk2X3Oq^;)(}KQZ~E7R`G4WPSVh55;1^6LC(c=H}PRgaGXZg4^L1%9j@m6*~6K zf&%Vq={5&H$ahpE?jI;tc<4-}QvYwh%id%@7~OGk zgXj3+^wO0L1SC*0FaDKIYuDPlcVcpJ=C##r$^Nwc>H8`Bu0#UE<)+@Hh~$~GH9%Gr zQ!fLuDL9$t!%HZORhf496ExN31RwIT-M^dYJDs3evFu9kVP1NXhP%|~I&5@yB>fGz zJNH}#PKg{OTwXWce&sxGo+*rr)5ku%Ow=C3yGDVzGm)cUe_~%-sD`lffL)+IV~Z4q zQo<)D3f)D9AQW)4Vcrl~uy#%h-9H=%*#h2ChBx?E0&wAQcb?vRcL@`JJWoLwkQDqo z03&*0I}k01$o}>#>0}~S!sW{(!362+htwu}C*WEKp(-JdpwHL=77nL{>u@}>g*R4X zjBM>2^*%OXo*+Kht7Ft^2-7sa90To>d8s^${G8rCLg(1h-P`dJr2bCSa`fZfAjn=VpT@Hb;ch#t!=-4pPDLG z*5BM2qq$3Mb%$LcW{eNOVI1M(f_#Jv7QR1iof=b9rk=5)NrFyb79VegZDfOx{@zM2 zpw632im}S_Q;Fj4P5A*`FD)l@Ld83b!8efHe0XKkUd9mH$O zW{F2ki;82p#CMUF;s*%%!^D>O0st3}T)HFy4!B5^N1Y_#Pat<*p7g5WGQ98<<5rm$ zjY3g}T9nBDA06;+2~0AQ9Q}Gr=l-4Jgjyx?r8Ly2{mTfbSV6> zEGPGHn1QEV+3d+LLmEhn>sB%5?pc(+IZXe#&>rep?fGu7+9CvK)0XH zw%GGv+F~bTj&5e_DF+aY$t$N#%a&Ww@Ib79&Hzj2hOrb2&*tTqp50yKh&6cy@GWv? z(aI5{h_>j7Wa~SoOv(Z~zB0E{qAgV^e@Td=DMMu|y=ZJ7H{hVa8ck{EakM13&<2&!n*-)+cX*RZY+J{MHpwA-o-8hqRKA8#io}2;vjgh1 z_8ntes7$$EaH5h|nPkVvk7)`XG;xa^dn{rIBgKOO$e7NFc}L>nR0z=&tzZ>op5VoF zsH(KmPmD0r5tAKin2B@K3G@@3QILp6g5rkL!e7Wt_&3&3{emEn$e?nRQjWZn!TJqO z;Y|%3{QEM((42uqk{M@~&qk%s8Hu-36xP(2WqCF*&|UzrIS1(BD(Q+9g8I0HBMwcl zvBrC4R7!pRhkeadRlwp@(|~-UzYbW4J~x%9svh2}9*kU)E;&s$lNcKGM;CYBmUJyM z0jLTas*IZYa(^_lY~M5$fV#SR6*Uio$eu_;C}>54 zgMTz$%R5lDE%x)%9eoV+1`%81 zemOu#s$3fz4Ig2Gy|(YV{mM+24vEGyHYkNs?2Ybj8j}lIPCzHs($+Nd8fhNxJ=cA; zFMF#Z4|D<7z(pc)L7t>%cmINdlg;aWeGzs zCul_iW_HOsP9I~fm_Ad3NLv%3{Lu-TBv=v%Mt{U%=D(C2K;ROiO9yfhEV6ydiJDi+ zG723=6J>Uq1PNxRS4*vVgJLKOFED~Mr>=yuTr3ai)Tt=A0RP*#8+&j_Gf;AOSB%rp z{BGymb6lj)Pa}#40Trm+Aq1hnF}ELoHfor3RwC(XGytCBzWHP&h#TFt%F*bc*R2<2i@=(y&t}v!#8Sb#v7gKQA&V1(fnc?0W7l)#$n5br@^OZ6d=^C~-YPP!KvMc&TRqf~c=d0fNW4+coH)np-+}_R zEh8`OZgB$+!If07^vjFD($3yVKaxmh!h`Vhc%l-M=}xi6cs(Kp79YnmxCL6L#cwBQ z!GBOL)Fw0KvJv6( zN#PG7Yl5YTtw*3mIde=gDi5eA0B_hyaO>Q5IG%c>@3@hK#!fwPy-Cb7-8;IN&Ec+) zXI`suzGWQ6>{`L+hKul*D4TfF@asS+>7vjr70D1b&(x-nz%u6{{Ro{fQG761$>$U- zB;8CpKG@q5W1t673u}xF!iA1=CCfNyDA2RuV37Su*HOt7-IpKc=2n^)_(;#c_wM#zNhO{HP)2~7cOcT zXOr)nnywOtQ_(YKjC-aqvowuO_^Ng&R8>*|-GchayFay7bEJrY52$2B$wYrM7*5n1 zETd&fJ47JjF18@Vyyhp;F60GZ{H|%k90gd}q;QL9d`6AZV#hVD`|Vsa$|nr<*waoW zAvzw03nh;(N+OkVwPfKFKguK_Vfaqkda_p@0)cP~D(3c!=8L1t7vVh%*ye;%R?!z= z%4Vm@F75{JlcvU@>{rX2j=aW(yO9h0N5^r&8&BRp`_X;Vx(O%$3_!TPi5$cE%@hlN$6?;I=9~lF&J$N&`)fI#Uya)HAjwdJ0 z{rTq>ASY0OOoelG&Lt%YOU=7;K03jqPaj>5a+VrfqS(+n9P1^JkVd%ryX(_?8h}+A zKJHEprB$S0Cd3G00$~*f1(_lmhl{4ubl(h3w0oF=?C-5DD@mz3ob-=Tv%>7-4Su)G zV-?TvSE#}E;5Euq8GB~A%+tAHfhsyTbP^lk&v1Q5C`_ZZHIP&g zFI{}DE1wDbVmgBAFs-CV3u+5$zl-Xn~Dl@W4E-H zf2zc_@+)acLZ+I>t?<5dw6&# zC~V+@h`K_P0nO=rTn?)Hh;;Cm(yca%<<1svmT5b!RmZ2kI83GDFxsyTkDl};g)J7S zyf|7>3{09&#=qLh=IY9;2R|!w|46$1s_PUuy4I09Bt0!&ES$$;TO649AF_Fk!VRM^ zsp*h#P+p)lvTTc>2T2{Z2e6QeU(EBt>TLC)=qRa*oVcyG%8qT@;70K<*m zG#X^5FVxeZfJ$SYG3+`pcPU^|ri!ym$Rx!$RLkO#5jHIl^Z+S&q!cqE&)C>*Hr(;C zc|M}B0B=d{4RbZKxAZuu=h;ZI0jxs12#J8+zvqsOjED~X3~ zq=_=uAk|Gxp;%|`t)y@2-K|T+2Qg`#OzPqAh|WXeEGKH`A6LaujpiG8kkHJi1ar|8 zutJGt`+0gQSVS=%x1o;Y51I$9w6I#KgoFB-0+g2OD7I=l(R0EkKUM*_o|QNQx##nOx$jdEYXX#(Jqjx;1~4NaVW>lW*n`y zZ+;4$puvv~R_NWV@}FIJt}G<)?LnQe%w2Rwv{)U=!!v5C&E|xR#F&ZG&GC`K4hW3C z1(6436`u?qU3Oo^WKFDQBkp94GVhRn= zOb`JwIW~IX3d1tzbo|sXcnSdz@*9XD*pVZgneE7fR?+dHnYCiYfOKon`sEdG<><;J zFm4mfAc^b~PaZnbmxG(^)6X)MFzqiqzn@hF1RbzRo^x3xwqDJ)^6cb2O@=>&R(M$S zXBPVbB1AvD;CS0Y^m6Wa>_Ek4u!eafKnr|Yx0(Wa5F8&8IR{zE5#bZ^R_+gDF{z7n zJroDrE|SAAi7#!m#HfI8&70;N(Qu_N4bPE{;78LxoB=s68LC3qBg!v0)W|FEi7qsG zV0z($*_o!-(;3C$W*5{MVbG}h;&wMnKfj0VC6j6Ab#-!;xzW2nfVFA*uPz zoMQwvOTUy)=78YTASQit&oSgvywIV(y*z3NP6E60gZz8<*0F3*2i`w}_=(Q(TuRE0 zarSjeP%91C8*qmLx3o4&Xk~Q-jv^G{aNiuiohdQ+knnAx$Agf=%ha0(KN(pv5&goG z(H7Zn&JXDJD;5o(K3uwZ@u`Yk)Z-61{VH0k6vmZjMrS7|v=!8g!}PVA*Klp!={0z{ zUxR~#_0#D6E9Zj>g)HT+??!z>GmYoStDwOmQ;t;a-ifHP_<}{$rLyN4nFiBMo8Mka zN*a+nn=IMtJ#NT8jJa9YG3N^cp=3KRWYdspjb5uJy+o-d<<755EzZjD~GP;r`5vJgCJ z|F`dV9Yz%zv=7Delb20z80d|`K?Jx$1PAO(rCm;(H0;np3|ja-RSlmcL^1ibBeq_w zbN}lvQZ9i2aYG1Duz@Y*IJ7&@AE!@ICtCP)iL5DZwqH0;FQ1HV}3adwCSf37wyiouP)< zF9L^+?E^M6Sf#o$5l_-I zLBd>Maww8yGGoHe{$x73LIEr%&_|*NDE{~PbF)vTZN7DcPT2^N37RHqifapbKJ-)M zq8i!r%+>G(sx|ES`1Pm5F_m5NE+_8R(hLo-^O$?UyZ>MPITE)^Kh+#U%KnT5ek!1x&YVipUaDd|jfqxnl;8ST+}z!~j5^uZd#+T@RP%p98f@$Vi)OsY>P z*AYlcX;b;kqUFK4LA`Q~UTbj2i0n0rV<#q5><+A384wzuQ`XX2Va;0`LScFxSY1b7 zfxB*Up_&2&bPcXc1%eTlzm zW0)enHhP}^C~~QhMc)F+B*~(>+BT&+DY1yj+^z)$yf9P)l?=zUhVMh90DnP4g+f(n zgT+N#2wXH*@aM)xPpN@71d$hH~I0P9cXXj2DcblaMxZ}IC4S{ec$jP)m)lEV{xBGRsOls zVMk_BAw>3x6DN!feSt#&ODXZ5ELO&EF}TRVrAKwRsqQdz!j6Ut>L;QLQ~$?25{xsPpIgZ+vL^hQJW!#R;-Yt1G4>%_vN4EKh`A-azTkcJ0oj zAn9RCQyjdAY#E>7=)w9!dg7HE!Udfb%#$NN2raYwI`T#-Uv*jLD4ura*})5;>E%lDB;A^>5Ck%Me1RKf60aqC8*hHZQ~u2BghQ%Db1 zEO3mdC%#!kxn-Tq%2BR$Xr~_1Mc49mz@%xFMw%`470xz$EB2DUzU^l1=?SI=E32RR zQEZ91FYPjyM#e9zYKO1Dh>-dQ#znY8-VXo;$}p!C#RZ@xoqhr;4aPd$qjM<;LG7=W ziA;f>2cMK#lAtjQzxb?P`c$tML&o4e`Z$xhBM9XlVBVP$>C4Gz&R-;(2{v3{}bjHvzl>+>%atbXeTi6t@_lCU#l!kV~^NR{pe7+H(Eh-8#rv>z?z}(7=b@AKnksRgDG|N-xAktf|&m&^=R(v zy(E$sM=~GO= z??wD2gCDOBXB1T$z8W_8#AS!giT}j6TxW22tU==+n~YW2I9co;7+AMAZ%**A3l!#p z?b#6nQjMbV$9*A3hnedn)vfwF^0C@it&p2rVIQwNFt_dH&|%`TQWFRcH21eQG|nha zsjzm0%_S?MZykwm2V9-)+J+LN)S&|gOdhw!wtI+=)!T@~XqDLA(aTyam~`E^ai~?G zewr`jC!c!M2PQw|GcD1d2@paL(vFNna6@ekt3)x$#Jsihhv%PDt21a}-utlX@0F!_ z5%!0F8$4!!pS7Vz{&S8mTRhKKF{vESKFy|4U8ANQd!K3Ws;cfVTbk!Y>bqGs^C*7M zJ^IB6&3Hvu7OQ1@S||SrQ?{Ycwa?KO4h}{nUNk%4QudvMBJp8i^XTp@zem%Rl?NDx!6M5D2 zbyLsvo7FVfB%L(6`%rJ&{SkSO9=(!y3Io->O~LYIdr<21-VN`l7gN|2u2T`z==Z6o zPjveZ=j{!);{4W*pw!=*^07Y`YgH{kZ1NqNFZRaF2}Gj)d+yA^2AmM?foRO6BAIV+(V8H~I~Ewe!|X zzlLu|yqX;x$a#+~I|B+~UtDb0qb@7gJp*=EE*gJs07BDPAhUp1|Pz; z%ij78%`ZF4Fj~~uF@yl@^PA^-`(>6?3C{s_)RK_2O1EXp{OL1hyv@p7HuzfA!Aa-) zG>pg(xUt(s#V|(2qqu0>y2xc=4yXEtE5gq`S$t($&))3!tH&*W0sCSP91FtM9H~p} z_=RiijZ9SWyX1?`AO653bL>3F?C?J;sXFM6!@;B2W=0g5DW6Xiiu92Pd1m-!v?H`! zrS_e{=gF@0-xo3RTIquFR_R8M|IyMvqdvFX!!u};mGk-nx0$`C;`!DB57-632(Kwq zeoJ8^+`;|(x6*iUHXL5M^v#2zbO;Q!8B6>2)XVYQM{!*wLd!(TMn^fTbs+4!^gIIXx>TU3X1;+k)Nq2ExLWZ38HUZ% zUM{<`D9UXTBQ9G3Z=b%bW)1c1E;&4L@HkkF%#A{w15A4UT)_tB#sPgoh;4U&+PU-4 z+CR|vJbQNodujTK)WO8;|~;gYBwLgCptP_Uu)xFyjMAq9f(>FFtVM} zd-o?CWHFT6MJ;=CQkVSwx*;)|w5P_@by{_0W~)oj-nCGw_MoO@D(@Hgv(f6R>#hXY zr8rGrrSoNWrs8qc*^~1=Ih;Gy6ll;x_-~i4CQOi@q>)dx5J+G7&P8ZSSI9zG>pA#A@y&fFe4MrQ`rP-9#)Y^A zKMNRS-0oS_?eOugo(ETlrkw6rQR8#YBEr$xa>Jfw$EOe7mf<%cRJlNJ?!y5a(>*H{ z2{dOX@y9Xz(p7Pij_s}aHm~5U>fFMMn&~mJykGbdGD-)Qen0%+{P69vmC0dC7G3b0 z5ZtjTv&-6wLtPKwS2J1RQE9ox^S!lpfQzpFP@V8voqSIf&%TD*28wFaK%=MOW+!{R zjmjJ6vHI+oC0~14?Ki4F|H9?QR7cH0L)(N*QElAuV0T@|HeL(YTb>)zgL8 z2{l`jN>c76j%eZFsCmd%J9tpp;S~E{EKJjm+bQ4g=&}DVn^iX>tHSM!9<{E>-DS}& zPvh02dlu83%IjZ#C}~-5)!U%k;x649+KlQuXsEW@s_b8aJDzo)A2zgI{?eo4)_iT1 z`5`#FVCoZ#T$`WX-@I;T)ikoH`(Gu>2)kk@*Ho)6`AzDc&s^TLIeu}hg8#UW80+$f Iv*-H%0nlWljsO4v literal 0 HcmV?d00001 diff --git a/resources/html/drag-n-drop/index.html b/resources/html/drag-n-drop/index.html new file mode 100644 index 00000000..088cce7a --- /dev/null +++ b/resources/html/drag-n-drop/index.html @@ -0,0 +1,36 @@ + + + + + + + + + Dart Drag and Drop: Basic Example + + + + + + + + + + \ No newline at end of file diff --git a/src/etaoin/api.clj b/src/etaoin/api.clj index aaf2013d..109fb21a 100644 --- a/src/etaoin/api.clj +++ b/src/etaoin/api.clj @@ -665,6 +665,168 @@ (let [[loc term] (query/expand driver q)] (find-elements-from* driver ancestor-el loc term))) +;; actions + +(declare el->ref) + +(defn rand-uuid + [] + (str (java.util.UUID/randomUUID))) + +(defn make-action-input + [type] + {:type (name type) :id (rand-uuid) :actions []}) + +(defn make-pointer-input + [type] + (-> (make-action-input :pointer) + (assoc-in [:parameters :pointerType] type))) + +(defn make-mouse-input + [] + (make-pointer-input :mouse)) + +(defn make-touch-input + [] + (make-pointer-input :touch)) + +(defn make-pen-input + [] + (make-pointer-input :pen)) + +(defn make-key-input + [] + (make-action-input :key)) + +(defn add-action + [input action] + (update input :actions conj action)) + +(defn add-pause + [input & [duration]] + (add-action input {:type "pause" :duration (or duration 0)})) + +(defn add-double-pause + [input & [duration]] + (-> input + (add-pause duration) + (add-pause duration))) + +(defn add-key-down + [input key] + (add-action input {:type "keyDown" :value key})) + +(defn add-key-up + [input key] + (add-action input {:type "keyUp" :value key})) + +(defn add-pointer-down + [input & [button]] + (add-action input {:type "pointerDown" + :duration 0 + :button (or button keys/mouse-left)})) + +(defn add-pointer-up + [input & [button]] + (add-action input {:type "pointerUp" + :duration 0 + :button (or button keys/mouse-left)})) + +(defn add-pointer-cancel + [input] + (add-action input {:type "pointerCancel"})) + +(def default-duration 250) +(def default-origin "viewport") + +(defn add-pointer-move + [input & [{:keys [x y origin duration]}]] + (add-action input {:type "pointerMove" + :x (or x 0) + :y (or y 0) + :origin (or origin default-origin) + :duraion (or duration default-duration)})) + +(defn add-pointer-move-to-el + [input el & [{:keys [duration]}]] + (add-pointer-move input {:duration duration + :origin (el->ref el)})) + +(defn add-pointer-click + [input & [button]] + (-> input + (add-pointer-down button) + (add-pointer-up button))) + +(defn add-pointer-click-el + [input el & [button]] + (-> input + (add-pointer-move-to-el el) + (add-pointer-click button))) + +(defn add-pointer-double-click + [input & [button]] + (-> input + (add-pointer-click button) + (add-pointer-click button))) + +(defn add-pointer-double-click-el + [input el & [button]] + (-> input + (add-pointer-move-to-el el) + (add-pointer-double-click button))) + +(defmacro with-key-down + [input key & body] + `(-> ~input + (add-key-down ~key) + ~@body + (add-key-up ~key))) + +(defmacro with-pointer-btn-down + [input button & body] + `(-> ~input + (add-pointer-down ~button) + ~@body + (add-pointer-up ~button))) + +(defmacro with-pointer-left-btn-down + [input & body] + `(-> ~input + add-pointer-down + ~@body + add-pointer-up)) + +(defmulti perform-actions dispatch-driver) + +(defmethod perform-actions + :default + [driver input & inputs] + (execute {:driver driver + :method :post + :path [:session (:session driver) :actions] + :data {:actions (cons input inputs)}})) + +(defmethod perform-actions + :phantom + [driver input & inputs] + (util/error "Phantom doesn't support w3c actions.")) + +(defmulti release-actions dispatch-driver) + +(defmethod release-actions + :default + [driver] + (execute {:driver driver + :method :delete + :path [:session (:session driver) :actions]})) + + +(defmethod release-actions + :phantom + [driver input & inputs] + (util/error "Phantom doesn't support w3c actions.")) + ;; ;; mouse ;; @@ -3247,3 +3409,4 @@ `(with-driver :edge (assoc ~opt :headless true) ~bind ~@body)) + diff --git a/test/etaoin/api_test.clj b/test/etaoin/api_test.clj index 02e4ea9a..75005d73 100644 --- a/test/etaoin/api_test.clj +++ b/test/etaoin/api_test.clj @@ -365,7 +365,7 @@ (deftest test-drag-n-drop (is 1) - (let [url "https://marcojakob.github.io/dart-dnd/basic/" + (let [url (-> "html/drag-n-drop/index.html" io/resource str) doc {:class :document} trash {:xpath "//div[contains(@class, 'trash')]"}] (when-not (or (firefox? *driver*) @@ -701,3 +701,52 @@ (is (has-text? *driver* [:wc3-barks {:tag :span}] "ths I've"))) (testing "wrong path" (is (not (has-text? *driver* [:wc3-barks {:tag :p} :pit-lord] "ths I've come!"))))) + + +;; actions + +(deftest test-actions + (testing "input key and mouse click" + (when-not-phantom *driver* + (let [input (query *driver* :simple-input) + password (query *driver* :simple-password) + textarea (query *driver* :simple-textarea) + submit (query *driver* :simple-submit) + keyboard (-> (make-key-input) + add-double-pause + (with-key-down "\uE01B") + add-double-pause + (with-key-down "\uE01C") + add-double-pause + (with-key-down "\uE01D")) + mouse (-> (make-mouse-input) + (add-pointer-click-el input) + add-pause + (add-pointer-click-el password) + add-pause + (add-pointer-click-el textarea) + add-pause + (add-pointer-click-el submit))] + (perform-actions *driver* keyboard mouse) + (wait 1) + (is (str/ends-with? (get-url *driver*) "?login=1&password=2&message=3"))))) + (testing "drag-n-drop" + (when-not-phantom *driver* + (let [drag-and-drop (fn [driver q-from q-to] + (let [el-from (query driver q-from) + el-to (query driver q-to) + mouse (-> (make-mouse-input) + (add-pointer-move-to-el el-from) + (with-pointer-left-btn-down + (add-pointer-move-to-el el-to)))] + (perform-actions driver mouse))) + url (-> "html/drag-n-drop/index.html" io/resource str) + doc {:class :document} + trash {:xpath "//div[contains(@class, 'trash')]"}] + (doto *driver* + (go url) + (drag-and-drop doc trash) + (drag-and-drop doc trash) + (drag-and-drop doc trash) + (drag-and-drop doc trash) + (-> (absent? doc) is)))))) diff --git a/test/etaoin/api_test2.clj b/test/etaoin/unit_test.clj similarity index 55% rename from test/etaoin/api_test2.clj rename to test/etaoin/unit_test.clj index 73819f8c..74a1d510 100644 --- a/test/etaoin/api_test2.clj +++ b/test/etaoin/unit_test.clj @@ -1,4 +1,4 @@ -(ns etaoin.api-test2 +(ns etaoin.unit-test (:require [etaoin.api :refer :all] [etaoin.proc] [clojure.test :refer :all]) @@ -56,3 +56,39 @@ clojure.lang.ExceptionInfo #"wrong-driver-path" (chrome {:path-driver "wrong-driver-path"})))) + + +(deftest test-actions + (let [keyboard (-> (make-key-input) + (with-key-down "H") + add-pause + (with-key-down "I") + (dissoc :id)) + mouse (-> (make-mouse-input) + add-pointer-click + add-pause + (with-pointer-left-btn-down + (add-pointer-move-to-el "123")) + (dissoc :id)) + keyboard-result {:type "key", + :actions + [{:type "keyDown", :value "H"} + {:type "keyUp", :value "H"} + {:type "pause", :duration 0} + {:type "keyDown", :value "I"} + {:type "keyUp", :value "I"}]} + mouse-result {:type "pointer", + :actions + [{:type "pointerDown", :duration 0, :button 0} + {:type "pointerUp", :duration 0, :button 0} + {:type "pause", :duration 0} + {:type "pointerDown", :duration 0, :button 0} + {:type "pointerMove", + :x 0, + :y 0, + :origin {:ELEMENT "123", :element-6066-11e4-a52e-4f735466cecf "123"}, + :duraion 250} + {:type "pointerUp", :duration 0, :button 0}], + :parameters {:pointerType :mouse}}] + (is (= keyboard-result keyboard)) + (is (= mouse-result mouse))))