diff --git a/caustics/bundle.js b/caustics/bundle.js index 5d0025e..97358ef 100644 --- a/caustics/bundle.js +++ b/caustics/bundle.js @@ -1 +1 @@ -!function(){return function e(t,n,r){function i(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return i(n||e)},c,c.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a>>=t))<<3,(t|=n=(15<(e>>>=n))<<2)|(n=(3<(e>>>=n))<<1)|e>>>n>>1}function s(){function e(e){e:{for(var t=16;268435456>=t;t*=16)if(e<=t){e=t;break e}e=0}return 0<(t=n[a(e)>>2]).length?t.pop():new ArrayBuffer(e)}function t(e){n[a(e.byteLength)>>2].push(e)}var n=o(8,function(){return[]});return{alloc:e,free:t,allocType:function(t,n){var r=null;switch(t){case 5120:r=new Int8Array(e(n),0,n);break;case 5121:r=new Uint8Array(e(n),0,n);break;case 5122:r=new Int16Array(e(2*n),0,n);break;case 5123:r=new Uint16Array(e(2*n),0,n);break;case 5124:r=new Int32Array(e(4*n),0,n);break;case 5125:r=new Uint32Array(e(4*n),0,n);break;case 5126:r=new Float32Array(e(4*n),0,n);break;default:return null}return r.length!==n?r.subarray(0,n):r},freeType:function(e){t(e.buffer)}}}function l(e){return!!e&&"object"==typeof e&&Array.isArray(e.shape)&&Array.isArray(e.stride)&&"number"==typeof e.offset&&e.shape.length===e.stride.length&&(Array.isArray(e.data)||W(e.data))}function u(e,t,n,r,i,o){for(var a=0;a(i=s)&&(i=r.buffer.byteLength,5123===p?i>>=1:5125===p&&(i>>=2)),r.vertCount=i,i=a,0>a&&(i=4,1===(a=r.buffer.dimension)&&(i=0),2===a&&(i=1),3===a&&(i=4)),r.primType=i}function a(e){r.elementsCount--,delete s[e.id],e.buffer.destroy(),e.buffer=null}var s={},u=0,c={uint8:5121,uint16:5123};t.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var p=[];return{create:function(e,t){function s(e){if(e)if("number"==typeof e)u(e),p.primType=4,p.vertCount=0|e,p.type=5121;else{var t=null,n=35044,r=-1,i=-1,a=0,f=0;Array.isArray(e)||W(e)||l(e)?t=e:("data"in e&&(t=e.data),"usage"in e&&(n=J[e.usage]),"primitive"in e&&(r=ne[e.primitive]),"count"in e&&(i=0|e.count),"type"in e&&(f=c[e.type]),"length"in e?a=0|e.length:(a=i,5123===f||5122===f?a*=2:5125!==f&&5124!==f||(a*=4))),o(p,t,n,r,i,a,f)}else u(),p.primType=4,p.vertCount=0,p.type=5121;return s}var u=n.create(null,34963,!0),p=new i(u._buffer);return r.elementsCount++,s(e),s._reglType="elements",s._elements=p,s.subdata=function(e,t){return u.subdata(e,t),s},s.destroy=function(){a(p)},s},createStream:function(e){var t=p.pop();return t||(t=new i(n.create(null,34963,!0,!1)._buffer)),o(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){p.push(e)},getElements:function(e){return"function"==typeof e&&e._elements instanceof i?e._elements:null},clear:function(){Y(s).forEach(a)}}}function v(e){for(var t=H.allocType(5123,e.length),n=0;n>>31<<15,i=(o<<1>>>24)-127,o=o>>13&1023;t[n]=-24>i?r:-14>i?r+(o+1024>>-14-i):15>=i,n.height>>=i,d(n,r[i]),e.mipmask|=1<t;++t)e.images[t]=null;return e}function O(e){for(var t=e.images,n=0;nt){for(var n=0;n=--this.refCount&&B(this)}}),a.profile&&(o.getTotalTextureSize=function(){var e=0;return Object.keys(be).forEach(function(t){e+=be[t].stats.size}),e}),{create2D:function(t,n){function r(e,t){var n=i.texInfo;S.call(n);var o=V();return"number"==typeof e?P(o,0|e,"number"==typeof t?0|t:0|e):e?(D(n,e),E(o,e)):P(o,1,1),n.genMipmaps&&(o.mipmask=(o.width<<1)-1),i.mipmask=o.mipmask,u(i,o),i.internalformat=o.internalformat,r.width=o.width,r.height=o.height,T(i),A(o,3553),j(n,3553),M(),O(o),a.profile&&(i.stats.size=k(i.internalformat,i.type,o.width,o.height,n.genMipmaps,!1)),r.format=Z[i.internalformat],r.type=ee[i.type],r.mag=te[n.magFilter],r.min=ne[n.minFilter],r.wrapS=re[n.wrapS],r.wrapT=re[n.wrapT],r}var i=new L(3553);return be[i.id]=i,o.textureCount++,r(t,n),r.subimage=function(e,t,n,o){t|=0,n|=0,o|=0;var a=b();return u(a,i),a.width=0,a.height=0,d(a,e),a.width=a.width||(i.width>>o)-t,a.height=a.height||(i.height>>o)-n,T(i),h(a,3553,t,n,o),M(),C(a),r},r.resize=function(t,n){var o=0|t,s=0|n||o;if(o===i.width&&s===i.height)return r;r.width=i.width=o,r.height=i.height=s,T(i);for(var l=0;i.mipmask>>l;++l){var u=o>>l,c=s>>l;if(!u||!c)break;e.texImage2D(3553,l,i.format,u,c,0,i.format,i.type,null)}return M(),a.profile&&(i.stats.size=k(i.internalformat,i.type,o,s,!1,!1)),r},r._reglType="texture2d",r._texture=i,a.profile&&(r.stats=i.stats),r.destroy=function(){i.decRef()},r},createCube:function(t,n,r,i,s,l){function p(e,t,n,r,i,o){var s,l=f.texInfo;for(S.call(l),s=0;6>s;++s)v[s]=V();if("number"!=typeof e&&e){if("object"==typeof e)if(t)E(v[0],e),E(v[1],t),E(v[2],n),E(v[3],r),E(v[4],i),E(v[5],o);else if(D(l,e),c(f,e),"faces"in e)for(e=e.faces,s=0;6>s;++s)u(v[s],f),E(v[s],e[s]);else for(s=0;6>s;++s)E(v[s],e)}else for(e=0|e||1,s=0;6>s;++s)P(v[s],e,e);for(u(f,v[0]),f.mipmask=l.genMipmaps?(v[0].width<<1)-1:v[0].mipmask,f.internalformat=v[0].internalformat,p.width=v[0].width,p.height=v[0].height,T(f),s=0;6>s;++s)A(v[s],34069+s);for(j(l,34067),M(),a.profile&&(f.stats.size=k(f.internalformat,f.type,p.width,p.height,l.genMipmaps,!0)),p.format=Z[f.internalformat],p.type=ee[f.type],p.mag=te[l.magFilter],p.min=ne[l.minFilter],p.wrapS=re[l.wrapS],p.wrapT=re[l.wrapT],s=0;6>s;++s)O(v[s]);return p}var f=new L(34067);be[f.id]=f,o.cubeCount++;var v=Array(6);return p(t,n,r,i,s,l),p.subimage=function(e,t,n,r,i){n|=0,r|=0,i|=0;var o=b();return u(o,f),o.width=0,o.height=0,d(o,t),o.width=o.width||(f.width>>i)-n,o.height=o.height||(f.height>>i)-r,T(f),h(o,34069+e,n,r,i),M(),C(o),p},p.resize=function(t){if((t|=0)!==f.width){p.width=f.width=t,p.height=f.height=t,T(f);for(var n=0;6>n;++n)for(var r=0;f.mipmask>>r;++r)e.texImage2D(34069+n,r,f.format,t>>r,t>>r,0,f.format,f.type,null);return M(),a.profile&&(f.stats.size=k(f.internalformat,f.type,p.width,p.height,!1,!0)),p}},p._reglType="textureCube",p._texture=f,a.profile&&(p.stats=f.stats),p.destroy=function(){f.decRef()},p},clear:function(){for(var t=0;tn;++n)if(0!=(t.mipmask&1<>n,t.height>>n,0,t.internalformat,t.type,null);else for(var r=0;6>r;++r)e.texImage2D(34069+r,n,t.internalformat,t.width>>n,t.height>>n,0,t.internalformat,t.type,null);j(t.texInfo,t.target)})},refresh:function(){for(var t=0;ti;++i){for(u=0;ue;++e)n[e].resize(r);return t.width=t.height=r,t},_reglType:"framebufferCube",destroy:function(){n.forEach(function(e){e.destroy()})}})},clear:function(){Y(C).forEach(m)},restore:function(){y.cur=null,y.next=null,y.dirty=!0,Y(C).forEach(function(t){t.framebuffer=e.createFramebuffer(),b(t)})}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function A(e,t,n,r,i,o,a){function s(){this.id=++p,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var e=t.oes_vertex_array_object;this.vao=e?e.createVertexArrayOES():null,f[this.id]=this,this.buffers=[]}var u=n.maxAttributes,c=Array(u);for(n=0;n=f.byteLength?u.subdata(f):(u.destroy(),n.buffers[s]=null)),n.buffers[s]||(u=n.buffers[s]=i.create(c,34962,!1,!0)),p.buffer=i.getBuffer(u),p.size=0|p.buffer.dimension,p.normalized=!1,p.type=p.buffer.dtype,p.offset=0,p.stride=0,p.divisor=0,p.state=1,e[s]=1;else i.getBuffer(c)?(p.buffer=i.getBuffer(c),p.size=0|p.buffer.dimension,p.normalized=!1,p.type=p.buffer.dtype,p.offset=0,p.stride=0,p.divisor=0,p.state=1):i.getBuffer(c.buffer)?(p.buffer=i.getBuffer(c.buffer),p.size=0|(+c.size||p.buffer.dimension),p.normalized=!!c.normalized||!1,p.type="type"in c?$[c.type]:p.buffer.dtype,p.offset=0|(c.offset||0),p.stride=0|(c.stride||0),p.divisor=0|(c.divisor||0),p.state=1):"x"in c&&(p.x=+c.x||0,p.y=+c.y||0,p.z=+c.z||0,p.w=+c.w||0,p.state=2)}for(u=0;ue&&(e=t.stats.uniformsCount)}),e},n.getMaxAttributesCount=function(){var e=0;return f.forEach(function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)}),e}),{clear:function(){var t=e.deleteShader.bind(e);Y(u).forEach(t),u={},Y(c).forEach(t),c={},f.forEach(function(t){e.deleteProgram(t.program)}),f.length=0,p={},n.shaderCount=0},program:function(t,r,i,o){var a=p[r];a||(a=p[r]={});var d=a[t];if(d&&(d.refCount++,!o))return d;var h=new s(r,t);return n.shaderCount++,l(h,i,o),d||(a[t]=h),f.push(h),R(h,{destroy:function(){if(h.refCount--,0>=h.refCount){e.deleteProgram(h.program);var t=f.indexOf(h);f.splice(t,1),n.shaderCount--}0>=a[h.vertId].refCount&&(e.deleteShader(c[h.vertId]),delete c[h.vertId],delete p[h.fragId][h.vertId]),Object.keys(p[h.fragId]).length||(e.deleteShader(u[h.fragId]),delete u[h.fragId],delete p[h.fragId])}})},restore:function(){u={},c={};for(var e=0;e"+t+"?"+i+".constant["+t+"]:0;"}).join(""),"}}else{","if(",s,"(",i,".buffer)){",c,"=",o,".createStream(",34962,",",i,".buffer);","}else{",c,"=",o,".getBuffer(",i,".buffer);","}",p,'="type" in ',i,"?",a.glTypes,"[",i,".type]:",c,".dtype;",l.normalized,"=!!",i,".normalized;"),r("size"),r("offset"),r("stride"),r("divisor"),n("}}"),n.exit("if(",l.isStream,"){",o,".destroyStream(",c,");","}"),l})}),a}function P(e,t,r,i,a){function s(e){var t=u[e];t&&(f[e]=t)}var l=function(e,t){if("string"==typeof(n=e.static).frag&&"string"==typeof n.vert){if(0>1)",s],");")}function t(){n(l,".drawArraysInstancedANGLE(",[h,v,m,s],");")}d&&"null"!==d?g?e():(n("if(",d,"){"),e(),n("}else{"),t(),n("}")):t()}function a(){function e(){n(c+".drawElements("+[h,m,b,v+"<<(("+b+"-5121)>>1)"]+");")}function t(){n(c+".drawArrays("+[h,v,m]+");")}d&&"null"!==d?g?e():(n("if(",d,"){"),e(),n("}else{"),t(),n("}")):t()}var s,l,u=e.shared,c=u.gl,p=u.draw,f=r.draw,d=function(){var i=f.elements,o=t;return i?((i.contextDep&&r.contextDynamic||i.propDep)&&(o=n),i=i.append(e,o),f.elementsActive&&o("if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);")):o(i=o.def(),"=",p,".","elements",";","if(",i,"){",c,".bindBuffer(",34963,",",i,".buffer.buffer);}","else if(",u.vao,".currentVAO){",i,"=",e.shared.elements+".getElements("+u.vao,".currentVAO.elements);",re?"":"if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);","}"),i}(),h=i("primitive"),v=i("offset"),m=function(){var i=f.count,o=t;return i?((i.contextDep&&r.contextDynamic||i.propDep)&&(o=n),i=i.append(e,o)):i=o.def(p,".","count"),i}();if("number"==typeof m){if(0===m)return}else n("if(",m,"){"),n.exit("}");ee&&(s=i("instances"),l=e.instancing);var b=d+".type",g=f.elements&&M(f.elements)&&!f.vaoActive;ee&&("number"!=typeof s||0<=s)?"string"==typeof s?(n("if(",s,">0){"),o(),n("}else if(",s,"<0){"),a(),n("}")):o():a()}function H(e,t,n,r,i){return i=(t=w()).proc("body",i),ee&&(t.instancing=i.def(t.shared.extensions,".angle_instanced_arrays")),e(t,i,n,r),t.compile().body}function G(e,t,n,r){F(e,t),n.useVAO?n.drawVAO?t(e.shared.vao,".setVAO(",n.drawVAO.append(e,t),");"):t(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(t(e.shared.vao,".setVAO(null);"),N(e,t,n,r.attributes,function(){return!0})),K(e,t,n,r.uniforms,function(){return!0},!1),q(e,t,t,n)}function W(e,t,n,r){function i(){return!0}e.batchId="a1",F(e,t),N(e,t,n,r.attributes,i),K(e,t,n,r.uniforms,i,!1),q(e,t,t,n)}function Y(e,t,n,r){function i(e){return e.contextDep&&a||e.propDep}function o(e){return!i(e)}F(e,t);var a=n.contextDep,s=t.def(),l=t.def();e.shared.props=l,e.batchId=s;var u=e.scope(),c=e.scope();t(u.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",c,"}",u.exit),n.needsContext&&E(e,c,n.context),n.needsFramebuffer&&A(e,c,n.framebuffer),O(e,c,n.state,i),n.profile&&i(n.profile)&&I(e,c,n,!1,!0),r?(n.useVAO?n.drawVAO?i(n.drawVAO)?c(e.shared.vao,".setVAO(",n.drawVAO.append(e,c),");"):u(e.shared.vao,".setVAO(",n.drawVAO.append(e,u),");"):u(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(u(e.shared.vao,".setVAO(null);"),N(e,u,n,r.attributes,o),N(e,c,n,r.attributes,i)),K(e,u,n,r.uniforms,o,!1),K(e,c,n,r.uniforms,i,!0),q(e,u,c,n)):(t=e.global.def("{}"),r=n.shader.progVar.append(e,c),l=c.def(r,".id"),u=c.def(t,"[",l,"]"),c(e.shared.gl,".useProgram(",r,".program);","if(!",u,"){",u,"=",t,"[",l,"]=",e.link(function(t){return H(W,e,n,t,2)}),"(",r,");}",u,".call(this,a0[",s,"],",s,");"))}function Q(e,n){function r(t){var r=n.shader[t];r&&i.set(o.shader,"."+t,r.append(e,i))}var i=e.proc("scope",3);e.batchId="a2";var o=e.shared,a=o.current;E(e,i,n.context),n.framebuffer&&n.framebuffer.append(e,i),L(Object.keys(n.state)).forEach(function(t){var r=n.state[t].append(e,i);m(r)?r.forEach(function(n,r){i.set(e.next[t],"["+r+"]",n)}):i.set(o.next,"."+t,r)}),I(e,i,n,!0,!0),["elements","offset","count","instances","primitive"].forEach(function(t){var r=n.draw[t];r&&i.set(o.draw,"."+t,""+r.append(e,i))}),Object.keys(n.uniforms).forEach(function(r){var a=n.uniforms[r].append(e,i);Array.isArray(a)&&(a="["+a.join()+"]"),i.set(o.uniforms,"["+t.id(r)+"]",a)}),Object.keys(n.attributes).forEach(function(t){var r=n.attributes[t].append(e,i),o=e.scopeAttrib(t);Object.keys(new J).forEach(function(e){i.set(o,"."+e,r[e])})}),n.scopeVAO&&i.set(o.vao,".targetVAO",n.scopeVAO.append(e,i)),r("vert"),r("frag"),0=--this.refCount&&a(this)},i.profile&&(r.getTotalRenderbufferSize=function(){var e=0;return Object.keys(c).forEach(function(t){e+=c[t].stats.size}),e}),{create:function(t,n){function a(t,n){var r=0,o=0,c=32854;if("object"==typeof t&&t?("shape"in t?(r=0|(o=t.shape)[0],o=0|o[1]):("radius"in t&&(r=o=0|t.radius),"width"in t&&(r=0|t.width),"height"in t&&(o=0|t.height)),"format"in t&&(c=s[t.format])):"number"==typeof t?(r=0|t,o="number"==typeof n?0|n:r):t||(r=o=1),r!==u.width||o!==u.height||c!==u.format)return a.width=u.width=r,a.height=u.height=o,u.format=c,e.bindRenderbuffer(36161,u.renderbuffer),e.renderbufferStorage(36161,c,r,o),i.profile&&(u.stats.size=be[u.format]*u.width*u.height),a.format=l[u.format],a}var u=new o(e.createRenderbuffer());return c[u.id]=u,r.renderbufferCount++,a(t,n),a.resize=function(t,n){var r=0|t,o=0|n||r;return r===u.width&&o===u.height?a:(a.width=u.width=r,a.height=u.height=o,e.bindRenderbuffer(36161,u.renderbuffer),e.renderbufferStorage(36161,u.format,r,o),i.profile&&(u.stats.size=be[u.format]*u.width*u.height),a)},a._reglType="renderbuffer",a._renderbuffer=u,i.profile&&(a.stats=u.stats),a.destroy=function(){u.decRef()},a},clear:function(){Y(c).forEach(a)},restore:function(){Y(c).forEach(function(t){t.renderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(36161,t.renderbuffer),e.renderbufferStorage(36161,t.format,t.width,t.height)}),e.bindRenderbuffer(36161,null)}}},ye=[];ye[6408]=4,ye[6407]=3;var we=[];we[5121]=1,we[5126]=4,we[36193]=2;var _e=["x","y","z","w"],xe="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),ke={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Ce={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Pe={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Ee={cw:2304,ccw:2305},Ae=new T(!1,!1,!1,function(){});return function(e){function t(){if(0===X.length)x&&x.update(),ee=null;else{ee=K.next(t),p();for(var e=X.length-1;0<=e;--e){var n=X[e];n&&n(D,null,0)}m.flush(),x&&x.update()}}function n(){!ee&&0=X.length&&r()}}}}function c(){var e=Y.viewport,t=Y.scissor_box;e[0]=e[1]=t[0]=t[1]=0,D.viewportWidth=D.framebufferWidth=D.drawingBufferWidth=e[2]=t[2]=m.drawingBufferWidth,D.viewportHeight=D.framebufferHeight=D.drawingBufferHeight=e[3]=t[3]=m.drawingBufferHeight}function p(){D.tick+=1,D.time=v(),c(),W.procs.poll()}function f(){z.refresh(),c(),W.procs.refresh(),x&&x.update()}function v(){return(q()-k)/1e3}if(!(e=i(e)))return null;var m=e.gl,b=m.getContextAttributes();m.isContextLost();var g=function(e,t){function n(t){var n;t=t.toLowerCase();try{n=r[t]=e.getExtension(t)}catch(e){}return!!n}for(var r={},i=0;it;++t)te(R({framebuffer:e.framebuffer.faces[t]},e),l);else te(e,l);else l(0,e)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(e){return L.create(e,34962,!1,!1)},elements:function(e){return T.create(e,!1)},texture:z.create2D,cube:z.createCube,renderbuffer:N.create,framebuffer:H.create,framebufferCube:H.createCube,vao:M.createVAO,attributes:b,frame:u,on:function(e,t){var n;switch(e){case"frame":return u(t);case"lost":n=$;break;case"restore":n=J;break;case"destroy":n=Z}return n.push(t),{cancel:function(){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:100,n=[],i=0;i canvas {\n z-index: -1;\n}\n\n.sketch-nav {\n right: auto !important;\n left: 0 !important;\n}\n");var p=s({extensions:["OES_element_index_uint","OES_texture_half_float","OES_texture_half_float_linear"],attributes:{antialias:!1,depthStencil:!1,alpha:!1}}),f=e("./draw-blur.js")(p),d=e("./draw-mesh.js")(p,200),h=e("./transfer.js")(p),v=e("./transfer-to-screen.js")(p),m=[0,1].map(function(){return p.framebuffer({color:p.texture({width:p._gl.canvas.width,height:p._gl.canvas.height,type:"float16"})})}),b=[0,1].map(function(){return p.framebuffer({color:p.texture({width:p._gl.canvas.width/8|0,height:p._gl.canvas.height/8|0,type:"float16",min:"linear",mag:"linear"})})}),g=p.frame(function(){try{if(m.forEach(function(e){return e.resize(p._gl.canvas.width,p._gl.canvas.height)}),b.forEach(function(e){return e.resize(p._gl.canvas.width/8|0,p._gl.canvas.height/8|0)}),m[0].use(function(){p.clear({color:[0,0,0,0]}),d(o({alpha:.5},u))}),u.bloom){b[0].use(function(){p.clear({color:[0,0,0,0]}),d(o(o({},u),{},{alpha:.1*u.bloom*u.alpha}))});for(var e=0;e<2;e++)b[1].use(function(){p.clear({color:[0,0,0,0]}),f({src:b[0],direction:[1,0]})}),b[0].use(function(){p.clear({color:[0,0,0,0]}),f({src:b[1],direction:[0,1]})})}m[1].use(function(){p.clear({color:[u.background.r,u.background.g,u.background.b,1]}),h({src:m[0]}),u.bloom&&h({src:b[0]})}),v(o({src:m[1]},u))}catch(e){console.error(e),g.cancel()}})},{"./draw-blur.js":4,"./draw-mesh.js":5,"./transfer-to-screen.js":7,"./transfer.js":8,"./tweakpane.js":9,"insert-css":2,regl:3}],7:[function(e,t,n){"use strict";t.exports=function(e){return e({vert:"\n precision highp float;\n attribute vec2 xy;\n varying vec2 uv;\n void main () {\n uv = 0.5 + 0.5 * xy;\n gl_Position = vec4(xy, 0, 1);\n }\n ",frag:"\n precision highp float;\n varying vec2 uv;\n uniform sampler2D src;\n uniform float tonemap;\n\n vec3 smin( vec3 a, vec3 b, float k ) {\n vec3 res = exp2( -a/k ) + exp2( -b/k );\n return -k*log2( res );\n }\n\n vec3 applyTonemap(vec3 value, float k) {\n //return value;\n return -smin(vec3(0), -smin(vec3(1), value, k), k);\n }\n\n void main () {\n vec3 color = texture2D(src, uv).rgb;\n if (tonemap > 0.01) color = applyTonemap(color, tonemap);\n gl_FragColor = vec4(color, 1);\n }\n ",attributes:{xy:[-4,-4,4,-4,0,4]},uniforms:{src:e.prop("src"),tonemap:function(e,t){return t.tonemap||0}},blend:{enable:!1,func:{srcRGB:1,srcAlpha:1,dstRGB:1,dstAlpha:1},equation:{rgb:"add",alpha:"add"}},depth:{enable:!1},count:3})}},{}],8:[function(e,t,n){"use strict";t.exports=function(e){return e({vert:"\n precision highp float;\n attribute vec2 xy;\n varying vec2 uv;\n void main () {\n uv = 0.5 + 0.5 * xy;\n gl_Position = vec4(xy, 0, 1);\n }\n ",frag:"\n precision highp float;\n varying vec2 uv;\n uniform sampler2D src;\n uniform float tonemap;\n\n void main () {\n vec4 color = texture2D(src, uv);\n\n gl_FragColor = color;\n gl_FragColor = vec4(gl_FragColor.a);\n }\n ",attributes:{xy:[-4,-4,4,-4,0,4]},uniforms:{src:e.prop("src")},blend:{enable:!0,func:{srcRGB:1,srcAlpha:1,dstRGB:1,dstAlpha:1},equation:{rgb:"add",alpha:"add"}},depth:{enable:!1},count:3})}},{}],9:[function(e,t,n){"use strict";function r(e,t,n){return(r=c()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&s(i,n.prototype),i}).apply(null,arguments)}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,s=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}(e,t)||g(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(){return(o="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=p(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}}).apply(this,arguments)}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&s(e,t)}function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function l(e){var t=c();return function(){var n,r=p(e);if(t){var i=p(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===w(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return u(e)}(this,n)}}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:0;f(this,e),this.step=t,this.origin=n}return h(e,[{key:"constrain",value:function(e){var t=this.origin%this.step;return t+Math.round((e-t)/this.step)*this.step}}]),e}(),R=function(){function e(t){f(this,e),this.text=t}return h(e,[{key:"evaluate",value:function(){return Number(this.text)}},{key:"toString",value:function(){return this.text}}]),e}(),N={"**":function(e,t){return Math.pow(e,t)},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<<":function(e,t){return e<>":function(e,t){return e>>t},">>>":function(e,t){return e>>>t},"&":function(e,t){return e&t},"^":function(e,t){return e^t},"|":function(e,t){return e|t}},U=function(){function e(t,n,r){f(this,e),this.left=n,this.operator=t,this.right=r}return h(e,[{key:"evaluate",value:function(){var e=N[this.operator];if(!e)throw new Error("unexpected binary operator: '".concat(this.operator));return e(this.left.evaluate(),this.right.evaluate())}},{key:"toString",value:function(){return["b(",this.left.toString(),this.operator,this.right.toString(),")"].join(" ")}}]),e}(),K={"+":function(e){return e},"-":function(e){return-e},"~":function(e){return~e}},q=function(){function e(t,n){f(this,e),this.operator=t,this.expression=n}return h(e,[{key:"evaluate",value:function(){var e=K[this.operator];if(!e)throw new Error("unexpected unary operator: '".concat(this.operator));return e(this.expression.evaluate())}},{key:"toString",value:function(){return["u(",this.operator,this.expression.toString(),")"].join(" ")}}]),e}();function H(e){return function(t,n){for(var r=0;r>>",">>"],["&"],["^"],["|"]].reduce(function(e,t){return function(e,t){return function(n,r){var i=e(n,r);if(!i)return null;r=i.cursor;for(var o=i.evaluable;;){var a=Z(t,n,r);if(!a)break;r=a.cursor;var s=e(n,r);if(!s)return null;r=s.cursor,o=new U(a.operator,o,s.evaluable)}return o?{cursor:r,evaluable:o}:null}}(e,t)},function e(t,n){var r=J(t,n);if(r)return r;var i=t.substr(n,1);if(n+=i.length,"+"!==i&&"-"!==i&&"~"!==i)return null;var o=e(t,n);return o?{cursor:n=o.cursor,evaluable:new q(i,o.evaluable)}:null});function te(e,t){return t+=G(e,t).length,ee(e,t)}function ne(e){var t,n=function(e){var t=te(e,0);return t?t.cursor+G(e,t.cursor).length!==e.length?null:t.evaluable:null}(e);return null!==(t=null===n||void 0===n?void 0:n.evaluate())&&void 0!==t?t:null}function re(e){if("number"==typeof e)return e;if("string"==typeof e){var t=ne(e);if(!x(t))return t}return 0}function ie(e){return String(e)}function oe(e){return function(t){return t.toFixed(Math.max(Math.min(e,20),0))}}function ae(e,t,n,r,i){return r+(e-t)/(n-t)*(i-r)}function se(e){return String(e.toFixed(10)).split(".")[1].replace(/0+$/,"").length}function le(e,t,n){return Math.min(Math.max(e,t),n)}function ue(e,t){return(e%t+t)%t}function ce(e){var t;return null!==(t=e.step)&&void 0!==t?t:1}function pe(e,t){var n,r=Math.abs(null!==(n=e.step)&&void 0!==n?n:t);return 0===r?.1:Math.pow(10,Math.floor(Math.log10(r))-1)}function fe(e,t){return x(e.step)?null:new I(e.step,t)}function de(e){return x(e.max)||x(e.min)?x(e.max)&&x(e.min)?null:new F({max:e.max,min:e.min}):new z({max:e.max,min:e.min})}function he(e,t){var n,r,i;return{formatter:null!==(n=e.format)&&void 0!==n?n:oe(function(e,t){return x(e.step)?Math.max(se(t),2):se(e.step)}(e,t)),keyScale:null!==(r=e.keyScale)&&void 0!==r?r:ce(e),pointerScale:null!==(i=e.pointerScale)&&void 0!==i?i:pe(e,t)}}function ve(e){return{format:e.optional.function,keyScale:e.optional.number,max:e.optional.number,min:e.optional.number,pointerScale:e.optional.number,step:e.optional.number}}function me(e){return{constraint:e.constraint,textProps:B.fromObject(he(e.params,e.initialValue))}}var be=function(){function e(t){f(this,e),this.controller=t}return h(e,[{key:"element",get:function(){return this.controller.view.element}},{key:"disabled",get:function(){return this.controller.viewProps.get("disabled")},set:function(e){this.controller.viewProps.set("disabled",e)}},{key:"hidden",get:function(){return this.controller.viewProps.get("hidden")},set:function(e){this.controller.viewProps.set("hidden",e)}},{key:"dispose",value:function(){this.controller.viewProps.set("disposed",!0)}},{key:"importState",value:function(e){return this.controller.importState(e)}},{key:"exportState",value:function(){return this.controller.exportState()}}]),e}(),ge=h(function e(t){f(this,e),this.target=t}),ye=function(e){a(n,ge);var t=l(n);function n(e,r,i){var o;return f(this,n),(o=t.call(this,e)).value=r,o.last=null===i||void 0===i||i,o}return h(n)}(),we=function(e){a(n,ge);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e)).expanded=r,i}return h(n)}(),_e=function(e){a(n,ge);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e)).index=r,i}return h(n)}(),xe=function(e){a(n,ge);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e)).native=r,i}return h(n)}(),ke=function(e){a(n,be);var t=l(n);function n(e){var r;return f(this,n),(r=t.call(this,e)).onValueChange_=r.onValueChange_.bind(u(r)),r.emitter_=new D,r.controller.value.emitter.on("change",r.onValueChange_),r}return h(n,[{key:"label",get:function(){return this.controller.labelController.props.get("label")},set:function(e){this.controller.labelController.props.set("label",e)}},{key:"key",get:function(){return this.controller.value.binding.target.key}},{key:"tag",get:function(){return this.controller.tag},set:function(e){this.controller.tag=e}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}},{key:"refresh",value:function(){this.controller.value.fetch()}},{key:"onValueChange_",value:function(e){var t=this.controller.value;this.emitter_.emit("change",new ye(this,_(t.binding.target.read()),e.options.last))}}]),n}(),Ce=function(){function e(t,n){f(this,e),this.onValueBeforeChange_=this.onValueBeforeChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.binding=n,this.value_=t,this.value_.emitter.on("beforechange",this.onValueBeforeChange_),this.value_.emitter.on("change",this.onValueChange_),this.emitter=new D}return h(e,[{key:"rawValue",get:function(){return this.value_.rawValue},set:function(e){this.value_.rawValue=e}},{key:"setRawValue",value:function(e,t){this.value_.setRawValue(e,t)}},{key:"fetch",value:function(){this.value_.rawValue=this.binding.read()}},{key:"push",value:function(){this.binding.write(this.value_.rawValue)}},{key:"onValueBeforeChange_",value:function(e){this.emitter.emit("beforechange",Object.assign(Object.assign({},e),{sender:this}))}},{key:"onValueChange_",value:function(e){this.push(),this.emitter.emit("change",Object.assign(Object.assign({},e),{sender:this}))}}]),e}();function Pe(e){return function(t){return function(n){if(!t&&void 0===n)return{succeeded:!1,value:void 0};if(t&&void 0===n)return{succeeded:!0,value:void 0};var r=e(n);return void 0!==r?{succeeded:!0,value:r}:{succeeded:!1,value:void 0}}}}function Ee(e){return{custom:function(t){return Pe(t)(e)},boolean:Pe(function(e){return"boolean"==typeof e?e:void 0})(e),number:Pe(function(e){return"number"==typeof e?e:void 0})(e),string:Pe(function(e){return"string"==typeof e?e:void 0})(e),function:Pe(function(e){return"function"==typeof e?e:void 0})(e),constant:function(t){return Pe(function(e){return e===t?t:void 0})(e)},raw:Pe(function(e){return e})(e),object:function(t){return Pe(function(e){var n;if(null!==(n=e)&&"object"===w(n))return function(e,t){return _(Object.keys(t).reduce(function(n,r){if(void 0!==n){var i=(0,t[r])(e[r]);return i.succeeded?Object.assign(Object.assign({},n),v({},r,i.value)):void 0}},{}))}(e,t)})(e)},array:function(t){return Pe(function(e){var n;if(Array.isArray(e))return n=t,e.reduce(function(e,t){if(void 0!==e){var r=n(t);if(r.succeeded&&void 0!==r.value)return[].concat(b(e),[r.value])}},[])})(e)}}}var Ae={optional:Ee(!0),required:Ee(!1)};function Ve(e,t){var n=t(Ae),r=Ae.required.object(n)(e);return r.succeeded?r.value:void 0}function Oe(e,t,n,r){if(t&&!t(e))return!1;var i=Ve(e,n);return!!i&&r(i)}function Se(e,t){var n;return E(null!==(n=null===e||void 0===e?void 0:e())&&void 0!==n?n:{},t)}function De(e){return"value"in e}function je(e){return!!(k(e)&&"binding"in e)&&A(e.binding)}var Le="http://www.w3.org/2000/svg";function Te(e){e.offsetHeight}function Me(e){return void 0!==e.ontouchstart}function Be(){return _(globalThis).document}var ze={check:'',dropdown:'',p2dpad:''};function Fe(e,t){var n=e.createElementNS(Le,"svg");return n.innerHTML=ze[t],n}function Ie(e,t,n){e.insertBefore(t,e.children[n])}function Re(e){e.parentElement&&e.parentElement.removeChild(e)}function Ne(e){for(;e.children.length>0;)e.removeChild(e.children[0])}function Ue(e){return e.relatedTarget?_(e.relatedTarget):"explicitOriginalTarget"in e?e.explicitOriginalTarget:null}function Ke(e,t){e.emitter.on("change",function(e){t(e.rawValue)}),t(e.rawValue)}function qe(e,t,n){Ke(e.value(t),n)}var He="tp";function Ge(e){return function(t,n){return[He,"-",e,"v",t?"_".concat(t):"",n?"-".concat(n):""].join("")}}var We=Ge("lbl");var Ye=h(function e(t,n){var r=this;f(this,e),this.element=t.createElement("div"),this.element.classList.add(We()),n.viewProps.bindClassModifiers(this.element);var i=t.createElement("div");i.classList.add(We("l")),qe(n.props,"label",function(e){x(e)?r.element.classList.add(We(void 0,"nol")):(r.element.classList.remove(We(void 0,"nol")),function(e){for(;e.childNodes.length>0;)e.removeChild(e.childNodes[0])}(i),i.appendChild(function(e,t){var n=e.createDocumentFragment();return t.split("\n").map(function(t){return e.createTextNode(t)}).forEach(function(t,r){r>0&&n.appendChild(e.createElement("br")),n.appendChild(t)}),n}(t,e)))}),this.element.appendChild(i),this.labelElement=i;var o=t.createElement("div");o.classList.add(We("v")),this.element.appendChild(o),this.valueElement=o}),Qe=function(){function e(t,n){f(this,e),this.props=n.props,this.valueController=n.valueController,this.viewProps=n.valueController.viewProps,this.view=new Ye(t,{props:n.props,viewProps:this.viewProps}),this.view.valueElement.appendChild(this.valueController.view.element)}return h(e,[{key:"importProps",value:function(e){var t=this;return Oe(e,null,function(e){return{label:e.optional.string}},function(e){return t.props.set("label",e.label),!0})}},{key:"exportProps",value:function(){return Se(null,{label:this.props.get("label")})}}]),e}();var Xe=Ge(""),$e={veryfirst:"vfst",first:"fst",last:"lst",verylast:"vlst"},Je=function(){function e(t){var n=this;f(this,e),this.parent_=null,this.blade=t.blade,this.view=t.view,this.viewProps=t.viewProps;var r=this.view.element;this.blade.value("positions").emitter.on("change",function(){["veryfirst","first","last","verylast"].forEach(function(e){r.classList.remove(Xe(void 0,$e[e]))}),n.blade.get("positions").forEach(function(e){r.classList.add(Xe(void 0,$e[e]))})}),this.viewProps.handleDispose(function(){Re(r)})}return h(e,[{key:"parent",get:function(){return this.parent_},set:function(e){this.parent_=e,this.viewProps.set("parent",this.parent_?this.parent_.viewProps:null)}},{key:"importState",value:function(e){var t=this;return Oe(e,null,function(e){return{disabled:e.required.boolean,hidden:e.required.boolean}},function(e){return t.viewProps.importState(e),!0})}},{key:"exportState",value:function(){return Se(null,Object.assign({},this.viewProps.exportState()))}}]),e}(),Ze=function(e){a(n,Je);var t=l(n);function n(e,r){var i;if(f(this,n),r.value!==r.valueController.value)throw O.shouldNeverHappen();var o=r.valueController.viewProps,a=new Qe(e,{blade:r.blade,props:r.props,valueController:r.valueController});return(i=t.call(this,Object.assign(Object.assign({},r),{view:new Ye(e,{props:r.props,viewProps:o}),viewProps:o}))).labelController=a,i.value=r.value,i.valueController=r.valueController,i.view.valueElement.appendChild(i.valueController.view.element),i}return h(n,[{key:"importState",value:function(e){var t=this;return Oe(e,function(r){var i,a,s;return o(p(n.prototype),"importState",t).call(t,r)&&t.labelController.importProps(r)&&(null===(s=null===(a=(i=t.valueController).importProps)||void 0===a?void 0:a.call(i,e))||void 0===s||s)},function(e){return{value:e.optional.raw}},function(e){return e.value&&(t.value.rawValue=e.value),!0})}},{key:"exportState",value:function(){var e,t,r,i=this;return Se(function(){return o(p(n.prototype),"exportState",i).call(i)},Object.assign(Object.assign({value:this.value.rawValue},this.labelController.exportProps()),null!==(r=null===(t=(e=this.valueController).exportProps)||void 0===t?void 0:t.call(e))&&void 0!==r?r:{}))}}]),n}();function et(e){var t=Object.assign({},e);return delete t.value,t}var tt=function(e){a(n,Ze);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e,r)).tag=r.tag,i}return h(n,[{key:"importState",value:function(e){var t=this;return Oe(e,function(r){return o(p(n.prototype),"importState",t).call(t,et(e))},function(e){return{tag:e.optional.string}},function(e){return t.tag=e.tag,!0})}},{key:"exportState",value:function(){var e=this;return Se(function(){return et(o(p(n.prototype),"exportState",e).call(e))},{binding:{key:this.value.binding.target.key,value:this.value.binding.target.read()},tag:this.tag})}}]),n}();var nt=function(e){a(n,tt);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n,[{key:"importState",value:function(e){var t=this;return Oe(e,function(e){return o(p(n.prototype),"importState",t).call(t,e)},function(e){return{binding:e.required.object({value:e.required.raw})}},function(e){return t.value.binding.inject(e.binding.value),t.value.fetch(),!0})}}]),n}();function rt(e){return De(e)&&function(e){if(!("binding"in e))return!1;var t=e.binding;return A(t)&&"read"in t&&"write"in t}(e.value)}function it(e,t){for(;e.lengthe.length?n.splice(0,n.length-e.length):it(n,e.length),n}var at=function(){function e(t){var n,r;f(this,e),this.emitter=new D,this.onTick_=this.onTick_.bind(this),this.onValueBeforeChange_=this.onValueBeforeChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.binding=t.binding,this.value_=M((n=t.bufferSize,it(r=[],n),r)),this.value_.emitter.on("beforechange",this.onValueBeforeChange_),this.value_.emitter.on("change",this.onValueChange_),this.ticker=t.ticker,this.ticker.emitter.on("tick",this.onTick_),this.fetch()}return h(e,[{key:"rawValue",get:function(){return this.value_.rawValue},set:function(e){this.value_.rawValue=e}},{key:"setRawValue",value:function(e,t){this.value_.setRawValue(e,t)}},{key:"fetch",value:function(){this.value_.rawValue=ot(this.value_.rawValue,this.binding.read())}},{key:"onTick_",value:function(){this.fetch()}},{key:"onValueBeforeChange_",value:function(e){this.emitter.emit("beforechange",Object.assign(Object.assign({},e),{sender:this}))}},{key:"onValueChange_",value:function(e){this.emitter.emit("change",Object.assign(Object.assign({},e),{sender:this}))}}]),e}();var st=function(e){a(n,tt);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n,[{key:"exportState",value:function(){var e=this;return Se(function(){return o(p(n.prototype),"exportState",e).call(e)},{binding:{readonly:!0}})}}]),n}();function lt(e){return De(e)&&function(e){if(!("binding"in e))return!1;var t=e.binding;return A(t)&&"read"in t&&!("write"in t)}(e.value)}var ut=function(e){a(n,be);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n,[{key:"label",get:function(){return this.controller.labelController.props.get("label")},set:function(e){this.controller.labelController.props.set("label",e)}},{key:"title",get:function(){var e;return null!==(e=this.controller.buttonController.props.get("title"))&&void 0!==e?e:""},set:function(e){this.controller.buttonController.props.set("title",e)}},{key:"on",value:function(e,t){var n=this,r=t.bind(this);return this.controller.buttonController.emitter.on(e,function(e){r(new xe(n,e.nativeEvent))}),this}},{key:"off",value:function(e,t){return this.controller.buttonController.emitter.off(e,t),this}}]),n}();function ct(e,t){return function(n){!function(e,t,n){n?e.classList.add(t):e.classList.remove(t)}(e,t,n)}}function pt(e,t){Ke(e,function(e){t.textContent=null!==e&&void 0!==e?e:""})}var ft=Ge("btn"),dt=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(ft()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("button");r.classList.add(ft("b")),n.viewProps.bindDisabled(r),this.element.appendChild(r),this.buttonElement=r;var i=t.createElement("div");i.classList.add(ft("t")),pt(n.props.value("title"),i),this.buttonElement.appendChild(i)}),ht=function(){function e(t,n){f(this,e),this.emitter=new D,this.onClick_=this.onClick_.bind(this),this.props=n.props,this.viewProps=n.viewProps,this.view=new dt(t,{props:this.props,viewProps:this.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}return h(e,[{key:"importProps",value:function(e){var t=this;return Oe(e,null,function(e){return{title:e.optional.string}},function(e){return t.props.set("title",e.title),!0})}},{key:"exportProps",value:function(){return Se(null,{title:this.props.get("title")})}},{key:"onClick_",value:function(e){this.emitter.emit("click",{nativeEvent:e,sender:this})}}]),e}(),vt=function(e){a(n,Je);var t=l(n);function n(e,r){var i;f(this,n);var o=new ht(e,{props:r.buttonProps,viewProps:r.viewProps}),a=new Qe(e,{blade:r.blade,props:r.labelProps,valueController:o});return(i=t.call(this,{blade:r.blade,view:a.view,viewProps:r.viewProps})).buttonController=o,i.labelController=a,i}return h(n,[{key:"importState",value:function(e){var t=this;return Oe(e,function(e){return o(p(n.prototype),"importState",t).call(t,e)&&t.buttonController.importProps(e)&&t.labelController.importProps(e)},function(){return{}},function(){return!0})}},{key:"exportState",value:function(){var e=this;return Se(function(){return o(p(n.prototype),"exportState",e).call(e)},Object.assign(Object.assign({},this.buttonController.exportProps()),this.labelController.exportProps()))}}]),n}(),mt=function(){function e(t){f(this,e);var n=i(t.split("-"),2),r=n[0],o=n[1],a=r.split(".");this.major=parseInt(a[0],10),this.minor=parseInt(a[1],10),this.patch=parseInt(a[2],10),this.prerelease=null!==o&&void 0!==o?o:null}return h(e,[{key:"toString",value:function(){var e=[this.major,this.minor,this.patch].join(".");return null!==this.prerelease?[e,this.prerelease].join("-"):e}}]),e}(),bt=new mt("2.0.3");function gt(e){return Object.assign({core:bt},e)}var yt=gt({id:"button",type:"blade",accept:function(e){var t=Ve(e,function(e){return{title:e.required.string,view:e.required.constant("button"),label:e.optional.string}});return t?{params:t}:null},controller:function(e){return new vt(e.document,{blade:e.blade,buttonProps:B.fromObject({title:e.params.title}),labelProps:B.fromObject({label:e.params.label}),viewProps:e.viewProps})},api:function(e){return e.controller instanceof vt?new ut(e.controller):null}});var wt=function(){function e(t,n){f(this,e),this.onRackValueChange_=this.onRackValueChange_.bind(this),this.controller_=t,this.emitter_=new D,this.pool_=n,this.controller_.rack.emitter.on("valuechange",this.onRackValueChange_)}return h(e,[{key:"children",get:function(){var e=this;return this.controller_.rack.children.map(function(t){return e.pool_.createApi(t)})}},{key:"addBinding",value:function(e,t,n){var r=null!==n&&void 0!==n?n:{},i=this.controller_.element.ownerDocument,o=this.pool_.createBinding(i,function(e,t){if(!S.isBindable(e))throw O.notBindable();return new S(e,t)}(e,t),r),a=this.pool_.createBindingApi(o);return this.add(a,r.index)}},{key:"addFolder",value:function(e){return function(e,t){return e.addBlade(Object.assign(Object.assign({},t),{view:"folder"}))}(this,e)}},{key:"addButton",value:function(e){return function(e,t){return e.addBlade(Object.assign(Object.assign({},t),{view:"button"}))}(this,e)}},{key:"addTab",value:function(e){return function(e,t){return e.addBlade(Object.assign(Object.assign({},t),{view:"tab"}))}(this,e)}},{key:"add",value:function(e,t){var n=e.controller;return this.controller_.rack.add(n,t),e}},{key:"remove",value:function(e){this.controller_.rack.remove(e.controller)}},{key:"addBlade",value:function(e){var t=this.controller_.element.ownerDocument,n=this.pool_.createBlade(t,e),r=this.pool_.createApi(n);return this.add(r,e.index)}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}},{key:"refresh",value:function(){this.children.forEach(function(e){var t;k(t=e)&&"refresh"in t&&"function"==typeof t.refresh&&e.refresh()})}},{key:"onRackValueChange_",value:function(e){var t=e.bladeController,n=this.pool_.createApi(t),r=je(t.value)?t.value.binding:null;this.emitter_.emit("change",new ye(n,r?r.target.read():t.value.rawValue,e.options.last))}}]),e}(),_t=function(e){a(n,be);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e)).rackApi_=new wt(e.rackController,r),i}return h(n,[{key:"refresh",value:function(){this.rackApi_.refresh()}}]),n}(),xt=function(e){a(n,Je);var t=l(n);function n(e){var r;return f(this,n),(r=t.call(this,{blade:e.blade,view:e.view,viewProps:e.rackController.viewProps})).rackController=e.rackController,r}return h(n,[{key:"importState",value:function(e){var t=this;return Oe(e,function(e){return o(p(n.prototype),"importState",t).call(t,e)},function(e){return{children:e.required.array(e.required.raw)}},function(e){return t.rackController.rack.children.every(function(t,n){return t.importState(e.children[n])})})}},{key:"exportState",value:function(){var e=this;return Se(function(){return o(p(n.prototype),"exportState",e).call(e)},{children:this.rackController.rack.children.map(function(e){return e.exportState()})})}}]),n}();function kt(e){return"rackController"in e}var Ct=function(){function e(t){f(this,e),this.emitter=new D,this.items_=[],this.cache_=new Set,this.onSubListAdd_=this.onSubListAdd_.bind(this),this.onSubListRemove_=this.onSubListRemove_.bind(this),this.extract_=t}return h(e,[{key:"items",get:function(){return this.items_}},{key:"allItems",value:function(){return Array.from(this.cache_)}},{key:"find",value:function(e){var t,n=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=g(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(this.allItems());try{for(n.s();!(t=n.n()).done;){var r=t.value;if(e(r))return r}}catch(e){n.e(e)}finally{n.f()}return null}},{key:"includes",value:function(e){return this.cache_.has(e)}},{key:"add",value:function(e,t){var n=this;if(this.includes(e))throw O.shouldNeverHappen();var r=void 0!==t?t:this.items_.length;this.items_.splice(r,0,e),this.cache_.add(e);var i=this.extract_(e);i&&(i.emitter.on("add",this.onSubListAdd_),i.emitter.on("remove",this.onSubListRemove_),i.allItems().forEach(function(e){n.cache_.add(e)})),this.emitter.emit("add",{index:r,item:e,root:this,target:this})}},{key:"remove",value:function(e){var t=this,n=this.items_.indexOf(e);if(!(n<0)){this.items_.splice(n,1),this.cache_.delete(e);var r=this.extract_(e);r&&(r.allItems().forEach(function(e){t.cache_.delete(e)}),r.emitter.off("add",this.onSubListAdd_),r.emitter.off("remove",this.onSubListRemove_)),this.emitter.emit("remove",{index:n,item:e,root:this,target:this})}}},{key:"onSubListAdd_",value:function(e){this.cache_.add(e.item),this.emitter.emit("add",{index:e.index,item:e.item,root:this,target:e.target})}},{key:"onSubListRemove_",value:function(e){this.cache_.delete(e.item),this.emitter.emit("remove",{index:e.index,item:e.item,root:this,target:e.target})}}]),e}();function Pt(e){return kt(e)?e.rackController.rack.bcSet_:null}var Et=function(){function e(t){var n,r;f(this,e),this.emitter=new D,this.onBladePositionsChange_=this.onBladePositionsChange_.bind(this),this.onSetAdd_=this.onSetAdd_.bind(this),this.onSetRemove_=this.onSetRemove_.bind(this),this.onChildDispose_=this.onChildDispose_.bind(this),this.onChildPositionsChange_=this.onChildPositionsChange_.bind(this),this.onChildValueChange_=this.onChildValueChange_.bind(this),this.onChildViewPropsChange_=this.onChildViewPropsChange_.bind(this),this.onRackLayout_=this.onRackLayout_.bind(this),this.onRackValueChange_=this.onRackValueChange_.bind(this),this.blade_=null!==(n=t.blade)&&void 0!==n?n:null,null===(r=this.blade_)||void 0===r||r.value("positions").emitter.on("change",this.onBladePositionsChange_),this.viewProps=t.viewProps,this.bcSet_=new Ct(Pt),this.bcSet_.emitter.on("add",this.onSetAdd_),this.bcSet_.emitter.on("remove",this.onSetRemove_)}return h(e,[{key:"children",get:function(){return this.bcSet_.items}},{key:"add",value:function(e,t){var n;null===(n=e.parent)||void 0===n||n.remove(e),e.parent=this,this.bcSet_.add(e,t)}},{key:"remove",value:function(e){e.parent=null,this.bcSet_.remove(e)}},{key:"find",value:function(e){return this.bcSet_.allItems().filter(e)}},{key:"onSetAdd_",value:function(e){this.updatePositions_();var t=e.target===e.root;if(this.emitter.emit("add",{bladeController:e.item,index:e.index,root:t,sender:this}),t){var n=e.item;if(n.viewProps.emitter.on("change",this.onChildViewPropsChange_),n.blade.value("positions").emitter.on("change",this.onChildPositionsChange_),n.viewProps.handleDispose(this.onChildDispose_),De(n))n.value.emitter.on("change",this.onChildValueChange_);else if(kt(n)){var r=n.rackController.rack;if(r){var i=r.emitter;i.on("layout",this.onRackLayout_),i.on("valuechange",this.onRackValueChange_)}}}}},{key:"onSetRemove_",value:function(e){this.updatePositions_();var t=e.target===e.root;if(this.emitter.emit("remove",{bladeController:e.item,root:t,sender:this}),t){var n=e.item;if(De(n))n.value.emitter.off("change",this.onChildValueChange_);else if(kt(n)){var r=n.rackController.rack;if(r){var i=r.emitter;i.off("layout",this.onRackLayout_),i.off("valuechange",this.onRackValueChange_)}}}}},{key:"updatePositions_",value:function(){var e=this,t=this.bcSet_.items.filter(function(e){return!e.viewProps.get("hidden")}),n=t[0],r=t[t.length-1];this.bcSet_.items.forEach(function(t){var i=[];t===n&&(i.push("first"),e.blade_&&!e.blade_.get("positions").includes("veryfirst")||i.push("veryfirst")),t===r&&(i.push("last"),e.blade_&&!e.blade_.get("positions").includes("verylast")||i.push("verylast")),t.blade.set("positions",i)})}},{key:"onChildPositionsChange_",value:function(){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}},{key:"onChildViewPropsChange_",value:function(e){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}},{key:"onChildDispose_",value:function(){var e=this;this.bcSet_.items.filter(function(e){return e.viewProps.get("disposed")}).forEach(function(t){e.bcSet_.remove(t)})}},{key:"onChildValueChange_",value:function(e){var t=function(e,t){for(var n=0;n=0;e--){n.rack.children[e].viewProps.set("disposed",!0)}})}return h(e,[{key:"onRackAdd_",value:function(e){e.root&&Ie(this.element,e.bladeController.view.element,e.index)}},{key:"onRackRemove_",value:function(e){e.root&&Re(e.bladeController.view.element)}}]),e}();function Vt(){return new B({positions:M([],{equals:P})})}var Ot=function(e){a(n,B);var t=l(n);function n(e){return f(this,n),t.call(this,e)}return h(n,[{key:"styleExpanded",get:function(){var e;return null!==(e=this.get("temporaryExpanded"))&&void 0!==e?e:this.get("expanded")}},{key:"styleHeight",get:function(){if(!this.styleExpanded)return"0";var e=this.get("expandedHeight");return this.get("shouldFixHeight")&&!x(e)?"".concat(e,"px"):"auto"}},{key:"bindExpandedClass",value:function(e,t){var n=this,r=function(){n.styleExpanded?e.classList.add(t):e.classList.remove(t)};qe(this,"expanded",r),qe(this,"temporaryExpanded",r)}},{key:"cleanUpTransition",value:function(){this.set("shouldFixHeight",!1),this.set("expandedHeight",null),this.set("completed",!0)}}],[{key:"create",value:function(e){var t={completed:!0,expanded:e,expandedHeight:null,shouldFixHeight:!1,temporaryExpanded:null};return new n(B.createCore(t))}}]),n}();function St(e,t){t.style.height=e.styleHeight}function Dt(e,t){e.value("expanded").emitter.on("beforechange",function(){if(e.set("completed",!1),x(e.get("expandedHeight"))){var n=(r=e,l=0,a=function(){r.set("expandedHeight",null),r.set("temporaryExpanded",!0),Te(i),l=i.clientHeight,r.set("temporaryExpanded",null),Te(i)},s=(o=i=t).style.transition,o.style.transition="none",a(),o.style.transition=s,l);n>0&&e.set("expandedHeight",n)}var r,i,o,a,s,l;e.set("shouldFixHeight",!0),Te(t)}),e.emitter.on("change",function(){St(e,t)}),St(e,t),t.addEventListener("transitionend",function(t){"height"===t.propertyName&&e.cleanUpTransition()})}var jt=function(e){a(n,_t);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e,r)).emitter_=new D,i.controller.foldable.value("expanded").emitter.on("change",function(e){i.emitter_.emit("fold",new we(u(i),e.sender.rawValue))}),i.rackApi_.on("change",function(e){i.emitter_.emit("change",e)}),i}return h(n,[{key:"expanded",get:function(){return this.controller.foldable.get("expanded")},set:function(e){this.controller.foldable.set("expanded",e)}},{key:"title",get:function(){return this.controller.props.get("title")},set:function(e){this.controller.props.set("title",e)}},{key:"children",get:function(){return this.rackApi_.children}},{key:"addBinding",value:function(e,t,n){return this.rackApi_.addBinding(e,t,n)}},{key:"addFolder",value:function(e){return this.rackApi_.addFolder(e)}},{key:"addButton",value:function(e){return this.rackApi_.addButton(e)}},{key:"addTab",value:function(e){return this.rackApi_.addTab(e)}},{key:"add",value:function(e,t){return this.rackApi_.add(e,t)}},{key:"remove",value:function(e){this.rackApi_.remove(e)}},{key:"addBlade",value:function(e){return this.rackApi_.addBlade(e)}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}}]),n}(),Lt=Ge("cnt"),Tt=h(function e(t,n){var r,i=this;f(this,e),this.className_=Ge(null!==(r=n.viewName)&&void 0!==r?r:"fld"),this.element=t.createElement("div"),this.element.classList.add(this.className_(),Lt()),n.viewProps.bindClassModifiers(this.element),this.foldable_=n.foldable,this.foldable_.bindExpandedClass(this.element,this.className_(void 0,"expanded")),qe(this.foldable_,"completed",ct(this.element,this.className_(void 0,"cpl")));var o=t.createElement("button");o.classList.add(this.className_("b")),qe(n.props,"title",function(e){x(e)?i.element.classList.add(i.className_(void 0,"not")):i.element.classList.remove(i.className_(void 0,"not"))}),n.viewProps.bindDisabled(o),this.element.appendChild(o),this.buttonElement=o;var a=t.createElement("div");a.classList.add(this.className_("i")),this.element.appendChild(a);var s=t.createElement("div");s.classList.add(this.className_("t")),pt(n.props.value("title"),s),this.buttonElement.appendChild(s),this.titleElement=s;var l=t.createElement("div");l.classList.add(this.className_("m")),this.buttonElement.appendChild(l);var u=t.createElement("div");u.classList.add(this.className_("c")),this.element.appendChild(u),this.containerElement=u}),Mt=function(e){a(n,xt);var t=l(n);function n(e,r){var i,o;f(this,n);var a=Ot.create(null===(o=r.expanded)||void 0===o||o),s=new Tt(e,{foldable:a,props:r.props,viewName:r.root?"rot":void 0,viewProps:r.viewProps});return(i=t.call(this,Object.assign(Object.assign({},r),{rackController:new At({blade:r.blade,element:s.containerElement,root:r.root,viewProps:r.viewProps}),view:s}))).onTitleClick_=i.onTitleClick_.bind(u(i)),i.props=r.props,i.foldable=a,Dt(i.foldable,i.view.containerElement),i.rackController.rack.emitter.on("add",function(){i.foldable.cleanUpTransition()}),i.rackController.rack.emitter.on("remove",function(){i.foldable.cleanUpTransition()}),i.view.buttonElement.addEventListener("click",i.onTitleClick_),i}return h(n,[{key:"document",get:function(){return this.view.element.ownerDocument}},{key:"importState",value:function(e){var t=this;return Oe(e,function(e){return o(p(n.prototype),"importState",t).call(t,e)},function(e){return{expanded:e.required.boolean,title:e.optional.string}},function(e){return t.foldable.set("expanded",e.expanded),t.props.set("title",e.title),!0})}},{key:"exportState",value:function(){var e=this;return Se(function(){return o(p(n.prototype),"exportState",e).call(e)},{expanded:this.foldable.get("expanded"),title:this.props.get("title")})}},{key:"onTitleClick_",value:function(){this.foldable.set("expanded",!this.foldable.get("expanded"))}}]),n}(),Bt=gt({id:"folder",type:"blade",accept:function(e){var t=Ve(e,function(e){return{title:e.required.string,view:e.required.constant("folder"),expanded:e.optional.boolean}});return t?{params:t}:null},controller:function(e){return new Mt(e.document,{blade:e.blade,expanded:e.params.expanded,props:B.fromObject({title:e.params.title}),viewProps:e.viewProps})},api:function(e){return e.controller instanceof Mt?new jt(e.controller,e.pool):null}}),zt=Ge("");function Ft(e,t){return ct(e,zt(void 0,t))}var It=function(e){a(n,B);var t=l(n);function n(e){var r,o;f(this,n),(r=t.call(this,e)).onDisabledChange_=r.onDisabledChange_.bind(u(r)),r.onParentChange_=r.onParentChange_.bind(u(r)),r.onParentGlobalDisabledChange_=r.onParentGlobalDisabledChange_.bind(u(r));var a,s=i((a=M(r.getGlobalDisabled_()),[new T(a),function(e,t){a.setRawValue(e,t)}]),2);return r.globalDisabled_=s[0],r.setGlobalDisabled_=s[1],r.value("disabled").emitter.on("change",r.onDisabledChange_),r.value("parent").emitter.on("change",r.onParentChange_),null===(o=r.get("parent"))||void 0===o||o.globalDisabled.emitter.on("change",r.onParentGlobalDisabledChange_),r}return h(n,[{key:"globalDisabled",get:function(){return this.globalDisabled_}},{key:"bindClassModifiers",value:function(e){Ke(this.globalDisabled_,Ft(e,"disabled")),qe(this,"hidden",Ft(e,"hidden"))}},{key:"bindDisabled",value:function(e){Ke(this.globalDisabled_,function(t){e.disabled=t})}},{key:"bindTabIndex",value:function(e){Ke(this.globalDisabled_,function(t){e.tabIndex=t?-1:0})}},{key:"handleDispose",value:function(e){this.value("disposed").emitter.on("change",function(t){t&&e()})}},{key:"importState",value:function(e){this.set("disabled",e.disabled),this.set("hidden",e.hidden)}},{key:"exportState",value:function(){return{disabled:this.get("disabled"),hidden:this.get("hidden")}}},{key:"getGlobalDisabled_",value:function(){var e=this.get("parent");return!!e&&e.globalDisabled.rawValue||this.get("disabled")}},{key:"updateGlobalDisabled_",value:function(){this.setGlobalDisabled_(this.getGlobalDisabled_())}},{key:"onDisabledChange_",value:function(){this.updateGlobalDisabled_()}},{key:"onParentGlobalDisabledChange_",value:function(){this.updateGlobalDisabled_()}},{key:"onParentChange_",value:function(e){var t,n=e.previousRawValue;null===n||void 0===n||n.globalDisabled.emitter.off("change",this.onParentGlobalDisabledChange_),null===(t=this.get("parent"))||void 0===t||t.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_),this.updateGlobalDisabled_()}}],[{key:"create",value:function(e){var t,r,i,o=null!==e&&void 0!==e?e:{};return new n(B.createCore({disabled:null!==(t=o.disabled)&&void 0!==t&&t,disposed:!1,hidden:null!==(r=o.hidden)&&void 0!==r&&r,parent:null!==(i=o.parent)&&void 0!==i?i:null}))}}]),n}(),Rt=Ge("tbp"),Nt=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(Rt()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("div");r.classList.add(Rt("c")),this.element.appendChild(r),this.containerElement=r}),Ut=Ge("tbi"),Kt=h(function e(t,n){var r=this;f(this,e),this.element=t.createElement("div"),this.element.classList.add(Ut()),n.viewProps.bindClassModifiers(this.element),qe(n.props,"selected",function(e){e?r.element.classList.add(Ut(void 0,"sel")):r.element.classList.remove(Ut(void 0,"sel"))});var i=t.createElement("button");i.classList.add(Ut("b")),n.viewProps.bindDisabled(i),this.element.appendChild(i),this.buttonElement=i;var o=t.createElement("div");o.classList.add(Ut("t")),pt(n.props.value("title"),o),this.buttonElement.appendChild(o),this.titleElement=o}),qt=function(){function e(t,n){f(this,e),this.emitter=new D,this.onClick_=this.onClick_.bind(this),this.props=n.props,this.viewProps=n.viewProps,this.view=new Kt(t,{props:n.props,viewProps:n.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}return h(e,[{key:"onClick_",value:function(){this.emitter.emit("click",{sender:this})}}]),e}(),Ht=function(e){a(n,xt);var t=l(n);function n(e,r){var i;f(this,n);var o=new Nt(e,{viewProps:r.viewProps});return(i=t.call(this,Object.assign(Object.assign({},r),{rackController:new At({blade:r.blade,element:o.containerElement,viewProps:r.viewProps}),view:o}))).onItemClick_=i.onItemClick_.bind(u(i)),i.ic_=new qt(e,{props:r.itemProps,viewProps:It.create()}),i.ic_.emitter.on("click",i.onItemClick_),i.props=r.props,qe(i.props,"selected",function(e){i.itemController.props.set("selected",e),i.viewProps.set("hidden",!e)}),i}return h(n,[{key:"itemController",get:function(){return this.ic_}},{key:"importState",value:function(e){var t=this;return Oe(e,function(e){return o(p(n.prototype),"importState",t).call(t,e)},function(e){return{selected:e.required.boolean,title:e.required.string}},function(e){return t.ic_.props.set("selected",e.selected),t.ic_.props.set("title",e.title),!0})}},{key:"exportState",value:function(){var e=this;return Se(function(){return o(p(n.prototype),"exportState",e).call(e)},{selected:this.ic_.props.get("selected"),title:this.ic_.props.get("title")})}},{key:"onItemClick_",value:function(){this.props.set("selected",!0)}}]),n}(),Gt=function(e){a(n,_t);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e,r)).emitter_=new D,i.onSelect_=i.onSelect_.bind(u(i)),i.pool_=r,i.rackApi_.on("change",function(e){i.emitter_.emit("change",e)}),i.controller.tab.selectedIndex.emitter.on("change",i.onSelect_),i}return h(n,[{key:"pages",get:function(){return this.rackApi_.children}},{key:"addPage",value:function(e){var t=this.controller.view.element.ownerDocument,n=new Ht(t,{blade:Vt(),itemProps:B.fromObject({selected:!1,title:e.title}),props:B.fromObject({selected:!1}),viewProps:It.create()}),r=this.pool_.createApi(n);return this.rackApi_.add(r,e.index)}},{key:"removePage",value:function(e){this.rackApi_.remove(this.rackApi_.children[e])}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}},{key:"onSelect_",value:function(e){this.emitter_.emit("select",new _e(this,e.rawValue))}}]),n}(),Wt=function(e){a(n,_t);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n,[{key:"title",get:function(){var e;return null!==(e=this.controller.itemController.props.get("title"))&&void 0!==e?e:""},set:function(e){this.controller.itemController.props.set("title",e)}},{key:"selected",get:function(){return this.controller.props.get("selected")},set:function(e){this.controller.props.set("selected",e)}},{key:"children",get:function(){return this.rackApi_.children}},{key:"addButton",value:function(e){return this.rackApi_.addButton(e)}},{key:"addFolder",value:function(e){return this.rackApi_.addFolder(e)}},{key:"addTab",value:function(e){return this.rackApi_.addTab(e)}},{key:"add",value:function(e,t){this.rackApi_.add(e,t)}},{key:"remove",value:function(e){this.rackApi_.remove(e)}},{key:"addBinding",value:function(e,t,n){return this.rackApi_.addBinding(e,t,n)}},{key:"addBlade",value:function(e){return this.rackApi_.addBlade(e)}}]),n}(),Yt=-1,Qt=function(){function e(){f(this,e),this.onItemSelectedChange_=this.onItemSelectedChange_.bind(this),this.empty=M(!0),this.selectedIndex=M(Yt),this.items_=[]}return h(e,[{key:"add",value:function(e,t){var n=null!==t&&void 0!==t?t:this.items_.length;this.items_.splice(n,0,e),e.emitter.on("change",this.onItemSelectedChange_),this.keepSelection_()}},{key:"remove",value:function(e){var t=this.items_.indexOf(e);t<0||(this.items_.splice(t,1),e.emitter.off("change",this.onItemSelectedChange_),this.keepSelection_())}},{key:"keepSelection_",value:function(){if(0===this.items_.length)return this.selectedIndex.rawValue=Yt,void(this.empty.rawValue=!0);var e=this.items_.findIndex(function(e){return e.rawValue});e<0?(this.items_.forEach(function(e,t){e.rawValue=0===t}),this.selectedIndex.rawValue=0):(this.items_.forEach(function(t,n){t.rawValue=n===e}),this.selectedIndex.rawValue=e),this.empty.rawValue=!1}},{key:"onItemSelectedChange_",value:function(e){if(e.rawValue){var t=this.items_.findIndex(function(t){return t===e.sender});this.items_.forEach(function(e,n){e.rawValue=n===t}),this.selectedIndex.rawValue=t}else this.keepSelection_()}}]),e}(),Xt=Ge("tab"),$t=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(Xt(),Lt()),n.viewProps.bindClassModifiers(this.element),Ke(n.empty,ct(this.element,Xt(void 0,"nop")));var r=t.createElement("div");r.classList.add(Xt("t")),this.element.appendChild(r),this.itemsElement=r;var i=t.createElement("div");i.classList.add(Xt("i")),this.element.appendChild(i);var o=t.createElement("div");o.classList.add(Xt("c")),this.element.appendChild(o),this.contentsElement=o}),Jt=function(e){a(n,xt);var t=l(n);function n(e,r){var i;f(this,n);var o=new Qt,a=new $t(e,{empty:o.empty,viewProps:r.viewProps});(i=t.call(this,{blade:r.blade,rackController:new At({blade:r.blade,element:a.contentsElement,viewProps:r.viewProps}),view:a})).onRackAdd_=i.onRackAdd_.bind(u(i)),i.onRackRemove_=i.onRackRemove_.bind(u(i));var s=i.rackController.rack;return s.emitter.on("add",i.onRackAdd_),s.emitter.on("remove",i.onRackRemove_),i.tab=o,i}return h(n,[{key:"add",value:function(e,t){this.rackController.rack.add(e,t)}},{key:"remove",value:function(e){this.rackController.rack.remove(this.rackController.rack.children[e])}},{key:"onRackAdd_",value:function(e){if(e.root){var t=e.bladeController;Ie(this.view.itemsElement,t.itemController.view.element,e.index),t.itemController.viewProps.set("parent",this.viewProps),this.tab.add(t.props.value("selected"))}}},{key:"onRackRemove_",value:function(e){if(e.root){var t=e.bladeController;Re(t.itemController.view.element),t.itemController.viewProps.set("parent",null),this.tab.remove(t.props.value("selected"))}}}]),n}(),Zt=gt({id:"tab",type:"blade",accept:function(e){var t=Ve(e,function(e){return{pages:e.required.array(e.required.object({title:e.required.string})),view:e.required.constant("tab")}});return t&&0!==t.pages.length?{params:t}:null},controller:function(e){var t=new Jt(e.document,{blade:e.blade,viewProps:e.viewProps});return e.params.pages.forEach(function(n){var r=new Ht(e.document,{blade:Vt(),itemProps:B.fromObject({selected:!1,title:n.title}),props:B.fromObject({selected:!1}),viewProps:It.create()});t.add(r)}),t},api:function(e){return e.controller instanceof Jt?new Gt(e.controller,e.pool):e.controller instanceof Ht?new Wt(e.controller,e.pool):null}});function en(e,t){var n=e.accept(t.params);if(!n)return null;var r=Ve(t.params,function(e){return{disabled:e.optional.boolean,hidden:e.optional.boolean}});return e.controller({blade:Vt(),document:t.document,params:_(Object.assign(Object.assign({},n.params),{disabled:null===r||void 0===r?void 0:r.disabled,hidden:null===r||void 0===r?void 0:r.hidden})),viewProps:It.create({disabled:null===r||void 0===r?void 0:r.disabled,hidden:null===r||void 0===r?void 0:r.hidden})})}var tn=function(e){a(n,ke);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n,[{key:"options",get:function(){return this.controller.valueController.props.get("options")},set:function(e){this.controller.valueController.props.set("options",e)}}]),n}(),nn=function(){function e(){f(this,e),this.disabled=!1,this.emitter=new D}return h(e,[{key:"dispose",value:function(){}},{key:"tick",value:function(){this.disabled||this.emitter.emit("tick",{sender:this})}}]),e}(),rn=function(){function e(t,n){f(this,e),this.disabled_=!1,this.timerId_=null,this.onTick_=this.onTick_.bind(this),this.doc_=t,this.emitter=new D,this.interval_=n,this.setTimer_()}return h(e,[{key:"disabled",get:function(){return this.disabled_},set:function(e){this.disabled_=e,this.disabled_?this.clearTimer_():this.setTimer_()}},{key:"dispose",value:function(){this.clearTimer_()}},{key:"clearTimer_",value:function(){if(null!==this.timerId_){var e=this.doc_.defaultView;e&&e.clearInterval(this.timerId_),this.timerId_=null}}},{key:"setTimer_",value:function(){if(this.clearTimer_(),!(this.interval_<=0)){var e=this.doc_.defaultView;e&&(this.timerId_=e.setInterval(this.onTick_,this.interval_))}}},{key:"onTick_",value:function(){this.disabled_||this.emitter.emit("tick",{sender:this})}}]),e}(),on=function(){function e(t){f(this,e),this.constraints=t}return h(e,[{key:"constrain",value:function(e){return this.constraints.reduce(function(e,t){return t.constrain(e)},e)}}]),e}();function an(e,t){if(e instanceof t)return e;if(e instanceof on){var n=e.constraints.reduce(function(e,n){return e||(n instanceof t?n:null)},null);if(n)return n}return null}var sn=function(){function e(t){f(this,e),this.values=B.fromObject({options:t})}return h(e,[{key:"constrain",value:function(e){var t=this.values.get("options");return 0===t.length?e:t.filter(function(t){return t.value===e}).length>0?e:t[0].value}}]),e}();function ln(e){var t,n=Ae;return Array.isArray(e)?null===(t=Ve({items:e},function(e){return{items:e.required.array(e.required.object({text:e.required.string,value:e.required.raw}))}}))||void 0===t?void 0:t.items:"object"===w(e)?n.required.raw(e).value:void 0}function un(e){if(Array.isArray(e))return e;var t=[];return Object.keys(e).forEach(function(n){t.push({text:n,value:e[n]})}),t}function cn(e){return x(e)?null:new sn(un(_(e)))}var pn=Ge("lst"),fn=function(){function e(t,n){var r=this;f(this,e),this.onValueChange_=this.onValueChange_.bind(this),this.props_=n.props,this.element=t.createElement("div"),this.element.classList.add(pn()),n.viewProps.bindClassModifiers(this.element);var i=t.createElement("select");i.classList.add(pn("s")),n.viewProps.bindDisabled(i),this.element.appendChild(i),this.selectElement=i;var o=t.createElement("div");o.classList.add(pn("m")),o.appendChild(Fe(t,"dropdown")),this.element.appendChild(o),n.value.emitter.on("change",this.onValueChange_),this.value_=n.value,qe(this.props_,"options",function(e){Ne(r.selectElement),e.forEach(function(e){var n=t.createElement("option");n.textContent=e.text,r.selectElement.appendChild(n)}),r.update_()})}return h(e,[{key:"update_",value:function(){var e=this.props_.get("options").map(function(e){return e.value});this.selectElement.selectedIndex=e.indexOf(this.value_.rawValue)}},{key:"onValueChange_",value:function(){this.update_()}}]),e}(),dn=function(){function e(t,n){f(this,e),this.onSelectChange_=this.onSelectChange_.bind(this),this.props=n.props,this.value=n.value,this.viewProps=n.viewProps,this.view=new fn(t,{props:this.props,value:this.value,viewProps:this.viewProps}),this.view.selectElement.addEventListener("change",this.onSelectChange_)}return h(e,[{key:"onSelectChange_",value:function(e){var t=_(e.currentTarget);this.value.rawValue=this.props.get("options")[t.selectedIndex].value}},{key:"importProps",value:function(e){var t=this;return Oe(e,null,function(e){return{options:e.required.custom(ln)}},function(e){return t.props.set("options",un(e.options)),!0})}},{key:"exportProps",value:function(){return Se(null,{options:this.props.get("options")})}}]),e}(),hn=Ge("pop"),vn=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(hn()),n.viewProps.bindClassModifiers(this.element),Ke(n.shows,ct(this.element,hn(void 0,"v")))}),mn=h(function e(t,n){f(this,e),this.shows=M(!1),this.viewProps=n.viewProps,this.view=new vn(t,{shows:this.shows,viewProps:this.viewProps})}),bn=Ge("txt"),gn=function(){function e(t,n){f(this,e),this.onChange_=this.onChange_.bind(this),this.element=t.createElement("div"),this.element.classList.add(bn()),n.viewProps.bindClassModifiers(this.element),this.props_=n.props,this.props_.emitter.on("change",this.onChange_);var r=t.createElement("input");r.classList.add(bn("i")),r.type="text",n.viewProps.bindDisabled(r),this.element.appendChild(r),this.inputElement=r,n.value.emitter.on("change",this.onChange_),this.value_=n.value,this.refresh()}return h(e,[{key:"refresh",value:function(){var e=this.props_.get("formatter");this.inputElement.value=e(this.value_.rawValue)}},{key:"onChange_",value:function(){this.refresh()}}]),e}(),yn=function(){function e(t,n){f(this,e),this.onInputChange_=this.onInputChange_.bind(this),this.parser_=n.parser,this.props=n.props,this.value=n.value,this.viewProps=n.viewProps,this.view=new gn(t,{props:n.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_)}return h(e,[{key:"onInputChange_",value:function(e){var t=_(e.currentTarget).value,n=this.parser_(t);x(n)||(this.value.rawValue=n),this.view.refresh()}}]),e}();function wn(e){return"false"!==e&&!!e}function _n(e){return function(e){return String(e)}(e)}var xn=oe(0);function kn(e){return xn(e)+"%"}function Cn(e){return String(e)}function Pn(e){return e}function En(e){var t=e.primary,n=e.secondary,r=e.forward,i=e.backward,o=!1;function a(e){o||(o=!0,e(),o=!1)}t.emitter.on("change",function(e){a(function(){n.setRawValue(r(t.rawValue,n.rawValue),e.options)})}),n.emitter.on("change",function(e){a(function(){t.setRawValue(i(t.rawValue,n.rawValue),e.options)}),a(function(){n.setRawValue(r(t.rawValue,n.rawValue),e.options)})}),a(function(){n.setRawValue(r(t.rawValue,n.rawValue),{forceEmit:!1,last:!0})})}function An(e,t){var n=e*(t.altKey?.1:1)*(t.shiftKey?10:1);return t.upKey?+n:t.downKey?-n:0}function Vn(e){return{altKey:e.altKey,downKey:"ArrowDown"===e.key,shiftKey:e.shiftKey,upKey:"ArrowUp"===e.key}}function On(e){return{altKey:e.altKey,downKey:"ArrowLeft"===e.key,shiftKey:e.shiftKey,upKey:"ArrowRight"===e.key}}function Sn(e){return function(e){return"ArrowUp"===e||"ArrowDown"===e}(e)||"ArrowLeft"===e||"ArrowRight"===e}function Dn(e,t){var n,r,i=t.ownerDocument.defaultView,o=t.getBoundingClientRect();return{x:e.pageX-((null!==(n=i&&i.scrollX)&&void 0!==n?n:0)+o.left),y:e.pageY-((null!==(r=i&&i.scrollY)&&void 0!==r?r:0)+o.top)}}var jn=function(){function e(t){f(this,e),this.lastTouch_=null,this.onDocumentMouseMove_=this.onDocumentMouseMove_.bind(this),this.onDocumentMouseUp_=this.onDocumentMouseUp_.bind(this),this.onMouseDown_=this.onMouseDown_.bind(this),this.onTouchEnd_=this.onTouchEnd_.bind(this),this.onTouchMove_=this.onTouchMove_.bind(this),this.onTouchStart_=this.onTouchStart_.bind(this),this.elem_=t,this.emitter=new D,t.addEventListener("touchstart",this.onTouchStart_,{passive:!1}),t.addEventListener("touchmove",this.onTouchMove_,{passive:!0}),t.addEventListener("touchend",this.onTouchEnd_),t.addEventListener("mousedown",this.onMouseDown_)}return h(e,[{key:"computePosition_",value:function(e){var t=this.elem_.getBoundingClientRect();return{bounds:{width:t.width,height:t.height},point:e?{x:e.x,y:e.y}:null}}},{key:"onMouseDown_",value:function(e){var t;e.preventDefault(),null===(t=e.currentTarget)||void 0===t||t.focus();var n=this.elem_.ownerDocument;n.addEventListener("mousemove",this.onDocumentMouseMove_),n.addEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(Dn(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}},{key:"onDocumentMouseMove_",value:function(e){this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(Dn(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}},{key:"onDocumentMouseUp_",value:function(e){var t=this.elem_.ownerDocument;t.removeEventListener("mousemove",this.onDocumentMouseMove_),t.removeEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(Dn(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}},{key:"onTouchStart_",value:function(e){e.preventDefault();var t=e.targetTouches.item(0),n=this.elem_.getBoundingClientRect();this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-n.left,y:t.clientY-n.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}},{key:"onTouchMove_",value:function(e){var t=e.targetTouches.item(0),n=this.elem_.getBoundingClientRect();this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-n.left,y:t.clientY-n.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}},{key:"onTouchEnd_",value:function(e){var t,n=null!==(t=e.targetTouches.item(0))&&void 0!==t?t:this.lastTouch_,r=this.elem_.getBoundingClientRect();this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(n?{x:n.clientX-r.left,y:n.clientY-r.top}:void 0),sender:this,shiftKey:e.shiftKey})}}]),e}(),Ln=Ge("txt"),Tn=function(){function e(t,n){f(this,e),this.onChange_=this.onChange_.bind(this),this.props_=n.props,this.props_.emitter.on("change",this.onChange_),this.element=t.createElement("div"),this.element.classList.add(Ln(),Ln(void 0,"num")),n.arrayPosition&&this.element.classList.add(Ln(void 0,n.arrayPosition)),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("input");r.classList.add(Ln("i")),r.type="text",n.viewProps.bindDisabled(r),this.element.appendChild(r),this.inputElement=r,this.onDraggingChange_=this.onDraggingChange_.bind(this),this.dragging_=n.dragging,this.dragging_.emitter.on("change",this.onDraggingChange_),this.element.classList.add(Ln()),this.inputElement.classList.add(Ln("i"));var i=t.createElement("div");i.classList.add(Ln("k")),this.element.appendChild(i),this.knobElement=i;var o=t.createElementNS(Le,"svg");o.classList.add(Ln("g")),this.knobElement.appendChild(o);var a=t.createElementNS(Le,"path");a.classList.add(Ln("gb")),o.appendChild(a),this.guideBodyElem_=a;var s=t.createElementNS(Le,"path");s.classList.add(Ln("gh")),o.appendChild(s),this.guideHeadElem_=s;var l=t.createElement("div");l.classList.add(Ge("tt")()),this.knobElement.appendChild(l),this.tooltipElem_=l,n.value.emitter.on("change",this.onChange_),this.value=n.value,this.refresh()}return h(e,[{key:"onDraggingChange_",value:function(e){if(null!==e.rawValue){this.element.classList.add(Ln(void 0,"drg"));var t=e.rawValue/this.props_.get("pointerScale"),n=t+(t>0?-1:t<0?1:0),r=le(-n,-4,4);this.guideHeadElem_.setAttributeNS(null,"d",["M ".concat(n+r,",0 L").concat(n,",4 L").concat(n+r,",8"),"M ".concat(t,",-1 L").concat(t,",9")].join(" ")),this.guideBodyElem_.setAttributeNS(null,"d","M 0,4 L".concat(t,",4"));var i=this.props_.get("formatter");this.tooltipElem_.textContent=i(this.value.rawValue),this.tooltipElem_.style.left="".concat(t,"px")}else this.element.classList.remove(Ln(void 0,"drg"))}},{key:"refresh",value:function(){var e=this.props_.get("formatter");this.inputElement.value=e(this.value.rawValue)}},{key:"onChange_",value:function(){this.refresh()}}]),e}(),Mn=function(){function e(t,n){var r;f(this,e),this.originRawValue_=0,this.onInputChange_=this.onInputChange_.bind(this),this.onInputKeyDown_=this.onInputKeyDown_.bind(this),this.onInputKeyUp_=this.onInputKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.parser_=n.parser,this.props=n.props,this.sliderProps_=null!==(r=n.sliderProps)&&void 0!==r?r:null,this.value=n.value,this.viewProps=n.viewProps,this.dragging_=M(null),this.view=new Tn(t,{arrayPosition:n.arrayPosition,dragging:this.dragging_,props:this.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.inputElement.addEventListener("keydown",this.onInputKeyDown_),this.view.inputElement.addEventListener("keyup",this.onInputKeyUp_);var i=new jn(this.view.knobElement);i.emitter.on("down",this.onPointerDown_),i.emitter.on("move",this.onPointerMove_),i.emitter.on("up",this.onPointerUp_)}return h(e,[{key:"constrainValue_",value:function(e){var t,n,r=null===(t=this.sliderProps_)||void 0===t?void 0:t.get("min"),i=null===(n=this.sliderProps_)||void 0===n?void 0:n.get("max"),o=e;return void 0!==r&&(o=Math.max(o,r)),void 0!==i&&(o=Math.min(o,i)),o}},{key:"onInputChange_",value:function(e){var t=_(e.currentTarget).value,n=this.parser_(t);x(n)||(this.value.rawValue=this.constrainValue_(n)),this.view.refresh()}},{key:"onInputKeyDown_",value:function(e){var t=An(this.props.get("keyScale"),Vn(e));0!==t&&this.value.setRawValue(this.constrainValue_(this.value.rawValue+t),{forceEmit:!1,last:!1})}},{key:"onInputKeyUp_",value:function(e){0!==An(this.props.get("keyScale"),Vn(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}},{key:"onPointerDown_",value:function(){this.originRawValue_=this.value.rawValue,this.dragging_.rawValue=0}},{key:"computeDraggingValue_",value:function(e){if(!e.point)return null;var t=e.point.x-e.bounds.width/2;return this.constrainValue_(this.originRawValue_+t*this.props.get("pointerScale"))}},{key:"onPointerMove_",value:function(e){var t=this.computeDraggingValue_(e.data);null!==t&&(this.value.setRawValue(t,{forceEmit:!1,last:!1}),this.dragging_.rawValue=this.value.rawValue-this.originRawValue_)}},{key:"onPointerUp_",value:function(e){var t=this.computeDraggingValue_(e.data);null!==t&&(this.value.setRawValue(t,{forceEmit:!0,last:!0}),this.dragging_.rawValue=null)}}]),e}(),Bn=Ge("sld"),zn=function(){function e(t,n){f(this,e),this.onChange_=this.onChange_.bind(this),this.props_=n.props,this.props_.emitter.on("change",this.onChange_),this.element=t.createElement("div"),this.element.classList.add(Bn()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("div");r.classList.add(Bn("t")),n.viewProps.bindTabIndex(r),this.element.appendChild(r),this.trackElement=r;var i=t.createElement("div");i.classList.add(Bn("k")),this.trackElement.appendChild(i),this.knobElement=i,n.value.emitter.on("change",this.onChange_),this.value=n.value,this.update_()}return h(e,[{key:"update_",value:function(){var e=le(ae(this.value.rawValue,this.props_.get("min"),this.props_.get("max"),0,100),0,100);this.knobElement.style.width="".concat(e,"%")}},{key:"onChange_",value:function(){this.update_()}}]),e}(),Fn=function(){function e(t,n){f(this,e),this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDownOrMove_=this.onPointerDownOrMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=n.value,this.viewProps=n.viewProps,this.props=n.props,this.view=new zn(t,{props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new jn(this.view.trackElement),this.ptHandler_.emitter.on("down",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("move",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.trackElement.addEventListener("keydown",this.onKeyDown_),this.view.trackElement.addEventListener("keyup",this.onKeyUp_)}return h(e,[{key:"handlePointerEvent_",value:function(e,t){e.point&&this.value.setRawValue(ae(le(e.point.x,0,e.bounds.width),0,e.bounds.width,this.props.get("min"),this.props.get("max")),t)}},{key:"onPointerDownOrMove_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerUp_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}},{key:"onKeyDown_",value:function(e){var t=An(this.props.get("keyScale"),On(e));0!==t&&this.value.setRawValue(this.value.rawValue+t,{forceEmit:!1,last:!1})}},{key:"onKeyUp_",value:function(e){0!==An(this.props.get("keyScale"),On(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}]),e}(),In=Ge("sldtxt"),Rn=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(In());var r=t.createElement("div");r.classList.add(In("s")),this.sliderView_=n.sliderView,r.appendChild(this.sliderView_.element),this.element.appendChild(r);var i=t.createElement("div");i.classList.add(In("t")),this.textView_=n.textView,i.appendChild(this.textView_.element),this.element.appendChild(i)}),Nn=function(){function e(t,n){f(this,e),this.value=n.value,this.viewProps=n.viewProps,this.sliderC_=new Fn(t,{props:n.sliderProps,value:n.value,viewProps:this.viewProps}),this.textC_=new Mn(t,{parser:n.parser,props:n.textProps,sliderProps:n.sliderProps,value:n.value,viewProps:n.viewProps}),this.view=new Rn(t,{sliderView:this.sliderC_.view,textView:this.textC_.view})}return h(e,[{key:"sliderController",get:function(){return this.sliderC_}},{key:"textController",get:function(){return this.textC_}},{key:"importProps",value:function(e){var t=this;return Oe(e,null,function(e){return{max:e.required.number,min:e.required.number}},function(e){var n=t.sliderC_.props;return n.set("max",e.max),n.set("min",e.min),!0})}},{key:"exportProps",value:function(){var e=this.sliderC_.props;return Se(null,{max:e.get("max"),min:e.get("min")})}}]),e}();function Un(e){return{sliderProps:new B({keyScale:e.keyScale,max:e.max,min:e.min}),textProps:new B({formatter:M(e.formatter),keyScale:e.keyScale,pointerScale:M(e.pointerScale)})}}var Kn={containerUnitSize:"cnt-usz"};function qn(e){return"--".concat(Kn[e])}function Hn(e){return ve(e)}function Gn(e){if(C(e))return Ve(e,Hn)}function Wn(e,t){if(e){var n=[],r=fe(e,t);r&&n.push(r);var i=de(e);return i&&n.push(i),new on(n)}}function Yn(e){if("inline"===e||"popup"===e)return e}function Qn(e,t){e.write(t)}var Xn=Ge("ckb"),$n=function(){function e(t,n){f(this,e),this.onValueChange_=this.onValueChange_.bind(this),this.element=t.createElement("div"),this.element.classList.add(Xn()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("label");r.classList.add(Xn("l")),this.element.appendChild(r),this.labelElement=r;var i=t.createElement("input");i.classList.add(Xn("i")),i.type="checkbox",this.labelElement.appendChild(i),this.inputElement=i,n.viewProps.bindDisabled(this.inputElement);var o=t.createElement("div");o.classList.add(Xn("w")),this.labelElement.appendChild(o);var a=Fe(t,"check");o.appendChild(a),n.value.emitter.on("change",this.onValueChange_),this.value=n.value,this.update_()}return h(e,[{key:"update_",value:function(){this.inputElement.checked=this.value.rawValue}},{key:"onValueChange_",value:function(){this.update_()}}]),e}(),Jn=function(){function e(t,n){f(this,e),this.onInputChange_=this.onInputChange_.bind(this),this.onLabelMouseDown_=this.onLabelMouseDown_.bind(this),this.value=n.value,this.viewProps=n.viewProps,this.view=new $n(t,{value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.labelElement.addEventListener("mousedown",this.onLabelMouseDown_)}return h(e,[{key:"onInputChange_",value:function(e){var t=_(e.currentTarget);this.value.rawValue=t.checked,e.preventDefault(),e.stopPropagation()}},{key:"onLabelMouseDown_",value:function(e){e.preventDefault()}}]),e}();var Zn=gt({id:"input-bool",type:"input",accept:function(e,t){if("boolean"!=typeof e)return null;var n=Ve(t,function(e){return{options:e.optional.custom(ln),readonly:e.optional.constant(!1)}});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return wn},constraint:function(e){return t=e.params,n=[],(r=cn(t.options))&&n.push(r),new on(n);var t,n,r},writer:function(e){return Qn}},controller:function(e){var t=e.document,n=e.value,r=e.constraint,i=r&&an(r,sn);return i?new dn(t,{props:new B({options:i.values.value("options")}),value:n,viewProps:e.viewProps}):new Jn(t,{value:n,viewProps:e.viewProps})},api:function(e){return"boolean"!=typeof e.controller.value.rawValue?null:e.controller.valueController instanceof dn?new tn(e.controller):null}}),er=Ge("col"),tr=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(er()),n.foldable.bindExpandedClass(this.element,er(void 0,"expanded")),qe(n.foldable,"completed",ct(this.element,er(void 0,"cpl")));var r=t.createElement("div");r.classList.add(er("h")),this.element.appendChild(r);var i=t.createElement("div");i.classList.add(er("s")),r.appendChild(i),this.swatchElement=i;var o=t.createElement("div");if(o.classList.add(er("t")),r.appendChild(o),this.textElement=o,"inline"===n.pickerLayout){var a=t.createElement("div");a.classList.add(er("p")),this.element.appendChild(a),this.pickerElement=a}else this.pickerElement=null});function nr(e,t,n){var r,i,o,a=ue(e,360),s=le(t/100,0,1),l=le(n/100,0,1),u=l*s,c=u*(1-Math.abs(a/60%2-1)),p=l-u;return a>=0&&a<60?(r=u,i=c,o=0):a>=60&&a<120?(r=c,i=u,o=0):a>=120&&a<180?(r=0,i=u,o=c):a>=180&&a<240?(r=0,i=c,o=u):a>=240&&a<300?(r=c,i=0,o=u):(r=u,i=0,o=c),[255*(r+p),255*(i+p),255*(o+p)]}function rr(e){return[e[0],e[1],e[2]]}function ir(e,t){return[e[0],e[1],e[2],t]}var or={hsl:{hsl:function(e,t,n){return[e,t,n]},hsv:function(e,t,n){var r=n+t*(100-Math.abs(2*n-100))/200;return[e,0!==r?t*(100-Math.abs(2*n-100))/r:0,n+t*(100-Math.abs(2*n-100))/200]},rgb:function(e,t,n){var r,i,o,a=(e%360+360)%360,s=le(t/100,0,1),l=le(n/100,0,1),u=(1-Math.abs(2*l-1))*s,c=u*(1-Math.abs(a/60%2-1)),p=l-u/2;return a>=0&&a<60?(r=u,i=c,o=0):a>=60&&a<120?(r=c,i=u,o=0):a>=120&&a<180?(r=0,i=u,o=c):a>=180&&a<240?(r=0,i=c,o=u):a>=240&&a<300?(r=c,i=0,o=u):(r=u,i=0,o=c),[255*(r+p),255*(i+p),255*(o+p)]}},hsv:{hsl:function(e,t,n){var r=100-Math.abs(n*(200-t)/100-100);return[e,0!==r?t*n/r:0,n*(200-t)/200]},hsv:function(e,t,n){return[e,t,n]},rgb:nr},rgb:{hsl:function(e,t,n){var r=le(e/255,0,1),i=le(t/255,0,1),o=le(n/255,0,1),a=Math.max(r,i,o),s=Math.min(r,i,o),l=a-s,u=0,c=0,p=(s+a)/2;return 0!==l&&(c=l/(1-Math.abs(a+s-1)),u=(u=r===a?(i-o)/l:i===a?2+(o-r)/l:4+(r-i)/l)/6+(u<0?1:0)),[360*u,100*c,100*p]},hsv:function(e,t,n){var r=le(e/255,0,1),i=le(t/255,0,1),o=le(n/255,0,1),a=Math.max(r,i,o),s=a-Math.min(r,i,o);return[0===s?0:a===r?((i-o)/s%6+6)%6*60:a===i?60*((o-r)/s+2):60*((r-i)/s+4),100*(0===a?0:s/a),100*a]},rgb:function(e,t,n){return[e,t,n]}}};function ar(e,t){return["float"===t?1:"rgb"===e?255:360,"float"===t?1:"rgb"===e?255:100,"float"===t?1:"rgb"===e?255:100]}function sr(e,t,n){var r,i,o,a=ar(t,n);return["rgb"===t?le(e[0],0,a[0]):(i=e[0],o=a[0],i===o?o:ue(i,o)),le(e[1],0,a[1]),le(e[2],0,a[2]),le(null!==(r=e[3])&&void 0!==r?r:1,0,1)]}function lr(e,t,n,r){var i=ar(t,n),o=ar(t,r);return e.map(function(e,t){return e/i[t]*o[t]})}function ur(e,t,n){var r,i=lr(e,t.mode,t.type,"int");return lr((r=or[t.mode])[n.mode].apply(r,b(i)),n.mode,"int",n.type)}var cr=function(){function e(t,n){f(this,e),this.type="int",this.mode=n,this.comps_=sr(t,n,this.type)}return h(e,[{key:"getComponents",value:function(e){return ir(ur(rr(this.comps_),{mode:this.mode,type:this.type},{mode:null!==e&&void 0!==e?e:this.mode,type:this.type}),this.comps_[3])}},{key:"toRgbaObject",value:function(){var e=this.getComponents("rgb");return{r:e[0],g:e[1],b:e[2],a:e[3]}}}],[{key:"black",value:function(){return new e([0,0,0],"rgb")}}]),e}(),pr=Ge("colp"),fr=function(){function e(t,n){f(this,e),this.alphaViews_=null,this.element=t.createElement("div"),this.element.classList.add(pr()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("div");r.classList.add(pr("hsv"));var i=t.createElement("div");i.classList.add(pr("sv")),this.svPaletteView_=n.svPaletteView,i.appendChild(this.svPaletteView_.element),r.appendChild(i);var o=t.createElement("div");o.classList.add(pr("h")),this.hPaletteView_=n.hPaletteView,o.appendChild(this.hPaletteView_.element),r.appendChild(o),this.element.appendChild(r);var a=t.createElement("div");if(a.classList.add(pr("rgb")),this.textsView_=n.textsView,a.appendChild(this.textsView_.element),this.element.appendChild(a),n.alphaViews){this.alphaViews_={palette:n.alphaViews.palette,text:n.alphaViews.text};var s=t.createElement("div");s.classList.add(pr("a"));var l=t.createElement("div");l.classList.add(pr("ap")),l.appendChild(this.alphaViews_.palette.element),s.appendChild(l);var u=t.createElement("div");u.classList.add(pr("at")),u.appendChild(this.alphaViews_.text.element),s.appendChild(u),this.element.appendChild(s)}}return h(e,[{key:"allFocusableElements",get:function(){var e=[this.svPaletteView_.element,this.hPaletteView_.element,this.textsView_.modeSelectElement].concat(b(this.textsView_.inputViews.map(function(e){return e.inputElement})));return this.alphaViews_&&e.push(this.alphaViews_.palette.element,this.alphaViews_.text.inputElement),e}}]),e}();function dr(e){return"int"===e?"int":"float"===e?"float":void 0}function hr(e){return Ve(e,function(e){return{color:e.optional.object({alpha:e.optional.boolean,type:e.optional.custom(dr)}),expanded:e.optional.boolean,picker:e.optional.custom(Yn),readonly:e.optional.constant(!1)}})}function vr(e){return e?.1:1}function mr(e){var t;return null===(t=e.color)||void 0===t?void 0:t.type}var br=function(){function e(t,n){f(this,e),this.type="float",this.mode=n,this.comps_=sr(t,n,this.type)}return h(e,[{key:"getComponents",value:function(e){return ir(ur(rr(this.comps_),{mode:this.mode,type:this.type},{mode:null!==e&&void 0!==e?e:this.mode,type:this.type}),this.comps_[3])}},{key:"toRgbaObject",value:function(){var e=this.getComponents("rgb");return{r:e[0],g:e[1],b:e[2],a:e[3]}}}]),e}(),gr={int:function(e,t){return new cr(e,t)},float:function(e,t){return new br(e,t)}};function yr(e,t,n){return gr[n](e,t)}function wr(e,t){if(e.type===t)return e;if(function(e){return"int"===e.type}(e)&&"float"===t)return r=(n=e).getComponents(),i=ar(n.mode,"int"),new br([ae(r[0],0,i[0],0,1),ae(r[1],0,i[1],0,1),ae(r[2],0,i[2],0,1),r[3]],n.mode);var n,r,i;if(function(e){return"float"===e.type}(e)&&"int"===t)return function(e){var t=e.getComponents(),n=ar(e.mode,"int");return new cr([Math.round(ae(t[0],0,1,0,n[0])),Math.round(ae(t[1],0,1,0,n[1])),Math.round(ae(t[2],0,1,0,n[2])),t[3]],e.mode)}(e);throw O.shouldNeverHappen()}function _r(e,t){var n=e.match(/^(.+)%$/);return n?Math.min(.01*parseFloat(n[1])*t,t):Math.min(parseFloat(e),t)}var xr={deg:function(e){return e},grad:function(e){return 360*e/400},rad:function(e){return 360*e/(2*Math.PI)},turn:function(e){return 360*e}};function kr(e){var t=e.match(/^([0-9.]+?)(deg|grad|rad|turn)$/);if(!t)return parseFloat(e);var n=parseFloat(t[1]),r=t[2];return xr[r](n)}function Cr(e){var t=e.match(/^rgb\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;var n=[_r(t[1],255),_r(t[2],255),_r(t[3],255)];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])?null:n}function Pr(e){var t=Cr(e);return t?new cr(t,"rgb"):null}function Er(e){var t=e.match(/^rgba\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;var n=[_r(t[1],255),_r(t[2],255),_r(t[3],255),_r(t[4],1)];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])||isNaN(n[3])?null:n}function Ar(e){var t=Er(e);return t?new cr(t,"rgb"):null}function Vr(e){var t=e.match(/^hsl\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;var n=[kr(t[1]),_r(t[2],100),_r(t[3],100)];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])?null:n}function Or(e){var t=Vr(e);return t?new cr(t,"hsl"):null}function Sr(e){var t=e.match(/^hsla\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;var n=[kr(t[1]),_r(t[2],100),_r(t[3],100),_r(t[4],1)];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])||isNaN(n[3])?null:n}function Dr(e){var t=Sr(e);return t?new cr(t,"hsl"):null}function jr(e){var t=e.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(t)return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)];var n=e.match(/^(?:#|0x)([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return n?[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]:null}function Lr(e){var t=jr(e);return t?new cr(t,"rgb"):null}function Tr(e){var t=e.match(/^#?([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(t)return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),ae(parseInt(t[4]+t[4],16),0,255,0,1)];var n=e.match(/^(?:#|0x)?([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return n?[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16),ae(parseInt(n[4],16),0,255,0,1)]:null}function Mr(e){var t=Tr(e);return t?new cr(t,"rgb"):null}function Br(e){var t=e.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!t)return null;var n=[parseFloat(t[1]),parseFloat(t[2]),parseFloat(t[3])];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])?null:n}function zr(e){return function(t){var n=Br(t);return n?yr(n,"rgb",e):null}}function Fr(e){var t=e.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*a\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!t)return null;var n=[parseFloat(t[1]),parseFloat(t[2]),parseFloat(t[3]),parseFloat(t[4])];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])||isNaN(n[3])?null:n}function Ir(e){return function(t){var n=Fr(t);return n?yr(n,"rgb",e):null}}var Rr=[{parser:jr,result:{alpha:!1,mode:"rgb",notation:"hex"}},{parser:Tr,result:{alpha:!0,mode:"rgb",notation:"hex"}},{parser:Cr,result:{alpha:!1,mode:"rgb",notation:"func"}},{parser:Er,result:{alpha:!0,mode:"rgb",notation:"func"}},{parser:Vr,result:{alpha:!1,mode:"hsl",notation:"func"}},{parser:Sr,result:{alpha:!0,mode:"hsl",notation:"func"}},{parser:Br,result:{alpha:!1,mode:"rgb",notation:"object"}},{parser:Fr,result:{alpha:!0,mode:"rgb",notation:"object"}}];function Nr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"int",n=function(e){return Rr.reduce(function(t,n){var r=n.parser,i=n.result;return t||(r(e)?i:null)},null)}(e);return n?"hex"===n.notation&&"float"!==t?Object.assign(Object.assign({},n),{type:"int"}):"func"===n.notation?Object.assign(Object.assign({},n),{type:t}):null:null}function Ur(e){var t=[Lr,Mr,Pr,Ar,Or,Dr];"int"===e&&t.push(zr("int"),Ir("int")),"float"===e&&t.push(zr("float"),Ir("float"));var n=function(e){return function(t){return e.reduce(function(e,n){return null!==e?e:n(t)},null)}}(t);return function(t){var r=n(t);return r?wr(r,e):null}}function Kr(e){var t=Ur("int");if("string"!=typeof e)return cr.black();var n=t(e);return null!==n&&void 0!==n?n:cr.black()}function qr(e){var t=le(Math.floor(e),0,255).toString(16);return 1===t.length?"0".concat(t):t}function Hr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",n=rr(e.getComponents("rgb")).map(qr).join("");return"".concat(t).concat(n)}function Gr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",n=e.getComponents("rgb"),r=[n[0],n[1],n[2],255*n[3]].map(qr).join("");return"".concat(t).concat(r)}function Wr(e){var t=oe(0),n=rr(wr(e,"int").getComponents("rgb")).map(function(e){return t(e)});return"rgb(".concat(n.join(", "),")")}function Yr(e){var t=oe(2),n=oe(0),r=wr(e,"int").getComponents("rgb").map(function(e,r){return(3===r?t:n)(e)});return"rgba(".concat(r.join(", "),")")}function Qr(e,t){var n=oe("float"===t?2:0),r=["r","g","b"],i=rr(wr(e,t).getComponents("rgb")).map(function(e,t){return"".concat(r[t],": ").concat(n(e))});return"{".concat(i.join(", "),"}")}function Xr(e,t){var n=oe(2),r=oe("float"===t?2:0),i=["r","g","b","a"],o=wr(e,t).getComponents("rgb").map(function(e,t){var o=3===t?n:r;return"".concat(i[t],": ").concat(o(e))});return"{".concat(o.join(", "),"}")}var $r=[{format:{alpha:!1,mode:"rgb",notation:"hex",type:"int"},stringifier:Hr},{format:{alpha:!0,mode:"rgb",notation:"hex",type:"int"},stringifier:Gr},{format:{alpha:!1,mode:"rgb",notation:"func",type:"int"},stringifier:Wr},{format:{alpha:!0,mode:"rgb",notation:"func",type:"int"},stringifier:Yr},{format:{alpha:!1,mode:"hsl",notation:"func",type:"int"},stringifier:function(e){var t=[oe(0),kn,kn],n=rr(wr(e,"int").getComponents("hsl")).map(function(e,n){return t[n](e)});return"hsl(".concat(n.join(", "),")")}},{format:{alpha:!0,mode:"hsl",notation:"func",type:"int"},stringifier:function(e){var t=[oe(0),kn,kn,oe(2)],n=wr(e,"int").getComponents("hsl").map(function(e,n){return t[n](e)});return"hsla(".concat(n.join(", "),")")}}].concat(b(["int","float"].reduce(function(e,t){return[].concat(b(e),[{format:{alpha:!1,mode:"rgb",notation:"object",type:t},stringifier:function(e){return function(t){return Qr(t,e)}}(t)},{format:{alpha:!0,mode:"rgb",notation:"object",type:t},stringifier:function(e){return function(t){return Xr(t,e)}}(t)}])},[])));function Jr(e){return $r.reduce(function(t,n){return t||(r=n.format,i=e,r.alpha===i.alpha&&r.mode===i.mode&&r.notation===i.notation&&r.type===i.type?n.stringifier:null);var r,i},null)}var Zr=Ge("apl"),ei=function(){function e(t,n){f(this,e),this.onValueChange_=this.onValueChange_.bind(this),this.value=n.value,this.value.emitter.on("change",this.onValueChange_),this.element=t.createElement("div"),this.element.classList.add(Zr()),n.viewProps.bindClassModifiers(this.element),n.viewProps.bindTabIndex(this.element);var r=t.createElement("div");r.classList.add(Zr("b")),this.element.appendChild(r);var i=t.createElement("div");i.classList.add(Zr("c")),r.appendChild(i),this.colorElem_=i;var o=t.createElement("div");o.classList.add(Zr("m")),this.element.appendChild(o),this.markerElem_=o;var a=t.createElement("div");a.classList.add(Zr("p")),this.markerElem_.appendChild(a),this.previewElem_=a,this.update_()}return h(e,[{key:"update_",value:function(){var e=this.value.rawValue,t=e.getComponents("rgb"),n=new cr([t[0],t[1],t[2],0],"rgb"),r=new cr([t[0],t[1],t[2],255],"rgb"),i=["to right",Yr(n),Yr(r)];this.colorElem_.style.background="linear-gradient(".concat(i.join(","),")"),this.previewElem_.style.backgroundColor=Yr(e);var o=ae(t[3],0,1,0,100);this.markerElem_.style.left="".concat(o,"%")}},{key:"onValueChange_",value:function(){this.update_()}}]),e}(),ti=function(){function e(t,n){f(this,e),this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=n.value,this.viewProps=n.viewProps,this.view=new ei(t,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new jn(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}return h(e,[{key:"handlePointerEvent_",value:function(e,t){if(e.point){var n=e.point.x/e.bounds.width,r=i(this.value.rawValue.getComponents("hsv"),3),o=r[0],a=r[1],s=r[2];this.value.setRawValue(new cr([o,a,s,n],"hsv"),t)}}},{key:"onPointerDown_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerMove_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerUp_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}},{key:"onKeyDown_",value:function(e){var t=An(vr(!0),On(e));if(0!==t){var n=i(this.value.rawValue.getComponents("hsv"),4),r=n[0],o=n[1],a=n[2],s=n[3];this.value.setRawValue(new cr([r,o,a,s+t],"hsv"),{forceEmit:!1,last:!1})}}},{key:"onKeyUp_",value:function(e){0!==An(vr(!0),On(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}]),e}(),ni=Ge("coltxt");var ri=function(){function e(t,n){var r=this;f(this,e),this.element=t.createElement("div"),this.element.classList.add(ni()),n.viewProps.bindClassModifiers(this.element);var i=t.createElement("div");i.classList.add(ni("m")),this.modeElem_=function(e){var t=e.createElement("select");return t.appendChild([{text:"RGB",value:"rgb"},{text:"HSL",value:"hsl"},{text:"HSV",value:"hsv"},{text:"HEX",value:"hex"}].reduce(function(t,n){var r=e.createElement("option");return r.textContent=n.text,r.value=n.value,t.appendChild(r),t},e.createDocumentFragment())),t}(t),this.modeElem_.classList.add(ni("ms")),i.appendChild(this.modeSelectElement),n.viewProps.bindDisabled(this.modeElem_);var o=t.createElement("div");o.classList.add(ni("mm")),o.appendChild(Fe(t,"dropdown")),i.appendChild(o),this.element.appendChild(i);var a=t.createElement("div");a.classList.add(ni("w")),this.element.appendChild(a),this.inputsElem_=a,this.inputViews_=n.inputViews,this.applyInputViews_(),Ke(n.mode,function(e){r.modeElem_.value=e})}return h(e,[{key:"modeSelectElement",get:function(){return this.modeElem_}},{key:"inputViews",get:function(){return this.inputViews_},set:function(e){this.inputViews_=e,this.applyInputViews_()}},{key:"applyInputViews_",value:function(){var e=this;Ne(this.inputsElem_);var t=this.element.ownerDocument;this.inputViews_.forEach(function(n){var r=t.createElement("div");r.classList.add(ni("c")),r.appendChild(n.element),e.inputsElem_.appendChild(r)})}}]),e}();function ii(e,t,n){return new Mn(e,{arrayPosition:0===n?"fst":2===n?"lst":"mid",parser:t.parser,props:B.fromObject({formatter:(r=t.colorType,oe("float"===r?2:0)),keyScale:vr(!1),pointerScale:"float"===t.colorType?.01:1}),value:M(0,{constraint:function(e,t,n){var r=ar(e,t)[n];return new z({min:0,max:r})}(t.colorMode,t.colorType,n)}),viewProps:t.viewProps});var r}var oi=function(){function e(t,n){f(this,e),this.onModeSelectChange_=this.onModeSelectChange_.bind(this),this.colorType_=n.colorType,this.value=n.value,this.viewProps=n.viewProps,this.colorMode=M(this.value.rawValue.mode),this.ccs_=this.createComponentControllers_(t),this.view=new ri(t,{mode:this.colorMode,inputViews:[this.ccs_[0].view,this.ccs_[1].view,this.ccs_[2].view],viewProps:this.viewProps}),this.view.modeSelectElement.addEventListener("change",this.onModeSelectChange_)}return h(e,[{key:"createComponentControllers_",value:function(e){var t=this.colorMode.rawValue;return function(e){return"hex"!==e}(t)?function(e,t){var n={colorMode:t.colorMode,colorType:t.colorType,parser:ne,viewProps:t.viewProps};return[0,1,2].map(function(r){var i=ii(e,n,r);return En({primary:t.value,secondary:i.value,forward:function(e){return wr(e,t.colorType).getComponents(t.colorMode)[r]},backward:function(e,n){var i=t.colorMode,o=wr(e,t.colorType).getComponents(i);return o[r]=n,wr(yr(ir(rr(o),o[3]),i,t.colorType),"int")}}),i})}(e,{colorMode:t,colorType:this.colorType_,value:this.value,viewProps:this.viewProps}):function(e,t){var n=new yn(e,{parser:Ur("int"),props:B.fromObject({formatter:Hr}),value:M(cr.black()),viewProps:t.viewProps});return En({primary:t.value,secondary:n.value,forward:function(e){return new cr(rr(e.getComponents()),e.mode)},backward:function(e,t){return new cr(ir(rr(t.getComponents(e.mode)),e.getComponents()[3]),e.mode)}}),[n]}(e,{value:this.value,viewProps:this.viewProps})}},{key:"onModeSelectChange_",value:function(e){var t=e.currentTarget;this.colorMode.rawValue=t.value,this.ccs_=this.createComponentControllers_(this.view.element.ownerDocument),this.view.inputViews=this.ccs_.map(function(e){return e.view})}}]),e}(),ai=Ge("hpl"),si=function(){function e(t,n){f(this,e),this.onValueChange_=this.onValueChange_.bind(this),this.value=n.value,this.value.emitter.on("change",this.onValueChange_),this.element=t.createElement("div"),this.element.classList.add(ai()),n.viewProps.bindClassModifiers(this.element),n.viewProps.bindTabIndex(this.element);var r=t.createElement("div");r.classList.add(ai("c")),this.element.appendChild(r);var i=t.createElement("div");i.classList.add(ai("m")),this.element.appendChild(i),this.markerElem_=i,this.update_()}return h(e,[{key:"update_",value:function(){var e=i(this.value.rawValue.getComponents("hsv"),1)[0];this.markerElem_.style.backgroundColor=Wr(new cr([e,100,100],"hsv"));var t=ae(e,0,360,0,100);this.markerElem_.style.left="".concat(t,"%")}},{key:"onValueChange_",value:function(){this.update_()}}]),e}(),li=function(){function e(t,n){f(this,e),this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=n.value,this.viewProps=n.viewProps,this.view=new si(t,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new jn(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}return h(e,[{key:"handlePointerEvent_",value:function(e,t){if(e.point){var n=ae(le(e.point.x,0,e.bounds.width),0,e.bounds.width,0,360),r=i(this.value.rawValue.getComponents("hsv"),4),o=r[1],a=r[2],s=r[3];this.value.setRawValue(new cr([n,o,a,s],"hsv"),t)}}},{key:"onPointerDown_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerMove_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerUp_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}},{key:"onKeyDown_",value:function(e){var t=An(vr(!1),On(e));if(0!==t){var n=i(this.value.rawValue.getComponents("hsv"),4),r=n[0],o=n[1],a=n[2],s=n[3];this.value.setRawValue(new cr([r+t,o,a,s],"hsv"),{forceEmit:!1,last:!1})}}},{key:"onKeyUp_",value:function(e){0!==An(vr(!1),On(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}]),e}(),ui=Ge("svp"),ci=64,pi=function(){function e(t,n){f(this,e),this.onValueChange_=this.onValueChange_.bind(this),this.value=n.value,this.value.emitter.on("change",this.onValueChange_),this.element=t.createElement("div"),this.element.classList.add(ui()),n.viewProps.bindClassModifiers(this.element),n.viewProps.bindTabIndex(this.element);var r=t.createElement("canvas");r.height=ci,r.width=ci,r.classList.add(ui("c")),this.element.appendChild(r),this.canvasElement=r;var i=t.createElement("div");i.classList.add(ui("m")),this.element.appendChild(i),this.markerElem_=i,this.update_()}return h(e,[{key:"update_",value:function(){var e,t,n=(e=this.canvasElement,(t=e.ownerDocument.defaultView)&&"document"in t?e.getContext("2d",{willReadFrequently:!0}):null);if(n){for(var r=this.value.rawValue.getComponents("hsv"),i=this.canvasElement.width,o=this.canvasElement.height,a=n.getImageData(0,0,i,o),s=a.data,l=0;l>>0}function wi(e){return"number"!=typeof e?cr.black():new cr([(t=e)>>16&255,t>>8&255,255&t],"rgb");var t}function _i(e){return"number"!=typeof e?cr.black():new cr([(t=e)>>24&255,t>>16&255,t>>8&255,ae(255&t,0,255,0,1)],"rgb");var t}function xi(e,t){return"object"===w(e)&&!x(e)&&(t in e&&"number"==typeof e[t])}function ki(e){return xi(e,"r")&&xi(e,"g")&&xi(e,"b")}function Ci(e){return ki(e)&&xi(e,"a")}function Pi(e){return ki(e)}function Ei(e,t){if(e.mode!==t.mode)return!1;if(e.type!==t.type)return!1;for(var n=e.getComponents(),r=t.getComponents(),i=0;i0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;f(this,e),this.x=t,this.y=n}return h(e,[{key:"getComponents",value:function(){return[this.x,this.y]}},{key:"toObject",value:function(){return{x:this.x,y:this.y}}}],[{key:"isObject",value:function(e){if(x(e))return!1;var t=e.x,n=e.y;return"number"==typeof t&&"number"==typeof n}},{key:"equals",value:function(e,t){return e.x===t.x&&e.y===t.y}}]),e}(),Ri={toComponents:function(e){return e.getComponents()},fromComponents:function(e){return r(Ii,b(e))}},Ni=Ge("p2d"),Ui=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(Ni()),n.viewProps.bindClassModifiers(this.element),Ke(n.expanded,ct(this.element,Ni(void 0,"expanded")));var r=t.createElement("div");r.classList.add(Ni("h")),this.element.appendChild(r);var i=t.createElement("button");i.classList.add(Ni("b")),i.appendChild(Fe(t,"p2dpad")),n.viewProps.bindDisabled(i),r.appendChild(i),this.buttonElement=i;var o=t.createElement("div");if(o.classList.add(Ni("t")),r.appendChild(o),this.textElement=o,"inline"===n.pickerLayout){var a=t.createElement("div");a.classList.add(Ni("p")),this.element.appendChild(a),this.pickerElement=a}else this.pickerElement=null}),Ki=Ge("p2dp"),qi=function(){function e(t,n){f(this,e),this.onFoldableChange_=this.onFoldableChange_.bind(this),this.onPropsChange_=this.onPropsChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.props_=n.props,this.props_.emitter.on("change",this.onPropsChange_),this.element=t.createElement("div"),this.element.classList.add(Ki()),"popup"===n.layout&&this.element.classList.add(Ki(void 0,"p")),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("div");r.classList.add(Ki("p")),n.viewProps.bindTabIndex(r),this.element.appendChild(r),this.padElement=r;var i=t.createElementNS(Le,"svg");i.classList.add(Ki("g")),this.padElement.appendChild(i),this.svgElem_=i;var o=t.createElementNS(Le,"line");o.classList.add(Ki("ax")),o.setAttributeNS(null,"x1","0"),o.setAttributeNS(null,"y1","50%"),o.setAttributeNS(null,"x2","100%"),o.setAttributeNS(null,"y2","50%"),this.svgElem_.appendChild(o);var a=t.createElementNS(Le,"line");a.classList.add(Ki("ax")),a.setAttributeNS(null,"x1","50%"),a.setAttributeNS(null,"y1","0"),a.setAttributeNS(null,"x2","50%"),a.setAttributeNS(null,"y2","100%"),this.svgElem_.appendChild(a);var s=t.createElementNS(Le,"line");s.classList.add(Ki("l")),s.setAttributeNS(null,"x1","50%"),s.setAttributeNS(null,"y1","50%"),this.svgElem_.appendChild(s),this.lineElem_=s;var l=t.createElement("div");l.classList.add(Ki("m")),this.padElement.appendChild(l),this.markerElem_=l,n.value.emitter.on("change",this.onValueChange_),this.value=n.value,this.update_()}return h(e,[{key:"allFocusableElements",get:function(){return[this.padElement]}},{key:"update_",value:function(){var e=i(this.value.rawValue.getComponents(),2),t=e[0],n=e[1],r=this.props_.get("max"),o=ae(t,-r,+r,0,100),a=ae(n,-r,+r,0,100),s=this.props_.get("invertsY")?100-a:a;this.lineElem_.setAttributeNS(null,"x2","".concat(o,"%")),this.lineElem_.setAttributeNS(null,"y2","".concat(s,"%")),this.markerElem_.style.left="".concat(o,"%"),this.markerElem_.style.top="".concat(s,"%")}},{key:"onValueChange_",value:function(){this.update_()}},{key:"onPropsChange_",value:function(){this.update_()}},{key:"onFoldableChange_",value:function(){this.update_()}}]),e}();function Hi(e,t,n){return[An(t[0],On(e)),An(t[1],Vn(e))*(n?1:-1)]}var Gi=function(){function e(t,n){f(this,e),this.onPadKeyDown_=this.onPadKeyDown_.bind(this),this.onPadKeyUp_=this.onPadKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.props=n.props,this.value=n.value,this.viewProps=n.viewProps,this.view=new qi(t,{layout:n.layout,props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new jn(this.view.padElement),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.padElement.addEventListener("keydown",this.onPadKeyDown_),this.view.padElement.addEventListener("keyup",this.onPadKeyUp_)}return h(e,[{key:"handlePointerEvent_",value:function(e,t){if(e.point){var n=this.props.get("max"),r=ae(e.point.x,0,e.bounds.width,-n,+n),i=ae(this.props.get("invertsY")?e.bounds.height-e.point.y:e.point.y,0,e.bounds.height,-n,+n);this.value.setRawValue(new Ii(r,i),t)}}},{key:"onPointerDown_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerMove_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerUp_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}},{key:"onPadKeyDown_",value:function(e){Sn(e.key)&&e.preventDefault();var t=i(Hi(e,[this.props.get("xKeyScale"),this.props.get("yKeyScale")],this.props.get("invertsY")),2),n=t[0],r=t[1];0===n&&0===r||this.value.setRawValue(new Ii(this.value.rawValue.x+n,this.value.rawValue.y+r),{forceEmit:!1,last:!1})}},{key:"onPadKeyUp_",value:function(e){var t=i(Hi(e,[this.props.get("xKeyScale"),this.props.get("yKeyScale")],this.props.get("invertsY")),2),n=t[0],r=t[1];0===n&&0===r||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}]),e}(),Wi=function(){function e(t,n){var r,i,o=this;f(this,e),this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.onPadButtonBlur_=this.onPadButtonBlur_.bind(this),this.onPadButtonClick_=this.onPadButtonClick_.bind(this),this.value=n.value,this.viewProps=n.viewProps,this.foldable_=Ot.create(n.expanded),this.popC_="popup"===n.pickerLayout?new mn(t,{viewProps:this.viewProps}):null;var a=new Gi(t,{layout:n.pickerLayout,props:new B({invertsY:M(n.invertsY),max:M(n.max),xKeyScale:n.axes[0].textProps.value("keyScale"),yKeyScale:n.axes[1].textProps.value("keyScale")}),value:this.value,viewProps:this.viewProps});a.view.allFocusableElements.forEach(function(e){e.addEventListener("blur",o.onPopupChildBlur_),e.addEventListener("keydown",o.onPopupChildKeydown_)}),this.pickerC_=a,this.textC_=new Bi(t,{assembly:Ri,axes:n.axes,parser:n.parser,value:this.value,viewProps:this.viewProps}),this.view=new Ui(t,{expanded:this.foldable_.value("expanded"),pickerLayout:n.pickerLayout,viewProps:this.viewProps}),this.view.textElement.appendChild(this.textC_.view.element),null===(r=this.view.buttonElement)||void 0===r||r.addEventListener("blur",this.onPadButtonBlur_),null===(i=this.view.buttonElement)||void 0===i||i.addEventListener("click",this.onPadButtonClick_),this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(this.pickerC_.view.element),En({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:function(e){return e},backward:function(e,t){return t}})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),Dt(this.foldable_,this.view.pickerElement))}return h(e,[{key:"textController",get:function(){return this.textC_}},{key:"onPadButtonBlur_",value:function(e){if(this.popC_){var t=this.view.element,n=_(e.relatedTarget);n&&t.contains(n)||(this.popC_.shows.rawValue=!1)}}},{key:"onPadButtonClick_",value:function(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()}},{key:"onPopupChildBlur_",value:function(e){if(this.popC_){var t=this.popC_.view.element,n=Ue(e);n&&t.contains(n)||n&&n===this.view.buttonElement&&!Me(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}}},{key:"onPopupChildKeydown_",value:function(e){this.popC_?"Escape"===e.key&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&"Escape"===e.key&&this.view.buttonElement.focus()}}]),e}();function Yi(e){return Ii.isObject(e)?new Ii(e.x,e.y):new Ii}function Qi(e,t){e.writeProperty("x",t.x),e.writeProperty("y",t.y)}function Xi(e,t){var n,r;if(!x(e.min)||!x(e.max))return Math.max(Math.abs(null!==(n=e.min)&&void 0!==n?n:0),Math.abs(null!==(r=e.max)&&void 0!==r?r:0));var i=ce(e);return Math.max(10*Math.abs(i),10*Math.abs(t))}var $i=gt({id:"input-point2d",type:"input",accept:function(e,t){if(!Ii.isObject(e))return null;var n=Ve(t,function(e){return Object.assign(Object.assign({},Hn(e)),{expanded:e.optional.boolean,picker:e.optional.custom(Yn),readonly:e.optional.constant(!1),x:e.optional.custom(Gn),y:e.optional.object(Object.assign(Object.assign({},Hn(e)),{inverted:e.optional.boolean}))})});return n?{initialValue:e,params:n}:null},binding:{reader:function(){return Yi},constraint:function(e){return t=e.params,n=e.initialValue,new Li({assembly:Ri,components:[Wn(Object.assign(Object.assign({},t),t.x),n.x),Wn(Object.assign(Object.assign({},t),t.y),n.y)]});var t,n},equals:Ii.equals,writer:function(){return Qi}},controller:function(e){var t,n,r=e.document,i=e.value,o=e.constraint,a=[e.params.x,e.params.y];return new Wi(r,{axes:i.rawValue.getComponents().map(function(t,n){var r;return me({constraint:o.components[n],initialValue:t,params:E(e.params,null!==(r=a[n])&&void 0!==r?r:{})})}),expanded:null!==(t=e.params.expanded)&&void 0!==t&&t,invertsY:function(e){if(!("y"in e))return!1;var t=e.y;return!!t&&"inverted"in t&&!!t.inverted}(e.params),max:function(e,t){var n,r,i=Xi(E(e,null!==(n=e.x)&&void 0!==n?n:{}),t.x),o=Xi(E(e,null!==(r=e.y)&&void 0!==r?r:{}),t.y);return Math.max(i,o)}(e.params,i.rawValue),parser:ne,pickerLayout:null!==(n=e.params.picker)&&void 0!==n?n:"popup",value:i,viewProps:e.viewProps})}}),Ji=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;f(this,e),this.x=t,this.y=n,this.z=r}return h(e,[{key:"getComponents",value:function(){return[this.x,this.y,this.z]}},{key:"toObject",value:function(){return{x:this.x,y:this.y,z:this.z}}}],[{key:"isObject",value:function(e){if(x(e))return!1;var t=e.x,n=e.y,r=e.z;return"number"==typeof t&&"number"==typeof n&&"number"==typeof r}},{key:"equals",value:function(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z}}]),e}(),Zi={toComponents:function(e){return e.getComponents()},fromComponents:function(e){return r(Ji,b(e))}};function eo(e){return Ji.isObject(e)?new Ji(e.x,e.y,e.z):new Ji}function to(e,t){e.writeProperty("x",t.x),e.writeProperty("y",t.y),e.writeProperty("z",t.z)}var no=gt({id:"input-point3d",type:"input",accept:function(e,t){if(!Ji.isObject(e))return null;var n=Ve(t,function(e){return Object.assign(Object.assign({},Hn(e)),{readonly:e.optional.constant(!1),x:e.optional.custom(Gn),y:e.optional.custom(Gn),z:e.optional.custom(Gn)})});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return eo},constraint:function(e){return t=e.params,n=e.initialValue,new Li({assembly:Zi,components:[Wn(Object.assign(Object.assign({},t),t.x),n.x),Wn(Object.assign(Object.assign({},t),t.y),n.y),Wn(Object.assign(Object.assign({},t),t.z),n.z)]});var t,n},equals:Ji.equals,writer:function(e){return to}},controller:function(e){var t=e.value,n=e.constraint,r=[e.params.x,e.params.y,e.params.z];return new Bi(e.document,{assembly:Zi,axes:t.rawValue.getComponents().map(function(t,i){var o;return me({constraint:n.components[i],initialValue:t,params:E(e.params,null!==(o=r[i])&&void 0!==o?o:{})})}),parser:ne,value:t,viewProps:e.viewProps})}}),ro=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;f(this,e),this.x=t,this.y=n,this.z=r,this.w=i}return h(e,[{key:"getComponents",value:function(){return[this.x,this.y,this.z,this.w]}},{key:"toObject",value:function(){return{x:this.x,y:this.y,z:this.z,w:this.w}}}],[{key:"isObject",value:function(e){if(x(e))return!1;var t=e.x,n=e.y,r=e.z,i=e.w;return"number"==typeof t&&"number"==typeof n&&"number"==typeof r&&"number"==typeof i}},{key:"equals",value:function(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w}}]),e}(),io={toComponents:function(e){return e.getComponents()},fromComponents:function(e){return r(ro,b(e))}};function oo(e){return ro.isObject(e)?new ro(e.x,e.y,e.z,e.w):new ro}function ao(e,t){e.writeProperty("x",t.x),e.writeProperty("y",t.y),e.writeProperty("z",t.z),e.writeProperty("w",t.w)}var so=gt({id:"input-point4d",type:"input",accept:function(e,t){if(!ro.isObject(e))return null;var n=Ve(t,function(e){return Object.assign(Object.assign({},Hn(e)),{readonly:e.optional.constant(!1),w:e.optional.custom(Gn),x:e.optional.custom(Gn),y:e.optional.custom(Gn),z:e.optional.custom(Gn)})});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return oo},constraint:function(e){return t=e.params,n=e.initialValue,new Li({assembly:io,components:[Wn(Object.assign(Object.assign({},t),t.x),n.x),Wn(Object.assign(Object.assign({},t),t.y),n.y),Wn(Object.assign(Object.assign({},t),t.z),n.z),Wn(Object.assign(Object.assign({},t),t.w),n.w)]});var t,n},equals:ro.equals,writer:function(e){return ao}},controller:function(e){var t=e.value,n=e.constraint,r=[e.params.x,e.params.y,e.params.z,e.params.w];return new Bi(e.document,{assembly:io,axes:t.rawValue.getComponents().map(function(t,i){var o;return me({constraint:n.components[i],initialValue:t,params:E(e.params,null!==(o=r[i])&&void 0!==o?o:{})})}),parser:ne,value:t,viewProps:e.viewProps})}});var lo=gt({id:"input-string",type:"input",accept:function(e,t){if("string"!=typeof e)return null;var n=Ve(t,function(e){return{readonly:e.optional.constant(!1),options:e.optional.custom(ln)}});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return Cn},constraint:function(e){return t=e.params,n=[],(r=cn(t.options))&&n.push(r),new on(n);var t,n,r},writer:function(e){return Qn}},controller:function(e){var t=e.document,n=e.value,r=e.constraint,i=r&&an(r,sn);return i?new dn(t,{props:new B({options:i.values.value("options")}),value:n,viewProps:e.viewProps}):new yn(t,{parser:function(e){return e},props:B.fromObject({formatter:Pn}),value:n,viewProps:e.viewProps})},api:function(e){return"string"!=typeof e.controller.value.rawValue?null:e.controller.valueController instanceof dn?new tn(e.controller):null}}),uo={monitor:{defaultInterval:200,defaultRows:3}},co=Ge("mll"),po=function(){function e(t,n){f(this,e),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=n.formatter,this.element=t.createElement("div"),this.element.classList.add(co()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("textarea");r.classList.add(co("i")),r.style.height="calc(var(".concat(qn("containerUnitSize"),") * ").concat(n.rows,")"),r.readOnly=!0,n.viewProps.bindDisabled(r),this.element.appendChild(r),this.textareaElem_=r,n.value.emitter.on("change",this.onValueUpdate_),this.value=n.value,this.update_()}return h(e,[{key:"update_",value:function(){var e=this,t=this.textareaElem_,n=t.scrollTop===t.scrollHeight-t.clientHeight,r=[];this.value.rawValue.forEach(function(t){void 0!==t&&r.push(e.formatter_(t))}),t.textContent=r.join("\n"),n&&(t.scrollTop=t.scrollHeight)}},{key:"onValueUpdate_",value:function(){this.update_()}}]),e}(),fo=h(function e(t,n){f(this,e),this.value=n.value,this.viewProps=n.viewProps,this.view=new po(t,{formatter:n.formatter,rows:n.rows,value:this.value,viewProps:this.viewProps})}),ho=Ge("sgl"),vo=function(){function e(t,n){f(this,e),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=n.formatter,this.element=t.createElement("div"),this.element.classList.add(ho()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("input");r.classList.add(ho("i")),r.readOnly=!0,r.type="text",n.viewProps.bindDisabled(r),this.element.appendChild(r),this.inputElement=r,n.value.emitter.on("change",this.onValueUpdate_),this.value=n.value,this.update_()}return h(e,[{key:"update_",value:function(){var e=this.value.rawValue,t=e[e.length-1];this.inputElement.value=void 0!==t?this.formatter_(t):""}},{key:"onValueUpdate_",value:function(){this.update_()}}]),e}(),mo=h(function e(t,n){f(this,e),this.value=n.value,this.viewProps=n.viewProps,this.view=new vo(t,{formatter:n.formatter,value:this.value,viewProps:this.viewProps})}),bo=gt({id:"monitor-bool",type:"monitor",accept:function(e,t){if("boolean"!=typeof e)return null;var n=Ve(t,function(e){return{readonly:e.required.constant(!0),rows:e.optional.number}});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return wn}},controller:function(e){var t;return 1===e.value.rawValue.length?new mo(e.document,{formatter:_n,value:e.value,viewProps:e.viewProps}):new fo(e.document,{formatter:_n,rows:null!==(t=e.params.rows)&&void 0!==t?t:uo.monitor.defaultRows,value:e.value,viewProps:e.viewProps})}}),go=function(e){a(n,ke);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n,[{key:"max",get:function(){return this.controller.valueController.props.get("max")},set:function(e){this.controller.valueController.props.set("max",e)}},{key:"min",get:function(){return this.controller.valueController.props.get("min")},set:function(e){this.controller.valueController.props.set("min",e)}}]),n}(),yo=Ge("grl"),wo=function(){function e(t,n){f(this,e),this.onCursorChange_=this.onCursorChange_.bind(this),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.element=t.createElement("div"),this.element.classList.add(yo()),n.viewProps.bindClassModifiers(this.element),this.formatter_=n.formatter,this.props_=n.props,this.cursor_=n.cursor,this.cursor_.emitter.on("change",this.onCursorChange_);var r=t.createElementNS(Le,"svg");r.classList.add(yo("g")),r.style.height="calc(var(".concat(qn("containerUnitSize"),") * ").concat(n.rows,")"),this.element.appendChild(r),this.svgElem_=r;var i=t.createElementNS(Le,"polyline");this.svgElem_.appendChild(i),this.lineElem_=i;var o=t.createElement("div");o.classList.add(yo("t"),Ge("tt")()),this.element.appendChild(o),this.tooltipElem_=o,n.value.emitter.on("change",this.onValueUpdate_),this.value=n.value,this.update_()}return h(e,[{key:"graphElement",get:function(){return this.svgElem_}},{key:"update_",value:function(){var e=this.element,t=e.clientWidth,n=e.clientHeight,r=this.value.rawValue.length-1,i=this.props_.get("min"),o=this.props_.get("max"),a=[];this.value.rawValue.forEach(function(e,s){if(void 0!==e){var l=ae(s,0,r,0,t),u=ae(e,i,o,n,0);a.push([l,u].join(","))}}),this.lineElem_.setAttributeNS(null,"points",a.join(" "));var s=this.tooltipElem_,l=this.value.rawValue[this.cursor_.rawValue];if(void 0!==l){var u=ae(this.cursor_.rawValue,0,r,0,t),c=ae(l,i,o,n,0);s.style.left="".concat(u,"px"),s.style.top="".concat(c,"px"),s.textContent="".concat(this.formatter_(l)),s.classList.contains(yo("t","a"))||(s.classList.add(yo("t","a"),yo("t","in")),Te(s),s.classList.remove(yo("t","in")))}else s.classList.remove(yo("t","a"))}},{key:"onValueUpdate_",value:function(){this.update_()}},{key:"onCursorChange_",value:function(){this.update_()}}]),e}(),_o=function(){function e(t,n){if(f(this,e),this.onGraphMouseMove_=this.onGraphMouseMove_.bind(this),this.onGraphMouseLeave_=this.onGraphMouseLeave_.bind(this),this.onGraphPointerDown_=this.onGraphPointerDown_.bind(this),this.onGraphPointerMove_=this.onGraphPointerMove_.bind(this),this.onGraphPointerUp_=this.onGraphPointerUp_.bind(this),this.props=n.props,this.value=n.value,this.viewProps=n.viewProps,this.cursor_=M(-1),this.view=new wo(t,{cursor:this.cursor_,formatter:n.formatter,rows:n.rows,props:this.props,value:this.value,viewProps:this.viewProps}),Me(t)){var r=new jn(this.view.element);r.emitter.on("down",this.onGraphPointerDown_),r.emitter.on("move",this.onGraphPointerMove_),r.emitter.on("up",this.onGraphPointerUp_)}else this.view.element.addEventListener("mousemove",this.onGraphMouseMove_),this.view.element.addEventListener("mouseleave",this.onGraphMouseLeave_)}return h(e,[{key:"importProps",value:function(e){var t=this;return Oe(e,null,function(e){return{max:e.required.number,min:e.required.number}},function(e){return t.props.set("max",e.max),t.props.set("min",e.min),!0})}},{key:"exportProps",value:function(){return Se(null,{max:this.props.get("max"),min:this.props.get("min")})}},{key:"onGraphMouseLeave_",value:function(){this.cursor_.rawValue=-1}},{key:"onGraphMouseMove_",value:function(e){var t=this.view.element.clientWidth;this.cursor_.rawValue=Math.floor(ae(e.offsetX,0,t,0,this.value.rawValue.length))}},{key:"onGraphPointerDown_",value:function(e){this.onGraphPointerMove_(e)}},{key:"onGraphPointerMove_",value:function(e){e.data.point?this.cursor_.rawValue=Math.floor(ae(e.data.point.x,0,e.data.bounds.width,0,this.value.rawValue.length)):this.cursor_.rawValue=-1}},{key:"onGraphPointerUp_",value:function(){this.cursor_.rawValue=-1}}]),e}();function xo(e){return x(e.format)?oe(2):e.format}function ko(e){return"graph"===e.view}var Co=gt({id:"monitor-number",type:"monitor",accept:function(e,t){if("number"!=typeof e)return null;var n=Ve(t,function(e){return{format:e.optional.function,max:e.optional.number,min:e.optional.number,readonly:e.required.constant(!0),rows:e.optional.number,view:e.optional.string}});return n?{initialValue:e,params:n}:null},binding:{defaultBufferSize:function(e){return ko(e)?64:1},reader:function(e){return re}},controller:function(e){return ko(e.params)?function(e){var t,n,r;return new _o(e.document,{formatter:xo(e.params),rows:null!==(t=e.params.rows)&&void 0!==t?t:uo.monitor.defaultRows,props:B.fromObject({max:null!==(n=e.params.max)&&void 0!==n?n:100,min:null!==(r=e.params.min)&&void 0!==r?r:0}),value:e.value,viewProps:e.viewProps})}(e):function(e){var t;return 1===e.value.rawValue.length?new mo(e.document,{formatter:xo(e.params),value:e.value,viewProps:e.viewProps}):new fo(e.document,{formatter:xo(e.params),rows:null!==(t=e.params.rows)&&void 0!==t?t:uo.monitor.defaultRows,value:e.value,viewProps:e.viewProps})}(e)},api:function(e){return e.controller.valueController instanceof _o?new go(e.controller):null}}),Po=gt({id:"monitor-string",type:"monitor",accept:function(e,t){if("string"!=typeof e)return null;var n=Ve(t,function(e){return{multiline:e.optional.boolean,readonly:e.required.constant(!0),rows:e.optional.number}});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return Cn}},controller:function(e){var t,n=e.value;return n.rawValue.length>1||e.params.multiline?new fo(e.document,{formatter:Pn,rows:null!==(t=e.params.rows)&&void 0!==t?t:uo.monitor.defaultRows,value:n,viewProps:e.viewProps}):new mo(e.document,{formatter:Pn,value:n,viewProps:e.viewProps})}}),Eo=function(){function e(){f(this,e),this.map_=new Map}return h(e,[{key:"get",value:function(e){var t;return null!==(t=this.map_.get(e))&&void 0!==t?t:null}},{key:"has",value:function(e){return this.map_.has(e)}},{key:"add",value:function(e,t){var n=this;return this.map_.set(e,t),e.viewProps.handleDispose(function(){n.map_.delete(e)}),t}}]),e}(),Ao=function(){function e(t){f(this,e),this.target=t.target,this.reader_=t.reader,this.writer_=t.writer}return h(e,[{key:"read",value:function(){return this.reader_(this.target.read())}},{key:"write",value:function(e){this.writer_(this.target,e)}},{key:"inject",value:function(e){this.write(this.reader_(e))}}]),e}();var Vo=function(){function e(t){f(this,e),this.target=t.target,this.reader_=t.reader}return h(e,[{key:"read",value:function(){return this.reader_(this.target.read())}}]),e}();function Oo(e,t){var n,r,i,o=e.accept(t.target.read(),t.params);if(x(o))return null;var a,s,l={target:t.target,initialValue:o.initialValue,params:o.params},u=Ve(t.params,function(e){return{bufferSize:e.optional.number,disabled:e.optional.boolean,hidden:e.optional.boolean,interval:e.optional.number,label:e.optional.string}}),c=e.binding.reader(l),p=null!==(r=null!==(n=null===u||void 0===u?void 0:u.bufferSize)&&void 0!==n?n:e.binding.defaultBufferSize&&e.binding.defaultBufferSize(o.params))&&void 0!==r?r:1,f=new at({binding:new Vo({reader:c,target:t.target}),bufferSize:p,ticker:(a=t.document,s=null===u||void 0===u?void 0:u.interval,0===s?new nn:new rn(a,null!==s&&void 0!==s?s:uo.monitor.defaultInterval))}),d=e.controller({document:t.document,params:o.params,value:f,viewProps:It.create({disabled:null===u||void 0===u?void 0:u.disabled,hidden:null===u||void 0===u?void 0:u.hidden})});return d.viewProps.bindDisabled(f.ticker),d.viewProps.handleDispose(function(){f.ticker.dispose()}),new st(t.document,{blade:Vt(),props:B.fromObject({label:"label"in t.params?null!==(i=null===u||void 0===u?void 0:u.label)&&void 0!==i?i:null:t.target.key}),value:f,valueController:d})}var So=function(){function e(t){f(this,e),this.pluginsMap_={blades:[],inputs:[],monitors:[]},this.apiCache_=t}return h(e,[{key:"getAll",value:function(){return[].concat(b(this.pluginsMap_.blades),b(this.pluginsMap_.inputs),b(this.pluginsMap_.monitors))}},{key:"register",value:function(e,t){if(!(n=t.core)||n.major!==bt.major)throw O.notCompatible(e,t.id);var n;"blade"===t.type?this.pluginsMap_.blades.unshift(t):"input"===t.type?this.pluginsMap_.inputs.unshift(t):"monitor"===t.type&&this.pluginsMap_.monitors.unshift(t)}},{key:"createInput_",value:function(e,t,n){return this.pluginsMap_.inputs.reduce(function(r,i){return null!==r&&void 0!==r?r:function(e,t){var n,r=e.accept(t.target.read(),t.params);if(x(r))return null;var i={target:t.target,initialValue:r.initialValue,params:r.params},o=Ve(t.params,function(e){return{disabled:e.optional.boolean,hidden:e.optional.boolean,label:e.optional.string,tag:e.optional.string}}),a=e.binding.reader(i),s=e.binding.constraint?e.binding.constraint(i):void 0,l=new Ao({reader:a,target:t.target,writer:e.binding.writer(i)}),u=new Ce(M(a(r.initialValue),{constraint:s,equals:e.binding.equals}),l),c=e.controller({constraint:s,document:t.document,initialValue:r.initialValue,params:r.params,value:u,viewProps:It.create({disabled:null===o||void 0===o?void 0:o.disabled,hidden:null===o||void 0===o?void 0:o.hidden})});return new nt(t.document,{blade:Vt(),props:B.fromObject({label:"label"in t.params?null!==(n=null===o||void 0===o?void 0:o.label)&&void 0!==n?n:null:t.target.key}),tag:null===o||void 0===o?void 0:o.tag,value:u,valueController:c})}(i,{document:e,target:t,params:n})},null)}},{key:"createMonitor_",value:function(e,t,n){return this.pluginsMap_.monitors.reduce(function(r,i){return null!==r&&void 0!==r?r:Oo(i,{document:e,params:n,target:t})},null)}},{key:"createBinding",value:function(e,t,n){if(x(t.read()))throw new O({context:{key:t.key},type:"nomatchingcontroller"});var r=this.createInput_(e,t,n);if(r)return r;var i=this.createMonitor_(e,t,n);if(i)return i;throw new O({context:{key:t.key},type:"nomatchingcontroller"})}},{key:"createBlade",value:function(e,t){var n=this.pluginsMap_.blades.reduce(function(n,r){return null!==n&&void 0!==n?n:en(r,{document:e,params:t})},null);if(!n)throw new O({type:"nomatchingview",context:{params:t}});return n}},{key:"createInputBindingApi_",value:function(e){var t=this.pluginsMap_.inputs.reduce(function(t,n){var r,i;return t||(null!==(i=null===(r=n.api)||void 0===r?void 0:r.call(n,{controller:e}))&&void 0!==i?i:null)},null);return this.apiCache_.add(e,null!==t&&void 0!==t?t:new ke(e))}},{key:"createMonitorBindingApi_",value:function(e){var t=this.pluginsMap_.monitors.reduce(function(t,n){var r,i;return t||(null!==(i=null===(r=n.api)||void 0===r?void 0:r.call(n,{controller:e}))&&void 0!==i?i:null)},null);return this.apiCache_.add(e,null!==t&&void 0!==t?t:new ke(e))}},{key:"createBindingApi",value:function(e){if(this.apiCache_.has(e))return this.apiCache_.get(e);if(rt(e))return this.createInputBindingApi_(e);if(lt(e))return this.createMonitorBindingApi_(e);throw O.shouldNeverHappen()}},{key:"createApi",value:function(e){var t=this;if(this.apiCache_.has(e))return this.apiCache_.get(e);if(function(e){return De(e)&&je(e.value)}(e))return this.createBindingApi(e);var n=this.pluginsMap_.blades.reduce(function(n,r){return null!==n&&void 0!==n?n:r.api({controller:e,pool:t})},null);if(!n)throw O.shouldNeverHappen();return this.apiCache_.add(e,n)}}]),e}(),Do=new Eo;var jo=function(e){a(n,be);var t=l(n);function n(e){var r;return f(this,n),(r=t.call(this,e)).emitter_=new D,r.controller.value.emitter.on("change",function(e){r.emitter_.emit("change",new ye(u(r),e.rawValue))}),r}return h(n,[{key:"label",get:function(){return this.controller.labelController.props.get("label")},set:function(e){this.controller.labelController.props.set("label",e)}},{key:"options",get:function(){return this.controller.valueController.props.get("options")},set:function(e){this.controller.valueController.props.set("options",e)}},{key:"value",get:function(){return this.controller.value.rawValue},set:function(e){this.controller.value.rawValue=e}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}}]),n}(),Lo=function(e){a(n,be);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n)}(),To=function(e){a(n,be);var t=l(n);function n(e){var r;return f(this,n),(r=t.call(this,e)).emitter_=new D,r.controller.value.emitter.on("change",function(e){r.emitter_.emit("change",new ye(u(r),e.rawValue))}),r}return h(n,[{key:"label",get:function(){return this.controller.labelController.props.get("label")},set:function(e){this.controller.labelController.props.set("label",e)}},{key:"max",get:function(){return this.controller.valueController.sliderController.props.get("max")},set:function(e){this.controller.valueController.sliderController.props.set("max",e)}},{key:"min",get:function(){return this.controller.valueController.sliderController.props.get("min")},set:function(e){this.controller.valueController.sliderController.props.set("min",e)}},{key:"value",get:function(){return this.controller.value.rawValue},set:function(e){this.controller.value.rawValue=e}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}}]),n}(),Mo=function(e){a(n,be);var t=l(n);function n(e){var r;return f(this,n),(r=t.call(this,e)).emitter_=new D,r.controller.value.emitter.on("change",function(e){r.emitter_.emit("change",new ye(u(r),e.rawValue))}),r}return h(n,[{key:"label",get:function(){return this.controller.labelController.props.get("label")},set:function(e){this.controller.labelController.props.set("label",e)}},{key:"formatter",get:function(){return this.controller.valueController.props.get("formatter")},set:function(e){this.controller.valueController.props.set("formatter",e)}},{key:"value",get:function(){return this.controller.value.rawValue},set:function(e){this.controller.value.rawValue=e}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}}]),n}(),Bo={id:"list",type:"blade",core:bt,accept:function(e){var t=Ve(e,function(e){return{options:e.required.custom(ln),value:e.required.raw,view:e.required.constant("list"),label:e.optional.string}});return t?{params:t}:null},controller:function(e){var t=new sn(un(e.params.options)),n=M(e.params.value,{constraint:t}),r=new dn(e.document,{props:new B({options:t.values.value("options")}),value:n,viewProps:e.viewProps});return new Ze(e.document,{blade:e.blade,props:B.fromObject({label:e.params.label}),value:n,valueController:r})},api:function(e){return e.controller instanceof Ze&&e.controller.valueController instanceof dn?new jo(e.controller):null}},zo=function(e){a(n,jt);var t=l(n);function n(e,r){return f(this,n),t.call(this,e,r)}return h(n,[{key:"element",get:function(){return this.controller.view.element}}]),n}(),Fo=function(e){a(n,Mt);var t=l(n);function n(e,r){return f(this,n),t.call(this,e,{expanded:r.expanded,blade:r.blade,props:r.props,root:!0,viewProps:r.viewProps})}return h(n)}(),Io=Ge("spr"),Ro=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(Io()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("hr");r.classList.add(Io("r")),this.element.appendChild(r)}),No=function(e){a(n,Je);var t=l(n);function n(e,r){return f(this,n),t.call(this,Object.assign(Object.assign({},r),{view:new Ro(e,{viewProps:r.viewProps})}))}return h(n)}(),Uo={id:"separator",type:"blade",core:bt,accept:function(e){var t=Ve(e,function(e){return{view:e.required.constant("separator")}});return t?{params:t}:null},controller:function(e){return new No(e.document,{blade:e.blade,viewProps:e.viewProps})},api:function(e){return e.controller instanceof No?new Lo(e.controller):null}},Ko={id:"slider",type:"blade",core:bt,accept:function(e){var t=Ve(e,function(e){return{max:e.required.number,min:e.required.number,view:e.required.constant("slider"),format:e.optional.function,label:e.optional.string,value:e.optional.number}});return t?{params:t}:null},controller:function(e){var t,n,r=null!==(t=e.params.value)&&void 0!==t?t:0,i=new z({max:e.params.max,min:e.params.min}),o=M(r,{constraint:i}),a=new Nn(e.document,Object.assign(Object.assign({},Un({formatter:null!==(n=e.params.format)&&void 0!==n?n:ie,keyScale:M(1),max:i.values.value("max"),min:i.values.value("min"),pointerScale:pe(e.params,r)})),{parser:ne,value:o,viewProps:e.viewProps}));return new Ze(e.document,{blade:e.blade,props:B.fromObject({label:e.params.label}),value:o,valueController:a})},api:function(e){return e.controller instanceof Ze&&e.controller.valueController instanceof Nn?new To(e.controller):null}},qo={id:"text",type:"blade",core:bt,accept:function(e){var t=Ve(e,function(e){return{parse:e.required.function,value:e.required.raw,view:e.required.constant("text"),format:e.optional.function,label:e.optional.string}});return t?{params:t}:null},controller:function(e){var t,n=M(e.params.value),r=new yn(e.document,{parser:e.params.parse,props:B.fromObject({formatter:null!==(t=e.params.format)&&void 0!==t?t:function(e){return String(e)}}),value:n,viewProps:e.viewProps});return new Ze(e.document,{blade:e.blade,props:B.fromObject({label:e.params.label}),value:n,valueController:r})},api:function(e){return e.controller instanceof Ze&&e.controller.valueController instanceof yn?new Mo(e.controller):null}};var Ho=function(e){a(n,zo);var t=l(n);function n(e){var r,i,o;f(this,n);var a=null!==e&&void 0!==e?e:{},s=null!==(i=a.document)&&void 0!==i?i:Be(),l=function(){var e=new So(Do);return[$i,no,so,lo,Fi,ji,Di,Oi,Zn,bo,Po,Co,yt,Bt,Zt].forEach(function(t){e.register("core",t)}),e}(),u=new Fo(s,{expanded:a.expanded,blade:Vt(),props:B.fromObject({title:a.title}),viewProps:It.create()});return(r=t.call(this,u,l)).pool_=l,r.containerElem_=null!==(o=a.container)&&void 0!==o?o:function(e){var t=e.createElement("div");return t.classList.add(Ge("dfw")()),e.body&&e.body.appendChild(t),t}(s),r.containerElem_.appendChild(r.element),r.doc_=s,r.usesDefaultWrapper_=!a.container,r.setUpDefaultPlugins_(),r}return h(n,[{key:"document",get:function(){if(!this.doc_)throw O.alreadyDisposed();return this.doc_}},{key:"dispose",value:function(){var e=this.containerElem_;if(!e)throw O.alreadyDisposed();if(this.usesDefaultWrapper_){var t=e.parentElement;t&&t.removeChild(e)}this.containerElem_=null,this.doc_=null,o(p(n.prototype),"dispose",this).call(this)}},{key:"registerPlugin",value:function(e){var t=this;e.css&&function(e,t,n){if(!e.querySelector("style[data-tp-style=".concat(t,"]"))){var r=e.createElement("style");r.dataset.tpStyle=t,r.textContent=n,e.head.appendChild(r)}}(this.document,"plugin-".concat(e.id),e.css),("plugin"in e?[e.plugin]:"plugins"in e?e.plugins:[]).forEach(function(n){t.pool_.register(e.id,n)})}},{key:"setUpDefaultPlugins_",value:function(){this.registerPlugin({id:"default",css:'.tp-tbiv_b,.tp-coltxtv_ms,.tp-colswv_b,.tp-ckbv_i,.tp-sglv_i,.tp-mllv_i,.tp-grlv_g,.tp-txtv_i,.tp-p2dpv_p,.tp-colswv_sw,.tp-rotv_b,.tp-fldv_b,.tp-p2dv_b,.tp-btnv_b,.tp-lstv_s{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;outline:none;padding:0}.tp-p2dv_b,.tp-btnv_b,.tp-lstv_s{background-color:var(--btn-bg);border-radius:var(--bld-br);color:var(--btn-fg);cursor:pointer;display:block;font-weight:bold;height:var(--cnt-usz);line-height:var(--cnt-usz);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-p2dv_b:hover,.tp-btnv_b:hover,.tp-lstv_s:hover{background-color:var(--btn-bg-h)}.tp-p2dv_b:focus,.tp-btnv_b:focus,.tp-lstv_s:focus{background-color:var(--btn-bg-f)}.tp-p2dv_b:active,.tp-btnv_b:active,.tp-lstv_s:active{background-color:var(--btn-bg-a)}.tp-p2dv_b:disabled,.tp-btnv_b:disabled,.tp-lstv_s:disabled{opacity:.5}.tp-rotv_c>.tp-cntv.tp-v-lst,.tp-tbpv_c>.tp-cntv.tp-v-lst,.tp-fldv_c>.tp-cntv.tp-v-lst{margin-bottom:calc(-1*var(--cnt-vp))}.tp-rotv_c>.tp-fldv.tp-v-lst .tp-fldv_c,.tp-tbpv_c>.tp-fldv.tp-v-lst .tp-fldv_c,.tp-fldv_c>.tp-fldv.tp-v-lst .tp-fldv_c{border-bottom-left-radius:0}.tp-rotv_c>.tp-fldv.tp-v-lst .tp-fldv_b,.tp-tbpv_c>.tp-fldv.tp-v-lst .tp-fldv_b,.tp-fldv_c>.tp-fldv.tp-v-lst .tp-fldv_b{border-bottom-left-radius:0}.tp-rotv_c>*:not(.tp-v-fst),.tp-tbpv_c>*:not(.tp-v-fst),.tp-fldv_c>*:not(.tp-v-fst){margin-top:var(--cnt-usp)}.tp-rotv_c>.tp-sprv:not(.tp-v-fst),.tp-tbpv_c>.tp-sprv:not(.tp-v-fst),.tp-fldv_c>.tp-sprv:not(.tp-v-fst),.tp-rotv_c>.tp-cntv:not(.tp-v-fst),.tp-tbpv_c>.tp-cntv:not(.tp-v-fst),.tp-fldv_c>.tp-cntv:not(.tp-v-fst){margin-top:var(--cnt-vp)}.tp-rotv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-tbpv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-fldv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-rotv_c>.tp-cntv+*:not(.tp-v-hidden),.tp-tbpv_c>.tp-cntv+*:not(.tp-v-hidden),.tp-fldv_c>.tp-cntv+*:not(.tp-v-hidden){margin-top:var(--cnt-vp)}.tp-rotv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-tbpv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-fldv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-rotv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv,.tp-tbpv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv,.tp-fldv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv{margin-top:0}.tp-tbpv_c>.tp-cntv,.tp-fldv_c>.tp-cntv{margin-left:4px}.tp-tbpv_c>.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-fldv>.tp-fldv_b{border-top-left-radius:var(--bld-br);border-bottom-left-radius:var(--bld-br)}.tp-tbpv_c>.tp-fldv.tp-fldv-expanded>.tp-fldv_b,.tp-fldv_c>.tp-fldv.tp-fldv-expanded>.tp-fldv_b{border-bottom-left-radius:0}.tp-tbpv_c .tp-fldv>.tp-fldv_c,.tp-fldv_c .tp-fldv>.tp-fldv_c{border-bottom-left-radius:var(--bld-br)}.tp-tbpv_c>.tp-cntv+.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-cntv+.tp-fldv>.tp-fldv_b{border-top-left-radius:0}.tp-tbpv_c>.tp-cntv+.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-cntv+.tp-tabv>.tp-tabv_t{border-top-left-radius:0}.tp-tbpv_c>.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-tabv>.tp-tabv_t{border-top-left-radius:var(--bld-br)}.tp-tbpv_c .tp-tabv>.tp-tabv_c,.tp-fldv_c .tp-tabv>.tp-tabv_c{border-bottom-left-radius:var(--bld-br)}.tp-rotv_b,.tp-fldv_b{background-color:var(--cnt-bg);color:var(--cnt-fg);cursor:pointer;display:block;height:calc(var(--cnt-usz) + 4px);line-height:calc(var(--cnt-usz) + 4px);overflow:hidden;padding-left:var(--cnt-hp);padding-right:calc(4px + var(--cnt-usz) + var(--cnt-hp));position:relative;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;transition:border-radius .2s ease-in-out .2s}.tp-rotv_b:hover,.tp-fldv_b:hover{background-color:var(--cnt-bg-h)}.tp-rotv_b:focus,.tp-fldv_b:focus{background-color:var(--cnt-bg-f)}.tp-rotv_b:active,.tp-fldv_b:active{background-color:var(--cnt-bg-a)}.tp-rotv_b:disabled,.tp-fldv_b:disabled{opacity:.5}.tp-rotv_m,.tp-fldv_m{background:linear-gradient(to left, var(--cnt-fg), var(--cnt-fg) 2px, transparent 2px, transparent 4px, var(--cnt-fg) 4px);border-radius:2px;bottom:0;content:"";display:block;height:6px;right:calc(var(--cnt-hp) + (var(--cnt-usz) + 4px - 6px)/2 - 2px);margin:auto;opacity:.5;position:absolute;top:0;transform:rotate(90deg);transition:transform .2s ease-in-out;width:6px}.tp-rotv.tp-rotv-expanded .tp-rotv_m,.tp-fldv.tp-fldv-expanded>.tp-fldv_b>.tp-fldv_m{transform:none}.tp-rotv_c,.tp-fldv_c{box-sizing:border-box;height:0;opacity:0;overflow:hidden;padding-bottom:0;padding-top:0;position:relative;transition:height .2s ease-in-out,opacity .2s linear,padding .2s ease-in-out}.tp-rotv.tp-rotv-cpl:not(.tp-rotv-expanded) .tp-rotv_c,.tp-fldv.tp-fldv-cpl:not(.tp-fldv-expanded)>.tp-fldv_c{display:none}.tp-rotv.tp-rotv-expanded .tp-rotv_c,.tp-fldv.tp-fldv-expanded>.tp-fldv_c{opacity:1;padding-bottom:var(--cnt-vp);padding-top:var(--cnt-vp);transform:none;overflow:visible;transition:height .2s ease-in-out,opacity .2s linear .2s,padding .2s ease-in-out}.tp-txtv_i,.tp-p2dpv_p,.tp-colswv_sw{background-color:var(--in-bg);border-radius:var(--bld-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--cnt-usz);line-height:var(--cnt-usz);min-width:0;width:100%}.tp-txtv_i:hover,.tp-p2dpv_p:hover,.tp-colswv_sw:hover{background-color:var(--in-bg-h)}.tp-txtv_i:focus,.tp-p2dpv_p:focus,.tp-colswv_sw:focus{background-color:var(--in-bg-f)}.tp-txtv_i:active,.tp-p2dpv_p:active,.tp-colswv_sw:active{background-color:var(--in-bg-a)}.tp-txtv_i:disabled,.tp-p2dpv_p:disabled,.tp-colswv_sw:disabled{opacity:.5}.tp-lstv,.tp-coltxtv_m{position:relative}.tp-lstv_s{padding:0 20px 0 4px;width:100%}.tp-lstv_m,.tp-coltxtv_mm{bottom:0;margin:auto;pointer-events:none;position:absolute;right:2px;top:0}.tp-lstv_m svg,.tp-coltxtv_mm svg{bottom:0;height:16px;margin:auto;position:absolute;right:0;top:0;width:16px}.tp-lstv_m svg path,.tp-coltxtv_mm svg path{fill:currentColor}.tp-sglv_i,.tp-mllv_i,.tp-grlv_g{background-color:var(--mo-bg);border-radius:var(--bld-br);box-sizing:border-box;color:var(--mo-fg);height:var(--cnt-usz);scrollbar-color:currentColor rgba(0,0,0,0);scrollbar-width:thin;width:100%}.tp-sglv_i::-webkit-scrollbar,.tp-mllv_i::-webkit-scrollbar,.tp-grlv_g::-webkit-scrollbar{height:8px;width:8px}.tp-sglv_i::-webkit-scrollbar-corner,.tp-mllv_i::-webkit-scrollbar-corner,.tp-grlv_g::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.tp-sglv_i::-webkit-scrollbar-thumb,.tp-mllv_i::-webkit-scrollbar-thumb,.tp-grlv_g::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:currentColor;border:rgba(0,0,0,0) solid 2px;border-radius:4px}.tp-pndtxtv,.tp-coltxtv_w{display:flex}.tp-pndtxtv_a,.tp-coltxtv_c{width:100%}.tp-pndtxtv_a+.tp-pndtxtv_a,.tp-coltxtv_c+.tp-pndtxtv_a,.tp-pndtxtv_a+.tp-coltxtv_c,.tp-coltxtv_c+.tp-coltxtv_c{margin-left:2px}.tp-rotv{--bs-bg: var(--tp-base-background-color, hsl(230, 7%, 17%));--bs-br: var(--tp-base-border-radius, 6px);--bs-ff: var(--tp-base-font-family, Roboto Mono, Source Code Pro, Menlo, Courier, monospace);--bs-sh: var(--tp-base-shadow-color, rgba(0, 0, 0, 0.2));--bld-br: var(--tp-blade-border-radius, 2px);--bld-hp: var(--tp-blade-horizontal-padding, 4px);--bld-vw: var(--tp-blade-value-width, 160px);--btn-bg: var(--tp-button-background-color, hsl(230, 7%, 70%));--btn-bg-a: var(--tp-button-background-color-active, #d6d7db);--btn-bg-f: var(--tp-button-background-color-focus, #c8cad0);--btn-bg-h: var(--tp-button-background-color-hover, #bbbcc4);--btn-fg: var(--tp-button-foreground-color, hsl(230, 7%, 17%));--cnt-bg: var(--tp-container-background-color, rgba(187, 188, 196, 0.1));--cnt-bg-a: var(--tp-container-background-color-active, rgba(187, 188, 196, 0.25));--cnt-bg-f: var(--tp-container-background-color-focus, rgba(187, 188, 196, 0.2));--cnt-bg-h: var(--tp-container-background-color-hover, rgba(187, 188, 196, 0.15));--cnt-fg: var(--tp-container-foreground-color, hsl(230, 7%, 75%));--cnt-hp: var(--tp-container-horizontal-padding, 4px);--cnt-vp: var(--tp-container-vertical-padding, 4px);--cnt-usp: var(--tp-container-unit-spacing, 4px);--cnt-usz: var(--tp-container-unit-size, 20px);--in-bg: var(--tp-input-background-color, rgba(187, 188, 196, 0.1));--in-bg-a: var(--tp-input-background-color-active, rgba(187, 188, 196, 0.25));--in-bg-f: var(--tp-input-background-color-focus, rgba(187, 188, 196, 0.2));--in-bg-h: var(--tp-input-background-color-hover, rgba(187, 188, 196, 0.15));--in-fg: var(--tp-input-foreground-color, hsl(230, 7%, 75%));--lbl-fg: var(--tp-label-foreground-color, rgba(187, 188, 196, 0.7));--mo-bg: var(--tp-monitor-background-color, rgba(0, 0, 0, 0.2));--mo-fg: var(--tp-monitor-foreground-color, rgba(187, 188, 196, 0.7));--grv-fg: var(--tp-groove-foreground-color, rgba(187, 188, 196, 0.1))}.tp-btnv_b{width:100%}.tp-btnv_t{text-align:center}.tp-ckbv_l{display:block;position:relative}.tp-ckbv_i{left:0;opacity:0;position:absolute;top:0}.tp-ckbv_w{background-color:var(--in-bg);border-radius:var(--bld-br);cursor:pointer;display:block;height:var(--cnt-usz);position:relative;width:var(--cnt-usz)}.tp-ckbv_w svg{bottom:0;display:block;height:16px;left:0;margin:auto;opacity:0;position:absolute;right:0;top:0;width:16px}.tp-ckbv_w svg path{fill:none;stroke:var(--in-fg);stroke-width:2}.tp-ckbv_i:hover+.tp-ckbv_w{background-color:var(--in-bg-h)}.tp-ckbv_i:focus+.tp-ckbv_w{background-color:var(--in-bg-f)}.tp-ckbv_i:active+.tp-ckbv_w{background-color:var(--in-bg-a)}.tp-ckbv_i:checked+.tp-ckbv_w svg{opacity:1}.tp-ckbv.tp-v-disabled .tp-ckbv_w{opacity:.5}.tp-colv{position:relative}.tp-colv_h{display:flex}.tp-colv_s{flex-grow:0;flex-shrink:0;width:var(--cnt-usz)}.tp-colv_t{flex:1;margin-left:4px}.tp-colv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-colv.tp-colv-expanded.tp-colv-cpl .tp-colv_p{overflow:visible}.tp-colv.tp-colv-expanded .tp-colv_p{margin-top:var(--cnt-usp);opacity:1}.tp-colv .tp-popv{left:calc(-1*var(--cnt-hp));right:calc(-1*var(--cnt-hp));top:var(--cnt-usz)}.tp-colpv_h,.tp-colpv_ap{margin-left:6px;margin-right:6px}.tp-colpv_h{margin-top:var(--cnt-usp)}.tp-colpv_rgb{display:flex;margin-top:var(--cnt-usp);width:100%}.tp-colpv_a{display:flex;margin-top:var(--cnt-vp);padding-top:calc(var(--cnt-vp) + 2px);position:relative}.tp-colpv_a::before{background-color:var(--grv-fg);content:"";height:2px;left:calc(-1*var(--cnt-hp));position:absolute;right:calc(-1*var(--cnt-hp));top:0}.tp-colpv.tp-v-disabled .tp-colpv_a::before{opacity:.5}.tp-colpv_ap{align-items:center;display:flex;flex:3}.tp-colpv_at{flex:1;margin-left:4px}.tp-svpv{border-radius:var(--bld-br);outline:none;overflow:hidden;position:relative}.tp-svpv.tp-v-disabled{opacity:.5}.tp-svpv_c{cursor:crosshair;display:block;height:calc(var(--cnt-usz)*4);width:100%}.tp-svpv_m{border-radius:100%;border:rgba(255,255,255,.75) solid 2px;box-sizing:border-box;filter:drop-shadow(0 0 1px rgba(0, 0, 0, 0.3));height:12px;margin-left:-6px;margin-top:-6px;pointer-events:none;position:absolute;width:12px}.tp-svpv:focus .tp-svpv_m{border-color:#fff}.tp-hplv{cursor:pointer;height:var(--cnt-usz);outline:none;position:relative}.tp-hplv.tp-v-disabled{opacity:.5}.tp-hplv_c{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAABCAYAAABubagXAAAAQ0lEQVQoU2P8z8Dwn0GCgQEDi2OK/RBgYHjBgIpfovFh8j8YBIgzFGQxuqEgPhaDOT5gOhPkdCxOZeBg+IDFZZiGAgCaSSMYtcRHLgAAAABJRU5ErkJggg==);background-position:left top;background-repeat:no-repeat;background-size:100% 100%;border-radius:2px;display:block;height:4px;left:0;margin-top:-2px;position:absolute;top:50%;width:100%}.tp-hplv_m{border-radius:var(--bld-br);border:rgba(255,255,255,.75) solid 2px;box-shadow:0 0 2px rgba(0,0,0,.1);box-sizing:border-box;height:12px;left:50%;margin-left:-6px;margin-top:-6px;pointer-events:none;position:absolute;top:50%;width:12px}.tp-hplv:focus .tp-hplv_m{border-color:#fff}.tp-aplv{cursor:pointer;height:var(--cnt-usz);outline:none;position:relative;width:100%}.tp-aplv.tp-v-disabled{opacity:.5}.tp-aplv_b{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:4px 4px;background-position:0 0,2px 2px;border-radius:2px;display:block;height:4px;left:0;margin-top:-2px;overflow:hidden;position:absolute;top:50%;width:100%}.tp-aplv_c{bottom:0;left:0;position:absolute;right:0;top:0}.tp-aplv_m{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:12px 12px;background-position:0 0,6px 6px;border-radius:var(--bld-br);box-shadow:0 0 2px rgba(0,0,0,.1);height:12px;left:50%;margin-left:-6px;margin-top:-6px;overflow:hidden;pointer-events:none;position:absolute;top:50%;width:12px}.tp-aplv_p{border-radius:var(--bld-br);border:rgba(255,255,255,.75) solid 2px;box-sizing:border-box;bottom:0;left:0;position:absolute;right:0;top:0}.tp-aplv:focus .tp-aplv_p{border-color:#fff}.tp-colswv{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:10px 10px;background-position:0 0,5px 5px;border-radius:var(--bld-br);overflow:hidden}.tp-colswv.tp-v-disabled{opacity:.5}.tp-colswv_sw{border-radius:0}.tp-colswv_b{cursor:pointer;display:block;height:var(--cnt-usz);left:0;position:absolute;top:0;width:var(--cnt-usz)}.tp-colswv_b:focus::after{border:rgba(255,255,255,.75) solid 2px;border-radius:var(--bld-br);bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.tp-coltxtv{display:flex;width:100%}.tp-coltxtv_m{margin-right:4px}.tp-coltxtv_ms{border-radius:var(--bld-br);color:var(--lbl-fg);cursor:pointer;height:var(--cnt-usz);line-height:var(--cnt-usz);padding:0 18px 0 4px}.tp-coltxtv_ms:hover{background-color:var(--in-bg-h)}.tp-coltxtv_ms:focus{background-color:var(--in-bg-f)}.tp-coltxtv_ms:active{background-color:var(--in-bg-a)}.tp-coltxtv_mm{color:var(--lbl-fg)}.tp-coltxtv.tp-v-disabled .tp-coltxtv_mm{opacity:.5}.tp-coltxtv_w{flex:1}.tp-dfwv{position:absolute;top:8px;right:8px;width:256px}.tp-fldv{position:relative}.tp-fldv_t{padding-left:4px}.tp-fldv_b:disabled .tp-fldv_m{display:none}.tp-fldv_c{padding-left:4px}.tp-fldv_i{bottom:0;color:var(--cnt-bg);left:0;overflow:hidden;position:absolute;top:calc(var(--cnt-usz) + 4px);width:max(var(--bs-br),4px)}.tp-fldv_i::before{background-color:currentColor;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.tp-fldv_b:hover+.tp-fldv_i{color:var(--cnt-bg-h)}.tp-fldv_b:focus+.tp-fldv_i{color:var(--cnt-bg-f)}.tp-fldv_b:active+.tp-fldv_i{color:var(--cnt-bg-a)}.tp-fldv.tp-v-disabled>.tp-fldv_i{opacity:.5}.tp-grlv{position:relative}.tp-grlv_g{display:block;height:calc(var(--cnt-usz)*3)}.tp-grlv_g polyline{fill:none;stroke:var(--mo-fg);stroke-linejoin:round}.tp-grlv_t{margin-top:-4px;transition:left .05s,top .05s;visibility:hidden}.tp-grlv_t.tp-grlv_t-a{visibility:visible}.tp-grlv_t.tp-grlv_t-in{transition:none}.tp-grlv.tp-v-disabled .tp-grlv_g{opacity:.5}.tp-grlv .tp-ttv{background-color:var(--mo-fg)}.tp-grlv .tp-ttv::before{border-top-color:var(--mo-fg)}.tp-lblv{align-items:center;display:flex;line-height:1.3;padding-left:var(--cnt-hp);padding-right:var(--cnt-hp)}.tp-lblv.tp-lblv-nol{display:block}.tp-lblv_l{color:var(--lbl-fg);flex:1;-webkit-hyphens:auto;hyphens:auto;overflow:hidden;padding-left:4px;padding-right:16px}.tp-lblv.tp-v-disabled .tp-lblv_l{opacity:.5}.tp-lblv.tp-lblv-nol .tp-lblv_l{display:none}.tp-lblv_v{align-self:flex-start;flex-grow:0;flex-shrink:0;width:var(--bld-vw)}.tp-lblv.tp-lblv-nol .tp-lblv_v{width:100%}.tp-lstv_s{padding:0 20px 0 var(--bld-hp);width:100%}.tp-lstv_m{color:var(--btn-fg)}.tp-sglv_i{padding-left:var(--bld-hp);padding-right:var(--bld-hp)}.tp-sglv.tp-v-disabled .tp-sglv_i{opacity:.5}.tp-mllv_i{display:block;height:calc(var(--cnt-usz)*3);line-height:var(--cnt-usz);padding-left:var(--bld-hp);padding-right:var(--bld-hp);resize:none;white-space:pre}.tp-mllv.tp-v-disabled .tp-mllv_i{opacity:.5}.tp-p2dv{position:relative}.tp-p2dv_h{display:flex}.tp-p2dv_b{height:var(--cnt-usz);margin-right:4px;position:relative;width:var(--cnt-usz)}.tp-p2dv_b svg{display:block;height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}.tp-p2dv_b svg path{stroke:currentColor;stroke-width:2}.tp-p2dv_b svg circle{fill:currentColor}.tp-p2dv_t{flex:1}.tp-p2dv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-p2dv.tp-p2dv-expanded .tp-p2dv_p{margin-top:var(--cnt-usp);opacity:1}.tp-p2dv .tp-popv{left:calc(-1*var(--cnt-hp));right:calc(-1*var(--cnt-hp));top:var(--cnt-usz)}.tp-p2dpv{padding-left:calc(var(--cnt-usz) + 4px)}.tp-p2dpv_p{cursor:crosshair;height:0;overflow:hidden;padding-bottom:100%;position:relative}.tp-p2dpv.tp-v-disabled .tp-p2dpv_p{opacity:.5}.tp-p2dpv_g{display:block;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.tp-p2dpv_ax{opacity:.1;stroke:var(--in-fg);stroke-dasharray:1}.tp-p2dpv_l{opacity:.5;stroke:var(--in-fg);stroke-dasharray:1}.tp-p2dpv_m{border:var(--in-fg) solid 1px;border-radius:50%;box-sizing:border-box;height:4px;margin-left:-2px;margin-top:-2px;position:absolute;width:4px}.tp-p2dpv_p:focus .tp-p2dpv_m{background-color:var(--in-fg);border-width:0}.tp-popv{background-color:var(--bs-bg);border-radius:var(--bs-br);box-shadow:0 2px 4px var(--bs-sh);display:none;max-width:var(--bld-vw);padding:var(--cnt-vp) var(--cnt-hp);position:absolute;visibility:hidden;z-index:1000}.tp-popv.tp-popv-v{display:block;visibility:visible}.tp-sldv.tp-v-disabled{opacity:.5}.tp-sldv_t{box-sizing:border-box;cursor:pointer;height:var(--cnt-usz);margin:0 6px;outline:none;position:relative}.tp-sldv_t::before{background-color:var(--in-bg);border-radius:1px;bottom:0;content:"";display:block;height:2px;left:0;margin:auto;position:absolute;right:0;top:0}.tp-sldv_k{height:100%;left:0;position:absolute;top:0}.tp-sldv_k::before{background-color:var(--in-fg);border-radius:1px;bottom:0;content:"";display:block;height:2px;left:0;margin-bottom:auto;margin-top:auto;position:absolute;right:0;top:0}.tp-sldv_k::after{background-color:var(--btn-bg);border-radius:var(--bld-br);bottom:0;content:"";display:block;height:12px;margin-bottom:auto;margin-top:auto;position:absolute;right:-6px;top:0;width:12px}.tp-sldv_t:hover .tp-sldv_k::after{background-color:var(--btn-bg-h)}.tp-sldv_t:focus .tp-sldv_k::after{background-color:var(--btn-bg-f)}.tp-sldv_t:active .tp-sldv_k::after{background-color:var(--btn-bg-a)}.tp-sldtxtv{display:flex}.tp-sldtxtv_s{flex:2}.tp-sldtxtv_t{flex:1;margin-left:4px}.tp-tabv{position:relative}.tp-tabv_t{align-items:flex-end;color:var(--cnt-bg);display:flex;overflow:hidden;position:relative}.tp-tabv_t:hover{color:var(--cnt-bg-h)}.tp-tabv_t:has(*:focus){color:var(--cnt-bg-f)}.tp-tabv_t:has(*:active){color:var(--cnt-bg-a)}.tp-tabv_t::before{background-color:currentColor;bottom:0;content:"";height:2px;left:0;pointer-events:none;position:absolute;right:0}.tp-tabv.tp-v-disabled .tp-tabv_t::before{opacity:.5}.tp-tabv.tp-tabv-nop .tp-tabv_t{height:calc(var(--cnt-usz) + 4px);position:relative}.tp-tabv.tp-tabv-nop .tp-tabv_t::before{background-color:var(--cnt-bg);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.tp-tabv_i{bottom:0;color:var(--cnt-bg);left:0;overflow:hidden;position:absolute;top:calc(var(--cnt-usz) + 4px);width:max(var(--bs-br),4px)}.tp-tabv_i::before{background-color:currentColor;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.tp-tabv_t:hover+.tp-tabv_i{color:var(--cnt-bg-h)}.tp-tabv_t:has(*:focus)+.tp-tabv_i{color:var(--cnt-bg-f)}.tp-tabv_t:has(*:active)+.tp-tabv_i{color:var(--cnt-bg-a)}.tp-tabv.tp-v-disabled>.tp-tabv_i{opacity:.5}.tp-tbiv{flex:1;min-width:0;position:relative}.tp-tbiv+.tp-tbiv{margin-left:2px}.tp-tbiv+.tp-tbiv.tp-v-disabled::before{opacity:.5}.tp-tbiv_b{display:block;padding-left:calc(var(--cnt-hp) + 4px);padding-right:calc(var(--cnt-hp) + 4px);position:relative;width:100%}.tp-tbiv_b:disabled{opacity:.5}.tp-tbiv_b::before{background-color:var(--cnt-bg);bottom:2px;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.tp-tbiv_b:hover::before{background-color:var(--cnt-bg-h)}.tp-tbiv_b:focus::before{background-color:var(--cnt-bg-f)}.tp-tbiv_b:active::before{background-color:var(--cnt-bg-a)}.tp-tbiv_t{color:var(--cnt-fg);height:calc(var(--cnt-usz) + 4px);line-height:calc(var(--cnt-usz) + 4px);opacity:.5;overflow:hidden;position:relative;text-overflow:ellipsis}.tp-tbiv.tp-tbiv-sel .tp-tbiv_t{opacity:1}.tp-tbpv_c{padding-bottom:var(--cnt-vp);padding-left:4px;padding-top:var(--cnt-vp)}.tp-txtv{position:relative}.tp-txtv_i{padding-left:var(--bld-hp);padding-right:var(--bld-hp)}.tp-txtv.tp-txtv-fst .tp-txtv_i{border-bottom-right-radius:0;border-top-right-radius:0}.tp-txtv.tp-txtv-mid .tp-txtv_i{border-radius:0}.tp-txtv.tp-txtv-lst .tp-txtv_i{border-bottom-left-radius:0;border-top-left-radius:0}.tp-txtv.tp-txtv-num .tp-txtv_i{text-align:right}.tp-txtv.tp-txtv-drg .tp-txtv_i{opacity:.3}.tp-txtv_k{cursor:pointer;height:100%;left:calc(var(--bld-hp) - 5px);position:absolute;top:0;width:12px}.tp-txtv_k::before{background-color:var(--in-fg);border-radius:1px;bottom:0;content:"";height:calc(var(--cnt-usz) - 4px);left:50%;margin-bottom:auto;margin-left:-1px;margin-top:auto;opacity:.1;position:absolute;top:0;transition:border-radius .1s,height .1s,transform .1s,width .1s;width:2px}.tp-txtv_k:hover::before,.tp-txtv.tp-txtv-drg .tp-txtv_k::before{opacity:1}.tp-txtv.tp-txtv-drg .tp-txtv_k::before{border-radius:50%;height:4px;transform:translateX(-1px);width:4px}.tp-txtv_g{bottom:0;display:block;height:8px;left:50%;margin:auto;overflow:visible;pointer-events:none;position:absolute;top:0;visibility:hidden;width:100%}.tp-txtv.tp-txtv-drg .tp-txtv_g{visibility:visible}.tp-txtv_gb{fill:none;stroke:var(--in-fg);stroke-dasharray:1}.tp-txtv_gh{fill:none;stroke:var(--in-fg)}.tp-txtv .tp-ttv{margin-left:6px;visibility:hidden}.tp-txtv.tp-txtv-drg .tp-ttv{visibility:visible}.tp-ttv{background-color:var(--in-fg);border-radius:var(--bld-br);color:var(--bs-bg);padding:2px 4px;pointer-events:none;position:absolute;transform:translate(-50%, -100%)}.tp-ttv::before{border-color:var(--in-fg) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:2px;box-sizing:border-box;content:"";font-size:.9em;height:4px;left:50%;margin-left:-2px;position:absolute;top:100%;width:4px}.tp-rotv{background-color:var(--bs-bg);border-radius:var(--bs-br);box-shadow:0 2px 4px var(--bs-sh);font-family:var(--bs-ff);font-size:11px;font-weight:500;line-height:1;text-align:left}.tp-rotv_b{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br);border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br);padding-left:calc(4px + var(--cnt-usz) + var(--cnt-hp));text-align:center}.tp-rotv.tp-rotv-expanded .tp-rotv_b{border-bottom-left-radius:0;border-bottom-right-radius:0;transition-delay:0s;transition-duration:0s}.tp-rotv.tp-rotv-not>.tp-rotv_b{display:none}.tp-rotv_b:disabled .tp-rotv_m{display:none}.tp-rotv_c>.tp-fldv.tp-v-lst>.tp-fldv_c{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst>.tp-fldv_i{border-bottom-left-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst:not(.tp-fldv-expanded)>.tp-fldv_b{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst.tp-fldv-expanded>.tp-fldv_b{transition-delay:0s;transition-duration:0s}.tp-rotv_c .tp-fldv.tp-v-vlst:not(.tp-fldv-expanded)>.tp-fldv_b{border-bottom-right-radius:var(--bs-br)}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-fldv.tp-v-fst{margin-top:calc(-1*var(--cnt-vp))}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-fldv.tp-v-fst>.tp-fldv_b{border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br)}.tp-rotv_c>.tp-tabv.tp-v-lst>.tp-tabv_c{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-tabv.tp-v-lst>.tp-tabv_i{border-bottom-left-radius:var(--bs-br)}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-tabv.tp-v-fst{margin-top:calc(-1*var(--cnt-vp))}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-tabv.tp-v-fst>.tp-tabv_t{border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br)}.tp-rotv.tp-v-disabled,.tp-rotv .tp-v-disabled{pointer-events:none}.tp-rotv.tp-v-hidden,.tp-rotv .tp-v-hidden{display:none}.tp-sprv_r{background-color:var(--grv-fg);border-width:0;display:block;height:2px;margin:0;width:100%}.tp-sprv.tp-v-disabled .tp-sprv_r{opacity:.5}',plugins:[Bo,Uo,Ko,Zt,qo]})}}]),n}(),Go=new mt("4.0.3");n.BladeApi=be,n.ButtonApi=ut,n.FolderApi=jt,n.ListBladeApi=jo,n.ListInputBindingApi=tn,n.Pane=Ho,n.Semver=mt,n.SeparatorBladeApi=Lo,n.SliderBladeApi=To,n.SliderInputBindingApi=zi,n.TabApi=Gt,n.TabPageApi=Wt,n.TextBladeApi=Mo,n.TpChangeEvent=ye,n.VERSION=Go},{}]},{},[6]); \ No newline at end of file +!function(){return function e(t,n,r){function i(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return i(n||e)},c,c.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a>>=t))<<3,(t|=n=(15<(e>>>=n))<<2)|(n=(3<(e>>>=n))<<1)|e>>>n>>1}function s(){function e(e){e:{for(var t=16;268435456>=t;t*=16)if(e<=t){e=t;break e}e=0}return 0<(t=n[a(e)>>2]).length?t.pop():new ArrayBuffer(e)}function t(e){n[a(e.byteLength)>>2].push(e)}var n=o(8,function(){return[]});return{alloc:e,free:t,allocType:function(t,n){var r=null;switch(t){case 5120:r=new Int8Array(e(n),0,n);break;case 5121:r=new Uint8Array(e(n),0,n);break;case 5122:r=new Int16Array(e(2*n),0,n);break;case 5123:r=new Uint16Array(e(2*n),0,n);break;case 5124:r=new Int32Array(e(4*n),0,n);break;case 5125:r=new Uint32Array(e(4*n),0,n);break;case 5126:r=new Float32Array(e(4*n),0,n);break;default:return null}return r.length!==n?r.subarray(0,n):r},freeType:function(e){t(e.buffer)}}}function l(e){return!!e&&"object"==typeof e&&Array.isArray(e.shape)&&Array.isArray(e.stride)&&"number"==typeof e.offset&&e.shape.length===e.stride.length&&(Array.isArray(e.data)||W(e.data))}function u(e,t,n,r,i,o){for(var a=0;a(i=s)&&(i=r.buffer.byteLength,5123===p?i>>=1:5125===p&&(i>>=2)),r.vertCount=i,i=a,0>a&&(i=4,1===(a=r.buffer.dimension)&&(i=0),2===a&&(i=1),3===a&&(i=4)),r.primType=i}function a(e){r.elementsCount--,delete s[e.id],e.buffer.destroy(),e.buffer=null}var s={},u=0,c={uint8:5121,uint16:5123};t.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var p=[];return{create:function(e,t){function s(e){if(e)if("number"==typeof e)u(e),p.primType=4,p.vertCount=0|e,p.type=5121;else{var t=null,n=35044,r=-1,i=-1,a=0,f=0;Array.isArray(e)||W(e)||l(e)?t=e:("data"in e&&(t=e.data),"usage"in e&&(n=J[e.usage]),"primitive"in e&&(r=ne[e.primitive]),"count"in e&&(i=0|e.count),"type"in e&&(f=c[e.type]),"length"in e?a=0|e.length:(a=i,5123===f||5122===f?a*=2:5125!==f&&5124!==f||(a*=4))),o(p,t,n,r,i,a,f)}else u(),p.primType=4,p.vertCount=0,p.type=5121;return s}var u=n.create(null,34963,!0),p=new i(u._buffer);return r.elementsCount++,s(e),s._reglType="elements",s._elements=p,s.subdata=function(e,t){return u.subdata(e,t),s},s.destroy=function(){a(p)},s},createStream:function(e){var t=p.pop();return t||(t=new i(n.create(null,34963,!0,!1)._buffer)),o(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){p.push(e)},getElements:function(e){return"function"==typeof e&&e._elements instanceof i?e._elements:null},clear:function(){Y(s).forEach(a)}}}function v(e){for(var t=H.allocType(5123,e.length),n=0;n>>31<<15,i=(o<<1>>>24)-127,o=o>>13&1023;t[n]=-24>i?r:-14>i?r+(o+1024>>-14-i):15>=i,n.height>>=i,d(n,r[i]),e.mipmask|=1<t;++t)e.images[t]=null;return e}function O(e){for(var t=e.images,n=0;nt){for(var n=0;n=--this.refCount&&B(this)}}),a.profile&&(o.getTotalTextureSize=function(){var e=0;return Object.keys(be).forEach(function(t){e+=be[t].stats.size}),e}),{create2D:function(t,n){function r(e,t){var n=i.texInfo;S.call(n);var o=V();return"number"==typeof e?P(o,0|e,"number"==typeof t?0|t:0|e):e?(D(n,e),E(o,e)):P(o,1,1),n.genMipmaps&&(o.mipmask=(o.width<<1)-1),i.mipmask=o.mipmask,u(i,o),i.internalformat=o.internalformat,r.width=o.width,r.height=o.height,T(i),A(o,3553),j(n,3553),M(),O(o),a.profile&&(i.stats.size=k(i.internalformat,i.type,o.width,o.height,n.genMipmaps,!1)),r.format=Z[i.internalformat],r.type=ee[i.type],r.mag=te[n.magFilter],r.min=ne[n.minFilter],r.wrapS=re[n.wrapS],r.wrapT=re[n.wrapT],r}var i=new L(3553);return be[i.id]=i,o.textureCount++,r(t,n),r.subimage=function(e,t,n,o){t|=0,n|=0,o|=0;var a=b();return u(a,i),a.width=0,a.height=0,d(a,e),a.width=a.width||(i.width>>o)-t,a.height=a.height||(i.height>>o)-n,T(i),h(a,3553,t,n,o),M(),C(a),r},r.resize=function(t,n){var o=0|t,s=0|n||o;if(o===i.width&&s===i.height)return r;r.width=i.width=o,r.height=i.height=s,T(i);for(var l=0;i.mipmask>>l;++l){var u=o>>l,c=s>>l;if(!u||!c)break;e.texImage2D(3553,l,i.format,u,c,0,i.format,i.type,null)}return M(),a.profile&&(i.stats.size=k(i.internalformat,i.type,o,s,!1,!1)),r},r._reglType="texture2d",r._texture=i,a.profile&&(r.stats=i.stats),r.destroy=function(){i.decRef()},r},createCube:function(t,n,r,i,s,l){function p(e,t,n,r,i,o){var s,l=f.texInfo;for(S.call(l),s=0;6>s;++s)v[s]=V();if("number"!=typeof e&&e){if("object"==typeof e)if(t)E(v[0],e),E(v[1],t),E(v[2],n),E(v[3],r),E(v[4],i),E(v[5],o);else if(D(l,e),c(f,e),"faces"in e)for(e=e.faces,s=0;6>s;++s)u(v[s],f),E(v[s],e[s]);else for(s=0;6>s;++s)E(v[s],e)}else for(e=0|e||1,s=0;6>s;++s)P(v[s],e,e);for(u(f,v[0]),f.mipmask=l.genMipmaps?(v[0].width<<1)-1:v[0].mipmask,f.internalformat=v[0].internalformat,p.width=v[0].width,p.height=v[0].height,T(f),s=0;6>s;++s)A(v[s],34069+s);for(j(l,34067),M(),a.profile&&(f.stats.size=k(f.internalformat,f.type,p.width,p.height,l.genMipmaps,!0)),p.format=Z[f.internalformat],p.type=ee[f.type],p.mag=te[l.magFilter],p.min=ne[l.minFilter],p.wrapS=re[l.wrapS],p.wrapT=re[l.wrapT],s=0;6>s;++s)O(v[s]);return p}var f=new L(34067);be[f.id]=f,o.cubeCount++;var v=Array(6);return p(t,n,r,i,s,l),p.subimage=function(e,t,n,r,i){n|=0,r|=0,i|=0;var o=b();return u(o,f),o.width=0,o.height=0,d(o,t),o.width=o.width||(f.width>>i)-n,o.height=o.height||(f.height>>i)-r,T(f),h(o,34069+e,n,r,i),M(),C(o),p},p.resize=function(t){if((t|=0)!==f.width){p.width=f.width=t,p.height=f.height=t,T(f);for(var n=0;6>n;++n)for(var r=0;f.mipmask>>r;++r)e.texImage2D(34069+n,r,f.format,t>>r,t>>r,0,f.format,f.type,null);return M(),a.profile&&(f.stats.size=k(f.internalformat,f.type,p.width,p.height,!1,!0)),p}},p._reglType="textureCube",p._texture=f,a.profile&&(p.stats=f.stats),p.destroy=function(){f.decRef()},p},clear:function(){for(var t=0;tn;++n)if(0!=(t.mipmask&1<>n,t.height>>n,0,t.internalformat,t.type,null);else for(var r=0;6>r;++r)e.texImage2D(34069+r,n,t.internalformat,t.width>>n,t.height>>n,0,t.internalformat,t.type,null);j(t.texInfo,t.target)})},refresh:function(){for(var t=0;ti;++i){for(u=0;ue;++e)n[e].resize(r);return t.width=t.height=r,t},_reglType:"framebufferCube",destroy:function(){n.forEach(function(e){e.destroy()})}})},clear:function(){Y(C).forEach(m)},restore:function(){y.cur=null,y.next=null,y.dirty=!0,Y(C).forEach(function(t){t.framebuffer=e.createFramebuffer(),b(t)})}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function A(e,t,n,r,i,o,a){function s(){this.id=++p,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var e=t.oes_vertex_array_object;this.vao=e?e.createVertexArrayOES():null,f[this.id]=this,this.buffers=[]}var u=n.maxAttributes,c=Array(u);for(n=0;n=f.byteLength?u.subdata(f):(u.destroy(),n.buffers[s]=null)),n.buffers[s]||(u=n.buffers[s]=i.create(c,34962,!1,!0)),p.buffer=i.getBuffer(u),p.size=0|p.buffer.dimension,p.normalized=!1,p.type=p.buffer.dtype,p.offset=0,p.stride=0,p.divisor=0,p.state=1,e[s]=1;else i.getBuffer(c)?(p.buffer=i.getBuffer(c),p.size=0|p.buffer.dimension,p.normalized=!1,p.type=p.buffer.dtype,p.offset=0,p.stride=0,p.divisor=0,p.state=1):i.getBuffer(c.buffer)?(p.buffer=i.getBuffer(c.buffer),p.size=0|(+c.size||p.buffer.dimension),p.normalized=!!c.normalized||!1,p.type="type"in c?$[c.type]:p.buffer.dtype,p.offset=0|(c.offset||0),p.stride=0|(c.stride||0),p.divisor=0|(c.divisor||0),p.state=1):"x"in c&&(p.x=+c.x||0,p.y=+c.y||0,p.z=+c.z||0,p.w=+c.w||0,p.state=2)}for(u=0;ue&&(e=t.stats.uniformsCount)}),e},n.getMaxAttributesCount=function(){var e=0;return f.forEach(function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)}),e}),{clear:function(){var t=e.deleteShader.bind(e);Y(u).forEach(t),u={},Y(c).forEach(t),c={},f.forEach(function(t){e.deleteProgram(t.program)}),f.length=0,p={},n.shaderCount=0},program:function(t,r,i,o){var a=p[r];a||(a=p[r]={});var d=a[t];if(d&&(d.refCount++,!o))return d;var h=new s(r,t);return n.shaderCount++,l(h,i,o),d||(a[t]=h),f.push(h),R(h,{destroy:function(){if(h.refCount--,0>=h.refCount){e.deleteProgram(h.program);var t=f.indexOf(h);f.splice(t,1),n.shaderCount--}0>=a[h.vertId].refCount&&(e.deleteShader(c[h.vertId]),delete c[h.vertId],delete p[h.fragId][h.vertId]),Object.keys(p[h.fragId]).length||(e.deleteShader(u[h.fragId]),delete u[h.fragId],delete p[h.fragId])}})},restore:function(){u={},c={};for(var e=0;e"+t+"?"+i+".constant["+t+"]:0;"}).join(""),"}}else{","if(",s,"(",i,".buffer)){",c,"=",o,".createStream(",34962,",",i,".buffer);","}else{",c,"=",o,".getBuffer(",i,".buffer);","}",p,'="type" in ',i,"?",a.glTypes,"[",i,".type]:",c,".dtype;",l.normalized,"=!!",i,".normalized;"),r("size"),r("offset"),r("stride"),r("divisor"),n("}}"),n.exit("if(",l.isStream,"){",o,".destroyStream(",c,");","}"),l})}),a}function P(e,t,r,i,a){function s(e){var t=u[e];t&&(f[e]=t)}var l=function(e,t){if("string"==typeof(n=e.static).frag&&"string"==typeof n.vert){if(0>1)",s],");")}function t(){n(l,".drawArraysInstancedANGLE(",[h,v,m,s],");")}d&&"null"!==d?g?e():(n("if(",d,"){"),e(),n("}else{"),t(),n("}")):t()}function a(){function e(){n(c+".drawElements("+[h,m,b,v+"<<(("+b+"-5121)>>1)"]+");")}function t(){n(c+".drawArrays("+[h,v,m]+");")}d&&"null"!==d?g?e():(n("if(",d,"){"),e(),n("}else{"),t(),n("}")):t()}var s,l,u=e.shared,c=u.gl,p=u.draw,f=r.draw,d=function(){var i=f.elements,o=t;return i?((i.contextDep&&r.contextDynamic||i.propDep)&&(o=n),i=i.append(e,o),f.elementsActive&&o("if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);")):o(i=o.def(),"=",p,".","elements",";","if(",i,"){",c,".bindBuffer(",34963,",",i,".buffer.buffer);}","else if(",u.vao,".currentVAO){",i,"=",e.shared.elements+".getElements("+u.vao,".currentVAO.elements);",re?"":"if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);","}"),i}(),h=i("primitive"),v=i("offset"),m=function(){var i=f.count,o=t;return i?((i.contextDep&&r.contextDynamic||i.propDep)&&(o=n),i=i.append(e,o)):i=o.def(p,".","count"),i}();if("number"==typeof m){if(0===m)return}else n("if(",m,"){"),n.exit("}");ee&&(s=i("instances"),l=e.instancing);var b=d+".type",g=f.elements&&M(f.elements)&&!f.vaoActive;ee&&("number"!=typeof s||0<=s)?"string"==typeof s?(n("if(",s,">0){"),o(),n("}else if(",s,"<0){"),a(),n("}")):o():a()}function H(e,t,n,r,i){return i=(t=w()).proc("body",i),ee&&(t.instancing=i.def(t.shared.extensions,".angle_instanced_arrays")),e(t,i,n,r),t.compile().body}function G(e,t,n,r){I(e,t),n.useVAO?n.drawVAO?t(e.shared.vao,".setVAO(",n.drawVAO.append(e,t),");"):t(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(t(e.shared.vao,".setVAO(null);"),N(e,t,n,r.attributes,function(){return!0})),K(e,t,n,r.uniforms,function(){return!0},!1),q(e,t,t,n)}function W(e,t,n,r){function i(){return!0}e.batchId="a1",I(e,t),N(e,t,n,r.attributes,i),K(e,t,n,r.uniforms,i,!1),q(e,t,t,n)}function Y(e,t,n,r){function i(e){return e.contextDep&&a||e.propDep}function o(e){return!i(e)}I(e,t);var a=n.contextDep,s=t.def(),l=t.def();e.shared.props=l,e.batchId=s;var u=e.scope(),c=e.scope();t(u.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",c,"}",u.exit),n.needsContext&&E(e,c,n.context),n.needsFramebuffer&&A(e,c,n.framebuffer),O(e,c,n.state,i),n.profile&&i(n.profile)&&F(e,c,n,!1,!0),r?(n.useVAO?n.drawVAO?i(n.drawVAO)?c(e.shared.vao,".setVAO(",n.drawVAO.append(e,c),");"):u(e.shared.vao,".setVAO(",n.drawVAO.append(e,u),");"):u(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(u(e.shared.vao,".setVAO(null);"),N(e,u,n,r.attributes,o),N(e,c,n,r.attributes,i)),K(e,u,n,r.uniforms,o,!1),K(e,c,n,r.uniforms,i,!0),q(e,u,c,n)):(t=e.global.def("{}"),r=n.shader.progVar.append(e,c),l=c.def(r,".id"),u=c.def(t,"[",l,"]"),c(e.shared.gl,".useProgram(",r,".program);","if(!",u,"){",u,"=",t,"[",l,"]=",e.link(function(t){return H(W,e,n,t,2)}),"(",r,");}",u,".call(this,a0[",s,"],",s,");"))}function Q(e,n){function r(t){var r=n.shader[t];r&&i.set(o.shader,"."+t,r.append(e,i))}var i=e.proc("scope",3);e.batchId="a2";var o=e.shared,a=o.current;E(e,i,n.context),n.framebuffer&&n.framebuffer.append(e,i),L(Object.keys(n.state)).forEach(function(t){var r=n.state[t].append(e,i);m(r)?r.forEach(function(n,r){i.set(e.next[t],"["+r+"]",n)}):i.set(o.next,"."+t,r)}),F(e,i,n,!0,!0),["elements","offset","count","instances","primitive"].forEach(function(t){var r=n.draw[t];r&&i.set(o.draw,"."+t,""+r.append(e,i))}),Object.keys(n.uniforms).forEach(function(r){var a=n.uniforms[r].append(e,i);Array.isArray(a)&&(a="["+a.join()+"]"),i.set(o.uniforms,"["+t.id(r)+"]",a)}),Object.keys(n.attributes).forEach(function(t){var r=n.attributes[t].append(e,i),o=e.scopeAttrib(t);Object.keys(new J).forEach(function(e){i.set(o,"."+e,r[e])})}),n.scopeVAO&&i.set(o.vao,".targetVAO",n.scopeVAO.append(e,i)),r("vert"),r("frag"),0=--this.refCount&&a(this)},i.profile&&(r.getTotalRenderbufferSize=function(){var e=0;return Object.keys(c).forEach(function(t){e+=c[t].stats.size}),e}),{create:function(t,n){function a(t,n){var r=0,o=0,c=32854;if("object"==typeof t&&t?("shape"in t?(r=0|(o=t.shape)[0],o=0|o[1]):("radius"in t&&(r=o=0|t.radius),"width"in t&&(r=0|t.width),"height"in t&&(o=0|t.height)),"format"in t&&(c=s[t.format])):"number"==typeof t?(r=0|t,o="number"==typeof n?0|n:r):t||(r=o=1),r!==u.width||o!==u.height||c!==u.format)return a.width=u.width=r,a.height=u.height=o,u.format=c,e.bindRenderbuffer(36161,u.renderbuffer),e.renderbufferStorage(36161,c,r,o),i.profile&&(u.stats.size=be[u.format]*u.width*u.height),a.format=l[u.format],a}var u=new o(e.createRenderbuffer());return c[u.id]=u,r.renderbufferCount++,a(t,n),a.resize=function(t,n){var r=0|t,o=0|n||r;return r===u.width&&o===u.height?a:(a.width=u.width=r,a.height=u.height=o,e.bindRenderbuffer(36161,u.renderbuffer),e.renderbufferStorage(36161,u.format,r,o),i.profile&&(u.stats.size=be[u.format]*u.width*u.height),a)},a._reglType="renderbuffer",a._renderbuffer=u,i.profile&&(a.stats=u.stats),a.destroy=function(){u.decRef()},a},clear:function(){Y(c).forEach(a)},restore:function(){Y(c).forEach(function(t){t.renderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(36161,t.renderbuffer),e.renderbufferStorage(36161,t.format,t.width,t.height)}),e.bindRenderbuffer(36161,null)}}},ye=[];ye[6408]=4,ye[6407]=3;var we=[];we[5121]=1,we[5126]=4,we[36193]=2;var _e=["x","y","z","w"],xe="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),ke={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Ce={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Pe={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Ee={cw:2304,ccw:2305},Ae=new T(!1,!1,!1,function(){});return function(e){function t(){if(0===X.length)x&&x.update(),ee=null;else{ee=K.next(t),p();for(var e=X.length-1;0<=e;--e){var n=X[e];n&&n(D,null,0)}m.flush(),x&&x.update()}}function n(){!ee&&0=X.length&&r()}}}}function c(){var e=Y.viewport,t=Y.scissor_box;e[0]=e[1]=t[0]=t[1]=0,D.viewportWidth=D.framebufferWidth=D.drawingBufferWidth=e[2]=t[2]=m.drawingBufferWidth,D.viewportHeight=D.framebufferHeight=D.drawingBufferHeight=e[3]=t[3]=m.drawingBufferHeight}function p(){D.tick+=1,D.time=v(),c(),W.procs.poll()}function f(){z.refresh(),c(),W.procs.refresh(),x&&x.update()}function v(){return(q()-k)/1e3}if(!(e=i(e)))return null;var m=e.gl,b=m.getContextAttributes();m.isContextLost();var g=function(e,t){function n(t){var n;t=t.toLowerCase();try{n=r[t]=e.getExtension(t)}catch(e){}return!!n}for(var r={},i=0;it;++t)te(R({framebuffer:e.framebuffer.faces[t]},e),l);else te(e,l);else l(0,e)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(e){return L.create(e,34962,!1,!1)},elements:function(e){return T.create(e,!1)},texture:z.create2D,cube:z.createCube,renderbuffer:N.create,framebuffer:H.create,framebufferCube:H.createCube,vao:M.createVAO,attributes:b,frame:u,on:function(e,t){var n;switch(e){case"frame":return u(t);case"lost":n=$;break;case"restore":n=J;break;case"destroy":n=Z}return n.push(t),{cancel:function(){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:100,n=[],i=0;i canvas {\n z-index: -1;\n}\n\n.sketch-nav {\n right: auto !important;\n left: 0 !important;\n}\n"),s({extensions:["OES_element_index_uint","OES_texture_half_float","OES_texture_half_float_linear"],attributes:{antialias:!1,depthStencil:!1,alpha:!1},onDone:e("fail-nicely")(function(t){var n=e("./draw-blur.js")(t),r=e("./draw-mesh.js")(t,200),i=e("./transfer.js")(t),a=e("./transfer-to-screen.js")(t),s=[0,1].map(function(){return t.framebuffer({color:t.texture({width:t._gl.canvas.width,height:t._gl.canvas.height,type:"float16"})})}),l=[0,1].map(function(){return t.framebuffer({color:t.texture({width:t._gl.canvas.width/8|0,height:t._gl.canvas.height/8|0,type:"float16",min:"linear",mag:"linear"})})}),c=t.frame(function(){try{if(s.forEach(function(e){return e.resize(t._gl.canvas.width,t._gl.canvas.height)}),l.forEach(function(e){return e.resize(t._gl.canvas.width/8|0,t._gl.canvas.height/8|0)}),s[0].use(function(){t.clear({color:[0,0,0,0]}),r(o({alpha:.5},u))}),u.bloom){l[0].use(function(){t.clear({color:[0,0,0,0]}),r(o(o({},u),{},{alpha:.1*u.bloom*u.alpha}))});for(var e=0;e<2;e++)l[1].use(function(){t.clear({color:[0,0,0,0]}),n({src:l[0],direction:[1,0]})}),l[0].use(function(){t.clear({color:[0,0,0,0]}),n({src:l[1],direction:[0,1]})})}s[1].use(function(){t.clear({color:[u.background.r,u.background.g,u.background.b,1]}),i({src:s[0]}),u.bloom&&i({src:l[0]})}),a(o({src:s[1]},u))}catch(e){console.error(e),c.cancel()}})})})},{"./draw-blur.js":6,"./draw-mesh.js":7,"./transfer-to-screen.js":9,"./transfer.js":10,"./tweakpane.js":11,"fail-nicely":1,"insert-css":4,regl:5}],9:[function(e,t,n){"use strict";t.exports=function(e){return e({vert:"\n precision highp float;\n attribute vec2 xy;\n varying vec2 uv;\n void main () {\n uv = 0.5 + 0.5 * xy;\n gl_Position = vec4(xy, 0, 1);\n }\n ",frag:"\n precision highp float;\n varying vec2 uv;\n uniform sampler2D src;\n uniform float tonemap;\n\n vec3 smin( vec3 a, vec3 b, float k ) {\n vec3 res = exp2( -a/k ) + exp2( -b/k );\n return -k*log2( res );\n }\n\n vec3 applyTonemap(vec3 value, float k) {\n //return value;\n return -smin(vec3(0), -smin(vec3(1), value, k), k);\n }\n\n void main () {\n vec3 color = texture2D(src, uv).rgb;\n if (tonemap > 0.01) color = applyTonemap(color, tonemap);\n gl_FragColor = vec4(color, 1);\n }\n ",attributes:{xy:[-4,-4,4,-4,0,4]},uniforms:{src:e.prop("src"),tonemap:function(e,t){return t.tonemap||0}},blend:{enable:!1,func:{srcRGB:1,srcAlpha:1,dstRGB:1,dstAlpha:1},equation:{rgb:"add",alpha:"add"}},depth:{enable:!1},count:3})}},{}],10:[function(e,t,n){"use strict";t.exports=function(e){return e({vert:"\n precision highp float;\n attribute vec2 xy;\n varying vec2 uv;\n void main () {\n uv = 0.5 + 0.5 * xy;\n gl_Position = vec4(xy, 0, 1);\n }\n ",frag:"\n precision highp float;\n varying vec2 uv;\n uniform sampler2D src;\n uniform float tonemap;\n\n void main () {\n vec4 color = texture2D(src, uv);\n\n gl_FragColor = color;\n gl_FragColor = vec4(gl_FragColor.a);\n }\n ",attributes:{xy:[-4,-4,4,-4,0,4]},uniforms:{src:e.prop("src")},blend:{enable:!0,func:{srcRGB:1,srcAlpha:1,dstRGB:1,dstAlpha:1},equation:{rgb:"add",alpha:"add"}},depth:{enable:!1},count:3})}},{}],11:[function(e,t,n){"use strict";function r(e,t,n){return(r=c()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&s(i,n.prototype),i}).apply(null,arguments)}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,s=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}(e,t)||g(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(){return(o="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=p(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}}).apply(this,arguments)}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&s(e,t)}function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function l(e){var t=c();return function(){var n,r=p(e);if(t){var i=p(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===w(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return u(e)}(this,n)}}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:0;f(this,e),this.step=t,this.origin=n}return h(e,[{key:"constrain",value:function(e){var t=this.origin%this.step;return t+Math.round((e-t)/this.step)*this.step}}]),e}(),R=function(){function e(t){f(this,e),this.text=t}return h(e,[{key:"evaluate",value:function(){return Number(this.text)}},{key:"toString",value:function(){return this.text}}]),e}(),N={"**":function(e,t){return Math.pow(e,t)},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<<":function(e,t){return e<>":function(e,t){return e>>t},">>>":function(e,t){return e>>>t},"&":function(e,t){return e&t},"^":function(e,t){return e^t},"|":function(e,t){return e|t}},U=function(){function e(t,n,r){f(this,e),this.left=n,this.operator=t,this.right=r}return h(e,[{key:"evaluate",value:function(){var e=N[this.operator];if(!e)throw new Error("unexpected binary operator: '".concat(this.operator));return e(this.left.evaluate(),this.right.evaluate())}},{key:"toString",value:function(){return["b(",this.left.toString(),this.operator,this.right.toString(),")"].join(" ")}}]),e}(),K={"+":function(e){return e},"-":function(e){return-e},"~":function(e){return~e}},q=function(){function e(t,n){f(this,e),this.operator=t,this.expression=n}return h(e,[{key:"evaluate",value:function(){var e=K[this.operator];if(!e)throw new Error("unexpected unary operator: '".concat(this.operator));return e(this.expression.evaluate())}},{key:"toString",value:function(){return["u(",this.operator,this.expression.toString(),")"].join(" ")}}]),e}();function H(e){return function(t,n){for(var r=0;r>>",">>"],["&"],["^"],["|"]].reduce(function(e,t){return function(e,t){return function(n,r){var i=e(n,r);if(!i)return null;r=i.cursor;for(var o=i.evaluable;;){var a=Z(t,n,r);if(!a)break;r=a.cursor;var s=e(n,r);if(!s)return null;r=s.cursor,o=new U(a.operator,o,s.evaluable)}return o?{cursor:r,evaluable:o}:null}}(e,t)},function e(t,n){var r=J(t,n);if(r)return r;var i=t.substr(n,1);if(n+=i.length,"+"!==i&&"-"!==i&&"~"!==i)return null;var o=e(t,n);return o?{cursor:n=o.cursor,evaluable:new q(i,o.evaluable)}:null});function te(e,t){return t+=G(e,t).length,ee(e,t)}function ne(e){var t,n=function(e){var t=te(e,0);return t?t.cursor+G(e,t.cursor).length!==e.length?null:t.evaluable:null}(e);return null!==(t=null===n||void 0===n?void 0:n.evaluate())&&void 0!==t?t:null}function re(e){if("number"==typeof e)return e;if("string"==typeof e){var t=ne(e);if(!x(t))return t}return 0}function ie(e){return String(e)}function oe(e){return function(t){return t.toFixed(Math.max(Math.min(e,20),0))}}function ae(e,t,n,r,i){return r+(e-t)/(n-t)*(i-r)}function se(e){return String(e.toFixed(10)).split(".")[1].replace(/0+$/,"").length}function le(e,t,n){return Math.min(Math.max(e,t),n)}function ue(e,t){return(e%t+t)%t}function ce(e){var t;return null!==(t=e.step)&&void 0!==t?t:1}function pe(e,t){var n,r=Math.abs(null!==(n=e.step)&&void 0!==n?n:t);return 0===r?.1:Math.pow(10,Math.floor(Math.log10(r))-1)}function fe(e,t){return x(e.step)?null:new F(e.step,t)}function de(e){return x(e.max)||x(e.min)?x(e.max)&&x(e.min)?null:new I({max:e.max,min:e.min}):new z({max:e.max,min:e.min})}function he(e,t){var n,r,i;return{formatter:null!==(n=e.format)&&void 0!==n?n:oe(function(e,t){return x(e.step)?Math.max(se(t),2):se(e.step)}(e,t)),keyScale:null!==(r=e.keyScale)&&void 0!==r?r:ce(e),pointerScale:null!==(i=e.pointerScale)&&void 0!==i?i:pe(e,t)}}function ve(e){return{format:e.optional.function,keyScale:e.optional.number,max:e.optional.number,min:e.optional.number,pointerScale:e.optional.number,step:e.optional.number}}function me(e){return{constraint:e.constraint,textProps:B.fromObject(he(e.params,e.initialValue))}}var be=function(){function e(t){f(this,e),this.controller=t}return h(e,[{key:"element",get:function(){return this.controller.view.element}},{key:"disabled",get:function(){return this.controller.viewProps.get("disabled")},set:function(e){this.controller.viewProps.set("disabled",e)}},{key:"hidden",get:function(){return this.controller.viewProps.get("hidden")},set:function(e){this.controller.viewProps.set("hidden",e)}},{key:"dispose",value:function(){this.controller.viewProps.set("disposed",!0)}},{key:"importState",value:function(e){return this.controller.importState(e)}},{key:"exportState",value:function(){return this.controller.exportState()}}]),e}(),ge=h(function e(t){f(this,e),this.target=t}),ye=function(e){a(n,ge);var t=l(n);function n(e,r,i){var o;return f(this,n),(o=t.call(this,e)).value=r,o.last=null===i||void 0===i||i,o}return h(n)}(),we=function(e){a(n,ge);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e)).expanded=r,i}return h(n)}(),_e=function(e){a(n,ge);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e)).index=r,i}return h(n)}(),xe=function(e){a(n,ge);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e)).native=r,i}return h(n)}(),ke=function(e){a(n,be);var t=l(n);function n(e){var r;return f(this,n),(r=t.call(this,e)).onValueChange_=r.onValueChange_.bind(u(r)),r.emitter_=new D,r.controller.value.emitter.on("change",r.onValueChange_),r}return h(n,[{key:"label",get:function(){return this.controller.labelController.props.get("label")},set:function(e){this.controller.labelController.props.set("label",e)}},{key:"key",get:function(){return this.controller.value.binding.target.key}},{key:"tag",get:function(){return this.controller.tag},set:function(e){this.controller.tag=e}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}},{key:"refresh",value:function(){this.controller.value.fetch()}},{key:"onValueChange_",value:function(e){var t=this.controller.value;this.emitter_.emit("change",new ye(this,_(t.binding.target.read()),e.options.last))}}]),n}(),Ce=function(){function e(t,n){f(this,e),this.onValueBeforeChange_=this.onValueBeforeChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.binding=n,this.value_=t,this.value_.emitter.on("beforechange",this.onValueBeforeChange_),this.value_.emitter.on("change",this.onValueChange_),this.emitter=new D}return h(e,[{key:"rawValue",get:function(){return this.value_.rawValue},set:function(e){this.value_.rawValue=e}},{key:"setRawValue",value:function(e,t){this.value_.setRawValue(e,t)}},{key:"fetch",value:function(){this.value_.rawValue=this.binding.read()}},{key:"push",value:function(){this.binding.write(this.value_.rawValue)}},{key:"onValueBeforeChange_",value:function(e){this.emitter.emit("beforechange",Object.assign(Object.assign({},e),{sender:this}))}},{key:"onValueChange_",value:function(e){this.push(),this.emitter.emit("change",Object.assign(Object.assign({},e),{sender:this}))}}]),e}();function Pe(e){return function(t){return function(n){if(!t&&void 0===n)return{succeeded:!1,value:void 0};if(t&&void 0===n)return{succeeded:!0,value:void 0};var r=e(n);return void 0!==r?{succeeded:!0,value:r}:{succeeded:!1,value:void 0}}}}function Ee(e){return{custom:function(t){return Pe(t)(e)},boolean:Pe(function(e){return"boolean"==typeof e?e:void 0})(e),number:Pe(function(e){return"number"==typeof e?e:void 0})(e),string:Pe(function(e){return"string"==typeof e?e:void 0})(e),function:Pe(function(e){return"function"==typeof e?e:void 0})(e),constant:function(t){return Pe(function(e){return e===t?t:void 0})(e)},raw:Pe(function(e){return e})(e),object:function(t){return Pe(function(e){var n;if(null!==(n=e)&&"object"===w(n))return function(e,t){return _(Object.keys(t).reduce(function(n,r){if(void 0!==n){var i=(0,t[r])(e[r]);return i.succeeded?Object.assign(Object.assign({},n),v({},r,i.value)):void 0}},{}))}(e,t)})(e)},array:function(t){return Pe(function(e){var n;if(Array.isArray(e))return n=t,e.reduce(function(e,t){if(void 0!==e){var r=n(t);if(r.succeeded&&void 0!==r.value)return[].concat(b(e),[r.value])}},[])})(e)}}}var Ae={optional:Ee(!0),required:Ee(!1)};function Ve(e,t){var n=t(Ae),r=Ae.required.object(n)(e);return r.succeeded?r.value:void 0}function Oe(e,t,n,r){if(t&&!t(e))return!1;var i=Ve(e,n);return!!i&&r(i)}function Se(e,t){var n;return E(null!==(n=null===e||void 0===e?void 0:e())&&void 0!==n?n:{},t)}function De(e){return"value"in e}function je(e){return!!(k(e)&&"binding"in e)&&A(e.binding)}var Le="http://www.w3.org/2000/svg";function Te(e){e.offsetHeight}function Me(e){return void 0!==e.ontouchstart}function Be(){return _(globalThis).document}var ze={check:'',dropdown:'',p2dpad:''};function Ie(e,t){var n=e.createElementNS(Le,"svg");return n.innerHTML=ze[t],n}function Fe(e,t,n){e.insertBefore(t,e.children[n])}function Re(e){e.parentElement&&e.parentElement.removeChild(e)}function Ne(e){for(;e.children.length>0;)e.removeChild(e.children[0])}function Ue(e){return e.relatedTarget?_(e.relatedTarget):"explicitOriginalTarget"in e?e.explicitOriginalTarget:null}function Ke(e,t){e.emitter.on("change",function(e){t(e.rawValue)}),t(e.rawValue)}function qe(e,t,n){Ke(e.value(t),n)}var He="tp";function Ge(e){return function(t,n){return[He,"-",e,"v",t?"_".concat(t):"",n?"-".concat(n):""].join("")}}var We=Ge("lbl");var Ye=h(function e(t,n){var r=this;f(this,e),this.element=t.createElement("div"),this.element.classList.add(We()),n.viewProps.bindClassModifiers(this.element);var i=t.createElement("div");i.classList.add(We("l")),qe(n.props,"label",function(e){x(e)?r.element.classList.add(We(void 0,"nol")):(r.element.classList.remove(We(void 0,"nol")),function(e){for(;e.childNodes.length>0;)e.removeChild(e.childNodes[0])}(i),i.appendChild(function(e,t){var n=e.createDocumentFragment();return t.split("\n").map(function(t){return e.createTextNode(t)}).forEach(function(t,r){r>0&&n.appendChild(e.createElement("br")),n.appendChild(t)}),n}(t,e)))}),this.element.appendChild(i),this.labelElement=i;var o=t.createElement("div");o.classList.add(We("v")),this.element.appendChild(o),this.valueElement=o}),Qe=function(){function e(t,n){f(this,e),this.props=n.props,this.valueController=n.valueController,this.viewProps=n.valueController.viewProps,this.view=new Ye(t,{props:n.props,viewProps:this.viewProps}),this.view.valueElement.appendChild(this.valueController.view.element)}return h(e,[{key:"importProps",value:function(e){var t=this;return Oe(e,null,function(e){return{label:e.optional.string}},function(e){return t.props.set("label",e.label),!0})}},{key:"exportProps",value:function(){return Se(null,{label:this.props.get("label")})}}]),e}();var Xe=Ge(""),$e={veryfirst:"vfst",first:"fst",last:"lst",verylast:"vlst"},Je=function(){function e(t){var n=this;f(this,e),this.parent_=null,this.blade=t.blade,this.view=t.view,this.viewProps=t.viewProps;var r=this.view.element;this.blade.value("positions").emitter.on("change",function(){["veryfirst","first","last","verylast"].forEach(function(e){r.classList.remove(Xe(void 0,$e[e]))}),n.blade.get("positions").forEach(function(e){r.classList.add(Xe(void 0,$e[e]))})}),this.viewProps.handleDispose(function(){Re(r)})}return h(e,[{key:"parent",get:function(){return this.parent_},set:function(e){this.parent_=e,this.viewProps.set("parent",this.parent_?this.parent_.viewProps:null)}},{key:"importState",value:function(e){var t=this;return Oe(e,null,function(e){return{disabled:e.required.boolean,hidden:e.required.boolean}},function(e){return t.viewProps.importState(e),!0})}},{key:"exportState",value:function(){return Se(null,Object.assign({},this.viewProps.exportState()))}}]),e}(),Ze=function(e){a(n,Je);var t=l(n);function n(e,r){var i;if(f(this,n),r.value!==r.valueController.value)throw O.shouldNeverHappen();var o=r.valueController.viewProps,a=new Qe(e,{blade:r.blade,props:r.props,valueController:r.valueController});return(i=t.call(this,Object.assign(Object.assign({},r),{view:new Ye(e,{props:r.props,viewProps:o}),viewProps:o}))).labelController=a,i.value=r.value,i.valueController=r.valueController,i.view.valueElement.appendChild(i.valueController.view.element),i}return h(n,[{key:"importState",value:function(e){var t=this;return Oe(e,function(r){var i,a,s;return o(p(n.prototype),"importState",t).call(t,r)&&t.labelController.importProps(r)&&(null===(s=null===(a=(i=t.valueController).importProps)||void 0===a?void 0:a.call(i,e))||void 0===s||s)},function(e){return{value:e.optional.raw}},function(e){return e.value&&(t.value.rawValue=e.value),!0})}},{key:"exportState",value:function(){var e,t,r,i=this;return Se(function(){return o(p(n.prototype),"exportState",i).call(i)},Object.assign(Object.assign({value:this.value.rawValue},this.labelController.exportProps()),null!==(r=null===(t=(e=this.valueController).exportProps)||void 0===t?void 0:t.call(e))&&void 0!==r?r:{}))}}]),n}();function et(e){var t=Object.assign({},e);return delete t.value,t}var tt=function(e){a(n,Ze);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e,r)).tag=r.tag,i}return h(n,[{key:"importState",value:function(e){var t=this;return Oe(e,function(r){return o(p(n.prototype),"importState",t).call(t,et(e))},function(e){return{tag:e.optional.string}},function(e){return t.tag=e.tag,!0})}},{key:"exportState",value:function(){var e=this;return Se(function(){return et(o(p(n.prototype),"exportState",e).call(e))},{binding:{key:this.value.binding.target.key,value:this.value.binding.target.read()},tag:this.tag})}}]),n}();var nt=function(e){a(n,tt);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n,[{key:"importState",value:function(e){var t=this;return Oe(e,function(e){return o(p(n.prototype),"importState",t).call(t,e)},function(e){return{binding:e.required.object({value:e.required.raw})}},function(e){return t.value.binding.inject(e.binding.value),t.value.fetch(),!0})}}]),n}();function rt(e){return De(e)&&function(e){if(!("binding"in e))return!1;var t=e.binding;return A(t)&&"read"in t&&"write"in t}(e.value)}function it(e,t){for(;e.lengthe.length?n.splice(0,n.length-e.length):it(n,e.length),n}var at=function(){function e(t){var n,r;f(this,e),this.emitter=new D,this.onTick_=this.onTick_.bind(this),this.onValueBeforeChange_=this.onValueBeforeChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.binding=t.binding,this.value_=M((n=t.bufferSize,it(r=[],n),r)),this.value_.emitter.on("beforechange",this.onValueBeforeChange_),this.value_.emitter.on("change",this.onValueChange_),this.ticker=t.ticker,this.ticker.emitter.on("tick",this.onTick_),this.fetch()}return h(e,[{key:"rawValue",get:function(){return this.value_.rawValue},set:function(e){this.value_.rawValue=e}},{key:"setRawValue",value:function(e,t){this.value_.setRawValue(e,t)}},{key:"fetch",value:function(){this.value_.rawValue=ot(this.value_.rawValue,this.binding.read())}},{key:"onTick_",value:function(){this.fetch()}},{key:"onValueBeforeChange_",value:function(e){this.emitter.emit("beforechange",Object.assign(Object.assign({},e),{sender:this}))}},{key:"onValueChange_",value:function(e){this.emitter.emit("change",Object.assign(Object.assign({},e),{sender:this}))}}]),e}();var st=function(e){a(n,tt);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n,[{key:"exportState",value:function(){var e=this;return Se(function(){return o(p(n.prototype),"exportState",e).call(e)},{binding:{readonly:!0}})}}]),n}();function lt(e){return De(e)&&function(e){if(!("binding"in e))return!1;var t=e.binding;return A(t)&&"read"in t&&!("write"in t)}(e.value)}var ut=function(e){a(n,be);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n,[{key:"label",get:function(){return this.controller.labelController.props.get("label")},set:function(e){this.controller.labelController.props.set("label",e)}},{key:"title",get:function(){var e;return null!==(e=this.controller.buttonController.props.get("title"))&&void 0!==e?e:""},set:function(e){this.controller.buttonController.props.set("title",e)}},{key:"on",value:function(e,t){var n=this,r=t.bind(this);return this.controller.buttonController.emitter.on(e,function(e){r(new xe(n,e.nativeEvent))}),this}},{key:"off",value:function(e,t){return this.controller.buttonController.emitter.off(e,t),this}}]),n}();function ct(e,t){return function(n){!function(e,t,n){n?e.classList.add(t):e.classList.remove(t)}(e,t,n)}}function pt(e,t){Ke(e,function(e){t.textContent=null!==e&&void 0!==e?e:""})}var ft=Ge("btn"),dt=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(ft()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("button");r.classList.add(ft("b")),n.viewProps.bindDisabled(r),this.element.appendChild(r),this.buttonElement=r;var i=t.createElement("div");i.classList.add(ft("t")),pt(n.props.value("title"),i),this.buttonElement.appendChild(i)}),ht=function(){function e(t,n){f(this,e),this.emitter=new D,this.onClick_=this.onClick_.bind(this),this.props=n.props,this.viewProps=n.viewProps,this.view=new dt(t,{props:this.props,viewProps:this.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}return h(e,[{key:"importProps",value:function(e){var t=this;return Oe(e,null,function(e){return{title:e.optional.string}},function(e){return t.props.set("title",e.title),!0})}},{key:"exportProps",value:function(){return Se(null,{title:this.props.get("title")})}},{key:"onClick_",value:function(e){this.emitter.emit("click",{nativeEvent:e,sender:this})}}]),e}(),vt=function(e){a(n,Je);var t=l(n);function n(e,r){var i;f(this,n);var o=new ht(e,{props:r.buttonProps,viewProps:r.viewProps}),a=new Qe(e,{blade:r.blade,props:r.labelProps,valueController:o});return(i=t.call(this,{blade:r.blade,view:a.view,viewProps:r.viewProps})).buttonController=o,i.labelController=a,i}return h(n,[{key:"importState",value:function(e){var t=this;return Oe(e,function(e){return o(p(n.prototype),"importState",t).call(t,e)&&t.buttonController.importProps(e)&&t.labelController.importProps(e)},function(){return{}},function(){return!0})}},{key:"exportState",value:function(){var e=this;return Se(function(){return o(p(n.prototype),"exportState",e).call(e)},Object.assign(Object.assign({},this.buttonController.exportProps()),this.labelController.exportProps()))}}]),n}(),mt=function(){function e(t){f(this,e);var n=i(t.split("-"),2),r=n[0],o=n[1],a=r.split(".");this.major=parseInt(a[0],10),this.minor=parseInt(a[1],10),this.patch=parseInt(a[2],10),this.prerelease=null!==o&&void 0!==o?o:null}return h(e,[{key:"toString",value:function(){var e=[this.major,this.minor,this.patch].join(".");return null!==this.prerelease?[e,this.prerelease].join("-"):e}}]),e}(),bt=new mt("2.0.3");function gt(e){return Object.assign({core:bt},e)}var yt=gt({id:"button",type:"blade",accept:function(e){var t=Ve(e,function(e){return{title:e.required.string,view:e.required.constant("button"),label:e.optional.string}});return t?{params:t}:null},controller:function(e){return new vt(e.document,{blade:e.blade,buttonProps:B.fromObject({title:e.params.title}),labelProps:B.fromObject({label:e.params.label}),viewProps:e.viewProps})},api:function(e){return e.controller instanceof vt?new ut(e.controller):null}});var wt=function(){function e(t,n){f(this,e),this.onRackValueChange_=this.onRackValueChange_.bind(this),this.controller_=t,this.emitter_=new D,this.pool_=n,this.controller_.rack.emitter.on("valuechange",this.onRackValueChange_)}return h(e,[{key:"children",get:function(){var e=this;return this.controller_.rack.children.map(function(t){return e.pool_.createApi(t)})}},{key:"addBinding",value:function(e,t,n){var r=null!==n&&void 0!==n?n:{},i=this.controller_.element.ownerDocument,o=this.pool_.createBinding(i,function(e,t){if(!S.isBindable(e))throw O.notBindable();return new S(e,t)}(e,t),r),a=this.pool_.createBindingApi(o);return this.add(a,r.index)}},{key:"addFolder",value:function(e){return function(e,t){return e.addBlade(Object.assign(Object.assign({},t),{view:"folder"}))}(this,e)}},{key:"addButton",value:function(e){return function(e,t){return e.addBlade(Object.assign(Object.assign({},t),{view:"button"}))}(this,e)}},{key:"addTab",value:function(e){return function(e,t){return e.addBlade(Object.assign(Object.assign({},t),{view:"tab"}))}(this,e)}},{key:"add",value:function(e,t){var n=e.controller;return this.controller_.rack.add(n,t),e}},{key:"remove",value:function(e){this.controller_.rack.remove(e.controller)}},{key:"addBlade",value:function(e){var t=this.controller_.element.ownerDocument,n=this.pool_.createBlade(t,e),r=this.pool_.createApi(n);return this.add(r,e.index)}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}},{key:"refresh",value:function(){this.children.forEach(function(e){var t;k(t=e)&&"refresh"in t&&"function"==typeof t.refresh&&e.refresh()})}},{key:"onRackValueChange_",value:function(e){var t=e.bladeController,n=this.pool_.createApi(t),r=je(t.value)?t.value.binding:null;this.emitter_.emit("change",new ye(n,r?r.target.read():t.value.rawValue,e.options.last))}}]),e}(),_t=function(e){a(n,be);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e)).rackApi_=new wt(e.rackController,r),i}return h(n,[{key:"refresh",value:function(){this.rackApi_.refresh()}}]),n}(),xt=function(e){a(n,Je);var t=l(n);function n(e){var r;return f(this,n),(r=t.call(this,{blade:e.blade,view:e.view,viewProps:e.rackController.viewProps})).rackController=e.rackController,r}return h(n,[{key:"importState",value:function(e){var t=this;return Oe(e,function(e){return o(p(n.prototype),"importState",t).call(t,e)},function(e){return{children:e.required.array(e.required.raw)}},function(e){return t.rackController.rack.children.every(function(t,n){return t.importState(e.children[n])})})}},{key:"exportState",value:function(){var e=this;return Se(function(){return o(p(n.prototype),"exportState",e).call(e)},{children:this.rackController.rack.children.map(function(e){return e.exportState()})})}}]),n}();function kt(e){return"rackController"in e}var Ct=function(){function e(t){f(this,e),this.emitter=new D,this.items_=[],this.cache_=new Set,this.onSubListAdd_=this.onSubListAdd_.bind(this),this.onSubListRemove_=this.onSubListRemove_.bind(this),this.extract_=t}return h(e,[{key:"items",get:function(){return this.items_}},{key:"allItems",value:function(){return Array.from(this.cache_)}},{key:"find",value:function(e){var t,n=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=g(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(this.allItems());try{for(n.s();!(t=n.n()).done;){var r=t.value;if(e(r))return r}}catch(e){n.e(e)}finally{n.f()}return null}},{key:"includes",value:function(e){return this.cache_.has(e)}},{key:"add",value:function(e,t){var n=this;if(this.includes(e))throw O.shouldNeverHappen();var r=void 0!==t?t:this.items_.length;this.items_.splice(r,0,e),this.cache_.add(e);var i=this.extract_(e);i&&(i.emitter.on("add",this.onSubListAdd_),i.emitter.on("remove",this.onSubListRemove_),i.allItems().forEach(function(e){n.cache_.add(e)})),this.emitter.emit("add",{index:r,item:e,root:this,target:this})}},{key:"remove",value:function(e){var t=this,n=this.items_.indexOf(e);if(!(n<0)){this.items_.splice(n,1),this.cache_.delete(e);var r=this.extract_(e);r&&(r.allItems().forEach(function(e){t.cache_.delete(e)}),r.emitter.off("add",this.onSubListAdd_),r.emitter.off("remove",this.onSubListRemove_)),this.emitter.emit("remove",{index:n,item:e,root:this,target:this})}}},{key:"onSubListAdd_",value:function(e){this.cache_.add(e.item),this.emitter.emit("add",{index:e.index,item:e.item,root:this,target:e.target})}},{key:"onSubListRemove_",value:function(e){this.cache_.delete(e.item),this.emitter.emit("remove",{index:e.index,item:e.item,root:this,target:e.target})}}]),e}();function Pt(e){return kt(e)?e.rackController.rack.bcSet_:null}var Et=function(){function e(t){var n,r;f(this,e),this.emitter=new D,this.onBladePositionsChange_=this.onBladePositionsChange_.bind(this),this.onSetAdd_=this.onSetAdd_.bind(this),this.onSetRemove_=this.onSetRemove_.bind(this),this.onChildDispose_=this.onChildDispose_.bind(this),this.onChildPositionsChange_=this.onChildPositionsChange_.bind(this),this.onChildValueChange_=this.onChildValueChange_.bind(this),this.onChildViewPropsChange_=this.onChildViewPropsChange_.bind(this),this.onRackLayout_=this.onRackLayout_.bind(this),this.onRackValueChange_=this.onRackValueChange_.bind(this),this.blade_=null!==(n=t.blade)&&void 0!==n?n:null,null===(r=this.blade_)||void 0===r||r.value("positions").emitter.on("change",this.onBladePositionsChange_),this.viewProps=t.viewProps,this.bcSet_=new Ct(Pt),this.bcSet_.emitter.on("add",this.onSetAdd_),this.bcSet_.emitter.on("remove",this.onSetRemove_)}return h(e,[{key:"children",get:function(){return this.bcSet_.items}},{key:"add",value:function(e,t){var n;null===(n=e.parent)||void 0===n||n.remove(e),e.parent=this,this.bcSet_.add(e,t)}},{key:"remove",value:function(e){e.parent=null,this.bcSet_.remove(e)}},{key:"find",value:function(e){return this.bcSet_.allItems().filter(e)}},{key:"onSetAdd_",value:function(e){this.updatePositions_();var t=e.target===e.root;if(this.emitter.emit("add",{bladeController:e.item,index:e.index,root:t,sender:this}),t){var n=e.item;if(n.viewProps.emitter.on("change",this.onChildViewPropsChange_),n.blade.value("positions").emitter.on("change",this.onChildPositionsChange_),n.viewProps.handleDispose(this.onChildDispose_),De(n))n.value.emitter.on("change",this.onChildValueChange_);else if(kt(n)){var r=n.rackController.rack;if(r){var i=r.emitter;i.on("layout",this.onRackLayout_),i.on("valuechange",this.onRackValueChange_)}}}}},{key:"onSetRemove_",value:function(e){this.updatePositions_();var t=e.target===e.root;if(this.emitter.emit("remove",{bladeController:e.item,root:t,sender:this}),t){var n=e.item;if(De(n))n.value.emitter.off("change",this.onChildValueChange_);else if(kt(n)){var r=n.rackController.rack;if(r){var i=r.emitter;i.off("layout",this.onRackLayout_),i.off("valuechange",this.onRackValueChange_)}}}}},{key:"updatePositions_",value:function(){var e=this,t=this.bcSet_.items.filter(function(e){return!e.viewProps.get("hidden")}),n=t[0],r=t[t.length-1];this.bcSet_.items.forEach(function(t){var i=[];t===n&&(i.push("first"),e.blade_&&!e.blade_.get("positions").includes("veryfirst")||i.push("veryfirst")),t===r&&(i.push("last"),e.blade_&&!e.blade_.get("positions").includes("verylast")||i.push("verylast")),t.blade.set("positions",i)})}},{key:"onChildPositionsChange_",value:function(){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}},{key:"onChildViewPropsChange_",value:function(e){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}},{key:"onChildDispose_",value:function(){var e=this;this.bcSet_.items.filter(function(e){return e.viewProps.get("disposed")}).forEach(function(t){e.bcSet_.remove(t)})}},{key:"onChildValueChange_",value:function(e){var t=function(e,t){for(var n=0;n=0;e--){n.rack.children[e].viewProps.set("disposed",!0)}})}return h(e,[{key:"onRackAdd_",value:function(e){e.root&&Fe(this.element,e.bladeController.view.element,e.index)}},{key:"onRackRemove_",value:function(e){e.root&&Re(e.bladeController.view.element)}}]),e}();function Vt(){return new B({positions:M([],{equals:P})})}var Ot=function(e){a(n,B);var t=l(n);function n(e){return f(this,n),t.call(this,e)}return h(n,[{key:"styleExpanded",get:function(){var e;return null!==(e=this.get("temporaryExpanded"))&&void 0!==e?e:this.get("expanded")}},{key:"styleHeight",get:function(){if(!this.styleExpanded)return"0";var e=this.get("expandedHeight");return this.get("shouldFixHeight")&&!x(e)?"".concat(e,"px"):"auto"}},{key:"bindExpandedClass",value:function(e,t){var n=this,r=function(){n.styleExpanded?e.classList.add(t):e.classList.remove(t)};qe(this,"expanded",r),qe(this,"temporaryExpanded",r)}},{key:"cleanUpTransition",value:function(){this.set("shouldFixHeight",!1),this.set("expandedHeight",null),this.set("completed",!0)}}],[{key:"create",value:function(e){var t={completed:!0,expanded:e,expandedHeight:null,shouldFixHeight:!1,temporaryExpanded:null};return new n(B.createCore(t))}}]),n}();function St(e,t){t.style.height=e.styleHeight}function Dt(e,t){e.value("expanded").emitter.on("beforechange",function(){if(e.set("completed",!1),x(e.get("expandedHeight"))){var n=(r=e,l=0,a=function(){r.set("expandedHeight",null),r.set("temporaryExpanded",!0),Te(i),l=i.clientHeight,r.set("temporaryExpanded",null),Te(i)},s=(o=i=t).style.transition,o.style.transition="none",a(),o.style.transition=s,l);n>0&&e.set("expandedHeight",n)}var r,i,o,a,s,l;e.set("shouldFixHeight",!0),Te(t)}),e.emitter.on("change",function(){St(e,t)}),St(e,t),t.addEventListener("transitionend",function(t){"height"===t.propertyName&&e.cleanUpTransition()})}var jt=function(e){a(n,_t);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e,r)).emitter_=new D,i.controller.foldable.value("expanded").emitter.on("change",function(e){i.emitter_.emit("fold",new we(u(i),e.sender.rawValue))}),i.rackApi_.on("change",function(e){i.emitter_.emit("change",e)}),i}return h(n,[{key:"expanded",get:function(){return this.controller.foldable.get("expanded")},set:function(e){this.controller.foldable.set("expanded",e)}},{key:"title",get:function(){return this.controller.props.get("title")},set:function(e){this.controller.props.set("title",e)}},{key:"children",get:function(){return this.rackApi_.children}},{key:"addBinding",value:function(e,t,n){return this.rackApi_.addBinding(e,t,n)}},{key:"addFolder",value:function(e){return this.rackApi_.addFolder(e)}},{key:"addButton",value:function(e){return this.rackApi_.addButton(e)}},{key:"addTab",value:function(e){return this.rackApi_.addTab(e)}},{key:"add",value:function(e,t){return this.rackApi_.add(e,t)}},{key:"remove",value:function(e){this.rackApi_.remove(e)}},{key:"addBlade",value:function(e){return this.rackApi_.addBlade(e)}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}}]),n}(),Lt=Ge("cnt"),Tt=h(function e(t,n){var r,i=this;f(this,e),this.className_=Ge(null!==(r=n.viewName)&&void 0!==r?r:"fld"),this.element=t.createElement("div"),this.element.classList.add(this.className_(),Lt()),n.viewProps.bindClassModifiers(this.element),this.foldable_=n.foldable,this.foldable_.bindExpandedClass(this.element,this.className_(void 0,"expanded")),qe(this.foldable_,"completed",ct(this.element,this.className_(void 0,"cpl")));var o=t.createElement("button");o.classList.add(this.className_("b")),qe(n.props,"title",function(e){x(e)?i.element.classList.add(i.className_(void 0,"not")):i.element.classList.remove(i.className_(void 0,"not"))}),n.viewProps.bindDisabled(o),this.element.appendChild(o),this.buttonElement=o;var a=t.createElement("div");a.classList.add(this.className_("i")),this.element.appendChild(a);var s=t.createElement("div");s.classList.add(this.className_("t")),pt(n.props.value("title"),s),this.buttonElement.appendChild(s),this.titleElement=s;var l=t.createElement("div");l.classList.add(this.className_("m")),this.buttonElement.appendChild(l);var u=t.createElement("div");u.classList.add(this.className_("c")),this.element.appendChild(u),this.containerElement=u}),Mt=function(e){a(n,xt);var t=l(n);function n(e,r){var i,o;f(this,n);var a=Ot.create(null===(o=r.expanded)||void 0===o||o),s=new Tt(e,{foldable:a,props:r.props,viewName:r.root?"rot":void 0,viewProps:r.viewProps});return(i=t.call(this,Object.assign(Object.assign({},r),{rackController:new At({blade:r.blade,element:s.containerElement,root:r.root,viewProps:r.viewProps}),view:s}))).onTitleClick_=i.onTitleClick_.bind(u(i)),i.props=r.props,i.foldable=a,Dt(i.foldable,i.view.containerElement),i.rackController.rack.emitter.on("add",function(){i.foldable.cleanUpTransition()}),i.rackController.rack.emitter.on("remove",function(){i.foldable.cleanUpTransition()}),i.view.buttonElement.addEventListener("click",i.onTitleClick_),i}return h(n,[{key:"document",get:function(){return this.view.element.ownerDocument}},{key:"importState",value:function(e){var t=this;return Oe(e,function(e){return o(p(n.prototype),"importState",t).call(t,e)},function(e){return{expanded:e.required.boolean,title:e.optional.string}},function(e){return t.foldable.set("expanded",e.expanded),t.props.set("title",e.title),!0})}},{key:"exportState",value:function(){var e=this;return Se(function(){return o(p(n.prototype),"exportState",e).call(e)},{expanded:this.foldable.get("expanded"),title:this.props.get("title")})}},{key:"onTitleClick_",value:function(){this.foldable.set("expanded",!this.foldable.get("expanded"))}}]),n}(),Bt=gt({id:"folder",type:"blade",accept:function(e){var t=Ve(e,function(e){return{title:e.required.string,view:e.required.constant("folder"),expanded:e.optional.boolean}});return t?{params:t}:null},controller:function(e){return new Mt(e.document,{blade:e.blade,expanded:e.params.expanded,props:B.fromObject({title:e.params.title}),viewProps:e.viewProps})},api:function(e){return e.controller instanceof Mt?new jt(e.controller,e.pool):null}}),zt=Ge("");function It(e,t){return ct(e,zt(void 0,t))}var Ft=function(e){a(n,B);var t=l(n);function n(e){var r,o;f(this,n),(r=t.call(this,e)).onDisabledChange_=r.onDisabledChange_.bind(u(r)),r.onParentChange_=r.onParentChange_.bind(u(r)),r.onParentGlobalDisabledChange_=r.onParentGlobalDisabledChange_.bind(u(r));var a,s=i((a=M(r.getGlobalDisabled_()),[new T(a),function(e,t){a.setRawValue(e,t)}]),2);return r.globalDisabled_=s[0],r.setGlobalDisabled_=s[1],r.value("disabled").emitter.on("change",r.onDisabledChange_),r.value("parent").emitter.on("change",r.onParentChange_),null===(o=r.get("parent"))||void 0===o||o.globalDisabled.emitter.on("change",r.onParentGlobalDisabledChange_),r}return h(n,[{key:"globalDisabled",get:function(){return this.globalDisabled_}},{key:"bindClassModifiers",value:function(e){Ke(this.globalDisabled_,It(e,"disabled")),qe(this,"hidden",It(e,"hidden"))}},{key:"bindDisabled",value:function(e){Ke(this.globalDisabled_,function(t){e.disabled=t})}},{key:"bindTabIndex",value:function(e){Ke(this.globalDisabled_,function(t){e.tabIndex=t?-1:0})}},{key:"handleDispose",value:function(e){this.value("disposed").emitter.on("change",function(t){t&&e()})}},{key:"importState",value:function(e){this.set("disabled",e.disabled),this.set("hidden",e.hidden)}},{key:"exportState",value:function(){return{disabled:this.get("disabled"),hidden:this.get("hidden")}}},{key:"getGlobalDisabled_",value:function(){var e=this.get("parent");return!!e&&e.globalDisabled.rawValue||this.get("disabled")}},{key:"updateGlobalDisabled_",value:function(){this.setGlobalDisabled_(this.getGlobalDisabled_())}},{key:"onDisabledChange_",value:function(){this.updateGlobalDisabled_()}},{key:"onParentGlobalDisabledChange_",value:function(){this.updateGlobalDisabled_()}},{key:"onParentChange_",value:function(e){var t,n=e.previousRawValue;null===n||void 0===n||n.globalDisabled.emitter.off("change",this.onParentGlobalDisabledChange_),null===(t=this.get("parent"))||void 0===t||t.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_),this.updateGlobalDisabled_()}}],[{key:"create",value:function(e){var t,r,i,o=null!==e&&void 0!==e?e:{};return new n(B.createCore({disabled:null!==(t=o.disabled)&&void 0!==t&&t,disposed:!1,hidden:null!==(r=o.hidden)&&void 0!==r&&r,parent:null!==(i=o.parent)&&void 0!==i?i:null}))}}]),n}(),Rt=Ge("tbp"),Nt=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(Rt()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("div");r.classList.add(Rt("c")),this.element.appendChild(r),this.containerElement=r}),Ut=Ge("tbi"),Kt=h(function e(t,n){var r=this;f(this,e),this.element=t.createElement("div"),this.element.classList.add(Ut()),n.viewProps.bindClassModifiers(this.element),qe(n.props,"selected",function(e){e?r.element.classList.add(Ut(void 0,"sel")):r.element.classList.remove(Ut(void 0,"sel"))});var i=t.createElement("button");i.classList.add(Ut("b")),n.viewProps.bindDisabled(i),this.element.appendChild(i),this.buttonElement=i;var o=t.createElement("div");o.classList.add(Ut("t")),pt(n.props.value("title"),o),this.buttonElement.appendChild(o),this.titleElement=o}),qt=function(){function e(t,n){f(this,e),this.emitter=new D,this.onClick_=this.onClick_.bind(this),this.props=n.props,this.viewProps=n.viewProps,this.view=new Kt(t,{props:n.props,viewProps:n.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}return h(e,[{key:"onClick_",value:function(){this.emitter.emit("click",{sender:this})}}]),e}(),Ht=function(e){a(n,xt);var t=l(n);function n(e,r){var i;f(this,n);var o=new Nt(e,{viewProps:r.viewProps});return(i=t.call(this,Object.assign(Object.assign({},r),{rackController:new At({blade:r.blade,element:o.containerElement,viewProps:r.viewProps}),view:o}))).onItemClick_=i.onItemClick_.bind(u(i)),i.ic_=new qt(e,{props:r.itemProps,viewProps:Ft.create()}),i.ic_.emitter.on("click",i.onItemClick_),i.props=r.props,qe(i.props,"selected",function(e){i.itemController.props.set("selected",e),i.viewProps.set("hidden",!e)}),i}return h(n,[{key:"itemController",get:function(){return this.ic_}},{key:"importState",value:function(e){var t=this;return Oe(e,function(e){return o(p(n.prototype),"importState",t).call(t,e)},function(e){return{selected:e.required.boolean,title:e.required.string}},function(e){return t.ic_.props.set("selected",e.selected),t.ic_.props.set("title",e.title),!0})}},{key:"exportState",value:function(){var e=this;return Se(function(){return o(p(n.prototype),"exportState",e).call(e)},{selected:this.ic_.props.get("selected"),title:this.ic_.props.get("title")})}},{key:"onItemClick_",value:function(){this.props.set("selected",!0)}}]),n}(),Gt=function(e){a(n,_t);var t=l(n);function n(e,r){var i;return f(this,n),(i=t.call(this,e,r)).emitter_=new D,i.onSelect_=i.onSelect_.bind(u(i)),i.pool_=r,i.rackApi_.on("change",function(e){i.emitter_.emit("change",e)}),i.controller.tab.selectedIndex.emitter.on("change",i.onSelect_),i}return h(n,[{key:"pages",get:function(){return this.rackApi_.children}},{key:"addPage",value:function(e){var t=this.controller.view.element.ownerDocument,n=new Ht(t,{blade:Vt(),itemProps:B.fromObject({selected:!1,title:e.title}),props:B.fromObject({selected:!1}),viewProps:Ft.create()}),r=this.pool_.createApi(n);return this.rackApi_.add(r,e.index)}},{key:"removePage",value:function(e){this.rackApi_.remove(this.rackApi_.children[e])}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}},{key:"onSelect_",value:function(e){this.emitter_.emit("select",new _e(this,e.rawValue))}}]),n}(),Wt=function(e){a(n,_t);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n,[{key:"title",get:function(){var e;return null!==(e=this.controller.itemController.props.get("title"))&&void 0!==e?e:""},set:function(e){this.controller.itemController.props.set("title",e)}},{key:"selected",get:function(){return this.controller.props.get("selected")},set:function(e){this.controller.props.set("selected",e)}},{key:"children",get:function(){return this.rackApi_.children}},{key:"addButton",value:function(e){return this.rackApi_.addButton(e)}},{key:"addFolder",value:function(e){return this.rackApi_.addFolder(e)}},{key:"addTab",value:function(e){return this.rackApi_.addTab(e)}},{key:"add",value:function(e,t){this.rackApi_.add(e,t)}},{key:"remove",value:function(e){this.rackApi_.remove(e)}},{key:"addBinding",value:function(e,t,n){return this.rackApi_.addBinding(e,t,n)}},{key:"addBlade",value:function(e){return this.rackApi_.addBlade(e)}}]),n}(),Yt=-1,Qt=function(){function e(){f(this,e),this.onItemSelectedChange_=this.onItemSelectedChange_.bind(this),this.empty=M(!0),this.selectedIndex=M(Yt),this.items_=[]}return h(e,[{key:"add",value:function(e,t){var n=null!==t&&void 0!==t?t:this.items_.length;this.items_.splice(n,0,e),e.emitter.on("change",this.onItemSelectedChange_),this.keepSelection_()}},{key:"remove",value:function(e){var t=this.items_.indexOf(e);t<0||(this.items_.splice(t,1),e.emitter.off("change",this.onItemSelectedChange_),this.keepSelection_())}},{key:"keepSelection_",value:function(){if(0===this.items_.length)return this.selectedIndex.rawValue=Yt,void(this.empty.rawValue=!0);var e=this.items_.findIndex(function(e){return e.rawValue});e<0?(this.items_.forEach(function(e,t){e.rawValue=0===t}),this.selectedIndex.rawValue=0):(this.items_.forEach(function(t,n){t.rawValue=n===e}),this.selectedIndex.rawValue=e),this.empty.rawValue=!1}},{key:"onItemSelectedChange_",value:function(e){if(e.rawValue){var t=this.items_.findIndex(function(t){return t===e.sender});this.items_.forEach(function(e,n){e.rawValue=n===t}),this.selectedIndex.rawValue=t}else this.keepSelection_()}}]),e}(),Xt=Ge("tab"),$t=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(Xt(),Lt()),n.viewProps.bindClassModifiers(this.element),Ke(n.empty,ct(this.element,Xt(void 0,"nop")));var r=t.createElement("div");r.classList.add(Xt("t")),this.element.appendChild(r),this.itemsElement=r;var i=t.createElement("div");i.classList.add(Xt("i")),this.element.appendChild(i);var o=t.createElement("div");o.classList.add(Xt("c")),this.element.appendChild(o),this.contentsElement=o}),Jt=function(e){a(n,xt);var t=l(n);function n(e,r){var i;f(this,n);var o=new Qt,a=new $t(e,{empty:o.empty,viewProps:r.viewProps});(i=t.call(this,{blade:r.blade,rackController:new At({blade:r.blade,element:a.contentsElement,viewProps:r.viewProps}),view:a})).onRackAdd_=i.onRackAdd_.bind(u(i)),i.onRackRemove_=i.onRackRemove_.bind(u(i));var s=i.rackController.rack;return s.emitter.on("add",i.onRackAdd_),s.emitter.on("remove",i.onRackRemove_),i.tab=o,i}return h(n,[{key:"add",value:function(e,t){this.rackController.rack.add(e,t)}},{key:"remove",value:function(e){this.rackController.rack.remove(this.rackController.rack.children[e])}},{key:"onRackAdd_",value:function(e){if(e.root){var t=e.bladeController;Fe(this.view.itemsElement,t.itemController.view.element,e.index),t.itemController.viewProps.set("parent",this.viewProps),this.tab.add(t.props.value("selected"))}}},{key:"onRackRemove_",value:function(e){if(e.root){var t=e.bladeController;Re(t.itemController.view.element),t.itemController.viewProps.set("parent",null),this.tab.remove(t.props.value("selected"))}}}]),n}(),Zt=gt({id:"tab",type:"blade",accept:function(e){var t=Ve(e,function(e){return{pages:e.required.array(e.required.object({title:e.required.string})),view:e.required.constant("tab")}});return t&&0!==t.pages.length?{params:t}:null},controller:function(e){var t=new Jt(e.document,{blade:e.blade,viewProps:e.viewProps});return e.params.pages.forEach(function(n){var r=new Ht(e.document,{blade:Vt(),itemProps:B.fromObject({selected:!1,title:n.title}),props:B.fromObject({selected:!1}),viewProps:Ft.create()});t.add(r)}),t},api:function(e){return e.controller instanceof Jt?new Gt(e.controller,e.pool):e.controller instanceof Ht?new Wt(e.controller,e.pool):null}});function en(e,t){var n=e.accept(t.params);if(!n)return null;var r=Ve(t.params,function(e){return{disabled:e.optional.boolean,hidden:e.optional.boolean}});return e.controller({blade:Vt(),document:t.document,params:_(Object.assign(Object.assign({},n.params),{disabled:null===r||void 0===r?void 0:r.disabled,hidden:null===r||void 0===r?void 0:r.hidden})),viewProps:Ft.create({disabled:null===r||void 0===r?void 0:r.disabled,hidden:null===r||void 0===r?void 0:r.hidden})})}var tn=function(e){a(n,ke);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n,[{key:"options",get:function(){return this.controller.valueController.props.get("options")},set:function(e){this.controller.valueController.props.set("options",e)}}]),n}(),nn=function(){function e(){f(this,e),this.disabled=!1,this.emitter=new D}return h(e,[{key:"dispose",value:function(){}},{key:"tick",value:function(){this.disabled||this.emitter.emit("tick",{sender:this})}}]),e}(),rn=function(){function e(t,n){f(this,e),this.disabled_=!1,this.timerId_=null,this.onTick_=this.onTick_.bind(this),this.doc_=t,this.emitter=new D,this.interval_=n,this.setTimer_()}return h(e,[{key:"disabled",get:function(){return this.disabled_},set:function(e){this.disabled_=e,this.disabled_?this.clearTimer_():this.setTimer_()}},{key:"dispose",value:function(){this.clearTimer_()}},{key:"clearTimer_",value:function(){if(null!==this.timerId_){var e=this.doc_.defaultView;e&&e.clearInterval(this.timerId_),this.timerId_=null}}},{key:"setTimer_",value:function(){if(this.clearTimer_(),!(this.interval_<=0)){var e=this.doc_.defaultView;e&&(this.timerId_=e.setInterval(this.onTick_,this.interval_))}}},{key:"onTick_",value:function(){this.disabled_||this.emitter.emit("tick",{sender:this})}}]),e}(),on=function(){function e(t){f(this,e),this.constraints=t}return h(e,[{key:"constrain",value:function(e){return this.constraints.reduce(function(e,t){return t.constrain(e)},e)}}]),e}();function an(e,t){if(e instanceof t)return e;if(e instanceof on){var n=e.constraints.reduce(function(e,n){return e||(n instanceof t?n:null)},null);if(n)return n}return null}var sn=function(){function e(t){f(this,e),this.values=B.fromObject({options:t})}return h(e,[{key:"constrain",value:function(e){var t=this.values.get("options");return 0===t.length?e:t.filter(function(t){return t.value===e}).length>0?e:t[0].value}}]),e}();function ln(e){var t,n=Ae;return Array.isArray(e)?null===(t=Ve({items:e},function(e){return{items:e.required.array(e.required.object({text:e.required.string,value:e.required.raw}))}}))||void 0===t?void 0:t.items:"object"===w(e)?n.required.raw(e).value:void 0}function un(e){if(Array.isArray(e))return e;var t=[];return Object.keys(e).forEach(function(n){t.push({text:n,value:e[n]})}),t}function cn(e){return x(e)?null:new sn(un(_(e)))}var pn=Ge("lst"),fn=function(){function e(t,n){var r=this;f(this,e),this.onValueChange_=this.onValueChange_.bind(this),this.props_=n.props,this.element=t.createElement("div"),this.element.classList.add(pn()),n.viewProps.bindClassModifiers(this.element);var i=t.createElement("select");i.classList.add(pn("s")),n.viewProps.bindDisabled(i),this.element.appendChild(i),this.selectElement=i;var o=t.createElement("div");o.classList.add(pn("m")),o.appendChild(Ie(t,"dropdown")),this.element.appendChild(o),n.value.emitter.on("change",this.onValueChange_),this.value_=n.value,qe(this.props_,"options",function(e){Ne(r.selectElement),e.forEach(function(e){var n=t.createElement("option");n.textContent=e.text,r.selectElement.appendChild(n)}),r.update_()})}return h(e,[{key:"update_",value:function(){var e=this.props_.get("options").map(function(e){return e.value});this.selectElement.selectedIndex=e.indexOf(this.value_.rawValue)}},{key:"onValueChange_",value:function(){this.update_()}}]),e}(),dn=function(){function e(t,n){f(this,e),this.onSelectChange_=this.onSelectChange_.bind(this),this.props=n.props,this.value=n.value,this.viewProps=n.viewProps,this.view=new fn(t,{props:this.props,value:this.value,viewProps:this.viewProps}),this.view.selectElement.addEventListener("change",this.onSelectChange_)}return h(e,[{key:"onSelectChange_",value:function(e){var t=_(e.currentTarget);this.value.rawValue=this.props.get("options")[t.selectedIndex].value}},{key:"importProps",value:function(e){var t=this;return Oe(e,null,function(e){return{options:e.required.custom(ln)}},function(e){return t.props.set("options",un(e.options)),!0})}},{key:"exportProps",value:function(){return Se(null,{options:this.props.get("options")})}}]),e}(),hn=Ge("pop"),vn=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(hn()),n.viewProps.bindClassModifiers(this.element),Ke(n.shows,ct(this.element,hn(void 0,"v")))}),mn=h(function e(t,n){f(this,e),this.shows=M(!1),this.viewProps=n.viewProps,this.view=new vn(t,{shows:this.shows,viewProps:this.viewProps})}),bn=Ge("txt"),gn=function(){function e(t,n){f(this,e),this.onChange_=this.onChange_.bind(this),this.element=t.createElement("div"),this.element.classList.add(bn()),n.viewProps.bindClassModifiers(this.element),this.props_=n.props,this.props_.emitter.on("change",this.onChange_);var r=t.createElement("input");r.classList.add(bn("i")),r.type="text",n.viewProps.bindDisabled(r),this.element.appendChild(r),this.inputElement=r,n.value.emitter.on("change",this.onChange_),this.value_=n.value,this.refresh()}return h(e,[{key:"refresh",value:function(){var e=this.props_.get("formatter");this.inputElement.value=e(this.value_.rawValue)}},{key:"onChange_",value:function(){this.refresh()}}]),e}(),yn=function(){function e(t,n){f(this,e),this.onInputChange_=this.onInputChange_.bind(this),this.parser_=n.parser,this.props=n.props,this.value=n.value,this.viewProps=n.viewProps,this.view=new gn(t,{props:n.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_)}return h(e,[{key:"onInputChange_",value:function(e){var t=_(e.currentTarget).value,n=this.parser_(t);x(n)||(this.value.rawValue=n),this.view.refresh()}}]),e}();function wn(e){return"false"!==e&&!!e}function _n(e){return function(e){return String(e)}(e)}var xn=oe(0);function kn(e){return xn(e)+"%"}function Cn(e){return String(e)}function Pn(e){return e}function En(e){var t=e.primary,n=e.secondary,r=e.forward,i=e.backward,o=!1;function a(e){o||(o=!0,e(),o=!1)}t.emitter.on("change",function(e){a(function(){n.setRawValue(r(t.rawValue,n.rawValue),e.options)})}),n.emitter.on("change",function(e){a(function(){t.setRawValue(i(t.rawValue,n.rawValue),e.options)}),a(function(){n.setRawValue(r(t.rawValue,n.rawValue),e.options)})}),a(function(){n.setRawValue(r(t.rawValue,n.rawValue),{forceEmit:!1,last:!0})})}function An(e,t){var n=e*(t.altKey?.1:1)*(t.shiftKey?10:1);return t.upKey?+n:t.downKey?-n:0}function Vn(e){return{altKey:e.altKey,downKey:"ArrowDown"===e.key,shiftKey:e.shiftKey,upKey:"ArrowUp"===e.key}}function On(e){return{altKey:e.altKey,downKey:"ArrowLeft"===e.key,shiftKey:e.shiftKey,upKey:"ArrowRight"===e.key}}function Sn(e){return function(e){return"ArrowUp"===e||"ArrowDown"===e}(e)||"ArrowLeft"===e||"ArrowRight"===e}function Dn(e,t){var n,r,i=t.ownerDocument.defaultView,o=t.getBoundingClientRect();return{x:e.pageX-((null!==(n=i&&i.scrollX)&&void 0!==n?n:0)+o.left),y:e.pageY-((null!==(r=i&&i.scrollY)&&void 0!==r?r:0)+o.top)}}var jn=function(){function e(t){f(this,e),this.lastTouch_=null,this.onDocumentMouseMove_=this.onDocumentMouseMove_.bind(this),this.onDocumentMouseUp_=this.onDocumentMouseUp_.bind(this),this.onMouseDown_=this.onMouseDown_.bind(this),this.onTouchEnd_=this.onTouchEnd_.bind(this),this.onTouchMove_=this.onTouchMove_.bind(this),this.onTouchStart_=this.onTouchStart_.bind(this),this.elem_=t,this.emitter=new D,t.addEventListener("touchstart",this.onTouchStart_,{passive:!1}),t.addEventListener("touchmove",this.onTouchMove_,{passive:!0}),t.addEventListener("touchend",this.onTouchEnd_),t.addEventListener("mousedown",this.onMouseDown_)}return h(e,[{key:"computePosition_",value:function(e){var t=this.elem_.getBoundingClientRect();return{bounds:{width:t.width,height:t.height},point:e?{x:e.x,y:e.y}:null}}},{key:"onMouseDown_",value:function(e){var t;e.preventDefault(),null===(t=e.currentTarget)||void 0===t||t.focus();var n=this.elem_.ownerDocument;n.addEventListener("mousemove",this.onDocumentMouseMove_),n.addEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(Dn(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}},{key:"onDocumentMouseMove_",value:function(e){this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(Dn(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}},{key:"onDocumentMouseUp_",value:function(e){var t=this.elem_.ownerDocument;t.removeEventListener("mousemove",this.onDocumentMouseMove_),t.removeEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(Dn(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}},{key:"onTouchStart_",value:function(e){e.preventDefault();var t=e.targetTouches.item(0),n=this.elem_.getBoundingClientRect();this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-n.left,y:t.clientY-n.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}},{key:"onTouchMove_",value:function(e){var t=e.targetTouches.item(0),n=this.elem_.getBoundingClientRect();this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-n.left,y:t.clientY-n.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}},{key:"onTouchEnd_",value:function(e){var t,n=null!==(t=e.targetTouches.item(0))&&void 0!==t?t:this.lastTouch_,r=this.elem_.getBoundingClientRect();this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(n?{x:n.clientX-r.left,y:n.clientY-r.top}:void 0),sender:this,shiftKey:e.shiftKey})}}]),e}(),Ln=Ge("txt"),Tn=function(){function e(t,n){f(this,e),this.onChange_=this.onChange_.bind(this),this.props_=n.props,this.props_.emitter.on("change",this.onChange_),this.element=t.createElement("div"),this.element.classList.add(Ln(),Ln(void 0,"num")),n.arrayPosition&&this.element.classList.add(Ln(void 0,n.arrayPosition)),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("input");r.classList.add(Ln("i")),r.type="text",n.viewProps.bindDisabled(r),this.element.appendChild(r),this.inputElement=r,this.onDraggingChange_=this.onDraggingChange_.bind(this),this.dragging_=n.dragging,this.dragging_.emitter.on("change",this.onDraggingChange_),this.element.classList.add(Ln()),this.inputElement.classList.add(Ln("i"));var i=t.createElement("div");i.classList.add(Ln("k")),this.element.appendChild(i),this.knobElement=i;var o=t.createElementNS(Le,"svg");o.classList.add(Ln("g")),this.knobElement.appendChild(o);var a=t.createElementNS(Le,"path");a.classList.add(Ln("gb")),o.appendChild(a),this.guideBodyElem_=a;var s=t.createElementNS(Le,"path");s.classList.add(Ln("gh")),o.appendChild(s),this.guideHeadElem_=s;var l=t.createElement("div");l.classList.add(Ge("tt")()),this.knobElement.appendChild(l),this.tooltipElem_=l,n.value.emitter.on("change",this.onChange_),this.value=n.value,this.refresh()}return h(e,[{key:"onDraggingChange_",value:function(e){if(null!==e.rawValue){this.element.classList.add(Ln(void 0,"drg"));var t=e.rawValue/this.props_.get("pointerScale"),n=t+(t>0?-1:t<0?1:0),r=le(-n,-4,4);this.guideHeadElem_.setAttributeNS(null,"d",["M ".concat(n+r,",0 L").concat(n,",4 L").concat(n+r,",8"),"M ".concat(t,",-1 L").concat(t,",9")].join(" ")),this.guideBodyElem_.setAttributeNS(null,"d","M 0,4 L".concat(t,",4"));var i=this.props_.get("formatter");this.tooltipElem_.textContent=i(this.value.rawValue),this.tooltipElem_.style.left="".concat(t,"px")}else this.element.classList.remove(Ln(void 0,"drg"))}},{key:"refresh",value:function(){var e=this.props_.get("formatter");this.inputElement.value=e(this.value.rawValue)}},{key:"onChange_",value:function(){this.refresh()}}]),e}(),Mn=function(){function e(t,n){var r;f(this,e),this.originRawValue_=0,this.onInputChange_=this.onInputChange_.bind(this),this.onInputKeyDown_=this.onInputKeyDown_.bind(this),this.onInputKeyUp_=this.onInputKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.parser_=n.parser,this.props=n.props,this.sliderProps_=null!==(r=n.sliderProps)&&void 0!==r?r:null,this.value=n.value,this.viewProps=n.viewProps,this.dragging_=M(null),this.view=new Tn(t,{arrayPosition:n.arrayPosition,dragging:this.dragging_,props:this.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.inputElement.addEventListener("keydown",this.onInputKeyDown_),this.view.inputElement.addEventListener("keyup",this.onInputKeyUp_);var i=new jn(this.view.knobElement);i.emitter.on("down",this.onPointerDown_),i.emitter.on("move",this.onPointerMove_),i.emitter.on("up",this.onPointerUp_)}return h(e,[{key:"constrainValue_",value:function(e){var t,n,r=null===(t=this.sliderProps_)||void 0===t?void 0:t.get("min"),i=null===(n=this.sliderProps_)||void 0===n?void 0:n.get("max"),o=e;return void 0!==r&&(o=Math.max(o,r)),void 0!==i&&(o=Math.min(o,i)),o}},{key:"onInputChange_",value:function(e){var t=_(e.currentTarget).value,n=this.parser_(t);x(n)||(this.value.rawValue=this.constrainValue_(n)),this.view.refresh()}},{key:"onInputKeyDown_",value:function(e){var t=An(this.props.get("keyScale"),Vn(e));0!==t&&this.value.setRawValue(this.constrainValue_(this.value.rawValue+t),{forceEmit:!1,last:!1})}},{key:"onInputKeyUp_",value:function(e){0!==An(this.props.get("keyScale"),Vn(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}},{key:"onPointerDown_",value:function(){this.originRawValue_=this.value.rawValue,this.dragging_.rawValue=0}},{key:"computeDraggingValue_",value:function(e){if(!e.point)return null;var t=e.point.x-e.bounds.width/2;return this.constrainValue_(this.originRawValue_+t*this.props.get("pointerScale"))}},{key:"onPointerMove_",value:function(e){var t=this.computeDraggingValue_(e.data);null!==t&&(this.value.setRawValue(t,{forceEmit:!1,last:!1}),this.dragging_.rawValue=this.value.rawValue-this.originRawValue_)}},{key:"onPointerUp_",value:function(e){var t=this.computeDraggingValue_(e.data);null!==t&&(this.value.setRawValue(t,{forceEmit:!0,last:!0}),this.dragging_.rawValue=null)}}]),e}(),Bn=Ge("sld"),zn=function(){function e(t,n){f(this,e),this.onChange_=this.onChange_.bind(this),this.props_=n.props,this.props_.emitter.on("change",this.onChange_),this.element=t.createElement("div"),this.element.classList.add(Bn()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("div");r.classList.add(Bn("t")),n.viewProps.bindTabIndex(r),this.element.appendChild(r),this.trackElement=r;var i=t.createElement("div");i.classList.add(Bn("k")),this.trackElement.appendChild(i),this.knobElement=i,n.value.emitter.on("change",this.onChange_),this.value=n.value,this.update_()}return h(e,[{key:"update_",value:function(){var e=le(ae(this.value.rawValue,this.props_.get("min"),this.props_.get("max"),0,100),0,100);this.knobElement.style.width="".concat(e,"%")}},{key:"onChange_",value:function(){this.update_()}}]),e}(),In=function(){function e(t,n){f(this,e),this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDownOrMove_=this.onPointerDownOrMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=n.value,this.viewProps=n.viewProps,this.props=n.props,this.view=new zn(t,{props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new jn(this.view.trackElement),this.ptHandler_.emitter.on("down",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("move",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.trackElement.addEventListener("keydown",this.onKeyDown_),this.view.trackElement.addEventListener("keyup",this.onKeyUp_)}return h(e,[{key:"handlePointerEvent_",value:function(e,t){e.point&&this.value.setRawValue(ae(le(e.point.x,0,e.bounds.width),0,e.bounds.width,this.props.get("min"),this.props.get("max")),t)}},{key:"onPointerDownOrMove_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerUp_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}},{key:"onKeyDown_",value:function(e){var t=An(this.props.get("keyScale"),On(e));0!==t&&this.value.setRawValue(this.value.rawValue+t,{forceEmit:!1,last:!1})}},{key:"onKeyUp_",value:function(e){0!==An(this.props.get("keyScale"),On(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}]),e}(),Fn=Ge("sldtxt"),Rn=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(Fn());var r=t.createElement("div");r.classList.add(Fn("s")),this.sliderView_=n.sliderView,r.appendChild(this.sliderView_.element),this.element.appendChild(r);var i=t.createElement("div");i.classList.add(Fn("t")),this.textView_=n.textView,i.appendChild(this.textView_.element),this.element.appendChild(i)}),Nn=function(){function e(t,n){f(this,e),this.value=n.value,this.viewProps=n.viewProps,this.sliderC_=new In(t,{props:n.sliderProps,value:n.value,viewProps:this.viewProps}),this.textC_=new Mn(t,{parser:n.parser,props:n.textProps,sliderProps:n.sliderProps,value:n.value,viewProps:n.viewProps}),this.view=new Rn(t,{sliderView:this.sliderC_.view,textView:this.textC_.view})}return h(e,[{key:"sliderController",get:function(){return this.sliderC_}},{key:"textController",get:function(){return this.textC_}},{key:"importProps",value:function(e){var t=this;return Oe(e,null,function(e){return{max:e.required.number,min:e.required.number}},function(e){var n=t.sliderC_.props;return n.set("max",e.max),n.set("min",e.min),!0})}},{key:"exportProps",value:function(){var e=this.sliderC_.props;return Se(null,{max:e.get("max"),min:e.get("min")})}}]),e}();function Un(e){return{sliderProps:new B({keyScale:e.keyScale,max:e.max,min:e.min}),textProps:new B({formatter:M(e.formatter),keyScale:e.keyScale,pointerScale:M(e.pointerScale)})}}var Kn={containerUnitSize:"cnt-usz"};function qn(e){return"--".concat(Kn[e])}function Hn(e){return ve(e)}function Gn(e){if(C(e))return Ve(e,Hn)}function Wn(e,t){if(e){var n=[],r=fe(e,t);r&&n.push(r);var i=de(e);return i&&n.push(i),new on(n)}}function Yn(e){if("inline"===e||"popup"===e)return e}function Qn(e,t){e.write(t)}var Xn=Ge("ckb"),$n=function(){function e(t,n){f(this,e),this.onValueChange_=this.onValueChange_.bind(this),this.element=t.createElement("div"),this.element.classList.add(Xn()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("label");r.classList.add(Xn("l")),this.element.appendChild(r),this.labelElement=r;var i=t.createElement("input");i.classList.add(Xn("i")),i.type="checkbox",this.labelElement.appendChild(i),this.inputElement=i,n.viewProps.bindDisabled(this.inputElement);var o=t.createElement("div");o.classList.add(Xn("w")),this.labelElement.appendChild(o);var a=Ie(t,"check");o.appendChild(a),n.value.emitter.on("change",this.onValueChange_),this.value=n.value,this.update_()}return h(e,[{key:"update_",value:function(){this.inputElement.checked=this.value.rawValue}},{key:"onValueChange_",value:function(){this.update_()}}]),e}(),Jn=function(){function e(t,n){f(this,e),this.onInputChange_=this.onInputChange_.bind(this),this.onLabelMouseDown_=this.onLabelMouseDown_.bind(this),this.value=n.value,this.viewProps=n.viewProps,this.view=new $n(t,{value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.labelElement.addEventListener("mousedown",this.onLabelMouseDown_)}return h(e,[{key:"onInputChange_",value:function(e){var t=_(e.currentTarget);this.value.rawValue=t.checked,e.preventDefault(),e.stopPropagation()}},{key:"onLabelMouseDown_",value:function(e){e.preventDefault()}}]),e}();var Zn=gt({id:"input-bool",type:"input",accept:function(e,t){if("boolean"!=typeof e)return null;var n=Ve(t,function(e){return{options:e.optional.custom(ln),readonly:e.optional.constant(!1)}});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return wn},constraint:function(e){return t=e.params,n=[],(r=cn(t.options))&&n.push(r),new on(n);var t,n,r},writer:function(e){return Qn}},controller:function(e){var t=e.document,n=e.value,r=e.constraint,i=r&&an(r,sn);return i?new dn(t,{props:new B({options:i.values.value("options")}),value:n,viewProps:e.viewProps}):new Jn(t,{value:n,viewProps:e.viewProps})},api:function(e){return"boolean"!=typeof e.controller.value.rawValue?null:e.controller.valueController instanceof dn?new tn(e.controller):null}}),er=Ge("col"),tr=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(er()),n.foldable.bindExpandedClass(this.element,er(void 0,"expanded")),qe(n.foldable,"completed",ct(this.element,er(void 0,"cpl")));var r=t.createElement("div");r.classList.add(er("h")),this.element.appendChild(r);var i=t.createElement("div");i.classList.add(er("s")),r.appendChild(i),this.swatchElement=i;var o=t.createElement("div");if(o.classList.add(er("t")),r.appendChild(o),this.textElement=o,"inline"===n.pickerLayout){var a=t.createElement("div");a.classList.add(er("p")),this.element.appendChild(a),this.pickerElement=a}else this.pickerElement=null});function nr(e,t,n){var r,i,o,a=ue(e,360),s=le(t/100,0,1),l=le(n/100,0,1),u=l*s,c=u*(1-Math.abs(a/60%2-1)),p=l-u;return a>=0&&a<60?(r=u,i=c,o=0):a>=60&&a<120?(r=c,i=u,o=0):a>=120&&a<180?(r=0,i=u,o=c):a>=180&&a<240?(r=0,i=c,o=u):a>=240&&a<300?(r=c,i=0,o=u):(r=u,i=0,o=c),[255*(r+p),255*(i+p),255*(o+p)]}function rr(e){return[e[0],e[1],e[2]]}function ir(e,t){return[e[0],e[1],e[2],t]}var or={hsl:{hsl:function(e,t,n){return[e,t,n]},hsv:function(e,t,n){var r=n+t*(100-Math.abs(2*n-100))/200;return[e,0!==r?t*(100-Math.abs(2*n-100))/r:0,n+t*(100-Math.abs(2*n-100))/200]},rgb:function(e,t,n){var r,i,o,a=(e%360+360)%360,s=le(t/100,0,1),l=le(n/100,0,1),u=(1-Math.abs(2*l-1))*s,c=u*(1-Math.abs(a/60%2-1)),p=l-u/2;return a>=0&&a<60?(r=u,i=c,o=0):a>=60&&a<120?(r=c,i=u,o=0):a>=120&&a<180?(r=0,i=u,o=c):a>=180&&a<240?(r=0,i=c,o=u):a>=240&&a<300?(r=c,i=0,o=u):(r=u,i=0,o=c),[255*(r+p),255*(i+p),255*(o+p)]}},hsv:{hsl:function(e,t,n){var r=100-Math.abs(n*(200-t)/100-100);return[e,0!==r?t*n/r:0,n*(200-t)/200]},hsv:function(e,t,n){return[e,t,n]},rgb:nr},rgb:{hsl:function(e,t,n){var r=le(e/255,0,1),i=le(t/255,0,1),o=le(n/255,0,1),a=Math.max(r,i,o),s=Math.min(r,i,o),l=a-s,u=0,c=0,p=(s+a)/2;return 0!==l&&(c=l/(1-Math.abs(a+s-1)),u=(u=r===a?(i-o)/l:i===a?2+(o-r)/l:4+(r-i)/l)/6+(u<0?1:0)),[360*u,100*c,100*p]},hsv:function(e,t,n){var r=le(e/255,0,1),i=le(t/255,0,1),o=le(n/255,0,1),a=Math.max(r,i,o),s=a-Math.min(r,i,o);return[0===s?0:a===r?((i-o)/s%6+6)%6*60:a===i?60*((o-r)/s+2):60*((r-i)/s+4),100*(0===a?0:s/a),100*a]},rgb:function(e,t,n){return[e,t,n]}}};function ar(e,t){return["float"===t?1:"rgb"===e?255:360,"float"===t?1:"rgb"===e?255:100,"float"===t?1:"rgb"===e?255:100]}function sr(e,t,n){var r,i,o,a=ar(t,n);return["rgb"===t?le(e[0],0,a[0]):(i=e[0],o=a[0],i===o?o:ue(i,o)),le(e[1],0,a[1]),le(e[2],0,a[2]),le(null!==(r=e[3])&&void 0!==r?r:1,0,1)]}function lr(e,t,n,r){var i=ar(t,n),o=ar(t,r);return e.map(function(e,t){return e/i[t]*o[t]})}function ur(e,t,n){var r,i=lr(e,t.mode,t.type,"int");return lr((r=or[t.mode])[n.mode].apply(r,b(i)),n.mode,"int",n.type)}var cr=function(){function e(t,n){f(this,e),this.type="int",this.mode=n,this.comps_=sr(t,n,this.type)}return h(e,[{key:"getComponents",value:function(e){return ir(ur(rr(this.comps_),{mode:this.mode,type:this.type},{mode:null!==e&&void 0!==e?e:this.mode,type:this.type}),this.comps_[3])}},{key:"toRgbaObject",value:function(){var e=this.getComponents("rgb");return{r:e[0],g:e[1],b:e[2],a:e[3]}}}],[{key:"black",value:function(){return new e([0,0,0],"rgb")}}]),e}(),pr=Ge("colp"),fr=function(){function e(t,n){f(this,e),this.alphaViews_=null,this.element=t.createElement("div"),this.element.classList.add(pr()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("div");r.classList.add(pr("hsv"));var i=t.createElement("div");i.classList.add(pr("sv")),this.svPaletteView_=n.svPaletteView,i.appendChild(this.svPaletteView_.element),r.appendChild(i);var o=t.createElement("div");o.classList.add(pr("h")),this.hPaletteView_=n.hPaletteView,o.appendChild(this.hPaletteView_.element),r.appendChild(o),this.element.appendChild(r);var a=t.createElement("div");if(a.classList.add(pr("rgb")),this.textsView_=n.textsView,a.appendChild(this.textsView_.element),this.element.appendChild(a),n.alphaViews){this.alphaViews_={palette:n.alphaViews.palette,text:n.alphaViews.text};var s=t.createElement("div");s.classList.add(pr("a"));var l=t.createElement("div");l.classList.add(pr("ap")),l.appendChild(this.alphaViews_.palette.element),s.appendChild(l);var u=t.createElement("div");u.classList.add(pr("at")),u.appendChild(this.alphaViews_.text.element),s.appendChild(u),this.element.appendChild(s)}}return h(e,[{key:"allFocusableElements",get:function(){var e=[this.svPaletteView_.element,this.hPaletteView_.element,this.textsView_.modeSelectElement].concat(b(this.textsView_.inputViews.map(function(e){return e.inputElement})));return this.alphaViews_&&e.push(this.alphaViews_.palette.element,this.alphaViews_.text.inputElement),e}}]),e}();function dr(e){return"int"===e?"int":"float"===e?"float":void 0}function hr(e){return Ve(e,function(e){return{color:e.optional.object({alpha:e.optional.boolean,type:e.optional.custom(dr)}),expanded:e.optional.boolean,picker:e.optional.custom(Yn),readonly:e.optional.constant(!1)}})}function vr(e){return e?.1:1}function mr(e){var t;return null===(t=e.color)||void 0===t?void 0:t.type}var br=function(){function e(t,n){f(this,e),this.type="float",this.mode=n,this.comps_=sr(t,n,this.type)}return h(e,[{key:"getComponents",value:function(e){return ir(ur(rr(this.comps_),{mode:this.mode,type:this.type},{mode:null!==e&&void 0!==e?e:this.mode,type:this.type}),this.comps_[3])}},{key:"toRgbaObject",value:function(){var e=this.getComponents("rgb");return{r:e[0],g:e[1],b:e[2],a:e[3]}}}]),e}(),gr={int:function(e,t){return new cr(e,t)},float:function(e,t){return new br(e,t)}};function yr(e,t,n){return gr[n](e,t)}function wr(e,t){if(e.type===t)return e;if(function(e){return"int"===e.type}(e)&&"float"===t)return r=(n=e).getComponents(),i=ar(n.mode,"int"),new br([ae(r[0],0,i[0],0,1),ae(r[1],0,i[1],0,1),ae(r[2],0,i[2],0,1),r[3]],n.mode);var n,r,i;if(function(e){return"float"===e.type}(e)&&"int"===t)return function(e){var t=e.getComponents(),n=ar(e.mode,"int");return new cr([Math.round(ae(t[0],0,1,0,n[0])),Math.round(ae(t[1],0,1,0,n[1])),Math.round(ae(t[2],0,1,0,n[2])),t[3]],e.mode)}(e);throw O.shouldNeverHappen()}function _r(e,t){var n=e.match(/^(.+)%$/);return n?Math.min(.01*parseFloat(n[1])*t,t):Math.min(parseFloat(e),t)}var xr={deg:function(e){return e},grad:function(e){return 360*e/400},rad:function(e){return 360*e/(2*Math.PI)},turn:function(e){return 360*e}};function kr(e){var t=e.match(/^([0-9.]+?)(deg|grad|rad|turn)$/);if(!t)return parseFloat(e);var n=parseFloat(t[1]),r=t[2];return xr[r](n)}function Cr(e){var t=e.match(/^rgb\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;var n=[_r(t[1],255),_r(t[2],255),_r(t[3],255)];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])?null:n}function Pr(e){var t=Cr(e);return t?new cr(t,"rgb"):null}function Er(e){var t=e.match(/^rgba\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;var n=[_r(t[1],255),_r(t[2],255),_r(t[3],255),_r(t[4],1)];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])||isNaN(n[3])?null:n}function Ar(e){var t=Er(e);return t?new cr(t,"rgb"):null}function Vr(e){var t=e.match(/^hsl\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;var n=[kr(t[1]),_r(t[2],100),_r(t[3],100)];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])?null:n}function Or(e){var t=Vr(e);return t?new cr(t,"hsl"):null}function Sr(e){var t=e.match(/^hsla\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;var n=[kr(t[1]),_r(t[2],100),_r(t[3],100),_r(t[4],1)];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])||isNaN(n[3])?null:n}function Dr(e){var t=Sr(e);return t?new cr(t,"hsl"):null}function jr(e){var t=e.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(t)return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)];var n=e.match(/^(?:#|0x)([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return n?[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]:null}function Lr(e){var t=jr(e);return t?new cr(t,"rgb"):null}function Tr(e){var t=e.match(/^#?([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(t)return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),ae(parseInt(t[4]+t[4],16),0,255,0,1)];var n=e.match(/^(?:#|0x)?([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return n?[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16),ae(parseInt(n[4],16),0,255,0,1)]:null}function Mr(e){var t=Tr(e);return t?new cr(t,"rgb"):null}function Br(e){var t=e.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!t)return null;var n=[parseFloat(t[1]),parseFloat(t[2]),parseFloat(t[3])];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])?null:n}function zr(e){return function(t){var n=Br(t);return n?yr(n,"rgb",e):null}}function Ir(e){var t=e.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*a\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!t)return null;var n=[parseFloat(t[1]),parseFloat(t[2]),parseFloat(t[3]),parseFloat(t[4])];return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])||isNaN(n[3])?null:n}function Fr(e){return function(t){var n=Ir(t);return n?yr(n,"rgb",e):null}}var Rr=[{parser:jr,result:{alpha:!1,mode:"rgb",notation:"hex"}},{parser:Tr,result:{alpha:!0,mode:"rgb",notation:"hex"}},{parser:Cr,result:{alpha:!1,mode:"rgb",notation:"func"}},{parser:Er,result:{alpha:!0,mode:"rgb",notation:"func"}},{parser:Vr,result:{alpha:!1,mode:"hsl",notation:"func"}},{parser:Sr,result:{alpha:!0,mode:"hsl",notation:"func"}},{parser:Br,result:{alpha:!1,mode:"rgb",notation:"object"}},{parser:Ir,result:{alpha:!0,mode:"rgb",notation:"object"}}];function Nr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"int",n=function(e){return Rr.reduce(function(t,n){var r=n.parser,i=n.result;return t||(r(e)?i:null)},null)}(e);return n?"hex"===n.notation&&"float"!==t?Object.assign(Object.assign({},n),{type:"int"}):"func"===n.notation?Object.assign(Object.assign({},n),{type:t}):null:null}function Ur(e){var t=[Lr,Mr,Pr,Ar,Or,Dr];"int"===e&&t.push(zr("int"),Fr("int")),"float"===e&&t.push(zr("float"),Fr("float"));var n=function(e){return function(t){return e.reduce(function(e,n){return null!==e?e:n(t)},null)}}(t);return function(t){var r=n(t);return r?wr(r,e):null}}function Kr(e){var t=Ur("int");if("string"!=typeof e)return cr.black();var n=t(e);return null!==n&&void 0!==n?n:cr.black()}function qr(e){var t=le(Math.floor(e),0,255).toString(16);return 1===t.length?"0".concat(t):t}function Hr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",n=rr(e.getComponents("rgb")).map(qr).join("");return"".concat(t).concat(n)}function Gr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",n=e.getComponents("rgb"),r=[n[0],n[1],n[2],255*n[3]].map(qr).join("");return"".concat(t).concat(r)}function Wr(e){var t=oe(0),n=rr(wr(e,"int").getComponents("rgb")).map(function(e){return t(e)});return"rgb(".concat(n.join(", "),")")}function Yr(e){var t=oe(2),n=oe(0),r=wr(e,"int").getComponents("rgb").map(function(e,r){return(3===r?t:n)(e)});return"rgba(".concat(r.join(", "),")")}function Qr(e,t){var n=oe("float"===t?2:0),r=["r","g","b"],i=rr(wr(e,t).getComponents("rgb")).map(function(e,t){return"".concat(r[t],": ").concat(n(e))});return"{".concat(i.join(", "),"}")}function Xr(e,t){var n=oe(2),r=oe("float"===t?2:0),i=["r","g","b","a"],o=wr(e,t).getComponents("rgb").map(function(e,t){var o=3===t?n:r;return"".concat(i[t],": ").concat(o(e))});return"{".concat(o.join(", "),"}")}var $r=[{format:{alpha:!1,mode:"rgb",notation:"hex",type:"int"},stringifier:Hr},{format:{alpha:!0,mode:"rgb",notation:"hex",type:"int"},stringifier:Gr},{format:{alpha:!1,mode:"rgb",notation:"func",type:"int"},stringifier:Wr},{format:{alpha:!0,mode:"rgb",notation:"func",type:"int"},stringifier:Yr},{format:{alpha:!1,mode:"hsl",notation:"func",type:"int"},stringifier:function(e){var t=[oe(0),kn,kn],n=rr(wr(e,"int").getComponents("hsl")).map(function(e,n){return t[n](e)});return"hsl(".concat(n.join(", "),")")}},{format:{alpha:!0,mode:"hsl",notation:"func",type:"int"},stringifier:function(e){var t=[oe(0),kn,kn,oe(2)],n=wr(e,"int").getComponents("hsl").map(function(e,n){return t[n](e)});return"hsla(".concat(n.join(", "),")")}}].concat(b(["int","float"].reduce(function(e,t){return[].concat(b(e),[{format:{alpha:!1,mode:"rgb",notation:"object",type:t},stringifier:function(e){return function(t){return Qr(t,e)}}(t)},{format:{alpha:!0,mode:"rgb",notation:"object",type:t},stringifier:function(e){return function(t){return Xr(t,e)}}(t)}])},[])));function Jr(e){return $r.reduce(function(t,n){return t||(r=n.format,i=e,r.alpha===i.alpha&&r.mode===i.mode&&r.notation===i.notation&&r.type===i.type?n.stringifier:null);var r,i},null)}var Zr=Ge("apl"),ei=function(){function e(t,n){f(this,e),this.onValueChange_=this.onValueChange_.bind(this),this.value=n.value,this.value.emitter.on("change",this.onValueChange_),this.element=t.createElement("div"),this.element.classList.add(Zr()),n.viewProps.bindClassModifiers(this.element),n.viewProps.bindTabIndex(this.element);var r=t.createElement("div");r.classList.add(Zr("b")),this.element.appendChild(r);var i=t.createElement("div");i.classList.add(Zr("c")),r.appendChild(i),this.colorElem_=i;var o=t.createElement("div");o.classList.add(Zr("m")),this.element.appendChild(o),this.markerElem_=o;var a=t.createElement("div");a.classList.add(Zr("p")),this.markerElem_.appendChild(a),this.previewElem_=a,this.update_()}return h(e,[{key:"update_",value:function(){var e=this.value.rawValue,t=e.getComponents("rgb"),n=new cr([t[0],t[1],t[2],0],"rgb"),r=new cr([t[0],t[1],t[2],255],"rgb"),i=["to right",Yr(n),Yr(r)];this.colorElem_.style.background="linear-gradient(".concat(i.join(","),")"),this.previewElem_.style.backgroundColor=Yr(e);var o=ae(t[3],0,1,0,100);this.markerElem_.style.left="".concat(o,"%")}},{key:"onValueChange_",value:function(){this.update_()}}]),e}(),ti=function(){function e(t,n){f(this,e),this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=n.value,this.viewProps=n.viewProps,this.view=new ei(t,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new jn(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}return h(e,[{key:"handlePointerEvent_",value:function(e,t){if(e.point){var n=e.point.x/e.bounds.width,r=i(this.value.rawValue.getComponents("hsv"),3),o=r[0],a=r[1],s=r[2];this.value.setRawValue(new cr([o,a,s,n],"hsv"),t)}}},{key:"onPointerDown_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerMove_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerUp_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}},{key:"onKeyDown_",value:function(e){var t=An(vr(!0),On(e));if(0!==t){var n=i(this.value.rawValue.getComponents("hsv"),4),r=n[0],o=n[1],a=n[2],s=n[3];this.value.setRawValue(new cr([r,o,a,s+t],"hsv"),{forceEmit:!1,last:!1})}}},{key:"onKeyUp_",value:function(e){0!==An(vr(!0),On(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}]),e}(),ni=Ge("coltxt");var ri=function(){function e(t,n){var r=this;f(this,e),this.element=t.createElement("div"),this.element.classList.add(ni()),n.viewProps.bindClassModifiers(this.element);var i=t.createElement("div");i.classList.add(ni("m")),this.modeElem_=function(e){var t=e.createElement("select");return t.appendChild([{text:"RGB",value:"rgb"},{text:"HSL",value:"hsl"},{text:"HSV",value:"hsv"},{text:"HEX",value:"hex"}].reduce(function(t,n){var r=e.createElement("option");return r.textContent=n.text,r.value=n.value,t.appendChild(r),t},e.createDocumentFragment())),t}(t),this.modeElem_.classList.add(ni("ms")),i.appendChild(this.modeSelectElement),n.viewProps.bindDisabled(this.modeElem_);var o=t.createElement("div");o.classList.add(ni("mm")),o.appendChild(Ie(t,"dropdown")),i.appendChild(o),this.element.appendChild(i);var a=t.createElement("div");a.classList.add(ni("w")),this.element.appendChild(a),this.inputsElem_=a,this.inputViews_=n.inputViews,this.applyInputViews_(),Ke(n.mode,function(e){r.modeElem_.value=e})}return h(e,[{key:"modeSelectElement",get:function(){return this.modeElem_}},{key:"inputViews",get:function(){return this.inputViews_},set:function(e){this.inputViews_=e,this.applyInputViews_()}},{key:"applyInputViews_",value:function(){var e=this;Ne(this.inputsElem_);var t=this.element.ownerDocument;this.inputViews_.forEach(function(n){var r=t.createElement("div");r.classList.add(ni("c")),r.appendChild(n.element),e.inputsElem_.appendChild(r)})}}]),e}();function ii(e,t,n){return new Mn(e,{arrayPosition:0===n?"fst":2===n?"lst":"mid",parser:t.parser,props:B.fromObject({formatter:(r=t.colorType,oe("float"===r?2:0)),keyScale:vr(!1),pointerScale:"float"===t.colorType?.01:1}),value:M(0,{constraint:function(e,t,n){var r=ar(e,t)[n];return new z({min:0,max:r})}(t.colorMode,t.colorType,n)}),viewProps:t.viewProps});var r}var oi=function(){function e(t,n){f(this,e),this.onModeSelectChange_=this.onModeSelectChange_.bind(this),this.colorType_=n.colorType,this.value=n.value,this.viewProps=n.viewProps,this.colorMode=M(this.value.rawValue.mode),this.ccs_=this.createComponentControllers_(t),this.view=new ri(t,{mode:this.colorMode,inputViews:[this.ccs_[0].view,this.ccs_[1].view,this.ccs_[2].view],viewProps:this.viewProps}),this.view.modeSelectElement.addEventListener("change",this.onModeSelectChange_)}return h(e,[{key:"createComponentControllers_",value:function(e){var t=this.colorMode.rawValue;return function(e){return"hex"!==e}(t)?function(e,t){var n={colorMode:t.colorMode,colorType:t.colorType,parser:ne,viewProps:t.viewProps};return[0,1,2].map(function(r){var i=ii(e,n,r);return En({primary:t.value,secondary:i.value,forward:function(e){return wr(e,t.colorType).getComponents(t.colorMode)[r]},backward:function(e,n){var i=t.colorMode,o=wr(e,t.colorType).getComponents(i);return o[r]=n,wr(yr(ir(rr(o),o[3]),i,t.colorType),"int")}}),i})}(e,{colorMode:t,colorType:this.colorType_,value:this.value,viewProps:this.viewProps}):function(e,t){var n=new yn(e,{parser:Ur("int"),props:B.fromObject({formatter:Hr}),value:M(cr.black()),viewProps:t.viewProps});return En({primary:t.value,secondary:n.value,forward:function(e){return new cr(rr(e.getComponents()),e.mode)},backward:function(e,t){return new cr(ir(rr(t.getComponents(e.mode)),e.getComponents()[3]),e.mode)}}),[n]}(e,{value:this.value,viewProps:this.viewProps})}},{key:"onModeSelectChange_",value:function(e){var t=e.currentTarget;this.colorMode.rawValue=t.value,this.ccs_=this.createComponentControllers_(this.view.element.ownerDocument),this.view.inputViews=this.ccs_.map(function(e){return e.view})}}]),e}(),ai=Ge("hpl"),si=function(){function e(t,n){f(this,e),this.onValueChange_=this.onValueChange_.bind(this),this.value=n.value,this.value.emitter.on("change",this.onValueChange_),this.element=t.createElement("div"),this.element.classList.add(ai()),n.viewProps.bindClassModifiers(this.element),n.viewProps.bindTabIndex(this.element);var r=t.createElement("div");r.classList.add(ai("c")),this.element.appendChild(r);var i=t.createElement("div");i.classList.add(ai("m")),this.element.appendChild(i),this.markerElem_=i,this.update_()}return h(e,[{key:"update_",value:function(){var e=i(this.value.rawValue.getComponents("hsv"),1)[0];this.markerElem_.style.backgroundColor=Wr(new cr([e,100,100],"hsv"));var t=ae(e,0,360,0,100);this.markerElem_.style.left="".concat(t,"%")}},{key:"onValueChange_",value:function(){this.update_()}}]),e}(),li=function(){function e(t,n){f(this,e),this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=n.value,this.viewProps=n.viewProps,this.view=new si(t,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new jn(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}return h(e,[{key:"handlePointerEvent_",value:function(e,t){if(e.point){var n=ae(le(e.point.x,0,e.bounds.width),0,e.bounds.width,0,360),r=i(this.value.rawValue.getComponents("hsv"),4),o=r[1],a=r[2],s=r[3];this.value.setRawValue(new cr([n,o,a,s],"hsv"),t)}}},{key:"onPointerDown_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerMove_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerUp_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}},{key:"onKeyDown_",value:function(e){var t=An(vr(!1),On(e));if(0!==t){var n=i(this.value.rawValue.getComponents("hsv"),4),r=n[0],o=n[1],a=n[2],s=n[3];this.value.setRawValue(new cr([r+t,o,a,s],"hsv"),{forceEmit:!1,last:!1})}}},{key:"onKeyUp_",value:function(e){0!==An(vr(!1),On(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}]),e}(),ui=Ge("svp"),ci=64,pi=function(){function e(t,n){f(this,e),this.onValueChange_=this.onValueChange_.bind(this),this.value=n.value,this.value.emitter.on("change",this.onValueChange_),this.element=t.createElement("div"),this.element.classList.add(ui()),n.viewProps.bindClassModifiers(this.element),n.viewProps.bindTabIndex(this.element);var r=t.createElement("canvas");r.height=ci,r.width=ci,r.classList.add(ui("c")),this.element.appendChild(r),this.canvasElement=r;var i=t.createElement("div");i.classList.add(ui("m")),this.element.appendChild(i),this.markerElem_=i,this.update_()}return h(e,[{key:"update_",value:function(){var e,t,n=(e=this.canvasElement,(t=e.ownerDocument.defaultView)&&"document"in t?e.getContext("2d",{willReadFrequently:!0}):null);if(n){for(var r=this.value.rawValue.getComponents("hsv"),i=this.canvasElement.width,o=this.canvasElement.height,a=n.getImageData(0,0,i,o),s=a.data,l=0;l>>0}function wi(e){return"number"!=typeof e?cr.black():new cr([(t=e)>>16&255,t>>8&255,255&t],"rgb");var t}function _i(e){return"number"!=typeof e?cr.black():new cr([(t=e)>>24&255,t>>16&255,t>>8&255,ae(255&t,0,255,0,1)],"rgb");var t}function xi(e,t){return"object"===w(e)&&!x(e)&&(t in e&&"number"==typeof e[t])}function ki(e){return xi(e,"r")&&xi(e,"g")&&xi(e,"b")}function Ci(e){return ki(e)&&xi(e,"a")}function Pi(e){return ki(e)}function Ei(e,t){if(e.mode!==t.mode)return!1;if(e.type!==t.type)return!1;for(var n=e.getComponents(),r=t.getComponents(),i=0;i0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;f(this,e),this.x=t,this.y=n}return h(e,[{key:"getComponents",value:function(){return[this.x,this.y]}},{key:"toObject",value:function(){return{x:this.x,y:this.y}}}],[{key:"isObject",value:function(e){if(x(e))return!1;var t=e.x,n=e.y;return"number"==typeof t&&"number"==typeof n}},{key:"equals",value:function(e,t){return e.x===t.x&&e.y===t.y}}]),e}(),Ri={toComponents:function(e){return e.getComponents()},fromComponents:function(e){return r(Fi,b(e))}},Ni=Ge("p2d"),Ui=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(Ni()),n.viewProps.bindClassModifiers(this.element),Ke(n.expanded,ct(this.element,Ni(void 0,"expanded")));var r=t.createElement("div");r.classList.add(Ni("h")),this.element.appendChild(r);var i=t.createElement("button");i.classList.add(Ni("b")),i.appendChild(Ie(t,"p2dpad")),n.viewProps.bindDisabled(i),r.appendChild(i),this.buttonElement=i;var o=t.createElement("div");if(o.classList.add(Ni("t")),r.appendChild(o),this.textElement=o,"inline"===n.pickerLayout){var a=t.createElement("div");a.classList.add(Ni("p")),this.element.appendChild(a),this.pickerElement=a}else this.pickerElement=null}),Ki=Ge("p2dp"),qi=function(){function e(t,n){f(this,e),this.onFoldableChange_=this.onFoldableChange_.bind(this),this.onPropsChange_=this.onPropsChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.props_=n.props,this.props_.emitter.on("change",this.onPropsChange_),this.element=t.createElement("div"),this.element.classList.add(Ki()),"popup"===n.layout&&this.element.classList.add(Ki(void 0,"p")),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("div");r.classList.add(Ki("p")),n.viewProps.bindTabIndex(r),this.element.appendChild(r),this.padElement=r;var i=t.createElementNS(Le,"svg");i.classList.add(Ki("g")),this.padElement.appendChild(i),this.svgElem_=i;var o=t.createElementNS(Le,"line");o.classList.add(Ki("ax")),o.setAttributeNS(null,"x1","0"),o.setAttributeNS(null,"y1","50%"),o.setAttributeNS(null,"x2","100%"),o.setAttributeNS(null,"y2","50%"),this.svgElem_.appendChild(o);var a=t.createElementNS(Le,"line");a.classList.add(Ki("ax")),a.setAttributeNS(null,"x1","50%"),a.setAttributeNS(null,"y1","0"),a.setAttributeNS(null,"x2","50%"),a.setAttributeNS(null,"y2","100%"),this.svgElem_.appendChild(a);var s=t.createElementNS(Le,"line");s.classList.add(Ki("l")),s.setAttributeNS(null,"x1","50%"),s.setAttributeNS(null,"y1","50%"),this.svgElem_.appendChild(s),this.lineElem_=s;var l=t.createElement("div");l.classList.add(Ki("m")),this.padElement.appendChild(l),this.markerElem_=l,n.value.emitter.on("change",this.onValueChange_),this.value=n.value,this.update_()}return h(e,[{key:"allFocusableElements",get:function(){return[this.padElement]}},{key:"update_",value:function(){var e=i(this.value.rawValue.getComponents(),2),t=e[0],n=e[1],r=this.props_.get("max"),o=ae(t,-r,+r,0,100),a=ae(n,-r,+r,0,100),s=this.props_.get("invertsY")?100-a:a;this.lineElem_.setAttributeNS(null,"x2","".concat(o,"%")),this.lineElem_.setAttributeNS(null,"y2","".concat(s,"%")),this.markerElem_.style.left="".concat(o,"%"),this.markerElem_.style.top="".concat(s,"%")}},{key:"onValueChange_",value:function(){this.update_()}},{key:"onPropsChange_",value:function(){this.update_()}},{key:"onFoldableChange_",value:function(){this.update_()}}]),e}();function Hi(e,t,n){return[An(t[0],On(e)),An(t[1],Vn(e))*(n?1:-1)]}var Gi=function(){function e(t,n){f(this,e),this.onPadKeyDown_=this.onPadKeyDown_.bind(this),this.onPadKeyUp_=this.onPadKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.props=n.props,this.value=n.value,this.viewProps=n.viewProps,this.view=new qi(t,{layout:n.layout,props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new jn(this.view.padElement),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.padElement.addEventListener("keydown",this.onPadKeyDown_),this.view.padElement.addEventListener("keyup",this.onPadKeyUp_)}return h(e,[{key:"handlePointerEvent_",value:function(e,t){if(e.point){var n=this.props.get("max"),r=ae(e.point.x,0,e.bounds.width,-n,+n),i=ae(this.props.get("invertsY")?e.bounds.height-e.point.y:e.point.y,0,e.bounds.height,-n,+n);this.value.setRawValue(new Fi(r,i),t)}}},{key:"onPointerDown_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerMove_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}},{key:"onPointerUp_",value:function(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}},{key:"onPadKeyDown_",value:function(e){Sn(e.key)&&e.preventDefault();var t=i(Hi(e,[this.props.get("xKeyScale"),this.props.get("yKeyScale")],this.props.get("invertsY")),2),n=t[0],r=t[1];0===n&&0===r||this.value.setRawValue(new Fi(this.value.rawValue.x+n,this.value.rawValue.y+r),{forceEmit:!1,last:!1})}},{key:"onPadKeyUp_",value:function(e){var t=i(Hi(e,[this.props.get("xKeyScale"),this.props.get("yKeyScale")],this.props.get("invertsY")),2),n=t[0],r=t[1];0===n&&0===r||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}]),e}(),Wi=function(){function e(t,n){var r,i,o=this;f(this,e),this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.onPadButtonBlur_=this.onPadButtonBlur_.bind(this),this.onPadButtonClick_=this.onPadButtonClick_.bind(this),this.value=n.value,this.viewProps=n.viewProps,this.foldable_=Ot.create(n.expanded),this.popC_="popup"===n.pickerLayout?new mn(t,{viewProps:this.viewProps}):null;var a=new Gi(t,{layout:n.pickerLayout,props:new B({invertsY:M(n.invertsY),max:M(n.max),xKeyScale:n.axes[0].textProps.value("keyScale"),yKeyScale:n.axes[1].textProps.value("keyScale")}),value:this.value,viewProps:this.viewProps});a.view.allFocusableElements.forEach(function(e){e.addEventListener("blur",o.onPopupChildBlur_),e.addEventListener("keydown",o.onPopupChildKeydown_)}),this.pickerC_=a,this.textC_=new Bi(t,{assembly:Ri,axes:n.axes,parser:n.parser,value:this.value,viewProps:this.viewProps}),this.view=new Ui(t,{expanded:this.foldable_.value("expanded"),pickerLayout:n.pickerLayout,viewProps:this.viewProps}),this.view.textElement.appendChild(this.textC_.view.element),null===(r=this.view.buttonElement)||void 0===r||r.addEventListener("blur",this.onPadButtonBlur_),null===(i=this.view.buttonElement)||void 0===i||i.addEventListener("click",this.onPadButtonClick_),this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(this.pickerC_.view.element),En({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:function(e){return e},backward:function(e,t){return t}})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),Dt(this.foldable_,this.view.pickerElement))}return h(e,[{key:"textController",get:function(){return this.textC_}},{key:"onPadButtonBlur_",value:function(e){if(this.popC_){var t=this.view.element,n=_(e.relatedTarget);n&&t.contains(n)||(this.popC_.shows.rawValue=!1)}}},{key:"onPadButtonClick_",value:function(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()}},{key:"onPopupChildBlur_",value:function(e){if(this.popC_){var t=this.popC_.view.element,n=Ue(e);n&&t.contains(n)||n&&n===this.view.buttonElement&&!Me(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}}},{key:"onPopupChildKeydown_",value:function(e){this.popC_?"Escape"===e.key&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&"Escape"===e.key&&this.view.buttonElement.focus()}}]),e}();function Yi(e){return Fi.isObject(e)?new Fi(e.x,e.y):new Fi}function Qi(e,t){e.writeProperty("x",t.x),e.writeProperty("y",t.y)}function Xi(e,t){var n,r;if(!x(e.min)||!x(e.max))return Math.max(Math.abs(null!==(n=e.min)&&void 0!==n?n:0),Math.abs(null!==(r=e.max)&&void 0!==r?r:0));var i=ce(e);return Math.max(10*Math.abs(i),10*Math.abs(t))}var $i=gt({id:"input-point2d",type:"input",accept:function(e,t){if(!Fi.isObject(e))return null;var n=Ve(t,function(e){return Object.assign(Object.assign({},Hn(e)),{expanded:e.optional.boolean,picker:e.optional.custom(Yn),readonly:e.optional.constant(!1),x:e.optional.custom(Gn),y:e.optional.object(Object.assign(Object.assign({},Hn(e)),{inverted:e.optional.boolean}))})});return n?{initialValue:e,params:n}:null},binding:{reader:function(){return Yi},constraint:function(e){return t=e.params,n=e.initialValue,new Li({assembly:Ri,components:[Wn(Object.assign(Object.assign({},t),t.x),n.x),Wn(Object.assign(Object.assign({},t),t.y),n.y)]});var t,n},equals:Fi.equals,writer:function(){return Qi}},controller:function(e){var t,n,r=e.document,i=e.value,o=e.constraint,a=[e.params.x,e.params.y];return new Wi(r,{axes:i.rawValue.getComponents().map(function(t,n){var r;return me({constraint:o.components[n],initialValue:t,params:E(e.params,null!==(r=a[n])&&void 0!==r?r:{})})}),expanded:null!==(t=e.params.expanded)&&void 0!==t&&t,invertsY:function(e){if(!("y"in e))return!1;var t=e.y;return!!t&&"inverted"in t&&!!t.inverted}(e.params),max:function(e,t){var n,r,i=Xi(E(e,null!==(n=e.x)&&void 0!==n?n:{}),t.x),o=Xi(E(e,null!==(r=e.y)&&void 0!==r?r:{}),t.y);return Math.max(i,o)}(e.params,i.rawValue),parser:ne,pickerLayout:null!==(n=e.params.picker)&&void 0!==n?n:"popup",value:i,viewProps:e.viewProps})}}),Ji=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;f(this,e),this.x=t,this.y=n,this.z=r}return h(e,[{key:"getComponents",value:function(){return[this.x,this.y,this.z]}},{key:"toObject",value:function(){return{x:this.x,y:this.y,z:this.z}}}],[{key:"isObject",value:function(e){if(x(e))return!1;var t=e.x,n=e.y,r=e.z;return"number"==typeof t&&"number"==typeof n&&"number"==typeof r}},{key:"equals",value:function(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z}}]),e}(),Zi={toComponents:function(e){return e.getComponents()},fromComponents:function(e){return r(Ji,b(e))}};function eo(e){return Ji.isObject(e)?new Ji(e.x,e.y,e.z):new Ji}function to(e,t){e.writeProperty("x",t.x),e.writeProperty("y",t.y),e.writeProperty("z",t.z)}var no=gt({id:"input-point3d",type:"input",accept:function(e,t){if(!Ji.isObject(e))return null;var n=Ve(t,function(e){return Object.assign(Object.assign({},Hn(e)),{readonly:e.optional.constant(!1),x:e.optional.custom(Gn),y:e.optional.custom(Gn),z:e.optional.custom(Gn)})});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return eo},constraint:function(e){return t=e.params,n=e.initialValue,new Li({assembly:Zi,components:[Wn(Object.assign(Object.assign({},t),t.x),n.x),Wn(Object.assign(Object.assign({},t),t.y),n.y),Wn(Object.assign(Object.assign({},t),t.z),n.z)]});var t,n},equals:Ji.equals,writer:function(e){return to}},controller:function(e){var t=e.value,n=e.constraint,r=[e.params.x,e.params.y,e.params.z];return new Bi(e.document,{assembly:Zi,axes:t.rawValue.getComponents().map(function(t,i){var o;return me({constraint:n.components[i],initialValue:t,params:E(e.params,null!==(o=r[i])&&void 0!==o?o:{})})}),parser:ne,value:t,viewProps:e.viewProps})}}),ro=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;f(this,e),this.x=t,this.y=n,this.z=r,this.w=i}return h(e,[{key:"getComponents",value:function(){return[this.x,this.y,this.z,this.w]}},{key:"toObject",value:function(){return{x:this.x,y:this.y,z:this.z,w:this.w}}}],[{key:"isObject",value:function(e){if(x(e))return!1;var t=e.x,n=e.y,r=e.z,i=e.w;return"number"==typeof t&&"number"==typeof n&&"number"==typeof r&&"number"==typeof i}},{key:"equals",value:function(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w}}]),e}(),io={toComponents:function(e){return e.getComponents()},fromComponents:function(e){return r(ro,b(e))}};function oo(e){return ro.isObject(e)?new ro(e.x,e.y,e.z,e.w):new ro}function ao(e,t){e.writeProperty("x",t.x),e.writeProperty("y",t.y),e.writeProperty("z",t.z),e.writeProperty("w",t.w)}var so=gt({id:"input-point4d",type:"input",accept:function(e,t){if(!ro.isObject(e))return null;var n=Ve(t,function(e){return Object.assign(Object.assign({},Hn(e)),{readonly:e.optional.constant(!1),w:e.optional.custom(Gn),x:e.optional.custom(Gn),y:e.optional.custom(Gn),z:e.optional.custom(Gn)})});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return oo},constraint:function(e){return t=e.params,n=e.initialValue,new Li({assembly:io,components:[Wn(Object.assign(Object.assign({},t),t.x),n.x),Wn(Object.assign(Object.assign({},t),t.y),n.y),Wn(Object.assign(Object.assign({},t),t.z),n.z),Wn(Object.assign(Object.assign({},t),t.w),n.w)]});var t,n},equals:ro.equals,writer:function(e){return ao}},controller:function(e){var t=e.value,n=e.constraint,r=[e.params.x,e.params.y,e.params.z,e.params.w];return new Bi(e.document,{assembly:io,axes:t.rawValue.getComponents().map(function(t,i){var o;return me({constraint:n.components[i],initialValue:t,params:E(e.params,null!==(o=r[i])&&void 0!==o?o:{})})}),parser:ne,value:t,viewProps:e.viewProps})}});var lo=gt({id:"input-string",type:"input",accept:function(e,t){if("string"!=typeof e)return null;var n=Ve(t,function(e){return{readonly:e.optional.constant(!1),options:e.optional.custom(ln)}});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return Cn},constraint:function(e){return t=e.params,n=[],(r=cn(t.options))&&n.push(r),new on(n);var t,n,r},writer:function(e){return Qn}},controller:function(e){var t=e.document,n=e.value,r=e.constraint,i=r&&an(r,sn);return i?new dn(t,{props:new B({options:i.values.value("options")}),value:n,viewProps:e.viewProps}):new yn(t,{parser:function(e){return e},props:B.fromObject({formatter:Pn}),value:n,viewProps:e.viewProps})},api:function(e){return"string"!=typeof e.controller.value.rawValue?null:e.controller.valueController instanceof dn?new tn(e.controller):null}}),uo={monitor:{defaultInterval:200,defaultRows:3}},co=Ge("mll"),po=function(){function e(t,n){f(this,e),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=n.formatter,this.element=t.createElement("div"),this.element.classList.add(co()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("textarea");r.classList.add(co("i")),r.style.height="calc(var(".concat(qn("containerUnitSize"),") * ").concat(n.rows,")"),r.readOnly=!0,n.viewProps.bindDisabled(r),this.element.appendChild(r),this.textareaElem_=r,n.value.emitter.on("change",this.onValueUpdate_),this.value=n.value,this.update_()}return h(e,[{key:"update_",value:function(){var e=this,t=this.textareaElem_,n=t.scrollTop===t.scrollHeight-t.clientHeight,r=[];this.value.rawValue.forEach(function(t){void 0!==t&&r.push(e.formatter_(t))}),t.textContent=r.join("\n"),n&&(t.scrollTop=t.scrollHeight)}},{key:"onValueUpdate_",value:function(){this.update_()}}]),e}(),fo=h(function e(t,n){f(this,e),this.value=n.value,this.viewProps=n.viewProps,this.view=new po(t,{formatter:n.formatter,rows:n.rows,value:this.value,viewProps:this.viewProps})}),ho=Ge("sgl"),vo=function(){function e(t,n){f(this,e),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=n.formatter,this.element=t.createElement("div"),this.element.classList.add(ho()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("input");r.classList.add(ho("i")),r.readOnly=!0,r.type="text",n.viewProps.bindDisabled(r),this.element.appendChild(r),this.inputElement=r,n.value.emitter.on("change",this.onValueUpdate_),this.value=n.value,this.update_()}return h(e,[{key:"update_",value:function(){var e=this.value.rawValue,t=e[e.length-1];this.inputElement.value=void 0!==t?this.formatter_(t):""}},{key:"onValueUpdate_",value:function(){this.update_()}}]),e}(),mo=h(function e(t,n){f(this,e),this.value=n.value,this.viewProps=n.viewProps,this.view=new vo(t,{formatter:n.formatter,value:this.value,viewProps:this.viewProps})}),bo=gt({id:"monitor-bool",type:"monitor",accept:function(e,t){if("boolean"!=typeof e)return null;var n=Ve(t,function(e){return{readonly:e.required.constant(!0),rows:e.optional.number}});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return wn}},controller:function(e){var t;return 1===e.value.rawValue.length?new mo(e.document,{formatter:_n,value:e.value,viewProps:e.viewProps}):new fo(e.document,{formatter:_n,rows:null!==(t=e.params.rows)&&void 0!==t?t:uo.monitor.defaultRows,value:e.value,viewProps:e.viewProps})}}),go=function(e){a(n,ke);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n,[{key:"max",get:function(){return this.controller.valueController.props.get("max")},set:function(e){this.controller.valueController.props.set("max",e)}},{key:"min",get:function(){return this.controller.valueController.props.get("min")},set:function(e){this.controller.valueController.props.set("min",e)}}]),n}(),yo=Ge("grl"),wo=function(){function e(t,n){f(this,e),this.onCursorChange_=this.onCursorChange_.bind(this),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.element=t.createElement("div"),this.element.classList.add(yo()),n.viewProps.bindClassModifiers(this.element),this.formatter_=n.formatter,this.props_=n.props,this.cursor_=n.cursor,this.cursor_.emitter.on("change",this.onCursorChange_);var r=t.createElementNS(Le,"svg");r.classList.add(yo("g")),r.style.height="calc(var(".concat(qn("containerUnitSize"),") * ").concat(n.rows,")"),this.element.appendChild(r),this.svgElem_=r;var i=t.createElementNS(Le,"polyline");this.svgElem_.appendChild(i),this.lineElem_=i;var o=t.createElement("div");o.classList.add(yo("t"),Ge("tt")()),this.element.appendChild(o),this.tooltipElem_=o,n.value.emitter.on("change",this.onValueUpdate_),this.value=n.value,this.update_()}return h(e,[{key:"graphElement",get:function(){return this.svgElem_}},{key:"update_",value:function(){var e=this.element,t=e.clientWidth,n=e.clientHeight,r=this.value.rawValue.length-1,i=this.props_.get("min"),o=this.props_.get("max"),a=[];this.value.rawValue.forEach(function(e,s){if(void 0!==e){var l=ae(s,0,r,0,t),u=ae(e,i,o,n,0);a.push([l,u].join(","))}}),this.lineElem_.setAttributeNS(null,"points",a.join(" "));var s=this.tooltipElem_,l=this.value.rawValue[this.cursor_.rawValue];if(void 0!==l){var u=ae(this.cursor_.rawValue,0,r,0,t),c=ae(l,i,o,n,0);s.style.left="".concat(u,"px"),s.style.top="".concat(c,"px"),s.textContent="".concat(this.formatter_(l)),s.classList.contains(yo("t","a"))||(s.classList.add(yo("t","a"),yo("t","in")),Te(s),s.classList.remove(yo("t","in")))}else s.classList.remove(yo("t","a"))}},{key:"onValueUpdate_",value:function(){this.update_()}},{key:"onCursorChange_",value:function(){this.update_()}}]),e}(),_o=function(){function e(t,n){if(f(this,e),this.onGraphMouseMove_=this.onGraphMouseMove_.bind(this),this.onGraphMouseLeave_=this.onGraphMouseLeave_.bind(this),this.onGraphPointerDown_=this.onGraphPointerDown_.bind(this),this.onGraphPointerMove_=this.onGraphPointerMove_.bind(this),this.onGraphPointerUp_=this.onGraphPointerUp_.bind(this),this.props=n.props,this.value=n.value,this.viewProps=n.viewProps,this.cursor_=M(-1),this.view=new wo(t,{cursor:this.cursor_,formatter:n.formatter,rows:n.rows,props:this.props,value:this.value,viewProps:this.viewProps}),Me(t)){var r=new jn(this.view.element);r.emitter.on("down",this.onGraphPointerDown_),r.emitter.on("move",this.onGraphPointerMove_),r.emitter.on("up",this.onGraphPointerUp_)}else this.view.element.addEventListener("mousemove",this.onGraphMouseMove_),this.view.element.addEventListener("mouseleave",this.onGraphMouseLeave_)}return h(e,[{key:"importProps",value:function(e){var t=this;return Oe(e,null,function(e){return{max:e.required.number,min:e.required.number}},function(e){return t.props.set("max",e.max),t.props.set("min",e.min),!0})}},{key:"exportProps",value:function(){return Se(null,{max:this.props.get("max"),min:this.props.get("min")})}},{key:"onGraphMouseLeave_",value:function(){this.cursor_.rawValue=-1}},{key:"onGraphMouseMove_",value:function(e){var t=this.view.element.clientWidth;this.cursor_.rawValue=Math.floor(ae(e.offsetX,0,t,0,this.value.rawValue.length))}},{key:"onGraphPointerDown_",value:function(e){this.onGraphPointerMove_(e)}},{key:"onGraphPointerMove_",value:function(e){e.data.point?this.cursor_.rawValue=Math.floor(ae(e.data.point.x,0,e.data.bounds.width,0,this.value.rawValue.length)):this.cursor_.rawValue=-1}},{key:"onGraphPointerUp_",value:function(){this.cursor_.rawValue=-1}}]),e}();function xo(e){return x(e.format)?oe(2):e.format}function ko(e){return"graph"===e.view}var Co=gt({id:"monitor-number",type:"monitor",accept:function(e,t){if("number"!=typeof e)return null;var n=Ve(t,function(e){return{format:e.optional.function,max:e.optional.number,min:e.optional.number,readonly:e.required.constant(!0),rows:e.optional.number,view:e.optional.string}});return n?{initialValue:e,params:n}:null},binding:{defaultBufferSize:function(e){return ko(e)?64:1},reader:function(e){return re}},controller:function(e){return ko(e.params)?function(e){var t,n,r;return new _o(e.document,{formatter:xo(e.params),rows:null!==(t=e.params.rows)&&void 0!==t?t:uo.monitor.defaultRows,props:B.fromObject({max:null!==(n=e.params.max)&&void 0!==n?n:100,min:null!==(r=e.params.min)&&void 0!==r?r:0}),value:e.value,viewProps:e.viewProps})}(e):function(e){var t;return 1===e.value.rawValue.length?new mo(e.document,{formatter:xo(e.params),value:e.value,viewProps:e.viewProps}):new fo(e.document,{formatter:xo(e.params),rows:null!==(t=e.params.rows)&&void 0!==t?t:uo.monitor.defaultRows,value:e.value,viewProps:e.viewProps})}(e)},api:function(e){return e.controller.valueController instanceof _o?new go(e.controller):null}}),Po=gt({id:"monitor-string",type:"monitor",accept:function(e,t){if("string"!=typeof e)return null;var n=Ve(t,function(e){return{multiline:e.optional.boolean,readonly:e.required.constant(!0),rows:e.optional.number}});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return Cn}},controller:function(e){var t,n=e.value;return n.rawValue.length>1||e.params.multiline?new fo(e.document,{formatter:Pn,rows:null!==(t=e.params.rows)&&void 0!==t?t:uo.monitor.defaultRows,value:n,viewProps:e.viewProps}):new mo(e.document,{formatter:Pn,value:n,viewProps:e.viewProps})}}),Eo=function(){function e(){f(this,e),this.map_=new Map}return h(e,[{key:"get",value:function(e){var t;return null!==(t=this.map_.get(e))&&void 0!==t?t:null}},{key:"has",value:function(e){return this.map_.has(e)}},{key:"add",value:function(e,t){var n=this;return this.map_.set(e,t),e.viewProps.handleDispose(function(){n.map_.delete(e)}),t}}]),e}(),Ao=function(){function e(t){f(this,e),this.target=t.target,this.reader_=t.reader,this.writer_=t.writer}return h(e,[{key:"read",value:function(){return this.reader_(this.target.read())}},{key:"write",value:function(e){this.writer_(this.target,e)}},{key:"inject",value:function(e){this.write(this.reader_(e))}}]),e}();var Vo=function(){function e(t){f(this,e),this.target=t.target,this.reader_=t.reader}return h(e,[{key:"read",value:function(){return this.reader_(this.target.read())}}]),e}();function Oo(e,t){var n,r,i,o=e.accept(t.target.read(),t.params);if(x(o))return null;var a,s,l={target:t.target,initialValue:o.initialValue,params:o.params},u=Ve(t.params,function(e){return{bufferSize:e.optional.number,disabled:e.optional.boolean,hidden:e.optional.boolean,interval:e.optional.number,label:e.optional.string}}),c=e.binding.reader(l),p=null!==(r=null!==(n=null===u||void 0===u?void 0:u.bufferSize)&&void 0!==n?n:e.binding.defaultBufferSize&&e.binding.defaultBufferSize(o.params))&&void 0!==r?r:1,f=new at({binding:new Vo({reader:c,target:t.target}),bufferSize:p,ticker:(a=t.document,s=null===u||void 0===u?void 0:u.interval,0===s?new nn:new rn(a,null!==s&&void 0!==s?s:uo.monitor.defaultInterval))}),d=e.controller({document:t.document,params:o.params,value:f,viewProps:Ft.create({disabled:null===u||void 0===u?void 0:u.disabled,hidden:null===u||void 0===u?void 0:u.hidden})});return d.viewProps.bindDisabled(f.ticker),d.viewProps.handleDispose(function(){f.ticker.dispose()}),new st(t.document,{blade:Vt(),props:B.fromObject({label:"label"in t.params?null!==(i=null===u||void 0===u?void 0:u.label)&&void 0!==i?i:null:t.target.key}),value:f,valueController:d})}var So=function(){function e(t){f(this,e),this.pluginsMap_={blades:[],inputs:[],monitors:[]},this.apiCache_=t}return h(e,[{key:"getAll",value:function(){return[].concat(b(this.pluginsMap_.blades),b(this.pluginsMap_.inputs),b(this.pluginsMap_.monitors))}},{key:"register",value:function(e,t){if(!(n=t.core)||n.major!==bt.major)throw O.notCompatible(e,t.id);var n;"blade"===t.type?this.pluginsMap_.blades.unshift(t):"input"===t.type?this.pluginsMap_.inputs.unshift(t):"monitor"===t.type&&this.pluginsMap_.monitors.unshift(t)}},{key:"createInput_",value:function(e,t,n){return this.pluginsMap_.inputs.reduce(function(r,i){return null!==r&&void 0!==r?r:function(e,t){var n,r=e.accept(t.target.read(),t.params);if(x(r))return null;var i={target:t.target,initialValue:r.initialValue,params:r.params},o=Ve(t.params,function(e){return{disabled:e.optional.boolean,hidden:e.optional.boolean,label:e.optional.string,tag:e.optional.string}}),a=e.binding.reader(i),s=e.binding.constraint?e.binding.constraint(i):void 0,l=new Ao({reader:a,target:t.target,writer:e.binding.writer(i)}),u=new Ce(M(a(r.initialValue),{constraint:s,equals:e.binding.equals}),l),c=e.controller({constraint:s,document:t.document,initialValue:r.initialValue,params:r.params,value:u,viewProps:Ft.create({disabled:null===o||void 0===o?void 0:o.disabled,hidden:null===o||void 0===o?void 0:o.hidden})});return new nt(t.document,{blade:Vt(),props:B.fromObject({label:"label"in t.params?null!==(n=null===o||void 0===o?void 0:o.label)&&void 0!==n?n:null:t.target.key}),tag:null===o||void 0===o?void 0:o.tag,value:u,valueController:c})}(i,{document:e,target:t,params:n})},null)}},{key:"createMonitor_",value:function(e,t,n){return this.pluginsMap_.monitors.reduce(function(r,i){return null!==r&&void 0!==r?r:Oo(i,{document:e,params:n,target:t})},null)}},{key:"createBinding",value:function(e,t,n){if(x(t.read()))throw new O({context:{key:t.key},type:"nomatchingcontroller"});var r=this.createInput_(e,t,n);if(r)return r;var i=this.createMonitor_(e,t,n);if(i)return i;throw new O({context:{key:t.key},type:"nomatchingcontroller"})}},{key:"createBlade",value:function(e,t){var n=this.pluginsMap_.blades.reduce(function(n,r){return null!==n&&void 0!==n?n:en(r,{document:e,params:t})},null);if(!n)throw new O({type:"nomatchingview",context:{params:t}});return n}},{key:"createInputBindingApi_",value:function(e){var t=this.pluginsMap_.inputs.reduce(function(t,n){var r,i;return t||(null!==(i=null===(r=n.api)||void 0===r?void 0:r.call(n,{controller:e}))&&void 0!==i?i:null)},null);return this.apiCache_.add(e,null!==t&&void 0!==t?t:new ke(e))}},{key:"createMonitorBindingApi_",value:function(e){var t=this.pluginsMap_.monitors.reduce(function(t,n){var r,i;return t||(null!==(i=null===(r=n.api)||void 0===r?void 0:r.call(n,{controller:e}))&&void 0!==i?i:null)},null);return this.apiCache_.add(e,null!==t&&void 0!==t?t:new ke(e))}},{key:"createBindingApi",value:function(e){if(this.apiCache_.has(e))return this.apiCache_.get(e);if(rt(e))return this.createInputBindingApi_(e);if(lt(e))return this.createMonitorBindingApi_(e);throw O.shouldNeverHappen()}},{key:"createApi",value:function(e){var t=this;if(this.apiCache_.has(e))return this.apiCache_.get(e);if(function(e){return De(e)&&je(e.value)}(e))return this.createBindingApi(e);var n=this.pluginsMap_.blades.reduce(function(n,r){return null!==n&&void 0!==n?n:r.api({controller:e,pool:t})},null);if(!n)throw O.shouldNeverHappen();return this.apiCache_.add(e,n)}}]),e}(),Do=new Eo;var jo=function(e){a(n,be);var t=l(n);function n(e){var r;return f(this,n),(r=t.call(this,e)).emitter_=new D,r.controller.value.emitter.on("change",function(e){r.emitter_.emit("change",new ye(u(r),e.rawValue))}),r}return h(n,[{key:"label",get:function(){return this.controller.labelController.props.get("label")},set:function(e){this.controller.labelController.props.set("label",e)}},{key:"options",get:function(){return this.controller.valueController.props.get("options")},set:function(e){this.controller.valueController.props.set("options",e)}},{key:"value",get:function(){return this.controller.value.rawValue},set:function(e){this.controller.value.rawValue=e}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}}]),n}(),Lo=function(e){a(n,be);var t=l(n);function n(){return f(this,n),t.apply(this,arguments)}return h(n)}(),To=function(e){a(n,be);var t=l(n);function n(e){var r;return f(this,n),(r=t.call(this,e)).emitter_=new D,r.controller.value.emitter.on("change",function(e){r.emitter_.emit("change",new ye(u(r),e.rawValue))}),r}return h(n,[{key:"label",get:function(){return this.controller.labelController.props.get("label")},set:function(e){this.controller.labelController.props.set("label",e)}},{key:"max",get:function(){return this.controller.valueController.sliderController.props.get("max")},set:function(e){this.controller.valueController.sliderController.props.set("max",e)}},{key:"min",get:function(){return this.controller.valueController.sliderController.props.get("min")},set:function(e){this.controller.valueController.sliderController.props.set("min",e)}},{key:"value",get:function(){return this.controller.value.rawValue},set:function(e){this.controller.value.rawValue=e}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}}]),n}(),Mo=function(e){a(n,be);var t=l(n);function n(e){var r;return f(this,n),(r=t.call(this,e)).emitter_=new D,r.controller.value.emitter.on("change",function(e){r.emitter_.emit("change",new ye(u(r),e.rawValue))}),r}return h(n,[{key:"label",get:function(){return this.controller.labelController.props.get("label")},set:function(e){this.controller.labelController.props.set("label",e)}},{key:"formatter",get:function(){return this.controller.valueController.props.get("formatter")},set:function(e){this.controller.valueController.props.set("formatter",e)}},{key:"value",get:function(){return this.controller.value.rawValue},set:function(e){this.controller.value.rawValue=e}},{key:"on",value:function(e,t){var n=t.bind(this);return this.emitter_.on(e,function(e){n(e)},{key:t}),this}},{key:"off",value:function(e,t){return this.emitter_.off(e,t),this}}]),n}(),Bo={id:"list",type:"blade",core:bt,accept:function(e){var t=Ve(e,function(e){return{options:e.required.custom(ln),value:e.required.raw,view:e.required.constant("list"),label:e.optional.string}});return t?{params:t}:null},controller:function(e){var t=new sn(un(e.params.options)),n=M(e.params.value,{constraint:t}),r=new dn(e.document,{props:new B({options:t.values.value("options")}),value:n,viewProps:e.viewProps});return new Ze(e.document,{blade:e.blade,props:B.fromObject({label:e.params.label}),value:n,valueController:r})},api:function(e){return e.controller instanceof Ze&&e.controller.valueController instanceof dn?new jo(e.controller):null}},zo=function(e){a(n,jt);var t=l(n);function n(e,r){return f(this,n),t.call(this,e,r)}return h(n,[{key:"element",get:function(){return this.controller.view.element}}]),n}(),Io=function(e){a(n,Mt);var t=l(n);function n(e,r){return f(this,n),t.call(this,e,{expanded:r.expanded,blade:r.blade,props:r.props,root:!0,viewProps:r.viewProps})}return h(n)}(),Fo=Ge("spr"),Ro=h(function e(t,n){f(this,e),this.element=t.createElement("div"),this.element.classList.add(Fo()),n.viewProps.bindClassModifiers(this.element);var r=t.createElement("hr");r.classList.add(Fo("r")),this.element.appendChild(r)}),No=function(e){a(n,Je);var t=l(n);function n(e,r){return f(this,n),t.call(this,Object.assign(Object.assign({},r),{view:new Ro(e,{viewProps:r.viewProps})}))}return h(n)}(),Uo={id:"separator",type:"blade",core:bt,accept:function(e){var t=Ve(e,function(e){return{view:e.required.constant("separator")}});return t?{params:t}:null},controller:function(e){return new No(e.document,{blade:e.blade,viewProps:e.viewProps})},api:function(e){return e.controller instanceof No?new Lo(e.controller):null}},Ko={id:"slider",type:"blade",core:bt,accept:function(e){var t=Ve(e,function(e){return{max:e.required.number,min:e.required.number,view:e.required.constant("slider"),format:e.optional.function,label:e.optional.string,value:e.optional.number}});return t?{params:t}:null},controller:function(e){var t,n,r=null!==(t=e.params.value)&&void 0!==t?t:0,i=new z({max:e.params.max,min:e.params.min}),o=M(r,{constraint:i}),a=new Nn(e.document,Object.assign(Object.assign({},Un({formatter:null!==(n=e.params.format)&&void 0!==n?n:ie,keyScale:M(1),max:i.values.value("max"),min:i.values.value("min"),pointerScale:pe(e.params,r)})),{parser:ne,value:o,viewProps:e.viewProps}));return new Ze(e.document,{blade:e.blade,props:B.fromObject({label:e.params.label}),value:o,valueController:a})},api:function(e){return e.controller instanceof Ze&&e.controller.valueController instanceof Nn?new To(e.controller):null}},qo={id:"text",type:"blade",core:bt,accept:function(e){var t=Ve(e,function(e){return{parse:e.required.function,value:e.required.raw,view:e.required.constant("text"),format:e.optional.function,label:e.optional.string}});return t?{params:t}:null},controller:function(e){var t,n=M(e.params.value),r=new yn(e.document,{parser:e.params.parse,props:B.fromObject({formatter:null!==(t=e.params.format)&&void 0!==t?t:function(e){return String(e)}}),value:n,viewProps:e.viewProps});return new Ze(e.document,{blade:e.blade,props:B.fromObject({label:e.params.label}),value:n,valueController:r})},api:function(e){return e.controller instanceof Ze&&e.controller.valueController instanceof yn?new Mo(e.controller):null}};var Ho=function(e){a(n,zo);var t=l(n);function n(e){var r,i,o;f(this,n);var a=null!==e&&void 0!==e?e:{},s=null!==(i=a.document)&&void 0!==i?i:Be(),l=function(){var e=new So(Do);return[$i,no,so,lo,Ii,ji,Di,Oi,Zn,bo,Po,Co,yt,Bt,Zt].forEach(function(t){e.register("core",t)}),e}(),u=new Io(s,{expanded:a.expanded,blade:Vt(),props:B.fromObject({title:a.title}),viewProps:Ft.create()});return(r=t.call(this,u,l)).pool_=l,r.containerElem_=null!==(o=a.container)&&void 0!==o?o:function(e){var t=e.createElement("div");return t.classList.add(Ge("dfw")()),e.body&&e.body.appendChild(t),t}(s),r.containerElem_.appendChild(r.element),r.doc_=s,r.usesDefaultWrapper_=!a.container,r.setUpDefaultPlugins_(),r}return h(n,[{key:"document",get:function(){if(!this.doc_)throw O.alreadyDisposed();return this.doc_}},{key:"dispose",value:function(){var e=this.containerElem_;if(!e)throw O.alreadyDisposed();if(this.usesDefaultWrapper_){var t=e.parentElement;t&&t.removeChild(e)}this.containerElem_=null,this.doc_=null,o(p(n.prototype),"dispose",this).call(this)}},{key:"registerPlugin",value:function(e){var t=this;e.css&&function(e,t,n){if(!e.querySelector("style[data-tp-style=".concat(t,"]"))){var r=e.createElement("style");r.dataset.tpStyle=t,r.textContent=n,e.head.appendChild(r)}}(this.document,"plugin-".concat(e.id),e.css),("plugin"in e?[e.plugin]:"plugins"in e?e.plugins:[]).forEach(function(n){t.pool_.register(e.id,n)})}},{key:"setUpDefaultPlugins_",value:function(){this.registerPlugin({id:"default",css:'.tp-tbiv_b,.tp-coltxtv_ms,.tp-colswv_b,.tp-ckbv_i,.tp-sglv_i,.tp-mllv_i,.tp-grlv_g,.tp-txtv_i,.tp-p2dpv_p,.tp-colswv_sw,.tp-rotv_b,.tp-fldv_b,.tp-p2dv_b,.tp-btnv_b,.tp-lstv_s{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;outline:none;padding:0}.tp-p2dv_b,.tp-btnv_b,.tp-lstv_s{background-color:var(--btn-bg);border-radius:var(--bld-br);color:var(--btn-fg);cursor:pointer;display:block;font-weight:bold;height:var(--cnt-usz);line-height:var(--cnt-usz);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-p2dv_b:hover,.tp-btnv_b:hover,.tp-lstv_s:hover{background-color:var(--btn-bg-h)}.tp-p2dv_b:focus,.tp-btnv_b:focus,.tp-lstv_s:focus{background-color:var(--btn-bg-f)}.tp-p2dv_b:active,.tp-btnv_b:active,.tp-lstv_s:active{background-color:var(--btn-bg-a)}.tp-p2dv_b:disabled,.tp-btnv_b:disabled,.tp-lstv_s:disabled{opacity:.5}.tp-rotv_c>.tp-cntv.tp-v-lst,.tp-tbpv_c>.tp-cntv.tp-v-lst,.tp-fldv_c>.tp-cntv.tp-v-lst{margin-bottom:calc(-1*var(--cnt-vp))}.tp-rotv_c>.tp-fldv.tp-v-lst .tp-fldv_c,.tp-tbpv_c>.tp-fldv.tp-v-lst .tp-fldv_c,.tp-fldv_c>.tp-fldv.tp-v-lst .tp-fldv_c{border-bottom-left-radius:0}.tp-rotv_c>.tp-fldv.tp-v-lst .tp-fldv_b,.tp-tbpv_c>.tp-fldv.tp-v-lst .tp-fldv_b,.tp-fldv_c>.tp-fldv.tp-v-lst .tp-fldv_b{border-bottom-left-radius:0}.tp-rotv_c>*:not(.tp-v-fst),.tp-tbpv_c>*:not(.tp-v-fst),.tp-fldv_c>*:not(.tp-v-fst){margin-top:var(--cnt-usp)}.tp-rotv_c>.tp-sprv:not(.tp-v-fst),.tp-tbpv_c>.tp-sprv:not(.tp-v-fst),.tp-fldv_c>.tp-sprv:not(.tp-v-fst),.tp-rotv_c>.tp-cntv:not(.tp-v-fst),.tp-tbpv_c>.tp-cntv:not(.tp-v-fst),.tp-fldv_c>.tp-cntv:not(.tp-v-fst){margin-top:var(--cnt-vp)}.tp-rotv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-tbpv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-fldv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-rotv_c>.tp-cntv+*:not(.tp-v-hidden),.tp-tbpv_c>.tp-cntv+*:not(.tp-v-hidden),.tp-fldv_c>.tp-cntv+*:not(.tp-v-hidden){margin-top:var(--cnt-vp)}.tp-rotv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-tbpv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-fldv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-rotv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv,.tp-tbpv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv,.tp-fldv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv{margin-top:0}.tp-tbpv_c>.tp-cntv,.tp-fldv_c>.tp-cntv{margin-left:4px}.tp-tbpv_c>.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-fldv>.tp-fldv_b{border-top-left-radius:var(--bld-br);border-bottom-left-radius:var(--bld-br)}.tp-tbpv_c>.tp-fldv.tp-fldv-expanded>.tp-fldv_b,.tp-fldv_c>.tp-fldv.tp-fldv-expanded>.tp-fldv_b{border-bottom-left-radius:0}.tp-tbpv_c .tp-fldv>.tp-fldv_c,.tp-fldv_c .tp-fldv>.tp-fldv_c{border-bottom-left-radius:var(--bld-br)}.tp-tbpv_c>.tp-cntv+.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-cntv+.tp-fldv>.tp-fldv_b{border-top-left-radius:0}.tp-tbpv_c>.tp-cntv+.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-cntv+.tp-tabv>.tp-tabv_t{border-top-left-radius:0}.tp-tbpv_c>.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-tabv>.tp-tabv_t{border-top-left-radius:var(--bld-br)}.tp-tbpv_c .tp-tabv>.tp-tabv_c,.tp-fldv_c .tp-tabv>.tp-tabv_c{border-bottom-left-radius:var(--bld-br)}.tp-rotv_b,.tp-fldv_b{background-color:var(--cnt-bg);color:var(--cnt-fg);cursor:pointer;display:block;height:calc(var(--cnt-usz) + 4px);line-height:calc(var(--cnt-usz) + 4px);overflow:hidden;padding-left:var(--cnt-hp);padding-right:calc(4px + var(--cnt-usz) + var(--cnt-hp));position:relative;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;transition:border-radius .2s ease-in-out .2s}.tp-rotv_b:hover,.tp-fldv_b:hover{background-color:var(--cnt-bg-h)}.tp-rotv_b:focus,.tp-fldv_b:focus{background-color:var(--cnt-bg-f)}.tp-rotv_b:active,.tp-fldv_b:active{background-color:var(--cnt-bg-a)}.tp-rotv_b:disabled,.tp-fldv_b:disabled{opacity:.5}.tp-rotv_m,.tp-fldv_m{background:linear-gradient(to left, var(--cnt-fg), var(--cnt-fg) 2px, transparent 2px, transparent 4px, var(--cnt-fg) 4px);border-radius:2px;bottom:0;content:"";display:block;height:6px;right:calc(var(--cnt-hp) + (var(--cnt-usz) + 4px - 6px)/2 - 2px);margin:auto;opacity:.5;position:absolute;top:0;transform:rotate(90deg);transition:transform .2s ease-in-out;width:6px}.tp-rotv.tp-rotv-expanded .tp-rotv_m,.tp-fldv.tp-fldv-expanded>.tp-fldv_b>.tp-fldv_m{transform:none}.tp-rotv_c,.tp-fldv_c{box-sizing:border-box;height:0;opacity:0;overflow:hidden;padding-bottom:0;padding-top:0;position:relative;transition:height .2s ease-in-out,opacity .2s linear,padding .2s ease-in-out}.tp-rotv.tp-rotv-cpl:not(.tp-rotv-expanded) .tp-rotv_c,.tp-fldv.tp-fldv-cpl:not(.tp-fldv-expanded)>.tp-fldv_c{display:none}.tp-rotv.tp-rotv-expanded .tp-rotv_c,.tp-fldv.tp-fldv-expanded>.tp-fldv_c{opacity:1;padding-bottom:var(--cnt-vp);padding-top:var(--cnt-vp);transform:none;overflow:visible;transition:height .2s ease-in-out,opacity .2s linear .2s,padding .2s ease-in-out}.tp-txtv_i,.tp-p2dpv_p,.tp-colswv_sw{background-color:var(--in-bg);border-radius:var(--bld-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--cnt-usz);line-height:var(--cnt-usz);min-width:0;width:100%}.tp-txtv_i:hover,.tp-p2dpv_p:hover,.tp-colswv_sw:hover{background-color:var(--in-bg-h)}.tp-txtv_i:focus,.tp-p2dpv_p:focus,.tp-colswv_sw:focus{background-color:var(--in-bg-f)}.tp-txtv_i:active,.tp-p2dpv_p:active,.tp-colswv_sw:active{background-color:var(--in-bg-a)}.tp-txtv_i:disabled,.tp-p2dpv_p:disabled,.tp-colswv_sw:disabled{opacity:.5}.tp-lstv,.tp-coltxtv_m{position:relative}.tp-lstv_s{padding:0 20px 0 4px;width:100%}.tp-lstv_m,.tp-coltxtv_mm{bottom:0;margin:auto;pointer-events:none;position:absolute;right:2px;top:0}.tp-lstv_m svg,.tp-coltxtv_mm svg{bottom:0;height:16px;margin:auto;position:absolute;right:0;top:0;width:16px}.tp-lstv_m svg path,.tp-coltxtv_mm svg path{fill:currentColor}.tp-sglv_i,.tp-mllv_i,.tp-grlv_g{background-color:var(--mo-bg);border-radius:var(--bld-br);box-sizing:border-box;color:var(--mo-fg);height:var(--cnt-usz);scrollbar-color:currentColor rgba(0,0,0,0);scrollbar-width:thin;width:100%}.tp-sglv_i::-webkit-scrollbar,.tp-mllv_i::-webkit-scrollbar,.tp-grlv_g::-webkit-scrollbar{height:8px;width:8px}.tp-sglv_i::-webkit-scrollbar-corner,.tp-mllv_i::-webkit-scrollbar-corner,.tp-grlv_g::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.tp-sglv_i::-webkit-scrollbar-thumb,.tp-mllv_i::-webkit-scrollbar-thumb,.tp-grlv_g::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:currentColor;border:rgba(0,0,0,0) solid 2px;border-radius:4px}.tp-pndtxtv,.tp-coltxtv_w{display:flex}.tp-pndtxtv_a,.tp-coltxtv_c{width:100%}.tp-pndtxtv_a+.tp-pndtxtv_a,.tp-coltxtv_c+.tp-pndtxtv_a,.tp-pndtxtv_a+.tp-coltxtv_c,.tp-coltxtv_c+.tp-coltxtv_c{margin-left:2px}.tp-rotv{--bs-bg: var(--tp-base-background-color, hsl(230, 7%, 17%));--bs-br: var(--tp-base-border-radius, 6px);--bs-ff: var(--tp-base-font-family, Roboto Mono, Source Code Pro, Menlo, Courier, monospace);--bs-sh: var(--tp-base-shadow-color, rgba(0, 0, 0, 0.2));--bld-br: var(--tp-blade-border-radius, 2px);--bld-hp: var(--tp-blade-horizontal-padding, 4px);--bld-vw: var(--tp-blade-value-width, 160px);--btn-bg: var(--tp-button-background-color, hsl(230, 7%, 70%));--btn-bg-a: var(--tp-button-background-color-active, #d6d7db);--btn-bg-f: var(--tp-button-background-color-focus, #c8cad0);--btn-bg-h: var(--tp-button-background-color-hover, #bbbcc4);--btn-fg: var(--tp-button-foreground-color, hsl(230, 7%, 17%));--cnt-bg: var(--tp-container-background-color, rgba(187, 188, 196, 0.1));--cnt-bg-a: var(--tp-container-background-color-active, rgba(187, 188, 196, 0.25));--cnt-bg-f: var(--tp-container-background-color-focus, rgba(187, 188, 196, 0.2));--cnt-bg-h: var(--tp-container-background-color-hover, rgba(187, 188, 196, 0.15));--cnt-fg: var(--tp-container-foreground-color, hsl(230, 7%, 75%));--cnt-hp: var(--tp-container-horizontal-padding, 4px);--cnt-vp: var(--tp-container-vertical-padding, 4px);--cnt-usp: var(--tp-container-unit-spacing, 4px);--cnt-usz: var(--tp-container-unit-size, 20px);--in-bg: var(--tp-input-background-color, rgba(187, 188, 196, 0.1));--in-bg-a: var(--tp-input-background-color-active, rgba(187, 188, 196, 0.25));--in-bg-f: var(--tp-input-background-color-focus, rgba(187, 188, 196, 0.2));--in-bg-h: var(--tp-input-background-color-hover, rgba(187, 188, 196, 0.15));--in-fg: var(--tp-input-foreground-color, hsl(230, 7%, 75%));--lbl-fg: var(--tp-label-foreground-color, rgba(187, 188, 196, 0.7));--mo-bg: var(--tp-monitor-background-color, rgba(0, 0, 0, 0.2));--mo-fg: var(--tp-monitor-foreground-color, rgba(187, 188, 196, 0.7));--grv-fg: var(--tp-groove-foreground-color, rgba(187, 188, 196, 0.1))}.tp-btnv_b{width:100%}.tp-btnv_t{text-align:center}.tp-ckbv_l{display:block;position:relative}.tp-ckbv_i{left:0;opacity:0;position:absolute;top:0}.tp-ckbv_w{background-color:var(--in-bg);border-radius:var(--bld-br);cursor:pointer;display:block;height:var(--cnt-usz);position:relative;width:var(--cnt-usz)}.tp-ckbv_w svg{bottom:0;display:block;height:16px;left:0;margin:auto;opacity:0;position:absolute;right:0;top:0;width:16px}.tp-ckbv_w svg path{fill:none;stroke:var(--in-fg);stroke-width:2}.tp-ckbv_i:hover+.tp-ckbv_w{background-color:var(--in-bg-h)}.tp-ckbv_i:focus+.tp-ckbv_w{background-color:var(--in-bg-f)}.tp-ckbv_i:active+.tp-ckbv_w{background-color:var(--in-bg-a)}.tp-ckbv_i:checked+.tp-ckbv_w svg{opacity:1}.tp-ckbv.tp-v-disabled .tp-ckbv_w{opacity:.5}.tp-colv{position:relative}.tp-colv_h{display:flex}.tp-colv_s{flex-grow:0;flex-shrink:0;width:var(--cnt-usz)}.tp-colv_t{flex:1;margin-left:4px}.tp-colv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-colv.tp-colv-expanded.tp-colv-cpl .tp-colv_p{overflow:visible}.tp-colv.tp-colv-expanded .tp-colv_p{margin-top:var(--cnt-usp);opacity:1}.tp-colv .tp-popv{left:calc(-1*var(--cnt-hp));right:calc(-1*var(--cnt-hp));top:var(--cnt-usz)}.tp-colpv_h,.tp-colpv_ap{margin-left:6px;margin-right:6px}.tp-colpv_h{margin-top:var(--cnt-usp)}.tp-colpv_rgb{display:flex;margin-top:var(--cnt-usp);width:100%}.tp-colpv_a{display:flex;margin-top:var(--cnt-vp);padding-top:calc(var(--cnt-vp) + 2px);position:relative}.tp-colpv_a::before{background-color:var(--grv-fg);content:"";height:2px;left:calc(-1*var(--cnt-hp));position:absolute;right:calc(-1*var(--cnt-hp));top:0}.tp-colpv.tp-v-disabled .tp-colpv_a::before{opacity:.5}.tp-colpv_ap{align-items:center;display:flex;flex:3}.tp-colpv_at{flex:1;margin-left:4px}.tp-svpv{border-radius:var(--bld-br);outline:none;overflow:hidden;position:relative}.tp-svpv.tp-v-disabled{opacity:.5}.tp-svpv_c{cursor:crosshair;display:block;height:calc(var(--cnt-usz)*4);width:100%}.tp-svpv_m{border-radius:100%;border:rgba(255,255,255,.75) solid 2px;box-sizing:border-box;filter:drop-shadow(0 0 1px rgba(0, 0, 0, 0.3));height:12px;margin-left:-6px;margin-top:-6px;pointer-events:none;position:absolute;width:12px}.tp-svpv:focus .tp-svpv_m{border-color:#fff}.tp-hplv{cursor:pointer;height:var(--cnt-usz);outline:none;position:relative}.tp-hplv.tp-v-disabled{opacity:.5}.tp-hplv_c{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAABCAYAAABubagXAAAAQ0lEQVQoU2P8z8Dwn0GCgQEDi2OK/RBgYHjBgIpfovFh8j8YBIgzFGQxuqEgPhaDOT5gOhPkdCxOZeBg+IDFZZiGAgCaSSMYtcRHLgAAAABJRU5ErkJggg==);background-position:left top;background-repeat:no-repeat;background-size:100% 100%;border-radius:2px;display:block;height:4px;left:0;margin-top:-2px;position:absolute;top:50%;width:100%}.tp-hplv_m{border-radius:var(--bld-br);border:rgba(255,255,255,.75) solid 2px;box-shadow:0 0 2px rgba(0,0,0,.1);box-sizing:border-box;height:12px;left:50%;margin-left:-6px;margin-top:-6px;pointer-events:none;position:absolute;top:50%;width:12px}.tp-hplv:focus .tp-hplv_m{border-color:#fff}.tp-aplv{cursor:pointer;height:var(--cnt-usz);outline:none;position:relative;width:100%}.tp-aplv.tp-v-disabled{opacity:.5}.tp-aplv_b{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:4px 4px;background-position:0 0,2px 2px;border-radius:2px;display:block;height:4px;left:0;margin-top:-2px;overflow:hidden;position:absolute;top:50%;width:100%}.tp-aplv_c{bottom:0;left:0;position:absolute;right:0;top:0}.tp-aplv_m{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:12px 12px;background-position:0 0,6px 6px;border-radius:var(--bld-br);box-shadow:0 0 2px rgba(0,0,0,.1);height:12px;left:50%;margin-left:-6px;margin-top:-6px;overflow:hidden;pointer-events:none;position:absolute;top:50%;width:12px}.tp-aplv_p{border-radius:var(--bld-br);border:rgba(255,255,255,.75) solid 2px;box-sizing:border-box;bottom:0;left:0;position:absolute;right:0;top:0}.tp-aplv:focus .tp-aplv_p{border-color:#fff}.tp-colswv{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:10px 10px;background-position:0 0,5px 5px;border-radius:var(--bld-br);overflow:hidden}.tp-colswv.tp-v-disabled{opacity:.5}.tp-colswv_sw{border-radius:0}.tp-colswv_b{cursor:pointer;display:block;height:var(--cnt-usz);left:0;position:absolute;top:0;width:var(--cnt-usz)}.tp-colswv_b:focus::after{border:rgba(255,255,255,.75) solid 2px;border-radius:var(--bld-br);bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.tp-coltxtv{display:flex;width:100%}.tp-coltxtv_m{margin-right:4px}.tp-coltxtv_ms{border-radius:var(--bld-br);color:var(--lbl-fg);cursor:pointer;height:var(--cnt-usz);line-height:var(--cnt-usz);padding:0 18px 0 4px}.tp-coltxtv_ms:hover{background-color:var(--in-bg-h)}.tp-coltxtv_ms:focus{background-color:var(--in-bg-f)}.tp-coltxtv_ms:active{background-color:var(--in-bg-a)}.tp-coltxtv_mm{color:var(--lbl-fg)}.tp-coltxtv.tp-v-disabled .tp-coltxtv_mm{opacity:.5}.tp-coltxtv_w{flex:1}.tp-dfwv{position:absolute;top:8px;right:8px;width:256px}.tp-fldv{position:relative}.tp-fldv_t{padding-left:4px}.tp-fldv_b:disabled .tp-fldv_m{display:none}.tp-fldv_c{padding-left:4px}.tp-fldv_i{bottom:0;color:var(--cnt-bg);left:0;overflow:hidden;position:absolute;top:calc(var(--cnt-usz) + 4px);width:max(var(--bs-br),4px)}.tp-fldv_i::before{background-color:currentColor;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.tp-fldv_b:hover+.tp-fldv_i{color:var(--cnt-bg-h)}.tp-fldv_b:focus+.tp-fldv_i{color:var(--cnt-bg-f)}.tp-fldv_b:active+.tp-fldv_i{color:var(--cnt-bg-a)}.tp-fldv.tp-v-disabled>.tp-fldv_i{opacity:.5}.tp-grlv{position:relative}.tp-grlv_g{display:block;height:calc(var(--cnt-usz)*3)}.tp-grlv_g polyline{fill:none;stroke:var(--mo-fg);stroke-linejoin:round}.tp-grlv_t{margin-top:-4px;transition:left .05s,top .05s;visibility:hidden}.tp-grlv_t.tp-grlv_t-a{visibility:visible}.tp-grlv_t.tp-grlv_t-in{transition:none}.tp-grlv.tp-v-disabled .tp-grlv_g{opacity:.5}.tp-grlv .tp-ttv{background-color:var(--mo-fg)}.tp-grlv .tp-ttv::before{border-top-color:var(--mo-fg)}.tp-lblv{align-items:center;display:flex;line-height:1.3;padding-left:var(--cnt-hp);padding-right:var(--cnt-hp)}.tp-lblv.tp-lblv-nol{display:block}.tp-lblv_l{color:var(--lbl-fg);flex:1;-webkit-hyphens:auto;hyphens:auto;overflow:hidden;padding-left:4px;padding-right:16px}.tp-lblv.tp-v-disabled .tp-lblv_l{opacity:.5}.tp-lblv.tp-lblv-nol .tp-lblv_l{display:none}.tp-lblv_v{align-self:flex-start;flex-grow:0;flex-shrink:0;width:var(--bld-vw)}.tp-lblv.tp-lblv-nol .tp-lblv_v{width:100%}.tp-lstv_s{padding:0 20px 0 var(--bld-hp);width:100%}.tp-lstv_m{color:var(--btn-fg)}.tp-sglv_i{padding-left:var(--bld-hp);padding-right:var(--bld-hp)}.tp-sglv.tp-v-disabled .tp-sglv_i{opacity:.5}.tp-mllv_i{display:block;height:calc(var(--cnt-usz)*3);line-height:var(--cnt-usz);padding-left:var(--bld-hp);padding-right:var(--bld-hp);resize:none;white-space:pre}.tp-mllv.tp-v-disabled .tp-mllv_i{opacity:.5}.tp-p2dv{position:relative}.tp-p2dv_h{display:flex}.tp-p2dv_b{height:var(--cnt-usz);margin-right:4px;position:relative;width:var(--cnt-usz)}.tp-p2dv_b svg{display:block;height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}.tp-p2dv_b svg path{stroke:currentColor;stroke-width:2}.tp-p2dv_b svg circle{fill:currentColor}.tp-p2dv_t{flex:1}.tp-p2dv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-p2dv.tp-p2dv-expanded .tp-p2dv_p{margin-top:var(--cnt-usp);opacity:1}.tp-p2dv .tp-popv{left:calc(-1*var(--cnt-hp));right:calc(-1*var(--cnt-hp));top:var(--cnt-usz)}.tp-p2dpv{padding-left:calc(var(--cnt-usz) + 4px)}.tp-p2dpv_p{cursor:crosshair;height:0;overflow:hidden;padding-bottom:100%;position:relative}.tp-p2dpv.tp-v-disabled .tp-p2dpv_p{opacity:.5}.tp-p2dpv_g{display:block;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.tp-p2dpv_ax{opacity:.1;stroke:var(--in-fg);stroke-dasharray:1}.tp-p2dpv_l{opacity:.5;stroke:var(--in-fg);stroke-dasharray:1}.tp-p2dpv_m{border:var(--in-fg) solid 1px;border-radius:50%;box-sizing:border-box;height:4px;margin-left:-2px;margin-top:-2px;position:absolute;width:4px}.tp-p2dpv_p:focus .tp-p2dpv_m{background-color:var(--in-fg);border-width:0}.tp-popv{background-color:var(--bs-bg);border-radius:var(--bs-br);box-shadow:0 2px 4px var(--bs-sh);display:none;max-width:var(--bld-vw);padding:var(--cnt-vp) var(--cnt-hp);position:absolute;visibility:hidden;z-index:1000}.tp-popv.tp-popv-v{display:block;visibility:visible}.tp-sldv.tp-v-disabled{opacity:.5}.tp-sldv_t{box-sizing:border-box;cursor:pointer;height:var(--cnt-usz);margin:0 6px;outline:none;position:relative}.tp-sldv_t::before{background-color:var(--in-bg);border-radius:1px;bottom:0;content:"";display:block;height:2px;left:0;margin:auto;position:absolute;right:0;top:0}.tp-sldv_k{height:100%;left:0;position:absolute;top:0}.tp-sldv_k::before{background-color:var(--in-fg);border-radius:1px;bottom:0;content:"";display:block;height:2px;left:0;margin-bottom:auto;margin-top:auto;position:absolute;right:0;top:0}.tp-sldv_k::after{background-color:var(--btn-bg);border-radius:var(--bld-br);bottom:0;content:"";display:block;height:12px;margin-bottom:auto;margin-top:auto;position:absolute;right:-6px;top:0;width:12px}.tp-sldv_t:hover .tp-sldv_k::after{background-color:var(--btn-bg-h)}.tp-sldv_t:focus .tp-sldv_k::after{background-color:var(--btn-bg-f)}.tp-sldv_t:active .tp-sldv_k::after{background-color:var(--btn-bg-a)}.tp-sldtxtv{display:flex}.tp-sldtxtv_s{flex:2}.tp-sldtxtv_t{flex:1;margin-left:4px}.tp-tabv{position:relative}.tp-tabv_t{align-items:flex-end;color:var(--cnt-bg);display:flex;overflow:hidden;position:relative}.tp-tabv_t:hover{color:var(--cnt-bg-h)}.tp-tabv_t:has(*:focus){color:var(--cnt-bg-f)}.tp-tabv_t:has(*:active){color:var(--cnt-bg-a)}.tp-tabv_t::before{background-color:currentColor;bottom:0;content:"";height:2px;left:0;pointer-events:none;position:absolute;right:0}.tp-tabv.tp-v-disabled .tp-tabv_t::before{opacity:.5}.tp-tabv.tp-tabv-nop .tp-tabv_t{height:calc(var(--cnt-usz) + 4px);position:relative}.tp-tabv.tp-tabv-nop .tp-tabv_t::before{background-color:var(--cnt-bg);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.tp-tabv_i{bottom:0;color:var(--cnt-bg);left:0;overflow:hidden;position:absolute;top:calc(var(--cnt-usz) + 4px);width:max(var(--bs-br),4px)}.tp-tabv_i::before{background-color:currentColor;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.tp-tabv_t:hover+.tp-tabv_i{color:var(--cnt-bg-h)}.tp-tabv_t:has(*:focus)+.tp-tabv_i{color:var(--cnt-bg-f)}.tp-tabv_t:has(*:active)+.tp-tabv_i{color:var(--cnt-bg-a)}.tp-tabv.tp-v-disabled>.tp-tabv_i{opacity:.5}.tp-tbiv{flex:1;min-width:0;position:relative}.tp-tbiv+.tp-tbiv{margin-left:2px}.tp-tbiv+.tp-tbiv.tp-v-disabled::before{opacity:.5}.tp-tbiv_b{display:block;padding-left:calc(var(--cnt-hp) + 4px);padding-right:calc(var(--cnt-hp) + 4px);position:relative;width:100%}.tp-tbiv_b:disabled{opacity:.5}.tp-tbiv_b::before{background-color:var(--cnt-bg);bottom:2px;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.tp-tbiv_b:hover::before{background-color:var(--cnt-bg-h)}.tp-tbiv_b:focus::before{background-color:var(--cnt-bg-f)}.tp-tbiv_b:active::before{background-color:var(--cnt-bg-a)}.tp-tbiv_t{color:var(--cnt-fg);height:calc(var(--cnt-usz) + 4px);line-height:calc(var(--cnt-usz) + 4px);opacity:.5;overflow:hidden;position:relative;text-overflow:ellipsis}.tp-tbiv.tp-tbiv-sel .tp-tbiv_t{opacity:1}.tp-tbpv_c{padding-bottom:var(--cnt-vp);padding-left:4px;padding-top:var(--cnt-vp)}.tp-txtv{position:relative}.tp-txtv_i{padding-left:var(--bld-hp);padding-right:var(--bld-hp)}.tp-txtv.tp-txtv-fst .tp-txtv_i{border-bottom-right-radius:0;border-top-right-radius:0}.tp-txtv.tp-txtv-mid .tp-txtv_i{border-radius:0}.tp-txtv.tp-txtv-lst .tp-txtv_i{border-bottom-left-radius:0;border-top-left-radius:0}.tp-txtv.tp-txtv-num .tp-txtv_i{text-align:right}.tp-txtv.tp-txtv-drg .tp-txtv_i{opacity:.3}.tp-txtv_k{cursor:pointer;height:100%;left:calc(var(--bld-hp) - 5px);position:absolute;top:0;width:12px}.tp-txtv_k::before{background-color:var(--in-fg);border-radius:1px;bottom:0;content:"";height:calc(var(--cnt-usz) - 4px);left:50%;margin-bottom:auto;margin-left:-1px;margin-top:auto;opacity:.1;position:absolute;top:0;transition:border-radius .1s,height .1s,transform .1s,width .1s;width:2px}.tp-txtv_k:hover::before,.tp-txtv.tp-txtv-drg .tp-txtv_k::before{opacity:1}.tp-txtv.tp-txtv-drg .tp-txtv_k::before{border-radius:50%;height:4px;transform:translateX(-1px);width:4px}.tp-txtv_g{bottom:0;display:block;height:8px;left:50%;margin:auto;overflow:visible;pointer-events:none;position:absolute;top:0;visibility:hidden;width:100%}.tp-txtv.tp-txtv-drg .tp-txtv_g{visibility:visible}.tp-txtv_gb{fill:none;stroke:var(--in-fg);stroke-dasharray:1}.tp-txtv_gh{fill:none;stroke:var(--in-fg)}.tp-txtv .tp-ttv{margin-left:6px;visibility:hidden}.tp-txtv.tp-txtv-drg .tp-ttv{visibility:visible}.tp-ttv{background-color:var(--in-fg);border-radius:var(--bld-br);color:var(--bs-bg);padding:2px 4px;pointer-events:none;position:absolute;transform:translate(-50%, -100%)}.tp-ttv::before{border-color:var(--in-fg) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:2px;box-sizing:border-box;content:"";font-size:.9em;height:4px;left:50%;margin-left:-2px;position:absolute;top:100%;width:4px}.tp-rotv{background-color:var(--bs-bg);border-radius:var(--bs-br);box-shadow:0 2px 4px var(--bs-sh);font-family:var(--bs-ff);font-size:11px;font-weight:500;line-height:1;text-align:left}.tp-rotv_b{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br);border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br);padding-left:calc(4px + var(--cnt-usz) + var(--cnt-hp));text-align:center}.tp-rotv.tp-rotv-expanded .tp-rotv_b{border-bottom-left-radius:0;border-bottom-right-radius:0;transition-delay:0s;transition-duration:0s}.tp-rotv.tp-rotv-not>.tp-rotv_b{display:none}.tp-rotv_b:disabled .tp-rotv_m{display:none}.tp-rotv_c>.tp-fldv.tp-v-lst>.tp-fldv_c{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst>.tp-fldv_i{border-bottom-left-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst:not(.tp-fldv-expanded)>.tp-fldv_b{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst.tp-fldv-expanded>.tp-fldv_b{transition-delay:0s;transition-duration:0s}.tp-rotv_c .tp-fldv.tp-v-vlst:not(.tp-fldv-expanded)>.tp-fldv_b{border-bottom-right-radius:var(--bs-br)}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-fldv.tp-v-fst{margin-top:calc(-1*var(--cnt-vp))}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-fldv.tp-v-fst>.tp-fldv_b{border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br)}.tp-rotv_c>.tp-tabv.tp-v-lst>.tp-tabv_c{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-tabv.tp-v-lst>.tp-tabv_i{border-bottom-left-radius:var(--bs-br)}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-tabv.tp-v-fst{margin-top:calc(-1*var(--cnt-vp))}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-tabv.tp-v-fst>.tp-tabv_t{border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br)}.tp-rotv.tp-v-disabled,.tp-rotv .tp-v-disabled{pointer-events:none}.tp-rotv.tp-v-hidden,.tp-rotv .tp-v-hidden{display:none}.tp-sprv_r{background-color:var(--grv-fg);border-width:0;display:block;height:2px;margin:0;width:100%}.tp-sprv.tp-v-disabled .tp-sprv_r{opacity:.5}',plugins:[Bo,Uo,Ko,Zt,qo]})}}]),n}(),Go=new mt("4.0.3");n.BladeApi=be,n.ButtonApi=ut,n.FolderApi=jt,n.ListBladeApi=jo,n.ListInputBindingApi=tn,n.Pane=Ho,n.Semver=mt,n.SeparatorBladeApi=Lo,n.SliderBladeApi=To,n.SliderInputBindingApi=zi,n.TabApi=Gt,n.TabPageApi=Wt,n.TextBladeApi=Mo,n.TpChangeEvent=ye,n.VERSION=Go},{}]},{},[8]); \ No newline at end of file diff --git a/src/src/caustics/index.js b/src/src/caustics/index.js index 0743f52..5c1647f 100644 --- a/src/src/caustics/index.js +++ b/src/src/caustics/index.js @@ -33,7 +33,7 @@ body > canvas { } `); -const regl = createREGL({ +createREGL({ extensions: [ 'OES_element_index_uint', 'OES_texture_half_float', @@ -43,74 +43,77 @@ const regl = createREGL({ antialias: false, depthStencil: false, alpha: false - } + }, + onDone: require('fail-nicely')(run) }); -const n = 200; -const drawBlur = require('./draw-blur.js')(regl); -const drawMesh = require('./draw-mesh.js')(regl, n); -const transfer = require('./transfer.js')(regl); -const transferToScreen = require('./transfer-to-screen.js')(regl); +function run (regl) { + const n = 200; + const drawBlur = require('./draw-blur.js')(regl); + const drawMesh = require('./draw-mesh.js')(regl, n); + const transfer = require('./transfer.js')(regl); + const transferToScreen = require('./transfer-to-screen.js')(regl); -const fbo = [0, 1].map(() => regl.framebuffer({ - color: regl.texture({ - width: regl._gl.canvas.width, - height: regl._gl.canvas.height, - type: 'float16' - }) -})); + const fbo = [0, 1].map(() => regl.framebuffer({ + color: regl.texture({ + width: regl._gl.canvas.width, + height: regl._gl.canvas.height, + type: 'float16' + }) + })); -const downsize = 8; -const bloomFbo = [0, 1].map(() => regl.framebuffer({ - color: regl.texture({ - width: (regl._gl.canvas.width / downsize) | 0, - height: (regl._gl.canvas.height / downsize) | 0, - type: 'float16', - min: 'linear', - mag: 'linear', - }) -})); + const downsize = 8; + const bloomFbo = [0, 1].map(() => regl.framebuffer({ + color: regl.texture({ + width: (regl._gl.canvas.width / downsize) | 0, + height: (regl._gl.canvas.height / downsize) | 0, + type: 'float16', + min: 'linear', + mag: 'linear', + }) + })); -const loop = regl.frame(() => { - try { - fbo.forEach(fbo => fbo.resize(regl._gl.canvas.width, regl._gl.canvas.height)); - bloomFbo.forEach(fbo => fbo.resize((regl._gl.canvas.width / downsize) | 0, (regl._gl.canvas.height / downsize) | 0)); + const loop = regl.frame(() => { + try { + fbo.forEach(fbo => fbo.resize(regl._gl.canvas.width, regl._gl.canvas.height)); + bloomFbo.forEach(fbo => fbo.resize((regl._gl.canvas.width / downsize) | 0, (regl._gl.canvas.height / downsize) | 0)); - fbo[0].use(() => { - regl.clear({color: [0, 0, 0, 0]}); - drawMesh({alpha: 0.5, ...PARAMS}); - }); - - if (PARAMS.bloom) { - bloomFbo[0].use(() => { + fbo[0].use(() => { regl.clear({color: [0, 0, 0, 0]}); - drawMesh({ - ...PARAMS, - alpha: 0.1 * PARAMS.bloom * PARAMS.alpha, - }); + drawMesh({alpha: 0.5, ...PARAMS}); }); - for (let i = 0; i < 2; i++) { - bloomFbo[1].use(() => { - regl.clear({color: [0, 0, 0, 0]}); - drawBlur({src: bloomFbo[0], direction: [1, 0]}); - }); + if (PARAMS.bloom) { bloomFbo[0].use(() => { regl.clear({color: [0, 0, 0, 0]}); - drawBlur({src: bloomFbo[1], direction: [0, 1]}); + drawMesh({ + ...PARAMS, + alpha: 0.1 * PARAMS.bloom * PARAMS.alpha, + }); }); + + for (let i = 0; i < 2; i++) { + bloomFbo[1].use(() => { + regl.clear({color: [0, 0, 0, 0]}); + drawBlur({src: bloomFbo[0], direction: [1, 0]}); + }); + bloomFbo[0].use(() => { + regl.clear({color: [0, 0, 0, 0]}); + drawBlur({src: bloomFbo[1], direction: [0, 1]}); + }); + } } - } - fbo[1].use(() => { - regl.clear({color: [PARAMS.background.r, PARAMS.background.g, PARAMS.background.b, 1]}); - transfer({src: fbo[0]}); - if (PARAMS.bloom) transfer({src: bloomFbo[0] }); - }); + fbo[1].use(() => { + regl.clear({color: [PARAMS.background.r, PARAMS.background.g, PARAMS.background.b, 1]}); + transfer({src: fbo[0]}); + if (PARAMS.bloom) transfer({src: bloomFbo[0] }); + }); - transferToScreen({src: fbo[1], ...PARAMS}) - } catch (e) { - console.error(e); - loop.cancel(); - } -}); + transferToScreen({src: fbo[1], ...PARAMS}) + } catch (e) { + console.error(e); + loop.cancel(); + } + }); +}