{}(function dartProgram(){function copyProperties(a,b){var u=Object.keys(a)
for(var t=0;t<u.length;t++){var s=u[t]
b[s]=a[s]}}var z=function(){var u=function(){}
u.prototype={p:{}}
var t=new u()
if(!(t.__proto__&&t.__proto__.p===u.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 s=version()
if(/^\d+\.\d+\.\d+\.\d+$/.test(s))return true}}catch(r){}return false}()
function setFunctionNamesIfNecessary(a){function t(){};if(typeof t.name=="string")return
for(var u=0;u<a.length;u++){var t=a[u]
var s=Object.keys(t)
for(var r=0;r<s.length;r++){var q=s[r]
var p=t[q]
if(typeof p=='function')p.name=q}}}function inherit(a,b){a.prototype.constructor=a
a.prototype["$i"+a.name]=a
if(b!=null){if(z){a.prototype.__proto__=b.prototype
return}var u=Object.create(b.prototype)
copyProperties(a.prototype,u)
a.prototype=u}}function inheritMany(a,b){for(var u=0;u<b.length;u++)inherit(b[u],a)}function mixin(a,b){copyProperties(b.prototype,a.prototype)
a.prototype.constructor=a}function lazy(a,b,c,d){var u=a
a[b]=u
a[c]=function(){a[c]=function(){H.ph(b)}
var t
var s=d
try{if(a[b]===u){t=a[b]=s
t=a[b]=d()}else t=a[b]}finally{if(t===s)a[b]=null
a[c]=function(){return this[b]}}return t}}function makeConstList(a){a.immutable$list=Array
a.fixed$length=Array
return a}function convertToFastObject(a){function t(){}t.prototype=a
new t()
return a}function convertAllToFastObject(a){for(var u=0;u<a.length;++u)convertToFastObject(a[u])}var y=0
function tearOffGetter(a,b,c,d,e){return e?new Function("funcs","applyTrampolineIndex","reflectionInfo","name","H","c","return function tearOff_"+d+y+++"(receiver) {"+"if (c === null) c = "+"H.jC"+"("+"this, funcs, applyTrampolineIndex, reflectionInfo, false, true, name);"+"return new c(this, funcs[0], receiver, name);"+"}")(a,b,c,d,H,null):new Function("funcs","applyTrampolineIndex","reflectionInfo","name","H","c","return function tearOff_"+d+y+++"() {"+"if (c === null) c = "+"H.jC"+"("+"this, funcs, applyTrampolineIndex, reflectionInfo, false, false, name);"+"return new c(this, funcs[0], null, name);"+"}")(a,b,c,d,H,null)}function tearOff(a,b,c,d,e,f){var u=null
return d?function(){if(u===null)u=H.jC(this,a,b,c,true,false,e).prototype
return u}:tearOffGetter(a,b,c,e,f)}var x=0
function installTearOff(a,b,c,d,e,f,g,h,i,j){var u=[]
for(var t=0;t<h.length;t++){var s=h[t]
if(typeof s=='string')s=a[s]
s.$callName=g[t]
u.push(s)}var s=u[0]
s.$R=e
s.$D=f
var r=i
if(typeof r=="number")r=r+x
var q=h[0]
s.$stubName=q
var p=tearOff(u,j||0,r,c,q,d)
a[b]=p
if(c)s.$tearOff=p}function installStaticTearOff(a,b,c,d,e,f,g,h){return installTearOff(a,b,true,false,c,d,e,f,g,h)}function installInstanceTearOff(a,b,c,d,e,f,g,h,i){return installTearOff(a,b,false,c,d,e,f,g,h,i)}function setOrUpdateInterceptorsByTag(a){var u=v.interceptorsByTag
if(!u){v.interceptorsByTag=a
return}copyProperties(a,u)}function setOrUpdateLeafTags(a){var u=v.leafTags
if(!u){v.leafTags=a
return}copyProperties(a,u)}function updateTypes(a){var u=v.types
var t=u.length
u.push.apply(u,a)
return t}function updateHolder(a,b){copyProperties(b,a)
return a}var hunkHelpers=function(){var u=function(a,b,c,d,e){return function(f,g,h,i){return installInstanceTearOff(f,g,a,b,c,d,[h],i,e)}},t=function(a,b,c,d){return function(e,f,g,h){return installStaticTearOff(e,f,a,b,c,[g],h,d)}}
return{inherit:inherit,inheritMany:inheritMany,mixin:mixin,installStaticTearOff:installStaticTearOff,installInstanceTearOff:installInstanceTearOff,_instance_0u:u(0,0,null,["$0"],0),_instance_1u:u(0,1,null,["$1"],0),_instance_2u:u(0,2,null,["$2"],0),_instance_0i:u(1,0,null,["$0"],0),_instance_1i:u(1,1,null,["$1"],0),_instance_2i:u(1,2,null,["$2"],0),_static_0:t(0,null,["$0"],0),_static_1:t(1,null,["$1"],0),_static_2:t(2,null,["$2"],0),makeConstList:makeConstList,lazy:lazy,updateHolder:updateHolder,convertToFastObject:convertToFastObject,setFunctionNamesIfNecessary:setFunctionNamesIfNecessary,updateTypes:updateTypes,setOrUpdateInterceptorsByTag:setOrUpdateInterceptorsByTag,setOrUpdateLeafTags:setOrUpdateLeafTags}}()
function initializeDeferredHunk(a){x=v.types.length
a(hunkHelpers,v,w,$)}function getGlobalFromName(a){for(var u=0;u<w.length;u++){if(w[u]==C)continue
if(w[u][a])return w[u][a]}}var C={},H={jj:function jj(){},
nH:function(a,b,c,d){return new H.eI(a,b,[c,d])},
f1:function(){return new P.c7("No element")},
nu:function(){return new P.c7("Too many elements")},
o7:function(a,b){H.cX(a,0,J.bN(a)-1,b)},
cX:function(a,b,c,d){if(c-b<=32)H.o6(a,b,c,d)
else H.o5(a,b,c,d)},
o6:function(a,b,c,d){var u,t,s,r,q
for(u=b+1,t=J.aQ(a);u<=c;++u){s=t.i(a,u)
r=u
while(!0){if(!(r>b&&J.an(d.$2(t.i(a,r-1),s),0)))break
q=r-1
t.h(a,r,t.i(a,q))
r=q}t.h(a,r,s)}},
o5:function(a1,a2,a3,a4){var u,t,s,r,q,p,o,n,m,l,k=C.b.G(a3-a2+1,6),j=a2+k,i=a3-k,h=C.b.G(a2+a3,2),g=h-k,f=h+k,e=J.aQ(a1),d=e.i(a1,j),c=e.i(a1,g),b=e.i(a1,h),a=e.i(a1,f),a0=e.i(a1,i)
if(J.an(a4.$2(d,c),0)){u=c
c=d
d=u}if(J.an(a4.$2(a,a0),0)){u=a0
a0=a
a=u}if(J.an(a4.$2(d,b),0)){u=b
b=d
d=u}if(J.an(a4.$2(c,b),0)){u=b
b=c
c=u}if(J.an(a4.$2(d,a),0)){u=a
a=d
d=u}if(J.an(a4.$2(b,a),0)){u=a
a=b
b=u}if(J.an(a4.$2(c,a0),0)){u=a0
a0=c
c=u}if(J.an(a4.$2(c,b),0)){u=b
b=c
c=u}if(J.an(a4.$2(a,a0),0)){u=a0
a0=a
a=u}e.h(a1,j,d)
e.h(a1,h,b)
e.h(a1,i,a0)
e.h(a1,g,e.i(a1,a2))
e.h(a1,f,e.i(a1,a3))
t=a2+1
s=a3-1
if(J.ah(a4.$2(c,a),0)){for(r=t;r<=s;++r){q=e.i(a1,r)
p=a4.$2(q,c)
if(p===0)continue
if(p<0){if(r!==t){e.h(a1,r,e.i(a1,t))
e.h(a1,t,q)}++t}else for(;!0;){p=a4.$2(e.i(a1,s),c)
if(p>0){--s
continue}else{o=s-1
if(p<0){e.h(a1,r,e.i(a1,t))
n=t+1
e.h(a1,t,e.i(a1,s))
e.h(a1,s,q)
s=o
t=n
break}else{e.h(a1,r,e.i(a1,s))
e.h(a1,s,q)
s=o
break}}}}m=!0}else{for(r=t;r<=s;++r){q=e.i(a1,r)
if(a4.$2(q,c)<0){if(r!==t){e.h(a1,r,e.i(a1,t))
e.h(a1,t,q)}++t}else if(a4.$2(q,a)>0)for(;!0;)if(a4.$2(e.i(a1,s),a)>0){--s
if(s<r)break
continue}else{o=s-1
if(a4.$2(e.i(a1,s),c)<0){e.h(a1,r,e.i(a1,t))
n=t+1
e.h(a1,t,e.i(a1,s))
e.h(a1,s,q)
t=n}else{e.h(a1,r,e.i(a1,s))
e.h(a1,s,q)}s=o
break}}m=!1}l=t-1
e.h(a1,a2,e.i(a1,l))
e.h(a1,l,c)
l=s+1
e.h(a1,a3,e.i(a1,l))
e.h(a1,l,a)
H.cX(a1,a2,t-2,a4)
H.cX(a1,s+2,a3,a4)
if(m)return
if(t<j&&s>i){for(;J.ah(a4.$2(e.i(a1,t),c),0);)++t
for(;J.ah(a4.$2(e.i(a1,s),a),0);)--s
for(r=t;r<=s;++r){q=e.i(a1,r)
if(a4.$2(q,c)===0){if(r!==t){e.h(a1,r,e.i(a1,t))
e.h(a1,t,q)}++t}else if(a4.$2(q,a)===0)for(;!0;)if(a4.$2(e.i(a1,s),a)===0){--s
if(s<r)break
continue}else{o=s-1
if(a4.$2(e.i(a1,s),c)<0){e.h(a1,r,e.i(a1,t))
n=t+1
e.h(a1,t,e.i(a1,s))
e.h(a1,s,q)
t=n}else{e.h(a1,r,e.i(a1,s))
e.h(a1,s,q)}s=o
break}}H.cX(a1,t,s,a4)}else H.cX(a1,t,s,a4)},
eH:function eH(){},
cJ:function cJ(){},
bx:function bx(a,b){var _=this
_.a=a
_.b=b
_.c=0
_.d=null},
fm:function fm(a,b,c){this.a=a
this.b=b
this.$ti=c},
eI:function eI(a,b,c){this.a=a
this.b=b
this.$ti=c},
fn:function fn(a,b){this.a=null
this.b=a
this.c=b},
fo:function fo(a,b,c){this.a=a
this.b=b
this.$ti=c},
d5:function d5(a,b,c){this.a=a
this.b=b
this.$ti=c},
hJ:function hJ(a,b){this.a=a
this.b=b},
cD:function cD(){},
cT:function cT(a,b){this.a=a
this.$ti=b},
cq:function(a){var u=v.mangledGlobalNames[a]
if(typeof u==="string")return u
u="minified:"+a
return u},
oV:function(a){return v.types[a]},
p3:function(a,b){var u
if(b!=null){u=b.x
if(u!=null)return u}return!!J.A(a).$iw},
e:function(a){var u
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"
u=J.bO(a)
if(typeof u!=="string")throw H.d(H.al(a))
return u},
bA:function(a){var u=a.$identityHash
if(u==null){u=Math.random()*0x3fffffff|0
a.$identityHash=u}return u},
nO:function(a,b){var u,t=/^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(a)
if(t==null)return
u=t[3]
if(u!=null)return parseInt(a,10)
if(t[2]!=null)return parseInt(a,16)
return},
c3:function(a){return H.nK(a)+H.jB(H.bf(a),0,null)},
nK:function(a){var u,t,s,r,q,p,o,n=J.A(a),m=n.constructor
if(typeof m=="function"){u=m.name
t=typeof u==="string"?u:null}else t=null
s=t==null
if(s||n===C.N||!!n.$iaO){r=C.w(a)
if(s)t=r
if(r==="Object"){q=a.constructor
if(typeof q=="function"){p=String(q).match(/^\s*function\s*([\w$]*)\s*\(/)
o=p==null?null:p[1]
if(typeof o==="string"&&/^\w+$/.test(o))t=o}}return t}t=t
return H.cq(t.length>1&&C.j.aW(t,0)===36?C.j.bt(t,1):t)},
kN:function(a){var u,t,s,r,q=a.length
if(q<=500)return String.fromCharCode.apply(null,a)
for(u="",t=0;t<q;t=s){s=t+500
r=s<q?s:q
u+=String.fromCharCode.apply(null,a.slice(t,r))}return u},
nQ:function(a){var u,t,s,r=H.b([],[P.C])
for(u=a.length,t=0;t<a.length;a.length===u||(0,H.u)(a),++t){s=a[t]
if(typeof s!=="number"||Math.floor(s)!==s)throw H.d(H.al(s))
if(s<=65535)r.push(s)
else if(s<=1114111){r.push(55296+(C.b.aB(s-65536,10)&1023))
r.push(56320+(s&1023))}else throw H.d(H.al(s))}return H.kN(r)},
nP:function(a){var u,t,s
for(u=a.length,t=0;t<u;++t){s=a[t]
if(typeof s!=="number"||Math.floor(s)!==s)throw H.d(H.al(s))
if(s<0)throw H.d(H.al(s))
if(s>65535)return H.nQ(a)}return H.kN(a)},
kS:function(a){var u
if(a<=65535)return String.fromCharCode(a)
if(a<=1114111){u=a-65536
return String.fromCharCode((55296|C.b.aB(u,10))>>>0,56320|u&1023)}throw H.d(P.ar(a,0,1114111,null,null))},
a1:function(a){if(a.date===void 0)a.date=new Date(a.a)
return a.date},
nN:function(a){return a.b?H.a1(a).getUTCFullYear()+0:H.a1(a).getFullYear()+0},
nM:function(a){return a.b?H.a1(a).getUTCMonth()+1:H.a1(a).getMonth()+1},
nL:function(a){return a.b?H.a1(a).getUTCDate()+0:H.a1(a).getDate()+0},
kO:function(a){return a.b?H.a1(a).getUTCHours()+0:H.a1(a).getHours()+0},
kQ:function(a){return a.b?H.a1(a).getUTCMinutes()+0:H.a1(a).getMinutes()+0},
kR:function(a){return a.b?H.a1(a).getUTCSeconds()+0:H.a1(a).getSeconds()+0},
kP:function(a){return a.b?H.a1(a).getUTCMilliseconds()+0:H.a1(a).getMilliseconds()+0},
e1:function(a,b){var u,t="index"
if(typeof b!=="number"||Math.floor(b)!==b)return new P.ao(!0,b,t,null)
u=J.bN(a)
if(b<0||b>=u)return P.N(b,a,t,null,u)
return P.fW(b,t)},
al:function(a){return new P.ao(!0,a,null,null)},
d:function(a){var u
if(a==null)a=new P.c1()
u=new Error()
u.dartException=a
if("defineProperty" in Object){Object.defineProperty(u,"message",{get:H.ly})
u.name=""}else u.toString=H.ly
return u},
ly:function(){return J.bO(this.dartException)},
aa:function(a){throw H.d(a)},
u:function(a){throw H.d(P.bo(a))},
av:function(a){var u,t,s,r,q,p
a=H.pd(a.replace(String({}),'$receiver$'))
u=a.match(/\\\$[a-zA-Z]+\\\$/g)
if(u==null)u=H.b([],[P.h])
t=u.indexOf("\\$arguments\\$")
s=u.indexOf("\\$argumentsExpr\\$")
r=u.indexOf("\\$expr\\$")
q=u.indexOf("\\$method\\$")
p=u.indexOf("\\$receiver\\$")
return new H.hA(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])*)'),t,s,r,q,p)},
hB:function(a){return function($expr$){var $argumentsExpr$='$arguments$'
try{$expr$.$method$($argumentsExpr$)}catch(u){return u.message}}(a)},
l2:function(a){return function($expr$){try{$expr$.$method$}catch(u){return u.message}}(a)},
kM:function(a,b){return new H.fJ(a,b==null?null:b.method)},
jk:function(a,b){var u=b==null,t=u?null:b.method
return new H.f6(a,t,u?null:b.receiver)},
am:function(a){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g=null,f=new H.j0(a)
if(a==null)return
if(typeof a!=="object")return a
if("dartException" in a)return f.$1(a.dartException)
else if(!("message" in a))return a
u=a.message
if("number" in a&&typeof a.number=="number"){t=a.number
s=t&65535
if((C.b.aB(t,16)&8191)===10)switch(s){case 438:return f.$1(H.jk(H.e(u)+" (Error "+s+")",g))
case 445:case 5007:return f.$1(H.kM(H.e(u)+" (Error "+s+")",g))}}if(a instanceof TypeError){r=$.lG()
q=$.lH()
p=$.lI()
o=$.lJ()
n=$.lM()
m=$.lN()
l=$.lL()
$.lK()
k=$.lP()
j=$.lO()
i=r.a0(u)
if(i!=null)return f.$1(H.jk(u,i))
else{i=q.a0(u)
if(i!=null){i.method="call"
return f.$1(H.jk(u,i))}else{i=p.a0(u)
if(i==null){i=o.a0(u)
if(i==null){i=n.a0(u)
if(i==null){i=m.a0(u)
if(i==null){i=l.a0(u)
if(i==null){i=o.a0(u)
if(i==null){i=k.a0(u)
if(i==null){i=j.a0(u)
h=i!=null}else h=!0}else h=!0}else h=!0}else h=!0}else h=!0}else h=!0}else h=!0
if(h)return f.$1(H.kM(u,i))}}return f.$1(new H.hF(typeof u==="string"?u:""))}if(a instanceof RangeError){if(typeof u==="string"&&u.indexOf("call stack")!==-1)return new P.cY()
u=function(b){try{return String(b)}catch(e){}return null}(a)
return f.$1(new P.ao(!1,g,g,typeof u==="string"?u.replace(/^RangeError:\s*/,""):u))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof u==="string"&&u==="too much recursion")return new P.cY()
return a},
co:function(a){var u
if(a==null)return new H.dF(a)
u=a.$cachedTrace
if(u!=null)return u
return a.$cachedTrace=new H.dF(a)},
pb:function(a){if(a==null||typeof a!='object')return J.bi(a)
else return H.bA(a)},
oP:function(a,b){var u,t,s,r=a.length
for(u=0;u<r;u=s){t=u+1
s=t+1
b.h(0,a[u],a[t])}return b},
p2:function(a,b,c,d,e,f){switch(b){case 0:return a.$0()
case 1:return a.$1(c)
case 2:return a.$2(c,d)
case 3:return a.$3(c,d,e)
case 4:return a.$4(c,d,e,f)}throw H.d(P.kw("Unsupported number of arguments for wrapped closure"))},
be:function(a,b){var u
if(a==null)return
u=a.$identity
if(!!u)return u
u=function(c,d,e){return function(f,g,h,i){return e(c,d,f,g,h,i)}}(a,b,H.p2)
a.$identity=u
return u},
n7:function(a,b,c,d,e,f,g){var u,t,s,r,q,p,o,n,m,l=null,k=b[0],j=k.$callName,i=e?Object.create(new H.hc().constructor.prototype):Object.create(new H.bP(l,l,l,l).constructor.prototype)
i.$initialize=i.constructor
if(e)u=function static_tear_off(){this.$initialize()}
else{t=$.ap
$.ap=t+1
t=new Function("a,b,c,d"+t,"this.$initialize(a,b,c,d"+t+")")
u=t}i.constructor=u
u.prototype=i
if(!e){s=H.kn(a,k,f)
s.$reflectionInfo=d}else{i.$static_name=g
s=k}if(typeof d=="number")r=function(h,a0){return function(){return h(a0)}}(H.oV,d)
else if(typeof d=="function")if(e)r=d
else{q=f?H.kl:H.jd
r=function(h,a0){return function(){return h.apply({$receiver:a0(this)},arguments)}}(d,q)}else throw H.d("Error in reflectionInfo.")
i.$S=r
i[j]=s
for(p=s,o=1;o<b.length;++o){n=b[o]
m=n.$callName
if(m!=null){n=e?n:H.kn(a,n,f)
i[m]=n}if(o===c){n.$reflectionInfo=d
p=n}}i.$C=p
i.$R=k.$R
i.$D=k.$D
return u},
n4:function(a,b,c,d){var u=H.jd
switch(b?-1:a){case 0:return function(e,f){return function(){return f(this)[e]()}}(c,u)
case 1:return function(e,f){return function(g){return f(this)[e](g)}}(c,u)
case 2:return function(e,f){return function(g,h){return f(this)[e](g,h)}}(c,u)
case 3:return function(e,f){return function(g,h,i){return f(this)[e](g,h,i)}}(c,u)
case 4:return function(e,f){return function(g,h,i,j){return f(this)[e](g,h,i,j)}}(c,u)
case 5:return function(e,f){return function(g,h,i,j,k){return f(this)[e](g,h,i,j,k)}}(c,u)
default:return function(e,f){return function(){return e.apply(f(this),arguments)}}(d,u)}},
kn:function(a,b,c){var u,t,s,r,q,p,o
if(c)return H.n6(a,b)
u=b.$stubName
t=b.length
s=a[u]
r=b==null?s==null:b===s
q=!r||t>=27
if(q)return H.n4(t,!r,u,b)
if(t===0){r=$.ap
$.ap=r+1
p="self"+H.e(r)
r="return function(){var "+p+" = this."
q=$.bQ
return new Function(r+H.e(q==null?$.bQ=H.en("self"):q)+";return "+p+"."+H.e(u)+"();}")()}o="abcdefghijklmnopqrstuvwxyz".split("").splice(0,t).join(",")
r=$.ap
$.ap=r+1
o+=H.e(r)
r="return function("+o+"){return this."
q=$.bQ
return new Function(r+H.e(q==null?$.bQ=H.en("self"):q)+"."+H.e(u)+"("+o+");}")()},
n5:function(a,b,c,d){var u=H.jd,t=H.kl
switch(b?-1:a){case 0:throw H.d(H.nV("Intercepted function with no arguments."))
case 1:return function(e,f,g){return function(){return f(this)[e](g(this))}}(c,u,t)
case 2:return function(e,f,g){return function(h){return f(this)[e](g(this),h)}}(c,u,t)
case 3:return function(e,f,g){return function(h,i){return f(this)[e](g(this),h,i)}}(c,u,t)
case 4:return function(e,f,g){return function(h,i,j){return f(this)[e](g(this),h,i,j)}}(c,u,t)
case 5:return function(e,f,g){return function(h,i,j,k){return f(this)[e](g(this),h,i,j,k)}}(c,u,t)
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,u,t)
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,u,t)}},
n6:function(a,b){var u,t,s,r,q,p,o,n=$.bQ
if(n==null)n=$.bQ=H.en("self")
u=$.kk
if(u==null)u=$.kk=H.en("receiver")
t=b.$stubName
s=b.length
r=a[t]
q=b==null?r==null:b===r
p=!q||s>=28
if(p)return H.n5(s,!q,t,b)
if(s===1){n="return function(){return this."+H.e(n)+"."+H.e(t)+"(this."+H.e(u)+");"
u=$.ap
$.ap=u+1
return new Function(n+H.e(u)+"}")()}o="abcdefghijklmnopqrstuvwxyz".split("").splice(0,s-1).join(",")
n="return function("+o+"){return this."+H.e(n)+"."+H.e(t)+"(this."+H.e(u)+", "+o+");"
u=$.ap
$.ap=u+1
return new Function(n+H.e(u)+"}")()},
jC:function(a,b,c,d,e,f,g){return H.n7(a,b,c,d,!!e,!!f,g)},
jd:function(a){return a.a},
kl:function(a){return a.c},
en:function(a){var u,t,s,r=new H.bP("self","target","receiver","name"),q=J.kD(Object.getOwnPropertyNames(r))
for(u=q.length,t=0;t<u;++t){s=q[t]
if(r[s]===a)return s}},
pc:function(a,b){throw H.d(H.km(a,H.cq(b.substring(2))))},
ag:function(a,b){var u
if(a!=null)u=(typeof a==="object"||typeof a==="function")&&J.A(a)[b]
else u=!0
if(u)return a
H.pc(a,b)},
jE:function(a){var u
if("$S" in a){u=a.$S
if(typeof u=="number")return v.types[u]
else return a.$S()}return},
iM:function(a,b){var u
if(typeof a=="function")return!0
u=H.jE(J.A(a))
if(u==null)return!1
return H.le(u,null,b,null)},
km:function(a,b){return new H.et("CastError: "+P.jg(a)+": type '"+H.oH(a)+"' is not a subtype of type '"+b+"'")},
oH:function(a){var u,t=J.A(a)
if(!!t.$ibn){u=H.jE(t)
if(u!=null)return H.lx(u)
return"Closure"}return H.c3(a)},
ph:function(a){throw H.d(new P.eA(a))},
nV:function(a){return new H.h3(a)},
lo:function(a){return v.getIsolateTag(a)},
ln:function(a){return new H.b9(a)},
b:function(a,b){a.$ti=b
return a},
bf:function(a){if(a==null)return
return a.$ti},
q1:function(a,b,c){return H.cp(a["$a"+H.e(c)],H.bf(b))},
oU:function(a,b,c){var u=H.cp(a["$a"+H.e(b)],H.bf(a))
return u==null?null:u[c]},
S:function(a,b){var u=H.bf(a)
return u==null?null:u[b]},
lx:function(a){return H.bc(a,null)},
bc:function(a,b){if(a==null)return"dynamic"
if(a===-1)return"void"
if(typeof a==="object"&&a!==null&&a.constructor===Array)return H.cq(a[0].name)+H.jB(a,1,b)
if(typeof a=="function")return H.cq(a.name)
if(a===-2)return"dynamic"
if(typeof a==="number"){if(b==null||a<0||a>=b.length)return"unexpected-generic-index:"+H.e(a)
return H.e(b[b.length-a-1])}if('func' in a)return H.oz(a,b)
if('futureOr' in a)return"FutureOr<"+H.bc("type" in a?a.type:null,b)+">"
return"unknown-reified-type"},
oz:function(a,a0){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b=", "
if("bounds" in a){u=a.bounds
if(a0==null){a0=H.b([],[P.h])
t=null}else t=a0.length
s=a0.length
for(r=u.length,q=r;q>0;--q)a0.push("T"+(s+q))
for(p="<",o="",q=0;q<r;++q,o=b){p=C.j.q(p+o,a0[a0.length-q-1])
n=u[q]
if(n!=null&&n!==P.x)p+=" extends "+H.bc(n,a0)}p+=">"}else{p=""
t=null}m=!!a.v?"void":H.bc(a.ret,a0)
if("args" in a){l=a.args
for(k=l.length,j="",i="",h=0;h<k;++h,i=b){g=l[h]
j=j+i+H.bc(g,a0)}}else{j=""
i=""}if("opt" in a){f=a.opt
j+=i+"["
for(k=f.length,i="",h=0;h<k;++h,i=b){g=f[h]
j=j+i+H.bc(g,a0)}j+="]"}if("named" in a){e=a.named
j+=i+"{"
for(k=H.oO(e),d=k.length,i="",h=0;h<d;++h,i=b){c=k[h]
j=j+i+H.bc(e[c],a0)+(" "+H.e(c))}j+="}"}if(t!=null)a0.length=t
return p+"("+j+") => "+m},
jB:function(a,b,c){var u,t,s,r,q,p
if(a==null)return""
u=new P.bE("")
for(t=b,s="",r=!0,q="";t<a.length;++t,s=", "){u.a=q+s
p=a[t]
if(p!=null)r=!1
q=u.a+=H.bc(p,c)}return"<"+u.k(0)+">"},
jF:function(a){var u,t,s,r=J.A(a)
if(!!r.$ibn){u=H.jE(r)
if(u!=null)return u}t=r.constructor
if(typeof a!="object")return t
s=H.bf(a)
if(s!=null){s=s.slice()
s.splice(0,0,t)
t=s}return t},
cp: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},
e0:function(a,b,c,d){var u,t
if(a==null)return!1
u=H.bf(a)
t=J.A(a)
if(t[b]==null)return!1
return H.lk(H.cp(t[d],u),null,c,null)},
e3:function(a,b,c,d){if(a==null)return a
if(H.e0(a,b,c,d))return a
throw H.d(H.km(a,function(e,f){return e.replace(/[^<,> ]+/g,function(g){return f[g]||g})}(H.cq(b.substring(2))+H.jB(c,0,null),v.mangledGlobalNames)))},
lk:function(a,b,c,d){var u,t
if(c==null)return!0
if(a==null){u=c.length
for(t=0;t<u;++t)if(!H.ad(null,null,c[t],d))return!1
return!0}u=a.length
for(t=0;t<u;++t)if(!H.ad(a[t],b,c[t],d))return!1
return!0},
pR:function(a,b,c){return a.apply(b,H.cp(J.A(b)["$a"+H.e(c)],H.bf(b)))},
lq:function(a){var u
if(typeof a==="number")return!1
if('futureOr' in a){u="type" in a?a.type:null
return a==null||a.name==="x"||a.name==="Z"||a===-1||a===-2||H.lq(u)}return!1},
lm:function(a,b){var u,t
if(a==null)return b==null||b.name==="x"||b.name==="Z"||b===-1||b===-2||H.lq(b)
if(b==null||b===-1||b.name==="x"||b===-2)return!0
if(typeof b=="object"){if('futureOr' in b)if(H.lm(a,"type" in b?b.type:null))return!0
if('func' in b)return H.iM(a,b)}u=J.A(a).constructor
t=H.bf(a)
if(t!=null){t=t.slice()
t.splice(0,0,u)
u=t}return H.ad(u,null,b,null)},
ad:function(a,b,c,d){var u,t,s,r,q,p,o,n,m,l=null
if(a===c)return!0
if(c==null||c===-1||c.name==="x"||c===-2)return!0
if(a===-2)return!0
if(a==null||a===-1||a.name==="x"||a===-2){if(typeof c==="number")return!1
if('futureOr' in c)return H.ad(a,b,"type" in c?c.type:l,d)
return!1}if(typeof a==="number")return!1
if(typeof c==="number")return!1
if(a.name==="Z")return!0
if('func' in c)return H.le(a,b,c,d)
if('func' in a)return c.name==="bs"
u=typeof a==="object"&&a!==null&&a.constructor===Array
t=u?a[0]:a
if('futureOr' in c){s="type" in c?c.type:l
if('futureOr' in a)return H.ad("type" in a?a.type:l,b,s,d)
else if(H.ad(a,b,s,d))return!0
else{if(!('$i'+"aW" in t.prototype))return!1
r=t.prototype["$a"+"aW"]
q=H.cp(r,u?a.slice(1):l)
return H.ad(typeof q==="object"&&q!==null&&q.constructor===Array?q[0]:l,b,s,d)}}p=typeof c==="object"&&c!==null&&c.constructor===Array
o=p?c[0]:c
if(o!==t){n=o.name
if(!('$i'+n in t.prototype))return!1
m=t.prototype["$a"+n]}else m=l
if(!p)return!0
u=u?a.slice(1):l
p=c.slice(1)
return H.lk(H.cp(m,u),b,p,d)},
le:function(a,b,c,d){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g
if(!('func' in a))return!1
if("bounds" in a){if(!("bounds" in c))return!1
u=a.bounds
t=c.bounds
if(u.length!==t.length)return!1}else if("bounds" in c)return!1
if(!H.ad(a.ret,b,c.ret,d))return!1
s=a.args
r=c.args
q=a.opt
p=c.opt
o=s!=null?s.length:0
n=r!=null?r.length:0
m=q!=null?q.length:0
l=p!=null?p.length:0
if(o>n)return!1
if(o+m<n+l)return!1
for(k=0;k<o;++k)if(!H.ad(r[k],d,s[k],b))return!1
for(j=k,i=0;j<n;++i,++j)if(!H.ad(r[j],d,q[i],b))return!1
for(j=0;j<l;++i,++j)if(!H.ad(p[j],d,q[i],b))return!1
h=a.named
g=c.named
if(g==null)return!0
if(h==null)return!1
return H.pa(h,b,g,d)},
pa:function(a,b,c,d){var u,t,s,r=Object.getOwnPropertyNames(c)
for(u=r.length,t=0;t<u;++t){s=r[t]
if(!Object.hasOwnProperty.call(a,s))return!1
if(!H.ad(c[s],d,a[s],b))return!1}return!0},
pS:function(a,b,c){Object.defineProperty(a,b,{value:c,enumerable:false,writable:true,configurable:true})},
p8:function(a){var u,t,s,r,q=$.lp.$1(a),p=$.iL[q]
if(p!=null){Object.defineProperty(a,v.dispatchPropertyName,{value:p,enumerable:false,writable:true,configurable:true})
return p.i}u=$.iU[q]
if(u!=null)return u
t=v.interceptorsByTag[q]
if(t==null){q=$.lj.$2(a,q)
if(q!=null){p=$.iL[q]
if(p!=null){Object.defineProperty(a,v.dispatchPropertyName,{value:p,enumerable:false,writable:true,configurable:true})
return p.i}u=$.iU[q]
if(u!=null)return u
t=v.interceptorsByTag[q]}}if(t==null)return
u=t.prototype
s=q[0]
if(s==="!"){p=H.iY(u)
$.iL[q]=p
Object.defineProperty(a,v.dispatchPropertyName,{value:p,enumerable:false,writable:true,configurable:true})
return p.i}if(s==="~"){$.iU[q]=u
return u}if(s==="-"){r=H.iY(u)
Object.defineProperty(Object.getPrototypeOf(a),v.dispatchPropertyName,{value:r,enumerable:false,writable:true,configurable:true})
return r.i}if(s==="+")return H.lu(a,u)
if(s==="*")throw H.d(P.l4(q))
if(v.leafTags[q]===true){r=H.iY(u)
Object.defineProperty(Object.getPrototypeOf(a),v.dispatchPropertyName,{value:r,enumerable:false,writable:true,configurable:true})
return r.i}else return H.lu(a,u)},
lu:function(a,b){var u=Object.getPrototypeOf(a)
Object.defineProperty(u,v.dispatchPropertyName,{value:J.jJ(b,u,null,null),enumerable:false,writable:true,configurable:true})
return b},
iY:function(a){return J.jJ(a,!1,null,!!a.$iw)},
p9:function(a,b,c){var u=b.prototype
if(v.leafTags[a]===true)return H.iY(u)
else return J.jJ(u,c,null,null)},
p_:function(){if(!0===$.jI)return
$.jI=!0
H.p0()},
p0:function(){var u,t,s,r,q,p,o,n
$.iL=Object.create(null)
$.iU=Object.create(null)
H.oZ()
u=v.interceptorsByTag
t=Object.getOwnPropertyNames(u)
if(typeof window!="undefined"){window
s=function(){}
for(r=0;r<t.length;++r){q=t[r]
p=$.lw.$1(q)
if(p!=null){o=H.p9(q,u[q],p)
if(o!=null){Object.defineProperty(p,v.dispatchPropertyName,{value:o,enumerable:false,writable:true,configurable:true})
s.prototype=p}}}}for(r=0;r<t.length;++r){q=t[r]
if(/^[A-Za-z_]/.test(q)){n=u[q]
u["!"+q]=n
u["~"+q]=n
u["-"+q]=n
u["+"+q]=n
u["*"+q]=n}}},
oZ:function(){var u,t,s,r,q,p,o=C.G()
o=H.bL(C.H,H.bL(C.I,H.bL(C.x,H.bL(C.x,H.bL(C.J,H.bL(C.K,H.bL(C.L(C.w),o)))))))
if(typeof dartNativeDispatchHooksTransformer!="undefined"){u=dartNativeDispatchHooksTransformer
if(typeof u=="function")u=[u]
if(u.constructor==Array)for(t=0;t<u.length;++t){s=u[t]
if(typeof s=="function")o=s(o)||o}}r=o.getTag
q=o.getUnknownTag
p=o.prototypeForTag
$.lp=new H.iR(r)
$.lj=new H.iS(q)
$.lw=new H.iT(p)},
bL:function(a,b){return a(b)||b},
nx:function(a,b,c,d){var u=b?"m":"",t=c?"":"i",s=d?"g":"",r=function(e,f){try{return new RegExp(e,f)}catch(q){return q}}(a,u+t+s)
if(r instanceof RegExp)return r
throw H.d(P.ky("Illegal RegExp pattern ("+String(r)+")",a))},
pf:function(a,b,c){var u=a.indexOf(b,c)
return u>=0},
pd:function(a){if(/[[\]{}()*+?.\\^$|]/.test(a))return a.replace(/[[\]{}()*+?.\\^$|]/g,"\\$&")
return a},
hA:function hA(a,b,c,d,e,f){var _=this
_.a=a
_.b=b
_.c=c
_.d=d
_.e=e
_.f=f},
fJ:function fJ(a,b){this.a=a
this.b=b},
f6:function f6(a,b,c){this.a=a
this.b=b
this.c=c},
hF:function hF(a){this.a=a},
j0:function j0(a){this.a=a},
dF:function dF(a){this.a=a
this.b=null},
bn:function bn(){},
ho:function ho(){},
hc:function hc(){},
bP:function bP(a,b,c,d){var _=this
_.a=a
_.b=b
_.c=c
_.d=d},
et:function et(a){this.a=a},
h3:function h3(a){this.a=a},
b9:function b9(a){this.a=a
this.d=this.b=null},
b1:function b1(a){var _=this
_.a=0
_.f=_.e=_.d=_.c=_.b=null
_.r=0
_.$ti=a},
f5:function f5(a){this.a=a},
fd:function fd(a,b){var _=this
_.a=a
_.b=b
_.d=_.c=null},
fe:function fe(a,b){this.a=a
this.$ti=b},
ff:function ff(a,b){var _=this
_.a=a
_.b=b
_.d=_.c=null},
iR:function iR(a){this.a=a},
iS:function iS(a){this.a=a},
iT:function iT(a){this.a=a},
f4:function f4(a,b){var _=this
_.a=a
_.b=b
_.d=_.c=null},
iH:function(a){var u,t,s
if(!!J.A(a).$iv)return a
u=a.length
t=new Array(u)
t.fixed$length=Array
for(s=0;s<u;++s)t[s]=a[s]
return t},
ay:function(a,b,c){if(a>>>0!==a||a>=c)throw H.d(H.e1(b,a))},
bY:function bY(){},
c_:function c_(){},
cM:function cM(){},
bZ:function bZ(){},
cN:function cN(){},
cL:function cL(){},
fB:function fB(){},
fC:function fC(){},
fD:function fD(){},
fE:function fE(){},
fF:function fF(){},
cO:function cO(){},
fG:function fG(){},
cd:function cd(){},
ce:function ce(){},
cf:function cf(){},
cg:function cg(){},
oO:function(a){return J.kC(a?Object.keys(a):[],null)},
bg:function(a){if(typeof dartPrint=="function"){dartPrint(a)
return}if(typeof console=="object"&&typeof console.log!="undefined"){console.log(a)
return}if(typeof window=="object")return
if(typeof print=="function"){print(a)
return}throw"Unable to print message: "+String(a)}},J={
jJ:function(a,b,c,d){return{i:a,p:b,e:c,x:d}},
iP:function(a){var u,t,s,r,q=a[v.dispatchPropertyName]
if(q==null)if($.jI==null){H.p_()
q=a[v.dispatchPropertyName]}if(q!=null){u=q.p
if(!1===u)return q.i
if(!0===u)return a
t=Object.getPrototypeOf(a)
if(u===t)return q.i
if(q.e===t)throw H.d(P.l4("Return interceptor for "+H.e(u(a,q))))}s=a.constructor
r=s==null?null:s[$.jO()]
if(r!=null)return r
r=H.p8(a)
if(r!=null)return r
if(typeof a=="function")return C.O
u=Object.getPrototypeOf(a)
if(u==null)return C.A
if(u===Object.prototype)return C.A
if(typeof s=="function"){Object.defineProperty(s,$.jO(),{value:C.u,enumerable:false,writable:true,configurable:true})
return C.u}return C.u},
nv:function(a,b){if(a<0||a>4294967295)throw H.d(P.ar(a,0,4294967295,"length",null))
return J.kC(new Array(a),b)},
kC:function(a,b){return J.kD(H.b(a,[b]))},
kD:function(a){a.fixed$length=Array
return a},
nw:function(a,b){return J.mq(a,b)},
A:function(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.cH.prototype
return J.cG.prototype}if(typeof a=="string")return J.b_.prototype
if(a==null)return J.f3.prototype
if(typeof a=="boolean")return J.cF.prototype
if(a.constructor==Array)return J.aY.prototype
if(typeof a!="object"){if(typeof a=="function")return J.b0.prototype
return a}if(a instanceof P.x)return a
return J.iP(a)},
aQ:function(a){if(typeof a=="string")return J.b_.prototype
if(a==null)return a
if(a.constructor==Array)return J.aY.prototype
if(typeof a!="object"){if(typeof a=="function")return J.b0.prototype
return a}if(a instanceof P.x)return a
return J.iP(a)},
iN:function(a){if(a==null)return a
if(a.constructor==Array)return J.aY.prototype
if(typeof a!="object"){if(typeof a=="function")return J.b0.prototype
return a}if(a instanceof P.x)return a
return J.iP(a)},
oQ:function(a){if(typeof a=="number")return J.aZ.prototype
if(a==null)return a
if(typeof a=="boolean")return J.cF.prototype
if(!(a instanceof P.x))return J.aO.prototype
return a},
oR:function(a){if(typeof a=="number")return J.aZ.prototype
if(a==null)return a
if(!(a instanceof P.x))return J.aO.prototype
return a},
oS:function(a){if(typeof a=="number")return J.aZ.prototype
if(typeof a=="string")return J.b_.prototype
if(a==null)return a
if(!(a instanceof P.x))return J.aO.prototype
return a},
iO:function(a){if(typeof a=="string")return J.b_.prototype
if(a==null)return a
if(!(a instanceof P.x))return J.aO.prototype
return a},
m:function(a){if(a==null)return a
if(typeof a!="object"){if(typeof a=="function")return J.b0.prototype
return a}if(a instanceof P.x)return a
return J.iP(a)},
ah:function(a,b){if(a==null)return b==null
if(typeof a!="object")return b!=null&&a===b
return J.A(a).O(a,b)},
an:function(a,b){if(typeof a=="number"&&typeof b=="number")return a>b
return J.oR(a).aK(a,b)},
bh:function(a,b){if(typeof a=="number"&&typeof b=="number")return(a|b)>>>0
return J.oQ(a).bo(a,b)},
cs:function(a,b){if(typeof b==="number")if(a.constructor==Array||typeof a=="string"||H.p3(a,a[v.dispatchPropertyName]))if(b>>>0===b&&b<a.length)return a[b]
return J.aQ(a).i(a,b)},
k3:function(a,b){return J.iO(a).aW(a,b)},
k4:function(a,b){return J.m(a).c1(a,b)},
mk:function(a,b){return J.iN(a).w(a,b)},
ml:function(a,b,c,d){return J.m(a).ex(a,b,c,d)},
k5:function(a,b,c){return J.m(a).c4(a,b,c)},
mm:function(a,b){return J.m(a).eB(a,b)},
j7:function(a,b,c){return J.m(a).c5(a,b,c)},
bM:function(a,b,c){return J.m(a).c7(a,b,c)},
a6:function(a,b,c){return J.m(a).c8(a,b,c)},
e7:function(a,b){return J.m(a).eF(a,b)},
mn:function(a,b){return J.m(a).c9(a,b)},
mo:function(a,b,c){return J.m(a).ca(a,b,c)},
k6:function(a,b,c,d){return J.m(a).cb(a,b,c,d)},
k7:function(a,b){return J.m(a).cc(a,b)},
k8:function(a,b){return J.iN(a).ce(a,b)},
mp:function(a,b,c,d,e){return J.m(a).cf(a,b,c,d,e)},
mq:function(a,b){return J.oS(a).a7(a,b)},
mr:function(a,b){return J.aQ(a).H(a,b)},
j8:function(a,b,c){return J.aQ(a).ci(a,b,c)},
ms:function(a,b,c,d,e,f,g,h,i){return J.m(a).ck(a,b,c,d,e,f,g,h,i)},
j9:function(a){return J.m(a).cl(a)},
k9:function(a){return J.m(a).cm(a)},
mt:function(a){return J.m(a).cn(a)},
e8:function(a){return J.m(a).cp(a)},
mu:function(a){return J.m(a).eL(a)},
mv:function(a,b){return J.m(a).cr(a,b)},
ja:function(a,b){return J.m(a).cs(a,b)},
mw:function(a,b,c,d){return J.m(a).ct(a,b,c,d)},
mx:function(a,b,c,d,e){return J.m(a).eN(a,b,c,d,e)},
my:function(a,b,c,d,e){return J.m(a).cu(a,b,c,d,e)},
mz:function(a,b,c,d,e,f){return J.m(a).eO(a,b,c,d,e,f)},
mA:function(a,b){return J.iN(a).I(a,b)},
ct:function(a,b){return J.m(a).cv(a,b)},
mB:function(a,b){return J.m(a).cw(a,b)},
mC:function(a){return J.m(a).eP(a)},
mD:function(a,b){return J.m(a).T(a,b)},
e9:function(a,b,c,d,e,f){return J.m(a).cB(a,b,c,d,e,f)},
mE:function(a,b){return J.m(a).be(a,b)},
mF:function(a){return J.m(a).geA(a)},
mG:function(a){return J.m(a).gW(a)},
bi:function(a){return J.A(a).gE(a)},
cu:function(a){return J.iN(a).gD(a)},
bN:function(a){return J.aQ(a).gj(a)},
mH:function(a){return J.m(a).gcK(a)},
ka:function(a){return J.A(a).gba(a)},
mI:function(a){return J.m(a).aJ(a)},
ea:function(a){return J.m(a).bg(a)},
mJ:function(a,b){return J.m(a).bi(a,b)},
mK:function(a,b,c){return J.m(a).bj(a,b,c)},
kb:function(a,b,c){return J.m(a).bm(a,b,c)},
mL:function(a,b){return J.m(a).cG(a,b)},
mM:function(a,b,c){return J.m(a).cP(a,b,c)},
kc:function(a){return J.m(a).f1(a)},
mN:function(a,b){return J.iO(a).dh(a,b)},
mO:function(a,b,c,d){return J.m(a).bs(a,b,c,d)},
mP:function(a,b){return J.iO(a).bt(a,b)},
mQ:function(a,b,c,d,e,f,g){return J.m(a).cU(a,b,c,d,e,f,g)},
kd:function(a,b,c,d,e,f,g,h,i,j){return J.m(a).aH(a,b,c,d,e,f,g,h,i,j)},
mR:function(a,b,c,d){return J.m(a).cV(a,b,c,d)},
eb:function(a,b,c,d){return J.m(a).cW(a,b,c,d)},
mS:function(a,b,c,d,e,f){return J.m(a).fa(a,b,c,d,e,f)},
mT:function(a){return J.iO(a).fb(a)},
bO:function(a){return J.A(a).k(a)},
mU:function(a,b,c,d){return J.m(a).fd(a,b,c,d)},
mV:function(a,b,c){return J.m(a).d0(a,b,c)},
mW:function(a,b,c){return J.m(a).d1(a,b,c)},
jb:function(a,b,c){return J.m(a).d2(a,b,c)},
mX:function(a,b,c){return J.m(a).d3(a,b,c)},
ke:function(a,b,c){return J.m(a).d4(a,b,c)},
kf:function(a,b,c){return J.m(a).d5(a,b,c)},
kg:function(a,b,c){return J.m(a).d6(a,b,c)},
kh:function(a,b,c,d){return J.m(a).d7(a,b,c,d)},
ki:function(a,b,c,d){return J.m(a).d8(a,b,c,d)},
mY:function(a,b){return J.m(a).d9(a,b)},
mZ:function(a,b,c){return J.m(a).fe(a,b,c)},
n_:function(a,b,c,d,e,f,g){return J.m(a).dc(a,b,c,d,e,f,g)},
jc:function(a,b,c,d,e){return J.m(a).de(a,b,c,d,e)},
a:function a(){},
cF:function cF(){},
f3:function f3(){},
cI:function cI(){},
fN:function fN(){},
aO:function aO(){},
b0:function b0(){},
aY:function aY(a){this.$ti=a},
ji:function ji(a){this.$ti=a},
ei:function ei(a,b){var _=this
_.a=a
_.b=b
_.c=0
_.d=null},
aZ:function aZ(){},
cH:function cH(){},
cG:function cG(){},
b_:function b_(){}},P={
of:function(){var u,t,s={}
if(self.scheduleImmediate!=null)return P.oI()
if(self.MutationObserver!=null&&self.document!=null){u=self.document.createElement("div")
t=self.document.createElement("span")
s.a=null
new self.MutationObserver(H.be(new P.hO(s),1)).observe(u,{childList:true})
return new P.hN(s,u,t)}else if(self.setImmediate!=null)return P.oJ()
return P.oK()},
og:function(a){self.scheduleImmediate(H.be(new P.hP(a),0))},
oh:function(a){self.setImmediate(H.be(new P.hQ(a),0))},
oi:function(a){P.ox(0,a)},
ox:function(a,b){var u=new P.iC()
u.ef(a,b)
return u},
l8:function(a,b){var u,t,s
b.a=1
try{a.cY(new P.i5(b),new P.i6(b),null)}catch(s){u=H.am(s)
t=H.co(s)
P.pe(new P.i7(b,u,t))}},
i4:function(a,b){var u,t
for(;u=a.a,u===2;)a=a.c
if(u>=4){t=b.az()
b.a=a.a
b.c=a.c
P.bI(b,t)}else{t=b.c
b.a=2
b.c=a
a.bY(t)}},
bI:function(a,b){var u,t,s,r,q,p,o,n,m,l,k,j=null,i={},h=i.a=a
for(;!0;){u={}
t=h.a===8
if(b==null){if(t){s=h.c
h=h.b
r=s.a
s=s.b
h.toString
P.iI(j,j,h,r,s)}return}for(;q=b.a,q!=null;b=q){b.a=null
P.bI(i.a,b)}h=i.a
p=h.c
u.a=t
u.b=p
s=!t
if(s){r=b.c
r=(r&1)!==0||r===8}else r=!0
if(r){r=b.b
o=r.b
if(t){n=h.b
n.toString
n=n==o
if(!n)o.toString
else n=!0
n=!n}else n=!1
if(n){h=h.b
s=p.a
r=p.b
h.toString
P.iI(j,j,h,s,r)
return}m=$.M
if(m!=o)$.M=o
else m=j
h=b.c
if(h===8)new P.ic(i,u,b,t).$0()
else if(s){if((h&1)!==0)new P.ib(u,b,p).$0()}else if((h&2)!==0)new P.ia(i,u,b).$0()
if(m!=null)$.M=m
h=u.b
if(!!J.A(h).$iaW){if(h.a>=4){l=r.c
r.c=null
b=r.aA(l)
r.a=h.a
r.c=h.c
i.a=h
continue}else P.i4(h,r)
return}}k=b.b
l=k.c
k.c=null
b=k.aA(l)
h=u.a
s=u.b
if(!h){k.a=4
k.c=s}else{k.a=8
k.c=s}i.a=k
h=k}},
oD:function(a,b){if(H.iM(a,{func:1,args:[P.x,P.as]}))return b.f_(a)
if(H.iM(a,{func:1,args:[P.x]}))return a
throw H.d(P.kj(a,"onError","Error handler must accept one Object or one Object and a StackTrace as arguments, and return a a valid result"))},
oC:function(){var u,t
for(;u=$.bJ,u!=null;){$.cm=null
t=u.b
$.bJ=t
if(t==null)$.cl=null
u.a.$0()}},
oG:function(){$.jz=!0
try{P.oC()}finally{$.cm=null
$.jz=!1
if($.bJ!=null)$.jS().$1(P.ll())}},
lh:function(a){var u=new P.d6(a)
if($.bJ==null){$.bJ=$.cl=u
if(!$.jz)$.jS().$1(P.ll())}else $.cl=$.cl.b=u},
oF:function(a){var u,t,s=$.bJ
if(s==null){P.lh(a)
$.cm=$.cl
return}u=new P.d6(a)
t=$.cm
if(t==null){u.b=s
$.bJ=$.cm=u}else{u.b=t.b
$.cm=t.b=u
if(u.b==null)$.cl=u}},
pe:function(a){var u=null,t=$.M
if(C.f===t){P.bK(u,u,C.f,a)
return}t.toString
P.bK(u,u,t,t.c6(a))},
iI:function(a,b,c,d,e){var u={}
u.a=d
P.oF(new P.iJ(u,e))},
lf:function(a,b,c,d){var u,t=$.M
if(t===c)return d.$0()
$.M=c
u=t
try{t=d.$0()
return t}finally{$.M=u}},
lg:function(a,b,c,d,e){var u,t=$.M
if(t===c)return d.$1(e)
$.M=c
u=t
try{t=d.$1(e)
return t}finally{$.M=u}},
oE:function(a,b,c,d,e,f){var u,t=$.M
if(t===c)return d.$2(e,f)
$.M=c
u=t
try{t=d.$2(e,f)
return t}finally{$.M=u}},
bK:function(a,b,c,d){var u=C.f!==c
if(u)d=!(!u||!1)?c.c6(d):c.eC(d)
P.lh(d)},
hO:function hO(a){this.a=a},
hN:function hN(a,b,c){this.a=a
this.b=b
this.c=c},
hP:function hP(a){this.a=a},
hQ:function hQ(a){this.a=a},
iC:function iC(){},
iD:function iD(a,b){this.a=a
this.b=b},
hS:function hS(){},
hM:function hM(a,b){this.a=a
this.$ti=b},
iz:function iz(a,b){this.a=a
this.$ti=b},
i0:function i0(a,b,c,d){var _=this
_.a=null
_.b=a
_.c=b
_.d=c
_.e=d},
a9:function a9(a,b){var _=this
_.a=0
_.b=a
_.c=null
_.$ti=b},
i1:function i1(a,b){this.a=a
this.b=b},
i9:function i9(a,b){this.a=a
this.b=b},
i5:function i5(a){this.a=a},
i6:function i6(a){this.a=a},
i7:function i7(a,b,c){this.a=a
this.b=b
this.c=c},
i3:function i3(a,b){this.a=a
this.b=b},
i8:function i8(a,b){this.a=a
this.b=b},
i2:function i2(a,b,c){this.a=a
this.b=b
this.c=c},
ic:function ic(a,b,c,d){var _=this
_.a=a
_.b=b
_.c=c
_.d=d},
id:function id(a){this.a=a},
ib:function ib(a,b,c){this.a=a
this.b=b
this.c=c},
ia:function ia(a,b,c){this.a=a
this.b=b
this.c=c},
d6:function d6(a){this.a=a
this.b=null},
hh:function hh(){},
hj:function hj(a,b){this.a=a
this.b=b},
hk:function hk(a,b){this.a=a
this.b=b},
hi:function hi(){},
bj:function bj(a,b){this.a=a
this.b=b},
iF:function iF(){},
iJ:function iJ(a,b){this.a=a
this.b=b},
io:function io(){},
iq:function iq(a,b){this.a=a
this.b=b},
ip:function ip(a,b){this.a=a
this.b=b},
ir:function ir(a,b,c){this.a=a
this.b=b
this.c=c},
kF:function(a,b,c){var u
if(a==null)return new H.b1([b,c])
else u=P.oL()
return P.op(u,a,null,b,c)},
fg:function(a,b,c){return H.oP(a,new H.b1([b,c]))},
D:function(a,b){return new H.b1([a,b])},
op:function(a,b,c,d,e){return new P.ii(a,b,new P.ij(d),[d,e])},
b2:function(a){return new P.dk([a])},
bw:function(a){return new P.dk([a])},
jx:function(){var u=Object.create(null)
u["<non-identifier-key>"]=u
delete u["<non-identifier-key>"]
return u},
oq:function(a,b){var u=new P.dl(a,b)
u.c=a.e
return u},
oy:function(a,b){return J.ah(a,b)},
nt:function(a,b,c){var u,t
if(P.jA(a)){if(b==="("&&c===")")return"(...)"
return b+"..."+c}u=H.b([],[P.h])
$.bd.push(a)
try{P.oB(a,u)}finally{$.bd.pop()}t=P.kZ(b,u,", ")+c
return t.charCodeAt(0)==0?t:t},
jh:function(a,b,c){var u,t
if(P.jA(a))return b+"..."+c
u=new P.bE(b)
$.bd.push(a)
try{t=u
t.a=P.kZ(t.a,a,", ")}finally{$.bd.pop()}u.a+=c
t=u.a
return t.charCodeAt(0)==0?t:t},
jA:function(a){var u,t
for(u=$.bd.length,t=0;t<u;++t)if(a===$.bd[t])return!0
return!1},
oB:function(a,b){var u,t,s,r,q,p,o,n=a.gD(a),m=0,l=0
while(!0){if(!(m<80||l<3))break
if(!n.p())return
u=H.e(n.gv(n))
b.push(u)
m+=u.length+2;++l}if(!n.p()){if(l<=5)return
t=b.pop()
s=b.pop()}else{r=n.gv(n);++l
if(!n.p()){if(l<=4){b.push(H.e(r))
return}t=H.e(r)
s=b.pop()
m+=t.length+2}else{q=n.gv(n);++l
for(;n.p();r=q,q=p){p=n.gv(n);++l
if(l>100){while(!0){if(!(m>75&&l>3))break
m-=b.pop().length+2;--l}b.push("...")
return}}s=H.e(r)
t=H.e(q)
m+=t.length+s.length+4}}if(l>b.length+2){m+=5
o="..."}else o=null
while(!0){if(!(m>80&&b.length>3))break
m-=b.pop().length+2
if(o==null){m+=5
o="..."}}if(o!=null)b.push(o)
b.push(s)
b.push(t)},
jl:function(a,b){var u,t,s=P.b2(b)
for(u=a.length,t=0;t<a.length;a.length===u||(0,H.u)(a),++t)s.w(0,a[t])
return s},
kI:function(a){var u,t={}
if(P.jA(a))return"{...}"
u=new P.bE("")
try{$.bd.push(a)
u.a+="{"
t.a=!0
J.mD(a,new P.fl(t,u))
u.a+="}"}finally{$.bd.pop()}t=u.a
return t.charCodeAt(0)==0?t:t},
jy:function jy(a){var _=this
_.a=0
_.f=_.e=_.d=_.c=_.b=null
_.r=0
_.$ti=a},
ii:function ii(a,b,c,d){var _=this
_.x=a
_.y=b
_.z=c
_.a=0
_.f=_.e=_.d=_.c=_.b=null
_.r=0
_.$ti=d},
ij:function ij(a){this.a=a},
dk:function dk(a){var _=this
_.a=0
_.f=_.e=_.d=_.c=_.b=null
_.r=0
_.$ti=a},
ik:function ik(a){this.a=a
this.c=this.b=null},
dl:function dl(a,b){var _=this
_.a=a
_.b=b
_.d=_.c=null},
fh:function fh(){},
q:function q(){},
fk:function fk(){},
fl:function fl(a,b){this.a=a
this.b=b},
Y:function Y(){},
it:function it(){},
dm:function dm(){},
p1:function(a){var u=H.nO(a,null)
if(u!=null)return u
throw H.d(P.ky(a,null))},
nh:function(a){if(a instanceof H.bn)return a.k(0)
return"Instance of '"+H.c3(a)+"'"},
ny:function(a,b,c){var u,t,s=J.nv(a,c)
if(a!==0&&!0)for(u=s.length,t=0;t<u;++t)s[t]=!1
return s},
o8:function(a){var u=a.length,t=P.kU(0,null,u)
return H.nP(t<u?C.c.dj(a,0,t):a)},
nT:function(a){return new H.f4(a,H.nx(a,!1,!0,!1))},
kZ:function(a,b,c){var u=J.cu(b)
if(!u.p())return a
if(c.length===0){do a+=H.e(u.gv(u))
while(u.p())}else{a+=H.e(u.gv(u))
for(;u.p();)a=a+c+H.e(u.gv(u))}return a},
nb:function(a){var u=Math.abs(a),t=a<0?"-":""
if(u>=1000)return""+a
if(u>=100)return t+"0"+u
if(u>=10)return t+"00"+u
return t+"000"+u},
nc:function(a){if(a>=100)return""+a
if(a>=10)return"0"+a
return"00"+a},
cy:function(a){if(a>=10)return""+a
return"0"+a},
nf:function(a,b){return new P.bS(1e6*b+1000*a)},
jg:function(a){if(typeof a==="number"||typeof a==="boolean"||null==a)return J.bO(a)
if(typeof a==="string")return JSON.stringify(a)
return P.nh(a)},
eh:function(a){return new P.ao(!1,null,null,a)},
kj:function(a,b,c){return new P.ao(!0,a,b,c)},
kT:function(a){var u=null
return new P.c4(u,u,!1,u,u,a)},
fW:function(a,b){return new P.c4(null,null,!0,a,b,"Value not in range")},
ar:function(a,b,c,d,e){return new P.c4(b,c,!0,a,d,"Invalid value")},
kU:function(a,b,c){if(0>a||a>c)throw H.d(P.ar(a,0,c,"start",null))
if(b!=null){if(a>b||b>c)throw H.d(P.ar(b,a,c,"end",null))
return b}return c},
nR:function(a,b){if(a<0)throw H.d(P.ar(a,0,null,b,null))},
N:function(a,b,c,d,e){var u=e==null?J.bN(b):e
return new P.f_(u,!0,a,c,"Index out of range")},
o:function(a){return new P.hG(a)},
l4:function(a){return new P.hE(a)},
E:function(a){return new P.c7(a)},
bo:function(a){return new P.ev(a)},
kw:function(a){return new P.hZ(a)},
ky:function(a,b){return new P.eQ(a,b)},
P:function(a){H.bg(H.e(a))},
ae:function ae(){},
bq:function bq(a,b){this.a=a
this.b=b},
az:function az(){},
bS:function bS(a){this.a=a},
eF:function eF(){},
eG:function eG(){},
br:function br(){},
c1:function c1(){},
ao:function ao(a,b,c,d){var _=this
_.a=a
_.b=b
_.c=c
_.d=d},
c4:function c4(a,b,c,d,e,f){var _=this
_.e=a
_.f=b
_.a=c
_.b=d
_.c=e
_.d=f},
f_:function f_(a,b,c,d,e){var _=this
_.f=a
_.a=b
_.b=c
_.c=d
_.d=e},
hG:function hG(a){this.a=a},
hE:function hE(a){this.a=a},
c7:function c7(a){this.a=a},
ev:function ev(a){this.a=a},
cY:function cY(){},
eA:function eA(a){this.a=a},
hZ:function hZ(a){this.a=a},
eQ:function eQ(a,b){this.a=a
this.b=b},
bs:function bs(){},
C:function C(){},
aX:function aX(){},
f2:function f2(){},
j:function j(){},
cK:function cK(){},
Z:function Z(){},
a5:function a5(){},
x:function x(){},
as:function as(){},
h:function h(){},
bE:function bE(a){this.a=a},
jD:function(a){var u,t=J.A(a)
if(!!t.$ibt){u=t.gW(a)
if(u.constructor===Array)if(typeof CanvasPixelArray!=="undefined"){u.constructor=CanvasPixelArray
u.BYTES_PER_ELEMENT=1}return a}return new P.dP(a.data,a.height,a.width)},
oN:function(a){if(a instanceof P.dP)return{data:a.a,height:a.b,width:a.c}
return a},
af:function(a){var u,t,s,r,q
if(a==null)return
u=P.D(P.h,null)
t=Object.getOwnPropertyNames(a)
for(s=t.length,r=0;r<t.length;t.length===s||(0,H.u)(t),++r){q=t[r]
u.h(0,q,a[q])}return u},
oM:function(a){var u={}
a.T(0,new P.iK(u))
return u},
ks:function(){var u=$.kr
return u==null?$.kr=J.j8(window.navigator.userAgent,"Opera",0):u},
ne:function(){var u,t=$.ko
if(t!=null)return t
u=$.kp
if(u==null?$.kp=J.j8(window.navigator.userAgent,"Firefox",0):u)t="-moz-"
else{u=$.kq
if(u==null)u=$.kq=!P.ks()&&J.j8(window.navigator.userAgent,"Trident/",0)
if(u)t="-ms-"
else t=P.ks()?"-o-":"-webkit-"}return $.ko=t},
dP:function dP(a,b,c){this.a=a
this.b=b
this.c=c},
iK:function iK(a){this.a=a},
ow:function(a){var u=new P.il()
u.ed(a)
return u},
la:function(a,b){a=536870911&a+b
a=536870911&a+((524287&a)<<10)
return a^a>>>6},
ig:function ig(){},
il:function il(){this.b=this.a=0},
c2:function c2(a,b,c){this.a=a
this.b=b
this.$ti=c},
bC:function bC(){},
im:function im(){},
aj:function aj(){},
bv:function bv(){},
fa:function fa(){},
bz:function bz(){},
fK:function fK(){},
fP:function fP(){},
c5:function c5(){},
hl:function hl(){},
k:function k(){},
bH:function bH(){},
hz:function hz(){},
di:function di(){},
dj:function dj(){},
dv:function dv(){},
dw:function dw(){},
dH:function dH(){},
dI:function dI(){},
dN:function dN(){},
dO:function dO(){},
aV:function aV(){},
ej:function ej(){},
ek:function ek(){},
el:function el(a){this.a=a},
em:function em(){},
bk:function bk(){},
fL:function fL(){},
d7:function d7(){},
fY:function fY(){},
fZ:function fZ(){},
hb:function hb(){},
dD:function dD(){},
dE:function dE(){}},W={
cn:function(){return document},
lv:function(a,b){var u=new P.a9($.M,[b]),t=new P.hM(u,[b])
a.then(H.be(new W.iZ(t),1),H.be(new W.j_(t),1))
return u},
aS:function(a,b){var u=document.createElement("canvas")
if(b!=null)u.width=b
if(a!=null)u.height=a
return u},
ng:function(a,b,c){var u=document.body,t=(u&&C.v).a_(u,a,b,c)
t.toString
u=new H.d5(new W.a4(t),new W.eJ(),[W.L])
return u.gag(u)},
kv:function(a){return"wheel"},
bT:function(a){var u,t,s,r="element tag unavailable"
try{u=J.m(a)
t=u.gcT(a)
if(typeof t==="string")r=u.gcT(a)}catch(s){H.am(s)}return r},
ol:function(a,b){return document.createElement(a)},
ih:function(a,b){a=536870911&a+b
a=536870911&a+((524287&a)<<10)
return a^a>>>6},
lb:function(a,b,c,d){var u=W.ih(W.ih(W.ih(W.ih(0,a),b),c),d),t=536870911&u+((67108863&u)<<3)
t^=t>>>11
return 536870911&t+((16383&t)<<15)},
ax:function(a,b,c,d,e){var u=W.li(new W.hY(c),W.i)
if(u!=null&&!0)J.ml(a,b,u,!1)
return new W.hX(a,b,u,!1,[e])},
l9:function(a){var u=document.createElement("a"),t=new W.is(u,window.location)
t=new W.cb(t)
t.ec(a)
return t},
on:function(a,b,c,d){return!0},
oo:function(a,b,c,d){var u,t=d.a,s=t.a
s.href=c
u=s.hostname
t=t.b
if(!(u==t.hostname&&s.port==t.port&&s.protocol==t.protocol))if(u==="")if(s.port===""){t=s.protocol
t=t===":"||t===""}else t=!1
else t=!1
else t=!0
return t},
ld:function(){var u=P.h,t=P.jl(C.q,u),s=H.b(["TEMPLATE"],[u])
t=new W.iA(t,P.b2(u),P.b2(u),P.b2(u),null)
t.ee(null,new H.fo(C.q,new W.iB(),[H.S(C.q,0),u]),s,null)
return t},
iG:function(a){var u
if("postMessage" in a){u=W.ok(a)
return u}else return a},
ok:function(a){if(a===window)return a
else return new W.hV()},
li:function(a,b){var u=$.M
if(u===C.f)return a
return u.eE(a,b)},
iZ:function iZ(a){this.a=a},
j_:function j_(a){this.a=a},
n:function n(){},
ec:function ec(){},
ef:function ef(){},
eg:function eg(){},
cv:function cv(){},
bl:function bl(){},
aR:function aR(){},
cx:function cx(){},
aT:function aT(){},
ew:function ew(){},
H:function H(){},
bp:function bp(){},
ex:function ex(){},
ab:function ab(){},
aq:function aq(){},
ey:function ey(){},
ez:function ez(){},
eB:function eB(){},
cA:function cA(){},
bR:function bR(){},
eC:function eC(){},
cB:function cB(){},
cC:function cC(){},
eD:function eD(){},
eE:function eE(){},
i_:function i_(a,b){this.a=a
this.$ti=b},
ac:function ac(){},
eJ:function eJ(){},
i:function i(){},
f:function f(){},
aC:function aC(){},
eM:function eM(){},
eN:function eN(){},
eP:function eP(){},
aD:function aD(){},
eW:function eW(){},
bU:function bU(){},
bt:function bt(){},
bV:function bV(){},
bu:function bu(){},
fi:function fi(){},
fp:function fp(){},
fq:function fq(){},
fr:function fr(a){this.a=a},
fs:function fs(){},
ft:function ft(a){this.a=a},
aF:function aF(){},
fu:function fu(){},
X:function X(){},
a4:function a4(a){this.a=a},
L:function L(){},
c0:function c0(){},
aH:function aH(){},
fO:function fO(){},
h1:function h1(){},
h2:function h2(a){this.a=a},
b8:function b8(){},
aI:function aI(){},
h8:function h8(){},
aJ:function aJ(){},
ha:function ha(){},
aK:function aK(){},
hf:function hf(){},
hg:function hg(a){this.a=a},
at:function at(){},
cZ:function cZ(){},
hm:function hm(){},
hn:function hn(){},
c8:function c8(){},
aL:function aL(){},
au:function au(){},
hp:function hp(){},
hq:function hq(){},
hr:function hr(){},
aM:function aM(){},
hx:function hx(){},
hy:function hy(){},
aN:function aN(){},
hH:function hH(){},
hI:function hI(){},
ba:function ba(){},
ca:function ca(){},
hK:function hK(a){this.a=a},
hT:function hT(){},
d9:function d9(){},
ie:function ie(){},
ds:function ds(){},
iw:function iw(){},
ix:function ix(){},
hR:function hR(){},
hW:function hW(a){this.a=a},
bb:function bb(a,b,c,d){var _=this
_.a=a
_.b=b
_.c=c
_.$ti=d},
aP:function aP(a,b,c,d){var _=this
_.a=a
_.b=b
_.c=c
_.$ti=d},
hX:function hX(a,b,c,d,e){var _=this
_.b=a
_.c=b
_.d=c
_.e=d
_.$ti=e},
hY:function hY(a){this.a=a},
hU:function hU(a,b){this.a=a
this.$ti=b},
cb:function cb(a){this.a=a},
K:function K(){},
cP:function cP(a){this.a=a},
fI:function fI(a){this.a=a},
fH:function fH(a,b,c){this.a=a
this.b=b
this.c=c},
dA:function dA(){},
iu:function iu(){},
iv:function iv(){},
iA:function iA(a,b,c,d,e){var _=this
_.e=a
_.a=b
_.b=c
_.c=d
_.d=e},
iB:function iB(){},
iy:function iy(){},
cE:function cE(a,b){var _=this
_.a=a
_.b=b
_.c=-1
_.d=null},
hV:function hV(){},
aG:function aG(){},
is:function is(a,b){this.a=a
this.b=b},
dQ:function dQ(a){this.a=a},
iE:function iE(a){this.a=a},
d8:function d8(){},
da:function da(){},
db:function db(){},
dc:function dc(){},
dd:function dd(){},
de:function de(){},
df:function df(){},
dg:function dg(){},
dh:function dh(){},
dn:function dn(){},
dp:function dp(){},
dq:function dq(){},
dr:function dr(){},
dt:function dt(){},
du:function du(){},
dx:function dx(){},
dy:function dy(){},
dz:function dz(){},
ch:function ch(){},
ci:function ci(){},
dB:function dB(){},
dC:function dC(){},
dG:function dG(){},
dJ:function dJ(){},
dK:function dK(){},
cj:function cj(){},
ck:function ck(){},
dL:function dL(){},
dM:function dM(){},
dR:function dR(){},
dS:function dS(){},
dT:function dT(){},
dU:function dU(){},
dV:function dV(){},
dW:function dW(){},
dX:function dX(){},
dY:function dY(){},
dZ:function dZ(){},
e_:function e_(){}},G={
od:function(a){var u,t,s=H.b(a.split("\n"),[P.h])
for(u=0;u<s.length;u=t){t=u+1
s[u]=""+t+": "+H.e(s[u])}return C.c.ak(s,"\n")},
l6:function(a,b,c){var u,t,s=J.m(a),r=s.co(a,b)
s.br(a,r,c)
s.cg(a,r)
u=s.bl(a,r,35713)
if(u!=null&&!u){t=s.bk(a,r)
P.P("E:Compilation failed:")
P.P("E:"+G.od(c))
P.P("E:Failure:")
P.P(C.j.q("E:",t))
throw H.d(t)}return r},
kz:function(a,b,c){var u,t=36160,s=new G.ai(a,b,c),r=J.k9(a.a)
s.b=r
J.bM(a.a,t,r)
J.e9(a.a,t,36064,3553,b.b,0)
if(c!=null){r=c.b
J.e9(a.a,t,36096,3553,r,0)}u=J.k7(a.a,t)
if(u!==36053)H.aa("Error Incomplete Framebuffer: "+H.e(u))
J.bM(a.a,t,null)
return s},
eR:function(a,b,c){var u,t,s,r=36160,q=$.jQ(),p=G.l3(a,"frame::color",b,c,32856,q)
q=G.l3(a,"frame::depth",b,c,33190,q)
u=new G.ai(a,p,q)
t=J.k9(a.a)
u.b=t
J.bM(a.a,r,t)
J.e9(a.a,r,36064,3553,p.b,0)
J.e9(a.a,r,36096,3553,q.b,0)
s=J.k7(a.a,r)
if(s!==36053)H.aa("Error Incomplete Framebuffer: "+H.e(s))
J.bM(a.a,r,null)
return u},
kL:function(a,b,c,d,e){var u,t,s,r,q,p,o,n,m
d.t(b)
d.am(0,a)
e.t(c)
e.am(0,a)
u=e.a
t=u[0]
s=u[1]
r=u[2]
q=d.a
p=q[0]
o=q[1]
n=q[2]
u[0]=s*n-r*o
u[1]=r*p-t*n
u[2]=t*o-s*p
m=Math.sqrt(e.gae())
if(m===0)return!1
e.aL(0,-1/m)
return!0},
jG:function(a){var u,t,s,r=a.a.buffer
r.toString
if(!J.A(r).$ibY)H.aa(P.eh("Invalid view buffer"))
r=new Int32Array(r,0)
u=r.length
t=0
s=0
for(;s<u;++s)t=(t^r[s])>>>0
return t},
nq:function(a,b,c){var u,t,s,r,q,p
C.t.cA(a,0,a.length,0)
C.t.cA(b,0,4,0)
for(u=c.length,t=0,s=0;s<u;++s){r=c[s]
q=t*16
p=r.z.a
a[q+4]=p[0]
a[q+5]=p[1]
a[q+6]=p[2]
p=r.e.a
a[q+8]=p[0]
a[q+9]=p[1]
a[q+10]=p[2]
p=r.f.a
a[q+12]=p[0]
a[q+13]=p[1]
a[q+14]=p[2]
b[t]=r.d;++t}},
l_:function(a,b,c){return new G.d_(a,b,c)},
W:function(a){var u=P.D(P.h,P.x)
u.h(0,"cDepthTest",!0)
u.h(0,"cDepthWrite",!0)
u.h(0,"cBlendEquation",$.jL())
u.h(0,"cStencilFunc",$.jP())
return new G.a8(u,a)},
kx:function(a){var u,t,s=a.length,r=new Float32Array(s*3)
for(s=a.length,u=0;u<s;++u){t=u*3
r[t]=a[u].a[0]
r[t+1]=a[u].a[1]
r[t+2]=a[u].a[2]}return r},
nl:function(a){var u,t,s=a.length,r=new Float32Array(s*2)
for(s=a.length,u=0;u<s;++u){t=u*2
r[t]=a[u].a[0]
r[t+1]=a[u].a[1]}return r},
nm:function(a){var u,t,s=a.length,r=new Float32Array(s*4)
for(s=a.length,u=0;u<s;++u){t=u*4
r[t]=a[u].a[0]
r[t+1]=a[u].a[1]
r[t+2]=a[u].a[2]
r[t+3]=a[u].a[3]}return r},
nk:function(a){var u,t=a.length,s=new Uint32Array(t*4)
for(u=0;u<a.length;++u){t=u*4
s[t]=J.cs(a[u],0)
s[t+1]=J.cs(a[u],1)
s[t+2]=J.cs(a[u],2)
s[t+3]=J.cs(a[u],3)}return s},
kJ:function(a,b,c,d){var u=P.h
return new G.by(b,J.mu(b.a),c,P.D(u,P.x),d,P.D(u,P.aV),"meshdata:"+a)},
om:function(a,b){var u,t,s,r,q,p,o,n,m,l
for(u=a.e,t=u.gF(u),t=t.gD(t),s=b.x,r=[[P.j,P.C]],q=[P.az],p=[T.l],o=[T.c],n=[T.p];t.p();){m=t.gv(t)
if(!s.a8(0,m)){H.e(m)
continue}l=u.i(0,m)
switch($.J.i(0,m).a){case"vec2":b.ah(m,G.nl(H.e3(l,"$ij",n,"$aj")),2)
break
case"vec3":b.ah(m,G.kx(H.e3(l,"$ij",o,"$aj")),3)
break
case"vec4":b.ah(m,G.nm(H.e3(l,"$ij",p,"$aj")),4)
break
case"float":b.ah(m,new Float32Array(H.iH(H.e3(l,"$ij",q,"$aj"))),1)
break
case"uvec4":b.ah(m,G.nk(H.e3(l,"$ij",r,"$aj")),4)
break}}},
V:function(a,b,c){var u,t=c.a,s=t?0:4,r=G.kJ(a,b.d,s,b.e.x)
r.ao(G.kx(c.d))
if(!t){t=c.dC()
s=r.d
r.y=J.j9(s.a)
u=r.ch.length
if(u<768){r.cx=new Uint8Array(H.iH(t))
r.Q=5121}else if(u<196608){r.cx=new Uint16Array(H.iH(t))
r.Q=5123}else{r.cx=new Uint32Array(H.iH(t))
r.Q=5125}J.e7(s.a,r.e)
t=r.y
u=r.cx
J.j7(s.a,34963,t)
J.k6(s.a,34963,u,35048)}G.om(c,r)
return r},
Q:function(a,b,c,d){var u,t=P.h,s=c.b,r=d.b,q=c.f,p=J.mt(b.a),o=G.l6(b.a,35633,s)
J.k5(b.a,p,o)
u=G.l6(b.a,35632,r)
J.k5(b.a,p,u)
if(q.length>0)J.mU(b.a,p,q,35980)
J.mL(b.a,p)
if(!J.mK(b.a,p,35714))H.aa(J.mJ(b.a,p))
t=new G.fX(b,c,d,p,P.jl(c.c,t),P.D(t,P.x),P.D(t,t),P.bw(t),a)
t.dS(a,b,c,d)
return t},
I:function(a){var u=P.h,t=[u]
return new G.cW(H.b([],t),H.b([],t),H.b([],t),H.b([],t),P.D(u,P.C))},
jr:function(){return new G.bG()},
l3:function(a,b,c,d,e,f){var u=3553,t=J.e8(a.a)
J.a6(a.a,u,t)
J.mS(a.a,u,1,e,c,d)
f.aw(a,u)
J.ea(a.a)
J.a6(a.a,u,null)
return new G.hC(c,d,e,b,t,u,a,f)},
hD:function(a,b,c,d,e,f,g,h,i){var u=3553,t=J.e8(a.a)
J.a6(a.a,u,t)
J.kd(a.a,u,0,e,c,d,0,g,h,i)
f.aw(a,u)
J.ea(a.a)
J.a6(a.a,u,null)
return new G.d4(c,d,e,b,t,u,a,f)},
eZ:function(a,b,c,d){var u,t=3553,s=d==null?new G.bG():d,r=J.e8(a.a)
J.a6(a.a,t,r)
u=s.d?1:0
J.mM(a.a,37440,u)
J.a6(a.a,t,r)
J.mQ(a.a,t,0,6408,6408,5121,c)
s.aw(a,t)
J.ea(a.a)
J.a6(a.a,t,null)
return new G.eY(c,b,r,t,a,s)},
fA:function fA(){},
F:function F(a,b){this.d=a
this.a=b},
eu:function eu(a){this.a=null
this.b=a},
ai:function ai(a,b,c){var _=this
_.a=a
_.b=null
_.c=b
_.d=c},
a7:function a7(a,b,c){this.a=a
this.b=b
this.c=c},
T:function T(a,b,c,d){var _=this
_.a=a
_.b=b
_.c=c
_.d=d},
aU:function aU(a,b){this.a=a
this.b=b},
a0:function a0(a,b,c,d,e){var _=this
_.a=a
_.b=b
_.c=c
_.d=d
_.e=e},
eS:function eS(a){this.a=a},
eT:function eT(a){this.a=a},
eU:function eU(){},
eV:function eV(a){this.a=a},
bW:function bW(){},
cz:function cz(a,b,c,d,e,f,g){var _=this
_.z=a
_.ch=b
_.cx=c
_.d=d
_.e=e
_.f=f
_.a=g},
eX:function eX(a,b,c,d,e){var _=this
_.x=a
_.y=b
_.z=c
_.d=d
_.a=e},
d0:function d0(a,b,c){this.a=a
this.b=b
this.c=c},
d_:function d_(a,b,c){this.a=a
this.b=b
this.c=c},
a8:function a8(a,b){this.d=a
this.a=b},
by:function by(a,b,c,d,e,f,g){var _=this
_.d=a
_.e=b
_.f=c
_.r=d
_.x=e
_.y=null
_.z=0
_.Q=-1
_.cx=_.ch=null
_.cy=f
_.a=g},
fM:function fM(){},
fX:function fX(a,b,c,d,e,f,g,h,i){var _=this
_.d=a
_.e=b
_.f=c
_.r=d
_.x=e
_.y=f
_.z=g
_.Q=h
_.ch=null
_.a=i},
r:function r(a,b){this.a=a
this.c=b},
cW:function cW(a,b,c,d,e){var _=this
_.b=null
_.c=a
_.d=b
_.e=c
_.f=d
_.r=0
_.x=e},
h9:function h9(){},
bG:function bG(){var _=this
_.b=_.a=!1
_.d=!0
_.e=1
_.r=_.f=9729},
bF:function bF(a,b,c,d,e){var _=this
_.a=a
_.b=b
_.c=c
_.d=d
_.e=e},
hC:function hC(a,b,c,d,e,f,g,h){var _=this
_.f=a
_.r=b
_.x=c
_.a=d
_.b=e
_.c=f
_.d=g
_.e=h},
d4:function d4(a,b,c,d,e,f,g,h){var _=this
_.f=a
_.r=b
_.x=c
_.a=d
_.b=e
_.c=f
_.d=g
_.e=h},
eY:function eY(a,b,c,d,e,f){var _=this
_.f=a
_.a=b
_.b=c
_.c=d
_.d=e
_.e=f},
ot:function(a,b,c){var u,t,s,r,q,p,o,n=B.na(1,0,1,0,a,b,c)
n.X("aColor")
u=H.b([],[T.c])
t=C.k.L()
s=C.k.L()
r=C.k.L()
q=new T.c(new Float32Array(3))
q.l(t,s,r)
p=new T.c(new Float32Array(3))
for(t=n.d,o=0;o<t.length;++o)if(C.b.G(o,4)===1)u.push(p)
else u.push(q)
n.an("aColor",u)
n.aP()
return n},
ni:function(a,b,c,d,e,f){var u,t=new G.eL(a,b),s=C.a.C(c.a),r=C.a.C(c.b),q=C.a.C(c.c),p=r+C.b.G(C.a.C(c.d),2),o=s+C.b.G(q,2),n=t.$2(p,o),m=t.$2(p+1,o),l=t.$2(p,o+1),k=m.aa(0,n),j=k.aE(l.aa(0,n))
j.a1(0)
u=n.q(0,j.a2(d))
T.jK(e,new T.c(new Float32Array(3)),j,k)
e.cj(e)
e.aM(u)
e.b5(f)},
nj:function(a0,a1,a2,a3,a4,a5){var u,t,s,r,q,p,o,n,m,l,k=new G.eK(a0,a1),j=C.a.C(a2.a),i=C.a.C(a2.b),h=C.a.C(a2.c),g=i+C.b.G(C.a.C(a2.d),2),f=j+C.b.G(h,2),e=k.$2(g,f),d=k.$2(g+1,f),c=k.$2(g,f+1),b=d.aa(0,e),a=b.aE(c.aa(0,e))
a.a1(0)
u=e.a2(0.99)
T.jK(a4,new T.c(new Float32Array(3)),a,b)
a4.cj(a4)
t=Math.cos(-1.5707963267948966)
s=Math.sin(-1.5707963267948966)
k=a4.a
g=k[4]
f=k[8]
r=k[5]
q=k[9]
p=k[6]
o=k[10]
n=k[7]
m=k[11]
l=-s
k[4]=g*t+f*s
k[5]=r*t+q*s
k[6]=p*t+o*s
k[7]=n*t+m*s
k[8]=g*l+f*t
k[9]=r*l+q*t
k[10]=p*l+o*t
k[11]=n*l+m*t
a4.aM(u)
a4.b5(a5)},
nE:function(a,b,c){var u,t,s,r,q,p,o,n
P.P("building stats "+a.length)
u=new G.a0(!1,H.b([],[G.a7]),H.b([],[G.T]),H.b([],[T.c]),P.D(P.h,[P.j,,]))
u.X("aColor")
u.X("aNormal")
u.X("aTexUV")
u.X("aCenter")
t=new T.z(new Float32Array(16))
s=new T.aE(new Float32Array(9))
for(r=a.length,q=0;q<a.length;a.length===r||(0,H.u)(a),++q){p=a[q]
o=p.d
n=G.ot(C.a.C(p.b.c),C.a.C(p.b.d),o)
G.ni(b,c,p.b,o,t,s)
u.bF(n,t,s)}P.P("final building gb "+u.k(0))
return u},
nF:function(a,b,c,d){var u,t
switch(d){case 1:return H.b([G.W("no-wall")],[G.a8])
case 3:return D.kH(a,c,$.cr(),!1)
case 2:return D.kH(a,c,$.e6(),!0)
case 4:u=D.nC(a,C.k)
t=G.W("sketch")
t.d.h(0,"uTexture",u)
return H.b([t],[G.a8])
default:return H.b([],[G.a8])}},
jm:function(b5,b6,b7,b8,b9,c0,c1,c2){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3="cBlendEquation",b4="cDepthWrite"
P.P("Make building materials")
u=c2.ch
if(u.c){t=c2.d
s=c2.e
r=D.bX("logos",b5,D.nA(512,1024,"bold","Arial",D.nn(C.k),t,s))}else r=G.W("dummy")
q=new F.eq()
q.a=G.nF(b5,b6,b7,c2.f)
q.c=r
q.d=D.bX("trimlight",b5,D.nz())
p=E.U(255)
p.d=0.99
t=$.jW()
s=D.bX("pointlight",b5,D.lc(64,p,t,1))
o=$.j1()
n=s.d
n.h(0,b3,o)
n.h(0,b4,!1)
q.e=s
p=E.U(255)
p.d=0.99
t=D.bX("pointlightFlash",b5,D.lc(64,p,t,1))
t.d.h(0,b3,o)
q.f=t
t=D.bX("radiotower",b5,D.nD())
s=t.d
s.h(0,b3,o)
s.h(0,b4,!1)
q.r=t
q.x=32
m=W.aS(2,2)
l=C.y.df(m,"2d")
l.fillStyle="white"
l.fillRect(0,0,m.width,m.height)
q.b=D.bX("solid",b5,m)
P.P("Errecting building")
t=[P.h]
s=H.b(["aNormal","aColor","aCenter","aTexUV"],t)
o=H.b([],t)
n=G.a8
k=G.a0
j=P.D(n,k)
i=new T.l(new Float32Array(4))
i.A(1,0,0,0)
h=new T.l(new Float32Array(4))
h.A(0,1,0,0)
g=new T.l(new Float32Array(4))
g.A(0,0,1,0)
f=[T.l]
g=H.b([i,h,g],f)
i=new T.l(new Float32Array(4))
i.A(1,0,0,1)
h=new T.l(new Float32Array(4))
h.A(1,1,0,1)
e=new T.l(new Float32Array(4))
e.A(0,1,0,1)
d=new T.l(new Float32Array(4))
d.A(0,0,0,1)
d=H.b([i,h,e,d],f)
i=new Float32Array(3)
c=new S.c6(j,s,o,g,d,new T.c(i),new T.c(new Float32Array(3)))
b=new T.z(new Float32Array(16))
a=new T.aE(new Float32Array(9))
for(s=b8.length,o=c.gb7(),a0=0,a1=0;a1<b8.length;b8.length===s||(0,H.u)(b8),++a1){a2=b8[a1]
if(a0%100===0)H.bg("initialize buidings "+a0);++a0
i=H.b(["aNormal","aColor","aCenter","aTexUV"],t)
h=H.b([],t)
g=P.D(n,k)
e=new Float32Array(4)
e[3]=0
e[2]=0
e[1]=0
e[0]=1
d=new Float32Array(4)
d[3]=0
d[2]=0
d[1]=1
d[0]=0
a3=new Float32Array(4)
a3[3]=0
a3[2]=1
a3[1]=0
a3[0]=0
a3=H.b([new T.l(e),new T.l(d),new T.l(a3)],f)
e=new Float32Array(4)
e[3]=1
e[2]=0
e[1]=0
e[0]=1
d=new Float32Array(4)
d[3]=1
d[2]=0
d[1]=1
d[0]=1
a4=new Float32Array(4)
a4[3]=1
a4[2]=0
a4[1]=1
a4[0]=0
a5=new Float32Array(4)
a5[3]=1
a5[2]=0
a5[1]=0
a5[0]=0
a5=H.b([new T.l(e),new T.l(d),new T.l(a4),new T.l(a5)],f)
e=new Float32Array(3)
a6=new S.c6(g,i,h,a3,a5,new T.c(e),new T.c(new Float32Array(3)))
a7=c2.Q.$1(b6)
a8=new F.h0()
i=q.b
h=a7.c
a8.a=new S.G(i,h)
i=q.d
e=$.cr()
d=e.a
a3=e.b
a4=e.c
a5=new Float32Array(3)
a5[0]=d/255
a5[1]=a3/255
a5[2]=a4/255
a8.r=new S.G(i,new T.c(a5))
a5=q.b
i=new Float32Array(3)
i[0]=0.03137254901960784
i[1]=0.03137254901960784
i[2]=0.03137254901960784
a8.b=new S.G(a5,new T.c(i))
i=q.e
a5=e.a
d=e.b
a3=e.c
a4=new Float32Array(3)
a4[0]=a5/255
a4[1]=d/255
a4[2]=a3/255
a8.c=new S.G(i,new T.c(a4))
a8.d=new S.G(q.c,a7.f)
a8.e=new S.G(q.b,a7.r)
a4=q.r
i=e.a
a3=e.b
d=e.c
a5=new Float32Array(3)
a5[0]=i/255
a5[1]=a3/255
a5[2]=d/255
a8.f=new S.G(a4,new T.c(a5))
a5=q.f
a4=e.a
d=e.b
e=e.c
i=new Float32Array(3)
i[0]=a4/255
i[1]=d/255
i[2]=e/255
a8.x=new S.G(a5,new T.c(i))
a8.z=b6.m(q.x)
a8.y=new S.G(q.b,a7.e)
i=a2.d
G.nj(b9,c0,a2.b,i,b,a)
a9=a2.b
a5=a9.c
e=a9.d
a2.b=new S.y(-a5,-e,a5*2,e*2)
e=a2.e
switch(e){case 9:e=i>40
b0=new F.er()
d=q.a
b0.a=new S.G(d[b6.m(d.length)],a7.a)
d=q.b
b0.c=new S.G(d,h)
b0.d=new S.G(d,a7.d)
b0.b=new S.G(d,a7.b)
b0.e=1+(e?b6.m(3):b6.m(2))
b0.f=b6.m(2)/4
b0.r=2+(e?b6.m(3):b6.m(2))
b0.x=2+b6.m(4)
b0.y=b6.m(4)!==0?1:0
b6.m(3)
b0.Q=1+b6.m(10)
F.n2(a6,b6,a2.b,i,b0,a8,u)
break
case 10:b0=new F.eo()
h=q.a
b0.a=new S.G(h[b6.m(h.length)],a7.a)
h=q.b
b0.b=new S.G(h,a7.d)
b0.c=new S.G(h,a7.b)
b0.d=2
F.n0(a6,b6,a2.b,i,b0,a8,u)
break
case 11:b0=F.n3(b6,q,a7,u,i>48)
F.n1(a6,b6,a2.b,i,b0)
break
case 12:e=q.a
b1=e[b6.m(e.length)]
e=a7.a
d=q.b
a3=a7.d
a4=a2.b
F.jv(a6,b6,a4,i,0,new S.G(b1,e),new S.G(d,a3),0)
a3=b6.m(Math.min(2,C.b.G(i,6)))
e=b6.m(10)
b2=new S.y(a4.a,a4.b,a4.c,a4.d)
b2.av(e/30)
F.ak(a6,b2,1+a3,i,new S.G(d,h))
break
default:H.bg("BAD "+H.e(e))}a2.b=a9
for(i=g.gF(g),i=i.gD(i);i.p();){h=i.gv(i)
j.af(0,h,o).bF(g.i(0,h),b,a)}}P.P("Generate Mesh for Buildings")
return c},
eL:function eL(a,b){this.a=a
this.b=b},
eK:function eK(a,b){this.a=a
this.b=b},
np:function(){var u,t,s,r=P.h,q=P.D(r,r),p=window.location.hash
if(p==="")return q
for(r=J.mP(p,1).split("&"),u=r.length,t=0;t<u;++t){s=J.mN(r[t],"=")
if(s.length===1)s.push("")
q.h(0,s[0],s[1])}return q},
oT:function(a,b,c){switch(c){case"0":return a
case"3":return b
case"6":return a.bn(0)
case"9":return b.bn(0)
default:return a}},
kW:function(a,b){var u=new G.a3()
u.dX(a,b)
return u},
nW:function(a,b,c){var u=new G.a3()
u.dV(a,b,c)
return u},
kX:function(a,b,c){var u,t,s,r,q,p,o=null,n=6408,m=5121,l=new G.h6(b,c),k=Q.nr(200,15),j=G.Q("gol",a,$.k2(),$.k1())
l.b=j
l.c=G.V("gol",j,k)
j=G.eR(a,12800,960)
l.x=j
u=$.jQ()
t=G.hD(a,"rules",32,1,n,u,n,m,o)
u=G.hD(a,"palette",32,1,n,u,n,m,o)
s=$.lF()
r=G.hD(a,"s0",3200,240,n,s,n,m,o)
s=H.b([r,G.hD(a,"s1",3200,240,n,s,n,m,o)],[G.d4])
r=new V.fb(4,3200,240,t,u,s)
r.r=H.b([G.kz(a,s[0],o),G.kz(a,s[1],o)],[G.ai])
s=P.h
q=P.x
p=P.D(s,q)
p.h(0,"uRules",t)
r.z=new G.F(p,"compute")
q=P.D(s,q)
q.h(0,"uRules",u)
u=new T.p(new Float32Array(2))
u.B(12800,960)
q.h(0,"uScaleSize",u)
r.Q=new G.F(q,"compute")
r.y=G.Q("life",a,$.me(),$.md())
q=G.Q("life",a,$.mf(),$.mc())
r.x=q
r.ch=G.V("quad",q,B.cS(1))
l.r=r
l.y=new G.ai(a,o,o)
r=G.W("gol")
u=new T.z(new Float32Array(16))
u.M()
t=r.d
t.h(0,"uModelMatrix",u)
t.h(0,"uTexture",j.c)
j=new T.c(new Float32Array(3))
j.l(0.1,0,0)
t.h(0,"uColor",j)
l.a=r
return l},
nZ:function(a,b,c,d){var u,t,s=G.kX(a,b,c),r=s.r
r.bM(d,35)
r.bN(d,"45678/3")
u=[P.C]
r.bL("Blur",H.b([255,0,0],u),H.b([0,0,128],u))
for(t=0;t<100;++t)s.r.bO(!1,d)
return s},
o_:function(a,b,c,d,e,f,g){var u=new G.h7(c,d,P.D(G.a8,G.by))
u.e5(a,b,c,d,e,f,g)
return u},
nX:function(a,b,c,d,e,f,g){var u=new G.h4(c,d,P.D(G.a8,G.by))
u.e3(a,b,c,d,e,f,g)
return u},
nY:function(a,b,c,d,e,f,g){var u=new G.h5(c,d,P.D(G.a8,G.by))
u.e4(a,b,c,d,e,f,g)
return u},
bD:function(a,b,c,d,e){return new G.cV(a,b,c,d,e)},
ls:function(){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7=null,c8="float",c9="vec3",d0="sampler2D",d1="camera:orbit",d2=3200,d3="done torus-wireframe gb ",d4="start torus gb 240x3200",d5={},d6=document,d7=d6.getElementById("stats"),d8=d6.createElement("div"),d9=d8.style
d9.fontWeight="bold"
d8.textContent="@@@@"
u=new R.he(d7,d8,d6.createElement("div"),R.os("blue","gray",90,30))
u.e6(d7,"blue","gray")
t=G.np()
N.O("Params: "+t.k(0))
if(!t.a8(0,"develop")){P.P("demo mode")
for(d7=new W.i_(d6.querySelectorAll(".control"),[W.ac]),d7=new H.bx(d7,d7.gj(d7));d7.p();){d9=d7.d
H.bg("disable control: "+H.e(d9))
d9=d9.style
d9.display="none"}$.jT().value="demo"}$.J.h(0,"iaRotatationY",new G.r(c8,0))
$.J.h(0,"uFogColor",new G.r(c9,0))
$.J.h(0,"uFogScale",new G.r(c8,0))
$.J.h(0,"uFogEnd",new G.r(c8,0))
$.J.h(0,"uRandSeed",new G.r(c8,0))
$.J.h(0,"uWindowDim",new G.r("vec2",0))
$.J.h(0,"uWindowFrame",new G.r(c9,0))
$.J.h(0,"uAverageFurnitureW",new G.r(c8,0))
$.J.h(0,"uMaxFurnitureH",new G.r(c8,0))
$.J.h(0,"uFeatures",new G.r("int",0))
$.J.h(0,"uWidth",new G.r(c8,0))
$.J.h(0,"uRules",new G.r(d0,0))
$.J.h(0,"uState",new G.r(d0,0))
$.J.h(0,"uScaleSize",new G.r("vec2",0))
$.J.h(0,"uIter",new G.r("int",0))
$.J.h(0,"vRayDirection",new G.r(c9,0))
s=d6.querySelector("#webgl-canvas")
r=new G.eu(s)
d7=P.h
d9=P.x
q=r.a=(s&&C.y).bf(s,"webgl2",P.fg(["alpha",!1,"depth",!0,"stencil",!0,"antialias",!0,"premultipliedAlpha",!0,"preserveDrawingBuffer",!1,"failIfMajorPerformanceCaveat",!1],d7,d9))
if(q==null)H.aa(P.kw('Calling canvas.getContext("webgl2") failed,\nmake sure you run on a computer that supports WebGL2.\n\nYou can test your browser\'s compatibility here: http://webglreport.com/\n\n(If you are using Dartium make sure you start it with the\noption: --enable-unsafe-es3-apis)\n'))
H.e(J.mI(q))
J.mp(q,0,0,0,1)
J.ct(q,2929)
J.ct(q,2884)
q=new T.c(new Float32Array(3))
p=new Float32Array(3)
o=new Float32Array(3)
n=new Float32Array(3)
m=new Float32Array(3)
l=new T.z(new Float32Array(16))
l.M()
k=new Float32Array(3)
j=new Float32Array(3)
i=new Float32Array(3)
h=new G.hs(q,new T.c(p),new T.c(o),new T.c(n),new T.c(m),l,new T.c(k),new T.c(j),new T.c(i),new T.c(new Float32Array(3)),"camera:torusknot")
p=new Float32Array(3)
o=D.kE(c7)
n=D.kK(s)
m=new T.z(new Float32Array(16))
m.M()
k=new Float32Array(3)
j=new Float32Array(3)
i=new Float32Array(3)
g=new D.cQ(750,0,0,new T.c(p),-0.02,o,n,m,new T.c(k),new T.c(j),new T.c(i),new T.c(new Float32Array(3)),d1)
g.dy=-0.2
p=new Float32Array(3)
o=D.kE(c7)
n=D.kK(s)
m=new T.z(new Float32Array(16))
m.M()
k=new Float32Array(3)
j=new Float32Array(3)
i=new Float32Array(3)
f=new Float32Array(3)
e=T.jo()
d=new Float32Array(3)
c=new Float32Array(3)
b=T.jo()
a=new T.c(new Float32Array(3))
a0=new T.c(new Float32Array(3))
a1=new Float32Array(3)
a2=T.jo()
a3=new Float32Array(9)
a3[0]=1
a3[1]=0
a3[2]=0
a3[3]=0
a3[4]=1
a3[5]=0
a3[6]=0
a3[7]=0
a3[8]=1
a4=new T.c(new Float32Array(3))
a5=new Float32Array(3)
a6=new T.z(new Float32Array(16))
a6.M()
a7=new Float32Array(3)
a8=new Float32Array(3)
a9=new Float32Array(3)
b0=new Float32Array(3)
b1=new T.z(new Float32Array(16))
b1.M()
b2=new T.z(new Float32Array(16))
b2.M()
b3=new R.cR(s,r,h,0.1,2e4,b1,b2,new T.z(new Float32Array(16)),P.D(d7,d9),"perspective")
b3.aT()
b3.cR(c7)
W.ax(window,"resize",b3.gf2(),!1,W.i)
b3.e8(60)
b4=P.ow(0)
h.cx=150
h.aD(0,0,1,"9")
l.cq(a,b,a0)
a4.t(q)
d7=s.clientWidth
d9=s.clientHeight
b5=new G.ee()
N.O("creating building scenes")
q=H.b([],[G.cw])
b6=new G.eO(q,H.b([],[G.cU]),d2,240,G.ob(d2,240,!0))
N.O("Creating world 3200 x 240")
N.O("Creating Roads")
b6.dH(b4,128,64,d2,240)
b6.dI(b4,32,16,240,d2)
N.O("Creating Skyscrapers")
N.O("Creating Regular Buildings")
b6.dG(b4)
N.O("world done")
b7=Q.l1(d2,240)
b8=Q.l1(400,30)
b9=G.nE(q,b7,240)
q=new G.a3()
q.dZ(r,b6,b8)
b5.a=q
new G.a3().dY(r,b9)
b5.d=G.nX(r,b4,d7,d9,b6,b7,240)
new G.a3().e_(r,b9)
b5.b=G.nY(r,b4,d7,d9,b6,b7,240)
q=G.eR(r,d7,d9)
c0=new T.c(new Float32Array(3))
c0.l(2,-1.2,0.5)
l=$.jN()
b1=$.jM()
b2=new Float32Array(16)
c1=new Float32Array(16)
c2=new T.c(new Float32Array(3))
c3=new T.c(new Float32Array(3))
c2.t(l)
c3.t(b1)
b1=H.b([],[G.bW])
new Float32Array(64)
new Float32Array(4)
b1.push(new G.cz(c0,new T.z(b2),new T.z(c1),1,c2,c3,"dir"))
l=G.W("")
b1=new T.z(new Float32Array(16))
b1.M()
l=l.d
l.h(0,"uModelMatrix",b1)
l.h(0,"uShininess",10)
l.h(0,"uTexture2",q.c)
l.h(0,"uTexture",G.kG(r,b4))
G.Q("sketch-prep",r,$.k_(),$.jZ())
G.V("sketch",G.Q("final",r,$.k0(),$.jY()),b9)
b5.f=G.o_(r,b4,d7,d9,b6,b7,240)
N.O("creating buildingcenes done")
N.O("creating other scenes")
N.O(d4)
c4=B.oa(!1,!1,1,!0,500,400,30,100)
c4.aP()
N.O(d3+c4.k(0))
N.O(d4)
c5=Q.o9(1,!0,500,400,30,100)
Q.nI(c5)
N.O(d3+c5.k(0))
q=new G.a3()
q.dW(r,c4)
b5.x=q
b5.y=G.kW(r,c4)
b5.z=G.kW(r,c5)
c6=G.kX(r,d7,d9)
q=c6.r
q.bM(b4,10)
q.bN(b4,"23/3")
l=[P.C]
q.bL("Regular",H.b([0,255,0],l),H.b([0,0,0],l))
b5.Q=c6
b5.ch=G.nZ(r,d7,d9,b4)
b5.cx=G.nW(r,d7,d9)
l=new G.a3()
l.e1(r,d7,d9)
b5.dx=l
l=new G.a3()
l.e2(r,d7,d9)
b5.dy=l
l=new G.a3()
l.e0(r)
b5.cy=l
l=new G.a3()
l.dU(r)
b5.db=l
N.O("creating other scenes done")
new G.ai(r,c7,c7).Z(17664,0,0,d7,d9)
d5.a=d5.b=0
d5.c=null
d6=d6.body
d6.toString
W.ax(d6,"keydown",new G.iW(),!1,W.bu)
d6=J.mH($.m_())
W.ax(d6.a,d6.b,new G.iX(),!1,H.S(d6,0))
new G.iV(d5,new G.f0(new G.es(e,new T.c(d),new T.c(c),b,a,a0,new T.c(a1),a2,new T.aE(a3)),a4,new T.c(a5),a6,new T.c(a7),new T.c(a8),new T.c(a9),new T.c(b0),d1),b3,g,b5,r,h,new D.cQ(100,0,0,new T.c(p),-0.02,o,n,m,new T.c(k),new T.c(j),new T.c(i),new T.c(f),d1),u).$1(0)},
hs:function hs(a,b,c,d,e,f,g,h,i,j,k){var _=this
_.cx=1
_.fr=a
_.fx=b
_.fy=c
_.go=d
_.id=e
_.d=f
_.e=g
_.f=h
_.r=i
_.x=j
_.a=k},
es:function es(a,b,c,d,e,f,g,h,i){var _=this
_.a=a
_.b=b
_.c=c
_.d=d
_.e=e
_.f=f
_.r=g
_.x=h
_.y=i},
f0:function f0(a,b,c,d,e,f,g,h,i){var _=this
_.ch=a
_.cy=b
_.dx=1
_.fx=_.fr=_.dy=0
_.fy=c
_.d=d
_.e=e
_.f=f
_.r=g
_.x=h
_.a=i},
a3:function a3(){this.c=this.b=this.a=null},
h6:function h6(a,b){var _=this
_.d=0
_.e=a
_.f=b
_.c=_.b=_.a=_.y=_.x=_.r=null},
jq:function jq(a,b){var _=this
_.d=a
_.e=b
_.c=_.b=_.a=_.y=_.x=_.r=_.f=null},
h7:function h7(a,b,c){var _=this
_.d=a
_.e=b
_.y=_.x=_.r=_.f=null
_.z=c
_.c=_.b=_.a=null},
h4:function h4(a,b,c){var _=this
_.d=a
_.e=b
_.f=c
_.c=_.b=_.a=_.r=null},
h5:function h5(a,b,c){var _=this
_.d=a
_.e=b
_.f=c
_.c=_.b=_.a=_.r=null},
ee:function ee(){var _=this
_.dy=_.dx=_.db=_.cy=_.cx=_.ch=_.Q=_.z=_.y=_.x=_.f=_.d=_.b=_.a=null},
cV:function cV(a,b,c,d,e){var _=this
_.a=a
_.b=b
_.c=c
_.d=d
_.e=e},
iV:function iV(a,b,c,d,e,f,g,h,i){var _=this
_.a=a
_.b=b
_.c=c
_.d=d
_.e=e
_.f=f
_.r=g
_.x=h
_.y=i},
iW:function iW(){},
iX:function iX(){},
ob:function(a,b,c){var u=new G.hL(a,b)
u.ea(a,b,!0)
return u},
kV:function(a,b,c,d,e,f){var u=new G.cU(a)
u.dT(a,b,c,d,e,f)
return u},
n9:function(a,b,c){var u,t=H.b([],[P.C])
for(u=b;u<c;u+=25+a.m(25)){t.push(u)
t.push(6+a.m(6))}return t},
nU:function(a,b){var u,t,s,r,q,p=W.aS(null,null),o=p.width=a.a,n=p.height=a.b,m=p.getContext("2d"),l=(m&&C.o).eK(m,o,n),k=J.mG(l)
for(u=0;u<o;++u)for(t=o-u-1,s=0;s<n;++s){r=4*((n-s-1)*o+t)
q=b.i(0,a.c[u+s*o]&15).a
k[r]=C.a.C(q[0]*255)
k[r+1]=C.a.C(q[1]*255)
k[r+2]=C.a.C(q[2]*255)
k[r+3]=255}C.o.b8(m,l,0,0)
return p},
hL:function hL(a,b){this.a=a
this.b=b
this.c=null},
cU:function cU(a){var _=this
_.a=a
_.e=_.d=_.c=_.b=null},
cw:function cw(a,b,c,d){var _=this
_.a=a
_.b=null
_.c=b
_.d=c
_.e=d},
eO:function eO(a,b,c,d,e){var _=this
_.a=a
_.b=b
_.c=c
_.d=d
_.e=e},
kB:function(a,b,c){return new S.y(a.m(32)/32,a.m(32)/32,b/32,c/32)},
n8:function(a,b){var u=1
while(!0){if(!(a!==0&&b!==0&&(a&1)===(b&1)))break
u=u<<1>>>0
a=a>>>1
b=b>>>1}return u},
fc:function(a){var u,t,s,r
for(u=$.lr[a],t=u.length,s=0,r=0;r<t;++r)s+=u[r]
return C.b.G(s,2)},
no:function(a,b,c){var u,t,s,r=G.n8((C.a.C(b)&4294967294)>>>0,(C.a.C(c)&4294967294)>>>0),q=H.b([],[P.C])
for(u=0;u<8;++u){t=G.fc(u)
if(t<=r){s=2*t
s=b>=s&&c>=s}else s=!1
if(s)q.push(u)}s=q.length
if(s===0)return-1
return q[a.m(s)]},
kA:function(a,b){var u=b.c,t=$.j4()
return new S.y(0,(t-a-1+0.02)/t,u/16,0.96/t)},
kG:function(a,b){var u,t,s,r,q,p=W.aS(null,null)
p.height=p.width=1024
u=p.getContext("2d")
t=P.jD(u.getImageData(0,0,p.width,p.height))
for(s=J.m(t),r=0;r<s.gW(t).length;r+=4){q=30+b.m(225)
s.gW(t)[r]=q
s.gW(t)[r+1]=q
s.gW(t)[r+2]=q
s.gW(t)[r+3]=255}C.o.b8(u,t,0,0)
return G.eZ(a,"noise",p,$.j2())}},R={
kY:function(a,b,c,d,e,f){return G.V("torusknot",a,B.js(!0,!0,1,!1,2,3,c,d,e,f))},
os:function(a,b,c,d){var u,t,s=document.createElement("div"),r=s.style,q=""+c+"px"
r.width=q
q=""+d+"px"
r.height=q
r.color=a
r.background=a
for(u=0;u<c;++u){r=W.ol("span",null)
q=r.style
q.width="1px"
t=""+d+"px"
q.height=t
t=(q&&C.z).bU(q,"float")
q.setProperty(t,"left","")
t=C.z.bU(q,"opacity")
q.setProperty(t,"0.9","")
q.background=b
s.appendChild(r)}return s},
cR:function cR(a,b,c,d,e,f,g,h,i,j){var _=this
_.fy=a
_.go=b
_.x=c
_.y=50
_.z=1
_.Q=d
_.ch=e
_.cx=f
_.cy=g
_.db=h
_.d=i
_.a=j},
hd:function hd(){},
he:function he(a,b,c,d){var _=this
_.f=_.e=0
_.a=a
_.b=b
_.c=c
_.d=d}},B={
na:function(b0,b1,b2,b3,b4,b5,b6){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7=-b4,a8=-b5,a9=new T.c(new Float32Array(3))
a9.l(a7,a8,b6)
u=new T.c(new Float32Array(3))
u.l(b4,a8,b6)
t=new T.c(new Float32Array(3))
t.l(b4,b5,b6)
s=new T.c(new Float32Array(3))
s.l(a7,b5,b6)
r=-b6
q=new T.c(new Float32Array(3))
q.l(a7,a8,r)
p=new T.c(new Float32Array(3))
p.l(a7,b5,r)
o=new T.c(new Float32Array(3))
o.l(b4,b5,r)
n=new T.c(new Float32Array(3))
n.l(b4,a8,r)
m=new T.c(new Float32Array(3))
m.l(a7,b5,r)
l=new T.c(new Float32Array(3))
l.l(a7,b5,b6)
k=new T.c(new Float32Array(3))
k.l(b4,b5,b6)
j=new T.c(new Float32Array(3))
j.l(b4,b5,r)
i=new T.c(new Float32Array(3))
i.l(b4,a8,b6)
h=new T.c(new Float32Array(3))
h.l(a7,a8,b6)
g=new T.c(new Float32Array(3))
g.l(a7,a8,r)
f=new T.c(new Float32Array(3))
f.l(b4,a8,r)
e=new T.c(new Float32Array(3))
e.l(b4,a8,r)
d=new T.c(new Float32Array(3))
d.l(b4,b5,r)
c=new T.c(new Float32Array(3))
c.l(b4,b5,b6)
b=new T.c(new Float32Array(3))
b.l(b4,a8,b6)
a=new T.c(new Float32Array(3))
a.l(a7,a8,r)
a0=new T.c(new Float32Array(3))
a0.l(a7,a8,b6)
a8=new T.c(new Float32Array(3))
a8.l(a7,b5,b6)
a1=new T.c(new Float32Array(3))
a1.l(a7,b5,r)
r=[T.c]
a2=H.b([a9,u,t,s,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a8,a1],r)
a7=new T.p(new Float32Array(2))
a7.B(b1,b3)
a8=new T.p(new Float32Array(2))
a8.B(b0,b3)
a9=new T.p(new Float32Array(2))
a9.B(b0,b2)
u=new T.p(new Float32Array(2))
u.B(b1,b2)
t=new T.p(new Float32Array(2))
t.B(b0,b3)
s=new T.p(new Float32Array(2))
s.B(b0,b2)
q=new T.p(new Float32Array(2))
q.B(b1,b2)
p=new T.p(new Float32Array(2))
p.B(b1,b3)
o=new T.p(new Float32Array(2))
o.B(b1,b2)
n=new T.p(new Float32Array(2))
n.B(b1,b3)
m=new T.p(new Float32Array(2))
m.B(b0,b3)
l=new T.p(new Float32Array(2))
l.B(b0,b2)
k=new T.p(new Float32Array(2))
k.B(b0,b2)
j=new T.p(new Float32Array(2))
j.B(b1,b2)
i=new T.p(new Float32Array(2))
i.B(b1,b3)
h=new T.p(new Float32Array(2))
h.B(b0,b3)
g=new T.p(new Float32Array(2))
g.B(b0,b3)
f=new T.p(new Float32Array(2))
f.B(b0,b2)
e=new T.p(new Float32Array(2))
e.B(b1,b2)
d=new T.p(new Float32Array(2))
d.B(b1,b3)
c=new T.p(new Float32Array(2))
c.B(b1,b3)
b=new T.p(new Float32Array(2))
b.B(b0,b3)
a=new T.p(new Float32Array(2))
a.B(b0,b2)
a0=new T.p(new Float32Array(2))
a0.B(b1,b2)
a3=H.b([a7,a8,a9,u,t,s,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0],[T.p])
a4=new G.a0(!1,H.b([],[G.a7]),H.b([],[G.T]),H.b([],r),P.D(P.h,[P.j,,]))
a4.X("aTexUV")
a4.X("aNormal")
a4.dv(6)
a4.ao(a2)
a4.bw("aTexUV",a3)
for(a5=0;a7=$.lS(),a5<6;++a5){a6=a7[a5]
a4.an("aNormal",H.b([a6,a6,a6,a6],r))}return a4},
cS:function(a){var u,t,s,r,q,p,o,n,m,l=-1*a,k=new T.c(new Float32Array(3))
k.l(l,l,0)
u=new T.c(new Float32Array(3))
u.l(a,l,0)
t=new T.c(new Float32Array(3))
t.l(a,a,0)
s=new T.c(new Float32Array(3))
s.l(l,a,0)
l=[T.c]
r=H.b([k,u,t,s],l)
k=new T.p(new Float32Array(2))
k.B(0,0)
u=new T.p(new Float32Array(2))
u.B(1,0)
t=new T.p(new Float32Array(2))
t.B(1,1)
s=new T.p(new Float32Array(2))
s.B(0,1)
q=H.b([k,u,t,s],[T.p])
p=new T.c(new Float32Array(3))
p.l(0,0,1)
o=H.b([p,p,p,p],l)
k=H.b([],[G.a7])
u=H.b([],[G.T])
l=H.b([],l)
n=new G.a0(!1,k,u,l,P.D(P.h,[P.j,,]))
n.X("aTexUV")
m=l.length
u.push(new G.T(m,m+1,m+2,m+3))
n.ao(r)
n.bw("aTexUV",q)
n.X("aNormal")
n.an("aNormal",o)
return n},
d2:function(a,b,c,d,e,f){var u,t,s=b*a,r=Math.cos(s),q=Math.sin(s)
s=c*a
u=Math.cos(s)
t=Math.sin(s)
s=d*(2+r)*0.5
f.sbb(0,s*u)
f.sbc(0,s*t)
f.sbd(0,e*d*0.5*q)},
js:function(a,b,c,d,e,f,g,a0,a1,a2){var u,t,s,r,q,p,o,n,m,l,k,j,i,h=B.jn(new B.hw(f,e,g,c),0,6.283185307179586,a0,!0)
h.push(h[0])
h.push(h[1])
u=a0+1
t=B.jt(h,a1,a2)
for(s=t.length,r=0;r<t.length;t.length===s||(0,H.u)(t),++r){q=t[r]
q.push(q[0])
q.push(q[1])}p=a1+1
s=H.b([],[G.a7])
o=H.b([],[G.T])
n=H.b([],[T.c])
m=new G.a0(!1,s,o,n,P.D(P.h,[P.j,,]))
for(s=t.length,r=0;r<t.length;t.length===s||(0,H.u)(t),++r){l=t[r]
for(k=0;k<l.length;k+=2)n.push(l[k])}m.dD(p,u,!1,d)
m.dE(p,u)
if(a){m.X("aNormal")
for(s=t.length,o=m.e,r=0;r<t.length;t.length===s||(0,H.u)(t),++r){l=t[r]
for(k=0;k<l.length;k+=2){n=l[k+1]
j=o.i(0,"aNormal")
n.toString
i=new T.c(new Float32Array(3))
i.t(n);(j&&C.c).w(j,i)}}}return m},
oa:function(a,b,c,d,e,f,a0,a1){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g=B.jn(new B.hv(3,2,e,c),0,6.283185307179586,f,!0)
g.push(g[0])
g.push(g[1])
u=B.jt(g,a0,a1)
for(t=u.length,s=0;s<u.length;u.length===t||(0,H.u)(u),++s){r=u[s]
r.push(r[0])
r.push(r[1])}t=[T.c]
q=new G.a0(!1,H.b([],[G.a7]),H.b([],[G.T]),H.b([],t),P.D(P.h,[P.j,,]))
for(p=0;p<f;p=o)for(o=p+1,n=0;n<a0;n=m){m=n+1
q.bA(1,!0)
l=u[p]
k=m*2
j=l[k]
i=u[o]
h=n*2
q.ap(H.b([j,i[k],i[h],l[h]],t))}return q},
jt:function(a0,a1,a2){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=H.b([],[[P.j,T.c]]),d=new T.c(new Float32Array(3)),c=new T.c(new Float32Array(3)),b=new Float32Array(a1),a=new Float32Array(a1)
for(u=0;u<a1;++u){t=u/a1*2*3.141592653589793
a[u]=a2*Math.cos(t)
b[u]=a2*Math.sin(t)}for(s=d.a,r=c.a,q=[T.c],p=0;p<a0.length;p+=2){o=a0[p]
n=a0[p+1]
m=H.b([],q)
e.push(m)
l=n.a
k=l[0]
if(Math.abs(k)>0){j=l[1]
i=k*k+j*j
h=1/Math.sqrt(i)
s[0]=-l[1]*h
s[1]=l[0]*h
s[2]=0
r[0]=-l[2]*l[0]*h
r[1]=-l[2]*l[1]*h
r[2]=i*h}else{k=l[1]
j=l[2]
i=k*k+j*j
h=1/Math.sqrt(i)
s[0]=0
s[1]=-l[2]*h
s[2]=l[1]*h
r[0]=i*h
r[1]=-l[0]*(l[1]*h)
r[2]=l[0]*(-l[2]*h)}d.a1(0)
c.a1(0)
for(u=0;u<a1;++u){g=new T.c(new Float32Array(3))
g.c2(d,a[u])
g.c2(c,b[u])
f=new T.c(new Float32Array(3))
f.t(o)
f.w(0,g)
m.push(f)
g.a1(0)
m.push(g)}}return e},
jn:function(a,b,c,d,e){var u,t,s,r,q=H.b([],[T.c]),p=new T.c(new Float32Array(3)),o=new T.c(new Float32Array(3))
for(u=(c-b)/(d-0),t=0;t<d;++t){s=u*t+b
a.$2(s,p)
a.$2(s+0.001,o)
o.am(0,p)
r=new T.c(new Float32Array(3))
r.t(p)
q.push(r)
r=new T.c(new Float32Array(3))
r.t(o)
q.push(r)}return q},
hw:function hw(a,b,c,d){var _=this
_.a=a
_.b=b
_.c=c
_.d=d},
hv:function hv(a,b,c,d){var _=this
_.a=a
_.b=b
_.c=c
_.d=d}},D={
kE:function(a){var u=P.C
u=new D.f7(P.bw(u),P.bw(u),P.bw(u))
u.dK(a)
return u},
kK:function(a){var u=P.C
u=new D.fv(P.bw(u),P.bw(u),P.bw(u))
u.dL(a)
return u},
f7:function f7(a,b,c){this.a=a
this.b=b
this.c=c},
f8:function f8(a){this.a=a},
f9:function f9(a){this.a=a},
fv:function fv(a,b,c){var _=this
_.a=a
_.b=b
_.c=c
_.f=_.e=_.d=0},
fw:function fw(a){this.a=a},
fx:function fx(a){this.a=a},
fy:function fy(a){this.a=a},
fz:function fz(a){this.a=a},
cQ:function cQ(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this
_.ch=a
_.cx=b
_.cy=c
_.dx=d
_.dy=e
_.fr=f
_.fx=g
_.d=h
_.e=i
_.f=j
_.r=k
_.x=l
_.a=m},
l7:function(a,b){var u=a.getContext("2d")
u.fillStyle=b.a4()
u.fillRect(0,0,a.width,a.height)},
nA:function(a,b,c,d,e,f,g){var u,t,s,r,q,p=C.b.bv(b,e.length),o=C.a.C(p*0.85),n=W.aS(null,null)
n.width=a
n.height=b
u=n.getContext("2d")
u.fillStyle=g.a4()
u.fillRect(0,0,a,b)
u.strokeStyle=f.a4()
u.fillStyle=f.a4()
u.textBaseline="middle"
u.font=c+" "+o+"px "+d
t=C.b.G(p,2)
for(s=e.length,r=a/16,q=0;q<e.length;e.length===s||(0,H.u)(e),++q){u.fillText(e[q],r,t)
t+=p}return n},
nn:function(a){var u,t=H.b([],[P.h]),s=a.m(18),r=$.m5(),q=a.m(38),p=a.m(13)
for(u=0;u<32;++u){if(a.aG())t.push($.p4[s]+r[q])
else t.push(r[q]+$.p5[p])
s=C.b.U(s+1,18)
q=C.b.U(q+1,38)
p=C.b.U(p+1,13)}return t},
nz:function(){var u,t,s,r,q,p,o,n,m,l,k,j,i=W.aS(null,null)
i.width=256
i.height=16*$.j4()
D.l7(i,$.e6())
u=i.getContext("2d")
for(t=0;t<8;++t){s=$.lr[t]
r=G.fc(t)*16
q=t*16
for(p=q+8,o=0;o<256;o+=r)for(n=o,m=0;m<s.length;++m){l=s[m]*16/2
if(m%2===1){k=n+l/2
j=u.createRadialGradient(k,p,0,k,p,l/1.5)
j.addColorStop(0,"#ffffff")
j.addColorStop(1,"#808080")
u.fillStyle=j
u.fillRect(n,q,l,16)}n+=l}}return i},
nC:function(a,b){var u,t,s,r,q,p=W.aS(null,null)
p.height=p.width=1024
u=p.getContext("2d")
t=P.jD(u.getImageData(0,0,p.width,p.height))
for(s=J.m(t),r=0;r<s.gW(t).length;r+=4){q=30+b.m(225)
s.gW(t)[r]=q
s.gW(t)[r+1]=q
s.gW(t)[r+2]=q
s.gW(t)[r+3]=255}C.o.b8(u,t,0,0)
return G.eZ(a,"noise",p,$.j2())},
lc:function(a,b,c,d){var u,t,s,r=W.aS(null,null),q=d*2*a
r.width=q
u=2*a
r.height=u
t=r.getContext("2d")
t.fillStyle=c.a4()
t.fillRect(0,0,q,u)
u=d*a/a
q=a/a
s=t.createRadialGradient(u,q,0,u,q,1)
s.addColorStop(0,b.a4())
s.addColorStop(1,c.a4())
t.fillStyle=s
t.setTransform(a,0,0,a,0,0)
t.fillRect(u-1,q-1,2,2)
t.setTransform(1,0,0,1,0,0)
return r},
nD:function(){var u,t,s,r=W.aS(null,null)
r.height=r.width=128
u=E.U(32)
E.U(8)
D.l7(r,$.jW())
t=r.getContext("2d")
t.fillStyle=u.a4()
t.strokeStyle=u.a4()
t.lineWidth=8
s=new D.fj(t)
s.$4(64,0,64,128)
s.$4(0,64,128,64)
t.stroke()
return r},
bX:function(a,b,c){var u,t,s=new G.bG()
s.aS()
s.a=!0
u=G.eZ(b,a,c,s)
t=G.W(a)
t.d.h(0,"uTexture",u)
return t},
nG:function(a,b,c,a0){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=3553
N.O("start generating "+a0.length+" facades")
u=G.Q("facade",a,$.lY(),$.lX())
t=P.h
s=P.x
r=P.D(t,s)
q=new G.F(r,"plain")
r.h(0,"uAverageFurnitureW",4.8)
r.h(0,"uMaxFurnitureH",11.2)
r.h(0,"uColor",c.P())
r.h(0,"uRandSeed",C.h.U(b/1e4,1))
p=new T.p(new Float32Array(2))
p.B(16,16)
r.h(0,"uWindowDim",p)
o=G.V("quad",u,B.cS(1))
n=G.eR(a,512,512)
m=new G.bG()
m.aS()
m.b=!1
m.a=!0
l=H.b([],[G.a8])
for(p=a0.length,k=[G.F],j=n.a,i=0;h=a0.length,i<h;a0.length===p||(0,H.u)(a0),++i){g=a0[i]
h=n.b
J.bM(j.a,36160,h)
J.jc(j.a,0,0,512,512)
J.k8(j.a,17664)
r.h(0,"uFeatures",g.b)
r.h(0,"uWindowFrame",g.c)
u.n(o,H.b([q],k))
h=g.a
f=J.e8(a.a)
J.a6(a.a,d,f)
J.ms(a.a,d,0,6408,0,0,512,512,0)
J.a6(a.a,d,f)
m.aw(a,d)
J.ea(a.a)
e=P.D(t,s)
e.h(0,"cDepthTest",!0)
e.h(0,"cDepthWrite",!0)
e.h(0,"cBlendEquation",$.jL())
e.h(0,"cStencilFunc",$.jP())
e.h(0,"uTexture",new G.bF(h,f,d,a,m))
l.push(new G.a8(e,h))}N.O("done generating  "+h+" facades")
return l},
kH:function(a,b,c,d){var u,t,s,r,q,p,o,n,m="square top to bottom",l="vertical top to bottom",k="vertical with base",j="with base",i="horizontal left to right",h="two pane split",g="four pane split"
if(d){u=new T.c(new Float32Array(3))
u.l(1,1,2)
t=new T.c(new Float32Array(3))
t.l(3.5555555555555554,1,2)
s=new T.c(new Float32Array(3))
s.l(3.5555555555555554,5.333333333333333,2)
r=new T.c(new Float32Array(3))
r.l(1,4.571428571428571,1)
q=new T.c(new Float32Array(3))
q.l(1,3.5555555555555554,3.5555555555555554)
p=new T.c(new Float32Array(3))
p.l(1,1,2)
o=new T.c(new Float32Array(3))
o.l(1,1,2)
n=new T.c(new Float32Array(3))
n.l(1,4,2)
n=H.b([new D.R(m,8,u),new D.R(l,8,t),new D.R(k,8,s),new D.R(j,8,r),new D.R(i,8,q),new D.R("square with blinds",12,p),new D.R(h,9,o),new D.R(g,11,n)],[D.R])
u=n}else{u=new T.c(new Float32Array(3))
u.l(1,1,2)
t=new T.c(new Float32Array(3))
t.l(3.5555555555555554,1,2)
s=new T.c(new Float32Array(3))
s.l(3.5555555555555554,5.333333333333333,2)
r=new T.c(new Float32Array(3))
r.l(1,4.571428571428571,2)
q=new T.c(new Float32Array(3))
q.l(1,3.5555555555555554,3.5555555555555554)
p=new T.c(new Float32Array(3))
p.l(1,1,2)
o=new T.c(new Float32Array(3))
o.l(1,4,2)
o=H.b([new D.R(m,24,u),new D.R(l,24,t),new D.R(k,24,s),new D.R(j,24,r),new D.R(i,24,q),new D.R(h,25,p),new D.R(g,27,o)],[D.R])
u=o}return D.nG(a,b,c,u)},
fj:function fj(a){this.a=a},
R:function R(a,b,c){this.a=a
this.b=b
this.c=c}},A={
e2:function(a){var u=C.t.eS(a,0,new A.iQ()),t=536870911&u+((67108863&u)<<3)
t^=t>>>11
return 536870911&t+((16383&t)<<15)},
iQ:function iQ(){}},T={
jK:function(a,b,c,d){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f=b.aa(0,c)
f.a1(0)
u=d.aE(f)
u.a1(0)
t=f.aE(u)
t.a1(0)
s=u.b6(b)
r=t.b6(b)
q=f.b6(b)
p=u.a
o=p[0]
n=t.a
m=n[0]
l=f.a
k=l[0]
j=p[1]
i=n[1]
h=l[1]
p=p[2]
n=n[2]
l=l[2]
g=a.a
g[15]=1
g[14]=-q
g[13]=-r
g[12]=-s
g[11]=0
g[10]=l
g[9]=n
g[8]=p
g[7]=0
g[6]=h
g[5]=i
g[4]=j
g[3]=0
g[2]=k
g[1]=m
g[0]=o},
jo:function(){var u=new Float32Array(4)
u[3]=1
return new T.bB(u)},
ju:function(a,b){var u=new T.p(new Float32Array(2))
u.B(a,b)
return u},
aw:function(a,b,c){var u=new T.c(new Float32Array(3))
u.l(a,b,c)
return u},
aE:function aE(a){this.a=a},
z:function z(a){this.a=a},
bB:function bB(a){this.a=a},
p:function p(a){this.a=a},
c:function c(a){this.a=a},
l:function l(a){this.a=a}},F={
ou:function(a){if(a>=40)return 15
if(a>=30)return 10
if(a>=20)return 5
if(a>=10)return 2
return 1},
oe:function(a,b,c,d,e,f){var u,t,s,r,q,p,o,n,m,l,k=c.a+c.c/2,j=c.b+c.d/2,i=new T.p(new Float32Array(2))
i.B(0,0)
u=new T.p(new Float32Array(2))
u.B(1,0)
t=new T.p(new Float32Array(2))
t.B(0.5,15)
s=H.b([i,u,t],[T.p])
t=k-1
u=j+1
i=new T.c(new Float32Array(3))
i.l(t,d,u)
r=k+1
q=new T.c(new Float32Array(3))
q.l(r,d,u)
u=j-1
p=new T.c(new Float32Array(3))
p.l(r,d,u)
r=new T.c(new Float32Array(3))
r.l(t,d,u)
o=[i,q,p,r]
n=new T.c(new Float32Array(3))
n.l(k,d+15,j)
for(i=[T.c],m=0;m<4;m=l){l=m+1
u=new S.d3(H.b([o[m],o[l%4],n],i))
u.b=s
a.bB(u,e)}a.dw(n,1500,f)},
nB:function(a,b){var u,t,s,r=b.c,q=b.d,p=Math.min(r,q)/2,o=b.a+r/2,n=b.b+q/2,m=1+a.m(8),l=$.p6[a.m(3)],k=H.b([],[T.p])
for(u=0,t=0;t<=360;t+=10){if(u>=m&&t+l<=360){t+=l
u=0}else ++u
r=t/180*3.141592653589793
q=Math.cos(r)
r=Math.sin(r)
s=new Float32Array(2)
s[0]=o+p*q
s[1]=n+p*r
k.push(new T.p(s))}return k},
oc:function(a,b,c,d,e,f){var u,t,s,r,q,p,o,n,m,l=C.c.gJ(e)
for(u=e.length,t=[T.c],s=0;s<e.length;e.length===u||(0,H.u)(e),++s,l=r){r=e[s]
q=r.a
p=q[0]
q=q[1]
o=new Float32Array(3)
o[0]=p
o[1]=d
o[2]=q
q=l.a
p=q[0]
q=q[1]
n=new Float32Array(3)
n[0]=p
n[1]=d
n[2]=q
q=new Float32Array(3)
q[0]=b
q[1]=d
q[2]=c
m=new S.d3(H.b([new T.c(o),new T.c(n),new T.c(q)],t))
q=$.m9()
m.b=q
a.bB(m,f)}},
n3:function(a,b,c,d,e){var u=new F.ep()
u.dA(a,b,c,d,e)
return u},
n1:function(a,b,c,a0,a1){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f={},e=F.nB(b,c),d=a1.d
f.a=C.c.geQ(e)
for(u=new H.cT(e,[H.S(e,0)]),u=new H.bx(u,u.gj(u)),t=[T.p],s=a0/32,r=0;u.p();){q=u.d
p=f.a
o=q.a
p=p.a
n=o[0]-p[0]
m=o[1]-p[1]
l=Math.sqrt(n*n+m*m)
p=new F.ed(f,q)
k=new S.a_(p.$2(0,a0),H.b([],t))
k.Y(new S.y(r/32,0,l/32,s))
a.u(k,a1.b)
o=a1.c
if(o!==-1){j=l>10&&d>0
i=a1.a
if(j){k=new S.a_(p.$2(a0,a0+i),H.b([],t))
k.Y(new S.y(0,o*0.03125,1,0.03125))
a.u(k,a1.r);--d}else{p=p.$2(a0,a0+i)
o=$.aA()
k=new S.a_(p,H.b([],t))
k.Y(o)
a.u(k,a1.f)}}else{o=a1.e
j=a1.a
if(o!==-1){h=j-2
if(h>0){o=p.$2(a0,a0+h)
j=$.aA()
k=new S.a_(o,H.b([],t))
k.Y(j)
a.u(k,a1.f)}o=a0+h
j=o+1
i=p.$2(j,j+1)
g=$.aA()
k=new S.a_(i,H.b([],t))
k.Y(g)
a.u(k,a1.f)
g=a1.e
i=$.j4()
k=new S.a_(p.$2(o,j),H.b([],t))
k.Y(new S.y(r/16,(i-g-1)/i,l/16,1/i))
a.u(k,a1.x)}else{p=p.$2(a0,a0+j)
o=$.aA()
k=new S.a_(p,H.b([],t))
k.Y(o)
a.u(k,a1.f)}}f.a=q
r+=l}F.oc(a,c.a+c.c/2,c.b+c.d/2,a0+a1.a,e,a1.f)},
ak:function(a,b,c,d,e){var u,t=new S.y(b.a,d,b.c,c),s=b.b,r=$.aA()
a.u(S.b4(t,s,r),e)
a.u(S.b3(t,b.b+b.d,r),e)
u=new S.y(b.b,d,b.d,c)
a.u(S.b5(u,b.a,r),e)
a.u(S.b6(u,b.a+b.c,r),e)
a.u(S.fS(b,d+c,r),e)},
jv:function(a,b,c,d,e,f,g,h){var u,t,s=c.a,r=2*h,q=c.c-r,p=new S.y(s+h,e,q,d),o=G.kB(b,q,d)
a.u(S.b4(p,c.b,o),f)
a.u(S.b3(p,c.b+c.d,o),f)
q=c.b
r=c.d-r
u=new S.y(q+h,e,r,d)
o=G.kB(b,r,d)
a.u(S.b5(u,c.a,o),f)
a.u(S.b6(u,c.a+c.c,o),f)
if(h>0){t=new S.y(p.a-h,p.b,h,p.d)
s=c.b
r=$.aA()
a.u(S.b4(t,s,r),g)
a.u(S.b3(t,c.b+c.d,r),g)
t.a=p.a+p.c
a.u(S.b4(t,c.b,r),g)
a.u(S.b3(t,c.b+c.d,r),g)
t=new S.y(u.a-h,u.b,h,u.d)
a.u(S.b5(t,c.a,r),g)
a.u(S.b6(t,c.a+c.c,r),g)
t.a=u.a+u.c
a.u(S.b5(t,c.a,r),g)
a.u(S.b6(t,c.a+c.c,r),g)}},
l5:function(c3,c4,c5,c6,c7,c8){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2=C.h.C(c6/10)
if(c2>4)c2=4
if(c2>2&&c5.c*c5.d<=64)c2=2
u=c5.dB()
u.av(1)
for(t=c3.a,s=c3.gcC(),r=0,q=0,p=0;p<c2;++p){o=Math.max(3-p,1)
u.av(-1)
switch(c4.m(2)){case 0:if(c8.a&&c4.m(6)===0){n=c7.b
m=c7.r
l=o>1?1:0
k=o-1-l
if(k>0)F.ak(c3,u,k,c6,n)
j=c6+k
i=G.no(c4,u.c,u.d)
h=u.c
g=G.fc(i)
f=(h-C.h.C(h/g)*g)/2
e=new S.y(u.a+f,j,u.c-2*f,1)
d=G.kA(i,e)
c3.u(S.b4(e,u.b,d),m)
c3.u(S.b3(e,u.b+u.d,d),m)
c=new S.y(u.a,j,f,1)
c3.u(S.b4(c,u.b,d),n)
c3.u(S.b3(c,u.b+u.d,d),n)
b=new S.y(u.a+u.c-f,j,f,1)
c3.u(S.b4(b,u.b,d),n)
c3.u(S.b3(b,u.b+u.d,d),n)
h=u.d
g=G.fc(i)
f=(h-C.h.C(h/g)*g)/2
a=new S.y(u.b+f,j,u.d-2*f,1)
a0=G.kA(i,a)
c3.u(S.b5(a,u.a,a0),m)
c3.u(S.b6(a,u.a+u.c,a0),m)
c=new S.y(u.b,j,f,1)
c3.u(S.b5(c,u.a,a0),n)
c3.u(S.b6(c,u.a+u.c,a0),n)
b=new S.y(u.b+u.d-f,j,f,1)
c3.u(S.b5(b,u.a,a0),n)
c3.u(S.b6(b,u.a+u.c,a0),n);++j
c3.u(S.fS(u,j,$.aA()),n)
if(l>0)F.ak(c3,u,l,j,n)}else F.ak(c3,u,o,c6,c7.a)
break
case 1:if(c8.c&&r===0&&o===3&&c4.m(5)>=0){a1=c7.z
a2=c7.d
a3=c7.e
a4=new S.y(0,a1*0.03125,1,0.03125)
n=u.a
m=u.c
a5=new S.y(n,c6,m,o)
n=u.b
j=u.d
a6=new S.y(n,c6,j,o)
a7=m>=j?a2:a3
c3.u(S.b4(a5,n,a4),a7)
c3.u(S.b3(a5,u.b+u.d,a4),a7)
a2=u.d>=u.c?a2:a3
c3.u(S.b5(a6,u.a,a4),a2)
c3.u(S.b6(a6,u.a+u.c,a4),a2)
c3.u(S.fS(u,c6+o,$.aA()),a3);++r}else F.ak(c3,u,o,c6,c7.a)
break
case 2:if(c8.b&&q===0&&c4.m(5)===0){a8=new S.y(u.a,u.b,u.c,u.d)
a8.av(0.5)
n=a8.a
m=c6+o/2
j=a8.b
h=new Float32Array(3)
h[0]=n
h[1]=m
h[2]=j
j=a8.a
n=a8.b
a9=a8.d
b0=new Float32Array(3)
b0[0]=j
b0[1]=m
b0[2]=n+a9
a9=a8.a
n=a8.c
j=a8.b
b1=new Float32Array(3)
b1[0]=a9+n
b1[1]=m
b1[2]=j
j=a8.a
n=a8.c
a9=a8.b
b2=a8.d
b3=new Float32Array(3)
b3[0]=j+n
b3[1]=m
b3[2]=a9+b2
b4=[new T.c(h),new T.c(b0),new T.c(b1),new T.c(b3)]
for(b5=0;b5<4;++b5){b6=b4[b5]
n=c7.c
b7=t.af(0,n.a,s)
m=b7.d
j=new T.c(new Float32Array(3))
j.t(b6)
m.push(j)
j=b7.e
b8=j.i(0,"aColor")
m=new T.c(new Float32Array(3))
m.t(n.b);(b8&&C.c).w(b8,m)
b8=j.i(0,"aPointSize");(b8&&C.c).w(b8,2000)}++q}F.ak(c3,u,o,c6,c7.a)
break
default:F.ak(c3,u,o,c6,c7.a)
break}c6+=o
if(u.c<=7||u.d<=7)break}b9=C.h.C(c6/15)
for(p=0;p<b9;++p){t=c7.y
c0=c4.m(30)/10+1
c1=u.c-1
if(c0>c1)c0=c1
c1=u.d-1
if(c0>c1)c0=c1
s=c4.m(20)
n=u.a
m=n+0.5
j=u.c
h=c4.L()
a9=u.b
b0=a9+0.5
b1=u.d
F.ak(c3,new S.y(h*(n+j-c0-0.5-m)+m,c4.L()*(a9+b1-c0-0.5-b0)+b0,c0,c0),s/10+1,c6,t)}if(c6>50&&c4.m(10)===0&&c8.d)F.oe(c3,c4,u,c6,c7.f,c7.x)},
n2:function(a,b,c,d,e,f,g){var u,t,s,r=c.a,q=c.b,p=c.c,o=c.d,n=new S.y(r,q,p,o),m=e.f,l=2*m,k=new S.y(r-m,q-m,p+l,o+l)
F.ak(a,k,e.r,0,e.b)
u=e.r
for(t=1;u<d;++t){s=d-u
if(s>10)s=C.h.C(s/e.x)
if(s<3)s=3
F.jv(a,b,n,s,u,e.a,e.d,e.y)
u+=s
r=e.e
if(u+r>d)break
F.ak(a,k,r,u,e.c)
u+=e.e
if(C.b.U(t,e.Q)===0){r=n.c
if(r>7){++n.a
n.c=r-2;++k.a
k.c-=2}r=n.d
if(r>7){++n.b
n.d=r-2;++k.b
k.d-=2}}}F.l5(a,b,n,u,f,g)},
n0:function(a,a0,a1,a2,a3,a4,a5){var u,t,s,r,q,p,o=C.b.C(a2),n=C.a.C(a1.c),m=C.a.C(a1.d),l=F.ou(o),k=P.C,j=P.b2(k),i=P.b2(k),h=P.b2(k),g=P.b2(k),f=1,e=1,d=1,c=1,b=0
while(!0){if(!(b<l&&o>=3))break
c$0:{k=C.b.G(n,2)
u=1+a0.m(k)
t=1+a0.m(k)
k=C.b.G(m,2)
s=1+a0.m(k)
r=1+a0.m(k);--o
if(u<=f&&t<=e&&s<=d&&r<=c)break c$0
if(j.H(0,u)||i.H(0,t)||h.H(0,s)||g.H(0,r))break c$0
j.w(0,u)
i.w(0,t)
h.w(0,s)
g.w(0,r)
f=Math.max(u,f)
e=Math.max(t,e)
d=Math.max(s,d)
c=Math.max(r,c)
q=new S.y(a1.a+a1.c/2-u,a1.b+a1.d/2-r,u+t,s+r)
if(b===0)F.l5(a,a0,q,o+a3.d,a4,a5)
F.jv(a,a0,q,o,a3.d,a3.a,a3.b,0)
k=a3.d
p=a4.a
a.u(S.fS(q,k+o,$.aA()),p)
o-=1+a0.m(3);++b}}F.ak(a,a1,2,0,a3.c)},
eq:function eq(){var _=this
_.x=_.r=_.f=_.e=_.d=_.c=_.b=_.a=null},
ep:function ep(){var _=this
_.b=_.a=null
_.c=-1
_.d=0
_.e=-1
_.x=_.r=_.f=null},
ed:function ed(a,b){this.a=a
this.b=b},
je:function je(){this.c=this.b=this.a=null},
h0:function h0(){var _=this
_.z=_.y=_.x=_.r=_.f=_.e=_.d=_.c=_.b=_.a=null},
er:function er(){var _=this
_.Q=_.y=_.x=_.r=_.f=_.e=_.d=_.c=_.b=_.a=null},
eo:function eo(){var _=this
_.d=_.c=_.b=_.a=null}},S={
nS:function(a,b,c,d){return new S.y(a,b,c,d)},
fS:function(a,b,c){var u=new S.a_(H.b([],[T.c]),H.b([],[T.p]))
u.dO(a,b,c)
return u},
b4:function(a,b,c){var u=new S.a_(H.b([],[T.c]),H.b([],[T.p]))
u.dN(a,b,c)
return u},
b3:function(a,b,c){var u=new S.a_(H.b([],[T.c]),H.b([],[T.p]))
u.dM(a,b,c)
return u},
b6:function(a,b,c){var u=new S.a_(H.b([],[T.c]),H.b([],[T.p]))
u.dQ(a,b,c)
return u},
b5:function(a,b,c){var u=new S.a_(H.b([],[T.c]),H.b([],[T.p]))
u.dP(a,b,c)
return u},
y:function y(a,b,c,d){var _=this
_.a=a
_.b=b
_.c=c
_.d=d},
d3:function d3(a){this.a=a
this.b=null},
a_:function a_(a,b){this.a=a
this.b=b},
fT:function fT(a){this.a=a},
fR:function fR(a){this.a=a},
fQ:function fQ(a){this.a=a},
fV:function fV(a){this.a=a},
fU:function fU(a){this.a=a},
G:function G(a,b){this.a=a
this.b=b},
c6:function c6(a,b,c,d,e,f,g){var _=this
_.a=a
_.b=b
_.c=c
_.d=d
_.e=e
_.f=f
_.r=g}},V={
t:function(a,b,c,d){var u=b*4
a[u]=C.b.G(c*d[0],255)
a[u+1]=C.b.G(c*d[1],255)
a[u+2]=C.b.G(c*d[2],255)
a[u+3]=255},
o4:function(a,b){var u,t=new Uint8Array(128)
for(u=0;u<32;++u)V.t(t,u,256,b)
V.t(t,1,64,a)
V.t(t,2,96,a)
V.t(t,3,128,a)
V.t(t,4,160,a)
V.t(t,5,192,a)
V.t(t,6,224,a)
V.t(t,7,224,a)
V.t(t,8,255,a)
V.t(t,9,64,a)
V.t(t,10,96,a)
V.t(t,11,128,a)
V.t(t,12,160,a)
V.t(t,13,192,a)
V.t(t,14,224,a)
V.t(t,15,255,a)
V.t(t,16,255,a)
V.t(t,17,255,a)
return t},
o3:function(a,b){var u,t=new Uint8Array(128)
for(u=0;u<32;++u)V.t(t,u,256,b)
V.t(t,3,256,a)
V.t(t,12,256,a)
return t},
o0:function(a,b){var u,t=new Uint8Array(128)
for(u=0;u<32;++u)V.t(t,u,256,b)
V.t(t,13,255,a)
V.t(t,14,240,a)
V.t(t,15,224,a)
V.t(t,16,208,a)
V.t(t,17,192,a)
return t},
o1:function(a,b){var u,t=new Uint8Array(128)
for(u=0;u<32;++u)V.t(t,u,256,b)
V.t(t,9,32,a)
V.t(t,10,64,a)
V.t(t,11,96,a)
V.t(t,12,128,a)
V.t(t,13,160,a)
V.t(t,14,192,a)
V.t(t,15,224,a)
V.t(t,16,255,a)
return t},
o2:function(a,b){var u,t=new Uint8Array(128)
for(u=0;u<32;++u)V.t(t,u,256,b)
for(u=9;u<18;++u)V.t(t,u,256,a)
return t},
fb:function fb(a,b,c,d,e,f){var _=this
_.a=a
_.b=b
_.c=c
_.d=d
_.e=e
_.f=f
_.ch=_.Q=_.z=_.y=_.x=_.r=null
_.cx=0},
lt:function(a){var u=P.h,t=[u]
u=new G.cW(H.b([],t),H.b([],t),H.b([],t),H.b([],t),P.D(u,P.C))
u.K(H.b(["vNormal"],t))
u.N(H.b(["uTime","uTransformationMatrix"],t))
u.b=u.aU(!1,H.b(["","vec3 mod289(vec3 x)\n{\n  return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nvec4 mod289(vec4 x)\n{\n  return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nvec4 permute(vec4 x)\n{\n  return mod289(((x*34.0)+1.0)*x);\n}\n\nvec4 taylorInvSqrt(vec4 r)\n{\n  return 1.79284291400159 - 0.85373472095314 * r;\n}\n\nvec3 fade(vec3 t) {\n  return t*t*t*(t*(t*6.0-15.0)+10.0);\n}\n\n\n// Classic Perlin noise, periodic variant\nfloat pnoise(vec3 P, vec3 rep)\n{\n  vec3 Pi0 = mod(floor(P), rep); // Integer part, modulo period\n  vec3 Pi1 = mod(Pi0 + vec3(1.0), rep); // Integer part + 1, mod period\n  Pi0 = mod289(Pi0);\n  Pi1 = mod289(Pi1);\n  vec3 Pf0 = fract(P); // Fractional part for interpolation\n  vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0\n  vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\n  vec4 iy = vec4(Pi0.yy, Pi1.yy);\n  vec4 iz0 = Pi0.zzzz;\n  vec4 iz1 = Pi1.zzzz;\n\n  vec4 ixy = permute(permute(ix) + iy);\n  vec4 ixy0 = permute(ixy + iz0);\n  vec4 ixy1 = permute(ixy + iz1);\n\n  vec4 gx0 = ixy0 * (1.0 / 7.0);\n  vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;\n  gx0 = fract(gx0);\n  vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);\n  vec4 sz0 = step(gz0, vec4(0.0));\n  gx0 -= sz0 * (step(0.0, gx0) - 0.5);\n  gy0 -= sz0 * (step(0.0, gy0) - 0.5);\n\n  vec4 gx1 = ixy1 * (1.0 / 7.0);\n  vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;\n  gx1 = fract(gx1);\n  vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);\n  vec4 sz1 = step(gz1, vec4(0.0));\n  gx1 -= sz1 * (step(0.0, gx1) - 0.5);\n  gy1 -= sz1 * (step(0.0, gy1) - 0.5);\n\n  vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);\n  vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);\n  vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);\n  vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);\n  vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);\n  vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);\n  vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);\n  vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);\n\n  vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\n  g000 *= norm0.x;\n  g010 *= norm0.y;\n  g100 *= norm0.z;\n  g110 *= norm0.w;\n  vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\n  g001 *= norm1.x;\n  g011 *= norm1.y;\n  g101 *= norm1.z;\n  g111 *= norm1.w;\n\n  float n000 = dot(g000, Pf0);\n  float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));\n  float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));\n  float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));\n  float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));\n  float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));\n  float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));\n  float n111 = dot(g111, Pf1);\n\n  vec3 fade_xyz = fade(Pf0);\n  vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);\n  vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);\n  float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); \n  return 2.2 * n_xyz;\n}\n","#define VARIANT 1\n\nvoid main() {\n#if VARIANT == 1\n  float mytime = uTime/2.0;\n#ifdef BLACK\n  mytime = uTime/10.0;\n#endif\n  float period = 10.0;\n  float factor = 1.0; // sin( uTime)/4.0+2.0;\n  vec3 translation = uTransformationMatrix[3].xyz;\n  float r = pnoise( .75 * ( vNormal *factor + mytime ), vec3( period ) );\n  float g = pnoise( 0.8 * ( vNormal *factor + mytime ), vec3( period ) );\n  float b = pnoise( 0.9 * ( vNormal *factor + mytime ), vec3( period ) );\n  float n = pnoise( 1.5 * ( vNormal *factor + mytime ), vec3( period ) );\n#else\n  float mytime = 0.0 ; //uTime/50.0;\n  float period = 5.0;\n  float factor = 1.0; // sin( uTime)/4.0+2.0;\n  vec3 translation = uTransformationMatrix[3].xyz;\n  float r = pnoise( .75 * ( translation*0.175 + vNormal *factor + mytime ), vec3( period ) );\n  float g = pnoise( 0.8 * ( translation*0.175 + vNormal *factor + mytime ), vec3( period ) );\n  float b = pnoise( 0.9 * ( translation*0.175 + vNormal *factor + mytime ), vec3( period ) );\n  float n = pnoise( 1.5 * ( translation*0.175 + vNormal *factor + mytime ), vec3( period ) );\n#endif\n\n  n = pow( .001, n );\n//float n = 10.0 * pnoise( 5.0 * ( vNormal + uTime ), vec3( 10.0 ) ) * pnoise( .5 * ( vNormal + uTime ), vec3( 10.0 ) );\n//n += .5 * pnoise( 4.0 * vNormal, vec3( 10.0 ) );\n#ifdef BLACK\n  vec3 color = vec3( 1.0-(r + n), 1.0-(g + n), 1.0-(b + n) );\n#else\n  vec3 color = vec3( (r + n), (g + n), (b + n) );\n#endif\n  oFragColor = vec4( color, 1.0 );\n}\n"],t),null)
return u}},Q={
o9:function(a,b,c,d,e,f){var u,t,s,r,q,p,o,n,m,l,k,j,i,h=B.jn(new Q.hu(3,2,c,a),0,6.283185307179586,d,!0)
h.push(h[0])
h.push(h[1])
u=B.jt(h,e,f)
for(t=u.length,s=0;s<u.length;u.length===t||(0,H.u)(u),++s){r=u[s]
r.push(r[0])
r.push(r[1])}t=[T.c]
q=new G.a0(!1,H.b([],[G.a7]),H.b([],[G.T]),H.b([],t),P.D(P.h,[P.j,,]))
for(p=0;p<d;p=o)for(o=p+1,n=p%2*3,m=0;m<e;m+=2){l=m+n
q.du(2)
k=new Q.ht(u,d,e)
j=l+1
i=l+2
q.ap(H.b([k.$2(p,l),k.$2(o,j),k.$2(p,i)],t))
q.ap(H.b([k.$2(p,i),k.$2(o,j),k.$2(o,l+3)],t))}return q},
nI:function(a6){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5=new Array(a6.d.length)
a5.fixed$length=Array
u=H.b(a5,[T.l])
a5=new T.l(new Float32Array(4))
a5.A(1,100,0,0)
t=new T.l(new Float32Array(4))
t.A(100,1,0,0)
s=new T.l(new Float32Array(4))
s.A(100,100,1,0)
r=new T.l(new Float32Array(4))
r.A(1,100,100,0)
q=new T.l(new Float32Array(4))
q.A(0,1,100,0)
p=new T.l(new Float32Array(4))
p.A(0,100,1,0)
o=new T.l(new Float32Array(4))
o.A(1,100,100,0)
n=new T.l(new Float32Array(4))
n.A(0,1,100,0)
m=new T.l(new Float32Array(4))
m.A(0,100,1,0)
l=new T.l(new Float32Array(4))
l.A(1,100,0,0)
k=new T.l(new Float32Array(4))
k.A(100,1,0,0)
j=new T.l(new Float32Array(4))
j.A(100,100,1,0)
i=new T.l(new Float32Array(4))
i.A(1,0,100,0)
h=new T.l(new Float32Array(4))
h.A(100,1,100,0)
g=new T.l(new Float32Array(4))
g.A(100,0,1,0)
f=new T.l(new Float32Array(4))
f.A(1,0,100,0)
e=new T.l(new Float32Array(4))
e.A(100,1,100,0)
d=new T.l(new Float32Array(4))
d.A(100,0,1,0)
c=[a5,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d]
for(a5=a6.b,t=a5.length,b=0,a=0;a<t;++a){a0=a5[a]
u[a0.a]=c[b]
u[a0.b]=c[b+1]
u[a0.c]=c[b+2]
b+=3
if(b===18)b=0}a1=new T.l(new Float32Array(4))
a1.A(1,0,0,1)
a2=new T.l(new Float32Array(4))
a2.A(1,1,0,1)
a3=new T.l(new Float32Array(4))
a3.A(0,1,0,1)
a4=new T.l(new Float32Array(4))
a4.A(0,0,0,1)
for(a5=a6.c,t=a5.length,a=0;a<a5.length;a5.length===t||(0,H.u)(a5),++a){a0=a5[a]
s=a0.a
r=new T.l(new Float32Array(4))
r.t(a1)
u[s]=r
r=a0.b
s=new T.l(new Float32Array(4))
s.t(a2)
u[r]=s
s=a0.c
r=new T.l(new Float32Array(4))
r.t(a3)
u[s]=r
r=a0.d
s=new T.l(new Float32Array(4))
s.t(a4)
u[r]=s}a6.e.h(0,"aCenter",u)},
l1:function(a,b){var u
N.O("start torus gb 240x3200")
u=B.js(!1,!0,1,!1,2,3,500,a,b,100)
N.O("done torus gb "+u.k(0))
return u},
nr:function(a,b){var u
N.O("start torus gb 240x3200")
u=B.js(!1,!0,1,!0,2,3,500,a,b,100)
u.aP()
N.O("done torus-wireframe gb "+u.k(0))
return u},
hu:function hu(a,b,c,d){var _=this
_.a=a
_.b=b
_.c=c
_.d=d},
ht:function ht(a,b,c){this.a=a
this.b=b
this.c=c}},E={
jH:function(a,b,c){if(c<0)++c
if(c>1)--c
if(c<0.16666666666666666)return a+(b-a)*6*c
if(c<0.5)return b
if(c<0.6666666666666666)return a+(b-a)*(0.6666666666666666-c)*6
return a},
B:function(a,b,c){return new E.b7(a,b,c)},
U:function(a){var u=new E.b7(null,null,null)
u.c=u.b=u.a=a
return u},
a2:function(a,b,c){var u=new E.b7(null,null,null)
u.dR(a,b,c)
return u},
b7:function b7(a,b,c){var _=this
_.a=a
_.b=b
_.c=c
_.d=1}},K={
jp:function(){return new K.h_()},
or:function(a){var u,t,s,r,q,p,o=H.b([],[T.c])
for(u=0;u<14;++u){t=a[u]
s=t.a
r=t.b
q=t.c
p=new Float32Array(3)
p[0]=s/255
p[1]=r/255
p[2]=q/255
o.push(new T.c(p))}return o},
nd:function(a){var u,t,s,r,q=$.m7()[a.m(20)].P(),p=a.L(),o=a.L(),n=a.L(),m=new T.c(new Float32Array(3))
m.l(p,o,n)
m=q.q(0,m.a2(0.2))
n=a.L()
o=a.L()
p=a.L()
u=new T.c(new Float32Array(3))
u.l(n,o,p)
u=q.q(0,u.a2(0.1))
p=a.L()
o=a.L()
n=a.L()
t=new T.c(new Float32Array(3))
t.l(p,o,n)
t=q.q(0,t.a2(0.1))
n=a.L()
o=a.L()
p=a.L()
s=new T.c(new Float32Array(3))
s.l(n,o,p)
s=q.q(0,s.a2(0.1))
p=a.L()
o=a.L()
n=a.L()
r=new T.c(new Float32Array(3))
r.l(p,o,n)
return new K.bm(m,u,t,s,q.q(0,r.a2(0.2)),q,q)},
nJ:function(a){var u=$.m3()
return new K.bm(u[a.m(u.length)],$.m2()[a.m(4)],$.m8()[a.m(3)],$.ma()[a.m(1)],$.m1()[a.m(1)],$.cr().P(),$.e6().P())},
c9:function(a,b,c,d,e,f,g,h,i,j,k,l){return new K.d1(d,e,f,k,l)},
h_:function h_(){var _=this
_.d=_.c=_.b=_.a=!0},
bm:function bm(a,b,c,d,e,f,g){var _=this
_.a=a
_.b=b
_.c=c
_.d=d
_.e=e
_.f=f
_.r=g},
d1:function d1(a,b,c,d,e){var _=this
_.d=a
_.e=b
_.f=c
_.Q=d
_.ch=e}},N={
jw:function(a){if(a>=10)return""+a
return"0"+a},
oj:function(a){if(a>=100)return""+a
if(a>=10)return"0"+a
return"00"+a},
l0:function(a){return N.jw(H.kO(a))+":"+N.jw(H.kQ(a))+":"+N.jw(H.kR(a))+"."+N.oj(H.kP(a))},
ov:function(a){return a+":"+N.l0(new P.bq(Date.now(),!1))+": "},
O:function(a){P.P(N.ov("I")+a)}}
var w=[C,H,J,P,W,G,R,B,D,A,T,F,S,V,Q,E,K,N]
hunkHelpers.setFunctionNamesIfNecessary(w)
var $={}
H.jj.prototype={}
J.a.prototype={
O:function(a,b){return a===b},
gE:function(a){return H.bA(a)},
k:function(a){return"Instance of '"+H.c3(a)+"'"},
gba:function(a){return new H.b9(H.jF(a))}}
J.cF.prototype={
k:function(a){return String(a)},
bo:function(a,b){return b||a},
gE:function(a){return a?519018:218159},
$iae:1}
J.f3.prototype={
O:function(a,b){return null==b},
k:function(a){return"null"},
gE:function(a){return 0},
gba:function(a){return C.a9}}
J.cI.prototype={
gE:function(a){return 0},
k:function(a){return String(a)}}
J.fN.prototype={}
J.aO.prototype={}
J.b0.prototype={
k:function(a){var u=a[$.lA()]
if(u==null)return this.dm(a)
return"JavaScript function for "+H.e(J.bO(u))},
$S:function(){return{func:1,opt:[,,,,,,,,,,,,,,,,]}},
$ibs:1}
J.aY.prototype={
w:function(a,b){if(!!a.fixed$length)H.aa(P.o("add"))
a.push(b)},
S:function(a,b){var u
if(!!a.fixed$length)H.aa(P.o("addAll"))
for(u=J.cu(b);u.p();)a.push(u.gv(u))},
ak:function(a,b){var u,t=new Array(a.length)
t.fixed$length=Array
for(u=0;u<a.length;++u)t[u]=H.e(a[u])
return t.join(b)},
I:function(a,b){return a[b]},
dj:function(a,b,c){var u=a.length
if(b>u)throw H.d(P.ar(b,0,a.length,"start",null))
if(c<b||c>a.length)throw H.d(P.ar(c,b,a.length,"end",null))
if(b===c)return H.b([],[H.S(a,0)])
return H.b(a.slice(b,c),[H.S(a,0)])},
geQ:function(a){if(a.length>0)return a[0]
throw H.d(H.f1())},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(H.f1())},
c3:function(a,b){var u,t=a.length
for(u=0;u<t;++u){if(b.$1(a[u]))return!0
if(a.length!==t)throw H.d(P.bo(a))}return!1},
aN:function(a){if(!!a.immutable$list)H.aa(P.o("sort"))
H.o7(a,J.oA())},
H:function(a,b){var u
for(u=0;u<a.length;++u)if(J.ah(a[u],b))return!0
return!1},
k:function(a){return P.jh(a,"[","]")},
gD:function(a){return new J.ei(a,a.length)},
gE:function(a){return H.bA(a)},
gj:function(a){return a.length},
sj:function(a,b){if(!!a.fixed$length)H.aa(P.o("set length"))
if(b<0)throw H.d(P.ar(b,0,null,"newLength",null))
a.length=b},
i:function(a,b){if(b>=a.length||b<0)throw H.d(H.e1(a,b))
return a[b]},
h:function(a,b,c){if(!!a.immutable$list)H.aa(P.o("indexed set"))
if(b>=a.length||b<0)throw H.d(H.e1(a,b))
a[b]=c},
$iv:1,
$av:function(){},
$ij:1}
J.ji.prototype={}
J.ei.prototype={
gv:function(a){return this.d},
p:function(){var u,t=this,s=t.a,r=s.length
if(t.b!==r)throw H.d(H.u(s))
u=t.c
if(u>=r){t.d=null
return!1}t.d=s[u]
t.c=u+1
return!0}}
J.aZ.prototype={
a7:function(a,b){var u
if(typeof b!=="number")throw H.d(H.al(b))
if(a<b)return-1
else if(a>b)return 1
else if(a===b){if(a===0){u=this.gaF(b)
if(this.gaF(a)===u)return 0
if(this.gaF(a))return-1
return 1}return 0}else if(isNaN(a)){if(isNaN(b))return 0
return 1}else return-1},
gaF:function(a){return a===0?1/a<0:a<0},
cZ:function(a){var u
if(a>=-2147483648&&a<=2147483647)return a|0
if(isFinite(a)){u=a<0?Math.ceil(a):Math.floor(a)
return u+0}throw H.d(P.o(""+a+".toInt()"))},
eG:function(a){var u,t
if(a>=0){if(a<=2147483647){u=a|0
return a===u?u:u+1}}else if(a>=-2147483648)return a|0
t=Math.ceil(a)
if(isFinite(t))return t
throw H.d(P.o(""+a+".ceil()"))},
C:function(a){var u,t
if(a>=0){if(a<=2147483647)return a|0}else if(a>=-2147483648){u=a|0
return a===u?u:u-1}t=Math.floor(a)
if(isFinite(t))return t
throw H.d(P.o(""+a+".floor()"))},
cd:function(a,b,c){if(this.a7(b,c)>0)throw H.d(H.al(b))
if(this.a7(a,b)<0)return b
if(this.a7(a,c)>0)return c
return a},
fc:function(a,b){var u
if(b>20)throw H.d(P.ar(b,0,20,"fractionDigits",null))
u=a.toFixed(b)
if(a===0&&this.gaF(a))return"-"+u
return u},
k:function(a){if(a===0&&1/a<0)return"-0.0"
else return""+a},
gE:function(a){var u,t,s,r,q=a|0
if(a===q)return 536870911&q
u=Math.abs(a)
t=Math.log(u)/0.6931471805599453|0
s=Math.pow(2,t)
r=u<1?u/s:s/u
return 536870911&((r*9007199254740992|0)+(r*3542243181176521|0))*599197+t*1259},
q:function(a,b){if(typeof b!=="number")throw H.d(H.al(b))
return a+b},
U:function(a,b){var u=a%b
if(u===0)return 0
if(u>0)return u
if(b<0)return u-b
else return u+b},
bv:function(a,b){if((a|0)===a)if(b>=1||!1)return a/b|0
return this.c_(a,b)},
G:function(a,b){return(a|0)===a?a/b|0:this.c_(a,b)},
c_:function(a,b){var u=a/b
if(u>=-2147483648&&u<=2147483647)return u|0
if(u>0){if(u!==1/0)return Math.floor(u)}else if(u>-1/0)return Math.ceil(u)
throw H.d(P.o("Result of truncating division is "+H.e(u)+": "+H.e(a)+" ~/ "+b))},
aB:function(a,b){var u
if(a>0)u=this.ev(a,b)
else{u=b>31?31:b
u=a>>u>>>0}return u},
ev:function(a,b){return b>31?0:a>>>b},
bo:function(a,b){if(typeof b!=="number")throw H.d(H.al(b))
return(a|b)>>>0},
aK:function(a,b){if(typeof b!=="number")throw H.d(H.al(b))
return a>b},
$iaz:1,
$ia5:1}
J.cH.prototype={$iC:1}
J.cG.prototype={}
J.b_.prototype={
aW:function(a,b){if(b>=a.length)throw H.d(H.e1(a,b))
return a.charCodeAt(b)},
q:function(a,b){if(typeof b!=="string")throw H.d(P.kj(b,null,null))
return a+b},
dh:function(a,b){var u=H.b(a.split(b),[P.h])
return u},
di:function(a,b){var u=b.length
if(u>a.length)return!1
return b===a.substring(0,u)},
bu:function(a,b,c){if(c==null)c=a.length
if(b<0)throw H.d(P.fW(b,null))
if(b>c)throw H.d(P.fW(b,null))
if(c>a.length)throw H.d(P.fW(c,null))
return a.substring(b,c)},
bt:function(a,b){return this.bu(a,b,null)},
fb:function(a){return a.toLowerCase()},
ci:function(a,b,c){if(c>a.length)throw H.d(P.ar(c,0,a.length,null,null))
return H.pf(a,b,c)},
H:function(a,b){return this.ci(a,b,0)},
a7:function(a,b){var u
if(typeof b!=="string")throw H.d(H.al(b))
if(a===b)u=0
else u=a<b?-1:1
return u},
k:function(a){return a},
gE:function(a){var u,t,s
for(u=a.length,t=0,s=0;s<u;++s){t=536870911&t+a.charCodeAt(s)
t=536870911&t+((524287&t)<<10)
t^=t>>6}t=536870911&t+((67108863&t)<<3)
t^=t>>11
return 536870911&t+((16383&t)<<15)},
gj:function(a){return a.length},
i:function(a,b){if(b>=a.length||!1)throw H.d(H.e1(a,b))
return a[b]},
$iv:1,
$av:function(){},
$ih:1}
H.eH.prototype={}
H.cJ.prototype={
gD:function(a){return new H.bx(this,this.gj(this))},
aI:function(a,b){return this.dl(0,b)}}
H.bx.prototype={
gv:function(a){return this.d},
p:function(){var u,t=this,s=t.a,r=J.aQ(s),q=r.gj(s)
if(t.b!==q)throw H.d(P.bo(s))
u=t.c
if(u>=q){t.d=null
return!1}t.d=r.I(s,u);++t.c
return!0}}
H.fm.prototype={
gD:function(a){var u=this.a
return new H.fn(u.gD(u),this.b)},
gj:function(a){var u=this.a
return u.gj(u)},
$aaX:function(a,b){return[b]}}
H.eI.prototype={}
H.fn.prototype={
p:function(){var u=this,t=u.b
if(t.p()){u.a=u.c.$1(t.gv(t))
return!0}u.a=null
return!1},
gv:function(a){return this.a}}
H.fo.prototype={
gj:function(a){return J.bN(this.a)},
I:function(a,b){return this.b.$1(J.mA(this.a,b))},
$acJ:function(a,b){return[b]},
$aaX:function(a,b){return[b]}}
H.d5.prototype={
gD:function(a){return new H.hJ(J.cu(this.a),this.b)}}
H.hJ.prototype={
p:function(){var u,t
for(u=this.a,t=this.b;u.p();)if(t.$1(u.gv(u)))return!0
return!1},
gv:function(a){var u=this.a
return u.gv(u)}}
H.cD.prototype={
sj:function(a,b){throw H.d(P.o("Cannot change the length of a fixed-length list"))},
w:function(a,b){throw H.d(P.o("Cannot add to a fixed-length list"))}}
H.cT.prototype={
gj:function(a){return J.bN(this.a)},
I:function(a,b){var u=this.a,t=J.aQ(u)
return t.I(u,t.gj(u)-1-b)}}
H.hA.prototype={
a0:function(a){var u,t,s=this,r=new RegExp(s.a).exec(a)
if(r==null)return
u=Object.create(null)
t=s.b
if(t!==-1)u.arguments=r[t+1]
t=s.c
if(t!==-1)u.argumentsExpr=r[t+1]
t=s.d
if(t!==-1)u.expr=r[t+1]
t=s.e
if(t!==-1)u.method=r[t+1]
t=s.f
if(t!==-1)u.receiver=r[t+1]
return u}}
H.fJ.prototype={
k:function(a){var u=this.b
if(u==null)return"NoSuchMethodError: "+H.e(this.a)
return"NoSuchMethodError: method not found: '"+u+"' on null"}}
H.f6.prototype={
k:function(a){var u,t=this,s="NoSuchMethodError: method not found: '",r=t.b
if(r==null)return"NoSuchMethodError: "+H.e(t.a)
u=t.c
if(u==null)return s+r+"' ("+H.e(t.a)+")"
return s+r+"' on '"+u+"' ("+H.e(t.a)+")"}}
H.hF.prototype={
k:function(a){var u=this.a
return u.length===0?"Error":"Error: "+u}}
H.j0.prototype={
$1:function(a){if(!!J.A(a).$ibr)if(a.$thrownJsError==null)a.$thrownJsError=this.a
return a},
$S:1}
H.dF.prototype={
k:function(a){var u,t=this.b
if(t!=null)return t
t=this.a
u=t!==null&&typeof t==="object"?t.stack:null
return this.b=u==null?"":u},
$ias:1}
H.bn.prototype={
k:function(a){return"Closure '"+H.c3(this).trim()+"'"},
$ibs:1,
gff:function(){return this},
$C:"$1",
$R:1,
$D:null}
H.ho.prototype={}
H.hc.prototype={
k:function(a){var u=this.$static_name
if(u==null)return"Closure of unknown static method"
return"Closure '"+H.cq(u)+"'"}}
H.bP.prototype={
O:function(a,b){var u=this
if(b==null)return!1
if(u===b)return!0
if(!(b instanceof H.bP))return!1
return u.a===b.a&&u.b===b.b&&u.c===b.c},
gE:function(a){var u,t=this.c
if(t==null)u=H.bA(this.a)
else u=typeof t!=="object"?J.bi(t):H.bA(t)
return(u^H.bA(this.b))>>>0},
k:function(a){var u=this.c
if(u==null)u=this.a
return"Closure '"+H.e(this.d)+"' of "+("Instance of '"+H.c3(u)+"'")}}
H.et.prototype={
k:function(a){return this.a}}
H.h3.prototype={
k:function(a){return"RuntimeError: "+H.e(this.a)}}
H.b9.prototype={
gaC:function(){var u=this.b
return u==null?this.b=H.lx(this.a):u},
k:function(a){return this.gaC()},
gE:function(a){var u=this.d
return u==null?this.d=C.j.gE(this.gaC()):u},
O:function(a,b){if(b==null)return!1
return b instanceof H.b9&&this.gaC()===b.gaC()}}
H.b1.prototype={
gj:function(a){return this.a},
geX:function(a){return this.a===0},
gF:function(a){return new H.fe(this,[H.S(this,0)])},
gda:function(a){var u=this
return H.nH(u.gF(u),new H.f5(u),H.S(u,0),H.S(u,1))},
a8:function(a,b){var u,t,s=this
if(typeof b==="string"){u=s.b
if(u==null)return!1
return s.bW(u,b)}else if(typeof b==="number"&&(b&0x3ffffff)===b){t=s.c
if(t==null)return!1
return s.bW(t,b)}else return s.cD(b)},
cD:function(a){var u=this,t=u.d
if(t==null)return!1
return u.au(u.b0(t,u.at(a)),a)>=0},
i:function(a,b){var u,t,s,r,q=this
if(typeof b==="string"){u=q.b
if(u==null)return
t=q.ay(u,b)
s=t==null?null:t.b
return s}else if(typeof b==="number"&&(b&0x3ffffff)===b){r=q.c
if(r==null)return
t=q.ay(r,b)
s=t==null?null:t.b
return s}else return q.cE(b)},
cE:function(a){var u,t,s=this,r=s.d
if(r==null)return
u=s.b0(r,s.at(a))
t=s.au(u,a)
if(t<0)return
return u[t].b},
h:function(a,b,c){var u,t,s=this
if(typeof b==="string"){u=s.b
s.bQ(u==null?s.b=s.b2():u,b,c)}else if(typeof b==="number"&&(b&0x3ffffff)===b){t=s.c
s.bQ(t==null?s.c=s.b2():t,b,c)}else s.cF(b,c)},
cF:function(a,b){var u,t,s,r=this,q=r.d
if(q==null)q=r.d=r.b2()
u=r.at(a)
t=r.b0(q,u)
if(t==null)r.b4(q,u,[r.aV(a,b)])
else{s=r.au(t,a)
if(s>=0)t[s].b=b
else t.push(r.aV(a,b))}},
af:function(a,b,c){var u
if(this.a8(0,b))return this.i(0,b)
u=c.$0()
this.h(0,b,u)
return u},
ac:function(a){var u=this
if(u.a>0){u.b=u.c=u.d=u.e=u.f=null
u.a=0
u.bR()}},
T:function(a,b){var u=this,t=u.e,s=u.r
for(;t!=null;){b.$2(t.a,t.b)
if(s!==u.r)throw H.d(P.bo(u))
t=t.c}},
bQ:function(a,b,c){var u=this.ay(a,b)
if(u==null)this.b4(a,b,this.aV(b,c))
else u.b=c},
bR:function(){this.r=this.r+1&67108863},
aV:function(a,b){var u,t=this,s=new H.fd(a,b)
if(t.e==null)t.e=t.f=s
else{u=t.f
s.d=u
t.f=u.c=s}++t.a
t.bR()
return s},
at:function(a){return J.bi(a)&0x3ffffff},
au:function(a,b){var u,t
if(a==null)return-1
u=a.length
for(t=0;t<u;++t)if(J.ah(a[t].a,b))return t
return-1},
k:function(a){return P.kI(this)},
ay:function(a,b){return a[b]},
b0:function(a,b){return a[b]},
b4:function(a,b,c){a[b]=c},
eo:function(a,b){delete a[b]},
bW:function(a,b){return this.ay(a,b)!=null},
b2:function(){var u="<non-identifier-key>",t=Object.create(null)
this.b4(t,u,t)
this.eo(t,u)
return t}}
H.f5.prototype={
$1:function(a){return this.a.i(0,a)},
$S:function(){var u=this.a
return{func:1,ret:H.S(u,1),args:[H.S(u,0)]}}}
H.fd.prototype={}
H.fe.prototype={
gj:function(a){return this.a.a},
gD:function(a){var u=this.a,t=new H.ff(u,u.r)
t.c=u.e
return t}}
H.ff.prototype={
gv:function(a){return this.d},
p:function(){var u=this,t=u.a
if(u.b!==t.r)throw H.d(P.bo(t))
else{t=u.c
if(t==null){u.d=null
return!1}else{u.d=t.a
u.c=t.c
return!0}}}}
H.iR.prototype={
$1:function(a){return this.a(a)},
$S:1}
H.iS.prototype={
$2:function(a,b){return this.a(a,b)}}
H.iT.prototype={
$1:function(a){return this.a(a)}}
H.f4.prototype={
k:function(a){return"RegExp/"+this.a+"/"}}
H.bY.prototype={$ibY:1}
H.c_.prototype={}
H.cM.prototype={
gj:function(a){return a.length},
$iv:1,
$av:function(){},
$iw:1,
$aw:function(){}}
H.bZ.prototype={
i:function(a,b){H.ay(b,a,a.length)
return a[b]},
h:function(a,b,c){H.ay(b,a,a.length)
a[b]=c},
$aq:function(){return[P.az]},
$ij:1,
$aj:function(){return[P.az]}}
H.cN.prototype={
h:function(a,b,c){H.ay(b,a,a.length)
a[b]=c},
$aq:function(){return[P.C]},
$ij:1,
$aj:function(){return[P.C]}}
H.cL.prototype={$iaV:1}
H.fB.prototype={
i:function(a,b){H.ay(b,a,a.length)
return a[b]}}
H.fC.prototype={
i:function(a,b){H.ay(b,a,a.length)
return a[b]},
$ins:1}
H.fD.prototype={
i:function(a,b){H.ay(b,a,a.length)
return a[b]}}
H.fE.prototype={
i:function(a,b){H.ay(b,a,a.length)
return a[b]}}
H.fF.prototype={
i:function(a,b){H.ay(b,a,a.length)
return a[b]}}
H.cO.prototype={
gj:function(a){return a.length},
i:function(a,b){H.ay(b,a,a.length)
return a[b]}}
H.fG.prototype={
gj:function(a){return a.length},
i:function(a,b){H.ay(b,a,a.length)
return a[b]}}
H.cd.prototype={}
H.ce.prototype={}
H.cf.prototype={}
H.cg.prototype={}
P.hO.prototype={
$1:function(a){var u=this.a,t=u.a
u.a=null
t.$0()},
$S:2}
P.hN.prototype={
$1:function(a){var u,t
this.a.a=a
u=this.b
t=this.c
u.firstChild?u.removeChild(t):u.appendChild(t)}}
P.hP.prototype={
$0:function(){this.a.$0()}}
P.hQ.prototype={
$0:function(){this.a.$0()}}
P.iC.prototype={
ef:function(a,b){if(self.setTimeout!=null)self.setTimeout(H.be(new P.iD(this,b),0),a)
else throw H.d(P.o("`setTimeout()` not found."))}}
P.iD.prototype={
$0:function(){this.b.$0()}}
P.hS.prototype={
eI:function(a){if(a==null)a=new P.c1()
if(this.a.a!==0)throw H.d(P.E("Future already completed"))
$.M.toString
this.a5(a,null)}}
P.hM.prototype={
eH:function(a,b){var u=this.a
if(u.a!==0)throw H.d(P.E("Future already completed"))
u.ei(b)},
a5:function(a,b){this.a.ej(a,b)}}
P.iz.prototype={
a5:function(a,b){this.a.a5(a,b)}}
P.i0.prototype={
eZ:function(a){if(this.c!==6)return!0
return this.b.b.b9(this.d,a.a)},
eU:function(a){var u=this.e,t=this.b.b
if(H.iM(u,{func:1,args:[P.x,P.as]}))return t.f4(u,a.a,a.b)
else return t.b9(u,a.a)}}
P.a9.prototype={
cY:function(a,b,c){var u,t=$.M
if(t!==C.f){t.toString
if(b!=null)b=P.oD(b,t)}u=new P.a9($.M,[c])
this.bT(new P.i0(u,b==null?1:3,a,b))
return u},
cX:function(a,b){return this.cY(a,null,b)},
bT:function(a){var u,t=this,s=t.a
if(s<=1){a.a=t.c
t.c=a}else{if(s===2){s=t.c
u=s.a
if(u<4){s.bT(a)
return}t.a=u
t.c=s.c}s=t.b
s.toString
P.bK(null,null,s,new P.i1(t,a))}},
bY:function(a){var u,t,s,r,q,p=this,o={}
o.a=a
if(a==null)return
u=p.a
if(u<=1){t=p.c
s=p.c=a
if(t!=null){for(;r=s.a,r!=null;s=r);s.a=t}}else{if(u===2){u=p.c
q=u.a
if(q<4){u.bY(a)
return}p.a=q
p.c=u.c}o.a=p.aA(a)
u=p.b
u.toString
P.bK(null,null,u,new P.i9(o,p))}},
az:function(){var u=this.c
this.c=null
return this.aA(u)},
aA:function(a){var u,t,s
for(u=a,t=null;u!=null;t=u,u=s){s=u.a
u.a=t}return t},
aX:function(a){var u,t=this,s=t.$ti
if(H.e0(a,"$iaW",s,"$aaW"))if(H.e0(a,"$ia9",s,null))P.i4(a,t)
else P.l8(a,t)
else{u=t.az()
t.a=4
t.c=a
P.bI(t,u)}},
a5:function(a,b){var u=this,t=u.az()
u.a=8
u.c=new P.bj(a,b)
P.bI(u,t)},
em:function(a){return this.a5(a,null)},
ei:function(a){var u,t=this
if(H.e0(a,"$iaW",t.$ti,"$aaW")){t.ek(a)
return}t.a=1
u=t.b
u.toString
P.bK(null,null,u,new P.i3(t,a))},
ek:function(a){var u,t=this
if(H.e0(a,"$ia9",t.$ti,null)){if(a.a===8){t.a=1
u=t.b
u.toString
P.bK(null,null,u,new P.i8(t,a))}else P.i4(a,t)
return}P.l8(a,t)},
ej:function(a,b){var u
this.a=1
u=this.b
u.toString
P.bK(null,null,u,new P.i2(this,a,b))},
$iaW:1}
P.i1.prototype={
$0:function(){P.bI(this.a,this.b)}}
P.i9.prototype={
$0:function(){P.bI(this.b,this.a.a)}}
P.i5.prototype={
$1:function(a){var u=this.a
u.a=0
u.aX(a)},
$S:2}
P.i6.prototype={
$2:function(a,b){this.a.a5(a,b)},
$1:function(a){return this.$2(a,null)},
$S:9}
P.i7.prototype={
$0:function(){this.a.a5(this.b,this.c)}}
P.i3.prototype={
$0:function(){var u=this.a,t=u.az()
u.a=4
u.c=this.b
P.bI(u,t)}}
P.i8.prototype={
$0:function(){P.i4(this.b,this.a)}}
P.i2.prototype={
$0:function(){this.a.a5(this.b,this.c)}}
P.ic.prototype={
$0:function(){var u,t,s,r,q,p,o=this,n=null
try{s=o.c
n=s.b.b.cS(s.d)}catch(r){u=H.am(r)
t=H.co(r)
if(o.d){s=o.a.a.c.a
q=u
q=s==null?q==null:s===q
s=q}else s=!1
q=o.b
if(s)q.b=o.a.a.c
else q.b=new P.bj(u,t)
q.a=!0
return}if(!!J.A(n).$iaW){if(n instanceof P.a9&&n.a>=4){if(n.a===8){s=o.b
s.b=n.c
s.a=!0}return}p=o.a.a
s=o.b
s.b=n.cX(new P.id(p),null)
s.a=!1}}}
P.id.prototype={
$1:function(a){return this.a},
$S:10}
P.ib.prototype={
$0:function(){var u,t,s,r,q=this
try{s=q.b
q.a.b=s.b.b.b9(s.d,q.c)}catch(r){u=H.am(r)
t=H.co(r)
s=q.a
s.b=new P.bj(u,t)
s.a=!0}}}
P.ia.prototype={
$0:function(){var u,t,s,r,q,p,o,n,m=this
try{u=m.a.a.c
r=m.c
if(r.eZ(u)&&r.e!=null){q=m.b
q.b=r.eU(u)
q.a=!1}}catch(p){t=H.am(p)
s=H.co(p)
r=m.a.a.c
q=r.a
o=t
n=m.b
if(q==null?o==null:q===o)n.b=r
else n.b=new P.bj(t,s)
n.a=!0}}}
P.d6.prototype={}
P.hh.prototype={
gj:function(a){var u={},t=new P.a9($.M,[P.C])
u.a=0
this.eY(new P.hj(u,this),!0,new P.hk(u,t),t.gel())
return t}}
P.hj.prototype={
$1:function(a){++this.a.a},
$S:function(){return{func:1,ret:P.Z,args:[H.S(this.b,0)]}}}
P.hk.prototype={
$0:function(){this.b.aX(this.a.a)}}
P.hi.prototype={}
P.bj.prototype={
k:function(a){return H.e(this.a)},
$ibr:1}
P.iF.prototype={}
P.iJ.prototype={
$0:function(){var u,t=this.a,s=t.a
t=s==null?t.a=new P.c1():s
s=this.b
if(s==null)throw H.d(t)
u=H.d(t)
u.stack=s.k(0)
throw u}}
P.io.prototype={
f6:function(a){var u,t,s,r=null
try{if(C.f===$.M){a.$0()
return}P.lf(r,r,this,a)}catch(s){u=H.am(s)
t=H.co(s)
P.iI(r,r,this,u,t)}},
f8:function(a,b){var u,t,s,r=null
try{if(C.f===$.M){a.$1(b)
return}P.lg(r,r,this,a,b)}catch(s){u=H.am(s)
t=H.co(s)
P.iI(r,r,this,u,t)}},
f9:function(a,b){return this.f8(a,b,null)},
eD:function(a){return new P.iq(this,a)},
eC:function(a){return this.eD(a,null)},
c6:function(a){return new P.ip(this,a)},
eE:function(a,b){return new P.ir(this,a,b)},
i:function(a,b){return},
f3:function(a){if($.M===C.f)return a.$0()
return P.lf(null,null,this,a)},
cS:function(a){return this.f3(a,null)},
f7:function(a,b){if($.M===C.f)return a.$1(b)
return P.lg(null,null,this,a,b)},
b9:function(a,b){return this.f7(a,b,null,null)},
f5:function(a,b,c){if($.M===C.f)return a.$2(b,c)
return P.oE(null,null,this,a,b,c)},
f4:function(a,b,c){return this.f5(a,b,c,null,null,null)},
f0:function(a){return a},
f_:function(a){return this.f0(a,null,null,null)}}
P.iq.prototype={
$0:function(){return this.a.cS(this.b)}}
P.ip.prototype={
$0:function(){return this.a.f6(this.b)}}
P.ir.prototype={
$1:function(a){return this.a.f9(this.b,a)},
$S:function(){return{func:1,ret:-1,args:[this.c]}}}
P.jy.prototype={
at:function(a){return H.pb(a)&1073741823},
au:function(a,b){var u,t,s
if(a==null)return-1
u=a.length
for(t=0;t<u;++t){s=a[t].a
if(s==null?b==null:s===b)return t}return-1}}
P.ii.prototype={
i:function(a,b){if(!this.z.$1(b))return
return this.dq(b)},
h:function(a,b,c){this.dr(b,c)},
a8:function(a,b){if(!this.z.$1(b))return!1
return this.dn(b)},
at:function(a){return this.y.$1(a)&1073741823},
au:function(a,b){var u,t,s
if(a==null)return-1
u=a.length
for(t=this.x,s=0;s<u;++s)if(t.$2(a[s].a,b))return s
return-1}}
P.ij.prototype={
$1:function(a){return H.lm(a,this.a)},
$S:11}
P.dk.prototype={
gD:function(a){var u=new P.dl(this,this.r)
u.c=this.e
return u},
gj:function(a){return this.a},
H:function(a,b){var u,t
if(typeof b==="string"&&b!=="__proto__"){u=this.b
if(u==null)return!1
return u[b]!=null}else if(typeof b==="number"&&(b&1073741823)===b){t=this.c
if(t==null)return!1
return t[b]!=null}else return this.en(b)},
en:function(a){var u=this.d
if(u==null)return!1
return this.b_(this.bX(u,a),a)>=0},
w:function(a,b){var u,t,s=this
if(typeof b==="string"&&b!=="__proto__"){u=s.b
return s.bS(u==null?s.b=P.jx():u,b)}else if(typeof b==="number"&&(b&1073741823)===b){t=s.c
return s.bS(t==null?s.c=P.jx():t,b)}else return s.eg(0,b)},
eg:function(a,b){var u,t,s=this,r=s.d
if(r==null)r=s.d=P.jx()
u=s.bV(b)
t=r[u]
if(t==null)r[u]=[s.b3(b)]
else{if(s.b_(t,b)>=0)return!1
t.push(s.b3(b))}return!0},
cQ:function(a,b){var u=this
if(typeof b==="string"&&b!=="__proto__")return u.bZ(u.b,b)
else if(typeof b==="number"&&(b&1073741823)===b)return u.bZ(u.c,b)
else return u.eq(0,b)},
eq:function(a,b){var u,t,s=this,r=s.d
if(r==null)return!1
u=s.bX(r,b)
t=s.b_(u,b)
if(t<0)return!1
s.c0(u.splice(t,1)[0])
return!0},
ac:function(a){var u=this
if(u.a>0){u.b=u.c=u.d=u.e=u.f=null
u.a=0
u.b1()}},
bS:function(a,b){if(a[b]!=null)return!1
a[b]=this.b3(b)
return!0},
bZ:function(a,b){var u
if(a==null)return!1
u=a[b]
if(u==null)return!1
this.c0(u)
delete a[b]
return!0},
b1:function(){this.r=1073741823&this.r+1},
b3:function(a){var u,t=this,s=new P.ik(a)
if(t.e==null)t.e=t.f=s
else{u=t.f
s.c=u
t.f=u.b=s}++t.a
t.b1()
return s},
c0:function(a){var u=this,t=a.c,s=a.b
if(t==null)u.e=s
else t.b=s
if(s==null)u.f=t
else s.c=t;--u.a
u.b1()},
bV:function(a){return J.bi(a)&1073741823},
bX:function(a,b){return a[this.bV(b)]},
b_:function(a,b){var u,t
if(a==null)return-1
u=a.length
for(t=0;t<u;++t)if(J.ah(a[t].a,b))return t
return-1}}
P.ik.prototype={}
P.dl.prototype={
gv:function(a){return this.d},
p:function(){var u=this,t=u.a
if(u.b!==t.r)throw H.d(P.bo(t))
else{t=u.c
if(t==null){u.d=null
return!1}else{u.d=t.a
u.c=t.b
return!0}}}}
P.fh.prototype={$ij:1}
P.q.prototype={
gD:function(a){return new H.bx(a,this.gj(a))},
I:function(a,b){return this.i(a,b)},
gJ:function(a){if(this.gj(a)===0)throw H.d(H.f1())
return this.i(a,this.gj(a)-1)},
eR:function(a,b,c){var u,t,s=this.gj(a)
for(u=b,t=0;t<s;++t){u=c.$2(u,this.i(a,t))
if(s!==this.gj(a))throw H.d(P.bo(a))}return u},
eS:function(a,b,c){return this.eR(a,b,c,null)},
w:function(a,b){var u=this.gj(a)
this.sj(a,u+1)
this.h(a,u,b)},
cA:function(a,b,c,d){var u
P.kU(b,c,this.gj(a))
for(u=b;u<c;++u)this.h(a,u,d)},
k:function(a){return P.jh(a,"[","]")}}
P.fk.prototype={}
P.fl.prototype={
$2:function(a,b){var u,t=this.a
if(!t.a)this.b.a+=", "
t.a=!1
t=this.b
u=t.a+=H.e(a)
t.a=u+": "
t.a+=H.e(b)},
$S:3}
P.Y.prototype={
T:function(a,b){var u,t
for(u=J.cu(this.gF(a));u.p();){t=u.gv(u)
b.$2(t,this.i(a,t))}},
gj:function(a){return J.bN(this.gF(a))},
k:function(a){return P.kI(a)}}
P.it.prototype={
S:function(a,b){var u
for(u=J.cu(b);u.p();)this.w(0,u.gv(u))},
k:function(a){return P.jh(this,"{","}")}}
P.dm.prototype={}
P.ae.prototype={}
P.bq.prototype={
O:function(a,b){if(b==null)return!1
return b instanceof P.bq&&this.a===b.a&&this.b===b.b},
a7:function(a,b){return C.b.a7(this.a,b.a)},
gE:function(a){var u=this.a
return(u^C.b.aB(u,30))&1073741823},
k:function(a){var u=this,t=P.nb(H.nN(u)),s=P.cy(H.nM(u)),r=P.cy(H.nL(u)),q=P.cy(H.kO(u)),p=P.cy(H.kQ(u)),o=P.cy(H.kR(u)),n=P.nc(H.kP(u))
if(u.b)return t+"-"+s+"-"+r+" "+q+":"+p+":"+o+"."+n+"Z"
else return t+"-"+s+"-"+r+" "+q+":"+p+":"+o+"."+n}}
P.az.prototype={}
P.bS.prototype={
aK:function(a,b){return C.b.aK(this.a,b.gfg())},
O:function(a,b){if(b==null)return!1
return b instanceof P.bS&&this.a===b.a},
gE:function(a){return C.b.gE(this.a)},
a7:function(a,b){return C.b.a7(this.a,b.a)},
k:function(a){var u,t,s,r=new P.eG(),q=this.a
if(q<0)return"-"+new P.bS(0-q).k(0)
u=r.$1(C.b.G(q,6e7)%60)
t=r.$1(C.b.G(q,1e6)%60)
s=new P.eF().$1(q%1e6)
return""+C.b.G(q,36e8)+":"+H.e(u)+":"+H.e(t)+"."+H.e(s)}}
P.eF.prototype={
$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}}
P.eG.prototype={
$1:function(a){if(a>=10)return""+a
return"0"+a}}
P.br.prototype={}
P.c1.prototype={
k:function(a){return"Throw of null."}}
P.ao.prototype={
gaZ:function(){return"Invalid argument"+(!this.a?"(s)":"")},
gaY:function(){return""},
k:function(a){var u,t,s,r,q=this,p=q.c,o=p!=null?" ("+p+")":""
p=q.d
u=p==null?"":": "+p
t=q.gaZ()+o+u
if(!q.a)return t
s=q.gaY()
r=P.jg(q.b)
return t+s+": "+r}}
P.c4.prototype={
gaZ:function(){return"RangeError"},
gaY:function(){var u,t,s=this.e
if(s==null){s=this.f
u=s!=null?": Not less than or equal to "+H.e(s):""}else{t=this.f
if(t==null)u=": Not greater than or equal to "+H.e(s)
else if(t>s)u=": Not in range "+H.e(s)+".."+H.e(t)+", inclusive"
else u=t<s?": Valid value range is empty":": Only valid value is "+H.e(s)}return u}}
P.f_.prototype={
gaZ:function(){return"RangeError"},
gaY:function(){if(this.b<0)return": index must not be negative"
var u=this.f
if(u===0)return": no indices are valid"
return": index should be less than "+H.e(u)},
gj:function(a){return this.f}}
P.hG.prototype={
k:function(a){return"Unsupported operation: "+this.a}}
P.hE.prototype={
k:function(a){var u=this.a
return u!=null?"UnimplementedError: "+u:"UnimplementedError"}}
P.c7.prototype={
k:function(a){return"Bad state: "+this.a}}
P.ev.prototype={
k:function(a){var u=this.a
if(u==null)return"Concurrent modification during iteration."
return"Concurrent modification during iteration: "+P.jg(u)+"."}}
P.cY.prototype={
k:function(a){return"Stack Overflow"},
$ibr:1}
P.eA.prototype={
k:function(a){var u=this.a
return u==null?"Reading static variable during its initialization":"Reading static variable '"+u+"' during its initialization"}}
P.hZ.prototype={
k:function(a){return"Exception: "+this.a}}
P.eQ.prototype={
k:function(a){var u,t=this.a,s=""!==t?"FormatException: "+t:"FormatException",r=this.b
if(typeof r==="string"){u=r.length>78?C.j.bu(r,0,75)+"...":r
return s+"\n"+u}else return s}}
P.bs.prototype={}
P.C.prototype={}
P.aX.prototype={
aI:function(a,b){return new H.d5(this,b,[H.oU(this,"aX",0)])},
gj:function(a){var u,t=this.gD(this)
for(u=0;t.p();)++u
return u},
gag:function(a){var u,t=this.gD(this)
if(!t.p())throw H.d(H.f1())
u=t.gv(t)
if(t.p())throw H.d(H.nu())
return u},
I:function(a,b){var u,t,s
P.nR(b,"index")
for(u=this.gD(this),t=0;u.p();){s=u.gv(u)
if(b===t)return s;++t}throw H.d(P.N(b,this,"index",null,t))},
k:function(a){return P.nt(this,"(",")")}}
P.f2.prototype={}
P.j.prototype={}
P.cK.prototype={}
P.Z.prototype={
gE:function(a){return P.x.prototype.gE.call(this,this)},
k:function(a){return"null"}}
P.a5.prototype={}
P.x.prototype={constructor:P.x,$ix:1,
O:function(a,b){return this===b},
gE:function(a){return H.bA(this)},
k:function(a){return"Instance of '"+H.c3(this)+"'"},
gba:function(a){return new H.b9(H.jF(this))},
toString:function(){return this.k(this)}}
P.as.prototype={}
P.h.prototype={}
P.bE.prototype={
gj:function(a){return this.a.length},
k:function(a){var u=this.a
return u.charCodeAt(0)==0?u:u}}
W.iZ.prototype={
$1:function(a){return this.a.eH(0,a)},
$S:4}
W.j_.prototype={
$1:function(a){return this.a.eI(a)},
$S:4}
W.n.prototype={}
W.ec.prototype={
gj:function(a){return a.length}}
W.ef.prototype={
k:function(a){return String(a)}}
W.eg.prototype={
k:function(a){return String(a)}}
W.cv.prototype={}
W.bl.prototype={$ibl:1}
W.aR.prototype={
bf:function(a,b,c){if(c!=null)return a.getContext(b,P.oM(c))
return a.getContext(b)},
df:function(a,b){return this.bf(a,b,null)},
$iaR:1}
W.cx.prototype={
eK:function(a,b,c){var u=P.jD(a.createImageData(b,c))
return u},
aJ:function(a){return P.af(a.getContextAttributes())},
b8:function(a,b,c,d){a.putImageData(P.oN(b),c,d)
return}}
W.aT.prototype={
gj:function(a){return a.length}}
W.ew.prototype={
gj:function(a){return a.length}}
W.H.prototype={$iH:1}
W.bp.prototype={
bU:function(a,b){var u=$.lz(),t=u[b]
if(typeof t==="string")return t
t=this.ew(a,b)
u[b]=t
return t},
ew:function(a,b){var u
if(b.replace(/^-ms-/,"ms-").replace(/-([\da-z])/ig,function(c,d){return d.toUpperCase()}) in a)return b
u=P.ne()+b
if(u in a)return u
return b},
gj:function(a){return a.length}}
W.ex.prototype={}
W.ab.prototype={}
W.aq.prototype={}
W.ey.prototype={
gj:function(a){return a.length}}
W.ez.prototype={
gj:function(a){return a.length}}
W.eB.prototype={
i:function(a,b){return a[b]},
gj:function(a){return a.length}}
W.cA.prototype={}
W.bR.prototype={
gcL:function(a){return new W.bb(a,"mousedown",!1,[W.X])},
gcM:function(a){return new W.bb(a,"mousemove",!1,[W.X])},
gcN:function(a){return new W.bb(a,"mouseup",!1,[W.X])},
gcO:function(a){return C.ac.eT(a)}}
W.eC.prototype={
k:function(a){return String(a)}}
W.cB.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[[P.aj,P.a5]]},
$iw:1,
$aw:function(){return[[P.aj,P.a5]]},
$aq:function(){return[[P.aj,P.a5]]},
$ij:1,
$aj:function(){return[[P.aj,P.a5]]}}
W.cC.prototype={
k:function(a){return"Rectangle ("+H.e(a.left)+", "+H.e(a.top)+") "+H.e(this.gal(a))+" x "+H.e(this.gaj(a))},
O:function(a,b){var u
if(b==null)return!1
u=J.A(b)
if(!u.$iaj)return!1
return a.left===b.left&&a.top===b.top&&this.gal(a)===u.gal(b)&&this.gaj(a)===u.gaj(b)},
gE:function(a){return W.lb(C.a.gE(a.left),C.a.gE(a.top),C.a.gE(this.gal(a)),C.a.gE(this.gaj(a)))},
gaj:function(a){return a.height},
gal:function(a){return a.width},
$iaj:1,
$aaj:function(){return[P.a5]}}
W.eD.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[P.h]},
$iw:1,
$aw:function(){return[P.h]},
$aq:function(){return[P.h]},
$ij:1,
$aj:function(){return[P.h]}}
W.eE.prototype={
gj:function(a){return a.length}}
W.i_.prototype={
gj:function(a){return this.a.length},
i:function(a,b){return this.a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot modify list"))},
sj:function(a,b){throw H.d(P.o("Cannot modify list"))},
gJ:function(a){return C.S.gJ(this.a)}}
W.ac.prototype={
geA:function(a){return new W.hW(a)},
k:function(a){return a.localName},
a_:function(a,b,c,d){var u,t,s,r,q
if(c==null){u=$.ku
if(u==null){u=H.b([],[W.aG])
t=new W.cP(u)
u.push(W.l9(null))
u.push(W.ld())
$.ku=t
d=t}else d=u
u=$.kt
if(u==null){u=new W.dQ(d)
$.kt=u
c=u}else{u.a=d
c=u}}if($.aB==null){u=document
t=u.implementation.createHTMLDocument("")
$.aB=t
$.jf=t.createRange()
s=$.aB.createElement("base")
s.href=u.baseURI
$.aB.head.appendChild(s)}u=$.aB
if(u.body==null){t=u.createElement("body")
u.body=t}u=$.aB
if(!!this.$ibl)r=u.body
else{r=u.createElement(a.tagName)
$.aB.body.appendChild(r)}if("createContextualFragment" in window.Range.prototype&&!C.c.H(C.Q,a.tagName)){$.jf.selectNodeContents(r)
q=$.jf.createContextualFragment(b)}else{r.innerHTML=b
q=$.aB.createDocumentFragment()
for(;u=r.firstChild,u!=null;)q.appendChild(u)}u=$.aB.body
if(r==null?u!=null:r!==u)J.kc(r)
c.bp(q)
document.adoptNode(q)
return q},
eJ:function(a,b,c){return this.a_(a,b,c,null)},
dg:function(a,b){a.textContent=null
a.appendChild(this.a_(a,b,null,null))},
gcK:function(a){return new W.aP(a,"click",!1,[W.X])},
gcL:function(a){return new W.aP(a,"mousedown",!1,[W.X])},
gcM:function(a){return new W.aP(a,"mousemove",!1,[W.X])},
gcN:function(a){return new W.aP(a,"mouseup",!1,[W.X])},
gcO:function(a){return new W.aP(a,W.kv(a),!1,[W.ba])},
$iac:1,
gcT:function(a){return a.tagName}}
W.eJ.prototype={
$1:function(a){return!!J.A(a).$iac}}
W.i.prototype={$ii:1}
W.f.prototype={
ex:function(a,b,c,d){if(c!=null)this.eh(a,b,c,!1)},
eh:function(a,b,c,d){return a.addEventListener(b,H.be(c,1),!1)},
$if:1}
W.aC.prototype={$iaC:1}
W.eM.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.aC]},
$iw:1,
$aw:function(){return[W.aC]},
$aq:function(){return[W.aC]},
$ij:1,
$aj:function(){return[W.aC]}}
W.eN.prototype={
gj:function(a){return a.length}}
W.eP.prototype={
gj:function(a){return a.length}}
W.aD.prototype={$iaD:1}
W.eW.prototype={
gj:function(a){return a.length}}
W.bU.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.L]},
$iw:1,
$aw:function(){return[W.L]},
$aq:function(){return[W.L]},
$ij:1,
$aj:function(){return[W.L]}}
W.bt.prototype={$ibt:1,
gW:function(a){return a.data}}
W.bV.prototype={$ibV:1}
W.bu.prototype={$ibu:1}
W.fi.prototype={
k:function(a){return String(a)}}
W.fp.prototype={
gj:function(a){return a.length}}
W.fq.prototype={
i:function(a,b){return P.af(a.get(b))},
T:function(a,b){var u,t=a.entries()
for(;!0;){u=t.next()
if(u.done)return
b.$2(u.value[0],P.af(u.value[1]))}},
gF:function(a){var u=H.b([],[P.h])
this.T(a,new W.fr(u))
return u},
gj:function(a){return a.size},
$aY:function(){return[P.h,null]}}
W.fr.prototype={
$2:function(a,b){return this.a.push(a)}}
W.fs.prototype={
i:function(a,b){return P.af(a.get(b))},
T:function(a,b){var u,t=a.entries()
for(;!0;){u=t.next()
if(u.done)return
b.$2(u.value[0],P.af(u.value[1]))}},
gF:function(a){var u=H.b([],[P.h])
this.T(a,new W.ft(u))
return u},
gj:function(a){return a.size},
$aY:function(){return[P.h,null]}}
W.ft.prototype={
$2:function(a,b){return this.a.push(a)}}
W.aF.prototype={$iaF:1}
W.fu.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.aF]},
$iw:1,
$aw:function(){return[W.aF]},
$aq:function(){return[W.aF]},
$ij:1,
$aj:function(){return[W.aF]}}
W.X.prototype={
gcJ:function(a){var u,t,s,r,q
if(!!a.offsetX)return new P.c2(a.offsetX,a.offsetY,[P.a5])
else{u=a.target
if(!J.A(W.iG(u)).$iac)throw H.d(P.o("offsetX is only supported on elements"))
t=W.iG(u)
u=a.clientX
s=a.clientY
r=t.getBoundingClientRect()
q=r.left
r=r.top
return new P.c2(C.a.cZ(u-q),C.a.cZ(s-r),[P.a5])}},
$iX:1}
W.a4.prototype={
gJ:function(a){var u=this.a.lastChild
if(u==null)throw H.d(P.E("No elements"))
return u},
gag:function(a){var u=this.a,t=u.childNodes.length
if(t===0)throw H.d(P.E("No elements"))
if(t>1)throw H.d(P.E("More than one element"))
return u.firstChild},
w:function(a,b){this.a.appendChild(b)},
S:function(a,b){var u,t,s=b.a,r=this.a
if(s!==r)for(u=s.childNodes.length,t=0;t<u;++t)r.appendChild(s.firstChild)
return},
h:function(a,b,c){var u=this.a
u.replaceChild(c,u.childNodes[b])},
gD:function(a){var u=this.a.childNodes
return new W.cE(u,u.length)},
gj:function(a){return this.a.childNodes.length},
sj:function(a,b){throw H.d(P.o("Cannot set length on immutable List."))},
i:function(a,b){return this.a.childNodes[b]},
$aq:function(){return[W.L]},
$aj:function(){return[W.L]}}
W.L.prototype={
f1:function(a){var u=a.parentNode
if(u!=null)u.removeChild(a)},
k:function(a){var u=a.nodeValue
return u==null?this.dk(a):u},
$iL:1}
W.c0.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.L]},
$iw:1,
$aw:function(){return[W.L]},
$aq:function(){return[W.L]},
$ij:1,
$aj:function(){return[W.L]}}
W.aH.prototype={$iaH:1,
gj:function(a){return a.length}}
W.fO.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.aH]},
$iw:1,
$aw:function(){return[W.aH]},
$aq:function(){return[W.aH]},
$ij:1,
$aj:function(){return[W.aH]}}
W.h1.prototype={
i:function(a,b){return P.af(a.get(b))},
T:function(a,b){var u,t=a.entries()
for(;!0;){u=t.next()
if(u.done)return
b.$2(u.value[0],P.af(u.value[1]))}},
gF:function(a){var u=H.b([],[P.h])
this.T(a,new W.h2(u))
return u},
gj:function(a){return a.size},
$aY:function(){return[P.h,null]}}
W.h2.prototype={
$2:function(a,b){return this.a.push(a)}}
W.b8.prototype={$ib8:1,
gj:function(a){return a.length}}
W.aI.prototype={$iaI:1}
W.h8.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.aI]},
$iw:1,
$aw:function(){return[W.aI]},
$aq:function(){return[W.aI]},
$ij:1,
$aj:function(){return[W.aI]}}
W.aJ.prototype={$iaJ:1}
W.ha.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.aJ]},
$iw:1,
$aw:function(){return[W.aJ]},
$aq:function(){return[W.aJ]},
$ij:1,
$aj:function(){return[W.aJ]}}
W.aK.prototype={$iaK:1,
gj:function(a){return a.length}}
W.hf.prototype={
i:function(a,b){return a.getItem(b)},
T:function(a,b){var u,t
for(u=0;!0;++u){t=a.key(u)
if(t==null)return
b.$2(t,a.getItem(t))}},
gF:function(a){var u=H.b([],[P.h])
this.T(a,new W.hg(u))
return u},
gj:function(a){return a.length},
$aY:function(){return[P.h,P.h]}}
W.hg.prototype={
$2:function(a,b){return this.a.push(a)}}
W.at.prototype={$iat:1}
W.cZ.prototype={
a_:function(a,b,c,d){var u,t
if("createContextualFragment" in window.Range.prototype)return this.aO(a,b,c,d)
u=W.ng("<table>"+b+"</table>",c,d)
t=document.createDocumentFragment()
t.toString
u.toString
new W.a4(t).S(0,new W.a4(u))
return t}}
W.hm.prototype={
a_:function(a,b,c,d){var u,t,s,r
if("createContextualFragment" in window.Range.prototype)return this.aO(a,b,c,d)
u=document
t=u.createDocumentFragment()
u=C.F.a_(u.createElement("table"),b,c,d)
u.toString
u=new W.a4(u)
s=u.gag(u)
s.toString
u=new W.a4(s)
r=u.gag(u)
t.toString
r.toString
new W.a4(t).S(0,new W.a4(r))
return t}}
W.hn.prototype={
a_:function(a,b,c,d){var u,t,s
if("createContextualFragment" in window.Range.prototype)return this.aO(a,b,c,d)
u=document
t=u.createDocumentFragment()
u=C.F.a_(u.createElement("table"),b,c,d)
u.toString
u=new W.a4(u)
s=u.gag(u)
t.toString
s.toString
new W.a4(t).S(0,new W.a4(s))
return t}}
W.c8.prototype={$ic8:1}
W.aL.prototype={$iaL:1}
W.au.prototype={$iau:1}
W.hp.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.au]},
$iw:1,
$aw:function(){return[W.au]},
$aq:function(){return[W.au]},
$ij:1,
$aj:function(){return[W.au]}}
W.hq.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.aL]},
$iw:1,
$aw:function(){return[W.aL]},
$aq:function(){return[W.aL]},
$ij:1,
$aj:function(){return[W.aL]}}
W.hr.prototype={
gj:function(a){return a.length}}
W.aM.prototype={$iaM:1}
W.hx.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.aM]},
$iw:1,
$aw:function(){return[W.aM]},
$aq:function(){return[W.aM]},
$ij:1,
$aj:function(){return[W.aM]}}
W.hy.prototype={
gj:function(a){return a.length}}
W.aN.prototype={}
W.hH.prototype={
k:function(a){return String(a)}}
W.hI.prototype={
gj:function(a){return a.length}}
W.ba.prototype={
geM:function(a){if(a.deltaY!==undefined)return a.deltaY
throw H.d(P.o("deltaY is not supported"))},
$iba:1}
W.ca.prototype={
gez:function(a){var u=P.a5,t=new P.a9($.M,[u])
this.ep(a)
this.er(a,W.li(new W.hK(new P.iz(t,[u])),u))
return t},
er:function(a,b){return a.requestAnimationFrame(H.be(b,1))},
ep:function(a){if(!!(a.requestAnimationFrame&&a.cancelAnimationFrame))return;(function(b){var u=['ms','moz','webkit','o']
for(var t=0;t<u.length&&!b.requestAnimationFrame;++t){b.requestAnimationFrame=b[u[t]+'RequestAnimationFrame']
b.cancelAnimationFrame=b[u[t]+'CancelAnimationFrame']||b[u[t]+'CancelRequestAnimationFrame']}if(b.requestAnimationFrame&&b.cancelAnimationFrame)return
b.requestAnimationFrame=function(c){return window.setTimeout(function(){c(Date.now())},16)}
b.cancelAnimationFrame=function(c){clearTimeout(c)}})(a)}}
W.hK.prototype={
$1:function(a){var u=this.a.a
if(u.a!==0)H.aa(P.E("Future already completed"))
u.aX(a)}}
W.hT.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.H]},
$iw:1,
$aw:function(){return[W.H]},
$aq:function(){return[W.H]},
$ij:1,
$aj:function(){return[W.H]}}
W.d9.prototype={
k:function(a){return"Rectangle ("+H.e(a.left)+", "+H.e(a.top)+") "+H.e(a.width)+" x "+H.e(a.height)},
O:function(a,b){var u
if(b==null)return!1
u=J.A(b)
if(!u.$iaj)return!1
return a.left===b.left&&a.top===b.top&&a.width===u.gal(b)&&a.height===u.gaj(b)},
gE:function(a){return W.lb(C.a.gE(a.left),C.a.gE(a.top),C.a.gE(a.width),C.a.gE(a.height))},
gaj:function(a){return a.height},
gal:function(a){return a.width}}
W.ie.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.aD]},
$iw:1,
$aw:function(){return[W.aD]},
$aq:function(){return[W.aD]},
$ij:1,
$aj:function(){return[W.aD]}}
W.ds.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.L]},
$iw:1,
$aw:function(){return[W.L]},
$aq:function(){return[W.L]},
$ij:1,
$aj:function(){return[W.L]}}
W.iw.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.aK]},
$iw:1,
$aw:function(){return[W.aK]},
$aq:function(){return[W.aK]},
$ij:1,
$aj:function(){return[W.aK]}}
W.ix.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a[b]},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return a[b]},
$iv:1,
$av:function(){return[W.at]},
$iw:1,
$aw:function(){return[W.at]},
$aq:function(){return[W.at]},
$ij:1,
$aj:function(){return[W.at]}}
W.hR.prototype={
T:function(a,b){var u,t,s,r,q
for(u=this.gF(this),t=u.length,s=this.a,r=0;r<u.length;u.length===t||(0,H.u)(u),++r){q=u[r]
b.$2(q,s.getAttribute(q))}},
gF:function(a){var u,t,s,r=this.a.attributes,q=H.b([],[P.h])
for(u=r.length,t=0;t<u;++t){s=r[t]
if(s.namespaceURI==null)q.push(s.name)}return q},
$aY:function(){return[P.h,P.h]}}
W.hW.prototype={
i:function(a,b){return this.a.getAttribute(b)},
gj:function(a){return this.gF(this).length}}
W.bb.prototype={
eY:function(a,b,c,d){return W.ax(this.a,this.b,a,!1,H.S(this,0))}}
W.aP.prototype={}
W.hX.prototype={}
W.hY.prototype={
$1:function(a){return this.a.$1(a)}}
W.hU.prototype={
eT:function(a){return new W.bb(a,this.a.$1(a),!1,this.$ti)}}
W.cb.prototype={
ec:function(a){var u
if($.cc.geX($.cc)){for(u=0;u<262;++u)$.cc.h(0,C.P[u],W.oX())
for(u=0;u<12;++u)$.cc.h(0,C.r[u],W.oY())}},
ai:function(a){return $.lU().H(0,W.bT(a))},
ab:function(a,b,c){var u=$.cc.i(0,H.e(W.bT(a))+"::"+b)
if(u==null)u=$.cc.i(0,"*::"+b)
if(u==null)return!1
return u.$4(a,b,c,this)},
$iaG:1}
W.K.prototype={
gD:function(a){return new W.cE(a,this.gj(a))},
w:function(a,b){throw H.d(P.o("Cannot add to immutable List."))}}
W.cP.prototype={
w:function(a,b){this.a.push(b)},
ai:function(a){return C.c.c3(this.a,new W.fI(a))},
ab:function(a,b,c){return C.c.c3(this.a,new W.fH(a,b,c))},
$iaG:1}
W.fI.prototype={
$1:function(a){return a.ai(this.a)}}
W.fH.prototype={
$1:function(a){return a.ab(this.a,this.b,this.c)}}
W.dA.prototype={
ee:function(a,b,c,d){var u,t,s
this.a.S(0,c)
u=b.aI(0,new W.iu())
t=b.aI(0,new W.iv())
this.b.S(0,u)
s=this.c
s.S(0,C.R)
s.S(0,t)},
ai:function(a){return this.a.H(0,W.bT(a))},
ab:function(a,b,c){var u=this,t=W.bT(a),s=u.c
if(s.H(0,H.e(t)+"::"+b))return u.d.ey(c)
else if(s.H(0,"*::"+b))return u.d.ey(c)
else{s=u.b
if(s.H(0,H.e(t)+"::"+b))return!0
else if(s.H(0,"*::"+b))return!0
else if(s.H(0,H.e(t)+"::*"))return!0
else if(s.H(0,"*::*"))return!0}return!1},
$iaG:1}
W.iu.prototype={
$1:function(a){return!C.c.H(C.r,a)}}
W.iv.prototype={
$1:function(a){return C.c.H(C.r,a)}}
W.iA.prototype={
ab:function(a,b,c){if(this.ds(a,b,c))return!0
if(b==="template"&&c==="")return!0
if(a.getAttribute("template")==="")return this.e.H(0,b)
return!1}}
W.iB.prototype={
$1:function(a){return"TEMPLATE::"+H.e(a)}}
W.iy.prototype={
ai:function(a){var u=J.A(a)
if(!!u.$ic5)return!1
u=!!u.$ik
if(u&&W.bT(a)==="foreignObject")return!1
if(u)return!0
return!1},
ab:function(a,b,c){if(b==="is"||C.j.di(b,"on"))return!1
return this.ai(a)},
$iaG:1}
W.cE.prototype={
p:function(){var u=this,t=u.c+1,s=u.b
if(t<s){u.d=J.cs(u.a,t)
u.c=t
return!0}u.d=null
u.c=s
return!1},
gv:function(a){return this.d}}
W.hV.prototype={$if:1}
W.aG.prototype={}
W.is.prototype={}
W.dQ.prototype={
bp:function(a){new W.iE(this).$2(a,null)},
ar:function(a,b){if(b==null)J.kc(a)
else b.removeChild(a)},
eu:function(a,b){var u,t,s,r,q,p=!0,o=null,n=null
try{o=J.mF(a)
n=o.a.getAttribute("is")
u=function(c){if(!(c.attributes instanceof NamedNodeMap))return true
var m=c.childNodes
if(c.lastChild&&c.lastChild!==m[m.length-1])return true
if(c.children)if(!(c.children instanceof HTMLCollection||c.children instanceof NodeList))return true
var l=0
if(c.children)l=c.children.length
for(var k=0;k<l;k++){var j=c.children[k]
if(j.id=='attributes'||j.name=='attributes'||j.id=='lastChild'||j.name=='lastChild'||j.id=='children'||j.name=='children')return true}return false}(a)
p=u?!0:!(a.attributes instanceof NamedNodeMap)}catch(r){H.am(r)}t="element unprintable"
try{t=J.bO(a)}catch(r){H.am(r)}try{s=W.bT(a)
this.es(a,b,p,t,s,o,n)}catch(r){if(H.am(r) instanceof P.ao)throw r
else{this.ar(a,b)
window
q="Removing corrupted element "+H.e(t)
if(typeof console!="undefined")window.console.warn(q)}}},
es:function(a,b,c,d,e,f,g){var u,t,s,r,q,p=this
if(c){p.ar(a,b)
window
u="Removing element due to corrupted attributes on <"+d+">"
if(typeof console!="undefined")window.console.warn(u)
return}if(!p.a.ai(a)){p.ar(a,b)
window
u="Removing disallowed element <"+H.e(e)+"> from "+H.e(b)
if(typeof console!="undefined")window.console.warn(u)
return}if(g!=null)if(!p.a.ab(a,"is",g)){p.ar(a,b)
window
u="Removing disallowed type extension <"+H.e(e)+' is="'+g+'">'
if(typeof console!="undefined")window.console.warn(u)
return}u=f.gF(f)
t=H.b(u.slice(0),[H.S(u,0)])
for(s=f.gF(f).length-1,u=f.a;s>=0;--s){r=t[s]
if(!p.a.ab(a,J.mT(r),u.getAttribute(r))){window
q="Removing disallowed attribute <"+H.e(e)+" "+r+'="'+H.e(u.getAttribute(r))+'">'
if(typeof console!="undefined")window.console.warn(q)
u.removeAttribute(r)}}if(!!J.A(a).$ic8)p.bp(a.content)}}
W.iE.prototype={
$2:function(a,b){var u,t,s,r,q,p=this.a
switch(a.nodeType){case 1:p.eu(a,b)
break
case 8:case 11:case 3:case 4:break
default:p.ar(a,b)}u=a.lastChild
for(p=a==null;null!=u;){t=null
try{t=u.previousSibling}catch(s){H.am(s)
r=u
if(p){q=r.parentNode
if(q!=null)q.removeChild(r)}else a.removeChild(r)
u=null
t=a.lastChild}if(u!=null)this.$2(u,a)
u=t}}}
W.d8.prototype={}
W.da.prototype={}
W.db.prototype={}
W.dc.prototype={}
W.dd.prototype={}
W.de.prototype={}
W.df.prototype={}
W.dg.prototype={}
W.dh.prototype={}
W.dn.prototype={}
W.dp.prototype={}
W.dq.prototype={}
W.dr.prototype={}
W.dt.prototype={}
W.du.prototype={}
W.dx.prototype={}
W.dy.prototype={}
W.dz.prototype={}
W.ch.prototype={}
W.ci.prototype={}
W.dB.prototype={}
W.dC.prototype={}
W.dG.prototype={}
W.dJ.prototype={}
W.dK.prototype={}
W.cj.prototype={}
W.ck.prototype={}
W.dL.prototype={}
W.dM.prototype={}
W.dR.prototype={}
W.dS.prototype={}
W.dT.prototype={}
W.dU.prototype={}
W.dV.prototype={}
W.dW.prototype={}
W.dX.prototype={}
W.dY.prototype={}
W.dZ.prototype={}
W.e_.prototype={}
P.dP.prototype={$ibt:1,
gW:function(a){return this.a}}
P.iK.prototype={
$2:function(a,b){this.a[a]=b},
$S:3}
P.ig.prototype={
m:function(a){if(a<=0||a>4294967296)throw H.d(P.kT("max must be in range 0 < max \u2264 2^32, was "+H.e(a)))
return Math.random()*a>>>0},
L:function(){return Math.random()},
aG:function(){return Math.random()<0.5},
$ibC:1}
P.il.prototype={
ed:function(a){var u,t,s,r,q,p,o,n=this,m=4294967296
do{u=(a&4294967295)>>>0
a=C.b.G(a-u,m)
t=(a&4294967295)>>>0
a=C.b.G(a-t,m)
s=((~u&4294967295)>>>0)+(u<<21>>>0)
r=(s&4294967295)>>>0
t=(~t>>>0)+((t<<21|u>>>11)>>>0)+C.b.G(s-r,m)&4294967295
s=((r^(r>>>24|t<<8))>>>0)*265
u=(s&4294967295)>>>0
t=((t^t>>>24)>>>0)*265+C.b.G(s-u,m)&4294967295
s=((u^(u>>>14|t<<18))>>>0)*21
u=(s&4294967295)>>>0
t=((t^t>>>14)>>>0)*21+C.b.G(s-u,m)&4294967295
u=(u^(u>>>28|t<<4))>>>0
t=(t^t>>>28)>>>0
s=(u<<31>>>0)+u
r=(s&4294967295)>>>0
q=C.b.G(s-r,m)
s=n.a*1037
p=n.a=(s&4294967295)>>>0
o=(n.b*1037+C.b.G(s-p,m)&4294967295)>>>0
n.b=o
p=(p^r)>>>0
n.a=p
q=(o^t+((t<<31|u>>>1)>>>0)+q&4294967295)>>>0
n.b=q}while(a!==0)
if(q===0&&p===0)n.a=23063
n.a6()
n.a6()
n.a6()
n.a6()},
a6:function(){var u=this,t=u.a,s=4294901760*t,r=(s&4294967295)>>>0,q=55905*t,p=(q&4294967295)>>>0,o=p+r+u.b
t=(o&4294967295)>>>0
u.a=t
u.b=(C.b.G(q-p+(s-r)+(o-t),4294967296)&4294967295)>>>0},
m:function(a){var u,t,s,r=this
if(a<=0||a>4294967296)throw H.d(P.kT("max must be in range 0 < max \u2264 2^32, was "+H.e(a)))
u=a-1
if((a&u)>>>0===0){r.a6()
return(r.a&u)>>>0}do{r.a6()
t=r.a
s=t%a}while(t-s+a>=4294967296)
return s},
L:function(){var u,t=this
t.a6()
u=t.a
t.a6()
return((u&67108863)*134217728+(t.a&134217727))/9007199254740992},
aG:function(){this.a6()
return(this.a&1)===0},
$ibC:1}
P.c2.prototype={
k:function(a){return"Point("+H.e(this.a)+", "+H.e(this.b)+")"},
O:function(a,b){if(b==null)return!1
return!!J.A(b).$ic2&&this.a==b.a&&this.b==b.b},
gE:function(a){var u,t=J.bi(this.a),s=J.bi(this.b)
s=P.la(P.la(0,t),s)
u=536870911&s+((67108863&s)<<3)
u^=u>>>11
return 536870911&u+((16383&u)<<15)}}
P.bC.prototype={}
P.im.prototype={}
P.aj.prototype={}
P.bv.prototype={$ibv:1}
P.fa.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a.getItem(b)},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return this.i(a,b)},
$aq:function(){return[P.bv]},
$ij:1,
$aj:function(){return[P.bv]}}
P.bz.prototype={$ibz:1}
P.fK.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a.getItem(b)},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return this.i(a,b)},
$aq:function(){return[P.bz]},
$ij:1,
$aj:function(){return[P.bz]}}
P.fP.prototype={
gj:function(a){return a.length}}
P.c5.prototype={$ic5:1}
P.hl.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a.getItem(b)},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return this.i(a,b)},
$aq:function(){return[P.h]},
$ij:1,
$aj:function(){return[P.h]}}
P.k.prototype={
a_:function(a,b,c,d){var u,t,s,r,q,p=H.b([],[W.aG])
p.push(W.l9(null))
p.push(W.ld())
p.push(new W.iy())
c=new W.dQ(new W.cP(p))
u='<svg version="1.1">'+b+"</svg>"
p=document
t=p.body
s=(t&&C.v).eJ(t,u,c)
r=p.createDocumentFragment()
s.toString
p=new W.a4(s)
q=p.gag(p)
for(;p=q.firstChild,p!=null;)r.appendChild(p)
return r},
gcK:function(a){return new W.aP(a,"click",!1,[W.X])},
$ik:1}
P.bH.prototype={$ibH:1}
P.hz.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return a.getItem(b)},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return this.i(a,b)},
$aq:function(){return[P.bH]},
$ij:1,
$aj:function(){return[P.bH]}}
P.di.prototype={}
P.dj.prototype={}
P.dv.prototype={}
P.dw.prototype={}
P.dH.prototype={}
P.dI.prototype={}
P.dN.prototype={}
P.dO.prototype={}
P.aV.prototype={$ij:1,
$aj:function(){return[P.az]}}
P.ej.prototype={
gj:function(a){return a.length}}
P.ek.prototype={
i:function(a,b){return P.af(a.get(b))},
T:function(a,b){var u,t=a.entries()
for(;!0;){u=t.next()
if(u.done)return
b.$2(u.value[0],P.af(u.value[1]))}},
gF:function(a){var u=H.b([],[P.h])
this.T(a,new P.el(u))
return u},
gj:function(a){return a.size},
$aY:function(){return[P.h,null]}}
P.el.prototype={
$2:function(a,b){return this.a.push(a)}}
P.em.prototype={
gj:function(a){return a.length}}
P.bk.prototype={}
P.fL.prototype={
gj:function(a){return a.length}}
P.d7.prototype={}
P.fY.prototype={
c1:function(a,b){return a.activeTexture(b)},
c4:function(a,b,c){return a.attachShader(b,c)},
c5:function(a,b,c){return a.bindBuffer(b,c)},
c7:function(a,b,c){return a.bindFramebuffer(b,c)},
c8:function(a,b,c){return a.bindTexture(b,c)},
c9:function(a,b){return a.blendEquation(b)},
ca:function(a,b,c){return a.blendFunc(b,c)},
cb:function(a,b,c,d){return a.bufferData(b,c,d)},
cc:function(a,b){return a.checkFramebufferStatus(b)},
ce:function(a,b){return a.clear(b)},
cf:function(a,b,c,d,e){return a.clearColor(b,c,d,e)},
cg:function(a,b){return a.compileShader(b)},
ck:function(a,b,c,d,e,f,g,h,i){return a.copyTexImage2D(b,c,d,e,f,g,h,i)},
cl:function(a){return a.createBuffer()},
cm:function(a){return a.createFramebuffer()},
cn:function(a){return a.createProgram()},
co:function(a,b){return a.createShader(b)},
cp:function(a){return a.createTexture()},
cr:function(a,b){return a.depthMask(b)},
cs:function(a,b){return a.disable(b)},
ct:function(a,b,c,d){return a.drawArrays(b,c,d)},
cu:function(a,b,c,d,e){return a.drawElements(b,c,d,e)},
cv:function(a,b){return a.enable(b)},
cw:function(a,b){return a.enableVertexAttribArray(b)},
cB:function(a,b,c,d,e,f){return a.framebufferTexture2D(b,c,d,e,f)},
be:function(a,b){return a.generateMipmap(b)},
aJ:function(a){return P.af(a.getContextAttributes())},
bg:function(a){return a.getError()},
bi:function(a,b){return a.getProgramInfoLog(b)},
bj:function(a,b,c){return a.getProgramParameter(b,c)},
bk:function(a,b){return a.getShaderInfoLog(b)},
bl:function(a,b,c){return a.getShaderParameter(b,c)},
bm:function(a,b,c){return a.getUniformLocation(b,c)},
cG:function(a,b){return a.linkProgram(b)},
cP:function(a,b,c){return a.pixelStorei(b,c)},
br:function(a,b,c){return a.shaderSource(b,c)},
bs:function(a,b,c,d){return a.stencilFunc(b,c,d)},
aH:function(a,b,c,d,e,f,g,h,i,j){var u=i==null
if(!u&&h!=null&&typeof g==="number"&&Math.floor(g)===g){a.texImage2D(b,c,d,e,f,g,h,i,j)
return}if(!!J.A(g).$iaR&&h==null&&u&&j==null){a.texImage2D(b,c,d,e,f,g)
return}throw H.d(P.eh("Incorrect number or type of arguments"))},
cU:function(a,b,c,d,e,f,g){return this.aH(a,b,c,d,e,f,g,null,null,null)},
cV:function(a,b,c,d){return a.texParameterf(b,c,d)},
cW:function(a,b,c,d){return a.texParameteri(b,c,d)},
d0:function(a,b,c){return a.uniform1f(b,c)},
d1:function(a,b,c){return a.uniform1fv(b,c)},
d2:function(a,b,c){return a.uniform1i(b,c)},
d3:function(a,b,c){return a.uniform1iv(b,c)},
d4:function(a,b,c){return a.uniform2fv(b,c)},
d5:function(a,b,c){return a.uniform3fv(b,c)},
d6:function(a,b,c){return a.uniform4fv(b,c)},
d7:function(a,b,c,d){return a.uniformMatrix3fv(b,!1,d)},
d8:function(a,b,c,d){return a.uniformMatrix4fv(b,!1,d)},
d9:function(a,b){return a.useProgram(b)},
dc:function(a,b,c,d,e,f,g){return a.vertexAttribPointer(b,c,d,!1,f,g)},
de:function(a,b,c,d,e){return a.viewport(b,c,d,e)}}
P.fZ.prototype={
eB:function(a,b){return a.beginTransformFeedback(b)},
eF:function(a,b){return a.bindVertexArray(b)},
eL:function(a){return a.createVertexArray()},
eN:function(a,b,c,d,e){return a.drawArraysInstanced(b,c,d,e)},
eO:function(a,b,c,d,e,f){return a.drawElementsInstanced(b,c,d,e,f)},
eP:function(a){return a.endTransformFeedback()},
fa:function(a,b,c,d,e,f){return a.texStorage2D(b,c,d,e,f)},
fd:function(a,b,c,d){a.transformFeedbackVaryings(b,c,d)
return},
fe:function(a,b,c){return a.vertexAttribDivisor(b,c)},
c1:function(a,b){return a.activeTexture(b)},
c4:function(a,b,c){return a.attachShader(b,c)},
c5:function(a,b,c){return a.bindBuffer(b,c)},
c7:function(a,b,c){return a.bindFramebuffer(b,c)},
c8:function(a,b,c){return a.bindTexture(b,c)},
c9:function(a,b){return a.blendEquation(b)},
ca:function(a,b,c){return a.blendFunc(b,c)},
cb:function(a,b,c,d){return a.bufferData(b,c,d)},
cc:function(a,b){return a.checkFramebufferStatus(b)},
ce:function(a,b){return a.clear(b)},
cf:function(a,b,c,d,e){return a.clearColor(b,c,d,e)},
cg:function(a,b){return a.compileShader(b)},
ck:function(a,b,c,d,e,f,g,h,i){return a.copyTexImage2D(b,c,d,e,f,g,h,i)},
cl:function(a){return a.createBuffer()},
cm:function(a){return a.createFramebuffer()},
cn:function(a){return a.createProgram()},
co:function(a,b){return a.createShader(b)},
cp:function(a){return a.createTexture()},
cr:function(a,b){return a.depthMask(b)},
cs:function(a,b){return a.disable(b)},
ct:function(a,b,c,d){return a.drawArrays(b,c,d)},
cu:function(a,b,c,d,e){return a.drawElements(b,c,d,e)},
cv:function(a,b){return a.enable(b)},
cw:function(a,b){return a.enableVertexAttribArray(b)},
cB:function(a,b,c,d,e,f){return a.framebufferTexture2D(b,c,d,e,f)},
be:function(a,b){return a.generateMipmap(b)},
aJ:function(a){return P.af(a.getContextAttributes())},
bg:function(a){return a.getError()},
bi:function(a,b){return a.getProgramInfoLog(b)},
bj:function(a,b,c){return a.getProgramParameter(b,c)},
bk:function(a,b){return a.getShaderInfoLog(b)},
bl:function(a,b,c){return a.getShaderParameter(b,c)},
bm:function(a,b,c){return a.getUniformLocation(b,c)},
cG:function(a,b){return a.linkProgram(b)},
cP:function(a,b,c){return a.pixelStorei(b,c)},
br:function(a,b,c){return a.shaderSource(b,c)},
bs:function(a,b,c,d){return a.stencilFunc(b,c,d)},
aH:function(a,b,c,d,e,f,g,h,i,j){var u=i==null
if(!u&&h!=null&&typeof g==="number"&&Math.floor(g)===g){a.texImage2D(b,c,d,e,f,g,h,i,j)
return}if(!!J.A(g).$iaR&&h==null&&u&&j==null){a.texImage2D(b,c,d,e,f,g)
return}throw H.d(P.eh("Incorrect number or type of arguments"))},
cU:function(a,b,c,d,e,f,g){return this.aH(a,b,c,d,e,f,g,null,null,null)},
cV:function(a,b,c,d){return a.texParameterf(b,c,d)},
cW:function(a,b,c,d){return a.texParameteri(b,c,d)},
d0:function(a,b,c){return a.uniform1f(b,c)},
d1:function(a,b,c){return a.uniform1fv(b,c)},
d2:function(a,b,c){return a.uniform1i(b,c)},
d3:function(a,b,c){return a.uniform1iv(b,c)},
d4:function(a,b,c){return a.uniform2fv(b,c)},
d5:function(a,b,c){return a.uniform3fv(b,c)},
d6:function(a,b,c){return a.uniform4fv(b,c)},
d7:function(a,b,c,d){return a.uniformMatrix3fv(b,!1,d)},
d8:function(a,b,c,d){return a.uniformMatrix4fv(b,!1,d)},
d9:function(a,b){return a.useProgram(b)},
dc:function(a,b,c,d,e,f,g){return a.vertexAttribPointer(b,c,d,!1,f,g)},
de:function(a,b,c,d,e){return a.viewport(b,c,d,e)}}
P.hb.prototype={
gj:function(a){return a.length},
i:function(a,b){if(b>>>0!==b||b>=a.length)throw H.d(P.N(b,a,null,null,null))
return P.af(a.item(b))},
h:function(a,b,c){throw H.d(P.o("Cannot assign element of immutable List."))},
sj:function(a,b){throw H.d(P.o("Cannot resize immutable List."))},
gJ:function(a){var u=a.length
if(u>0)return a[u-1]
throw H.d(P.E("No elements"))},
I:function(a,b){return this.i(a,b)},
$aq:function(){return[[P.cK,,,]]},
$ij:1,
$aj:function(){return[[P.cK,,,]]}}
P.dD.prototype={}
P.dE.prototype={}
G.fA.prototype={}
G.F.prototype={
aQ:function(){return this.d},
k:function(a){var u,t,s,r=H.b(["{"+new H.b9(H.jF(this)).k(0)+"}["+this.a+"]"],[P.h])
for(u=this.d,t=u.gF(u),t=t.gD(t);t.p();){s=t.gv(t)
r.push(H.e(s)+": "+H.e(u.i(0,s)))}return C.c.ak(r,"\n")}}
G.eu.prototype={
cz:function(a,b,c){J.mB(this.a,b)
if(c>0)J.mZ(this.a,b,c)},
dd:function(a,b,c,d,e,f,g,h){J.j7(this.a,34962,b)
J.n_(this.a,c,d,e,!1,g,h)}}
G.ai.prototype={
Z:function(a,b,c,d,e){var u=this.a,t=this.b
J.bM(u.a,36160,t)
J.jc(u.a,b,c,d,e)
if(a!==0)J.k8(u.a,a)}}
G.a7.prototype={}
G.T.prototype={}
G.aU.prototype={
k:function(a){return H.e(this.a)+" -> "+H.e(this.b)},
O:function(a,b){if(b==null)return!1
return b instanceof G.aU&&J.ah(this.a,b.a)&&J.ah(this.b,b.b)},
gE:function(a){return(G.jG(this.a)^G.jG(this.b))>>>0}}
G.a0.prototype={
X:function(a){var u=this
switch($.J.i(0,a).a){case"vec2":u.e.h(0,a,H.b([],[T.p]))
break
case"vec3":u.e.h(0,a,H.b([],[T.c]))
break
case"vec4":u.e.h(0,a,H.b([],[T.l]))
break
case"float":u.e.h(0,a,H.b([],[P.az]))
break
case"uvec4":u.e.h(0,a,H.b([],[[P.j,P.C]]))
break}},
bF:function(a,a0,a1){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=this,b=a.d
if(b.length===0)return
u=c.d
t=u.length
for(s=c.e,r=s.gF(s),r=r.gD(r);r.p();)r.gv(r)
for(r=a.e,q=r.gF(r),q=q.gD(q),p=a1.a;q.p();){o=q.gv(q)
switch(o){case"aNormal":for(n=r.i(0,o),m=n.length,l=0;l<n.length;n.length===m||(0,H.u)(n),++l){k=n[l]
j=s.i(0,o)
i=k.a
h=i[0]
g=i[1]
f=i[2]
i[0]=p[0]*h+p[3]*g+p[6]*f
i[1]=p[1]*h+p[4]*g+p[7]*f
i[2]=p[2]*h+p[5]*g+p[8]*f;(j&&C.c).w(j,k)}break
default:n=s.i(0,o);(n&&C.c).S(n,r.i(0,o))}}r.ac(0)
for(s=b.length,l=0;l<b.length;b.length===s||(0,H.u)(b),++l){e=b[l]
p=a0.a
r=e.a
h=r[0]
g=r[1]
f=r[2]
r[0]=p[0]*h+p[4]*g+p[8]*f+p[12]
r[1]=p[1]*h+p[5]*g+p[9]*f+p[13]
r[2]=p[2]*h+p[6]*g+p[10]*f+p[14]
u.push(e)}C.c.sj(b,0)
for(b=a.b,u=b.length,s=c.b,l=0;l<b.length;b.length===u||(0,H.u)(b),++l){d=b[l]
d.a+=t
d.b+=t
d.c+=t
s.push(d)}C.c.sj(b,0)
for(b=a.c,u=b.length,s=c.c,l=0;l<b.length;b.length===u||(0,H.u)(b),++l){d=b[l]
d.a+=t
d.b+=t
d.c+=t
d.d+=t
s.push(d)}C.c.sj(b,0)},
du:function(a){var u,t,s=this.d.length
for(u=this.b,t=0;t<a;++t,s+=3)u.push(new G.a7(s,s+1,s+2))},
bA:function(a,b){var u,t,s,r,q,p=this.d.length
for(u=this.c,t=0;t<a;++t,p+=4){s=p+1
r=p+2
q=p+3
u.push(b?new G.T(q,r,s,p):new G.T(p,s,r,q))}},
dv:function(a){return this.bA(a,!1)},
ao:function(a){var u,t,s,r,q
for(u=a.length,t=this.d,s=0;s<a.length;a.length===u||(0,H.u)(a),++s){r=a[s]
q=new T.c(new Float32Array(3))
q.t(r)
t.push(q)}},
ap:function(a){var u,t,s
for(u=a.length,t=this.d,s=0;s<a.length;a.length===u||(0,H.u)(a),++s)t.push(a[s])},
bw:function(a,b){var u,t,s,r,q,p,o=this.e.i(0,a)
for(u=b.length,t=o&&C.c,s=0;s<b.length;b.length===u||(0,H.u)(b),++s){r=b[s]
q=new Float32Array(2)
p=r.a
q[1]=p[1]
q[0]=p[0]
t.w(o,new T.p(q))}},
bx:function(a,b){var u,t,s,r=this.e.i(0,a)
for(u=b.length,t=r&&C.c,s=0;s<b.length;b.length===u||(0,H.u)(b),++s)t.w(r,b[s])},
dt:function(a,b){var u,t=this.e.i(0,a)
b.toString
u=new T.c(new Float32Array(3))
u.t(b);(t&&C.c).w(t,u)},
an:function(a,b){var u,t,s,r,q,p=this.e.i(0,a)
for(u=b.length,t=p&&C.c,s=0;s<b.length;b.length===u||(0,H.u)(b),++s){r=b[s]
q=new T.c(new Float32Array(3))
q.t(r)
t.w(p,q)}},
by:function(a,b){var u,t,s,r=this.e.i(0,a)
for(u=b.length,t=r&&C.c,s=0;s<b.length;b.length===u||(0,H.u)(b),++s)t.w(r,b[s])},
bz:function(a,b){var u,t,s,r=this.e.i(0,a)
for(u=b.length,t=r&&C.c,s=0;s<b.length;b.length===u||(0,H.u)(b),++s)t.w(r,b[s])},
dC:function(){var u,t,s,r,q,p,o=this.b,n=this.c,m=new Array(o.length*3+n.length*6)
m.fixed$length=Array
u=H.b(m,[P.C])
for(m=o.length,t=0,s=0;s<m;++s){r=o[s]
u[t]=r.a
u[t+1]=r.b
u[t+2]=r.c
t+=3}for(o=n.length,s=0;s<o;++s){q=n[s]
m=q.a
u[t]=m
u[t+1]=q.b
p=q.c
u[t+2]=p
u[t+3]=m
u[t+4]=p
u[t+5]=q.d
t+=6}return u},
aP:function(){var u,t,s,r,q,p,o,n,m,l,k,j,i,h=this,g=new Array(h.d.length)
g.fixed$length=Array
u=H.b(g,[T.l])
t=new T.l(new Float32Array(4))
t.A(1,0,0,0)
s=new T.l(new Float32Array(4))
s.A(0,1,0,0)
r=new T.l(new Float32Array(4))
r.A(0,0,1,0)
for(g=h.b,q=g.length,p=0;p<g.length;g.length===q||(0,H.u)(g),++p){o=g[p]
n=o.a
m=new T.l(new Float32Array(4))
m.t(t)
u[n]=m
m=o.b
n=new T.l(new Float32Array(4))
n.t(s)
u[m]=n
n=o.c
m=new T.l(new Float32Array(4))
m.t(r)
u[n]=m}l=new T.l(new Float32Array(4))
l.A(1,0,0,1)
k=new T.l(new Float32Array(4))
k.A(1,1,0,1)
j=new T.l(new Float32Array(4))
j.A(0,1,0,1)
i=new T.l(new Float32Array(4))
i.A(0,0,0,1)
for(g=h.c,q=g.length,p=0;p<g.length;g.length===q||(0,H.u)(g),++p){o=g[p]
n=o.a
m=new T.l(new Float32Array(4))
m.t(l)
u[n]=m
m=o.b
n=new T.l(new Float32Array(4))
n.t(k)
u[m]=n
n=o.c
m=new T.l(new Float32Array(4))
m.t(j)
u[n]=m
m=o.d
n=new T.l(new Float32Array(4))
n.t(i)
u[m]=n}h.e.h(0,"aCenter",u)},
dE:function(a,b){var u,t,s,r,q,p,o=H.b([],[T.p])
this.e.h(0,"aTexUV",o)
for(u=b-1,t=a-1,s=u;s>=0;--s)for(r=s/u,q=0;q<a;++q){p=new Float32Array(2)
p[0]=r
p[1]=q/t
o.push(new T.p(p))}},
dD:function(a,b,c,d){var u,t,s,r,q,p,o,n,m=this.c,l=a-1,k=b-1,j=0
while(!0){if(!(j<k))break
u=j*a
t=j+1
s=0
while(!0){if(!(s<l))break
r=s+1
q=u+r
p=t*a
o=p+r
p+=s
n=u+s
m.push(d?new G.T(n,p,o,q):new G.T(q,o,p,n))
s=r}j=t}},
dJ:function(){var u,t,s,r,q,p,o,n,m,l,k,j,i=P.kF(null,G.aU,P.x),h=new G.eS(i)
for(u=this.b,t=u.length,s=this.d,r=0;r<u.length;u.length===t||(0,H.u)(u),++r){q=u[r]
p=s[q.a]
o=s[q.b]
n=s[q.c]
if(J.bh(J.bh(h.$3(p,o,q),h.$3(o,n,q)),h.$3(n,p,q)))return!1}for(u=this.c,t=u.length,r=0;r<u.length;u.length===t||(0,H.u)(u),++r){m=u[r]
p=s[m.a]
o=s[m.b]
n=s[m.c]
l=s[m.d]
if(J.bh(J.bh(J.bh(J.bh(J.bh(h.$3(p,o,m),h.$3(o,n,m)),h.$3(n,p,m)),h.$3(p,n,m)),h.$3(n,l,m)),h.$3(l,p,m)))return!1}for(u=i.gF(i),u=u.gD(u);u.p();){t=u.gv(u)
s=t.b
t=t.a
if(!i.a8(0,new G.aU(s,t))){H.bg("W:"+("unpaired edge "+H.e(t)+"->"+H.e(s)))
return!1}}k=P.kF(G.p7(),T.c,[P.j,T.c])
for(u=i.gF(i),u=u.gD(u);u.p();){t=u.gv(u)
J.mk(k.af(0,t.a,new G.eU()),t.b)}j=new G.eV(i)
for(u=k.gda(k),u=u.gD(u);u.p();){t=u.gv(u)
if(!j.$1(t)){H.bg("W:"+("fan issues for "+H.e(t)))
return!1}}return!0},
k:function(a){var u,t,s,r,q=this,p=H.b(["GB:","V["+q.d.length+"]","f3["+q.b.length+"]","f4["+q.c.length+"]"],[P.h])
for(u=q.e,t=u.gF(u),t=t.gD(t);t.p();){s=t.gv(t)
r=$.J.i(0,s).a
p.push(H.e(s)+"["+r+","+u.i(0,s).length+"]")}return C.c.ak(p," ")}}
G.eS.prototype={
$3:function(a,b,c){var u=new G.aU(a,b)
if(!J.ah(this.a.af(0,u,new G.eT(c)),c)){P.P("W:"+("unexpected duplicate edge:  "+u.k(0)))
return!0}else return!1}}
G.eT.prototype={
$0:function(){return this.a}}
G.eU.prototype={
$0:function(){return H.b([],[T.c])}}
G.eV.prototype={
$1:function(a){var u,t,s,r,q,p,o
for(u=J.aQ(a),t=this.a,s=0;s<u.gj(a);++s){r=s===0?u.gJ(a):u.i(a,s-1)
p=s
while(!0){if(!(p<u.gj(a))){q=!1
break}o=u.i(a,p)
if(t.a8(0,new G.aU(r,o))){u.h(a,p,u.i(a,s))
u.h(a,s,o)
q=!0
break}++p}if(!q)return!1}return!0}}
G.bW.prototype={}
G.cz.prototype={
k:function(a){return"DL: p:"+this.z.k(0)}}
G.eX.prototype={
aQ:function(){var u,t=this,s=t.y,r=t.z
G.nq(s,r,t.x)
u=t.d
u.h(0,"uLightDescs",s)
u.h(0,"uLightTypes",r)
return u}}
G.d0.prototype={}
G.d_.prototype={}
G.a8.prototype={}
G.by.prototype={
bC:function(a,b,c){var u,t
C.j.aW(a,0)
this.cy.h(0,a,b)
u=this.d
t=this.r.i(0,a)
J.j7(u.a,34962,t)
J.k6(u.a,34962,b,35048)},
dF:function(){var u=this.cx
if(u!=null)return u.length
return this.ch.length/3|0},
ah:function(a,b,c){var u,t,s,r,q=this,p=J.k3(a,0)===105
if(p&&q.z===0)q.z=C.b.bv(b.length,c)
u=q.r
t=q.d
u.h(0,a,J.j9(t.a))
q.bC(a,b,c)
s=$.J.i(0,a)
if(s==null)throw H.d("Unknown canonical "+a)
r=q.x.i(0,a)
J.e7(t.a,q.e)
t.cz(0,r,p?1:0)
t.dd(0,u.i(0,a),r,s.bD(),5126,!1,0,0)},
ao:function(a){var u,t,s=this,r="aPosition",q=s.r,p=s.d
q.h(0,r,J.j9(p.a))
s.ch=a
s.bC(r,a,3)
u=$.J.i(0,r)
if(u==null)throw H.d("Unknown canonical aPosition")
t=s.x.i(0,r)
J.e7(p.a,s.e)
p.cz(0,t,0)
p.dd(0,q.i(0,r),t,u.bD(),5126,!1,0,0)},
k:function(a){var u,t,s=this.cx,r=H.b(["Faces:"+(s==null?0:s.length)],[P.h])
for(s=this.cy,u=s.gF(s),u=u.gD(u);u.p();){t=u.gv(u)
r.push(H.e(t)+":"+s.i(0,t).length)}return"MESH["+this.a+"] "+C.c.ak(r,"  ")}}
G.fM.prototype={
dz:function(a,b){var u=a/b
if(this.z===u)return
this.z=u
this.aT()},
aT:function(){var u=this,t=u.y,s=u.z,r=u.Q,q=u.ch,p=Math.tan(t*3.141592653589793/180*0.5),o=r-q
t=u.db.a
t[0]=0
t[1]=0
t[2]=0
t[3]=0
t[4]=0
t[5]=0
t[6]=0
t[7]=0
t[8]=0
t[9]=0
t[10]=0
t[11]=0
t[12]=0
t[13]=0
t[14]=0
t[15]=0
t[0]=1/(p*s)
t[5]=1/p
t[10]=(q+r)/o
t[11]=-1
t[14]=2*r*q/o},
e8:function(a){if(this.y===a)return
this.y=a
this.aT()},
aQ:function(){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5=this,b6=b5.d
b6.h(0,"uEyePosition",b5.x.bh())
u=b5.cy
u.t(b5.x.d)
t=b5.cx
t.t(b5.db)
s=t.a
r=s[0]
q=s[4]
p=s[8]
o=s[12]
n=s[1]
m=s[5]
l=s[9]
k=s[13]
j=s[2]
i=s[6]
h=s[10]
g=s[14]
f=s[3]
e=s[7]
d=s[11]
c=s[15]
b=u.a
a=b[0]
a0=b[4]
a1=b[8]
a2=b[12]
a3=b[1]
a4=b[5]
a5=b[9]
a6=b[13]
a7=b[2]
a8=b[6]
a9=b[10]
b0=b[14]
b1=b[3]
b2=b[7]
b3=b[11]
b4=b[15]
s[0]=r*a+q*a3+p*a7+o*b1
s[4]=r*a0+q*a4+p*a8+o*b2
s[8]=r*a1+q*a5+p*a9+o*b3
s[12]=r*a2+q*a6+p*b0+o*b4
s[1]=n*a+m*a3+l*a7+k*b1
s[5]=n*a0+m*a4+l*a8+k*b2
s[9]=n*a1+m*a5+l*a9+k*b3
s[13]=n*a2+m*a6+l*b0+k*b4
s[2]=j*a+i*a3+h*a7+g*b1
s[6]=j*a0+i*a4+h*a8+g*b2
s[10]=j*a1+i*a5+h*a9+g*b3
s[14]=j*a2+i*a6+h*b0+g*b4
s[3]=f*a+e*a3+d*a7+c*b1
s[7]=f*a0+e*a4+d*a8+c*b2
s[11]=f*a1+e*a5+d*a9+c*b3
s[15]=f*a2+e*a6+d*b0+c*b4
b6.h(0,"uPerspectiveViewMatrix",t)
return b6}}
G.fX.prototype={
dS:function(a,b,c,d){var u,t,s,r,q,p,o,n=this
for(u=n.e.d,t=u.length,s=n.y,r=n.d,q=n.r,p=0;p<u.length;u.length===t||(0,H.u)(u),++p){o=u[p]
s.h(0,o,J.kb(r.a,q,o))}for(u=n.f.d,t=u.length,p=0;p<u.length;u.length===t||(0,H.u)(u),++p){o=u[p]
s.h(0,o,J.kb(r.a,q,o))}},
e7:function(){var u,t,s=this,r=s.z,q=s.y
if(r.gj(r)===q.gj(q)&&s.Q.a===s.x.a)return H.b([],[P.h])
u=H.b([],[P.h])
for(q=q.gF(q),q=q.gD(q);q.p();){t=q.gv(q)
if(!r.a8(0,t))u.push(t)}for(r=s.x,r=P.oq(r,r.r),q=s.Q;r.p();){t=r.d
if(!q.H(0,t))u.push(t)}return u},
eb:function(a,b){var u,t,s,r,q,p,o,n,m,l,k,j,i,h=this,g=Date.now()
for(u=b.gF(b),u=u.gD(u),t=h.d,s=h.y,r=h.z,q=h.a,p=0;u.p();){o=u.gv(u)
switch(J.k3(o,0)){case 117:if(s.a8(0,o)){n=b.i(0,o)
if(r.a8(0,o))H.bg("E:"+(q+":  "+o+" : group ["+a+"] overwrites ["+o+"] ("+H.e(r.i(0,o))+")"))
r.h(0,o,a)
m=$.J.i(0,o)
if(m==null)H.aa("unknown "+o)
l=s.i(0,o)
o=m.a
switch(o){case"int":if(m.c===0)J.jb(t.a,l,n)
else if(!!J.A(n).$ins)J.mX(t.a,l,n)
break
case"float":if(m.c===0)J.mV(t.a,l,n)
else if(!!J.A(n).$iaV)J.mW(t.a,l,n)
break
case"mat4":if(m.c===0){o=H.ag(n,"$iz").a
J.ki(t.a,l,!1,o)}else if(!!J.A(n).$iaV)J.ki(t.a,l,!1,n)
break
case"mat3":if(m.c===0){o=H.ag(n,"$iaE").a
J.kh(t.a,l,!1,o)}else if(!!J.A(n).$iaV)J.kh(t.a,l,!1,n)
break
case"vec4":o=m.c
k=t.a
if(o===0)J.kg(k,l,H.ag(n,"$il").a)
else J.kg(k,l,n)
break
case"vec3":o=m.c
k=t.a
if(o===0)J.kf(k,l,H.ag(n,"$ic").a)
else J.kf(k,l,n)
break
case"vec2":o=m.c
k=t.a
if(o===0)J.ke(k,l,H.ag(n,"$ip").a)
else J.ke(k,l,n)
break
case"sampler2D":case"sampler2DShadow":o=h.ch
J.k4(t.a,33984+o)
o=H.ag(n,"$ibF").b
J.a6(t.a,3553,o)
o=h.ch
J.jb(t.a,l,o)
h.ch=h.ch+1
break
case"samplerCube":o=h.ch
J.k4(t.a,33984+o)
o=H.ag(n,"$ibF").b
J.a6(t.a,34067,o)
o=h.ch
J.jb(t.a,l,o)
h.ch=h.ch+1
break
default:H.bg("Error: unknow uniform type: "+o)}++p}break
case 99:n=b.i(0,o)
switch(o){case"cDepthTest":o=J.ah(n,!0)
k=t.a
if(o)J.ct(k,2929)
else J.ja(k,2929)
break
case"cStencilFunc":H.ag(n,"$id0")
o=n.a
k=t.a
if(o===1281)J.ja(k,2960)
else{J.ct(k,2960)
k=n.b
j=n.c
J.mO(t.a,o,k,j)}break
case"cDepthWrite":J.mv(t.a,n)
break
case"cBlendEquation":H.ag(n,"$id_")
o=n.a
k=t.a
if(o===1281)J.ja(k,3042)
else{J.ct(k,3042)
k=n.b
j=n.c
J.mo(t.a,k,j)
J.mn(t.a,o)}break}++p
break}}i=P.nf(Date.now()-new P.bq(g,!1).a,0)
""+p
i.k(0)},
n:function(a,b){var u,t,s,r,q,p,o,n,m,l,k=this
Date.now()
u=k.d
J.mY(u.a,k.r)
k.ch=0
k.z.ac(0)
for(t=b.length,s=0;s<b.length;b.length===t||(0,H.u)(b),++s){r=b[s]
k.eb(r.a,r.aQ())}t=k.Q
t.ac(0)
for(q=a.cy,q=q.gF(q),q=q.gD(q);q.p();)t.w(0,q.gv(q))
p=k.e7()
if(p.length!==0)P.P("E:"+(k.a+" "+a.f+": uninitialized inputs: "+H.e(p)))
t=a.d
q=a.e
J.e7(t.a,q)
o=k.e.f.length>0
q=a.f
t=a.dF()
n=a.Q
m=a.z
if(o)J.mm(u.a,q)
if(n!==-1){l=u.a
if(m>1)J.mz(l,q,t,n,0,m)
else J.my(l,q,t,n,0)}else{n=u.a
if(m>1)J.mx(n,q,0,t,m)
else J.mw(n,q,0,t)}if(o)J.mC(u.a)}}
G.r.prototype={
bD:function(){switch(this.a){case"float":return 1
case"vec2":return 2
case"vec3":case"uvec3":return 3
case"vec4":case"uvec4":return 4
default:return-1}}}
G.cW.prototype={
V:function(a){var u,t,s,r,q,p=this
for(u=a.length,t=p.c,s=p.x,r=0;r<a.length;a.length===u||(0,H.u)(a),++r){q=a[r]
t.push(q)
s.h(0,q,p.r);++p.r}C.c.aN(t)},
N:function(a){var u,t,s
for(u=a.length,t=this.d,s=0;s<a.length;a.length===u||(0,H.u)(a),++s)t.push(a[s])
C.c.aN(t)},
K:function(a){var u,t,s
for(u=a.length,t=this.e,s=0;s<a.length;a.length===u||(0,H.u)(a),++s)t.push(a[s])
C.c.aN(t)},
bJ:function(a,b){this.b=this.aU(!0,a,b)},
a3:function(a){return this.bJ(a,null)},
bI:function(a,b){this.b=this.aU(!1,a,b)},
R:function(a){return this.bI(a,null)},
aU:function(a,b,c){var u,t,s,r,q,p,o,n,m=this,l=m.c,k=l.length===0,j=H.b(["#version 300 es","precision highp float;","precision highp sampler2DShadow;",""],[P.h])
for(u=l.length,t=m.x,s=0;s<l.length;l.length===u||(0,H.u)(l),++s){r=l[s]
q=$.J.i(0,r)
j.push("layout (location="+H.e(t.i(0,r))+") in "+q.a+" "+H.e(r)+";")}j.push("")
p=k?"in":"out"
if(k)j.push("out vec4 oFragColor;")
for(l=m.e,u=l.length,s=0;s<l.length;l.length===u||(0,H.u)(l),++s){o=l[s]
q=$.J.i(0,o)
j.push(p+" "+q.a+" "+H.e(o)+";")}for(l=m.f,u=l.length,s=0;s<l.length;l.length===u||(0,H.u)(l),++s){o=l[s]
q=$.J.i(0,o)
j.push(p+" "+q.a+" "+H.e(o)+";")}j.push("")
for(l=m.d,u=l.length,s=0;s<l.length;l.length===u||(0,H.u)(l),++s){o=l[s]
q=$.J.i(0,o)
t=q.c
n=t===0?"":"["+t+"]"
j.push("uniform "+q.a+" "+H.e(o)+n+";")}j.push("")
if(c!=null)C.c.S(j,c)
if(a)j.push("void main(void) {")
C.c.S(j,b)
if(a)j.push("}")
return C.c.ak(j,"\n")}}
G.h9.prototype={
bh:function(){var u=this.e,t=this.d.a,s=u.a
s[0]=t[12]
s[1]=t[13]
s[2]=t[14]
return u},
bq:function(a,b,c){var u=a*Math.cos(c),t=Math.cos(b),s=Math.sin(c),r=Math.sin(b),q=this.d.a
q[12]=u*t
q[13]=a*s
q[14]=u*r},
d_:function(a){var u=this.d.a,t=a.a
u[12]=u[12]+t[0]
u[13]=u[13]+t[1]
u[14]=u[14]+t[2]},
cI:function(a,b){if(b==null){b=new T.c(new Float32Array(3))
b.l(0,1,0)}T.jK(this.d,this.bh(),a,b)},
cH:function(a){return this.cI(a,null)}}
G.bG.prototype={
bK:function(){this.r=this.f=9728},
aS:function(){this.a=!0
this.f=9987
this.r=9729},
aw:function(a,b){var u=this,t=u.e
if(t!==1)J.mR(a.a,b,34046,t)
t=u.r
J.eb(a.a,b,10240,t)
t=u.f
J.eb(a.a,b,10241,t)
if(u.b){J.eb(a.a,b,10242,33071)
J.eb(a.a,b,10243,33071)}if(u.a)J.mE(a.a,b)}}
G.bF.prototype={
k:function(a){return"Texture["+this.a+", "+this.c+"]"}}
G.hC.prototype={
k:function(a){var u=this
return"TypedTexture["+u.a+", "+u.x+", "+H.e(u.f)+" X "+H.e(u.r)+"]"}}
G.d4.prototype={
ax:function(a,b,c){var u=this,t=u.d,s=u.c
J.a6(t.a,s,u.b)
J.kd(t.a,3553,0,u.x,u.f,u.r,0,b,c,a)
J.a6(t.a,s,null)},
k:function(a){var u=this
return"TypedTextureMutable["+u.a+", "+u.x+", "+u.f+" X "+u.r+"]"}}
G.eY.prototype={}
R.cR.prototype={
cR:function(a){var u=this.fy,t=u.clientWidth,s=u.clientHeight
u.width=t
u.height=s
P.P("size change "+H.e(t)+" "+H.e(s))
this.dz(t,s)
J.jc(this.go.a,0,0,t,s)}}
R.hd.prototype={
e6:function(a,b,c){var u,t=this,s=t.a
if(s==null)throw H.d("no element provided")
u=s.style
u.color=b
u.fontFamily="Helvetica,Arial,sans-serif"
u.fontSize="9px"
u.lineHeight="15px"
u.padding="0 0 3px 3px"
u.textAlign="left"
u.background=c
s.appendChild(t.b)
s.appendChild(t.d)
s.appendChild(t.c)}}
R.he.prototype={
e9:function(a){var u,t,s,r,q,p=this,o=++p.e
if(a-p.f<1000)return
u=o*1000/1000
p.e=0
p.f=a
p.b.textContent=C.h.fc(u,2)+" fps"
C.M.dg(p.c,"")
t=C.b.G(30*C.h.eG(u),90)
if(t<0)t=0
if(t>30)t=30
o=p.d
s=o.firstChild
r=s.style
q=""+t+"px"
r.height=q
o.appendChild(s)}}
B.hw.prototype={
$2:function(a,b){var u=this
B.d2(a,u.a,u.b,u.c,u.d,b)}}
B.hv.prototype={
$2:function(a,b){var u=this
B.d2(a,u.a,u.b,u.c,u.d,b)}}
D.f7.prototype={
dK:function(a){var u
a=document
u=W.bu
W.ax(a,"keydown",new D.f8(this),!1,u)
W.ax(a,"keyup",new D.f9(this),!1,u)}}
D.f8.prototype={
$1:function(a){var u=this.a
u.a.w(0,a.which)
u.b.w(0,a.which)}}
D.f9.prototype={
$1:function(a){var u=this.a
u.a.cQ(0,a.which)
u.c.w(0,a.which)}}
D.fv.prototype={
dL:function(a){var u,t,s=this
if(a==null)a=document
u=J.m(a)
t=u.gcM(a)
W.ax(t.a,t.b,new D.fw(s),!1,H.S(t,0))
t=u.gcL(a)
W.ax(t.a,t.b,new D.fx(s),!1,H.S(t,0))
t=u.gcN(a)
W.ax(t.a,t.b,new D.fy(s),!1,H.S(t,0))
u=u.gcO(a)
W.ax(u.a,u.b,new D.fz(s),!1,H.S(u,0))}}
D.fw.prototype={
$1:function(a){var u
a.preventDefault()
u=J.m(a)
u.gcJ(a)
u.gcJ(a)
u=this.a
u.d=a.movementX
u.e=a.movementY}}
D.fx.prototype={
$1:function(a){var u
a.preventDefault()
P.P("BUTTON "+H.e(a.button))
u=this.a
u.a.w(0,a.button)
u.b.w(0,a.button)}}
D.fy.prototype={
$1:function(a){var u
a.preventDefault()
u=this.a
u.a.cQ(0,a.button)
u.c.w(0,a.button)}}
D.fz.prototype={
$1:function(a){a.preventDefault()
this.a.f=C.aa.geM(a)}}
D.cQ.prototype={
as:function(b1,b2){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8=this,a9=a8.fx,b0=a9.a
if(b0.H(0,0)||b0.H(0,1)){a8.cx=a8.cx+a9.d*0.01
a8.cy=a8.cy+a9.e*0.01}b0=a8.fr
u=b0.a
if(u.H(0,37))a8.cx+=0.03
else if(u.H(0,39))a8.cx-=0.03
if(u.H(0,38))a8.cy+=0.03
else if(u.H(0,40))a8.cy-=0.03
if(u.H(0,33))a8.ch*=0.99
else if(u.H(0,34))a8.ch*=1.01
if(u.H(0,32))a8.cy=a8.cx=0
u=a9.f
t=a8.dy
u=a8.ch-u*t
if(u>0)a8.ch=u
u=C.a.cd(a8.cy,-1.4707963267948965,1.4707963267948965)
a8.cy=u
a8.bq(a8.ch,a8.cx,u)
u=a8.dx
a8.d_(u)
a8.cH(u)
u=a8.f
t=a8.d.a
s=u.a
s[0]=t[2]
s[1]=t[6]
s[2]=t[10]
r=Math.sqrt(u.gae())
q=s[0]/r
p=s[1]/r
o=s[2]/r
n=Math.cos(-0.0)
m=Math.sin(-0.0)
l=1-n
k=q*q*l+n
s=o*m
j=q*p*l-s
u=p*m
i=q*o*l+u
h=p*q*l+s
g=p*p*l+n
s=q*m
f=p*o*l-s
e=o*q*l-u
d=o*p*l+s
c=o*o*l+n
s=t[0]
u=t[4]
b=t[8]
a=t[1]
a0=t[5]
a1=t[9]
a2=t[2]
a3=t[6]
a4=t[10]
a5=t[3]
a6=t[7]
a7=t[11]
t[0]=s*k+u*h+b*e
t[1]=a*k+a0*h+a1*e
t[2]=a2*k+a3*h+a4*e
t[3]=a5*k+a6*h+a7*e
t[4]=s*j+u*g+b*d
t[5]=a*j+a0*g+a1*d
t[6]=a2*j+a3*g+a4*d
t[7]=a5*j+a6*g+a7*d
t[8]=s*i+u*f+b*c
t[9]=a*i+a0*f+a1*c
t[10]=a2*i+a3*f+a4*c
t[11]=a5*i+a6*f+a7*c
b0.c.ac(0)
b0.b.ac(0)
a9.f=a9.d=a9.e=0
a9.c.ac(0)
a9.b.ac(0)}}
A.iQ.prototype={
$2:function(a,b){var u=536870911&a+J.bi(b)
u=536870911&u+((524287&u)<<10)
return u^u>>>6}}
T.aE.prototype={
k:function(a){return"[0] "+this.a9(0).k(0)+"\n[1] "+this.a9(1).k(0)+"\n[2] "+this.a9(2).k(0)+"\n"},
i:function(a,b){return this.a[b]},
O:function(a,b){var u,t,s
if(b==null)return!1
if(b instanceof T.aE){u=this.a
t=u[0]
s=b.a
u=t===s[0]&&u[1]===s[1]&&u[2]===s[2]&&u[3]===s[3]&&u[4]===s[4]&&u[5]===s[5]&&u[6]===s[6]&&u[7]===s[7]&&u[8]===s[8]}else u=!1
return u},
gE:function(a){return A.e2(this.a)},
a9:function(a){var u=new Float32Array(3),t=this.a
u[0]=t[a]
u[1]=t[3+a]
u[2]=t[6+a]
return new T.c(u)},
w:function(a,b){var u=b.gfh(),t=this.a
t[0]=C.a.q(t[0],u.i(0,0))
t[1]=C.a.q(t[1],u.i(0,1))
t[2]=C.a.q(t[2],u.i(0,2))
t[3]=C.a.q(t[3],u.i(0,3))
t[4]=C.a.q(t[4],u.i(0,4))
t[5]=C.a.q(t[5],u.i(0,5))
t[6]=C.a.q(t[6],u.i(0,6))
t[7]=C.a.q(t[7],u.i(0,7))
t[8]=C.a.q(t[8],u.i(0,8))}}
T.z.prototype={
t:function(a){var u=a.a,t=this.a
t[15]=u[15]
t[14]=u[14]
t[13]=u[13]
t[12]=u[12]
t[11]=u[11]
t[10]=u[10]
t[9]=u[9]
t[8]=u[8]
t[7]=u[7]
t[6]=u[6]
t[5]=u[5]
t[4]=u[4]
t[3]=u[3]
t[2]=u[2]
t[1]=u[1]
t[0]=u[0]},
k:function(a){var u=this
return"[0] "+u.a9(0).k(0)+"\n[1] "+u.a9(1).k(0)+"\n[2] "+u.a9(2).k(0)+"\n[3] "+u.a9(3).k(0)+"\n"},
i:function(a,b){return this.a[b]},
O:function(a,b){var u,t,s
if(b==null)return!1
if(b instanceof T.z){u=this.a
t=u[0]
s=b.a
u=t===s[0]&&u[1]===s[1]&&u[2]===s[2]&&u[3]===s[3]&&u[4]===s[4]&&u[5]===s[5]&&u[6]===s[6]&&u[7]===s[7]&&u[8]===s[8]&&u[9]===s[9]&&u[10]===s[10]&&u[11]===s[11]&&u[12]===s[12]&&u[13]===s[13]&&u[14]===s[14]&&u[15]===s[15]}else u=!1
return u},
gE:function(a){return A.e2(this.a)},
a9:function(a){var u=new Float32Array(4),t=this.a
u[0]=t[a]
u[1]=t[4+a]
u[2]=t[8+a]
u[3]=t[12+a]
return new T.l(u)},
M:function(){var u=this.a
u[0]=1
u[1]=0
u[2]=0
u[3]=0
u[4]=0
u[5]=1
u[6]=0
u[7]=0
u[8]=0
u[9]=0
u[10]=1
u[11]=0
u[12]=0
u[13]=0
u[14]=0
u[15]=1},
aM:function(a){var u=a.a,t=u[2],s=u[1],r=u[0],q=this.a
q[14]=t
q[13]=s
q[12]=r},
b5:function(a){var u=a.a,t=this.a
u[0]=t[0]
u[1]=t[1]
u[2]=t[2]
u[3]=t[4]
u[4]=t[5]
u[5]=t[6]
u[6]=t[8]
u[7]=t[9]
u[8]=t[10]},
cj:function(b3){var u,t,s,r,q=b3.a,p=q[0],o=q[1],n=q[2],m=q[3],l=q[4],k=q[5],j=q[6],i=q[7],h=q[8],g=q[9],f=q[10],e=q[11],d=q[12],c=q[13],b=q[14],a=q[15],a0=p*k-o*l,a1=p*j-n*l,a2=p*i-m*l,a3=o*j-n*k,a4=o*i-m*k,a5=n*i-m*j,a6=h*c-g*d,a7=h*b-f*d,a8=h*a-e*d,a9=g*b-f*c,b0=g*a-e*c,b1=f*a-e*b,b2=a0*b1-a1*b0+a2*a9+a3*a8-a4*a7+a5*a6
if(b2===0){this.t(b3)
return 0}u=1/b2
t=this.a
t[0]=(k*b1-j*b0+i*a9)*u
t[1]=(-o*b1+n*b0-m*a9)*u
t[2]=(c*a5-b*a4+a*a3)*u
t[3]=(-g*a5+f*a4-e*a3)*u
s=-l
t[4]=(s*b1+j*a8-i*a7)*u
t[5]=(p*b1-n*a8+m*a7)*u
r=-d
t[6]=(r*a5+b*a2-a*a1)*u
t[7]=(h*a5-f*a2+e*a1)*u
t[8]=(l*b0-k*a8+i*a6)*u
t[9]=(-p*b0+o*a8-m*a6)*u
t[10]=(d*a4-c*a2+a*a0)*u
t[11]=(-h*a4+g*a2-e*a0)*u
t[12]=(s*a9+k*a7-j*a6)*u
t[13]=(p*a9-o*a7+n*a6)*u
t[14]=(r*a3+c*a1-b*a0)*u
t[15]=(h*a3-g*a1+f*a0)*u
return b2},
w:function(a,b){var u=b.gfi(),t=this.a
t[0]=C.a.q(t[0],u.i(0,0))
t[1]=C.a.q(t[1],u.i(0,1))
t[2]=C.a.q(t[2],u.i(0,2))
t[3]=C.a.q(t[3],u.i(0,3))
t[4]=C.a.q(t[4],u.i(0,4))
t[5]=C.a.q(t[5],u.i(0,5))
t[6]=C.a.q(t[6],u.i(0,6))
t[7]=C.a.q(t[7],u.i(0,7))
t[8]=C.a.q(t[8],u.i(0,8))
t[9]=C.a.q(t[9],u.i(0,9))
t[10]=C.a.q(t[10],u.i(0,10))
t[11]=C.a.q(t[11],u.i(0,11))
t[12]=C.a.q(t[12],u.i(0,12))
t[13]=C.a.q(t[13],u.i(0,13))
t[14]=C.a.q(t[14],u.i(0,14))
t[15]=C.a.q(t[15],u.i(0,15))},
cq:function(a7,a8,a9){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5=new T.c(new Float32Array(3)),a6=this.a
a5.l(a6[0],a6[1],a6[2])
u=Math.sqrt(a5.gae())
a5.l(a6[4],a6[5],a6[6])
t=Math.sqrt(a5.gae())
a5.l(a6[8],a6[9],a6[10])
s=Math.sqrt(a5.gae())
r=a6[0]
q=a6[5]
p=a6[1]
o=a6[4]
n=r*q-p*o
m=a6[6]
l=a6[2]
k=r*m-l*o
j=a6[7]
i=a6[3]
h=r*j-i*o
g=p*m-l*q
f=p*j-i*q
e=l*j-i*m
m=a6[8]
i=a6[9]
j=a6[10]
l=a6[11]
q=a6[12]
if(-(i*e-j*f+l*g)*q+(m*e-j*h+l*k)*a6[13]-(m*f-i*h+l*n)*a6[14]+(m*g-i*k+j*n)*a6[15]<0)u=-u
r=a7.a
r[0]=q
r[1]=a6[13]
r[2]=a6[14]
d=1/u
c=1/t
b=1/s
a6=new Float32Array(16)
a=new T.z(a6)
a.t(this)
a6[0]=a6[0]*d
a6[1]=a6[1]*d
a6[2]=a6[2]*d
a6[4]=a6[4]*c
a6[5]=a6[5]*c
a6[6]=a6[6]*c
a6[8]=a6[8]*b
a6[9]=a6[9]*b
a6[10]=a6[10]*b
a6=new Float32Array(9)
a.b5(new T.aE(a6))
r=a6[0]
q=a6[4]
p=a6[8]
a0=0+r+q+p
if(a0>0){a1=Math.sqrt(a0+1)
r=a8.a
r[3]=a1*0.5
a1=0.5/a1
r[0]=(a6[5]-a6[7])*a1
r[1]=(a6[6]-a6[2])*a1
r[2]=(a6[1]-a6[3])*a1}else{if(r<q)a2=q<p?2:1
else a2=r<p?2:0
a3=(a2+1)%3
a4=(a2+2)%3
r=a2*3
q=a3*3
p=a4*3
a1=Math.sqrt(a6[r+a2]-a6[q+a3]-a6[p+a4]+1)
o=a8.a
o[a2]=a1*0.5
a1=0.5/a1
o[3]=(a6[q+a4]-a6[p+a3])*a1
o[a3]=(a6[r+a3]+a6[q+a2])*a1
o[a4]=(a6[r+a4]+a6[p+a2])*a1}a6=a9.a
a6[0]=u
a6[1]=t
a6[2]=s}}
T.bB.prototype={
t:function(a){var u=a.a,t=this.a
t[0]=u[0]
t[1]=u[1]
t[2]=u[2]
t[3]=u[3]},
gj:function(a){var u=this.a,t=u[0],s=u[1],r=u[2],q=u[3]
return Math.sqrt(t*t+s*s+r*r+q*q)},
w:function(a,b){var u=b.a,t=this.a
t[0]=t[0]+u[0]
t[1]=t[1]+u[1]
t[2]=t[2]+u[2]
t[3]=t[3]+u[3]},
i:function(a,b){return this.a[b]},
k:function(a){var u=this.a
return H.e(u[0])+", "+H.e(u[1])+", "+H.e(u[2])+" @ "+H.e(u[3])}}
T.p.prototype={
B:function(a,b){var u=this.a
u[0]=a
u[1]=b},
k:function(a){var u=this.a
return"["+H.e(u[0])+","+H.e(u[1])+"]"},
O:function(a,b){var u,t,s
if(b==null)return!1
if(b instanceof T.p){u=this.a
t=u[0]
s=b.a
u=t===s[0]&&u[1]===s[1]}else u=!1
return u},
gE:function(a){return A.e2(this.a)},
i:function(a,b){return this.a[b]},
gj:function(a){var u=this.a,t=u[0]
u=u[1]
return Math.sqrt(t*t+u*u)},
w:function(a,b){var u=b.gfj(),t=this.a
t[0]=C.a.q(t[0],u.i(0,0))
t[1]=C.a.q(t[1],u.i(0,1))}}
T.c.prototype={
l:function(a,b,c){var u=this.a
u[0]=a
u[1]=b
u[2]=c},
t:function(a){var u=a.a,t=this.a
t[0]=u[0]
t[1]=u[1]
t[2]=u[2]},
k:function(a){var u=this.a
return"["+H.e(u[0])+","+H.e(u[1])+","+H.e(u[2])+"]"},
O:function(a,b){var u,t,s
if(b==null)return!1
if(b instanceof T.c){u=this.a
t=u[0]
s=b.a
u=t===s[0]&&u[1]===s[1]&&u[2]===s[2]}else u=!1
return u},
gE:function(a){return A.e2(this.a)},
bn:function(a){var u=new Float32Array(3),t=new T.c(u)
t.t(this)
u[2]=-u[2]
u[1]=-u[1]
u[0]=-u[0]
return t},
aa:function(a,b){var u=new T.c(new Float32Array(3))
u.t(this)
u.am(0,b)
return u},
q:function(a,b){var u=new T.c(new Float32Array(3))
u.t(this)
u.w(0,b)
return u},
i:function(a,b){return this.a[b]},
gj:function(a){var u=this.a,t=u[0],s=u[1]
u=u[2]
return Math.sqrt(t*t+s*s+u*u)},
gae:function(){var u=this.a,t=u[0],s=u[1]
u=u[2]
return t*t+s*s+u*u},
a1:function(a){var u,t,s=Math.sqrt(this.gae())
if(s===0)return 0
u=1/s
t=this.a
t[0]=t[0]*u
t[1]=t[1]*u
t[2]=t[2]*u
return s},
b6:function(a){var u=a.a,t=this.a
return t[0]*u[0]+t[1]*u[1]+t[2]*u[2]},
aE:function(a){var u=this.a,t=u[0],s=u[1],r=u[2],q=a.a,p=q[0],o=q[1],n=q[2]
u=new T.c(new Float32Array(3))
u.l(s*n-r*o,r*p-t*n,t*o-s*p)
return u},
w:function(a,b){var u=b.a,t=this.a
t[0]=t[0]+u[0]
t[1]=t[1]+u[1]
t[2]=t[2]+u[2]},
c2:function(a,b){var u=a.a,t=this.a
t[0]=t[0]+u[0]*b
t[1]=t[1]+u[1]*b
t[2]=t[2]+u[2]*b},
am:function(a,b){var u=b.a,t=this.a
t[0]=t[0]-u[0]
t[1]=t[1]-u[1]
t[2]=t[2]-u[2]},
aL:function(a,b){var u=this.a
u[2]=u[2]*b
u[1]=u[1]*b
u[0]=u[0]*b},
a2:function(a){var u=new T.c(new Float32Array(3))
u.t(this)
u.aL(0,a)
return u},
sbb:function(a,b){this.a[0]=b},
sbc:function(a,b){this.a[1]=b},
sbd:function(a,b){this.a[2]=b}}
T.l.prototype={
A:function(a,b,c,d){var u=this.a
u[3]=d
u[2]=c
u[1]=b
u[0]=a},
t:function(a){var u=a.a,t=this.a
t[3]=u[3]
t[2]=u[2]
t[1]=u[1]
t[0]=u[0]},
k:function(a){var u=this.a
return H.e(u[0])+","+H.e(u[1])+","+H.e(u[2])+","+H.e(u[3])},
O:function(a,b){var u,t,s
if(b==null)return!1
if(b instanceof T.l){u=this.a
t=u[0]
s=b.a
u=t===s[0]&&u[1]===s[1]&&u[2]===s[2]&&u[3]===s[3]}else u=!1
return u},
gE:function(a){return A.e2(this.a)},
i:function(a,b){return this.a[b]},
gj:function(a){var u=this.a,t=u[0],s=u[1],r=u[2]
u=u[3]
return Math.sqrt(t*t+s*s+r*r+u*u)},
w:function(a,b){var u=b.gfk(),t=this.a
t[0]=C.a.q(t[0],u.i(0,0))
t[1]=C.a.q(t[1],u.i(0,1))
t[2]=C.a.q(t[2],u.i(0,2))
t[3]=C.a.q(t[3],u.i(0,3))}}
F.eq.prototype={}
F.ep.prototype={
dA:function(a,b,c,d,e){var u,t,s=this
s.a=1+a.m(e?5:1)
u=b.a
s.b=new S.G(u[a.m(u.length)],c.a)
s.f=new S.G(b.b,c.d)
u=b.c
t=$.cr()
s.r=new S.G(u,t.P())
s.x=new S.G(b.d,t.P())
if(!e)return
if(s.a>2&&a.aG()){s.d=s.a>1?2:0
s.c=a.m(b.x)}if(d.a&&s.a>1&&a.m(4)===0)s.e=a.m(3)}}
F.ed.prototype={
$2:function(a,b){var u,t,s=this.a.a.a,r=s[0],q=this.b.a,p=q[0]
s=s[1]
q=q[1]
u=new T.c(new Float32Array(3))
u.l(p,a,q)
t=new T.c(new Float32Array(3))
t.l(p,b,q)
q=new T.c(new Float32Array(3))
q.l(r,b,s)
p=new T.c(new Float32Array(3))
p.l(r,a,s)
return H.b([u,t,q,p],[T.c])}}
F.je.prototype={}
F.h0.prototype={}
F.er.prototype={}
F.eo.prototype={}
G.eL.prototype={
$2:function(a,b){return this.a.d[a+b*(this.b+1)]}}
G.eK.prototype={
$2:function(a,b){return this.a.d[a+b*(this.b+1)]}}
G.hs.prototype={
aD:function(a,b,c,d){var u,t,s,r,q,p,o,n,m,l=this,k=b*c/6000,j=l.fr
B.d2(k,3,2,500,1,j)
u=l.fx
B.d2(k+0.01,3,2,500,1,u)
t=l.fy
t.t(u)
t.am(0,j)
s=l.go
r=l.id
t=t.a
q=t[0]
p=t[1]
o=q*q+p*p
n=1/Math.sqrt(o)
s.sbb(0,-t[1]*n)
s.sbc(0,t[0]*n)
s.sbd(0,0)
s.a1(0)
r.sbb(0,-t[2]*t[0]*n)
r.sbc(0,-t[1]*t[2]*n)
r.sbd(0,o*n)
r.a1(0)
m=G.oT(s,r,d)
m.aL(0,l.cx)
j.w(0,m)
u.w(0,m)
j=j.a
r=l.d.a
r[12]=j[0]
r[13]=j[1]
r[14]=j[2]
l.cI(u,m)}}
G.es.prototype={}
G.f0.prototype={
as:function(a8,a9){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=this,a2=a1.d,a3=a2.a,a4=a3[14],a5=a3[13],a6=a3[12],a7=new T.c(new Float32Array(3))
a7.l(a6,a5,a4)
u=a1.ch
t=u.e
Math.sqrt(a7.aa(0,t).gae())
if(a9>=11e3){if(a1.fx<11e3)a2.cq(u.b,u.a,u.c)
s=(a9-11e3)/5000
if(s>1)return
a2=u.b
a2=a2.q(0,t.aa(0,a2).a2(s))
t=u.a
a7=new Float32Array(4)
r=new T.bB(a7)
r.t(u.d)
q=t.a
a7[0]=a7[0]-q[0]
a7[1]=a7[1]-q[1]
a7[2]=a7[2]-q[2]
a7[3]=a7[3]-q[3]
a7=new Float32Array(4)
new T.bB(a7).t(r)
a7[3]=a7[3]*s
a7[2]=a7[2]*s
a7[1]=a7[1]*s
a7[0]=a7[0]*s
r=new Float32Array(4)
new T.bB(r).t(t)
r[0]=r[0]+a7[0]
r[1]=r[1]+a7[1]
r[2]=r[2]+a7[2]
r[3]=r[3]+a7[3]
a7=u.c
p=a7.q(0,u.f.aa(0,a7).a2(s))
a6=r[0]
a5=r[1]
a4=r[2]
o=r[3]
n=a6+a6
m=a5+a5
l=a4+a4
k=a6*n
j=a6*m
i=a6*l
h=a5*m
g=a5*l
f=a4*l
e=o*n
d=o*m
c=o*l
b=a2.a
a3[0]=1-(h+f)
a3[1]=j+c
a3[2]=i-d
a3[3]=0
a3[4]=j-c
a3[5]=1-(k+f)
a3[6]=g+e
a3[7]=0
a3[8]=i+d
a3[9]=g-e
a3[10]=1-(k+h)
a3[11]=0
a3[12]=b[0]
a3[13]=b[1]
a3[14]=b[2]
a3[15]=1
a2=p.a
p=a2[0]
a=a2[1]
a0=a2[2]
a3[0]=a3[0]*p
a3[1]=a3[1]*p
a3[2]=a3[2]*p
a3[3]=a3[3]*p
a3[4]=a3[4]*a
a3[5]=a3[5]*a
a3[6]=a3[6]*a
a3[7]=a3[7]*a
a3[8]=a3[8]*a0
a3[9]=a3[9]*a0
a3[10]=a3[10]*a0
a3[11]=a3[11]*a0
a3[12]=a3[12]
a3[13]=a3[13]
a3[14]=a3[14]
a3[15]=a3[15]}else{a2=3.141592653589793+a9*0.0001
a1.dy=a2
a1.dy=C.h.U(a2,6.283185307179586)
a2=C.a.cd(a1.fr,-1.4707963267948965,1.4707963267948965)
a1.fr=a2
a1.bq((a1.dx-a9*0.1)*0.3*2,a1.dy,a2)
a2=a1.fy
a1.d_(a2)
a1.cH(a2)}a1.fx=a9}}
G.a3.prototype={
dZ:function(a,b,c){var u,t,s,r=G.W("street"),q=new T.z(new Float32Array(16))
q.M()
u=r.d
u.h(0,"uModelMatrix",q)
N.O("make floorplan")
t=G.nU(b.e,$.mb())
s=$.j2()
N.O("make floorplan done")
u.h(0,"uTexture",G.eZ(a,"noise",t,s))
u.h(0,"uColor",new T.c(new Float32Array(3)))
this.a=r
r=G.Q("street",a,$.k2(),$.k1())
this.b=r
this.c=G.V("torusknot",r,c)},
e_:function(a,b){var u,t=G.W("wf"),s=new T.z(new Float32Array(16))
s.M()
u=t.d
u.h(0,"uModelMatrix",s)
u.h(0,"uWidth",1.5)
s=new T.c(new Float32Array(3))
s.l(1,1,0)
u.h(0,"uColor",s)
s=new T.l(new Float32Array(4))
s.A(1,0,0,1)
u.h(0,"uColorAlpha",s)
s=new T.l(new Float32Array(4))
s.A(0.1,0,0,1)
u.h(0,"uColorAlpha2",s)
this.a=t
t=G.Q("wf",a,$.j6(),$.j5())
this.b=t
this.c=G.V("wf",t,b)},
dY:function(a,b){var u="building",t=G.W(u),s=new T.z(new Float32Array(16))
s.M()
t.d.h(0,"uModelMatrix",s)
this.a=t
t=G.Q(u,a,$.mh(),$.mg())
this.b=t
this.c=G.V("buildings",t,b)},
dW:function(a,b){var u,t="plasma",s=G.W(t),r=new T.z(new Float32Array(16))
r.M()
u=s.d
u.h(0,"uModelMatrix",r)
u.h(0,"cBlendEquation",$.j1())
this.a=s
s=G.Q(t,a,$.jX(),V.lt(!1))
this.b=s
this.c=G.V(t,s,b)},
dX:function(a,b){var u,t=G.W("wf"),s=new T.z(new Float32Array(16))
s.M()
u=t.d
u.h(0,"uModelMatrix",s)
u.h(0,"uWidth",1.5)
u.h(0,"cBlendEquation",$.j1())
s=new T.l(new Float32Array(4))
s.A(0,0,1,1)
u.h(0,"uColorAlpha",s)
s=new T.l(new Float32Array(4))
s.A(0,0,0.1,0.1)
u.h(0,"uColorAlpha2",s)
this.a=t
t=G.Q("wf",a,$.j6(),$.j5())
this.b=t
this.c=G.V("wf",t,b)},
e0:function(a){var u,t,s,r=G.W("portal"),q=new T.z(new Float32Array(16))
q.M()
u=r.d
u.h(0,"uModelMatrix",q)
u.h(0,"uTime",0)
u.h(0,"uPointSize",300)
this.a=r
r=this.b=G.Q("portal",a,$.lQ(),$.lB())
t=R.kY(r,!0,20,1024,64,6)
P.P("TOROS: "+t.k(0))
s=G.kJ(t.a,r.d,0,r.e.x)
s.ao(t.ch)
s.ah("aNormal",t.cy.i(0,"aNormal"),3)
this.c=s},
dU:function(a){var u,t=G.W("finale"),s=new T.z(new Float32Array(16))
s.M()
u=t.d
u.h(0,"uModelMatrix",s)
u.h(0,"uTransformationMatrix",new T.z(new Float32Array(16)))
u.h(0,"uTime",0)
this.a=t
t=G.Q("finale",a,$.jX(),V.lt(!1))
this.b=t
this.c=R.kY(t,!0,20,128,16,4)},
dV:function(a,b,c){var u=G.Q("fractal",a,$.lR(),$.lD())
this.b=u
this.c=G.V("quad",u,B.cS(1))
this.a=G.W("fractal")
return},
e1:function(a,b,c){var u=G.Q("sky",a,$.jR(),$.lC())
this.b=u
this.c=G.V("quad",u,B.cS(1))
this.a=G.W("sky")},
e2:function(a,b,c){var u=G.Q("sky2",a,$.jR(),$.lE())
this.b=u
this.c=G.V("quad",u,B.cS(1))
this.a=G.W("sky")},
n:function(a,b){this.b.n(this.c,H.b([b,this.a],[G.F]))}}
G.h6.prototype={
n:function(a,b){var u,t,s=this
if(C.b.U(s.d,3)===0)s.r.bO(!1,null);++s.d
s.x.Z(17664,0,0,12800,960)
u=s.r
t=[G.F]
u.x.n(u.ch,H.b([u.Q],t))
s.y.Z(17664,0,0,s.e,s.f)
s.b.n(s.c,H.b([b,s.a],t))}}
G.jq.prototype={
n:function(a,b){var u,t=this,s=t.d,r=t.e
t.f.Z(17664,0,0,s,r)
u=[G.F]
t.x.n(t.c,H.b([b,t.r,t.a],u))
t.y.Z(17664,0,0,s,r)
t.b.n(t.c,H.b([b,t.r,t.a],u))}}
G.h7.prototype={
e5:function(a,b,c,d,e,f,g){var u,t,s,r,q,p,o,n,m,l=this,k=P.h,j=G.jm(a,b,666,e.a,f,g,H.b(["delta","alpha"],[k]),$.j3().i(0,"sketch"))
l.f=G.eR(a,l.d,l.e)
u=new T.c(new Float32Array(3))
u.l(2,-1.2,0.5)
t=$.jN()
s=$.jM()
r=new Float32Array(16)
q=new Float32Array(16)
p=new T.c(new Float32Array(3))
o=new T.c(new Float32Array(3))
p.t(t)
o.t(s)
s=H.b([],[G.bW])
t=new Float32Array(64)
n=new Float32Array(4)
s.push(new G.cz(u,new T.z(r),new T.z(q),1,p,o,"dir"))
l.r=new G.eX(s,t,n,P.D(k,P.x),"illumination")
l.y=new G.ai(a,null,null)
l.x=G.Q("sketch-prep",a,$.k_(),$.jZ())
l.b=G.Q("final",a,$.k0(),$.jY())
P.P(">>>>>>> "+j.k(0))
m=G.kG(a,b)
for(k=j.a,t=k.gF(k),t=t.gD(t),s=l.z;t.p();){r=t.gv(t)
q=new T.z(new Float32Array(16))
q.M()
p=r.d
p.h(0,"uModelMatrix",q)
p.h(0,"uShininess",10)
p.h(0,"uTexture2",l.f.c)
p.h(0,"uTexture",m)
s.h(0,r,G.V("",l.b,k.i(0,r)))}},
n:function(a,b){var u,t,s,r,q=this,p=q.d,o=q.e
q.f.Z(17664,0,0,p,o)
for(u=q.z,t=u.gF(u),t=t.gD(t),s=[G.F];t.p();){r=t.gv(t)
q.x.n(u.i(0,r),H.b([b,q.r,r],s))}q.y.Z(17664,0,0,p,o)
for(p=u.gF(u),p=p.gD(p);p.p();){o=p.gv(p)
q.b.n(u.i(0,o),H.b([b,q.r,o],s))}}}
G.h4.prototype={
e3:function(a,b,c,d,e,f,g){var u,t,s,r,q,p,o=this
o.r=new G.ai(a,null,null)
o.b=G.Q("final",a,$.mj(),$.mi())
u=G.jm(a,b,666,e.a,f,g,H.b(["delta","alpha"],[P.h]),$.j3().i(0,"night"))
P.P(">>>>>>> "+u.k(0))
for(t=u.a,s=t.gF(t),s=s.gD(s),r=o.f;s.p();){q=s.gv(s)
p=new T.z(new Float32Array(16))
p.M()
q.d.h(0,"uModelMatrix",p)
r.h(0,q,G.V("",o.b,t.i(0,q)))}},
n:function(a,b){var u,t,s,r,q=this
q.r.Z(17664,0,0,q.d,q.e)
for(u=q.f,t=u.gF(u),t=t.gD(t),s=[G.F];t.p();){r=t.gv(t)
q.b.n(u.i(0,r),H.b([b,r],s))}}}
G.h5.prototype={
e4:function(a,b,c,d,e,f,g){var u,t,s,r,q,p,o,n=this
n.r=new G.ai(a,null,null)
n.b=G.Q("final",a,$.j6(),$.j5())
u=G.jm(a,b,666,e.a,f,g,H.b(["delta","alpha"],[P.h]),$.j3().i(0,"wireframe"))
P.P(">>>>>>> "+u.k(0))
for(t=u.a,s=t.gF(t),s=s.gD(s),r=n.f;s.p();){q=s.gv(s)
p=new T.z(new Float32Array(16))
p.M()
o=q.d
o.h(0,"uModelMatrix",p)
o.h(0,"uWidth",1.5)
p=new Float32Array(3)
p[0]=1
p[1]=1
p[2]=0
o.h(0,"uColor",new T.c(p))
p=new Float32Array(4)
p[3]=1
p[2]=0
p[1]=0
p[0]=1
o.h(0,"uColorAlpha",new T.l(p))
p=new Float32Array(4)
p[3]=1
p[2]=0
p[1]=0
p[0]=0.1
o.h(0,"uColorAlpha2",new T.l(p))
r.h(0,q,G.V("",n.b,t.i(0,q)))}},
n:function(a,b){var u,t,s,r,q=this
q.r.Z(17664,0,0,q.d,q.e)
for(u=q.f,t=u.gF(u),t=t.gD(t),s=[G.F];t.p();){r=t.gv(t)
q.b.n(u.i(0,r),H.b([b,r],s))}}}
G.ee.prototype={
bH:function(a,b,c,d,e){var u,t,s,r,q,p,o,n,m,l,k,j,i
e.cx=d
e.aD(0,c,b,$.e5().value)
u=new Float32Array(16)
t=new T.z(u)
t.M()
s=a/500
r=Math.cos(s)
q=Math.sin(s)
s=u[0]
p=u[4]
o=u[1]
n=u[5]
m=u[2]
l=u[6]
k=u[3]
j=u[7]
i=-q
u[0]=s*r+p*q
u[1]=o*r+n*q
u[2]=m*r+l*q
u[3]=k*r+j*q
u[4]=s*i+p*r
u[5]=o*i+n*r
u[6]=m*i+l*r
u[7]=k*i+j*r
t.aM(e.fr)
this.cy.a.d.h(0,"uModelMatrix",t)},
bP:function(a,b,c,d,e,f,g,h){switch(a){case"wireframe-orbit":b.x=g
g.dx=3000
g.as(0,c)
break
case"night-orbit":b.x=g
g.dx=3000
g.as(0,c)
break
case"wireframe-outside":case"night-outside":case"sketch-outside":f.cx=150
b.x=f
f.aD(0,c,d,$.e5().value)
break
case"plasma-inside":case"wireframe-inside-hexagon":case"wireframe-inside":case"wireframe-inside-varying-width":case"gol-inside":case"gol2-inside":case"fractal-inside":f.cx=1
b.x=f
f.aD(0,c,d,$.e5().value)
break
case"finale":h.cx=c/1000
h.as(0,c)
b.x=h
break}},
aR:function(a,b,c,d){var u,t,s,r=this,q="uTime",p="wireframe-inside-varying-width",o="wireframe-inside-hexagon",n="uWidth"
r.cy.a.d.h(0,q,d)
r.db.a.d.h(0,q,d/1000)
if(a===p||a===o){u=Math.sin(d/2000)*10+11
r.y.a.d.h(0,n,u)
r.z.a.d.h(0,n,u)}else{r.y.a.d.h(0,n,2.5)
r.z.a.d.h(0,n,2.5)}r.x.a.d.h(0,q,d/5000)
switch(a){case"wireframe-outside":r.b.n(b,c)
t=r.a
s=[G.F]
t.b.n(t.c,H.b([c,t.a],s))
t=r.dx
t.b.n(t.c,H.b([c,t.a],s))
t=r.cy
t.b.n(t.c,H.b([c,t.a],s))
break
case"wireframe-orbit":r.b.n(b,c)
t=r.a
t.b.n(t.c,H.b([c,t.a],[G.F]))
break
case"plasma-inside":r.b.n(b,c)
t=r.x
s=[G.F]
t.b.n(t.c,H.b([c,t.a],s))
t=r.cy
t.b.n(t.c,H.b([c,t.a],s))
break
case"wireframe-inside-hexagon":r.b.n(b,c)
t=r.z
s=[G.F]
t.b.n(t.c,H.b([c,t.a],s))
t=r.cy
t.b.n(t.c,H.b([c,t.a],s))
break
case"wireframe-inside":case"wireframe-inside-varying-width":r.b.n(b,c)
t=r.y
s=[G.F]
t.b.n(t.c,H.b([c,t.a],s))
t=r.cy
t.b.n(t.c,H.b([c,t.a],s))
break
case"gol-inside":r.Q.n(b,c)
t=r.cy
t.b.n(t.c,H.b([c,t.a],[G.F]))
break
case"gol2-inside":r.ch.n(b,c)
t=r.cy
t.b.n(t.c,H.b([c,t.a],[G.F]))
break
case"fractal-inside":t=r.cx
s=[G.F]
t.b.n(t.c,H.b([c,t.a],s))
t=r.cy
t.b.n(t.c,H.b([c,t.a],s))
break
case"sketch-outside":r.f.n(b,c)
t=r.a
s=[G.F]
t.b.n(t.c,H.b([c,t.a],s))
t=r.dx
t.b.n(t.c,H.b([c,t.a],s))
t=r.cy
t.b.n(t.c,H.b([c,t.a],s))
break
case"night-outside":r.d.n(b,c)
t=r.a
s=[G.F]
t.b.n(t.c,H.b([c,t.a],s))
t=r.dy
t.b.n(t.c,H.b([c,t.a],s))
t=r.cy
t.b.n(t.c,H.b([c,t.a],s))
break
case"night-orbit":r.d.n(b,c)
t=r.a
s=[G.F]
t.b.n(t.c,H.b([c,t.a],s))
t=r.dy
t.b.n(t.c,H.b([c,t.a],s))
break
case"finale":t=r.db
s=[G.F]
t.b.n(t.c,H.b([c,t.a],s))
t=r.dy
t.b.n(t.c,H.b([c,t.a],s))
break}}}
G.cV.prototype={}
G.iV.prototype={
$1:function(a){var u,t,s,r,q,p,o,n,m,l=this,k=l.a,j=k.a
k.a=a+0
u=$.jV()
if(u.value!=k.c){k.b=a
l.b.dy=0
k.c=u.value}t=a-k.b
s=$.jT().value
if(s==="manual-camera"){s=l.c
r=l.d
s.x=r
r.as(0,a-j)
l.e.aR(u.value,l.f,s,t)}else if(s==="demo"){j=$.jU()
u=j.ended
if(u||j.currentTime===0){P.P("Music started "+H.e(u)+" "+H.e(j.currentTime))
W.lv(j.play(),null)}else{t=1000*j.currentTime
for(j=$.m0(),q=0;q<7;++q){p=j[q]
u=p.b
if(t<u){$.e5().selectedIndex=p.d/3|0
j=l.e
s=p.c
r=p.e
o=l.r
j.bH(t,u,s,r,o)
u=p.a
n=l.c
j.bP(u,n,t,s,r,o,l.b,l.x)
j.aR(u,l.f,n,t)
$.jV().value=u
break}t-=u}}}else{m=J.mr(s,"inside")?1:150
j=l.e
s=l.r
j.bH(t,1e4,1,m,s)
r=l.c
j.bP(u.value,r,t,1,m,s,l.b,l.x)
j.aR(u.value,l.f,r,t)}j=$.lZ()
u=C.a.C(t)
if(Math.abs(u)<=864e13)s=!1
else s=!0
if(s)H.aa(P.eh("DateTime is outside valid range: "+u))
j.textContent=N.l0(new P.bq(u,!0))
C.ab.gez(window).cX(l,-1)
l.y.e9(k.a)}}
G.iW.prototype={
$1:function(a){var u
N.O("key pressed "+H.e(a.which)+" "+J.ka(W.iG(a.target)).k(0))
if(J.ka(W.iG(a.target)).O(0,C.a8))return
if(P.o8(H.b([a.which],[P.C]))===" "){u=$.jU()
if(u.paused||u.currentTime===0)W.lv(u.play(),null)
else u.pause()}}}
G.iX.prototype={
$1:function(a){a.preventDefault()
a.stopPropagation()
self.playSong()
return!1}}
D.fj.prototype={
$4:function(a,b,c,d){var u=this.a
u.moveTo(a,b)
u.lineTo(c,d)}}
D.R.prototype={}
G.hL.prototype={
ea:function(a,b,c){var u,t=this.a*this.b,s=new Uint8Array(t)
this.c=s
for(u=0;u<t;++u)s[u]=0},
bG:function(a,b,c){var u,t,s,r=this.a,q=C.b.U(a,r)+C.b.U(b,this.b)*r
r=this.c
u=r[q]
t=u&15
s=c&15
if(s===t)r[q]=c|u
else if(t<s)r[q]=c},
bE:function(a,b){var u,t,s,r,q,p=C.a.C(a.a),o=C.a.C(a.b),n=C.a.C(a.c),m=C.a.C(a.d)
for(u=this.a,t=this.c,s=0;s<n;++s)for(r=p+s,q=0;q<m;++q)t[r+(o+q)*u]=b},
ad:function(a,b,c,d,e){var u,t,s
for(u=e|d,t=(d&48)!==0,s=b;s<c;++s)if(t)this.bG(s,a,u)
else this.bG(a,s,u)}}
G.cU.prototype={
dT:function(a,b,c,d,e,f){var u,t,s,r=this
r.b=d
r.c=0
if(C.b.U(d,2)===1){--d
r.c=1}u=C.a.G(Math.max(2,d-10),2)
r.d=u
r.e=C.a.G(d-2*u,2)
t=r.a
""+t
""+e
""+r.b
""+r.c
""+r.e
""+b
""+c
s=t+(r.d-1)
for(;t<s;++t)f.ad(t,0,e,b,2);++s
for(;t<s;++t)f.ad(t,0,e,b,1)
s+=r.e
for(;t<s;++t)f.ad(t,0,e,b,4)
s+=r.c
for(;t<s;++t)f.ad(t,0,e,b,3)
s+=r.e
for(;t<s;++t)f.ad(t,0,e,c,4);++s
for(;t<s;++t)f.ad(t,0,e,c,1)
s+=r.d-1
for(;t<s;++t)f.ad(t,0,e,c,2)},
k:function(a){return""+this.a+": "+this.b}}
G.cw.prototype={
k:function(a){var u=this
return"plot: "+H.e(u.a)+" "+H.e(u.b)+"  "+u.c+" "+u.d+" "+H.e(u.e)}}
G.eO.prototype={
dH:function(a,b,c,d,e){var u,t,s,r=G.n9(a,25,d-25-5)
for(u=this.b,t=this.e,s=0;s<r.length;s+=2)u.push(G.kV(r[s],b,c,r[s+1],e,t))
N.O("road count: "+u.length)},
dI:function(a,b,c,d,e){var u,t,s=7+a.m(6),r=C.b.G(s,2),q=[d-r,s,(d/2|0)-r,s,(d/4|0)-r,s,C.b.G(d*3,4)-r,s]
for(r=this.b,u=this.e,t=0;t<8;t+=2)r.push(G.kV(q[t],b,c,q[t+1],e,u))},
dG:function(a1){var u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=this,a0=new S.y(0,0,0,0)
for(u=a.c,t=u-12,s=a.d,r=s-12,q=a.a,p=a.e,o=p.a,n=0;n<t;++n)for(m=u-n,l=0;l<r;++l){k=l*o
if(p.c[n+k]!==0)continue
j=12+a1.m(20)
i=12+a1.m(20)
if(n+j>u)j=m
if(l+i>s)i=s-l
for(h=p.c,g=l;f=l+i,g<f;++g){if(h[n+g*o]===0)continue
e=f-g
if(e>0){i-=e
j-=e}}if(j<9)continue
if(i<9)continue
for(d=n;f=n+j,d<f;++d){if(h[d+k]===0)continue
e=f-d
if(e>0){i-=e
j-=e}}if(j<9)continue
if(i<9)continue
c=10+a1.m(15)
a0.a=n
a0.b=l
a0.c=j
a0.d=i
if(a1.m(4)===1){c=45+a1.m(10)
switch(a1.m(3)){case 0:b=9
break
case 1:b=10
break
case 2:b=11
break
default:b=12}}else b=12
k=new G.cw(a0,1,c,b)
h=new S.y(a0.a+1,a0.b+1,a0.c-2,a0.d-2)
k.b=h
p.bE(a0,8)
p.bE(h,b)
q.push(k)}},
k:function(a){return"Floorplan buildings["+this.a.length+"]"}}
S.y.prototype={
dB:function(){var u=this
return new S.y(u.a,u.b,u.c,u.d)},
av:function(a){var u,t=this
t.a-=a
t.b-=a
u=2*a
t.c=t.c+u
t.d+=u},
k:function(a){var u=this
return"Rect("+H.e(u.a)+", "+H.e(u.b)+", "+H.e(u.c)+", "+H.e(u.d)+")"}}
S.d3.prototype={}
S.a_.prototype={
dO:function(a,b,c){var u=new S.fT(b)
this.aq(H.b([u.$2(a.a,a.b),u.$2(a.a,a.b+a.d),u.$2(a.a+a.c,a.b+a.d),u.$2(a.a+a.c,a.b)],[T.c]),!0)
this.Y(c)},
dN:function(a,b,c){var u=new S.fR(b)
this.aq(H.b([u.$2(a.a,a.b),u.$2(a.a,a.b+a.d),u.$2(a.a+a.c,a.b+a.d),u.$2(a.a+a.c,a.b)],[T.c]),!0)
this.Y(c)},
dM:function(a,b,c){var u=new S.fQ(b)
this.aq(H.b([u.$2(a.a,a.b),u.$2(a.a,a.b+a.d),u.$2(a.a+a.c,a.b+a.d),u.$2(a.a+a.c,a.b)],[T.c]),!1)
this.Y(c)},
dQ:function(a,b,c){var u=new S.fV(b)
this.aq(H.b([u.$2(a.b,a.a),u.$2(a.b+a.d,a.a),u.$2(a.b+a.d,a.a+a.c),u.$2(a.b,a.a+a.c)],[T.c]),!0)
this.Y(c)},
dP:function(a,b,c){var u=new S.fU(b)
this.aq(H.b([u.$2(a.b,a.a),u.$2(a.b+a.d,a.a),u.$2(a.b+a.d,a.a+a.c),u.$2(a.b,a.a+a.c)],[T.c]),!1)
this.Y(c)},
aq:function(a,b){var u=this.a
if(b)C.c.S(u,a)
else C.c.S(u,new H.cT(a,[H.S(a,0)]))},
Y:function(a){var u,t=this.b,s=a.a,r=a.c,q=a.b,p=new T.p(new Float32Array(2))
p.B(s+r,q)
t.push(p)
p=a.a
q=a.c
r=a.b
s=a.d
u=new T.p(new Float32Array(2))
u.B(p+q,r+s)
t.push(u)
u=a.a
s=a.b
r=a.d
q=new T.p(new Float32Array(2))
q.B(u,s+r)
t.push(q)
q=a.a
r=a.b
s=new T.p(new Float32Array(2))
s.B(q,r)
t.push(s)}}
S.fT.prototype={
$2:function(a,b){var u=new T.c(new Float32Array(3))
u.l(a,this.a,b)
return u}}
S.fR.prototype={
$2:function(a,b){var u=new T.c(new Float32Array(3))
u.l(a,b,this.a)
return u}}
S.fQ.prototype={
$2:function(a,b){var u=new T.c(new Float32Array(3))
u.l(a,b,this.a)
return u}}
S.fV.prototype={
$2:function(a,b){var u=new T.c(new Float32Array(3))
u.l(this.a,a,b)
return u}}
S.fU.prototype={
$2:function(a,b){var u=new T.c(new Float32Array(3))
u.l(this.a,a,b)
return u}}
S.G.prototype={}
S.c6.prototype={
dw:function(a,b,c){var u,t,s=this.a.af(0,c.a,this.gcC()),r=s.d
a.toString
u=new T.c(new Float32Array(3))
u.t(a)
r.push(u)
s.dt("aColor",c.b)
t=s.e.i(0,"aPointSize");(t&&C.c).w(t,b)},
u:function(a,b){var u,t=this,s=t.a.af(0,b.a,t.gb7()),r=a.a,q=s.d.length,p=s.c
p.push(new G.T(q,q+1,q+2,q+3))
s.ap(r)
s.bx("aTexUV",a.b)
p=b.b
u=[T.c]
s.by("aColor",H.b([p,p,p,p],u))
s.bz("aCenter",t.e)
p=t.r
G.kL(r[0],r[1],r[2],t.f,p)
s.an("aNormal",H.b([p,p,p,p],u))},
bB:function(a,b){var u,t,s=this,r=s.a.af(0,b.a,s.gb7()),q=a.a,p=r.d.length
r.b.push(new G.a7(p,p+1,p+2))
r.ap(q)
r.bx("aTexUV",a.b)
u=b.b
t=[T.c]
r.by("aColor",H.b([u,u,u],t))
r.bz("aCenter",s.d)
u=s.r
G.kL(q[0],q[1],q[2],s.f,u)
r.an("aNormal",H.b([u,u,u],t))},
eV:function(){var u,t,s=new G.a0(!1,H.b([],[G.a7]),H.b([],[G.T]),H.b([],[T.c]),P.D(P.h,[P.j,,]))
for(u=this.b,t=0;t<4;++t)s.X(u[t])
return s},
eW:function(){var u,t,s=new G.a0(!0,H.b([],[G.a7]),H.b([],[G.T]),H.b([],[T.c]),P.D(P.h,[P.j,,]))
for(u=this.c,t=0;!1;++t)s.X(u[t])
return s},
k:function(a){var u,t,s=H.b([],[P.h])
for(u=this.a,u=u.gda(u),u=u.gD(u);u.p();){t=u.gv(u)
s.push(J.bO(t))
s.push("manifold: "+t.dJ())}return C.c.ak(s,"\n")}}
V.fb.prototype={
bO:function(a,b){var u=this,t=u.f[(1+u.cx)%2]
u.Q.d.h(0,"uState",t)
u.z.d.h(0,"uState",t)
u.r[C.b.U(u.cx,2)].Z(17664,0,0,u.b,u.c)
u.y.n(u.ch,H.b([u.z],[G.F]));++u.cx},
bM:function(a,b){var u,t=this.b,s=this.c,r=t*s*4,q=new Uint8Array(r)
for(u=0;u<r;u+=4){q[u]=a.m(100)<b?-5:0
q[u+1]=0
q[u+2]=0
q[u+3]=255}""+t
""+s
t=this.f
t[0].ax(q,6408,5121)
t[1].ax(q,6408,5121)},
bN:function(a,b){var u,t,s,r,q,p,o=[P.C],n=H.b([0,0,0],o),m=H.b([255,255,255],o),l=new Uint8Array(128)
for(u=0;u<32;++u)V.t(l,u,128,n)
if(b==="random"){t=P.ny(32,!1,P.ae)
for(u=0;u<32;++u)if(a.aG()){t[u]=!0
V.t(l,u,128,m)}s=new P.bE("")
for(u=0;u<9;++u)if(t[u+9])s.a+=H.kS(48+u)
s.a+="/"
for(u=0;u<9;++u)if(t[u])s.a+=H.kS(48+u)
o=s.a
P.P("rule "+(o.charCodeAt(0)==0?o:o))}else for(o=b.length,r=9,u=0;u<o;++u){q=b[u]
if(q==="/")r=0
p=P.nT("[0-8]")
if(p.b.test(q))V.t(l,r+P.p1(q),128,m)}this.d.ax(l,6408,5121)},
bL:function(a,b,c){var u
switch(a){case"Outline":u=V.o3(b,c)
break
case"Mono":u=V.o2(b,c)
break
case"Blur2":u=V.o0(b,c)
break
case"Blur3":u=V.o1(b,c)
break
default:u=V.o4(b,c)
break}this.e.ax(u,6408,5121)}}
Q.hu.prototype={
$2:function(a,b){var u=this
B.d2(a,u.a,u.b,u.c,u.d,b)}}
Q.ht.prototype={
$2:function(a,b){return this.a[C.b.U(a,this.b)][C.b.U(b,this.c)*2]}}
E.b7.prototype={
dR:function(a,b,c){var u,t,s,r=this
if(b===0){u=255*c
r.a=C.a.C(u)
r.b=C.a.C(u)
r.c=C.a.C(u)
return}t=c<0.5?c*(1+b):c+b-c*b
s=2*c-t
r.a=C.a.C(E.jH(s,t,a+0.3333333333333333)*255)
r.b=C.a.C(E.jH(s,t,a)*255)
r.c=C.a.C(E.jH(s,t,a-0.3333333333333333)*255)},
P:function(){var u=this.a,t=this.b,s=this.c,r=new T.c(new Float32Array(3))
r.l(u/255,t/255,s/255)
return r},
a4:function(){var u=this
return"rgba("+H.e(u.a)+", "+H.e(u.b)+", "+H.e(u.c)+", "+H.e(u.d)+")"}}
K.h_.prototype={}
K.bm.prototype={}
K.d1.prototype={};(function aliases(){var u=J.a.prototype
u.dk=u.k
u=J.cI.prototype
u.dm=u.k
u=H.b1.prototype
u.dn=u.cD
u.dq=u.cE
u.dr=u.cF
u=P.aX.prototype
u.dl=u.aI
u=W.ac.prototype
u.aO=u.a_
u=W.dA.prototype
u.ds=u.ab})();(function installTearOffs(){var u=hunkHelpers._static_2,t=hunkHelpers._static_1,s=hunkHelpers._static_0,r=hunkHelpers.installInstanceTearOff,q=hunkHelpers.installStaticTearOff,p=hunkHelpers._instance_1u,o=hunkHelpers._instance_0u
u(J,"oA","nw",13)
t(P,"oI","og",0)
t(P,"oJ","oh",0)
t(P,"oK","oi",0)
s(P,"ll","oG",14)
r(P.a9.prototype,"gel",0,1,null,["$2","$1"],["a5","em"],8,0)
u(P,"oL","oy",15)
t(W,"oW","kv",16)
q(W,"oX",4,null,["$4"],["on"],6,0)
q(W,"oY",4,null,["$4"],["oo"],6,0)
t(G,"p7","jG",17)
p(R.cR.prototype,"gf2","cR",12)
var n
o(n=S.c6.prototype,"gb7","eV",5)
o(n,"gcC","eW",5)
t(K,"e4","nd",7)
t(K,"pg","nJ",7)})();(function inheritance(){var u=hunkHelpers.mixin,t=hunkHelpers.inherit,s=hunkHelpers.inheritMany
t(P.x,null)
s(P.x,[H.jj,J.a,J.ei,P.aX,H.bx,P.f2,H.cD,H.hA,P.br,H.bn,H.dF,H.b9,P.Y,H.fd,H.ff,H.f4,P.iC,P.hS,P.i0,P.a9,P.d6,P.hh,P.hi,P.bj,P.iF,P.it,P.ik,P.dl,P.dm,P.q,P.ae,P.bq,P.a5,P.bS,P.cY,P.hZ,P.eQ,P.bs,P.j,P.cK,P.Z,P.as,P.h,P.bE,W.ex,W.hU,W.cb,W.K,W.cP,W.dA,W.iy,W.cE,W.hV,W.aG,W.is,W.dQ,P.dP,P.ig,P.il,P.c2,P.bC,P.im,P.aV,G.fA,G.eu,G.ai,G.a7,G.T,G.aU,G.a0,G.d0,G.d_,G.r,G.cW,G.bG,G.bF,R.hd,D.f7,D.fv,T.aE,T.z,T.bB,T.p,T.c,T.l,F.eq,F.ep,F.je,F.h0,F.er,F.eo,G.es,G.a3,G.ee,G.cV,D.R,G.hL,G.cU,G.cw,G.eO,S.y,S.d3,S.a_,S.G,S.c6,V.fb,E.b7,K.h_,K.bm,K.d1])
s(J.a,[J.cF,J.f3,J.cI,J.aY,J.aZ,J.b_,H.bY,H.c_,W.f,W.ec,W.cv,W.cx,W.aq,W.H,W.d8,W.ab,W.eB,W.eC,W.da,W.cC,W.dc,W.eE,W.i,W.de,W.aD,W.eW,W.dg,W.bt,W.fi,W.fp,W.dn,W.dp,W.aF,W.dq,W.dt,W.aH,W.dx,W.dz,W.aJ,W.dB,W.aK,W.dG,W.at,W.dJ,W.hr,W.aM,W.dL,W.hy,W.hH,W.dR,W.dT,W.dV,W.dX,W.dZ,P.bv,P.di,P.bz,P.dv,P.fP,P.dH,P.bH,P.dN,P.ej,P.d7,P.fY,P.fZ,P.dD])
s(J.cI,[J.fN,J.aO,J.b0])
t(J.ji,J.aY)
s(J.aZ,[J.cH,J.cG])
s(P.aX,[H.eH,H.fm,H.d5])
s(H.eH,[H.cJ,H.fe])
t(H.eI,H.fm)
s(P.f2,[H.fn,H.hJ])
s(H.cJ,[H.fo,H.cT])
s(P.br,[H.fJ,H.f6,H.hF,H.et,H.h3,P.c1,P.ao,P.hG,P.hE,P.c7,P.ev,P.eA])
s(H.bn,[H.j0,H.ho,H.f5,H.iR,H.iS,H.iT,P.hO,P.hN,P.hP,P.hQ,P.iD,P.i1,P.i9,P.i5,P.i6,P.i7,P.i3,P.i8,P.i2,P.ic,P.id,P.ib,P.ia,P.hj,P.hk,P.iJ,P.iq,P.ip,P.ir,P.ij,P.fl,P.eF,P.eG,W.iZ,W.j_,W.eJ,W.fr,W.ft,W.h2,W.hg,W.hK,W.hY,W.fI,W.fH,W.iu,W.iv,W.iB,W.iE,P.iK,P.el,G.eS,G.eT,G.eU,G.eV,B.hw,B.hv,D.f8,D.f9,D.fw,D.fx,D.fy,D.fz,A.iQ,F.ed,G.eL,G.eK,G.iV,G.iW,G.iX,D.fj,S.fT,S.fR,S.fQ,S.fV,S.fU,Q.hu,Q.ht])
s(H.ho,[H.hc,H.bP])
t(P.fk,P.Y)
s(P.fk,[H.b1,W.hR])
t(H.cM,H.c_)
s(H.cM,[H.cd,H.cf])
t(H.ce,H.cd)
t(H.bZ,H.ce)
t(H.cg,H.cf)
t(H.cN,H.cg)
t(H.cL,H.bZ)
s(H.cN,[H.fB,H.fC,H.fD,H.fE,H.fF,H.cO,H.fG])
s(P.hS,[P.hM,P.iz])
t(P.io,P.iF)
s(H.b1,[P.jy,P.ii])
t(P.dk,P.it)
t(P.fh,P.dm)
s(P.a5,[P.az,P.C])
s(P.ao,[P.c4,P.f_])
s(W.f,[W.L,W.eN,W.aI,W.ch,W.aL,W.au,W.cj,W.hI,W.ca,P.em,P.bk])
s(W.L,[W.ac,W.aT,W.bR])
s(W.ac,[W.n,P.k])
s(W.n,[W.ef,W.eg,W.bl,W.aR,W.cA,W.eP,W.bV,W.b8,W.cZ,W.hm,W.hn,W.c8])
t(W.ew,W.aq)
t(W.bp,W.d8)
s(W.ab,[W.ey,W.ez])
t(W.db,W.da)
t(W.cB,W.db)
t(W.dd,W.dc)
t(W.eD,W.dd)
s(P.fh,[W.i_,W.a4])
t(W.aC,W.cv)
t(W.df,W.de)
t(W.eM,W.df)
t(W.dh,W.dg)
t(W.bU,W.dh)
t(W.aN,W.i)
s(W.aN,[W.bu,W.X])
t(W.fq,W.dn)
t(W.fs,W.dp)
t(W.dr,W.dq)
t(W.fu,W.dr)
t(W.du,W.dt)
t(W.c0,W.du)
t(W.dy,W.dx)
t(W.fO,W.dy)
t(W.h1,W.dz)
t(W.ci,W.ch)
t(W.h8,W.ci)
t(W.dC,W.dB)
t(W.ha,W.dC)
t(W.hf,W.dG)
t(W.dK,W.dJ)
t(W.hp,W.dK)
t(W.ck,W.cj)
t(W.hq,W.ck)
t(W.dM,W.dL)
t(W.hx,W.dM)
t(W.ba,W.X)
t(W.dS,W.dR)
t(W.hT,W.dS)
t(W.d9,W.cC)
t(W.dU,W.dT)
t(W.ie,W.dU)
t(W.dW,W.dV)
t(W.ds,W.dW)
t(W.dY,W.dX)
t(W.iw,W.dY)
t(W.e_,W.dZ)
t(W.ix,W.e_)
t(W.hW,W.hR)
t(W.bb,P.hh)
t(W.aP,W.bb)
t(W.hX,P.hi)
t(W.iA,W.dA)
t(P.aj,P.im)
t(P.dj,P.di)
t(P.fa,P.dj)
t(P.dw,P.dv)
t(P.fK,P.dw)
t(P.c5,P.k)
t(P.dI,P.dH)
t(P.hl,P.dI)
t(P.dO,P.dN)
t(P.hz,P.dO)
t(P.ek,P.d7)
t(P.fL,P.bk)
t(P.dE,P.dD)
t(P.hb,P.dE)
s(G.fA,[G.F,G.bW,G.by,G.fX,G.h9])
t(G.cz,G.bW)
s(G.F,[G.eX,G.a8,G.fM])
s(G.bF,[G.hC,G.d4,G.eY])
t(R.cR,G.fM)
t(R.he,R.hd)
s(G.h9,[D.cQ,G.hs,G.f0])
s(G.a3,[G.h6,G.jq,G.h7,G.h4,G.h5])
u(H.cd,P.q)
u(H.ce,H.cD)
u(H.cf,P.q)
u(H.cg,H.cD)
u(P.dm,P.q)
u(W.d8,W.ex)
u(W.da,P.q)
u(W.db,W.K)
u(W.dc,P.q)
u(W.dd,W.K)
u(W.de,P.q)
u(W.df,W.K)
u(W.dg,P.q)
u(W.dh,W.K)
u(W.dn,P.Y)
u(W.dp,P.Y)
u(W.dq,P.q)
u(W.dr,W.K)
u(W.dt,P.q)
u(W.du,W.K)
u(W.dx,P.q)
u(W.dy,W.K)
u(W.dz,P.Y)
u(W.ch,P.q)
u(W.ci,W.K)
u(W.dB,P.q)
u(W.dC,W.K)
u(W.dG,P.Y)
u(W.dJ,P.q)
u(W.dK,W.K)
u(W.cj,P.q)
u(W.ck,W.K)
u(W.dL,P.q)
u(W.dM,W.K)
u(W.dR,P.q)
u(W.dS,W.K)
u(W.dT,P.q)
u(W.dU,W.K)
u(W.dV,P.q)
u(W.dW,W.K)
u(W.dX,P.q)
u(W.dY,W.K)
u(W.dZ,P.q)
u(W.e_,W.K)
u(P.di,P.q)
u(P.dj,W.K)
u(P.dv,P.q)
u(P.dw,W.K)
u(P.dH,P.q)
u(P.dI,W.K)
u(P.dN,P.q)
u(P.dO,W.K)
u(P.d7,P.Y)
u(P.dD,P.q)
u(P.dE,W.K)})();(function constants(){var u=hunkHelpers.makeConstList
C.v=W.bl.prototype
C.y=W.aR.prototype
C.o=W.cx.prototype
C.z=W.bp.prototype
C.M=W.cA.prototype
C.N=J.a.prototype
C.c=J.aY.prototype
C.h=J.cG.prototype
C.b=J.cH.prototype
C.a=J.aZ.prototype
C.j=J.b_.prototype
C.O=J.b0.prototype
C.t=H.cL.prototype
C.S=W.c0.prototype
C.A=J.fN.prototype
C.F=W.cZ.prototype
C.u=J.aO.prototype
C.aa=W.ba.prototype
C.ab=W.ca.prototype
C.w=function getTagFallback(o) {
  var s = Object.prototype.toString.call(o);
  return s.substring(8, s.length - 1);
}
C.G=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.L=function(getTagFallback) {
  return function(hooks) {
    if (typeof navigator != "object") return hooks;
    var ua = navigator.userAgent;
    if (ua.indexOf("DumpRenderTree") >= 0) return hooks;
    if (ua.indexOf("Chrome") >= 0) {
      function confirm(p) {
        return typeof window == "object" && window[p] && window[p].name == p;
      }
      if (confirm("Window") && confirm("HTMLElement")) return hooks;
    }
    hooks.getTag = getTagFallback;
  };
}
C.H=function(hooks) {
  if (typeof dartExperimentalFixupGetTag != "function") return hooks;
  hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag);
}
C.I=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(hooks) {
  var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
  if (userAgent.indexOf("Firefox") == -1) return hooks;
  var getTag = hooks.getTag;
  var quickMap = {
    "BeforeUnloadEvent": "Event",
    "DataTransfer": "Clipboard",
    "GeoGeolocation": "Geolocation",
    "Location": "!Location",
    "WorkerMessageEvent": "MessageEvent",
    "XMLDocument": "!Document"};
  function getTagFirefox(o) {
    var tag = getTag(o);
    return quickMap[tag] || tag;
  }
  hooks.getTag = getTagFirefox;
}
C.J=function(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.x=function(hooks) { return hooks; }

C.k=new P.ig()
C.f=new P.io()
C.P=H.b(u(["*::class","*::dir","*::draggable","*::hidden","*::id","*::inert","*::itemprop","*::itemref","*::itemscope","*::lang","*::spellcheck","*::title","*::translate","A::accesskey","A::coords","A::hreflang","A::name","A::shape","A::tabindex","A::target","A::type","AREA::accesskey","AREA::alt","AREA::coords","AREA::nohref","AREA::shape","AREA::tabindex","AREA::target","AUDIO::controls","AUDIO::loop","AUDIO::mediagroup","AUDIO::muted","AUDIO::preload","BDO::dir","BODY::alink","BODY::bgcolor","BODY::link","BODY::text","BODY::vlink","BR::clear","BUTTON::accesskey","BUTTON::disabled","BUTTON::name","BUTTON::tabindex","BUTTON::type","BUTTON::value","CANVAS::height","CANVAS::width","CAPTION::align","COL::align","COL::char","COL::charoff","COL::span","COL::valign","COL::width","COLGROUP::align","COLGROUP::char","COLGROUP::charoff","COLGROUP::span","COLGROUP::valign","COLGROUP::width","COMMAND::checked","COMMAND::command","COMMAND::disabled","COMMAND::label","COMMAND::radiogroup","COMMAND::type","DATA::value","DEL::datetime","DETAILS::open","DIR::compact","DIV::align","DL::compact","FIELDSET::disabled","FONT::color","FONT::face","FONT::size","FORM::accept","FORM::autocomplete","FORM::enctype","FORM::method","FORM::name","FORM::novalidate","FORM::target","FRAME::name","H1::align","H2::align","H3::align","H4::align","H5::align","H6::align","HR::align","HR::noshade","HR::size","HR::width","HTML::version","IFRAME::align","IFRAME::frameborder","IFRAME::height","IFRAME::marginheight","IFRAME::marginwidth","IFRAME::width","IMG::align","IMG::alt","IMG::border","IMG::height","IMG::hspace","IMG::ismap","IMG::name","IMG::usemap","IMG::vspace","IMG::width","INPUT::accept","INPUT::accesskey","INPUT::align","INPUT::alt","INPUT::autocomplete","INPUT::autofocus","INPUT::checked","INPUT::disabled","INPUT::inputmode","INPUT::ismap","INPUT::list","INPUT::max","INPUT::maxlength","INPUT::min","INPUT::multiple","INPUT::name","INPUT::placeholder","INPUT::readonly","INPUT::required","INPUT::size","INPUT::step","INPUT::tabindex","INPUT::type","INPUT::usemap","INPUT::value","INS::datetime","KEYGEN::disabled","KEYGEN::keytype","KEYGEN::name","LABEL::accesskey","LABEL::for","LEGEND::accesskey","LEGEND::align","LI::type","LI::value","LINK::sizes","MAP::name","MENU::compact","MENU::label","MENU::type","METER::high","METER::low","METER::max","METER::min","METER::value","OBJECT::typemustmatch","OL::compact","OL::reversed","OL::start","OL::type","OPTGROUP::disabled","OPTGROUP::label","OPTION::disabled","OPTION::label","OPTION::selected","OPTION::value","OUTPUT::for","OUTPUT::name","P::align","PRE::width","PROGRESS::max","PROGRESS::min","PROGRESS::value","SELECT::autocomplete","SELECT::disabled","SELECT::multiple","SELECT::name","SELECT::required","SELECT::size","SELECT::tabindex","SOURCE::type","TABLE::align","TABLE::bgcolor","TABLE::border","TABLE::cellpadding","TABLE::cellspacing","TABLE::frame","TABLE::rules","TABLE::summary","TABLE::width","TBODY::align","TBODY::char","TBODY::charoff","TBODY::valign","TD::abbr","TD::align","TD::axis","TD::bgcolor","TD::char","TD::charoff","TD::colspan","TD::headers","TD::height","TD::nowrap","TD::rowspan","TD::scope","TD::valign","TD::width","TEXTAREA::accesskey","TEXTAREA::autocomplete","TEXTAREA::cols","TEXTAREA::disabled","TEXTAREA::inputmode","TEXTAREA::name","TEXTAREA::placeholder","TEXTAREA::readonly","TEXTAREA::required","TEXTAREA::rows","TEXTAREA::tabindex","TEXTAREA::wrap","TFOOT::align","TFOOT::char","TFOOT::charoff","TFOOT::valign","TH::abbr","TH::align","TH::axis","TH::bgcolor","TH::char","TH::charoff","TH::colspan","TH::headers","TH::height","TH::nowrap","TH::rowspan","TH::scope","TH::valign","TH::width","THEAD::align","THEAD::char","THEAD::charoff","THEAD::valign","TR::align","TR::bgcolor","TR::char","TR::charoff","TR::valign","TRACK::default","TRACK::kind","TRACK::label","TRACK::srclang","UL::compact","UL::type","VIDEO::controls","VIDEO::height","VIDEO::loop","VIDEO::mediagroup","VIDEO::muted","VIDEO::preload","VIDEO::width"]),[P.h])
C.Q=H.b(u(["HEAD","AREA","BASE","BASEFONT","BR","COL","COLGROUP","EMBED","FRAME","FRAMESET","HR","IMAGE","IMG","INPUT","ISINDEX","LINK","META","PARAM","SOURCE","STYLE","TITLE","WBR"]),[P.h])
C.R=H.b(u([]),[P.h])
C.q=H.b(u(["bind","if","ref","repeat","syntax"]),[P.h])
C.r=H.b(u(["A::href","AREA::href","BLOCKQUOTE::cite","BODY::background","COMMAND::icon","DEL::cite","FORM::action","IMG::src","INPUT::src","INS::cite","Q::cite","VIDEO::poster"]),[P.h])
C.p=new G.r("",0)
C.d=new G.r("float",0)
C.T=new G.r("float",0)
C.V=new G.r("float",0)
C.W=new G.r("float",0)
C.U=new G.r("float",0)
C.X=new G.r("float",4)
C.B=new G.r("mat3",0)
C.l=new G.r("mat4",0)
C.Y=new G.r("mat4",128)
C.Z=new G.r("mat4",4)
C.a_=new G.r("sampler2DShadow",0)
C.i=new G.r("sampler2D",0)
C.a0=new G.r("samplerCube",0)
C.m=new G.r("vec2",0)
C.a1=new G.r("vec2",0)
C.e=new G.r("vec3",0)
C.C=new G.r("vec3",0)
C.a3=new G.r("vec3",0)
C.a5=new G.r("vec3",0)
C.D=new G.r("vec3",0)
C.a2=new G.r("vec3",0)
C.a4=new G.r("vec3",0)
C.n=new G.r("vec4",0)
C.a7=new G.r("vec4",0)
C.E=new G.r("vec4",0)
C.a6=new G.r("vec4",0)
C.a8=H.ln(W.bV)
C.a9=H.ln(P.Z)
C.ac=new W.hU(W.oW(),[W.ba])})()
var v={mangledGlobalNames:{C:"int",az:"double",a5:"num",h:"String",ae:"bool",Z:"Null",j:"List"},mangledNames:{},getTypeFromName:getGlobalFromName,metadata:[],types:[{func:1,ret:-1,args:[{func:1,ret:-1}]},{func:1,args:[,]},{func:1,ret:P.Z,args:[,]},{func:1,ret:P.Z,args:[,,]},{func:1,ret:-1,args:[,]},{func:1,ret:G.a0},{func:1,ret:P.ae,args:[W.ac,P.h,P.h,W.cb]},{func:1,ret:K.bm,args:[P.bC]},{func:1,ret:-1,args:[P.x],opt:[P.as]},{func:1,ret:P.Z,args:[,],opt:[P.as]},{func:1,ret:[P.a9,,],args:[,]},{func:1,ret:P.ae,args:[,]},{func:1,ret:-1,args:[W.i]},{func:1,ret:P.C,args:[,,]},{func:1,ret:-1},{func:1,ret:P.ae,args:[,,]},{func:1,ret:P.h,args:[W.f]},{func:1,ret:P.C,args:[T.c]}],interceptorsByTag:null,leafTags:null};(function staticFields(){$.ap=0
$.bQ=null
$.kk=null
$.lp=null
$.lj=null
$.lw=null
$.iL=null
$.iU=null
$.jI=null
$.bJ=null
$.cl=null
$.cm=null
$.jz=!1
$.M=C.f
$.bd=[]
$.aB=null
$.jf=null
$.ku=null
$.kt=null
$.cc=P.D(P.h,P.bs)
$.kr=null
$.kq=null
$.kp=null
$.ko=null
$.J=P.fg(["cBlendEquation",C.p,"cDepthWrite",C.p,"cDepthTest",C.p,"cStencilFunc",C.p,"tPosition",C.e,"tSpeed",C.e,"tForce",C.e,"aColor",C.C,"aColorAlpha",C.a6,"aPosition",C.D,"aTexUV",C.a1,"aNormal",C.a2,"aBinormal",C.a3,"aCenter",C.E,"aPointSize",C.d,"aBoneIndex",C.n,"aBoneWeight",C.n,"aTangent",C.a4,"aBitangent",C.a5,"iaRotation",C.n,"iaTranslation",C.e,"iaScale",C.d,"iaColor",C.e,"vColor",C.C,"vTexUV",C.m,"vLightWeighting",C.e,"vNormal",C.e,"vPosition",C.D,"vPositionFromLight",C.a7,"vCenter",C.E,"vDepth",C.T,"uTransformationMatrix",C.l,"uModelMatrix",C.l,"uNormalMatrix",C.B,"uConvolutionMatrix",C.B,"uPerspectiveViewMatrix",C.l,"uLightPerspectiveViewMatrix",C.l,"uShadowMap",C.a_,"uTexture",C.i,"uTexture2",C.i,"uTexture3",C.i,"uTexture4",C.i,"uSpecularMap",C.i,"uNormalMap",C.i,"uBumpMap",C.i,"uDepthMap",C.i,"uCubeTexture",C.a0,"uAnimationTable",C.i,"uTime",C.U,"uCameraNear",C.d,"uCameraFar",C.d,"uFogNear",C.d,"uFogFar",C.d,"uPointSize",C.d,"uScale",C.d,"uAngle",C.d,"uCanvasSize",C.m,"uCenter2",C.m,"uCutOff",C.d,"uShininess",C.d,"uShadowBias",C.d,"uOpacity",C.d,"uColor",C.e,"uAmbientDiffuse",C.e,"uColorEmissive",C.e,"uColorSpecular",C.e,"uColorDiffuse",C.e,"uColorAlpha",C.n,"uColorAlpha2",C.n,"uEyePosition",C.e,"uMaterial",C.l,"uRange",C.m,"uDirection",C.m,"uBoneMatrices",C.Y,"uLightDescs",C.Z,"uLightCount",C.d,"uLightTypes",C.X,"uBumpScale",C.V,"uNormalScale",C.W],P.h,G.r)
$.p6=H.b([30,60,90],[P.C])
$.lr=function(){var u=[P.C]
return H.b([H.b([1,2,1],u),H.b([2,4,2],u),H.b([4,8,4],u),H.b([1,6,1],u),H.b([2,12,2],u),H.b([3,2,3],u),H.b([6,4,6],u),H.b([0,2],u)],[[P.j,P.C]])}()
$.p5=H.b([" Corp"," Inc.","Co","World",".Com"," Ltd.","Net"," Tech"," Labs"," Mfg."," Unlimited"," One"," LLC"],[P.h])
$.p4=H.b(["i","Acme ","Mega","Pan ","Omni","e","Cyber","Global ","Quantum ","Next ","Metro","Unity ","Star ","Q-","Trans","First ","Union ","Cosmos "],[P.h])})();(function lazyInitializers(){var u=hunkHelpers.lazy
u($,"pn","lA",function(){return H.lo("_$dart_dartClosure")})
u($,"ps","jO",function(){return H.lo("_$dart_js")})
u($,"px","lG",function(){return H.av(H.hB({
toString:function(){return"$receiver$"}}))})
u($,"py","lH",function(){return H.av(H.hB({$method$:null,
toString:function(){return"$receiver$"}}))})
u($,"pz","lI",function(){return H.av(H.hB(null))})
u($,"pA","lJ",function(){return H.av(function(){var $argumentsExpr$='$arguments$'
try{null.$method$($argumentsExpr$)}catch(t){return t.message}}())})
u($,"pD","lM",function(){return H.av(H.hB(void 0))})
u($,"pE","lN",function(){return H.av(function(){var $argumentsExpr$='$arguments$'
try{(void 0).$method$($argumentsExpr$)}catch(t){return t.message}}())})
u($,"pC","lL",function(){return H.av(H.l2(null))})
u($,"pB","lK",function(){return H.av(function(){try{null.$method$}catch(t){return t.message}}())})
u($,"pG","lP",function(){return H.av(H.l2(void 0))})
u($,"pF","lO",function(){return H.av(function(){try{(void 0).$method$}catch(t){return t.message}}())})
u($,"pK","jS",function(){return P.of()})
u($,"pm","lz",function(){return{}})
u($,"pN","lU",function(){return P.jl(["A","ABBR","ACRONYM","ADDRESS","AREA","ARTICLE","ASIDE","AUDIO","B","BDI","BDO","BIG","BLOCKQUOTE","BR","BUTTON","CANVAS","CAPTION","CENTER","CITE","CODE","COL","COLGROUP","COMMAND","DATA","DATALIST","DD","DEL","DETAILS","DFN","DIR","DIV","DL","DT","EM","FIELDSET","FIGCAPTION","FIGURE","FONT","FOOTER","FORM","H1","H2","H3","H4","H5","H6","HEADER","HGROUP","HR","I","IFRAME","IMG","INPUT","INS","KBD","LABEL","LEGEND","LI","MAP","MARK","MENU","METER","NAV","NOBR","OL","OPTGROUP","OPTION","OUTPUT","P","PRE","PROGRESS","Q","S","SAMP","SECTION","SELECT","SMALL","SOURCE","SPAN","STRIKE","STRONG","SUB","SUMMARY","SUP","TABLE","TBODY","TD","TEXTAREA","TFOOT","TH","THEAD","TIME","TR","TRACK","TT","U","UL","VAR","VIDEO","WBR"],P.h)})
u($,"pt","jP",function(){return new G.d0(1281,0,4294967295)})
u($,"pi","jL",function(){return G.l_(1281,1281,1281)})
u($,"pj","j1",function(){return G.l_(32774,770,771)})
u($,"pu","jQ",function(){var t=G.jr()
t.d=!1
t.b=!0
t.a=!1
t.bK()
return t})
u($,"pv","lF",function(){var t=G.jr()
t.a=t.b=t.d=!1
t.bK()
return t})
u($,"pw","j2",function(){var t=G.jr()
t.aS()
return t})
u($,"pl","jN",function(){return T.aw(1,1,1)})
u($,"pk","jM",function(){return T.aw(0,0,0)})
u($,"qq","jX",function(){var t=G.I("PerlinNoiseV"),s=[P.h]
t.V(H.b(["aPosition"],s))
t.K(H.b(["vNormal"],s))
t.N(H.b(["uPerspectiveViewMatrix","uModelMatrix","uTime"],s))
t.R(H.b(["vec3 mod289(vec3 x)\n{\n  return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nvec4 mod289(vec4 x)\n{\n  return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nvec4 permute(vec4 x)\n{\n  return mod289(((x*34.0)+1.0)*x);\n}\n\nvec4 taylorInvSqrt(vec4 r)\n{\n  return 1.79284291400159 - 0.85373472095314 * r;\n}\n\nvec3 fade(vec3 t) {\n  return t*t*t*(t*(t*6.0-15.0)+10.0);\n}\n\n\n// Classic Perlin noise, periodic variant\nfloat pnoise(vec3 P, vec3 rep)\n{\n  vec3 Pi0 = mod(floor(P), rep); // Integer part, modulo period\n  vec3 Pi1 = mod(Pi0 + vec3(1.0), rep); // Integer part + 1, mod period\n  Pi0 = mod289(Pi0);\n  Pi1 = mod289(Pi1);\n  vec3 Pf0 = fract(P); // Fractional part for interpolation\n  vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0\n  vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\n  vec4 iy = vec4(Pi0.yy, Pi1.yy);\n  vec4 iz0 = Pi0.zzzz;\n  vec4 iz1 = Pi1.zzzz;\n\n  vec4 ixy = permute(permute(ix) + iy);\n  vec4 ixy0 = permute(ixy + iz0);\n  vec4 ixy1 = permute(ixy + iz1);\n\n  vec4 gx0 = ixy0 * (1.0 / 7.0);\n  vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;\n  gx0 = fract(gx0);\n  vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);\n  vec4 sz0 = step(gz0, vec4(0.0));\n  gx0 -= sz0 * (step(0.0, gx0) - 0.5);\n  gy0 -= sz0 * (step(0.0, gy0) - 0.5);\n\n  vec4 gx1 = ixy1 * (1.0 / 7.0);\n  vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;\n  gx1 = fract(gx1);\n  vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);\n  vec4 sz1 = step(gz1, vec4(0.0));\n  gx1 -= sz1 * (step(0.0, gx1) - 0.5);\n  gy1 -= sz1 * (step(0.0, gy1) - 0.5);\n\n  vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);\n  vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);\n  vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);\n  vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);\n  vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);\n  vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);\n  vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);\n  vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);\n\n  vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\n  g000 *= norm0.x;\n  g010 *= norm0.y;\n  g100 *= norm0.z;\n  g110 *= norm0.w;\n  vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\n  g001 *= norm1.x;\n  g011 *= norm1.y;\n  g101 *= norm1.z;\n  g111 *= norm1.w;\n\n  float n000 = dot(g000, Pf0);\n  float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));\n  float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));\n  float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));\n  float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));\n  float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));\n  float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));\n  float n111 = dot(g111, Pf1);\n\n  vec3 fade_xyz = fade(Pf0);\n  vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);\n  vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);\n  float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); \n  return 2.2 * n_xyz;\n}\n","void main() {\n    vNormal = normalize( aPosition);\n    gl_Position = uPerspectiveViewMatrix * uModelMatrix * vec4(aPosition, 1.0);\n}\n"],s))
return t})
u($,"pL","lS",function(){return H.b([T.aw(0,0,1),T.aw(0,0,-1),T.aw(0,1,0),T.aw(0,-1,0),T.aw(1,0,0),T.aw(-1,0,0)],[T.c])})
u($,"qb","j4",function(){return 8})
u($,"q6","m5",function(){return H.b(["Alpha","Bionic","Info","Data","Solar","Aerospace","Motors","Nano","GadgetsOnline","Circuits","Dynamics","Energy","Med","Bergmann","Robotic","Rockets","Exports","Security","Systems","Financial","Machines","Media","Materials","Muth","Foods","Networks","Shipping","Tools","Medical","Young","Sound","Health","Bank","Imports","Apparel","Hulha","Studios","Galaxy "],[P.h])})
u($,"pX","jT",function(){return H.ag(W.cn().querySelector("#mode"),"$ib8")})
u($,"pV","e5",function(){return H.ag(W.cn().querySelector("#routecam"),"$ib8")})
u($,"q0","jV",function(){return H.ag(W.cn().querySelector("#theme"),"$ib8")})
u($,"pW","lZ",function(){return W.cn().querySelector("#clock")})
u($,"q_","jU",function(){return W.cn().querySelector("#soundtrack")})
u($,"pY","m_",function(){return W.cn().querySelector("#music")})
u($,"pZ","m0",function(){var t=32e3
return H.b([G.bD("night-orbit",16e3,1,0,0),G.bD("night-outside",t,1,9,150),G.bD("gol-inside",t,1,6,1),G.bD("wireframe-outside",t,1.2,3,150),G.bD("gol2-inside",16e3,2,6,1),G.bD("sketch-outside",t,1,0,150),G.bD("finale",16e3,1,0,0)],[G.cV])})
u($,"pU","lY",function(){var t=G.I("facadeV"),s=[P.h]
t.V(H.b(["aPosition"],s))
t.R(H.b(["void main() {\n  gl_Position = vec4(aPosition, 1.0);\n}\n"],s))
return t})
u($,"pT","lX",function(){var t=G.I("facadeF"),s=[P.h]
t.N(H.b(["uWindowDim","uAverageFurnitureW","uMaxFurnitureH","uFeatures","uColor","uWindowFrame","uRandSeed"],s))
t.R(H.b(["    \nconst float spice1 = 1.0;\nconst float spice2 = 2.0;\nconst float spice3 = 4.0;\nconst float spice4 = 4.0;\nconst float spice5 = 5.0;\nconst float spice6 = 6.0;\n\nfloat rand(vec2 co){\n     return fract(sin(dot(co.xy, vec2(12.9898,78.233))) * (uRandSeed + 43758.5453));\n}\n\nfloat featureStart(float offset, vec2 salt) {\n  float newFeatureProb = 2.0 / uAverageFurnitureW;\n  float minFeatureWidth = floor(uAverageFurnitureW / 3.0);\n  float start = 0.0;\n  for (float i = 0.0; i < offset; i += 1.0) {\n       if (rand(i * salt) < newFeatureProb) {\n           start = i;\n           i += minFeatureWidth;\n       } \n  }\n  return start;\n}\n\nfloat furnitureAlpha(vec2 offset, vec2 salt) {\n    float h = uMaxFurnitureH * rand(salt * spice1);\n    if (offset.y >= h) return 1.0;\n     \n    float alpha1 = 0.5;\n    float alpha2 =  0.25 + 0.25 * rand(salt * spice2);\n    return 1.0 - mix(alpha1, alpha2, offset.y / h);\n}\n\n\nconst float frame = 0.5;\n\nbool isWindow(vec2 offset, float left, float bottom, float top) {\n  return \n        offset.x >= left &&\n        offset.y >= bottom &&\n        offset.x <= uWindowDim.x - left && \n        offset.y <= uWindowDim.y - top;\n}\n\nbool isVerticalSplit(vec2 offset, float left) {\n    float middle = uWindowDim.x / 2.0;\n    return offset.x >= middle - left && offset.x < middle + left; \n}\n\nbool isHorizontalSplit(vec2 offset, float bottom, float top) {\n    float middle = (uWindowDim.y + bottom - top) / 2.0;\n    return offset.y >= middle - frame && offset.y < middle + frame; \n}\n\n\n// TODO:  \n// DrawFacadeWindowBlinds\n// DrawFacadeWindowVerticalStripes\n\nbool isLit(vec2 colRow) {\n   float band = floor(colRow.y / 8.0);\n   vec2 bandSalt = vec2(band, colRow.y);\n\n   // this is per band\n   float maxRunLength = 2.0 + 9.0 * rand(bandSalt * spice2);\n   float lightDensity =  1.0 / (2.0 + 2.0 * rand(bandSalt * spice3) + 2.0 * rand(bandSalt * spice4));\n\n   vec2 cellSalt = vec2(spice1, colRow.y);\n\n   bool lit = false;\n   float i = 0.0;\n   do {\n       vec2 cellSalt = vec2(i, colRow.y);\n       float run = 1.0 + maxRunLength * rand(cellSalt * spice5);\n       i += run;\n       lit = lightDensity >= rand(cellSalt * spice6);\n   } while (i <  colRow.x);\n\n   return lit;\n}\n\nvec3 windowColor(bool lit, vec2 salt) {\n    if (lit) {\n        vec3 base = vec3(0.5);\n        vec3 gray = vec3(0.25) * rand(salt + vec2(1.0, 6.0));\n        vec3 color = vec3(rand(salt * 4.0), rand(salt * 2.0), rand(salt * 3.0)) * 0.15;\n        return base + gray + color;\n    } else {\n       return  vec3(0.2) * rand(salt);\n    }\n}\n\nfloat windowAlpha(vec2 offset, float left, float bottom, float top, int features, vec2 salt) {\n    if ((features & 1) != 0 && \n        isVerticalSplit(offset, left)) return 0.3;\n    \n    if ((features & 2) != 0 && \n        isHorizontalSplit(offset, bottom, top)) return 0.3;\n    \n    float blindStart = (1.0 - rand(salt * spice1) * rand(salt * spice1)) * \n                       (uWindowDim.y - bottom - top);\n    if ((features & 4) != 0 && blindStart < offset.y - bottom) return 0.3;\n    \n    if ((features & 8) != 0) {           \n        salt.x += gl_FragCoord.x - offset.x + featureStart(offset.x, salt);\n        // Note the salt is not feature specific instead of window specific\n        return furnitureAlpha(offset, salt);\n    }\n    \n    return 1.0;\n}\n\n// feature:\n// bit 0: vertical split\n// bit 1: horizontal split\n// bit 2: blinds\n// bit 3: furniture\n// bit 4: always lit\nvoid main() {\n    vec2 colRow = floor(gl_FragCoord.xy / uWindowDim);\n    \n    vec2 offset = mod(gl_FragCoord.xy, uWindowDim);\n    vec2 bottomLeft = gl_FragCoord.xy - offset;\n    vec2 salt = bottomLeft + vec2(0.123, 0.456);\n    // The salt is now the same for all pixels falling into the window\n    \n    float left = uWindowFrame.x;\n    float bottom = uWindowFrame.y;\n    float top =uWindowFrame.z;\n    \n    vec3 color = uColor;\n    if (isWindow(offset, left, bottom, top)) {\n        bool lit = (uFeatures & 16) != 0 || isLit(colRow);\n        color = windowColor(lit, salt) *\n                windowAlpha(offset, left, bottom, top, uFeatures, salt);\n    }\n    oFragColor.rgb = color; \n    oFragColor.a = 1.0;\n}\n "],s))
return t})
u($,"q7","m6",function(){return T.aw(0.05,0.05,0.05)})
u($,"qh","mb",function(){var t=$.m6()
return P.fg([0,t,4,T.aw(0.1,0.1,0.1),2,t,1,t,3,t,12,t,9,t,11,t,10,t,8,t],P.C,T.c)})
u($,"pH","lR",function(){var t=G.I("Textured"),s=[P.h]
t.V(H.b(["aPosition","aTexUV"],s))
t.K(H.b(["vTexUV"],s))
t.a3(H.b(["gl_Position = vec4(aPosition.xy, 0, 1.0);","vTexUV = aTexUV;"],s))
return t})
u($,"po","lD",function(){var t=G.I("GOL-Fragment"),s=[P.h]
t.K(H.b(["vTexUV"],s))
t.R(H.b(["    \nfloat getr(float n) {\n    if (n < 0.125) return n / 0.125 * 0.8;\n    else if (n < 0.25) return (n - 0.125) / 0.125 * 0.2 + 0.8;\n    else if (n < 0.75) return 1.0;\n    else return 1.0 - (n - 0.75) / 0.25;\n}\n\nfloat getg(float n) {\n    if (n < 0.125) return 0.0;\n    else if (n < 0.25) return (n - 0.125) / 0.125 * 0.8;\n    else if (n < 0.375) return (n - 0.25) / 0.125 * 0.2 + 0.8;\n    else if (n < 0.5625) return 1.0;\n    else if (n < 0.75) return 1.0 - (n - 0.5625) / 0.1875;\n    else return 0.0;\n}\n\n float getb(float n) {\n    if (n <= 0.25) return 0.0;\n    else if (n < 0.375) return (n - 0.25) / 0.125;\n    else if (n < 0.5625) return 1.0 - (n - 0.375) / 0.1875;\n    else return 0.0;\n}\n     \n     \nfloat twopi = 2.0 * 3.14159265358979323846264338327950288419716939937510;\n  \n// https://www.thasler.com/blog/blog/glsl-part2-emu\n// Emulation based on Fortran-90 double-single package. See http://crd.lbl.gov/~dhbailey/mpdist/\n// https://www.davidhbailey.com/dhbsoftware/\n// Substract: res = ds_add(a, b) => res = a + b\n\n// float  => double\nvec2 ds(float a) {\n    vec2 z;\n    z.x = a;\n    z.y = 0.0;\n    return z;\n}\n\nvec2 ds_mult (vec2 dsa, vec2 dsb) {\n vec2 dsc;\n float c11, c21, c2, e, t1, t2;\n float a1, a2, b1, b2, cona, conb, split = 8193.;\n \n  cona = dsa.x * split;\n  conb = dsb.x * split;\n  a1 = cona - (cona - dsa.x);\n  b1 = conb - (conb - dsb.x);\n  a2 = dsa.x - a1;\n  b2 = dsb.x - b1;\n \n  c11 = dsa.x * dsb.x;\n  c21 = a2 * b2 + (a2 * b1 + (a1 * b2 + (a1 * b1 - c11)));\n \n  c2 = dsa.x * dsb.y + dsa.y * dsb.x;\n \n  t1 = c11 + c2;\n  e = t1 - c11;\n  t2 = dsa.y * dsb.y + ((c2 - e) + (c11 - (t1 - e))) + c21;\n  \n  dsc.x = t1 + t2;\n  dsc.y = t2 - (dsc.x - t1);\n  \n  return dsc;\n}\n\nvec2 ds_add (vec2 dsa, vec2 dsb) {\n vec2 dsc;\n float t1, t2, e;\n \n  t1 = dsa.x + dsb.x;\n  e = t1 - dsa.x;\n  t2 = ((dsb.x - e) + (dsa.x - (t1 - e))) + dsa.y + dsb.y;\n \n  dsc.x = t1 + t2;\n  dsc.y = t2 - (dsc.x - t1);\n  return dsc;\n}\n\nvec2 ds_sub (vec2 dsa, vec2 dsb) {\n vec2 dsc;\n float e, t1, t2;\n \n  t1 = dsa.x - dsb.x;\n  e = t1 - dsa.x;\n  t2 = ((-dsb.x - e) + (dsa.x - (t1 - e))) + dsa.y - dsb.y;\n \n  dsc.x = t1 + t2;\n  dsc.y = t2 - (dsc.x - t1);\n  return dsc;\n}\n\nfloat ds_compare(vec2 dsa, vec2 dsb) {\n  if (dsa.x < dsb.x) return -1.;\n  else if (dsa.x == dsb.x) \n         {\n         if (dsa.y < dsb.y) return -1.;\n         else if (dsa.y == dsb.y) return 0.;\n         else return 1.;\n         }\n  else return 1.;\n}\n\n\nint uIter = 1024;\nfloat threshold = 4.0;\n\nvec2 center = vec2(0.0, 0.0); \n\n// https://www.youtube.com/watch?time_continue=8&v=zXTpASSd9xE    \nvec2 center1 = vec2(-1.749998410993740817490024831624283,\n                    -0.00000000000000165712469295418692325);\n\n// https://www.youtube.com/watch?v=pCpLWbHVNhk\nvec2 center2 = vec2(0.3602404434376143632361252444495453084826078079585857,\n                    -0.641313061064803174860375015179302066579494952282305);\n                \nvec2 center3 = vec2(0.3750001200618655, -0.2166393884377127);\n                \n\n\n\n\n\nint Compute(vec2 center, float radius, float real, float imag) {\n  vec2 r = ds(radius);\n  vec2 x = ds_mult(ds(real), r);\n  vec2 y = ds_mult(ds(imag), r); \n  vec2 cx = ds_add(ds(center.x), x);\n  vec2 cy = ds_add(ds(center.y), y);\n  \n  x = cx;\n  y = cy;\n  for(int i=0; i < uIter; i++) {\n      vec2 xx = ds_mult(x, x);\n      vec2 yy = ds_mult(y, y);\n      vec2 abs2 = ds_add(xx, yy);\n      if (abs2.x >  threshold) return i;\n      \n      y = ds_mult(x, y);\n      y = ds_mult(ds(2.0), y);\n    \n      x = ds_sub(xx, yy);\n      \n      x = ds_add(x, cx);\n      y = ds_add(y, cy);\n  }\n  return 0;\n}\n      \nint ComputeFast(vec2 center, float radius, float real, float imag) {\n    vec2 c = center + radius * vec2(real, imag);\n    float x = c.x;\n    float y = c.y;\n\n    for(int i=0; i < uIter; i++) {\n        float xx = x * x;\n        float yy = y * y;\n        if (xx + yy > threshold) return i;\n        \n        y = (2.0 * x * y) + c.y;\n        x = (xx - yy) + c.x;\n    }\n    return 0;\n}\n\nvoid main() {\n    // vec2 c = 3.0 * (vTexUV - 0.5);\n    // float r = pow(0.9999, 100000.0 * vTexUV.x) * 2.0;\n    float r = pow(0.9999, 200000.0 * (1.0 - vTexUV.x)) * 8.0;\n    //float r = (1.0 - vTexUV.x) * 0.01;\n    float real = sin(twopi * vTexUV.y);\n    float imag = cos(twopi * vTexUV.y);\n\n    int i = Compute(center2, r, real, imag);\n    \n    float n = float(i) / float(uIter);\n    oFragColor.r  = getr(n);\n    oFragColor.g  = getg(n);\n    oFragColor.b  = getb(n);\n    oFragColor.a  = 1.0;\n}   \n\n\t\t\t\n"],s))
return t})
u($,"qc","m9",function(){return H.b([T.ju(0,0),T.ju(0,0),T.ju(0,0)],[T.p])})
u($,"q9","aA",function(){return S.nS(0,0,1,1)})
u($,"qk","me",function(){var t=G.I("GOL-Vertex"),s=[P.h]
t.V(H.b(["aPosition"],s))
t.a3(H.b(["gl_Position = vec4(aPosition.xy, 0, 1.0);"],s))
return t})
u($,"qj","md",function(){var t=G.I("GOL-Fragment"),s=[P.h]
t.N(H.b(["uRules","uState"],s))
t.R(H.b(["int xget(ivec2 pos) {\n    return texelFetch(uState, pos, 0).r > 0.0 ? 1 : 0;\n}\n\nint NumLiveNeighbors() {\n    ivec2 p = ivec2(gl_FragCoord.xy);\n    // ivec2 p = ivec2(gl_FragCoord.xy);\n    return\n        xget(p + ivec2(-1, -1)) +\n        xget(p + ivec2(-1,  0)) +\n        xget(p + ivec2(-1,  1)) +\n        xget(p + ivec2( 0, -1)) +\n        9 * xget(p + ivec2( 0, 0)) +\n        xget(p + ivec2( 0,  1)) +\n        xget(p + ivec2( 1, -1)) +\n        xget(p + ivec2( 1,  0)) +\n        xget(p + ivec2( 1,  1));\n}\n\n\nvec4 GetColor(int sum) {\n  return texelFetch(uRules, ivec2(sum, 0), 0);\n}\n\nvoid main() {\n    int sum = NumLiveNeighbors();\n    oFragColor.r = GetColor(sum).r;\n    oFragColor.g = float(sum) / 32.0;\n}\n"],s))
return t})
u($,"ql","mf",function(){var t=G.I("GOL-Vertex"),s=[P.h]
t.V(H.b(["aPosition"],s))
t.K(H.b(["vTexUV"],s))
t.a3(H.b(["gl_Position = vec4(aPosition.xy, 0, 1.0);"],s))
return t})
u($,"qi","mc",function(){var t=G.I("GOL-Fragment"),s=[P.h]
t.N(H.b(["uRules","uState","uScaleSize"],s))
t.K(H.b(["vTexUV"],s))
t.R(H.b(["int get(vec2 offset) {\n    vec2 uv = (gl_FragCoord.xy + offset) / uScaleSize;\n    return texture(uState, uv).r > 0.0 ? 1 : 0;\n}\n\nint NumLiveNeighbors() {\n    return\n        get(vec2(-1.0, -1.0)) +\n        get(vec2(-1.0,  0.0)) +\n        get(vec2(-1.0,  1.0)) +\n        get(vec2( 0.0, -1.0)) +\n        9 * get(vec2( 0.0, 0.0)) +\n        get(vec2( 0.0,  1.0)) +\n        get(vec2( 1.0, -1.0)) +\n        get(vec2( 1.0,  0.0)) +\n        get(vec2( 1.0,  1.0));\n}\n\nvec4 GetColor(int sum) {\n  return texelFetch(uRules, ivec2(sum, 0), 0);\n}\n\nvoid main() {\n    int sum = NumLiveNeighbors();\n    //int sum =  int(32.0 * texture(uState, vTexUV).r);\n    //vec2 uv = gl_FragCoord.xy / uScaleSize;\n    //int sum =  int(texture(uState, uv).g * 32.0);\n    oFragColor = GetColor(sum);\n}\n"],s))
return t})
u($,"pI","lQ",function(){var t=G.I("PortalV"),s=[P.h]
t.V(H.b(["aPosition","aNormal"],s))
t.K(H.b(["vColor"],s))
t.N(H.b(["uPerspectiveViewMatrix","uModelMatrix","uTime","uPointSize"],s))
t.R(H.b(["float rand(vec2 xy){\n     return fract(sin(dot(xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n     \nvec3 noise(vec3 orig, float t) {\n       return vec3(rand(vec2(t + float(gl_VertexID), orig.x)),\n                   rand(vec2(t + float(gl_VertexID), orig.y)),\n                   rand(vec2(t + float(gl_VertexID), orig.z)));\n}\n\nvoid main() {\n    vec3 pos = aPosition + 2.0 * noise(aPosition, uTime);\n\n    gl_Position = uPerspectiveViewMatrix * uModelMatrix * vec4(pos, 1.0);\n                   \n    gl_PointSize = uPointSize / gl_Position.z;\n    \n     //vColor = vec3(0.5, 0.5, 0.5);\n    vColor = noise(aPosition, uTime * 2.0)  * 0.3 + vec3(0.3, 0.3, 0.3); \n}\n"],s))
return t})
u($,"pp","lB",function(){var t=G.I("PortalF"),s=[P.h]
t.K(H.b(["vColor"],s))
t.R(H.b(["void main() {  \n    oFragColor.rgb = vColor;\n}\n    "],s))
return t})
u($,"qe","e6",function(){return E.B(0,0,0)})
u($,"qg","cr",function(){return E.B(255,255,255)})
u($,"qf","jW",function(){var t=E.U(0)
t.d=0
return t})
u($,"qp","mj",function(){var t=G.I("Textured"),s=[P.h]
t.V(H.b(["aPosition","aTexUV","aColor"],s))
t.K(H.b(["vColor","vPosition","vTexUV"],s))
t.N(H.b(["uPerspectiveViewMatrix","uModelMatrix"],s))
t.a3(H.b(["gl_Position = uPerspectiveViewMatrix * uModelMatrix * vec4(aPosition, 1.0);","vTexUV = aTexUV;","vColor = aColor;","vPosition = (uModelMatrix * vec4(aPosition, 1.0)).xyz;"],s))
return t})
u($,"qo","mi",function(){var t=G.I("TexturedF"),s=[P.h]
t.K(H.b(["vPosition","vColor","vTexUV"],s))
t.N(H.b(["uTexture"],s))
t.a3(H.b(["        vec4 c = texture(uTexture, vTexUV);\n        c = c * vec4(vColor, 1.0 );\n        oFragColor = c;\n        "],s))
return t})
u($,"qt","k_",function(){var t=G.I("preparationV"),s=[P.h]
t.V(H.b(["aPosition","aNormal","aTexUV"],s))
t.K(H.b(["vNormal"],s))
t.N(H.b(["uPerspectiveViewMatrix","uModelMatrix"],s))
t.R(H.b(["void main(void) {\n    {\n      vec3 p = aPosition;\n      gl_Position = uPerspectiveViewMatrix * uModelMatrix * vec4(p, 1);\n    }\n    {\n      // Normal does not have to be accurate \n      vec3 n = aNormal;\n      vNormal = normalize(n);\n    }\n}\n"],s))
return t})
u($,"qs","jZ",function(){var t=G.I("preparationF"),s=[P.h]
t.K(H.b(["vNormal"],s))
t.a3(H.b(["  oFragColor = vec4(vNormal, gl_FragCoord.w);\n  "],s))
return t})
u($,"qu","k0",function(){var t=G.I("finalV"),s=[P.h]
t.V(H.b(["aPosition","aNormal","aTexUV"],s))
t.K(H.b(["vNormal","vTexUV","vPosition"],s))
t.N(H.b(["uPerspectiveViewMatrix","uModelMatrix"],s))
t.R(H.b(["void main(void) {\n   {\n     vec3 p = aPosition;\n     gl_Position = uPerspectiveViewMatrix * uModelMatrix * vec4(p, 1);\n   }\n   {\n      vec4 n =  uPerspectiveViewMatrix * uModelMatrix * vec4(aNormal, 0);\n       vNormal = normalize(n).xyz;\n   }\n   vTexUV = aTexUV;\n   vPosition = gl_Position.xyz;\n}\n"],s))
return t})
u($,"qr","jY",function(){var t=G.I("finalF"),s=[P.h]
t.K(H.b(["vColor","vNormal","vTexUV","vPosition"],s))
t.N(H.b(["uTexture","uTexture2","uLightDescs","uLightTypes","uShininess","uEyePosition"],s))
t.bI(H.b([" float Edge(sampler2D t, ivec2 p) {\n      vec4 hEdge = vec4(0.0);\n      hEdge -= texelFetch(t, ivec2(p.x - 1, p.y - 1), 0) * 1.0;\n      hEdge -= texelFetch(t, ivec2(p.x - 1, p.y    ), 0) * 2.0;\n      hEdge -= texelFetch(t, ivec2(p.x - 1, p.y + 1), 0) * 1.0;\n      hEdge += texelFetch(t, ivec2(p.x + 1, p.y - 1), 0) * 1.0;\n      hEdge += texelFetch(t, ivec2(p.x + 1, p.y    ), 0) * 2.0;\n      hEdge += texelFetch(t, ivec2(p.x + 1, p.y + 1), 0) * 1.0;\n      vec4 vEdge = vec4(0.0);\n      vEdge -= texelFetch(t, ivec2(p.x - 1, p.y - 1), 0) * 1.0;\n      vEdge -= texelFetch(t, ivec2(p.x    , p.y - 1), 0) * 2.0;\n      vEdge -= texelFetch(t, ivec2(p.x + 1, p.y - 1), 0) * 1.0;\n      vEdge += texelFetch(t, ivec2(p.x - 1, p.y + 1), 0) * 1.0;\n      vEdge += texelFetch(t, ivec2(p.x    , p.y + 1), 0) * 2.0;\n      vEdge += texelFetch(t, ivec2(p.x + 1, p.y + 1), 0) * 1.0;\n      vec3 edge = sqrt((hEdge.rgb * hEdge.rgb) + (vEdge.rgb * vEdge.rgb));\n      return length(edge);\n }\n \n void main(void) {\n   ColorComponents acc = CombinedLight(vPosition,\n                                       vNormal,\n                                       uEyePosition,\n                                       uLightDescs,\n                                       uLightTypes,\n                                       uShininess);\n                                     \n   float edge = Edge(uTexture2, ivec2(gl_FragCoord.xy));\n   vec4 info = texelFetch(uTexture2, ivec2(gl_FragCoord.xy), 0);\n   if (edge > 0.3) {\n       //oFragColor.rgb = vec3(0.0); \n       oFragColor.rgb = vec3(0.5 - edge); \n      // oFragColor.rgb = vec3(edge / (100.0 * info.w));\n     return;\n   } \n     \n   oFragColor.rgb = texture(uTexture, vTexUV).rgb * 0.5 + \n                       acc.diffuse +\n                       acc.specular;\n }\n   "],s),H.b(["// ============================================================\n// MISC\n// ============================================================\n\nvec3 ColorFromPosition(vec3 pos) {\n    return vec3( sin(pos.x) / 2.0 + 0.5,\n                 cos(pos.y) / 2.0 + 0.5,\n                 sin(pos.z) / 2.0 + 0.5);\n}\n\nvec3 RangeToGray(float f, float a, float b) {\n    if (f > a) return vec3(1.0);\n    if (f < b) return vec3(0.0);\n    return vec3 ((f - b) / (a-b));\n}\n\nfloat useValueButReturnZero(float x) {\n    return (x + 1.0) * (x + 1.0) - x * x - 2.0 * x - 1.0;\n}\n\n// ============================================================\n// LIGHT\n// ============================================================\n\nfloat GetDiffuse(vec3 lightDir, vec3 normal) {\n    return max(dot(normal, lightDir), 0.0);\n}\n\nfloat GetSpecular(vec3 lightDir, vec3 viewDir, vec3 normal, float glossiness) {\n    vec3 angleW = normalize(viewDir + lightDir);\n    float specComp = max(0., dot(normal, angleW));\n    return pow(specComp, max(1.0, glossiness));\n}\n\nstruct ColorComponents {\n   vec3 diffuse;\n   vec3 specular;\n};\n\n// ============================================================\n// Spot Light\n// ============================================================\n\nstruct SpotLightInfo {\n    vec3 pos;      // for spot and point\n    vec3 dir;      // for spot and dir light\n    vec3 diffuseColor;\n    vec3 specularColor;\n    float range;        // for spot and point\n    float spotCutoff;   // for spot\n    float spotFocus;    // for spot\n    // float glossiness;   // Oddball: this comes from the material\n};\n\nSpotLightInfo UnpackSpotLightInfo(mat4 m) {\n    SpotLightInfo info;\n    info.pos = m[0].xyz;\n    info.dir = normalize(m[1].xyz);\n    info.diffuseColor = m[2].xyz;\n    info.specularColor = m[3].xyz;\n    // info.glossiness = m[0].a;\n    info.range = m[1].a;\n    info.spotCutoff = m[2].a;\n    info.spotFocus = m[3].a;\n    return info;\n}\n\nColorComponents SpotLightGetDiffuseAndSpecular(SpotLightInfo light,\n                                               vec3 vertexPos,\n                                               vec3 vertexNormal,\n                                               vec3 eyePos,\n                                               float uShininess) {\n    vec3 toSpot = light.pos - vertexPos;\n    vec3 spotDir = normalize(toSpot);\n    vec3 lightDirNorm = -normalize(light.dir);\n    float cosAngle = max(0., dot(lightDirNorm, spotDir));\n\t  if (cosAngle < light.spotCutoff) {\n        return ColorComponents(vec3(0.0), vec3(0.0));\n    }\n\n    cosAngle = max(0.0, pow(cosAngle, light.spotFocus));\n\t  float attenuation = max(0.0, 1.0 - length(toSpot) / light.range) * cosAngle;\n\t  vec3 viewDirNorm = normalize(eyePos - vertexPos);\n\t  return ColorComponents(\n\t           attenuation *\n             GetDiffuse(lightDirNorm, vertexNormal) *\n             light.diffuseColor,\n             attenuation *\n             GetSpecular(lightDirNorm, viewDirNorm, vertexNormal, uShininess) *\n             light.specularColor);\n}\n\n// ============================================================\n// Point Light\n// ============================================================\n\nstruct PointLightInfo {\n    vec3 pos;\n    vec3 diffuseColor;\n    vec3 specularColor;\n    float range;\n    // float glossiness;\n};\n\nPointLightInfo UnpackPointLightInfo(mat4 m) {\n    PointLightInfo info;\n    info.pos = m[0].xyz;\n    info.diffuseColor = m[2].xyz;\n    info.specularColor = m[3].xyz;\n    info.range = m[1].a;\n    // info.glossiness = m[0].a;\n    return info;\n}\n\nColorComponents PointLightGetDiffuseAndSpecular(PointLightInfo info,\n                                     vec3 vertexPos,\n                                     vec3 vertexNormal,\n                                     vec3 eyePos,\n                                     float uShininess) {\n    vec3 lightDir = info.pos - vertexPos;\n    float attenuation = max(0.0, 1.0 - length(lightDir) / info.range);\n    vec3 lightDirNorm = normalize(lightDir);\n    vec3 viewDirNorm = normalize(eyePos - vertexPos);\n    return ColorComponents(\n              attenuation *\n              GetDiffuse(lightDirNorm, vertexNormal) *\n              info.diffuseColor,\n               attenuation *\n               GetSpecular(lightDirNorm, viewDirNorm, vertexNormal, uShininess) *\n               info.specularColor);\n}\n\n// ============================================================\n// Directional Light\n// ============================================================\n\nstruct DirectionalLightInfo {\n    vec3 dir;      // for spot and dir light\n    vec3 diffuseColor;\n    vec3 specularColor;\n    // float glossiness;   // Oddball: this comes from the material\n};\n\nDirectionalLightInfo UnpackDirectionalLightInfo(mat4 m) {\n    DirectionalLightInfo info;\n    info.dir = normalize(m[1].xyz);\n    info.diffuseColor = m[2].xyz;\n    info.specularColor = m[3].xyz;\n    // info.glossiness = m[0].a;\n    return info;\n}\n\nColorComponents DirectionalLightGetDiffuseAndSpecular(DirectionalLightInfo info,\n                                                      vec3 vertexPos,\n                                                      vec3 vertexNormal,\n                                                      vec3 eyePos,\n                                                      float uShininess) {\n    vec3 viewDirNorm = normalize(eyePos - vertexPos);\n    return ColorComponents(\n              GetDiffuse(-info.dir, vertexNormal) *\n              info.diffuseColor,\n              GetSpecular(-info.dir, viewDirNorm, vertexNormal, uShininess) *\n              info.specularColor);\n}\n\n\nColorComponents CombinedLightSpot(\n    vec3 vVertexPosition, vec3 vNormal, vec3 uEyePosition, mat4 lightDesc,\n    float shininess) {\n    SpotLightInfo info = UnpackSpotLightInfo(lightDesc);\n    return SpotLightGetDiffuseAndSpecular(\n        info, vVertexPosition, vNormal, uEyePosition, shininess);\n}\n\nColorComponents CombinedLightPoint(\n    vec3 vVertexPosition, vec3 vNormal, vec3 uEyePosition, mat4 lightDesc,\n    float shininess) {\n    PointLightInfo info = UnpackPointLightInfo(lightDesc);\n    return PointLightGetDiffuseAndSpecular(\n        info, vVertexPosition, vNormal, uEyePosition, shininess);\n}\n\nColorComponents CombinedLightDirectional(\n    vec3 vVertexPosition, vec3 vNormal, vec3 uEyePosition, mat4 lightDesc,\n    float shininess) {\n    DirectionalLightInfo info = UnpackDirectionalLightInfo(lightDesc);\n    return DirectionalLightGetDiffuseAndSpecular(\n        info, vVertexPosition, vNormal, uEyePosition, shininess);\n}\n\n// ============================================================\n// Combined Light\n// ============================================================\nColorComponents CombinedLight(vec3 vVertexPosition,\n                   vec3 vNormal,\n                   vec3 uEyePosition,\n                   const mat4 uLightDescs[4],\n                   const float uLightTypes[4],\n                   float uShininess) {\n    ColorComponents acc = ColorComponents(vec3(0.0), vec3(0.0));\n\n    for (int i = 0; i < 4; ++i) {\n        ColorComponents curr;\n        float type = uLightTypes[i];\n        if (type == 2.0) {\n            curr = CombinedLightSpot(\n                       vVertexPosition, vNormal, uEyePosition, uLightDescs[i], \n                       uShininess);\n        } else if (type == 3.0) {\n            curr = CombinedLightPoint(\n                       vVertexPosition, vNormal, uEyePosition, uLightDescs[i], \n                       uShininess);\n        } else if (type == 1.0) {\n            curr = CombinedLightDirectional(\n                       vVertexPosition, vNormal, uEyePosition, uLightDescs[i], \n                       uShininess);\n        } else {\n            continue;\n        }\n        acc.diffuse = acc.diffuse + curr.diffuse;\n        acc.specular = acc.specular + curr.specular;\n    }\n    return acc;\n}\n"],s))
return t})
u($,"qy","j6",function(){var t=G.I("WireframeV"),s=[P.h]
t.V(H.b(["aPosition","aCenter"],s))
t.K(H.b(["vCenter"],s))
t.N(H.b(["uPerspectiveViewMatrix","uModelMatrix"],s))
t.a3(H.b(["gl_Position = uPerspectiveViewMatrix * uModelMatrix * vec4(aPosition, 1.0);","vCenter = aCenter;"],s))
return t})
u($,"qx","j5",function(){var t=G.I("WireframeF"),s=[P.h]
t.K(H.b(["vCenter"],s))
t.N(H.b(["uColorAlpha","uColorAlpha2","uWidth"],s))
t.R(H.b(["// the 3 vertices of a Face3 (w == 0) have the centers:\n// (1, 0, 0, 0)) \n// (0, 1, 0, 0)\n// (0, 0, 1, 0)\nfloat edgeFactorFace3(vec3 center) {\n    vec3 d = fwidth(center);\n    vec3 a3 = smoothstep(vec3(0.0), d * uWidth, center);\n    return min(min(a3.x, a3.y), a3.z);\n}\n\n// the 4 vertices of a Face4 (w == 1) have the centers:\n// (1, 0, 0, 1) \n// (1, 1, 0, 1)\n// (0, 1, 0, 1)\n// (0, 0, 0, 1)\nfloat edgeFactorFace4(vec2 center) {\n    vec2 d = fwidth(center);\n    vec2 a2 = smoothstep(vec2(0.0), d * uWidth, center);\n    return min(a2.x, a2.y);\n}\n\nvoid main() {\n    float q;\n    if (vCenter.w == 0.0) {\n        q = edgeFactorFace3(vCenter.xyz);\n    } else {\n        q = min(edgeFactorFace4(vCenter.xy),\n                edgeFactorFace4(1.0 - vCenter.xy));\n    }\n    oFragColor = mix(uColorAlpha, uColorAlpha2, q);\n}\n"],s))
return t})
u($,"qw","k2",function(){var t=G.I("Textured"),s=[P.h]
t.V(H.b(["aPosition","aTexUV"],s))
t.N(H.b(["uPerspectiveViewMatrix","uModelMatrix"],s))
t.K(H.b(["vTexUV"],s))
t.R(H.b(["void main() {\n  gl_Position = uPerspectiveViewMatrix * \n                uModelMatrix * \n                vec4(aPosition, 1.0);\n  vTexUV = aTexUV;\n}\n"],s))
return t})
u($,"qv","k1",function(){var t=G.I("TexturedF"),s=[P.h]
t.K(H.b(["vTexUV"],s))
t.N(H.b(["uColor","uTexture"],s))
t.a3(H.b(["oFragColor = texture(uTexture, vTexUV) + vec4( uColor, 0.0 );"],s))
return t})
u($,"qn","mh",function(){var t=G.I("MultiColorVertexColorV"),s=[P.h]
t.V(H.b(["aPosition","aColor"],s))
t.N(H.b(["uPerspectiveViewMatrix","uModelMatrix"],s))
t.K(H.b(["vColor"],s))
t.bJ(H.b(["gl_Position = uPerspectiveViewMatrix * uModelMatrix * vec4(aPosition, 1.0);","vColor = aColor;"],s),H.b(["// ============================================================\n// MISC\n// ============================================================\n\nvec3 ColorFromPosition(vec3 pos) {\n    return vec3( sin(pos.x) / 2.0 + 0.5,\n                 cos(pos.y) / 2.0 + 0.5,\n                 sin(pos.z) / 2.0 + 0.5);\n}\n\nvec3 RangeToGray(float f, float a, float b) {\n    if (f > a) return vec3(1.0);\n    if (f < b) return vec3(0.0);\n    return vec3 ((f - b) / (a-b));\n}\n\nfloat useValueButReturnZero(float x) {\n    return (x + 1.0) * (x + 1.0) - x * x - 2.0 * x - 1.0;\n}\n\n// ============================================================\n// LIGHT\n// ============================================================\n\nfloat GetDiffuse(vec3 lightDir, vec3 normal) {\n    return max(dot(normal, lightDir), 0.0);\n}\n\nfloat GetSpecular(vec3 lightDir, vec3 viewDir, vec3 normal, float glossiness) {\n    vec3 angleW = normalize(viewDir + lightDir);\n    float specComp = max(0., dot(normal, angleW));\n    return pow(specComp, max(1.0, glossiness));\n}\n\nstruct ColorComponents {\n   vec3 diffuse;\n   vec3 specular;\n};\n\n// ============================================================\n// Spot Light\n// ============================================================\n\nstruct SpotLightInfo {\n    vec3 pos;      // for spot and point\n    vec3 dir;      // for spot and dir light\n    vec3 diffuseColor;\n    vec3 specularColor;\n    float range;        // for spot and point\n    float spotCutoff;   // for spot\n    float spotFocus;    // for spot\n    // float glossiness;   // Oddball: this comes from the material\n};\n\nSpotLightInfo UnpackSpotLightInfo(mat4 m) {\n    SpotLightInfo info;\n    info.pos = m[0].xyz;\n    info.dir = normalize(m[1].xyz);\n    info.diffuseColor = m[2].xyz;\n    info.specularColor = m[3].xyz;\n    // info.glossiness = m[0].a;\n    info.range = m[1].a;\n    info.spotCutoff = m[2].a;\n    info.spotFocus = m[3].a;\n    return info;\n}\n\nColorComponents SpotLightGetDiffuseAndSpecular(SpotLightInfo light,\n                                               vec3 vertexPos,\n                                               vec3 vertexNormal,\n                                               vec3 eyePos,\n                                               float uShininess) {\n    vec3 toSpot = light.pos - vertexPos;\n    vec3 spotDir = normalize(toSpot);\n    vec3 lightDirNorm = -normalize(light.dir);\n    float cosAngle = max(0., dot(lightDirNorm, spotDir));\n\t  if (cosAngle < light.spotCutoff) {\n        return ColorComponents(vec3(0.0), vec3(0.0));\n    }\n\n    cosAngle = max(0.0, pow(cosAngle, light.spotFocus));\n\t  float attenuation = max(0.0, 1.0 - length(toSpot) / light.range) * cosAngle;\n\t  vec3 viewDirNorm = normalize(eyePos - vertexPos);\n\t  return ColorComponents(\n\t           attenuation *\n             GetDiffuse(lightDirNorm, vertexNormal) *\n             light.diffuseColor,\n             attenuation *\n             GetSpecular(lightDirNorm, viewDirNorm, vertexNormal, uShininess) *\n             light.specularColor);\n}\n\n// ============================================================\n// Point Light\n// ============================================================\n\nstruct PointLightInfo {\n    vec3 pos;\n    vec3 diffuseColor;\n    vec3 specularColor;\n    float range;\n    // float glossiness;\n};\n\nPointLightInfo UnpackPointLightInfo(mat4 m) {\n    PointLightInfo info;\n    info.pos = m[0].xyz;\n    info.diffuseColor = m[2].xyz;\n    info.specularColor = m[3].xyz;\n    info.range = m[1].a;\n    // info.glossiness = m[0].a;\n    return info;\n}\n\nColorComponents PointLightGetDiffuseAndSpecular(PointLightInfo info,\n                                     vec3 vertexPos,\n                                     vec3 vertexNormal,\n                                     vec3 eyePos,\n                                     float uShininess) {\n    vec3 lightDir = info.pos - vertexPos;\n    float attenuation = max(0.0, 1.0 - length(lightDir) / info.range);\n    vec3 lightDirNorm = normalize(lightDir);\n    vec3 viewDirNorm = normalize(eyePos - vertexPos);\n    return ColorComponents(\n              attenuation *\n              GetDiffuse(lightDirNorm, vertexNormal) *\n              info.diffuseColor,\n               attenuation *\n               GetSpecular(lightDirNorm, viewDirNorm, vertexNormal, uShininess) *\n               info.specularColor);\n}\n\n// ============================================================\n// Directional Light\n// ============================================================\n\nstruct DirectionalLightInfo {\n    vec3 dir;      // for spot and dir light\n    vec3 diffuseColor;\n    vec3 specularColor;\n    // float glossiness;   // Oddball: this comes from the material\n};\n\nDirectionalLightInfo UnpackDirectionalLightInfo(mat4 m) {\n    DirectionalLightInfo info;\n    info.dir = normalize(m[1].xyz);\n    info.diffuseColor = m[2].xyz;\n    info.specularColor = m[3].xyz;\n    // info.glossiness = m[0].a;\n    return info;\n}\n\nColorComponents DirectionalLightGetDiffuseAndSpecular(DirectionalLightInfo info,\n                                                      vec3 vertexPos,\n                                                      vec3 vertexNormal,\n                                                      vec3 eyePos,\n                                                      float uShininess) {\n    vec3 viewDirNorm = normalize(eyePos - vertexPos);\n    return ColorComponents(\n              GetDiffuse(-info.dir, vertexNormal) *\n              info.diffuseColor,\n              GetSpecular(-info.dir, viewDirNorm, vertexNormal, uShininess) *\n              info.specularColor);\n}\n\n\nColorComponents CombinedLightSpot(\n    vec3 vVertexPosition, vec3 vNormal, vec3 uEyePosition, mat4 lightDesc,\n    float shininess) {\n    SpotLightInfo info = UnpackSpotLightInfo(lightDesc);\n    return SpotLightGetDiffuseAndSpecular(\n        info, vVertexPosition, vNormal, uEyePosition, shininess);\n}\n\nColorComponents CombinedLightPoint(\n    vec3 vVertexPosition, vec3 vNormal, vec3 uEyePosition, mat4 lightDesc,\n    float shininess) {\n    PointLightInfo info = UnpackPointLightInfo(lightDesc);\n    return PointLightGetDiffuseAndSpecular(\n        info, vVertexPosition, vNormal, uEyePosition, shininess);\n}\n\nColorComponents CombinedLightDirectional(\n    vec3 vVertexPosition, vec3 vNormal, vec3 uEyePosition, mat4 lightDesc,\n    float shininess) {\n    DirectionalLightInfo info = UnpackDirectionalLightInfo(lightDesc);\n    return DirectionalLightGetDiffuseAndSpecular(\n        info, vVertexPosition, vNormal, uEyePosition, shininess);\n}\n\n// ============================================================\n// Combined Light\n// ============================================================\nColorComponents CombinedLight(vec3 vVertexPosition,\n                   vec3 vNormal,\n                   vec3 uEyePosition,\n                   const mat4 uLightDescs[4],\n                   const float uLightTypes[4],\n                   float uShininess) {\n    ColorComponents acc = ColorComponents(vec3(0.0), vec3(0.0));\n\n    for (int i = 0; i < 4; ++i) {\n        ColorComponents curr;\n        float type = uLightTypes[i];\n        if (type == 2.0) {\n            curr = CombinedLightSpot(\n                       vVertexPosition, vNormal, uEyePosition, uLightDescs[i], \n                       uShininess);\n        } else if (type == 3.0) {\n            curr = CombinedLightPoint(\n                       vVertexPosition, vNormal, uEyePosition, uLightDescs[i], \n                       uShininess);\n        } else if (type == 1.0) {\n            curr = CombinedLightDirectional(\n                       vVertexPosition, vNormal, uEyePosition, uLightDescs[i], \n                       uShininess);\n        } else {\n            continue;\n        }\n        acc.diffuse = acc.diffuse + curr.diffuse;\n        acc.specular = acc.specular + curr.specular;\n    }\n    return acc;\n}\n"],s))
return t})
u($,"qm","mg",function(){var t=G.I("MultiColorVertexColorF"),s=[P.h]
t.K(H.b(["vColor"],s))
t.a3(H.b(["oFragColor = vec4( vColor, 1.0 );"],s))
return t})
u($,"pJ","jR",function(){var t=G.I("SkyV"),s=[P.h]
t.V(H.b(["aPosition","aTexUV"],s))
t.K(H.b(["vRayDirection"],s))
t.N(H.b(["uPerspectiveViewMatrix"],s))
t.R(H.b(["void main() {\n    mat3 invcamera = inverse(mat3(uPerspectiveViewMatrix));\n    vec3 clippos = vec3(aTexUV * 2.0 - 1.0, 0.99995);\n    vRayDirection = invcamera * clippos;\n    gl_Position = vec4(clippos, 1.0);\n}\n      "],s))
return t})
u($,"pr","lE",function(){var t=G.I("SkyFPlain"),s=[P.h]
t.K(H.b(["vRayDirection"],s))
t.R(H.b(["void main() {\n    oFragColor = vec4(normalize(abs(vRayDirection)), 1.0);\n}\n      "],s))
return t})
u($,"pq","lC",function(){var t=G.I("SkyFClouds"),s=[P.h]
t.K(H.b(["vRayDirection"],s))
t.N(H.b(["uPerspectiveViewMatrix"],s))
t.R(H.b(["const uint UI0 = 1597334673U;\nconst uint UI1 = 3812015801U;\nconst uvec2 UI2 = uvec2(UI0, UI1);\nconst uvec3 UI3 = uvec3(UI0, UI1, 2798796415U);\nconst float UIF = (1.0 / float(0xffffffffU));\n\n// Hash Without Sine 2 https://www.shadertoy.com/view/XdGfRR\nfloat hash13(in uvec3 q) {\n    q *= UI3;\n    uint n = (q.x ^ q.y ^ q.z) * UI0;\n    return float(n) * UIF;\n}\nfloat hash13(in vec3 p) {\n    return hash13(uvec3(ivec3(p)) * UI3);\n}\n\nvec3 hash33(in uvec3 q) {\n    q *= UI3;\n    q = (q.x ^ q.y ^ q.z)*UI3;\n    return vec3(q) * UIF;\n}\n\nvec3 hash33(vec3 p) {\n    return hash33(uvec3(ivec3(p)));\n}\n\nfloat noise(in vec3 p) {\n    vec3 vf = floor(p);\n    uvec3 i = uvec3(ivec3(vf));\n    vec3 f = p - vf;\n    vec3 u = f * f * (3.0 - 2.0 * f);\n    return mix(mix(mix(dot(hash33(i + uvec3(0,0,0)), f - vec3(0.0,0.0,0.0)),\n                       dot(hash33(i + uvec3(1,0,0)), f - vec3(1.0,0.0,0.0)), u.x),\n                   mix(dot(hash33(i + uvec3(0,1,0)), f - vec3(0.0,1.0,0.0)),\n                       dot(hash33(i + uvec3(1,1,0)), f - vec3(1.0,1.0,0.0)), u.x), u.y),\n               mix(mix(dot(hash33(i + uvec3(0,0,1)), f - vec3(0.0,0.0,1.0)),\n                       dot(hash33(i + uvec3(1,0,1)), f - vec3(1.0,0.0,1.0)), u.x),\n                   mix(dot(hash33(i + uvec3(0,1,1)), f - vec3(0.0,1.0,1.0)),\n                       dot(hash33(i + uvec3(1,1,1)), f - vec3(1.0,1.0,1.0)), u.x), u.y), u.z);\n}\n\nconst mat3 noisemat1 = mat3(\n    -0.45579627,  0.75217353,  0.47590413,\n     0.03119306, -0.5208463 ,  0.85308038,\n    -0.88953738, -0.40367575, -0.21393721);\nconst mat3 noisemat2 = mat3(\n     0.89766414,  0.22826049, -0.37695654,\n    -0.03212991,  0.88702091,  0.46061001,\n     0.4395074 , -0.40136151,  0.80358085);\n\nvec3 noise3(in vec3 p) {\n    return vec3(noise(p), noise(noisemat1 * p), noise(noisemat2 * p));\n}\n\nfloat fogdensity(in vec3 pos, float r, vec2 sc) {\n    vec3 offset = noise3(1.2 * pos + vec3(8.0, sc));\n    offset += 0.5 * noise3(2.0 * pos + vec3(-8.0, sc));\n    float a = r - 5.0;\n    return clamp(3.0 * noise(pos * 0.6 + offset) - 0.2 - 0.2 * a * a, 0.0, 1.0);\n}\n\nvec4 fog(in vec3 pos, vec2 sc) {\n    float r = length(pos);\n    float density = fogdensity(pos, r, sc);\n    if (density < 0.001) {\n        return vec4(0.0);\n    }\n    vec3 lightdir = normalize(vec3(0.0, 0.0, 4.0) - pos);\n    vec3 pos2 = pos + 0.1 * lightdir;\n    float density2 = fogdensity(pos2, length(pos2), sc);\n    float occlusion = 1.0 - density2 * 2.0;\n    vec3 color = abs(pos);\n    color = smoothstep(\n        min(min(color.r, color.g), color.b),\n        max(max(color.r, color.g), color.b),\n        color);\n    return vec4(color * density * occlusion, density);\n}\n\nvec4 render(in vec3 origin, in vec3 dir, float jitter) {\n    vec2 sc = vec2(0.0);\n    vec4 color = vec4(0.0);\n    for (int i = 0; i < 40; i++) {\n        float t = (float(i) + jitter) * 0.2;\n        vec3 pos = origin + t * dir;\n        vec4 fcolor = fog(pos, sc);\n        color += fcolor * (1.0 - color.a);\n    }\n    return color;\n}\n\nvoid main() {\n    vec3 origin = uPerspectiveViewMatrix[3].xyz * -0.0025;\n    vec3 dir = normalize(vRayDirection);\n    oFragColor = render(origin, dir, 0.0);\n}\n      "],s))
return t})
u($,"q5","m4",function(){return H.b([E.a2(0.04,0.9,0.93),E.a2(0.055,0.95,0.93),E.a2(0.08,0.7,0.93),E.a2(0.07,0.9,0.93),E.a2(0.1,0.9,0.9),E.a2(0.13,0.9,0.93),E.a2(0.15,0.9,0.93),E.a2(0.55,0.9,0.93),E.a2(0.55,0.9,0.9),E.a2(0.6,0.9,0.93),E.a2(0.65,0.9,0.93),E.a2(0.65,0.4,0.99),E.a2(0.65,0,0.8),E.a2(0.65,0,0.6)],[E.b7])})
u($,"q4","m3",function(){return K.or($.m4())})
u($,"qa","m8",function(){return H.b([E.B(8,8,8).P(),E.B(12,12,12).P(),E.B(16,16,16).P()],[T.c])})
u($,"qd","ma",function(){return H.b([E.B(4,4,4).P()],[T.c])})
u($,"q3","m2",function(){return H.b([E.B(2,2,2).P(),E.B(4,4,4).P(),E.B(6,6,6).P(),E.B(8,8,8).P()],[T.c])})
u($,"q2","m1",function(){return H.b([E.B(16,16,16).P()],[T.c])})
u($,"q8","m7",function(){return H.b([E.B(223,217,187),E.B(223,217,187),E.B(122,206,232),E.B(122,206,232),E.B(18,116,223),E.B(21,148,247),E.B(252,166,118),E.B(227,130,60),E.B(251,45,32),E.B(158,38,20),E.B(221,222,227),E.B(249,252,251),E.B(221,222,227),E.B(249,252,251),E.B(221,222,227),E.B(249,252,251),E.B(221,222,227),E.B(249,252,251),E.B(221,222,227),E.B(249,252,251)],[E.b7])})
u($,"pM","lT",function(){var t=K.jp()
t.b=t.d=!1
return t})
u($,"pP","lW",function(){var t=K.jp()
t.a=t.b=t.c=t.d=!1
return t})
u($,"pO","lV",function(){var t=K.jp()
t.d=t.a=t.b=!1
return t})
u($,"pQ","j3",function(){var t,s,r,q="kTexturedWithFog",p="kTextured",o="kTexturedWithShadow",n=E.U(16),m=E.U(21),l=$.cr(),k=$.e6()
m=K.c9("night",n,m,l,k,2,!0,q,q,q,K.pg(),$.lT())
n=K.c9("wireframe",E.U(32),E.U(48),k,k,1,!0,"kWireframe",p,p,K.e4(),$.lW())
t=E.U(128)
s=E.U(160)
r=$.lV()
return P.fg(["night",m,"wireframe",n,"daySimple",K.c9("daySimple",t,s,k,l,3,!1,p,p,p,K.e4(),r),"dayFancy",K.c9("dayFancy",E.U(128),E.U(160),k,l,3,!1,p,p,p,K.e4(),r),"dayShadow",K.c9("dayShadow",E.U(128),E.U(160),k,k,3,!1,o,o,o,K.e4(),r),"sketch",K.c9("sketch",E.U(128),E.U(160),k,l,4,!0,"kShaderSketchPrep",p,p,K.e4(),r)],P.h,K.d1)})})();(function nativeSupport(){!function(){var u=function(a){var o={}
o[a]=1
return Object.keys(hunkHelpers.convertToFastObject(o))[0]}
v.getIsolateTag=function(a){return u("___dart_"+a+v.isolateTag)}
var t="___dart_isolate_tags_"
var s=Object[t]||(Object[t]=Object.create(null))
var r="_ZxYxX"
for(var q=0;;q++){var p=u(r+"_"+q+"_")
if(!(p in s)){s[p]=1
v.isolateTag=p
break}}v.dispatchPropertyName=v.getIsolateTag("dispatch_record")}()
hunkHelpers.setOrUpdateInterceptorsByTag({AnimationEffectReadOnly:J.a,AnimationEffectTiming:J.a,AnimationEffectTimingReadOnly:J.a,AnimationTimeline:J.a,AnimationWorkletGlobalScope:J.a,AuthenticatorAssertionResponse:J.a,AuthenticatorAttestationResponse:J.a,AuthenticatorResponse:J.a,BackgroundFetchFetch:J.a,BackgroundFetchManager:J.a,BackgroundFetchSettledFetch:J.a,BarProp:J.a,BarcodeDetector:J.a,BluetoothRemoteGATTDescriptor:J.a,Body:J.a,BudgetState:J.a,CacheStorage:J.a,CanvasGradient:J.a,CanvasPattern:J.a,Client:J.a,Clients:J.a,CookieStore:J.a,Coordinates:J.a,Credential:J.a,CredentialUserData:J.a,CredentialsContainer:J.a,Crypto:J.a,CryptoKey:J.a,CSS:J.a,CSSVariableReferenceValue:J.a,CustomElementRegistry:J.a,DataTransfer:J.a,DataTransferItem:J.a,DeprecatedStorageInfo:J.a,DeprecatedStorageQuota:J.a,DeprecationReport:J.a,DetectedBarcode:J.a,DetectedFace:J.a,DetectedText:J.a,DeviceAcceleration:J.a,DeviceRotationRate:J.a,DirectoryEntry:J.a,DirectoryReader:J.a,DocumentOrShadowRoot:J.a,DocumentTimeline:J.a,DOMError:J.a,DOMImplementation:J.a,Iterator:J.a,DOMMatrix:J.a,DOMMatrixReadOnly:J.a,DOMParser:J.a,DOMPoint:J.a,DOMPointReadOnly:J.a,DOMQuad:J.a,DOMStringMap:J.a,Entry:J.a,External:J.a,FaceDetector:J.a,FederatedCredential:J.a,FileEntry:J.a,DOMFileSystem:J.a,FontFace:J.a,FontFaceSource:J.a,FormData:J.a,GamepadButton:J.a,GamepadPose:J.a,Geolocation:J.a,Position:J.a,Headers:J.a,HTMLHyperlinkElementUtils:J.a,IdleDeadline:J.a,ImageBitmap:J.a,ImageBitmapRenderingContext:J.a,ImageCapture:J.a,InputDeviceCapabilities:J.a,IntersectionObserver:J.a,IntersectionObserverEntry:J.a,InterventionReport:J.a,KeyframeEffect:J.a,KeyframeEffectReadOnly:J.a,MediaCapabilities:J.a,MediaCapabilitiesInfo:J.a,MediaDeviceInfo:J.a,MediaError:J.a,MediaKeyStatusMap:J.a,MediaKeySystemAccess:J.a,MediaKeys:J.a,MediaKeysPolicy:J.a,MediaMetadata:J.a,MediaSession:J.a,MediaSettingsRange:J.a,MemoryInfo:J.a,MessageChannel:J.a,Metadata:J.a,MutationObserver:J.a,WebKitMutationObserver:J.a,MutationRecord:J.a,NavigationPreloadManager:J.a,Navigator:J.a,NavigatorAutomationInformation:J.a,NavigatorConcurrentHardware:J.a,NavigatorCookies:J.a,NavigatorUserMediaError:J.a,NodeFilter:J.a,NodeIterator:J.a,NonDocumentTypeChildNode:J.a,NonElementParentNode:J.a,NoncedElement:J.a,OffscreenCanvasRenderingContext2D:J.a,OverconstrainedError:J.a,PaintRenderingContext2D:J.a,PaintSize:J.a,PaintWorkletGlobalScope:J.a,PasswordCredential:J.a,Path2D:J.a,PaymentAddress:J.a,PaymentInstruments:J.a,PaymentManager:J.a,PaymentResponse:J.a,PerformanceEntry:J.a,PerformanceLongTaskTiming:J.a,PerformanceMark:J.a,PerformanceMeasure:J.a,PerformanceNavigation:J.a,PerformanceNavigationTiming:J.a,PerformanceObserver:J.a,PerformanceObserverEntryList:J.a,PerformancePaintTiming:J.a,PerformanceResourceTiming:J.a,PerformanceServerTiming:J.a,PerformanceTiming:J.a,Permissions:J.a,PhotoCapabilities:J.a,PositionError:J.a,Presentation:J.a,PresentationReceiver:J.a,PublicKeyCredential:J.a,PushManager:J.a,PushMessageData:J.a,PushSubscription:J.a,PushSubscriptionOptions:J.a,Range:J.a,RelatedApplication:J.a,ReportBody:J.a,ReportingObserver:J.a,ResizeObserver:J.a,ResizeObserverEntry:J.a,RTCCertificate:J.a,RTCIceCandidate:J.a,mozRTCIceCandidate:J.a,RTCLegacyStatsReport:J.a,RTCRtpContributingSource:J.a,RTCRtpReceiver:J.a,RTCRtpSender:J.a,RTCSessionDescription:J.a,mozRTCSessionDescription:J.a,RTCStatsResponse:J.a,Screen:J.a,ScrollState:J.a,ScrollTimeline:J.a,Selection:J.a,SharedArrayBuffer:J.a,SpeechRecognitionAlternative:J.a,SpeechSynthesisVoice:J.a,StaticRange:J.a,StorageManager:J.a,StyleMedia:J.a,StylePropertyMap:J.a,StylePropertyMapReadonly:J.a,SyncManager:J.a,TaskAttributionTiming:J.a,TextDetector:J.a,TextMetrics:J.a,TrackDefault:J.a,TreeWalker:J.a,TrustedHTML:J.a,TrustedScriptURL:J.a,TrustedURL:J.a,UnderlyingSourceBase:J.a,URLSearchParams:J.a,VRCoordinateSystem:J.a,VRDisplayCapabilities:J.a,VREyeParameters:J.a,VRFrameData:J.a,VRFrameOfReference:J.a,VRPose:J.a,VRStageBounds:J.a,VRStageBoundsPoint:J.a,VRStageParameters:J.a,ValidityState:J.a,VideoPlaybackQuality:J.a,VideoTrack:J.a,VTTRegion:J.a,WindowClient:J.a,WorkletAnimation:J.a,WorkletGlobalScope:J.a,XPathEvaluator:J.a,XPathExpression:J.a,XPathNSResolver:J.a,XPathResult:J.a,XMLSerializer:J.a,XSLTProcessor:J.a,Bluetooth:J.a,BluetoothCharacteristicProperties:J.a,BluetoothRemoteGATTServer:J.a,BluetoothRemoteGATTService:J.a,BluetoothUUID:J.a,BudgetService:J.a,Cache:J.a,DOMFileSystemSync:J.a,DirectoryEntrySync:J.a,DirectoryReaderSync:J.a,EntrySync:J.a,FileEntrySync:J.a,FileReaderSync:J.a,FileWriterSync:J.a,HTMLAllCollection:J.a,Mojo:J.a,MojoHandle:J.a,MojoWatcher:J.a,NFC:J.a,PagePopupController:J.a,Report:J.a,Request:J.a,Response:J.a,SubtleCrypto:J.a,USBAlternateInterface:J.a,USBConfiguration:J.a,USBDevice:J.a,USBEndpoint:J.a,USBInTransferResult:J.a,USBInterface:J.a,USBIsochronousInTransferPacket:J.a,USBIsochronousInTransferResult:J.a,USBIsochronousOutTransferPacket:J.a,USBIsochronousOutTransferResult:J.a,USBOutTransferResult:J.a,WorkerLocation:J.a,WorkerNavigator:J.a,Worklet:J.a,IDBCursor:J.a,IDBCursorWithValue:J.a,IDBFactory:J.a,IDBIndex:J.a,IDBKeyRange:J.a,IDBObjectStore:J.a,IDBObservation:J.a,IDBObserver:J.a,IDBObserverChanges:J.a,SVGAngle:J.a,SVGAnimatedAngle:J.a,SVGAnimatedBoolean:J.a,SVGAnimatedEnumeration:J.a,SVGAnimatedInteger:J.a,SVGAnimatedLength:J.a,SVGAnimatedLengthList:J.a,SVGAnimatedNumber:J.a,SVGAnimatedNumberList:J.a,SVGAnimatedPreserveAspectRatio:J.a,SVGAnimatedRect:J.a,SVGAnimatedString:J.a,SVGAnimatedTransformList:J.a,SVGMatrix:J.a,SVGPoint:J.a,SVGPreserveAspectRatio:J.a,SVGRect:J.a,SVGUnitTypes:J.a,AudioListener:J.a,AudioParam:J.a,AudioTrack:J.a,AudioWorkletGlobalScope:J.a,AudioWorkletProcessor:J.a,PeriodicWave:J.a,WebGLActiveInfo:J.a,ANGLEInstancedArrays:J.a,ANGLE_instanced_arrays:J.a,WebGLBuffer:J.a,WebGLCanvas:J.a,WebGLColorBufferFloat:J.a,WebGLCompressedTextureASTC:J.a,WebGLCompressedTextureATC:J.a,WEBGL_compressed_texture_atc:J.a,WebGLCompressedTextureETC1:J.a,WEBGL_compressed_texture_etc1:J.a,WebGLCompressedTextureETC:J.a,WebGLCompressedTexturePVRTC:J.a,WEBGL_compressed_texture_pvrtc:J.a,WebGLCompressedTextureS3TC:J.a,WEBGL_compressed_texture_s3tc:J.a,WebGLCompressedTextureS3TCsRGB:J.a,WebGLDebugRendererInfo:J.a,WEBGL_debug_renderer_info:J.a,WebGLDebugShaders:J.a,WEBGL_debug_shaders:J.a,WebGLDepthTexture:J.a,WEBGL_depth_texture:J.a,WebGLDrawBuffers:J.a,WEBGL_draw_buffers:J.a,EXTsRGB:J.a,EXT_sRGB:J.a,EXTBlendMinMax:J.a,EXT_blend_minmax:J.a,EXTColorBufferFloat:J.a,EXTColorBufferHalfFloat:J.a,EXTDisjointTimerQuery:J.a,EXTDisjointTimerQueryWebGL2:J.a,EXTFragDepth:J.a,EXT_frag_depth:J.a,EXTShaderTextureLOD:J.a,EXT_shader_texture_lod:J.a,EXTTextureFilterAnisotropic:J.a,EXT_texture_filter_anisotropic:J.a,WebGLFramebuffer:J.a,WebGLGetBufferSubDataAsync:J.a,WebGLLoseContext:J.a,WebGLExtensionLoseContext:J.a,WEBGL_lose_context:J.a,OESElementIndexUint:J.a,OES_element_index_uint:J.a,OESStandardDerivatives:J.a,OES_standard_derivatives:J.a,OESTextureFloat:J.a,OES_texture_float:J.a,OESTextureFloatLinear:J.a,OES_texture_float_linear:J.a,OESTextureHalfFloat:J.a,OES_texture_half_float:J.a,OESTextureHalfFloatLinear:J.a,OES_texture_half_float_linear:J.a,OESVertexArrayObject:J.a,OES_vertex_array_object:J.a,WebGLProgram:J.a,WebGLQuery:J.a,WebGLRenderbuffer:J.a,WebGLSampler:J.a,WebGLShader:J.a,WebGLShaderPrecisionFormat:J.a,WebGLSync:J.a,WebGLTexture:J.a,WebGLTimerQueryEXT:J.a,WebGLTransformFeedback:J.a,WebGLUniformLocation:J.a,WebGLVertexArrayObject:J.a,WebGLVertexArrayObjectOES:J.a,WebGL:J.a,WebGL2RenderingContextBase:J.a,Database:J.a,SQLError:J.a,SQLResultSet:J.a,SQLTransaction:J.a,ArrayBuffer:H.bY,DataView:H.c_,ArrayBufferView:H.c_,Float64Array:H.bZ,Float32Array:H.cL,Int16Array:H.fB,Int32Array:H.fC,Int8Array:H.fD,Uint16Array:H.fE,Uint32Array:H.fF,Uint8ClampedArray:H.cO,CanvasPixelArray:H.cO,Uint8Array:H.fG,HTMLAudioElement:W.n,HTMLBRElement:W.n,HTMLBaseElement:W.n,HTMLButtonElement:W.n,HTMLContentElement:W.n,HTMLDListElement:W.n,HTMLDataElement:W.n,HTMLDataListElement:W.n,HTMLDetailsElement:W.n,HTMLDialogElement:W.n,HTMLEmbedElement:W.n,HTMLFieldSetElement:W.n,HTMLHRElement:W.n,HTMLHeadElement:W.n,HTMLHeadingElement:W.n,HTMLHtmlElement:W.n,HTMLIFrameElement:W.n,HTMLImageElement:W.n,HTMLLIElement:W.n,HTMLLabelElement:W.n,HTMLLegendElement:W.n,HTMLLinkElement:W.n,HTMLMapElement:W.n,HTMLMediaElement:W.n,HTMLMenuElement:W.n,HTMLMetaElement:W.n,HTMLMeterElement:W.n,HTMLModElement:W.n,HTMLOListElement:W.n,HTMLObjectElement:W.n,HTMLOptGroupElement:W.n,HTMLOptionElement:W.n,HTMLOutputElement:W.n,HTMLParagraphElement:W.n,HTMLParamElement:W.n,HTMLPictureElement:W.n,HTMLPreElement:W.n,HTMLProgressElement:W.n,HTMLQuoteElement:W.n,HTMLScriptElement:W.n,HTMLShadowElement:W.n,HTMLSlotElement:W.n,HTMLSourceElement:W.n,HTMLSpanElement:W.n,HTMLStyleElement:W.n,HTMLTableCaptionElement:W.n,HTMLTableCellElement:W.n,HTMLTableDataCellElement:W.n,HTMLTableHeaderCellElement:W.n,HTMLTableColElement:W.n,HTMLTextAreaElement:W.n,HTMLTimeElement:W.n,HTMLTitleElement:W.n,HTMLTrackElement:W.n,HTMLUListElement:W.n,HTMLUnknownElement:W.n,HTMLVideoElement:W.n,HTMLDirectoryElement:W.n,HTMLFontElement:W.n,HTMLFrameElement:W.n,HTMLFrameSetElement:W.n,HTMLMarqueeElement:W.n,HTMLElement:W.n,AccessibleNodeList:W.ec,HTMLAnchorElement:W.ef,HTMLAreaElement:W.eg,Blob:W.cv,HTMLBodyElement:W.bl,HTMLCanvasElement:W.aR,CanvasRenderingContext2D:W.cx,CDATASection:W.aT,CharacterData:W.aT,Comment:W.aT,ProcessingInstruction:W.aT,Text:W.aT,CSSPerspective:W.ew,CSSCharsetRule:W.H,CSSConditionRule:W.H,CSSFontFaceRule:W.H,CSSGroupingRule:W.H,CSSImportRule:W.H,CSSKeyframeRule:W.H,MozCSSKeyframeRule:W.H,WebKitCSSKeyframeRule:W.H,CSSKeyframesRule:W.H,MozCSSKeyframesRule:W.H,WebKitCSSKeyframesRule:W.H,CSSMediaRule:W.H,CSSNamespaceRule:W.H,CSSPageRule:W.H,CSSRule:W.H,CSSStyleRule:W.H,CSSSupportsRule:W.H,CSSViewportRule:W.H,CSSStyleDeclaration:W.bp,MSStyleCSSProperties:W.bp,CSS2Properties:W.bp,CSSImageValue:W.ab,CSSKeywordValue:W.ab,CSSNumericValue:W.ab,CSSPositionValue:W.ab,CSSResourceValue:W.ab,CSSUnitValue:W.ab,CSSURLImageValue:W.ab,CSSStyleValue:W.ab,CSSMatrixComponent:W.aq,CSSRotation:W.aq,CSSScale:W.aq,CSSSkew:W.aq,CSSTranslation:W.aq,CSSTransformComponent:W.aq,CSSTransformValue:W.ey,CSSUnparsedValue:W.ez,DataTransferItemList:W.eB,HTMLDivElement:W.cA,Document:W.bR,HTMLDocument:W.bR,XMLDocument:W.bR,DOMException:W.eC,ClientRectList:W.cB,DOMRectList:W.cB,DOMRectReadOnly:W.cC,DOMStringList:W.eD,DOMTokenList:W.eE,Element:W.ac,AbortPaymentEvent:W.i,AnimationEvent:W.i,AnimationPlaybackEvent:W.i,ApplicationCacheErrorEvent:W.i,BackgroundFetchClickEvent:W.i,BackgroundFetchEvent:W.i,BackgroundFetchFailEvent:W.i,BackgroundFetchedEvent:W.i,BeforeInstallPromptEvent:W.i,BeforeUnloadEvent:W.i,BlobEvent:W.i,CanMakePaymentEvent:W.i,ClipboardEvent:W.i,CloseEvent:W.i,CustomEvent:W.i,DeviceMotionEvent:W.i,DeviceOrientationEvent:W.i,ErrorEvent:W.i,ExtendableEvent:W.i,ExtendableMessageEvent:W.i,FetchEvent:W.i,FontFaceSetLoadEvent:W.i,ForeignFetchEvent:W.i,GamepadEvent:W.i,HashChangeEvent:W.i,InstallEvent:W.i,MediaEncryptedEvent:W.i,MediaKeyMessageEvent:W.i,MediaQueryListEvent:W.i,MediaStreamEvent:W.i,MediaStreamTrackEvent:W.i,MessageEvent:W.i,MIDIConnectionEvent:W.i,MIDIMessageEvent:W.i,MutationEvent:W.i,NotificationEvent:W.i,PageTransitionEvent:W.i,PaymentRequestEvent:W.i,PaymentRequestUpdateEvent:W.i,PopStateEvent:W.i,PresentationConnectionAvailableEvent:W.i,PresentationConnectionCloseEvent:W.i,ProgressEvent:W.i,PromiseRejectionEvent:W.i,PushEvent:W.i,RTCDataChannelEvent:W.i,RTCDTMFToneChangeEvent:W.i,RTCPeerConnectionIceEvent:W.i,RTCTrackEvent:W.i,SecurityPolicyViolationEvent:W.i,SensorErrorEvent:W.i,SpeechRecognitionError:W.i,SpeechRecognitionEvent:W.i,SpeechSynthesisEvent:W.i,StorageEvent:W.i,SyncEvent:W.i,TrackEvent:W.i,TransitionEvent:W.i,WebKitTransitionEvent:W.i,VRDeviceEvent:W.i,VRDisplayEvent:W.i,VRSessionEvent:W.i,MojoInterfaceRequestEvent:W.i,ResourceProgressEvent:W.i,USBConnectionEvent:W.i,IDBVersionChangeEvent:W.i,AudioProcessingEvent:W.i,OfflineAudioCompletionEvent:W.i,WebGLContextEvent:W.i,Event:W.i,InputEvent:W.i,AbsoluteOrientationSensor:W.f,Accelerometer:W.f,AccessibleNode:W.f,AmbientLightSensor:W.f,Animation:W.f,ApplicationCache:W.f,DOMApplicationCache:W.f,OfflineResourceList:W.f,BackgroundFetchRegistration:W.f,BatteryManager:W.f,BroadcastChannel:W.f,CanvasCaptureMediaStreamTrack:W.f,DedicatedWorkerGlobalScope:W.f,EventSource:W.f,FileReader:W.f,FontFaceSet:W.f,Gyroscope:W.f,XMLHttpRequest:W.f,XMLHttpRequestEventTarget:W.f,XMLHttpRequestUpload:W.f,LinearAccelerationSensor:W.f,Magnetometer:W.f,MediaDevices:W.f,MediaKeySession:W.f,MediaQueryList:W.f,MediaRecorder:W.f,MediaSource:W.f,MediaStream:W.f,MediaStreamTrack:W.f,MessagePort:W.f,MIDIAccess:W.f,MIDIInput:W.f,MIDIOutput:W.f,MIDIPort:W.f,NetworkInformation:W.f,Notification:W.f,OffscreenCanvas:W.f,OrientationSensor:W.f,PaymentRequest:W.f,Performance:W.f,PermissionStatus:W.f,PresentationAvailability:W.f,PresentationConnection:W.f,PresentationConnectionList:W.f,PresentationRequest:W.f,RelativeOrientationSensor:W.f,RemotePlayback:W.f,RTCDataChannel:W.f,DataChannel:W.f,RTCDTMFSender:W.f,RTCPeerConnection:W.f,webkitRTCPeerConnection:W.f,mozRTCPeerConnection:W.f,ScreenOrientation:W.f,Sensor:W.f,ServiceWorker:W.f,ServiceWorkerContainer:W.f,ServiceWorkerGlobalScope:W.f,ServiceWorkerRegistration:W.f,SharedWorker:W.f,SharedWorkerGlobalScope:W.f,SpeechRecognition:W.f,SpeechSynthesis:W.f,SpeechSynthesisUtterance:W.f,VR:W.f,VRDevice:W.f,VRDisplay:W.f,VRSession:W.f,VisualViewport:W.f,WebSocket:W.f,Worker:W.f,WorkerGlobalScope:W.f,WorkerPerformance:W.f,BluetoothDevice:W.f,BluetoothRemoteGATTCharacteristic:W.f,Clipboard:W.f,MojoInterfaceInterceptor:W.f,USB:W.f,IDBDatabase:W.f,IDBOpenDBRequest:W.f,IDBVersionChangeRequest:W.f,IDBRequest:W.f,IDBTransaction:W.f,AnalyserNode:W.f,RealtimeAnalyserNode:W.f,AudioBufferSourceNode:W.f,AudioDestinationNode:W.f,AudioNode:W.f,AudioScheduledSourceNode:W.f,AudioWorkletNode:W.f,BiquadFilterNode:W.f,ChannelMergerNode:W.f,AudioChannelMerger:W.f,ChannelSplitterNode:W.f,AudioChannelSplitter:W.f,ConstantSourceNode:W.f,ConvolverNode:W.f,DelayNode:W.f,DynamicsCompressorNode:W.f,GainNode:W.f,AudioGainNode:W.f,IIRFilterNode:W.f,MediaElementAudioSourceNode:W.f,MediaStreamAudioDestinationNode:W.f,MediaStreamAudioSourceNode:W.f,OscillatorNode:W.f,Oscillator:W.f,PannerNode:W.f,AudioPannerNode:W.f,webkitAudioPannerNode:W.f,ScriptProcessorNode:W.f,JavaScriptAudioNode:W.f,StereoPannerNode:W.f,WaveShaperNode:W.f,EventTarget:W.f,File:W.aC,FileList:W.eM,FileWriter:W.eN,HTMLFormElement:W.eP,Gamepad:W.aD,History:W.eW,HTMLCollection:W.bU,HTMLFormControlsCollection:W.bU,HTMLOptionsCollection:W.bU,ImageData:W.bt,HTMLInputElement:W.bV,KeyboardEvent:W.bu,Location:W.fi,MediaList:W.fp,MIDIInputMap:W.fq,MIDIOutputMap:W.fs,MimeType:W.aF,MimeTypeArray:W.fu,PointerEvent:W.X,MouseEvent:W.X,DragEvent:W.X,DocumentFragment:W.L,ShadowRoot:W.L,Attr:W.L,DocumentType:W.L,Node:W.L,NodeList:W.c0,RadioNodeList:W.c0,Plugin:W.aH,PluginArray:W.fO,RTCStatsReport:W.h1,HTMLSelectElement:W.b8,SourceBuffer:W.aI,SourceBufferList:W.h8,SpeechGrammar:W.aJ,SpeechGrammarList:W.ha,SpeechRecognitionResult:W.aK,Storage:W.hf,CSSStyleSheet:W.at,StyleSheet:W.at,HTMLTableElement:W.cZ,HTMLTableRowElement:W.hm,HTMLTableSectionElement:W.hn,HTMLTemplateElement:W.c8,TextTrack:W.aL,TextTrackCue:W.au,VTTCue:W.au,TextTrackCueList:W.hp,TextTrackList:W.hq,TimeRanges:W.hr,Touch:W.aM,TouchList:W.hx,TrackDefaultList:W.hy,CompositionEvent:W.aN,FocusEvent:W.aN,TextEvent:W.aN,TouchEvent:W.aN,UIEvent:W.aN,URL:W.hH,VideoTrackList:W.hI,WheelEvent:W.ba,Window:W.ca,DOMWindow:W.ca,CSSRuleList:W.hT,ClientRect:W.d9,DOMRect:W.d9,GamepadList:W.ie,NamedNodeMap:W.ds,MozNamedAttrMap:W.ds,SpeechRecognitionResultList:W.iw,StyleSheetList:W.ix,SVGLength:P.bv,SVGLengthList:P.fa,SVGNumber:P.bz,SVGNumberList:P.fK,SVGPointList:P.fP,SVGScriptElement:P.c5,SVGStringList:P.hl,SVGAElement:P.k,SVGAnimateElement:P.k,SVGAnimateMotionElement:P.k,SVGAnimateTransformElement:P.k,SVGAnimationElement:P.k,SVGCircleElement:P.k,SVGClipPathElement:P.k,SVGDefsElement:P.k,SVGDescElement:P.k,SVGDiscardElement:P.k,SVGEllipseElement:P.k,SVGFEBlendElement:P.k,SVGFEColorMatrixElement:P.k,SVGFEComponentTransferElement:P.k,SVGFECompositeElement:P.k,SVGFEConvolveMatrixElement:P.k,SVGFEDiffuseLightingElement:P.k,SVGFEDisplacementMapElement:P.k,SVGFEDistantLightElement:P.k,SVGFEFloodElement:P.k,SVGFEFuncAElement:P.k,SVGFEFuncBElement:P.k,SVGFEFuncGElement:P.k,SVGFEFuncRElement:P.k,SVGFEGaussianBlurElement:P.k,SVGFEImageElement:P.k,SVGFEMergeElement:P.k,SVGFEMergeNodeElement:P.k,SVGFEMorphologyElement:P.k,SVGFEOffsetElement:P.k,SVGFEPointLightElement:P.k,SVGFESpecularLightingElement:P.k,SVGFESpotLightElement:P.k,SVGFETileElement:P.k,SVGFETurbulenceElement:P.k,SVGFilterElement:P.k,SVGForeignObjectElement:P.k,SVGGElement:P.k,SVGGeometryElement:P.k,SVGGraphicsElement:P.k,SVGImageElement:P.k,SVGLineElement:P.k,SVGLinearGradientElement:P.k,SVGMarkerElement:P.k,SVGMaskElement:P.k,SVGMetadataElement:P.k,SVGPathElement:P.k,SVGPatternElement:P.k,SVGPolygonElement:P.k,SVGPolylineElement:P.k,SVGRadialGradientElement:P.k,SVGRectElement:P.k,SVGSetElement:P.k,SVGStopElement:P.k,SVGStyleElement:P.k,SVGSVGElement:P.k,SVGSwitchElement:P.k,SVGSymbolElement:P.k,SVGTSpanElement:P.k,SVGTextContentElement:P.k,SVGTextElement:P.k,SVGTextPathElement:P.k,SVGTextPositioningElement:P.k,SVGTitleElement:P.k,SVGUseElement:P.k,SVGViewElement:P.k,SVGGradientElement:P.k,SVGComponentTransferFunctionElement:P.k,SVGFEDropShadowElement:P.k,SVGMPathElement:P.k,SVGElement:P.k,SVGTransform:P.bH,SVGTransformList:P.hz,AudioBuffer:P.ej,AudioParamMap:P.ek,AudioTrackList:P.em,AudioContext:P.bk,webkitAudioContext:P.bk,BaseAudioContext:P.bk,OfflineAudioContext:P.fL,WebGLRenderingContext:P.fY,WebGL2RenderingContext:P.fZ,SQLResultSetRowList:P.hb})
hunkHelpers.setOrUpdateLeafTags({AnimationEffectReadOnly:true,AnimationEffectTiming:true,AnimationEffectTimingReadOnly:true,AnimationTimeline:true,AnimationWorkletGlobalScope:true,AuthenticatorAssertionResponse:true,AuthenticatorAttestationResponse:true,AuthenticatorResponse:true,BackgroundFetchFetch:true,BackgroundFetchManager:true,BackgroundFetchSettledFetch:true,BarProp:true,BarcodeDetector:true,BluetoothRemoteGATTDescriptor:true,Body:true,BudgetState:true,CacheStorage:true,CanvasGradient:true,CanvasPattern:true,Client:true,Clients:true,CookieStore:true,Coordinates:true,Credential:true,CredentialUserData:true,CredentialsContainer:true,Crypto:true,CryptoKey:true,CSS:true,CSSVariableReferenceValue:true,CustomElementRegistry:true,DataTransfer:true,DataTransferItem:true,DeprecatedStorageInfo:true,DeprecatedStorageQuota:true,DeprecationReport:true,DetectedBarcode:true,DetectedFace:true,DetectedText:true,DeviceAcceleration:true,DeviceRotationRate:true,DirectoryEntry:true,DirectoryReader:true,DocumentOrShadowRoot:true,DocumentTimeline:true,DOMError:true,DOMImplementation:true,Iterator:true,DOMMatrix:true,DOMMatrixReadOnly:true,DOMParser:true,DOMPoint:true,DOMPointReadOnly:true,DOMQuad:true,DOMStringMap:true,Entry:true,External:true,FaceDetector:true,FederatedCredential:true,FileEntry:true,DOMFileSystem:true,FontFace:true,FontFaceSource:true,FormData:true,GamepadButton:true,GamepadPose:true,Geolocation:true,Position:true,Headers:true,HTMLHyperlinkElementUtils:true,IdleDeadline:true,ImageBitmap:true,ImageBitmapRenderingContext:true,ImageCapture:true,InputDeviceCapabilities:true,IntersectionObserver:true,IntersectionObserverEntry:true,InterventionReport:true,KeyframeEffect:true,KeyframeEffectReadOnly:true,MediaCapabilities:true,MediaCapabilitiesInfo:true,MediaDeviceInfo:true,MediaError:true,MediaKeyStatusMap:true,MediaKeySystemAccess:true,MediaKeys:true,MediaKeysPolicy:true,MediaMetadata:true,MediaSession:true,MediaSettingsRange:true,MemoryInfo:true,MessageChannel:true,Metadata:true,MutationObserver:true,WebKitMutationObserver:true,MutationRecord:true,NavigationPreloadManager:true,Navigator:true,NavigatorAutomationInformation:true,NavigatorConcurrentHardware:true,NavigatorCookies:true,NavigatorUserMediaError:true,NodeFilter:true,NodeIterator:true,NonDocumentTypeChildNode:true,NonElementParentNode:true,NoncedElement:true,OffscreenCanvasRenderingContext2D:true,OverconstrainedError:true,PaintRenderingContext2D:true,PaintSize:true,PaintWorkletGlobalScope:true,PasswordCredential:true,Path2D:true,PaymentAddress:true,PaymentInstruments:true,PaymentManager:true,PaymentResponse:true,PerformanceEntry:true,PerformanceLongTaskTiming:true,PerformanceMark:true,PerformanceMeasure:true,PerformanceNavigation:true,PerformanceNavigationTiming:true,PerformanceObserver:true,PerformanceObserverEntryList:true,PerformancePaintTiming:true,PerformanceResourceTiming:true,PerformanceServerTiming:true,PerformanceTiming:true,Permissions:true,PhotoCapabilities:true,PositionError:true,Presentation:true,PresentationReceiver:true,PublicKeyCredential:true,PushManager:true,PushMessageData:true,PushSubscription:true,PushSubscriptionOptions:true,Range:true,RelatedApplication:true,ReportBody:true,ReportingObserver:true,ResizeObserver:true,ResizeObserverEntry:true,RTCCertificate:true,RTCIceCandidate:true,mozRTCIceCandidate:true,RTCLegacyStatsReport:true,RTCRtpContributingSource:true,RTCRtpReceiver:true,RTCRtpSender:true,RTCSessionDescription:true,mozRTCSessionDescription:true,RTCStatsResponse:true,Screen:true,ScrollState:true,ScrollTimeline:true,Selection:true,SharedArrayBuffer:true,SpeechRecognitionAlternative:true,SpeechSynthesisVoice:true,StaticRange:true,StorageManager:true,StyleMedia:true,StylePropertyMap:true,StylePropertyMapReadonly:true,SyncManager:true,TaskAttributionTiming:true,TextDetector:true,TextMetrics:true,TrackDefault:true,TreeWalker:true,TrustedHTML:true,TrustedScriptURL:true,TrustedURL:true,UnderlyingSourceBase:true,URLSearchParams:true,VRCoordinateSystem:true,VRDisplayCapabilities:true,VREyeParameters:true,VRFrameData:true,VRFrameOfReference:true,VRPose:true,VRStageBounds:true,VRStageBoundsPoint:true,VRStageParameters:true,ValidityState:true,VideoPlaybackQuality:true,VideoTrack:true,VTTRegion:true,WindowClient:true,WorkletAnimation:true,WorkletGlobalScope:true,XPathEvaluator:true,XPathExpression:true,XPathNSResolver:true,XPathResult:true,XMLSerializer:true,XSLTProcessor:true,Bluetooth:true,BluetoothCharacteristicProperties:true,BluetoothRemoteGATTServer:true,BluetoothRemoteGATTService:true,BluetoothUUID:true,BudgetService:true,Cache:true,DOMFileSystemSync:true,DirectoryEntrySync:true,DirectoryReaderSync:true,EntrySync:true,FileEntrySync:true,FileReaderSync:true,FileWriterSync:true,HTMLAllCollection:true,Mojo:true,MojoHandle:true,MojoWatcher:true,NFC:true,PagePopupController:true,Report:true,Request:true,Response:true,SubtleCrypto:true,USBAlternateInterface:true,USBConfiguration:true,USBDevice:true,USBEndpoint:true,USBInTransferResult:true,USBInterface:true,USBIsochronousInTransferPacket:true,USBIsochronousInTransferResult:true,USBIsochronousOutTransferPacket:true,USBIsochronousOutTransferResult:true,USBOutTransferResult:true,WorkerLocation:true,WorkerNavigator:true,Worklet:true,IDBCursor:true,IDBCursorWithValue:true,IDBFactory:true,IDBIndex:true,IDBKeyRange:true,IDBObjectStore:true,IDBObservation:true,IDBObserver:true,IDBObserverChanges:true,SVGAngle:true,SVGAnimatedAngle:true,SVGAnimatedBoolean:true,SVGAnimatedEnumeration:true,SVGAnimatedInteger:true,SVGAnimatedLength:true,SVGAnimatedLengthList:true,SVGAnimatedNumber:true,SVGAnimatedNumberList:true,SVGAnimatedPreserveAspectRatio:true,SVGAnimatedRect:true,SVGAnimatedString:true,SVGAnimatedTransformList:true,SVGMatrix:true,SVGPoint:true,SVGPreserveAspectRatio:true,SVGRect:true,SVGUnitTypes:true,AudioListener:true,AudioParam:true,AudioTrack:true,AudioWorkletGlobalScope:true,AudioWorkletProcessor:true,PeriodicWave:true,WebGLActiveInfo:true,ANGLEInstancedArrays:true,ANGLE_instanced_arrays:true,WebGLBuffer:true,WebGLCanvas:true,WebGLColorBufferFloat:true,WebGLCompressedTextureASTC:true,WebGLCompressedTextureATC:true,WEBGL_compressed_texture_atc:true,WebGLCompressedTextureETC1:true,WEBGL_compressed_texture_etc1:true,WebGLCompressedTextureETC:true,WebGLCompressedTexturePVRTC:true,WEBGL_compressed_texture_pvrtc:true,WebGLCompressedTextureS3TC:true,WEBGL_compressed_texture_s3tc:true,WebGLCompressedTextureS3TCsRGB:true,WebGLDebugRendererInfo:true,WEBGL_debug_renderer_info:true,WebGLDebugShaders:true,WEBGL_debug_shaders:true,WebGLDepthTexture:true,WEBGL_depth_texture:true,WebGLDrawBuffers:true,WEBGL_draw_buffers:true,EXTsRGB:true,EXT_sRGB:true,EXTBlendMinMax:true,EXT_blend_minmax:true,EXTColorBufferFloat:true,EXTColorBufferHalfFloat:true,EXTDisjointTimerQuery:true,EXTDisjointTimerQueryWebGL2:true,EXTFragDepth:true,EXT_frag_depth:true,EXTShaderTextureLOD:true,EXT_shader_texture_lod:true,EXTTextureFilterAnisotropic:true,EXT_texture_filter_anisotropic:true,WebGLFramebuffer:true,WebGLGetBufferSubDataAsync:true,WebGLLoseContext:true,WebGLExtensionLoseContext:true,WEBGL_lose_context:true,OESElementIndexUint:true,OES_element_index_uint:true,OESStandardDerivatives:true,OES_standard_derivatives:true,OESTextureFloat:true,OES_texture_float:true,OESTextureFloatLinear:true,OES_texture_float_linear:true,OESTextureHalfFloat:true,OES_texture_half_float:true,OESTextureHalfFloatLinear:true,OES_texture_half_float_linear:true,OESVertexArrayObject:true,OES_vertex_array_object:true,WebGLProgram:true,WebGLQuery:true,WebGLRenderbuffer:true,WebGLSampler:true,WebGLShader:true,WebGLShaderPrecisionFormat:true,WebGLSync:true,WebGLTexture:true,WebGLTimerQueryEXT:true,WebGLTransformFeedback:true,WebGLUniformLocation:true,WebGLVertexArrayObject:true,WebGLVertexArrayObjectOES:true,WebGL:true,WebGL2RenderingContextBase:true,Database:true,SQLError:true,SQLResultSet:true,SQLTransaction:true,ArrayBuffer:true,DataView:true,ArrayBufferView:false,Float64Array:true,Float32Array:true,Int16Array:true,Int32Array:true,Int8Array:true,Uint16Array:true,Uint32Array:true,Uint8ClampedArray:true,CanvasPixelArray:true,Uint8Array:false,HTMLAudioElement:true,HTMLBRElement:true,HTMLBaseElement:true,HTMLButtonElement:true,HTMLContentElement:true,HTMLDListElement:true,HTMLDataElement:true,HTMLDataListElement:true,HTMLDetailsElement:true,HTMLDialogElement:true,HTMLEmbedElement:true,HTMLFieldSetElement:true,HTMLHRElement:true,HTMLHeadElement:true,HTMLHeadingElement:true,HTMLHtmlElement:true,HTMLIFrameElement:true,HTMLImageElement:true,HTMLLIElement:true,HTMLLabelElement:true,HTMLLegendElement:true,HTMLLinkElement:true,HTMLMapElement:true,HTMLMediaElement:true,HTMLMenuElement:true,HTMLMetaElement:true,HTMLMeterElement:true,HTMLModElement:true,HTMLOListElement:true,HTMLObjectElement:true,HTMLOptGroupElement:true,HTMLOptionElement:true,HTMLOutputElement:true,HTMLParagraphElement:true,HTMLParamElement:true,HTMLPictureElement:true,HTMLPreElement:true,HTMLProgressElement:true,HTMLQuoteElement:true,HTMLScriptElement:true,HTMLShadowElement:true,HTMLSlotElement:true,HTMLSourceElement:true,HTMLSpanElement:true,HTMLStyleElement:true,HTMLTableCaptionElement:true,HTMLTableCellElement:true,HTMLTableDataCellElement:true,HTMLTableHeaderCellElement:true,HTMLTableColElement:true,HTMLTextAreaElement:true,HTMLTimeElement:true,HTMLTitleElement:true,HTMLTrackElement:true,HTMLUListElement:true,HTMLUnknownElement:true,HTMLVideoElement:true,HTMLDirectoryElement:true,HTMLFontElement:true,HTMLFrameElement:true,HTMLFrameSetElement:true,HTMLMarqueeElement:true,HTMLElement:false,AccessibleNodeList:true,HTMLAnchorElement:true,HTMLAreaElement:true,Blob:false,HTMLBodyElement:true,HTMLCanvasElement:true,CanvasRenderingContext2D:true,CDATASection:true,CharacterData:true,Comment:true,ProcessingInstruction:true,Text:true,CSSPerspective:true,CSSCharsetRule:true,CSSConditionRule:true,CSSFontFaceRule:true,CSSGroupingRule:true,CSSImportRule:true,CSSKeyframeRule:true,MozCSSKeyframeRule:true,WebKitCSSKeyframeRule:true,CSSKeyframesRule:true,MozCSSKeyframesRule:true,WebKitCSSKeyframesRule:true,CSSMediaRule:true,CSSNamespaceRule:true,CSSPageRule:true,CSSRule:true,CSSStyleRule:true,CSSSupportsRule:true,CSSViewportRule:true,CSSStyleDeclaration:true,MSStyleCSSProperties:true,CSS2Properties:true,CSSImageValue:true,CSSKeywordValue:true,CSSNumericValue:true,CSSPositionValue:true,CSSResourceValue:true,CSSUnitValue:true,CSSURLImageValue:true,CSSStyleValue:false,CSSMatrixComponent:true,CSSRotation:true,CSSScale:true,CSSSkew:true,CSSTranslation:true,CSSTransformComponent:false,CSSTransformValue:true,CSSUnparsedValue:true,DataTransferItemList:true,HTMLDivElement:true,Document:true,HTMLDocument:true,XMLDocument:true,DOMException:true,ClientRectList:true,DOMRectList:true,DOMRectReadOnly:false,DOMStringList:true,DOMTokenList:true,Element:false,AbortPaymentEvent:true,AnimationEvent:true,AnimationPlaybackEvent:true,ApplicationCacheErrorEvent:true,BackgroundFetchClickEvent:true,BackgroundFetchEvent:true,BackgroundFetchFailEvent:true,BackgroundFetchedEvent:true,BeforeInstallPromptEvent:true,BeforeUnloadEvent:true,BlobEvent:true,CanMakePaymentEvent:true,ClipboardEvent:true,CloseEvent:true,CustomEvent:true,DeviceMotionEvent:true,DeviceOrientationEvent:true,ErrorEvent:true,ExtendableEvent:true,ExtendableMessageEvent:true,FetchEvent:true,FontFaceSetLoadEvent:true,ForeignFetchEvent:true,GamepadEvent:true,HashChangeEvent:true,InstallEvent:true,MediaEncryptedEvent:true,MediaKeyMessageEvent:true,MediaQueryListEvent:true,MediaStreamEvent:true,MediaStreamTrackEvent:true,MessageEvent:true,MIDIConnectionEvent:true,MIDIMessageEvent:true,MutationEvent:true,NotificationEvent:true,PageTransitionEvent:true,PaymentRequestEvent:true,PaymentRequestUpdateEvent:true,PopStateEvent:true,PresentationConnectionAvailableEvent:true,PresentationConnectionCloseEvent:true,ProgressEvent:true,PromiseRejectionEvent:true,PushEvent:true,RTCDataChannelEvent:true,RTCDTMFToneChangeEvent:true,RTCPeerConnectionIceEvent:true,RTCTrackEvent:true,SecurityPolicyViolationEvent:true,SensorErrorEvent:true,SpeechRecognitionError:true,SpeechRecognitionEvent:true,SpeechSynthesisEvent:true,StorageEvent:true,SyncEvent:true,TrackEvent:true,TransitionEvent:true,WebKitTransitionEvent:true,VRDeviceEvent:true,VRDisplayEvent:true,VRSessionEvent:true,MojoInterfaceRequestEvent:true,ResourceProgressEvent:true,USBConnectionEvent:true,IDBVersionChangeEvent:true,AudioProcessingEvent:true,OfflineAudioCompletionEvent:true,WebGLContextEvent:true,Event:false,InputEvent:false,AbsoluteOrientationSensor:true,Accelerometer:true,AccessibleNode:true,AmbientLightSensor:true,Animation:true,ApplicationCache:true,DOMApplicationCache:true,OfflineResourceList:true,BackgroundFetchRegistration:true,BatteryManager:true,BroadcastChannel:true,CanvasCaptureMediaStreamTrack:true,DedicatedWorkerGlobalScope:true,EventSource:true,FileReader:true,FontFaceSet:true,Gyroscope:true,XMLHttpRequest:true,XMLHttpRequestEventTarget:true,XMLHttpRequestUpload:true,LinearAccelerationSensor:true,Magnetometer:true,MediaDevices:true,MediaKeySession:true,MediaQueryList:true,MediaRecorder:true,MediaSource:true,MediaStream:true,MediaStreamTrack:true,MessagePort:true,MIDIAccess:true,MIDIInput:true,MIDIOutput:true,MIDIPort:true,NetworkInformation:true,Notification:true,OffscreenCanvas:true,OrientationSensor:true,PaymentRequest:true,Performance:true,PermissionStatus:true,PresentationAvailability:true,PresentationConnection:true,PresentationConnectionList:true,PresentationRequest:true,RelativeOrientationSensor:true,RemotePlayback:true,RTCDataChannel:true,DataChannel:true,RTCDTMFSender:true,RTCPeerConnection:true,webkitRTCPeerConnection:true,mozRTCPeerConnection:true,ScreenOrientation:true,Sensor:true,ServiceWorker:true,ServiceWorkerContainer:true,ServiceWorkerGlobalScope:true,ServiceWorkerRegistration:true,SharedWorker:true,SharedWorkerGlobalScope:true,SpeechRecognition:true,SpeechSynthesis:true,SpeechSynthesisUtterance:true,VR:true,VRDevice:true,VRDisplay:true,VRSession:true,VisualViewport:true,WebSocket:true,Worker:true,WorkerGlobalScope:true,WorkerPerformance:true,BluetoothDevice:true,BluetoothRemoteGATTCharacteristic:true,Clipboard:true,MojoInterfaceInterceptor:true,USB:true,IDBDatabase:true,IDBOpenDBRequest:true,IDBVersionChangeRequest:true,IDBRequest:true,IDBTransaction:true,AnalyserNode:true,RealtimeAnalyserNode:true,AudioBufferSourceNode:true,AudioDestinationNode:true,AudioNode:true,AudioScheduledSourceNode:true,AudioWorkletNode:true,BiquadFilterNode:true,ChannelMergerNode:true,AudioChannelMerger:true,ChannelSplitterNode:true,AudioChannelSplitter:true,ConstantSourceNode:true,ConvolverNode:true,DelayNode:true,DynamicsCompressorNode:true,GainNode:true,AudioGainNode:true,IIRFilterNode:true,MediaElementAudioSourceNode:true,MediaStreamAudioDestinationNode:true,MediaStreamAudioSourceNode:true,OscillatorNode:true,Oscillator:true,PannerNode:true,AudioPannerNode:true,webkitAudioPannerNode:true,ScriptProcessorNode:true,JavaScriptAudioNode:true,StereoPannerNode:true,WaveShaperNode:true,EventTarget:false,File:true,FileList:true,FileWriter:true,HTMLFormElement:true,Gamepad:true,History:true,HTMLCollection:true,HTMLFormControlsCollection:true,HTMLOptionsCollection:true,ImageData:true,HTMLInputElement:true,KeyboardEvent:true,Location:true,MediaList:true,MIDIInputMap:true,MIDIOutputMap:true,MimeType:true,MimeTypeArray:true,PointerEvent:true,MouseEvent:false,DragEvent:false,DocumentFragment:true,ShadowRoot:true,Attr:true,DocumentType:true,Node:false,NodeList:true,RadioNodeList:true,Plugin:true,PluginArray:true,RTCStatsReport:true,HTMLSelectElement:true,SourceBuffer:true,SourceBufferList:true,SpeechGrammar:true,SpeechGrammarList:true,SpeechRecognitionResult:true,Storage:true,CSSStyleSheet:true,StyleSheet:true,HTMLTableElement:true,HTMLTableRowElement:true,HTMLTableSectionElement:true,HTMLTemplateElement:true,TextTrack:true,TextTrackCue:true,VTTCue:true,TextTrackCueList:true,TextTrackList:true,TimeRanges:true,Touch:true,TouchList:true,TrackDefaultList:true,CompositionEvent:true,FocusEvent:true,TextEvent:true,TouchEvent:true,UIEvent:false,URL:true,VideoTrackList:true,WheelEvent:true,Window:true,DOMWindow:true,CSSRuleList:true,ClientRect:true,DOMRect:true,GamepadList:true,NamedNodeMap:true,MozNamedAttrMap:true,SpeechRecognitionResultList:true,StyleSheetList:true,SVGLength:true,SVGLengthList:true,SVGNumber:true,SVGNumberList:true,SVGPointList:true,SVGScriptElement:true,SVGStringList:true,SVGAElement:true,SVGAnimateElement:true,SVGAnimateMotionElement:true,SVGAnimateTransformElement:true,SVGAnimationElement:true,SVGCircleElement:true,SVGClipPathElement:true,SVGDefsElement:true,SVGDescElement:true,SVGDiscardElement:true,SVGEllipseElement:true,SVGFEBlendElement:true,SVGFEColorMatrixElement:true,SVGFEComponentTransferElement:true,SVGFECompositeElement:true,SVGFEConvolveMatrixElement:true,SVGFEDiffuseLightingElement:true,SVGFEDisplacementMapElement:true,SVGFEDistantLightElement:true,SVGFEFloodElement:true,SVGFEFuncAElement:true,SVGFEFuncBElement:true,SVGFEFuncGElement:true,SVGFEFuncRElement:true,SVGFEGaussianBlurElement:true,SVGFEImageElement:true,SVGFEMergeElement:true,SVGFEMergeNodeElement:true,SVGFEMorphologyElement:true,SVGFEOffsetElement:true,SVGFEPointLightElement:true,SVGFESpecularLightingElement:true,SVGFESpotLightElement:true,SVGFETileElement:true,SVGFETurbulenceElement:true,SVGFilterElement:true,SVGForeignObjectElement:true,SVGGElement:true,SVGGeometryElement:true,SVGGraphicsElement:true,SVGImageElement:true,SVGLineElement:true,SVGLinearGradientElement:true,SVGMarkerElement:true,SVGMaskElement:true,SVGMetadataElement:true,SVGPathElement:true,SVGPatternElement:true,SVGPolygonElement:true,SVGPolylineElement:true,SVGRadialGradientElement:true,SVGRectElement:true,SVGSetElement:true,SVGStopElement:true,SVGStyleElement:true,SVGSVGElement:true,SVGSwitchElement:true,SVGSymbolElement:true,SVGTSpanElement:true,SVGTextContentElement:true,SVGTextElement:true,SVGTextPathElement:true,SVGTextPositioningElement:true,SVGTitleElement:true,SVGUseElement:true,SVGViewElement:true,SVGGradientElement:true,SVGComponentTransferFunctionElement:true,SVGFEDropShadowElement:true,SVGMPathElement:true,SVGElement:false,SVGTransform:true,SVGTransformList:true,AudioBuffer:true,AudioParamMap:true,AudioTrackList:true,AudioContext:true,webkitAudioContext:true,BaseAudioContext:false,OfflineAudioContext:true,WebGLRenderingContext:true,WebGL2RenderingContext:true,SQLResultSetRowList:true})
H.cM.$nativeSuperclassTag="ArrayBufferView"
H.cd.$nativeSuperclassTag="ArrayBufferView"
H.ce.$nativeSuperclassTag="ArrayBufferView"
H.bZ.$nativeSuperclassTag="ArrayBufferView"
H.cf.$nativeSuperclassTag="ArrayBufferView"
H.cg.$nativeSuperclassTag="ArrayBufferView"
H.cN.$nativeSuperclassTag="ArrayBufferView"
W.ch.$nativeSuperclassTag="EventTarget"
W.ci.$nativeSuperclassTag="EventTarget"
W.cj.$nativeSuperclassTag="EventTarget"
W.ck.$nativeSuperclassTag="EventTarget"})()
Function.prototype.$1=function(a){return this(a)}
Function.prototype.$2=function(a,b){return this(a,b)}
Function.prototype.$0=function(){return this()}
Function.prototype.$4=function(a,b,c,d){return this(a,b,c,d)}
Function.prototype.$1$1=function(a){return this(a)}
Function.prototype.$3=function(a,b,c){return this(a,b,c)}
Function.prototype.$5=function(a,b,c,d,e){return this(a,b,c,d,e)}
Function.prototype.$6=function(a,b,c,d,e,f){return this(a,b,c,d,e,f)}
Function.prototype.$9=function(a,b,c,d,e,f,g,h,i){return this(a,b,c,d,e,f,g,h,i)}
Function.prototype.$8=function(a,b,c,d,e,f,g,h){return this(a,b,c,d,e,f,g,h)}
convertAllToFastObject(w)
convertToFastObject($);(function(a){if(typeof document==="undefined"){a(null)
return}if(typeof document.currentScript!='undefined'){a(document.currentScript)
return}var u=document.scripts
function onLoad(b){for(var s=0;s<u.length;++s)u[s].removeEventListener("load",onLoad,false)
a(b.target)}for(var t=0;t<u.length;++t)u[t].addEventListener("load",onLoad,false)})(function(a){v.currentScript=a
if(typeof dartMainRunner==="function")dartMainRunner(G.ls,[])
else G.ls([])})})()
//# sourceMappingURL=delta.dart.js.map
