Home
last modified time | relevance | path

Searched refs:addPath (Results 1 – 8 of 8) sorted by relevance

/plugin/findologicxmlexport/vendor/twig/twig/test/Twig/Tests/Loader/
H A DFilesystemTest.php73 $loader->addPath($basePath.'/named_ter', 'named');
74 $loader->addPath($basePath.'/normal_ter');
142 $loader->addPath(sys_get_temp_dir(), 'named');
151 $loader->addPath($basePath.'/named', 'named');
166 $loader->addPath($basePath.'/named', 'named');
179 $loader->addPath(__DIR__.'/Fixtures/themes/theme2');
180 $loader->addPath(__DIR__.'/Fixtures/themes/theme1');
181 $loader->addPath(__DIR__.'/Fixtures/themes/theme1', 'default_theme');
210 $loader->addPath(__DIR__.'/Fixtures/inheritance');
240 $loader->addPath(__DIR__.'/Fixtures/normal');
[all …]
/plugin/freechat/phpfreechat/misc/
H A Dcreatewebinstaller.php18 $phpi->addPath($pfcpath);
/plugin/findologicxmlexport/vendor/twig/twig/src/Loader/
H A DFilesystemLoader.php87 $this->addPath($path, $namespace);
99 public function addPath($path, $namespace = self::MAIN_NAMESPACE) function in Twig\\Loader\\FilesystemLoader
/plugin/captcha/
H A DEasySVG.php185 public function addPath($def, $attributes = [])
215 return $this->addPath($def, $attributes);
186 public function addPath($def, $attributes = array()) global() function in EasySVG
/plugin/findologicxmlexport/vendor/twig/twig/doc/
H A Dapi.rst192 You can add or prepend paths via the ``addPath()`` and ``prependPath()``
195 $loader->addPath($templateDir3);
201 When using the ``setPaths()``, ``addPath()``, and ``prependPath()`` methods,
205 $loader->addPath($templateDir, 'admin');
/plugin/combo/resources/library/rrdiagram/0.9.4.1/
H A Drrdiagram.js2 !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("rrdiagram",[],e):"object"==typeof exports?exports.rrdiagram=e():t.rrdiagram=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=361)}([function(t,e,n){var r=n(2),i=n(20),o=n(12),u=n(13),a=n(21),c=function(t,e,n){var s,f,l,h,p=t&c.F,v=t&c.G,d=t&c.S,y=t&c.P,g=t&c.B,m=v?r:d?r[e]||(r[e]={}):(r[e]||{}).prototype,b=v?i:i[e]||(i[e]={}),x=b.prototype||(b.prototype={});v&&(n=e);for(s in n)f=!p&&m&&void 0!==m[s],l=(f?m:n)[s],h=g&&f?a(l,r):y&&"function"==typeof l?a(Function.call,l):l,m&&u(m,s,l,t&c.U),b[s]!=l&&o(b,s,h),y&&x[s]!=l&&(x[s]=l)};r.core=i,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e,n){var r=n(4);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(56)("wks"),i=n(45),o=n(2).Symbol,u="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=u&&o[t]||(u?o:i)("Symbol."+t))}).store=r},function(t,e,n){var r=n(23),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){t.exports=!n(3)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(1),i=n(125),o=n(29),u=Object.defineProperty;e.f=n(7)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return u(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(27);t.exports=function(t){return Object(r(t))}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),o=function(){function t(){r(this,t),this.layoutInfo=null}return i(t,[{key:"setLayoutInfo",value:function(t){this.layoutInfo=t}},{key:"getLayoutInfo",value:function(){return this.layoutInfo}}]),t}();e.default=o},function(t,e,n){var r=n(8),i=n(41);t.exports=n(7)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(2),i=n(12),o=n(15),u=n(45)("src"),a=n(165),c=(""+a).split("toString");n(20).inspectSource=function(t){return a.call(t)},(t.exports=function(t,e,n,a){var s="function"==typeof n;s&&(o(n,"name")||i(n,"name",e)),t[e]!==n&&(s&&(o(n,u)||i(n,u,t[e]?""+t[e]:c.join(String(e)))),t===r?t[e]=n:a?t[e]?t[e]=n:i(t,e,n):(delete t[e],i(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[u]||a.call(this)})},function(t,e,n){var r=n(0),i=n(3),o=n(27),u=/"/g,a=function(t,e,n,r){var i=String(o(t)),a="<"+e;return""!==n&&(a+=" "+n+'="'+String(r).replace(u,"&quot;")+'"'),a+">"+i+"</"+e+">"};t.exports=function(t,e){var n={};n[t]=e(a),r(r.P+r.F*i(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(55),i=n(41),o=n(18),u=n(29),a=n(15),c=n(125),s=Object.getOwnPropertyDescriptor;e.f=n(7)?s:function(t,e){if(t=o(t),e=u(e,!0),c)try{return s(t,e)}catch(t){}if(a(t,e))return i(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(15),i=n(9),o=n(103)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},function(t,e,n){var r=n(54),i=n(27);t.exports=function(t){return r(i(t))}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(10);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){"use strict";var r=n(3);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),o=n(75),u=(function(t){t&&t.__esModule}(o),{EQUAL:1,COLON_EQUAL:2,COLON_COLON_EQUAL:3}),a={QUOTE:1,DOUBLE_QUOTE:2},c=function(){function t(){r(this,t),this.ruleDefinitionSign=u.EQUAL,this.literalDefinitionSign=a.QUOTE,this.isCommaSeparator=!1,this.isUsingMultiplicationTokens=!1,this.ruleConsideredAsLineBreak=null}return i(t,null,[{key:"RuleDefinitionSign",get:function(){return u}},{key:"LiteralDefinitionSign",get:function(){return a}}]),i(t,[{key:"convert",value:function(t){return t.toBNF(this)}}]),t}();e.default=c},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(58),a=(r(u),n(59)),c=(r(a),function(){function t(){i(this,t),this.ruleLinkProvider=function(t){return"#"+t},this.ruleConsideredAsLineBreak=null}return o(t,[{key:"convert",value:function(t){return t.toRRDiagram(this)}}]),t}());e.default=c},function(t,e,n){var r=n(21),i=n(54),o=n(9),u=n(6),a=n(87);t.exports=function(t,e){var n=1==t,c=2==t,s=3==t,f=4==t,l=6==t,h=5==t||l,p=e||a;return function(e,a,v){for(var d,y,g=o(e),m=i(g),b=r(a,v,3),x=u(m.length),w=0,_=n?p(e,x):c?p(e,0):void 0;x>w;w++)if((h||w in m)&&(d=m[w],y=b(d,w,g),t))if(n)_[w]=y;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return w;case 2:_.push(d)}else if(f)return!1;return l?-1:s||f?f:_}}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(0),i=n(20),o=n(3);t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],u={};u[t]=e(n),r(r.S+r.F*o(function(){n(1)}),"Object",u)}},function(t,e,n){var r=n(4);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(147),i=n(0),o=n(56)("metadata"),u=o.store||(o.store=new(n(151))),a=function(t,e,n){var i=u.get(t);if(!i){if(!n)return;u.set(t,i=new r)}var o=i.get(e);if(!o){if(!n)return;i.set(e,o=new r)}return o},c=function(t,e,n){var r=a(e,n,!1);return void 0!==r&&r.has(t)},s=function(t,e,n){var r=a(e,n,!1);return void 0===r?void 0:r.get(t)},f=function(t,e,n,r){a(n,r,!0).set(t,e)},l=function(t,e){var n=a(t,e,!1),r=[];return n&&n.forEach(function(t,e){r.push(e)}),r},h=function(t){return void 0===t||"symbol"==typeof t?t:String(t)},p=function(t){i(i.S,"Reflect",t)};t.exports={store:u,map:a,has:c,get:s,set:f,keys:l,key:h,exp:p}},function(t,e,n){"use strict";if(n(7)){var r=n(34),i=n(2),o=n(3),u=n(0),a=n(73),c=n(108),s=n(21),f=n(36),l=n(41),h=n(12),p=n(42),v=n(23),d=n(6),y=n(145),g=n(44),m=n(29),b=n(15),x=n(47),w=n(4),_=n(9),E=n(94),S=n(38),O=n(17),k=n(39).f,C=n(110),R=n(45),P=n(5),L=n(26),T=n(61),M=n(57),j=n(111),I=n(48),N=n(66),A=n(43),F=n(86),B=n(117),U=n(8),G=n(16),D=U.f,W=G.f,V=i.RangeError,Y=i.TypeError,X=i.Uint8Array,q=Array.prototype,H=c.ArrayBuffer,Q=c.DataView,z=L(0),K=L(2),J=L(3),$=L(4),Z=L(5),tt=L(6),et=T(!0),nt=T(!1),rt=j.values,it=j.keys,ot=j.entries,ut=q.lastIndexOf,at=q.reduce,ct=q.reduceRight,st=q.join,ft=q.sort,lt=q.slice,ht=q.toString,pt=q.toLocaleString,vt=P("iterator"),dt=P("toStringTag"),yt=R("typed_constructor"),gt=R("def_constructor"),mt=a.CONSTR,bt=a.TYPED,xt=a.VIEW,wt=L(1,function(t,e){return kt(M(t,t[gt]),e)}),_t=o(function(){return 1===new X(new Uint16Array([1]).buffer)[0]}),Et=!!X&&!!X.prototype.set&&o(function(){new X(1).set({})}),St=function(t,e){var n=v(t);if(n<0||n%e)throw V("Wrong offset!");return n},Ot=function(t){if(w(t)&&bt in t)return t;throw Y(t+" is not a typed array!")},kt=function(t,e){if(!(w(t)&&yt in t))throw Y("It is not a typed array constructor!");return new t(e)},Ct=function(t,e){return Rt(M(t,t[gt]),e)},Rt=function(t,e){for(var n=0,r=e.length,i=kt(t,r);r>n;)i[n]=e[n++];return i},Pt=function(t,e,n){D(t,e,{get:function(){return this._d[n]}})},Lt=function(t){var e,n,r,i,o,u,a=_(t),c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=C(a);if(void 0!=h&&!E(h)){for(u=h.call(a),r=[],e=0;!(o=u.next()).done;e++)r.push(o.value);a=r}for(l&&c>2&&(f=s(f,arguments[2],2)),e=0,n=d(a.length),i=kt(this,n);n>e;e++)i[e]=l?f(a[e],e):a[e];return i},Tt=function(){for(var t=0,e=arguments.length,n=kt(this,e);e>t;)n[t]=arguments[t++];return n},Mt=!!X&&o(function(){pt.call(new X(1))}),jt=function(){return pt.apply(Mt?lt.call(Ot(this)):Ot(this),arguments)},It={copyWithin:function(t,e){return B.call(Ot(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return $(Ot(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return F.apply(Ot(this),arguments)},filter:function(t){return Ct(this,K(Ot(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Z(Ot(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){z(Ot(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(Ot(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return st.apply(Ot(this),arguments)},lastIndexOf:function(t){return ut.apply(Ot(this),arguments)},map:function(t){return wt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return at.apply(Ot(this),arguments)},reduceRight:function(t){return ct.apply(Ot(this),arguments)},reverse:function(){for(var t,e=this,n=Ot(e).length,r=Math.floor(n/2),i=0;i<r;)t=e[i],e[i++]=e[--n],e[n]=t;return e},some:function(t){return J(Ot(this),t,arguments.length>1?arguments[1]:void 0)},sort:function(t){return ft.call(Ot(this),t)},subarray:function(t,e){var n=Ot(this),r=n.length,i=g(t,r);return new(M(n,n[gt]))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,d((void 0===e?r:g(e,r))-i))}},Nt=function(t,e){return Ct(this,lt.call(Ot(this),t,e))},At=function(t){Ot(this);var e=St(arguments[1],1),n=this.length,r=_(t),i=d(r.length),o=0;if(i+e>n)throw V("Wrong length!");for(;o<i;)this[e+o]=r[o++]},Ft={entries:function(){return ot.call(Ot(this))},keys:function(){return it.call(Ot(this))},values:function(){return rt.call(Ot(this))}},Bt=function(t,e){return w(t)&&t[bt]&&"symbol"!=typeof e&&e in t&&String(+e)==String(e)},Ut=function(t,e){return Bt(t,e=m(e,!0))?l(2,t[e]):W(t,e)},Gt=function(t,e,n){return!(Bt(t,e=m(e,!0))&&w(n)&&b(n,"value"))||b(n,"get")||b(n,"set")||n.configurable||b(n,"writable")&&!n.writable||b(n,"enumerable")&&!n.enumerable?D(t,e,n):(t[e]=n.value,t)};mt||(G.f=Ut,U.f=Gt),u(u.S+u.F*!mt,"Object",{getOwnPropertyDescriptor:Ut,defineProperty:Gt}),o(function(){ht.call({})})&&(ht=pt=function(){return st.call(this)});var Dt=p({},It);p(Dt,Ft),h(Dt,vt,Ft.values),p(Dt,{slice:Nt,set:At,constructor:function(){},toString:ht,toLocaleString:jt}),Pt(Dt,"buffer","b"),Pt(Dt,"byteOffset","o"),Pt(Dt,"byteLength","l"),Pt(Dt,"length","e"),D(Dt,dt,{get:function(){return this[bt]}}),t.exports=function(t,e,n,c){c=!!c;var s=t+(c?"Clamped":"")+"Array",l="get"+t,p="set"+t,v=i[s],g=v||{},m=v&&O(v),b=!v||!a.ABV,_={},E=v&&v.prototype,C=function(t,n){var r=t._d;return r.v[l](n*e+r.o,_t)},R=function(t,n,r){var i=t._d;c&&(r=(r=Math.round(r))<0?0:r>255?255:255&r),i.v[p](n*e+i.o,r,_t)},P=function(t,e){D(t,e,{get:function(){return C(this,e)},set:function(t){return R(this,e,t)},enumerable:!0})};b?(v=n(function(t,n,r,i){f(t,v,s,"_d");var o,u,a,c,l=0,p=0;if(w(n)){if(!(n instanceof H||"ArrayBuffer"==(c=x(n))||"SharedArrayBuffer"==c))return bt in n?Rt(v,n):Lt.call(v,n);o=n,p=St(r,e);var g=n.byteLength;if(void 0===i){if(g%e)throw V("Wrong length!");if((u=g-p)<0)throw V("Wrong length!")}else if((u=d(i)*e)+p>g)throw V("Wrong length!");a=u/e}else a=y(n),u=a*e,o=new H(u);for(h(t,"_d",{b:o,o:p,l:u,e:a,v:new Q(o)});l<a;)P(t,l++)}),E=v.prototype=S(Dt),h(E,"constructor",v)):o(function(){v(1)})&&o(function(){new v(-1)})&&N(function(t){new v,new v(null),new v(1.5),new v(t)},!0)||(v=n(function(t,n,r,i){f(t,v,s);var o;return w(n)?n instanceof H||"ArrayBuffer"==(o=x(n))||"SharedArrayBuffer"==o?void 0!==i?new g(n,St(r,e),i):void 0!==r?new g(n,St(r,e)):new g(n):bt in n?Rt(v,n):Lt.call(v,n):new g(y(n))}),z(m!==Function.prototype?k(g).concat(k(m)):k(g),function(t){t in v||h(v,t,g[t])}),v.prototype=E,r||(E.constructor=v));var L=E[vt],T=!!L&&("values"==L.name||void 0==L.name),M=Ft.values;h(v,yt,!0),h(E,bt,s),h(E,xt,!0),h(E,gt,v),(c?new v(1)[dt]==s:dt in E)||D(E,dt,{get:function(){return s}}),_[s]=v,u(u.G+u.W+u.F*(v!=g),_),u(u.S,s,{BYTES_PER_ELEMENT:e}),u(u.S+u.F*o(function(){g.of.call(v,1)}),s,{from:Lt,of:Tt}),"BYTES_PER_ELEMENT"in E||h(E,"BYTES_PER_ELEMENT",e),u(u.P,s,It),A(s),u(u.P+u.F*Et,s,{set:At}),u(u.P+u.F*!T,s,Ft),r||E.toString==ht||(E.toString=ht),u(u.P+u.F*o(function(){new v(1).slice()}),s,{slice:Nt}),u(u.P+u.F*(o(function(){return[1,2].toLocaleString()!=new v([1,2]).toLocaleString()})||!o(function(){E.toLocaleString.call([1,2])})),s,{toLocaleString:jt}),I[s]=T?L:M,r||T||h(E,vt,M)}}else t.exports=function(){}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(25),a=(r(u),n(24)),c=(r(a),n(11)),s=r(c),f=function(){function t(){i(this,t)}return o(t,[{key:"toRRElement",value:function(t){return new s.default}},{key:"toBNF",value:function(t,e,n){}},{key:"equals",value:function(t){}}]),t}();e.default=f},function(t,e,n){var r=n(5)("unscopables"),i=Array.prototype;void 0==i[r]&&n(12)(i,r,{}),t.exports=function(t){i[r][t]=!0}},function(t,e){t.exports=!1},function(t,e,n){var r=n(45)("meta"),i=n(4),o=n(15),u=n(8).f,a=0,c=Object.isExtensible||function(){return!0},s=!n(3)(function(){return c(Object.preventExtensions({}))}),f=function(t){u(t,r,{value:{i:"O"+ ++a,w:{}}})},l=function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,r)){if(!c(t))return"F";if(!e)return"E";f(t)}return t[r].i},h=function(t,e){if(!o(t,r)){if(!c(t))return!0;if(!e)return!1;f(t)}return t[r].w},p=function(t){return s&&v.NEED&&c(t)&&!o(t,r)&&f(t),t},v=t.exports={KEY:r,NEED:!1,fastKey:l,getWeak:h,onFreeze:p}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var r=n(21),i=n(128),o=n(94),u=n(1),a=n(6),c=n(110),s={},f={},e=t.exports=function(t,e,n,l,h){var p,v,d,y,g=h?function(){return t}:c(t),m=r(n,l,e?2:1),b=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(o(g)){for(p=a(t.length);p>b;b++)if((y=e?m(u(v=t[b])[0],v[1]):m(t[b]))===s||y===f)return y}else for(d=g.call(t);!(v=d.next()).done;)if((y=i(d,m,v.value,e))===s||y===f)return y};e.BREAK=s,e.RETURN=f},function(t,e,n){var r=n(1),i=n(134),o=n(90),u=n(103)("IE_PROTO"),a=function(){},c=function(){var t,e=n(89)("iframe"),r=o.length;for(e.style.display="none",n(92).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("<script>document.F=Object<\/script>"),t.close(),c=t.F;r--;)delete c.prototype[o[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(a.prototype=r(t),n=new a,a.prototype=null,n[u]=t):n=c(),void 0===e?n:i(n,e)}},function(t,e,n){var r=n(136),i=n(90).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,e,n){var r=n(136),i=n(90);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(13);t.exports=function(t,e,n){for(var i in e)r(t,i,e[i],n);return t}},function(t,e,n){"use strict";var r=n(2),i=n(8),o=n(7),u=n(5)("species");t.exports=function(t){var e=r[t];o&&e&&!e[u]&&i.f(e,u,{configurable:!0,get:function(){return this}})}},function(t,e,n){var r=n(23),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(4);t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e,n){var r=n(19),i=n(5)("toStringTag"),o="Arguments"==r(function(){return arguments}()),u=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=u(e=Object(t),i))?n:o?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e){t.exports={}},function(t,e,n){var r=n(8).f,i=n(15),o=n(5)("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(0),i=n(27),o=n(3),u=n(106),a="["+u+"]",c="​…",s=RegExp("^"+a+a+"*"),f=RegExp(a+a+"*$"),l=function(t,e,n){var i={},a=o(function(){return!!u[t]()||c[t]()!=c}),s=i[t]=a?e(h):u[t];n&&(i[n]=s),r(r.P+r.F*a,"String",i)},h=l.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(s,"")),2&e&&(t=t.replace(f,"")),t};t.exports=l},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),o=function(){function t(e,n,i){r(this,t),this.width=e,this.height=n,this.connectorOffset=i}return i(t,[{key:"getWidth",value:function(){return this.width}},{key:"getHeight",value:function(){return this.height}},{key:"getConnectorOffset",value:function(){return this.connectorOffset}}]),t}();e.default=o},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(11),s=r(c),f=n(60),l=r(f),h=n(51),p=r(h),v=n(84),d={LITERAL:1,RULE:2,SPECIAL_SEQUENCE:3},y=function(t){function e(t,n,r){i(this,e);var u=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return u.type=t,u.text=n,u.link=r,u.fontInfo=null,u}return u(e,t),a(e,null,[{key:"Type",get:function(){return d}}]),a(e,[{key:"getType",value:function(){return this.type}},{key:"getText",value:function(){return this.text}},{key:"getLink",value:function(){return this.link}},{key:"computeLayoutInfo",value:function(t){var e={top:5,left:10,bottom:5,right:10},n=void 0;if(this.type==d.RULE)n=t.cssRuleTextClass;else if(this.type==d.LITERAL)n=t.cssLiteralTextClass;else{if(this.type!=d.SPECIAL_SEQUENCE)throw"Unknown type: type";n=t.cssSpecialSequenceTextClass}this.fontInfo=(0,v.getFontInfo)(this.text,n);var r=this.fontInfo.textWidth,i=this.fontInfo.height,o=this.fontInfo.descent,u=e.top+i-o;r+=e.left+e.right,i+=e.top+e.bottom,this.setLayoutInfo(new p.default(r,i,u))}},{key:"toSVG",value:function(t,e,n,r){var i={top:5,left:10,bottom:5,right:10},o=this.getLayoutInfo(),u=o.getWidth(),a=o.getHeight();null!=this.link&&r.addElement('<a xlink:href="'+(0,v.escapeXml)(this.link)+'">');var c=void 0,s=void 0,f=void 0;if(this.type==d.RULE)c=t.cssRuleClass,s=t.cssRuleTextClass,f=t.ruleShape;else if(this.type==d.LITERAL)c=t.cssLiteralClass,s=t.cssLiteralTextClass,f=t.literalShape;else{if(this.type!=d.SPECIAL_SEQUENCE)throw"Unknown type: type";c=t.cssSpecialSequenceClass,s=t.cssSpecialSequenceTextClass,f=t.specialSequenceShape}if(f==l.default.BoxShape.RECTANGLE)r.addElement('<rect class="'+c+'" x="'+e+'" y="'+n+'" width="'+u+'" height="'+a+'"/>');else if(f==l.default.BoxShape.ROUNDED_RECTANGLE){var h=Math.floor((i.left+i.right+i.top+i.bottom)/4);r.addElement('<rect class="'+c+'" x="'+e+'" y="'+n+'" width="'+u+'" height="'+a+'" rx="'+h+'"/>')}else if(f==l.default.BoxShape.HEXAGON){var p=o.getConnectorOffset();r.addLineConnector(e,n+p,e+i.left,n+p),r.addElement('<polygon class="'+(0,v.escapeXml)(c)+'" points="'+e+" "+(n+Math.floor(a/2))+" "+(e+i.left)+" "+n+" "+(e+u-i.right)+" "+n+" "+(e+u)+" "+(n+Math.floor(a/2))+" "+(e+u-i.right)+" "+(n+a)+" "+(e+i.left)+" "+(n+a)+'"/>'),r.addLineConnector(e+u,n+p,e+u-i.right,n+p)}var y=this.fontInfo.descent,g=this.fontInfo.textHeight,m=e+i.left,b=n+i.top+g-y;r.addElement('<text class="'+(0,v.escapeXml)(s)+'" x="'+m+'" y="'+b+'">'+(0,v.escapeXml)(this.text)+"</text>"),null!=this.link&&r.addElement("</a>")}}]),e}(s.default);e.default=y},function(t,e,n){"use strict";var r=n(1);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var r=n(19);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(20),i=n(2),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(34)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,e,n){var r=n(1),i=n(10),o=n(5)("species");t.exports=function(t,e){var n,u=r(t).constructor;return void 0===u||void 0==(n=r(u)[o])?e:i(n)}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(59),a=r(u),c=n(24),s=r(c),f=n(32),l=(r(f),n(25)),h=(r(l),function(){function t(e,n,r){i(this,t),this.name=e,this.expression=n,this.originalExpressionText=r}return o(t,[{key:"getName",value:function(){return this.name}},{key:"getOriginalExpressionText",value:function(){return this.originalExpressionText}},{key:"toRRDiagram",value:function(t){return new a.default(this.expression.toRRElement(t))}},{key:"toBNF",value:function(t){var e=[];switch(e.push(this.name," "),t.ruleDefinitionSign){case s.default.RuleDefinitionSign.EQUAL:e.push("=");break;case s.default.RuleDefinitionSign.COLON_EQUAL:e.push(":=");break;case s.default.RuleDefinitionSign.COLON_COLON_EQUAL:e.push("::=")}return e.push(" "),this.expression.toBNF(t,e,!1),e.push(";"),e.join("")}}]),t}());e.default=h},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(11),a=(r(u),n(83)),c=r(a),s=n(157),f=r(s),l=n(80),h=r(l),p=function(){function t(e){i(this,t),this.rrElement=e}return o(t,[{key:"toSVG",value:function(t){var e=[];if(this.rrElement instanceof c.default){var n=[],r=!0,i=!1,o=void 0;try{for(var u,a=this.rrElement.getRRElements()[Symbol.iterator]();!(r=(u=a.next()).done);r=!0){var s=u.value;s instanceof h.default?0!=n.length&&(e.push(1==n.length?n[0]:new c.default(n.slice())),n.length=0):n.push(s)}}catch(t){i=!0,o=t}finally{try{!r&&a.return&&a.return()}finally{if(i)throw o}}0!=n.length&&e.push(1==n.length?n[0]:new c.default(n.slice()))}else e.push(this.rrElement);for(var l=5,p=5,v=0;v<e.length;v++){v>0&&(p+=5);var d=e[v];d.computeLayoutInfo(t);var y=d.getLayoutInfo();l=Math.max(l,5+y.getWidth()+5),p+=y.getHeight()+5}var g=new f.default,m=5,b=!0,x=!1,w=void 0;try{for(var _,E=e[Symbol.iterator]();!(b=(_=E.next()).done);b=!0){var S=_.value,O=S.getLayoutInfo(),k=O.getConnectorOffset(),C=O.getWidth(),R=O.getHeight(),P=m+k;g.addLineConnector(0,P,5,P),S.toSVG(t,5,m,g),g.addLineConnector(5+C,P,5+C+5,P),m+=R+10}}catch(t){x=!0,w=t}finally{try{!b&&E.return&&E.return()}finally{if(x)throw w}}var L=g.getConnectorElement(t),T=g.getElements(),M=[];return M.push('<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="',l,'" height="',p,'" viewbox="0 0 '+l+" "+p+'">'),M.push(L),M.push(T),M.push("</svg>"),M.join("")}}]),t}();e.default=p},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(52),a=(r(u),n(59)),c=(r(a),{RECTANGLE:1,ROUNDED_RECTANGLE:2,HEXAGON:3}),s=function(){function t(){i(this,t),this.cssConnectorClass="rrConnector",this.cssRuleClass="rrRule",this.cssRuleTextClass="rrRuleText",this.cssLiteralClass="rrLiteral",this.cssLiteralTextClass="rrLiteralText",this.cssSpecialSequenceClass="rrSpecialSequence",this.cssSpecialSequenceTextClass="rrSpecialSequenceText",this.cssLoopCardinalitiesTextClass="rrLoopCardinalities",this.ruleShape=c.RECTANGLE,this.literalShape=c.ROUNDED_RECTANGLE,this.specialSequenceShape=c.HEXAGON}return o(t,null,[{key:"BoxShape",get:function(){return c}}]),o(t,[{key:"convert",value:function(t){return t.toSVG(this)}}]),t}();e.default=s},function(t,e,n){var r=n(18),i=n(6),o=n(44);t.exports=function(t){return function(e,n,u){var a,c=r(e),s=i(c.length),f=o(u,s);if(t&&n!=n){for(;s>f;)if((a=c[f++])!=a)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e,n){"use strict";var r=n(2),i=n(0),o=n(13),u=n(42),a=n(35),c=n(37),s=n(36),f=n(4),l=n(3),h=n(66),p=n(49),v=n(93);t.exports=function(t,e,n,d,y,g){var m=r[t],b=m,x=y?"set":"add",w=b&&b.prototype,_={},E=function(t){var e=w[t];o(w,t,"delete"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return g&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof b&&(g||w.forEach&&!l(function(){(new b).entries().next()}))){var S=new b,O=S[x](g?{}:-0,1)!=S,k=l(function(){S.has(1)}),C=h(function(t){new b(t)}),R=!g&&l(function(){for(var t=new b,e=5;e--;)t[x](e,e);return!t.has(-0)});C||(b=e(function(e,n){s(e,b,t);var r=v(new m,e,b);return void 0!=n&&c(n,y,r[x],r),r}),b.prototype=w,w.constructor=b),(k||R)&&(E("delete"),E("has"),y&&E("get")),(R||O)&&E(x),g&&w.clear&&delete w.clear}else b=d.getConstructor(e,t,y,x),u(b.prototype,n),a.NEED=!0;return p(b,t),_[t]=b,i(i.G+i.W+i.F*(b!=m),_),g||d.setStrong(b,t,y),b}},function(t,e,n){"use strict";n(148);var r=n(13),i=n(12),o=n(3),u=n(27),a=n(5),c=n(101),s=a("species"),f=!o(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}),l=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var h=a(t),p=!o(function(){var e={};return e[h]=function(){return 7},7!=""[t](e)}),v=p?!o(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[s]=function(){return n}),n[h](""),!e}):void 0;if(!p||!v||"replace"===t&&!f||"split"===t&&!l){var d=/./[h],y=n(u,h,""[t],function(t,e,n,r,i){return e.exec===c?p&&!i?{done:!0,value:d.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),g=y[0],m=y[1];r(String.prototype,t,g),i(RegExp.prototype,h,2==e?function(t,e){return m.call(t,this,e)}:function(t){return m.call(t,this)})}}},function(t,e,n){var r=n(19);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(4),i=n(19),o=n(5)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},function(t,e,n){var r=n(5)("iterator"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],u=o[r]();u.next=function(){return{done:n=!0}},o[r]=function(){return u},t(o)}catch(t){}return n}},function(t,e,n){"use strict";t.exports=n(34)||!n(3)(function(){var t=Math.random();__defineSetter__.call(null,t,function(){}),delete n(2)[t]})},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){"use strict";var r=n(47),i=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var o=n.call(t,e);if("object"!=typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},function(t,e,n){"use strict";var r=n(0),i=n(10),o=n(21),u=n(37);t.exports=function(t){r(r.S,t,{from:function(t){var e,n,r,a,c=arguments[1];return i(this),e=void 0!==c,e&&i(c),void 0==t?new this:(n=[],e?(r=0,a=o(c,arguments[2],2),u(t,!1,function(t){n.push(a(t,r++))})):u(t,!1,n.push,n),new this(n))}})}},function(t,e,n){"use strict";var r=n(0);t.exports=function(t){r(r.S,t,{of:function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)}})}},function(t,e,n){var r=n(23),i=n(27);t.exports=function(t){return function(e,n){var o,u,a=String(i(e)),c=r(n),s=a.length;return c<0||c>=s?t?"":void 0:(o=a.charCodeAt(c),o<55296||o>56319||c+1===s||(u=a.charCodeAt(c+1))<56320||u>57343?t?a.charAt(c):o:t?a.slice(c,c+2):u-56320+(o-55296<<10)+65536)}}},function(t,e,n){for(var r,i=n(2),o=n(12),u=n(45),a=u("typed_array"),c=u("view"),s=!(!i.ArrayBuffer||!i.DataView),f=s,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(r=i[h[l++]])?(o(r.prototype,a,!0),o(r.prototype,c,!0)):f=!1;t.exports={ABV:s,CONSTR:f,TYPED:a,VIEW:c}},function(t,e,n){var r=n(2),i=r.navigator;t.exports=i&&i.userAgent||""},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(58),a=(r(u),n(24)),c=(r(a),function(){function t(e){i(this,t),0==arguments.length?e=[]:e.constructor!==Array&&(e=arguments),this.rules=e}return o(t,[{key:"getRules",value:function(){return this.rules}},{key:"toBNF",value:function(t){for(var e=[],n=0;n<this.rules.length;n++)n>0&&e.push("\n"),e.push(this.rules[n].toBNF(t));return e.join("")}}]),t}());e.default=c},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(32),s=r(c),f=n(52),l=r(f),h=n(25),p=(r(h),n(11)),v=(r(p),n(24)),d=r(v),y=function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return n.text=t,n}return u(e,t),a(e,[{key:"toRRElement",value:function(t){return new l.default(l.default.Type.LITERAL,this.text,null)}},{key:"toBNF",value:function(t,e,n){var r=t.literalDefinitionSign==d.default.LiteralDefinitionSign.DOUBLE_QUOTE?'"':"'";e.push(r),e.push(this.text),e.push(r)}},{key:"equals",value:function(t){return t instanceof e&&this.text==t.text}}]),e}(s.default);e.default=y},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(32),s=r(c),f=n(81),l=r(f),h=n(115),p=r(h),v=n(82),d=r(v),y=n(25),g=(r(y),n(11)),m=(r(g),n(24)),b=(r(m),function(t){function e(t,n,r){i(this,e);var u=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return u.expression=t,u.minRepetitionCount=0|n,u.maxRepetitionCount=r,u}return u(e,t),a(e,[{key:"getExpression",value:function(){return this.expression}},{key:"getMinRepetitionCount",value:function(){return this.minRepetitionCount}},{key:"getMaxRepetitionCount",value:function(){return this.maxRepetitionCount}},{key:"toRRElement",value:function(t){var e=this.expression.toRRElement(t);return 0==this.minRepetitionCount?null==this.maxRepetitionCount||this.maxRepetitionCount>1?new l.default(new d.default(e,null,0,null==this.maxRepetitionCount?null:this.maxRepetitionCount-1),new p.default):new l.default(e,new p.default):new d.default(e,null,this.minRepetitionCount-1,null==this.maxRepetitionCount?null:this.maxRepetitionCount-1)}},{key:"toBNF",value:function(t,e,n){var r=t.isUsingMultiplicationTokens;null==this.maxRepetitionCount?this.minRepetitionCount>0?1==this.minRepetitionCount&&r?(this.expression.toBNF(t,e,!0),e.push("+")):(n&&e.push("( "),this.minRepetitionCount>1&&e.push(this.minRepetitionCount," * "),this.expression.toBNF(t,e,!1),t.isCommaSeparator&&e.push(" ,"),e.push(" ","{ "),this.expression.toBNF(t,e,!1),e.push(" }"),n&&e.push(" )")):r?(this.expression.toBNF(t,e,!0),e.push("*")):(e.push("{ "),this.expression.toBNF(t,e,!1),e.push(" }")):0==this.minRepetitionCount?1==this.maxRepetitionCount&&r?(this.expression.toBNF(t,e,!0),e.push("?")):(this.maxRepetitionCount>1&&e.push(this.maxRepetitionCount," * "),e.push("[ "),this.expression.toBNF(t,e,!1),e.push(" ]")):this.minRepetitionCount==this.maxRepetitionCount?(e.push(this.minRepetitionCount," * "),this.expression.toBNF(t,e,n)):(n&&e.push("( "),e.push(this.minRepetitionCount," * "),this.expression.toBNF(t,e,!1),t.isCommaSeparator&&e.push(" ,"),e.push(" ",this.maxRepetitionCount-this.minRepetitionCount," * ","[ "),this.expression.toBNF(t,e,!1),e.push(" ]"),n&&e.push(" )"))}},{key:"equals",value:function(t){return t instanceof e&&(this.expression.equals(t.expression)&&this.minRepetitionCount==t.minRepetitionCount&&null==this.maxRepetitionCount?null==t.maxRepetitionCount:this.maxRepetitionCount.equals(t.maxRepetitionCount))}}]),e}(s.default));e.default=b},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(32),s=r(c),f=n(80),l=r(f),h=n(52),p=r(h),v=n(25),d=(r(v),n(11)),y=(r(d),n(24)),g=(r(y),function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return n.ruleName=t,n}return u(e,t),a(e,[{key:"getRuleName",value:function(){return this.ruleName}},{key:"toRRElement",value:function(t){var e=t.ruleConsideredAsLineBreak;if(null!=e&&e===this.ruleName)return new l.default;var n=t.ruleLinkProvider;return new p.default(p.default.Type.RULE,this.ruleName,null==n?null:n(this.ruleName))}},{key:"toBNF",value:function(t,e,n){e.push(this.ruleName);var r=t.ruleConsideredAsLineBreak;null!=r&&r===this.ruleName&&e.push("\n")}},{key:"equals",value:function(t){return t instanceof e&&this.ruleName==t.ruleName}}]),e}(s.default));e.default=g},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(32),s=r(c),f=n(82),l=r(f),h=n(83),p=r(h),v=n(78),d=r(v),y=n(77),g=r(y),m=n(76),b=r(m),x=n(25),w=(r(x),n(11)),_=(r(w),n(24)),E=(r(_),function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return 0==arguments.length?t=[]:t.constructor!==Array&&(t=arguments),n.expressions=t,n}return u(e,t),a(e,[{key:"getExpressions",value:function(){return this.expressions}},{key:"toRRElement",value:function(t){for(var n=[],r=0;r<this.expressions.length;r++){var i=this.expressions[r],o=i.toRRElement(t);if(r<this.expressions.length-1&&this.expressions[r+1]instanceof g.default){var u=this.expressions[r+1],a=u.getExpression();if(a instanceof e){var c=a.getExpressions();if(2==c.length&&c[0]instanceof b.default&&i.equals(c[1])){var s=u.getMaxRepetitionCount();(null==s||s>1)&&(o=new l.default(i.toRRElement(t),c[0].toRRElement(t),u.getMinRepetitionCount(),null==s?null:s),r++)}}else if(i instanceof d.default){var f=i;if(a instanceof d.default&&a.getRuleName().equals(f.getRuleName())){var h=u.getMaxRepetitionCount();(null==h||h>1)&&(o=new l.default(f.toRRElement(t),null,u.getMinRepetitionCount(),null==h?null:h),r++)}}}n.push(o)}return new p.default(n)}},{key:"toBNF",value:function(t,e,n){if(0==this.expressions.length)return void e.push("( )");n&&this.expressions.length>1&&e.push("( ");for(var r=t.isCommaSeparator,i=0;i<this.expressions.length;i++)i>0&&(r&&e.push(" ,"),e.push(" ")),this.expressions[i].toBNF(t,e,1==this.expressions.length&&n||!r);n&&this.expressions.length>1&&e.push(" )")}},{key:"equals",value:function(t){if(!(t instanceof e))return!1;if(this.expressions.length!=t.expressions.length)return!1;for(var n=0;n<this.expressions.length;n++)if(!this.expressions[n].equals(t.expressions[n]))return!1;return!0}}]),e}(s.default));e.default=E},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var u=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),a=n(11),c=function(t){return t&&t.__esModule?t:{default:t}}(a),s=function(t){function e(){return r(this,e),i(this,(e.__proto__||Object.getPrototypeOf(e)).call(this))}return o(e,t),u(e,[{key:"computeLayoutInfo",value:function(t){throw"This element must not be nested and should have been processed before entering generation."}},{key:"toSVG",value:function(t,e,n,r){throw"This element must not be nested and should have been processed before entering generation."}}]),e}(c.default);e.default=s},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(11),s=r(c),f=n(51),l=r(f),h=function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return 0==arguments.length?t=[]:t.constructor!==Array&&(t=arguments),n.rrElements=t,n}return u(e,t),a(e,[{key:"computeLayoutInfo",value:function(t){for(var e=0,n=0,r=0,i=0;i<this.rrElements.length;i++){var o=this.rrElements[i];o.computeLayoutInfo(t);var u=o.getLayoutInfo();0==i?r=u.getConnectorOffset():n+=5,n+=u.getHeight(),e=Math.max(e,u.getWidth())}e+=40,this.setLayoutInfo(new l.default(e,n,r))}},{key:"toSVG",value:function(t,e,n,r){for(var i=this.getLayoutInfo(),o=n+i.getConnectorOffset(),u=e+10,a=e+i.getWidth()-10,c=e+20,s=0,f=n,l=0;l<this.rrElements.length;l++){var h=this.rrElements[l],p=h.getLayoutInfo(),v=p.getWidth(),d=p.getHeight();s=f+p.getConnectorOffset(),0==l?r.addLineConnector(u-10,o,u+10,o):(l==this.rrElements.length-1&&(r.addPathConnector(u-5,o,"q5 0 5 5",u,o+5),r.addLineConnector(u,o+5,u,s-5)),r.addPathConnector(u,s-5,"q0 5 5 5",u+5,s),r.addLineConnector(u+5,s,c,s)),h.toSVG(t,c,f,r),0==l?r.addLineConnector(c+v,s,a+10,s):(r.addLineConnector(a-5,s,c+v,s),r.addPathConnector(a-5,s,"q5 0 5-5",a,s-5),l==this.rrElements.length-1&&(r.addLineConnector(a,s-5,a,o+5),r.addPathConnector(a,o+5,"q0-5 5-5",a+5,o))),f+=d+5}}}]),e}(s.default);e.default=h},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(11),s=r(c),f=n(60),l=(r(f),n(51)),h=r(l),p=n(84),v=function(t){function e(t,n,r,u){i(this,e);var a=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));if(a.rrElement=t,a.loopElement=n,r<0)throw new IllegalArgumentException("Minimum repetition must be positive!");if(null!=u&&u<r)throw new IllegalArgumentException("Maximum repetition must not be smaller than minimum!");return a.minRepetitionCount=r,a.maxRepetitionCount=u,a.cardinalitiesText=null,a.cardinalitiesWidth=null,a.fontYOffset=null,a}return u(e,t),a(e,[{key:"computeLayoutInfo",value:function(t){if(this.cardinalitiesText=null,this.cardinalitiesWidth=0,this.fontYOffset=0,this.minRepetitionCount>0||null!=this.maxRepetitionCount){this.cardinalitiesText=this.minRepetitionCount+".."+(null==this.maxRepetitionCount?"N":this.maxRepetitionCount);var e=(0,p.getFontInfo)(this.cardinalitiesText,t.cssLoopCardinalitiesTextClass);this.fontYOffset=e.descent,this.cardinalitiesWidth=e.textWidth+2}this.rrElement.computeLayoutInfo(t);var n=this.rrElement.getLayoutInfo(),r=n.getWidth(),i=n.getHeight(),o=n.getConnectorOffset();if(null!=this.loopElement){this.loopElement.computeLayoutInfo(t);var u=this.loopElement.getLayoutInfo();r=Math.max(r,u.getWidth());var a=u.getHeight();i+=5+a,o+=5+a}else i+=15,o+=15;r+=40+this.cardinalitiesWidth,this.setLayoutInfo(new h.default(r,i,o))}},{key:"toSVG",value:function(t,e,n,r){var i=this.rrElement.getLayoutInfo(),o=i.getWidth(),u=o,a=n,c=this.getLayoutInfo(),s=c.getConnectorOffset(),f=n,l=0,h=0;if(null!=this.loopElement){var v=this.loopElement.getLayoutInfo();h=v.getWidth(),u=Math.max(u,h),l=e+20+Math.floor((u-h)/2),a+=5+v.getHeight(),f+=v.getConnectorOffset()}else a+=15,f+=5;var d=e+10,y=e+20+u+10+this.cardinalitiesWidth,g=n+s;r.addLineConnector(d-10,g,d+10+Math.floor((u-o)/2),g);var m=d+5;r.addPathConnector(d+5,g,"q-5 0-5-5",d,g-5),r.addLineConnector(d,g-5,d,f+5),r.addPathConnector(d,f+5,"q0-5 5-5",d+5,f),null!=this.loopElement&&(r.addLineConnector(d+5,f,l,f),this.loopElement.toSVG(t,l,n,r),m=l+h),r.addLineConnector(m,f,y-5,f),r.addPathConnector(y-5,f,"q5 0 5 5",y,f+5),r.addLineConnector(y,f+5,y,g-5),r.addPathConnector(y,g-5,"q0 5-5 5",y-5,g),null!=this.cardinalitiesText&&r.addElement('<text class="'+(0,p.escapeXml)(t.cssLoopCardinalitiesTextClass)+'" x="'+(y-this.cardinalitiesWidth)+'" y="'+(g-this.fontYOffset-5)+'">'+(0,p.escapeXml)(this.cardinalitiesText)+"</text>"),this.rrElement.toSVG(t,e+20+Math.floor((u-o)/2),a,r),r.addLineConnector(y-this.cardinalitiesWidth-10-Math.floor((u-o)/2),g,e+c.getWidth(),g)}}]),e}(s.default);e.default=v},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(11),s=r(c),f=n(51),l=r(f),h=function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return 0==arguments.length?t=[]:t.constructor!==Array&&(t=arguments),n.rrElements=t,n}return u(e,t),a(e,[{key:"getRRElements",value:function(){return this.rrElements}},{key:"computeLayoutInfo",value:function(t){for(var e=0,n=0,r=0,i=0;i<this.rrElements.length;i++){var o=this.rrElements[i];o.computeLayoutInfo(t),i>0&&(e+=10);var u=o.getLayoutInfo();e+=u.getWidth();var a=u.getHeight(),c=u.getConnectorOffset();n=Math.max(n,c),r=Math.max(r,a-c)}this.setLayoutInfo(new l.default(e,n+r,n))}},{key:"toSVG",value:function(t,e,n,r){for(var i=this.getLayoutInfo(),o=i.getConnectorOffset(),u=0,a=0;a<this.rrElements.length;a++){var c=this.rrElements[a],s=c.getLayoutInfo(),f=s.getWidth(),l=s.getConnectorOffset(),h=u+e,p=n+o-l;a>0&&r.addLineConnector(h-10,n+o,h,n+o),c.toSVG(t,h,p,r),u+=10,u+=f}}}]),e}(s.default);e.default=h},function(t,e,n){"use strict";function r(t){return t.replace(/[<>&'"]/g,function(t){switch(t){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";case"'":return"&apos;";case'"':return"&quot;"}})}function i(t,e){var n=document.body,r=document.createElement("div");r.className=e,n.appendChild(r);var i=window.getComputedStyle(r,null),o=i.getPropertyValue("font-size"),u=i.getPropertyValue("font-family");n.removeChild(r);var a=document.createElement("div");a.style.fontFamily=u,a.style.fontSize=o;var c=document.createElement("img");c.width=1,c.height=1,c.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAAACklEQVR4nGP6DwABBQECz6AuzQAAAABJRU5ErkJggg==";var s=document.createTextNode(t);a.appendChild(s),a.appendChild(c),n.appendChild(a),c.style.display="none",a.style.display="inline";var f=a.offsetHeight,l=a.offsetWidth;c.style.display="inline";var h=l+c.offsetWidth;a.style.cssText="margin: 500px 0; display: block; width: "+h+"px; white-space: nowrap; overflow: hidden; position: absolute; top: 0;",a.style.fontFamily=u,a.style.fontSize=o;var p=f-c.offsetTop,v=a.offsetHeight,d={textWidth:l,textHeight:f,descent:p,height:v};return n.removeChild(a),d}Object.defineProperty(e,"__esModule",{value:!0}),e.escapeXml=r,e.getFontInfo=i},function(t,e,n){"use strict";var r=n(72)(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},function(t,e,n){"use strict";var r=n(9),i=n(44),o=n(6);t.exports=function(t){for(var e=r(this),n=o(e.length),u=arguments.length,a=i(u>1?arguments[1]:void 0,n),c=u>2?arguments[2]:void 0,s=void 0===c?n:i(c,n);s>a;)e[a++]=t;return e}},function(t,e,n){var r=n(161);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){"use strict";var r=n(8),i=n(41);t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},function(t,e,n){var r=n(4),i=n(2).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(5)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(t){}}return!0}},function(t,e,n){var r=n(2).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(4),i=n(102).set;t.exports=function(t,e,n){var o,u=e.constructor;return u!==n&&"function"==typeof u&&(o=u.prototype)!==n.prototype&&r(o)&&i&&i(t,o),t}},function(t,e,n){var r=n(48),i=n(5)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},function(t,e,n){"use strict";var r=n(38),i=n(41),o=n(49),u={};n(12)(u,n(5)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(u,{next:i(1,n)}),o(t,e+" Iterator")}},function(t,e,n){"use strict";var r=n(34),i=n(0),o=n(13),u=n(12),a=n(48),c=n(95),s=n(49),f=n(17),l=n(5)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(t,e,n,v,d,y,g){c(n,e,v);var m,b,x,w=function(t){if(!h&&t in O)return O[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},_=e+" Iterator",E="values"==d,S=!1,O=t.prototype,k=O[l]||O["@@iterator"]||d&&O[d],C=k||w(d),R=d?E?w("entries"):C:void 0,P="Array"==e?O.entries||k:k;if(P&&(x=f(P.call(new t)))!==Object.prototype&&x.next&&(s(x,_,!0),r||"function"==typeof x[l]||u(x,l,p)),E&&k&&"values"!==k.name&&(S=!0,C=function(){return k.call(this)}),r&&!g||!h&&!S&&O[l]||u(O,l,C),a[e]=C,a[_]=p,d)if(m={values:E?C:w("values"),keys:y?C:w("keys"),entries:R},g)for(b in m)b in O||o(O,b,m[b]);else i(i.P+i.F*(h||S),e,m);return m}},function(t,e){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,n){var r=n(2),i=n(107).set,o=r.MutationObserver||r.WebKitMutationObserver,u=r.process,a=r.Promise,c="process"==n(19)(u);t.exports=function(){var t,e,n,s=function(){var r,i;for(c&&(r=u.domain)&&r.exit();t;){i=t.fn,t=t.next;try{i()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(c)n=function(){u.nextTick(s)};else if(!o||r.navigator&&r.navigator.standalone)if(a&&a.resolve){var f=a.resolve(void 0);n=function(){f.then(s)}}else n=function(){i.call(r,s)};else{var l=!0,h=document.createTextNode("");new o(s).observe(h,{characterData:!0}),n=function(){h.data=l=!l}}return function(r){var i={fn:r,next:void 0};e&&(e.next=i),t||(t=i,n()),e=i}}},function(t,e,n){"use strict";function r(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=i(e),this.reject=i(n)}var i=n(10);t.exports.f=function(t){return new r(t)}},function(t,e,n){"use strict";var r=n(53),i=RegExp.prototype.exec,o=String.prototype.replace,u=i,a=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),c=void 0!==/()??/.exec("")[1];(a||c)&&(u=function(t){var e,n,u,s,f=this;return c&&(n=new RegExp("^"+f.source+"$(?!\\s)",r.call(f))),a&&(e=f.lastIndex),u=i.call(f,t),a&&u&&(f.lastIndex=f.global?u.index+u[0].length:e),c&&u&&u.length>1&&o.call(u[0],n,function(){for(s=1;s<arguments.length-2;s++)void 0===arguments[s]&&(u[s]=void 0)}),u}),t.exports=u},function(t,e,n){var r=n(4),i=n(1),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=n(21)(Function.call,n(16).f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},function(t,e,n){var r=n(56)("keys"),i=n(45);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){var r=n(65),i=n(27);t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(t))}},function(t,e,n){"use strict";var r=n(23),i=n(27);t.exports=function(t){var e=String(i(this)),n="",o=r(t);if(o<0||o==1/0)throw RangeError("Count can't be negative");for(;o>0;(o>>>=1)&&(e+=e))1&o&&(n+=e);return n}},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r,i,o,u=n(21),a=n(126),c=n(92),s=n(89),f=n(2),l=f.process,h=f.setImmediate,p=f.clearImmediate,v=f.MessageChannel,d=f.Dispatch,y=0,g={},m=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},b=function(t){m.call(t.data)};h&&p||(h=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return g[++y]=function(){a("function"==typeof t?t:Function(t),e)},r(y),y},p=function(t){delete g[t]},"process"==n(19)(l)?r=function(t){l.nextTick(u(m,t,1))}:d&&d.now?r=function(t){d.now(u(m,t,1))}:v?(i=new v,o=i.port2,i.port1.onmessage=b,r=u(o.postMessage,o,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",b,!1)):r="onreadystatechange"in s("script")?function(t){c.appendChild(s("script")).onreadystatechange=function(){c.removeChild(this),m.call(t)}}:function(t){setTimeout(u(m,t,1),0)}),t.exports={set:h,clear:p}},function(t,e,n){"use strict";function r(t,e,n){var r,i,o,u=new Array(n),a=8*n-e-1,c=(1<<a)-1,s=c>>1,f=23===e?B(2,-24)-B(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for(t=F(t),t!=t||t===N?(i=t!=t?1:0,r=c):(r=U(G(t)/D),t*(o=B(2,-r))<1&&(r--,o*=2),t+=r+s>=1?f/o:f*B(2,1-s),t*o>=2&&(r++,o/=2),r+s>=c?(i=0,r=c):r+s>=1?(i=(t*o-1)*B(2,e),r+=s):(i=t*B(2,s-1)*B(2,e),r=0));e>=8;u[l++]=255&i,i/=256,e-=8);for(r=r<<e|i,a+=e;a>0;u[l++]=255&r,r/=256,a-=8);return u[--l]|=128*h,u}function i(t,e,n){var r,i=8*n-e-1,o=(1<<i)-1,u=o>>1,a=i-7,c=n-1,s=t[c--],f=127&s;for(s>>=7;a>0;f=256*f+t[c],c--,a-=8);for(r=f&(1<<-a)-1,f>>=-a,a+=e;a>0;r=256*r+t[c],c--,a-=8);if(0===f)f=1-u;else{if(f===o)return r?NaN:s?-N:N;r+=B(2,e),f-=u}return(s?-1:1)*r*B(2,f-e)}function o(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function u(t){return[255&t]}function a(t){return[255&t,t>>8&255]}function c(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function s(t){return r(t,52,8)}function f(t){return r(t,23,4)}function l(t,e,n){k(t[P],e,{get:function(){return this[n]}})}function h(t,e,n,r){var i=+n,o=S(i);if(o+e>t[V])throw I(L);var u=t[W]._b,a=o+t[Y],c=u.slice(a,a+e);return r?c:c.reverse()}function p(t,e,n,r,i,o){var u=+n,a=S(u);if(a+e>t[V])throw I(L);for(var c=t[W]._b,s=a+t[Y],f=r(+i),l=0;l<e;l++)c[s+l]=f[o?l:e-l-1]}var v=n(2),d=n(7),y=n(34),g=n(73),m=n(12),b=n(42),x=n(3),w=n(36),_=n(23),E=n(6),S=n(145),O=n(39).f,k=n(8).f,C=n(86),R=n(49),P="prototype",L="Wrong index!",T=v.ArrayBuffer,M=v.DataView,j=v.Math,I=v.RangeError,N=v.Infinity,A=T,F=j.abs,B=j.pow,U=j.floor,G=j.log,D=j.LN2,W=d?"_b":"buffer",V=d?"_l":"byteLength",Y=d?"_o":"byteOffset";if(g.ABV){if(!x(function(){T(1)})||!x(function(){new T(-1)})||x(function(){return new T,new T(1.5),new T(NaN),"ArrayBuffer"!=T.name})){T=function(t){return w(this,T),new A(S(t))};for(var X,q=T[P]=A[P],H=O(A),Q=0;H.length>Q;)(X=H[Q++])in T||m(T,X,A[X]);y||(q.constructor=T)}var z=new M(new T(2)),K=M[P].setInt8;z.setInt8(0,2147483648),z.setInt8(1,2147483649),!z.getInt8(0)&&z.getInt8(1)||b(M[P],{setInt8:function(t,e){K.call(this,t,e<<24>>24)},setUint8:function(t,e){K.call(this,t,e<<24>>24)}},!0)}else T=function(t){w(this,T,"ArrayBuffer");var e=S(t);this._b=C.call(new Array(e),0),this[V]=e},M=function(t,e,n){w(this,M,"DataView"),w(t,T,"DataView");var r=t[V],i=_(e);if(i<0||i>r)throw I("Wrong offset!");if(n=void 0===n?r-i:E(n),i+n>r)throw I("Wrong length!");this[W]=t,this[Y]=i,this[V]=n},d&&(l(T,"byteLength","_l"),l(M,"buffer","_b"),l(M,"byteLength","_l"),l(M,"byteOffset","_o")),b(M[P],{getInt8:function(t){return h(this,1,t)[0]<<24>>24},getUint8:function(t){return h(this,1,t)[0]},getInt16:function(t){var e=h(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=h(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return o(h(this,4,t,arguments[1]))},getUint32:function(t){return o(h(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return i(h(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return i(h(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){p(this,1,t,u,e)},setUint8:function(t,e){p(this,1,t,u,e)},setInt16:function(t,e){p(this,2,t,a,e,arguments[2])},setUint16:function(t,e){p(this,2,t,a,e,arguments[2])},setInt32:function(t,e){p(this,4,t,c,e,arguments[2])},setUint32:function(t,e){p(this,4,t,c,e,arguments[2])},setFloat32:function(t,e){p(this,4,t,f,e,arguments[2])},setFloat64:function(t,e){p(this,8,t,s,e,arguments[2])}});R(T,"ArrayBuffer"),R(M,"DataView"),m(M[P],g.VIEW,!0),e.ArrayBuffer=T,e.DataView=M},function(t,e,n){var r=n(2),i=n(20),o=n(34),u=n(146),a=n(8).f;t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:u.f(t)})}},function(t,e,n){var r=n(47),i=n(5)("iterator"),o=n(48);t.exports=n(20).getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,e,n){"use strict";var r=n(33),i=n(129),o=n(48),u=n(18);t.exports=n(96)(Array,"Array",function(t,e){this._t=u(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):"keys"==e?i(0,n):"values"==e?i(0,t[n]):i(0,[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e,n){e.prune();var r=e.getExpression();return new l.default(t,r,n)}function u(t,e,n){for(var r,i=[],o=0,a=[],c=!0,f=!1,l=0,h=t.getType()==s.default.ChunkType.LITERAL;-1!=(r=e());)if(i.push(r),h){if(r==n){var p=a.join("");return t.setText(p),i.join("")}a.push(r)}else{if(c&&t.getType()==s.default.ChunkType.GROUP)switch(r){case"*":case"?":f=!0,l=r}if(c=!1,f){if(")"==r&&o==l){switch(l){case"*":t.setType(s.default.ChunkType.COMMENT);break;case"?":t.setType(s.default.ChunkType.SPECIAL_SEQUENCE)}var v=a.join("");return v=v.slice(1,v.length-1).trim(),t.setText(v),i.join("")}(a.length>0||!/\s/.test(r))&&a.push(r)}else{if(r==n){var d=a.join("").trim();return d.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,d)),i.join("")}switch(r){case",":case" ":case"\n":case"\r":case"\t":var y=a.join("").trim();y.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,y)),a.length=0;break;case"|":var g=a.join("").trim();g.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,g)),a.length=0,t.addChunk(new s.default(s.default.ChunkType.ALTERNATION));break;case"*":case"+":case"?":var m=a.join("").trim();m.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,m)),a.length=0,t.addChunk(new s.default(s.default.ChunkType.REPETITION_TOKEN,r));break;case'"':var b=a.join("").trim();b.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,b)),a.length=0;var x=new s.default(s.default.ChunkType.LITERAL),w=u(x,e,'"');i.push(w),t.addChunk(x);break;case"'":var _=a.join("").trim();_.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,_)),a.length=0;var E=new s.default(s.default.ChunkType.LITERAL),S=u(E,e,"'");i.push(S),t.addChunk(E);break;case"(":var O=a.join("").trim();O.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,O)),a.length=0;var k=new s.default(s.default.ChunkType.GROUP),C=u(k,e,")");i.push(C),t.addChunk(k);break;case"[":var R=a.join("").trim();R.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,R)),a.length=0;var P=new s.default(s.default.ChunkType.OPTION),L=u(P,e,"]");i.push(L),t.addChunk(P);break;case"{":var T=a.join("").trim();T.length>0&&t.addChunk(new s.default(s.default.ChunkType.RULE,T)),a.length=0;var M=new s.default(s.default.ChunkType.REPETITION);M.setMinCount(0);var j=u(M,e,"}");i.push(j),t.addChunk(M);break;default:(a.length>0||!/\s/.test(r))&&a.push(r)}}o=r}return i.join("")}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(156),s=r(c),f=n(58),l=r(f),h=n(75),p=r(h),v=function(){function t(){i(this,t)}return a(t,[{key:"convert",value:function(t){for(var e,n=function(){var e=0;return function(){if(e<t.length){var n=t[e];return e++,n}return-1}}(),r=[],i=[];-1!=(e=n());)switch(e){case"=":var a=new s.default(s.default.ChunkType.GROUP),c=u(a,n,";");c.endsWith(";")&&(c=c.slice(0,c.length-1));var f=r.join("");r.length=0,f.endsWith(":")&&(f=f.slice(0,f.length-1),f.endsWith(":")&&(f=f.slice(0,f.length-1))),f=f.trim();var l=o(f,a,c);i.push(l);break;case"(":if("*"!=n())throw"Expecting start of a comment after '(' but could not find '*'!";for(var h,v=0;-1!=(h=n())&&(")"!=h||"*"!=v);)v=h;break;default:(!/\s/.test(e)||r.length>0)&&r.push(e)}return new p.default(i)}}]),t}();e.default=v},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(32),s=r(c),f=n(79),l=r(f),h=n(25),p=(r(h),n(11)),v=(r(p),n(24)),d=(r(v),n(81)),y=r(d),g=function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return 0==arguments.length?t=[]:t.constructor!==Array&&(t=arguments),n.expressions=t,n}return u(e,t),a(e,[{key:"getExpressions",value:function(){return this.expressions}},{key:"toRRElement",value:function(t){var e=[],n=!0,r=!1,i=void 0;try{for(var o,u=this.expressions[Symbol.iterator]();!(n=(o=u.next()).done);n=!0){var a=o.value;e.push(a.toRRElement(t))}}catch(t){r=!0,i=t}finally{try{!n&&u.return&&u.return()}finally{if(r)throw i}}return new y.default(e)}},{key:"toBNF",value:function(t,e,n){var r=[],i=!1,o=!0,u=!1,a=void 0;try{for(var c,s=this.expressions[Symbol.iterator]();!(o=(c=s.next()).done);o=!0){var f=c.value;f instanceof l.default&&0==f.getExpressions().length?i=!0:r.push(f)}}catch(t){u=!0,a=t}finally{try{!o&&s.return&&s.return()}finally{if(u)throw a}}if(0==r.length)e.push("( )");else if(i&&1==r.length){var h=t.isUsingMultiplicationTokens;h||e.push("[ "),r[0].toBNF(t,e,h),h||e.push(" ]")}else{var p=t.isUsingMultiplicationTokens;i&&!p?e.push("[ "):(i||n&&r.length>1)&&e.push("( ");for(var v=r.length,d=0;d<v;d++)d>0&&e.push(" | "),r[d].toBNF(t,e,!1);i&&!p?e.push(" ]"):(i||n&&r.length>1)&&(e.push(" )"),i&&e.push("?"))}}},{key:"equals",value:function(t){if(!(t instanceof e))return!1;if(this.expressions.length!=t.expressions.length)return!1;for(var n=0;n<this.expressions.length;n++)if(!this.expressions[n].equals(t.expressions[n]))return!1;return!0}}]),e}(s.default);e.default=g},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(32),s=r(c),f=n(52),l=r(f),h=n(25),p=(r(h),n(11)),v=(r(p),n(24)),d=(r(v),function(t){function e(t){i(this,e);var n=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return n.text=t,n}return u(e,t),a(e,[{key:"toRRElement",value:function(t){return new l.default(l.default.Type.SPECIAL_SEQUENCE,this.text,null)}},{key:"toBNF",value:function(t,e,n){e.push("(? "),e.push(this.text),e.push(" ?)")}},{key:"equals",value:function(t){return t instanceof e&&this.text==t.text}}]),e}(s.default));e.default=d},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(11),s=r(c),f=n(51),l=r(f),h=function(t){function e(){return i(this,e),o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this))}return u(e,t),a(e,[{key:"computeLayoutInfo",value:function(t){this.setLayoutInfo(new l.default(0,10,5))}},{key:"toSVG",value:function(t,e,n,r){}}]),e}(s.default);e.default=h},function(t,e,n){var r=n(19);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=r(t))throw TypeError(e);return+t}},function(t,e,n){"use strict";var r=n(9),i=n(44),o=n(6);t.exports=[].copyWithin||function(t,e){var n=r(this),u=o(n.length),a=i(t,u),c=i(e,u),s=arguments.length>2?arguments[2]:void 0,f=Math.min((void 0===s?u:i(s,u))-c,u-a),l=1;for(c<a&&a<c+f&&(l=-1,c+=f-1,a+=f-1);f-- >0;)c in n?n[a]=n[c]:delete n[a],a+=l,c+=l;return n}},function(t,e,n){var r=n(37);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},function(t,e,n){var r=n(10),i=n(9),o=n(54),u=n(6);t.exports=function(t,e,n,a,c){r(e);var s=i(t),f=o(s),l=u(s.length),h=c?l-1:0,p=c?-1:1;if(n<2)for(;;){if(h in f){a=f[h],h+=p;break}if(h+=p,c?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;c?h>=0:l>h;h+=p)h in f&&(a=e(a,f[h],h,s));return a}},function(t,e,n){"use strict";var r=n(10),i=n(4),o=n(126),u=[].slice,a={},c=function(t,e,n){if(!(e in a)){for(var r=[],i=0;i<e;i++)r[i]="a["+i+"]";a[e]=Function("F,a","return new F("+r.join(",")+")")}return a[e](t,n)};t.exports=Function.bind||function(t){var e=r(this),n=u.call(arguments,1),a=function(){var r=n.concat(u.call(arguments));return this instanceof a?c(e,r.length,r):o(e,r,t)};return i(e.prototype)&&(a.prototype=e.prototype),a}},function(t,e,n){"use strict";var r=n(8).f,i=n(38),o=n(42),u=n(21),a=n(36),c=n(37),s=n(96),f=n(129),l=n(43),h=n(7),p=n(35).fastKey,v=n(46),d=h?"_s":"size",y=function(t,e){var n,r=p(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,s){var f=t(function(t,r){a(t,f,e,"_i"),t._t=e,t._i=i(null),t._f=void 0,t._l=void 0,t[d]=0,void 0!=r&&c(r,n,t[s],t)});return o(f.prototype,{clear:function(){for(var t=v(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[d]=0},delete:function(t){var n=v(this,e),r=y(n,t);if(r){var i=r.n,o=r.p;delete n._i[r.i],r.r=!0,o&&(o.n=i),i&&(i.p=o),n._f==r&&(n._f=i),n._l==r&&(n._l=o),n[d]--}return!!r},forEach:function(t){v(this,e);for(var n,r=u(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!y(v(this,e),t)}}),h&&r(f.prototype,"size",{get:function(){return v(this,e)[d]}}),f},def:function(t,e,n){var r,i,o=y(t,e);return o?o.v=n:(t._l=o={i:i=p(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=o),r&&(r.n=o),t[d]++,"F"!==i&&(t._i[i]=o)),t},getEntry:y,setStrong:function(t,e,n){s(t,e,function(t,n){this._t=v(t,e),this._k=n,this._l=void 0},function(){for(var t=this,e=t._k,n=t._l;n&&n.r;)n=n.p;return t._t&&(t._l=n=n?n.n:t._t._f)?"keys"==e?f(0,n.k):"values"==e?f(0,n.v):f(0,[n.k,n.v]):(t._t=void 0,f(1))},n?"entries":"values",!n,!0),l(e)}}},function(t,e,n){var r=n(47),i=n(118);t.exports=function(t){return function(){if(r(this)!=t)throw TypeError(t+"#toJSON isn't generic");return i(this)}}},function(t,e,n){"use strict";var r=n(42),i=n(35).getWeak,o=n(1),u=n(4),a=n(36),c=n(37),s=n(26),f=n(15),l=n(46),h=s(5),p=s(6),v=0,d=function(t){return t._l||(t._l=new y)},y=function(){this.a=[]},g=function(t,e){return h(t.a,function(t){return t[0]===e})};y.prototype={get:function(t){var e=g(this,t);if(e)return e[1]},has:function(t){return!!g(this,t)},set:function(t,e){var n=g(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=p(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,o){var s=t(function(t,r){a(t,s,e,"_i"),t._t=e,t._i=v++,t._l=void 0,void 0!=r&&c(r,n,t[o],t)});return r(s.prototype,{delete:function(t){if(!u(t))return!1;var n=i(t);return!0===n?d(l(this,e)).delete(t):n&&f(n,this._i)&&delete n[this._i]},has:function(t){if(!u(t))return!1;var n=i(t);return!0===n?d(l(this,e)).has(t):n&&f(n,this._i)}}),s},def:function(t,e,n){var r=i(o(e),!0);return!0===r?d(t).set(e,n):r[t._i]=n,t},ufstore:d}},function(t,e,n){"use strict";function r(t,e,n,s,f,l,h,p){for(var v,d,y=f,g=0,m=!!h&&a(h,p,3);g<s;){if(g in n){if(v=m?m(n[g],g,e):n[g],d=!1,o(v)&&(d=v[c],d=void 0!==d?!!d:i(v)),d&&l>0)y=r(t,e,v,u(v.length),y,l-1)-1;else{if(y>=9007199254740991)throw TypeError();t[y]=v}y++}g++}return y}var i=n(64),o=n(4),u=n(6),a=n(21),c=n(5)("isConcatSpreadable");t.exports=r},function(t,e,n){t.exports=!n(7)&&!n(3)(function(){return 7!=Object.defineProperty(n(89)("div"),"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){var r=n(4),i=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&i(t)===t}},function(t,e,n){var r=n(1);t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&r(o.call(t)),e}}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(98),i=Math.pow,o=i(2,-52),u=i(2,-23),a=i(2,127)*(2-u),c=i(2,-126),s=function(t){return t+1/o-1/o};t.exports=Math.fround||function(t){var e,n,i=Math.abs(t),f=r(t);return i<c?f*s(i/c/u)*c*u:(e=(1+u/o)*i,n=e-(e-i),n>a||n!=n?f*(1/0):f*n)}},function(t,e){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e){t.exports=Math.scale||function(t,e,n,r,i){return 0===arguments.length||t!=t||e!=e||n!=n||r!=r||i!=i?NaN:t===1/0||t===-1/0?t:(t-e)*(i-r)/(n-e)+r}},function(t,e,n){"use strict";var r=n(7),i=n(40),o=n(68),u=n(55),a=n(9),c=n(54),s=Object.assign;t.exports=!s||n(3)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=s({},t)[n]||Object.keys(s({},e)).join("")!=r})?function(t,e){for(var n=a(t),s=arguments.length,f=1,l=o.f,h=u.f;s>f;)for(var p,v=c(arguments[f++]),d=l?i(v).concat(l(v)):i(v),y=d.length,g=0;y>g;)p=d[g++],r&&!h.call(v,p)||(n[p]=v[p]);return n}:s},function(t,e,n){var r=n(8),i=n(1),o=n(40);t.exports=n(7)?Object.defineProperties:function(t,e){i(t);for(var n,u=o(e),a=u.length,c=0;a>c;)r.f(t,n=u[c++],e[n]);return t}},function(t,e,n){var r=n(18),i=n(39).f,o={}.toString,u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return i(t)}catch(t){return u.slice()}};t.exports.f=function(t){return u&&"[object Window]"==o.call(t)?a(t):i(r(t))}},function(t,e,n){var r=n(15),i=n(18),o=n(61)(!1),u=n(103)("IE_PROTO");t.exports=function(t,e){var n,a=i(t),c=0,s=[];for(n in a)n!=u&&r(a,n)&&s.push(n);for(;e.length>c;)r(a,n=e[c++])&&(~o(s,n)||s.push(n));return s}},function(t,e,n){var r=n(7),i=n(40),o=n(18),u=n(55).f;t.exports=function(t){return function(e){for(var n,a=o(e),c=i(a),s=c.length,f=0,l=[];s>f;)n=c[f++],r&&!u.call(a,n)||l.push(t?[n,a[n]]:a[n]);return l}}},function(t,e,n){var r=n(39),i=n(68),o=n(1),u=n(2).Reflect;t.exports=u&&u.ownKeys||function(t){var e=r.f(o(t)),n=i.f;return n?e.concat(n(t)):e}},function(t,e,n){var r=n(2).parseFloat,i=n(50).trim;t.exports=1/r(n(106)+"-0")!=-1/0?function(t){var e=i(String(t),3),n=r(e);return 0===n&&"-"==e.charAt(0)?-0:n}:r},function(t,e,n){var r=n(2).parseInt,i=n(50).trim,o=n(106),u=/^[-+]?0[xX]/;t.exports=8!==r(o+"08")||22!==r(o+"0x16")?function(t,e){var n=i(String(t),3);return r(n,e>>>0||(u.test(n)?16:10))}:r},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var r=n(1),i=n(4),o=n(100);t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=o.f(t);return(0,n.resolve)(e),n.promise}},function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},function(t,e,n){var r=n(6),i=n(105),o=n(27);t.exports=function(t,e,n,u){var a=String(o(t)),c=a.length,s=void 0===n?" ":String(n),f=r(e);if(f<=c||""==s)return a;var l=f-c,h=i.call(s,Math.ceil(l/s.length));return h.length>l&&(h=h.slice(0,l)),u?h+a:a+h}},function(t,e,n){var r=n(23),i=n(6);t.exports=function(t){if(void 0===t)return 0;var e=r(t),n=i(e);if(e!==n)throw RangeError("Wrong length!");return n}},function(t,e,n){e.f=n(5)},function(t,e,n){"use strict";var r=n(121),i=n(46);t.exports=n(62)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(i(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(i(this,"Map"),0===t?0:t,e)}},r,!0)},function(t,e,n){"use strict";var r=n(101);n(0)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(t,e,n){n(7)&&"g"!=/./g.flags&&n(8).f(RegExp.prototype,"flags",{configurable:!0,get:n(53)})},function(t,e,n){"use strict";var r=n(121),i=n(46);t.exports=n(62)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(i(this,"Set"),t=0===t?0:t,t)}},r)},function(t,e,n){"use strict";var r,i=n(2),o=n(26)(0),u=n(13),a=n(35),c=n(133),s=n(123),f=n(4),l=n(46),h=n(46),p=!i.ActiveXObject&&"ActiveXObject"in i,v=a.getWeak,d=Object.isExtensible,y=s.ufstore,g=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},m={get:function(t){if(f(t)){var e=v(t);return!0===e?y(l(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return s.def(l(this,"WeakMap"),t,e)}},b=t.exports=n(62)("WeakMap",g,m,s,!0,!0);h&&p&&(r=s.getConstructor(g,"WeakMap"),c(r.prototype,m),a.NEED=!0,o(["delete","has","get","set"],function(t){var e=b.prototype,n=e[t];u(e,t,function(e,i){if(f(e)&&!d(e)){this._f||(this._f=new r);var o=this._f[t](e,i);return"set"==t?this:o}return n.call(this,e,i)})}))},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.ui=e.model=e.bnfdisplay=void 0;var i=n(155),o=r(i),u=n(112),a=r(u),c=n(113),s=r(c),f=n(75),l=r(f),h=n(24),p=r(h),v=n(25),d=r(v),y=n(76),g=r(y),m=n(77),b=r(m),x=n(58),w=r(x),_=n(78),E=r(_),S=n(79),O=r(S),k=n(114),C=r(k),R=n(80),P=r(R),L=n(81),T=r(L),M=n(59),j=r(M),I=n(60),N=r(I),A=n(115),F=r(A),B=n(82),U=r(B),G=n(83),D=r(G),W=n(52),V=r(W);e.bnfdisplay={BNFDisplay:o.default},e.model={BNFToGrammar:a.default,Choice:s.default,Grammar:l.default,GrammarToBNF:p.default,GrammarToRRDiagram:d.default,Literal:g.default,Repetition:b.default,Rule:w.default,RuleReference:E.default,Sequence:O.default,SpecialSequence:C.default},e.ui={RRBreak:P.default,RRChoice:T.default,RRDiagram:j.default,RRDiagramToSVG:N.default,RRLine:F.default,RRLoop:U.default,RRSequence:D.default,RRText:V.default}},function(t,e,n){"use strict";(function(t){function e(t,e,n){t[e]||Object[r](t,e,{writable:!0,configurable:!0,value:n})}if(n(359),n(360),n(160),t._babelPolyfill)throw new Error("only one instance of babel-polyfill is allowed");t._babelPolyfill=!0;var r="defineProperty";e(String.prototype,"padLeft","".padStart),e(String.prototype,"padRight","".padEnd),"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function(t){[][t]&&e(Array,t,Function.call.bind([][t]))})}).call(e,n(152))},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(112),a=r(u),c=n(25),s=r(c),f=n(60),l=r(f),h=function(){function t(){i(this,t),this.bnfToGrammar=new a.default,this.grammarToRRDiagram=new s.default,this.grammarToRRDiagram.ruleConsideredAsLineBreak="\\",this.rrDiagramToSVG=new l.default}return o(t,[{key:"getBNFToGrammar",value:function(){return this.bnfToGrammar}},{key:"getGrammarToRRDiagram",value:function(){return this.grammarToRRDiagram}},{key:"getRRDiagramToSVG",value:function(){return this.rrDiagramToSVG}},{key:"replaceBNF",value:function(t,e){var n=Array.from(document.getElementsByClassName(t)),r=!0,i=!1,o=void 0;try{for(var u,a=n[Symbol.iterator]();!(r=(u=a.next()).done);r=!0){var c=u.value;if("pre"===c.tagName.toLowerCase()){var s=document.createElement("div"),f=c.innerHTML,l=this.bnfToGrammar.convert("a = "+f),h=l.getRules();if(1==h.length){var p=h[0],v=this.grammarToRRDiagram.convert(p),d=this.rrDiagramToSVG.convert(v),y=document.createElement("div");y.className=e,y.innerHTML=d,s.appendChild(y)}else s.appendChild(document.createTextNode("Error while loading BNF: "+f));c.parentElement.replaceChild(s,c)}}}catch(t){i=!0,o=t}finally{try{!r&&a.return&&a.return()}finally{if(i)throw o}}}}]),t}();e.default=h},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t){return t instanceof c.default&&0==t.getExpressions().length}Object.defineProperty(e,"__esModule",{value:!0});var u=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),a=n(79),c=r(a),s=n(114),f=r(s),l=n(77),h=r(l),p=n(78),v=r(p),d=n(113),y=r(d),g=n(76),m=r(g),b=n(32),x=(r(b),{RULE:"RULE",REPETITION_TOKEN:"REPETITION_TOKEN",ALTERNATION:"ALTERNATION",GROUP:"GROUP",COMMENT:"COMMENT",SPECIAL_SEQUENCE:"SPECIAL_SEQUENCE",LITERAL:"LITERAL",OPTION:"OPTION",REPETITION:"REPETITION",CHOICE:"CHOICE"}),w=function(){function t(e,n){i(this,t),this.type=e,this.text=n,this.minCount=0,this.maxCount=null,this.chunkList=null}return u(t,null,[{key:"ChunkType",get:function(){return x}}]),u(t,[{key:"getType",value:function(){return this.type}},{key:"setType",value:function(t){this.type=t}},{key:"setText",value:function(t){this.text=t}},{key:"setMinCount",value:function(t){this.minCount=t}},{key:"setMaxCount",value:function(t){this.maxCount=t}},{key:"addChunk",value:function(t){null==this.chunkList&&(this.chunkList=[]),this.chunkList.push(t)}},{key:"prune",value:function(){for(var e=!1,n=this.chunkList.length-1;n>=0;n--){var r=this.chunkList[n];switch(r.getType()){case x.REPETITION_TOKEN:if("*"===r.text){this.chunkList.splice(n,1);var i=this.chunkList[n-1],o=null;if(i.getType()==x.RULE&&(o=+i.text,isNaN(o)&&(o=null)),null!=o){var u=this.chunkList[n];if(u.getType()==x.OPTION){var a=new t(x.REPETITION);a.setMinCount(0),a.setMaxCount(o);var c=!0,s=!1,f=void 0;try{for(var l,h=u.chunkList[Symbol.iterator]();!(c=(l=h.next()).done);c=!0){var p=l.value;a.addChunk(p)}}catch(t){s=!0,f=t}finally{try{!c&&h.return&&h.return()}finally{if(s)throw f}}this.chunkList.splice(n,1),this.chunkList[n-1]=a}else{var v=new t(x.REPETITION);v.setMinCount(o),v.setMaxCount(o),v.addChunk(u),this.chunkList.splice(n,1),this.chunkList[n-1]=v}}else{var d=new t(x.REPETITION);d.setMinCount(0),d.addChunk(i),this.chunkList[n-1]=d}}else if("+"===r.text){this.chunkList.splice(n,1);var y=new t(x.REPETITION);y.setMinCount(1);var g=this.chunkList[n-1];y.addChunk(g),this.chunkList[n-1]=y}else if("?"===r.text){this.chunkList.splice(n,1);var m=new t(x.OPTION),b=this.chunkList[n-1];m.addChunk(b),this.chunkList[n-1]=m}break;case x.COMMENT:this.chunkList.splice(n,1);case x.ALTERNATION:e=!0;break;case x.GROUP:null!=r.chunkList&&(r.prune(),1==r.chunkList.length&&(this.chunkList[n]=r.chunkList[0]));break;case x.OPTION:case x.REPETITION:r.prune()}}if(e){var w=[];w.push([]);var _=!0,E=!1,S=void 0;try{for(var O,k=this.chunkList[Symbol.iterator]();!(_=(O=k.next()).done);_=!0){var C=O.value;if(C.getType()==x.ALTERNATION)w.push([]);else{w[w.length-1].push(C)}}}catch(t){E=!0,S=t}finally{try{!_&&k.return&&k.return()}finally{if(E)throw S}}var R=new t(x.CHOICE),P=!0,L=!1,T=void 0;try{for(var M,j=w[Symbol.iterator]();!(P=(M=j.next()).done);P=!0){var I=M.value;if(1==I.length)R.addChunk(I[0]);else{var N=new t(x.GROUP),A=!0,F=!1,B=void 0;try{for(var U,G=I[Symbol.iterator]();!(A=(U=G.next()).done);A=!0){var D=U.value;N.addChunk(D)}}catch(t){F=!0,B=t}finally{try{!A&&G.return&&G.return()}finally{if(F)throw B}}R.addChunk(N)}}}catch(t){L=!0,T=t}finally{try{!P&&j.return&&j.return()}finally{if(L)throw T}}this.chunkList.length=0,this.chunkList.push(R)}}},{key:"getExpression",value:function(){switch(this.type){case x.GROUP:if(null==this.chunkList)return new c.default;if(1==this.chunkList.length)return this.chunkList[0].getExpression();var e=[],n=!0,r=!1,i=void 0;try{for(var u,a=this.chunkList[Symbol.iterator]();!(n=(u=a.next()).done);n=!0){var s=u.value;e.push(s.getExpression())}}catch(t){r=!0,i=t}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return new c.default(e);case x.CHOICE:if(1==this.chunkList.length)return this.chunkList[0].getExpression();var l=[],p=!1,d=!0,g=!1,b=void 0;try{for(var w,_=this.chunkList[Symbol.iterator]();!(d=(w=_.next()).done);d=!0){var E=w.value,S=E.getExpression();if(S instanceof h.default){var O=S;0==O.getMinRepetitionCount()&&(S=null==O.getMaxRepetitionCount()||1!=O.getMaxRepetitionCount()?new h.default(O.getExpression(),1,O.getMaxRepetitionCount()):O.getExpression(),p=!0)}if(S instanceof y.default){var k=!0,C=!1,R=void 0;try{for(var P,L=S.getExpressions()[Symbol.iterator]();!(k=(P=L.next()).done);k=!0){var T=P.value;l.push(T)}}catch(t){C=!0,R=t}finally{try{!k&&L.return&&L.return()}finally{if(C)throw R}}}else l.push(S)}}catch(t){g=!0,b=t}finally{try{!d&&_.return&&_.return()}finally{if(g)throw b}}return!p||0!=l.length&&o(l[l.length-1])||l.push(new c.default),new y.default(l);case x.RULE:return new v.default(this.text);case x.LITERAL:return new m.default(this.text);case x.SPECIAL_SEQUENCE:return new f.default(this.text);case x.OPTION:if(1==this.chunkList.length){var M=this.chunkList[0];if(M.getType()==x.CHOICE){var j=new t(x.CHOICE),I=!0,N=!1,A=void 0;try{for(var F,B=M.chunkList[Symbol.iterator]();!(I=(F=B.next()).done);I=!0){var U=F.value;j.addChunk(U)}}catch(t){N=!0,A=t}finally{try{!I&&B.return&&B.return()}finally{if(N)throw A}}return j.addChunk(new t(x.GROUP)),j.getExpression()}return new h.default(M.getExpression(),0,1)}var G=[],D=!0,W=!1,V=void 0;try{for(var Y,X=this.chunkList[Symbol.iterator]();!(D=(Y=X.next()).done);D=!0){var q=Y.value;G.push(q.getExpression())}}catch(t){W=!0,V=t}finally{try{!D&&X.return&&X.return()}finally{if(W)throw V}}return new h.default(new c.default(G),0,1);case x.REPETITION:if(1==this.chunkList.length)return new h.default(this.chunkList[0].getExpression(),this.minCount,this.maxCount);var H=[],Q=!0,z=!1,K=void 0;try{for(var J,$=this.chunkList[Symbol.iterator]();!(Q=(J=$.next()).done);Q=!0){var Z=J.value;H.push(Z.getExpression())}}catch(t){z=!0,K=t}finally{try{!Q&&$.return&&$.return()}finally{if(z)throw K}}return new h.default(new c.default(H),this.minCount,this.maxCount)}throw"Type should not be reachable: "+this.type}},{key:"toString",value:function(){var t=""+this.type;return null!=this.text&&(t+=" ("+this.text+")"),t}}]),t}();e.default=w},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),u=n(84),a=n(158),c=r(a),s=n(159),f=r(s),l=function(){function t(){i(this,t),this.connectorList=[],this.elements=[]}return o(t,[{key:"addPathConnector",value:function(t,e,n,r,i){var o=0==this.connectorList.length?null:this.connectorList[this.connectorList.length-1];if(null!=o)if(o instanceof f.default)o.addPath(new f.default(t,e,n,r,i));else{var u=o,a=u.getX1(),c=u.getY1(),s=u.getX2(),l=u.getY2();a==s&&t==a?l==e-1?u.mergeLine(a,c,s,l+1):c==e+1&&u.mergeLine(a,c-1,s,l):c==l&&e==c&&(s==t-1?u.mergeLine(a,c,s+1,l):a==t+1&&u.mergeLine(a-1,c,s,l)),this.connectorList.push(new f.default(t,e,n,r,i))}else this.connectorList.push(new f.default(t,e,n,r,i))}},{key:"addLineConnector",value:function(t,e,n,r){var i=Math.min(t,n),o=Math.min(e,r),u=Math.max(t,n),a=Math.max(e,r),s=0==this.connectorList.length?null:this.connectorList[this.connectorList.length-1];null!=s&&s instanceof c.default&&s.mergeLine(i,o,u,a)||this.connectorList.push(new c.default(i,o,u,a))}},{key:"getConnectorElement",value:function(t){if(0==this.connectorList.length)return"";var e=null,n=!0,r=!1,i=void 0;try{for(var o,a=this.connectorList[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var c=o.value;if(null==e)if(c instanceof f.default)e=c;else{var s=c,l=s.getX1(),h=s.getY1();e=new f.default(l,h,"M"+l+(h<0?h:" "+h),l,h),e.addLine(s)}else c instanceof f.default?e.addPath(c):e.addLine(c)}}catch(t){r=!0,i=t}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return'<path class="'+(0,u.escapeXml)(t.cssConnectorClass)+'" d="'+e.getPath()+'"/>'}},{key:"addElement",value:function(t){this.elements.push(t)}},{key:"getElements",value:function(){return this.elements}}]),t}();e.default=l},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),o=function(){function t(e,n,i,o){r(this,t),this.x1=e,this.y1=n,this.x2=i,this.y2=o}return i(t,[{key:"getX1",value:function(){return this.x1}},{key:"getY1",value:function(){return this.y1}},{key:"getX2",value:function(){return this.x2}},{key:"getY2",value:function(){return this.y2}},{key:"mergeLine",value:function(t,e,n,r){if(t==n&&this.x1==this.x2&&t==this.x1){if(r>=this.y1-1&&e<=this.y2+1)return this.y1=Math.min(this.y1,e),this.y2=Math.max(this.y2,r),!0}else if(e==r&&this.y1==this.y2&&e==this.y1&&n>=this.x1-1&&t<=this.x2+1)return this.x1=Math.min(this.x1,t),this.x2=Math.max(this.x2,n),!0;return!1}}]),t}();e.default=o},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),o=function(){function t(e,n,i,o,u){r(this,t),this.pathSB=[],this.startX=e,this.startY=n,this.pathSB.push(i),this.endX=o,this.endY=u}return i(t,[{key:"addPath",value:function(t){var e=t.startX,n=t.startY,r=t.getPath(),i=t.endX,o=t.endY;e==this.endX&&n==this (…)
H A Drrdiagram.js.map1 {"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 584aa1e0b3855d207932","webpack:///rrdiagram.js","webpack:///../~/core-js/modules/_export.js","webpack:///../~/core-js/modules/_an-object.js","webpack:///../~/core-js/modules/_global.js","webpack:///../~/core-js/modules/_fails.js","webpack:///../~/core-js/modules/_is-object.js","webpack:///../~/core-js/modules/_wks.js","webpack:///../~/core-js/modules/_to-length.js","webpack:///../~/core-js/modules/_descriptors.js","webpack:///../~/core-js/modules/_object-dp.js","webpack:///../~/core-js/modules/_to-object.js","webpack:///../~/core-js/modules/_a-function.js","webpack:///./ui/rrelement.js","webpack:///../~/core-js/modules/_hide.js","webpack:///../~/core-js/modules/_redefine.js","webpack:///../~/core-js/modules/_string-html.js","webpack:///../~/core-js/modules/_has.js","webpack:///../~/core-js/modules/_object-gopd.js","webpack:///../~/core-js/modules/_object-gpo.js","webpack:///../~/core-js/modules/_to-iobject.js","webpack:///../~/core-js/modules/_cof.js","webpack:///../~/core-js/modules/_core.js","webpack:///../~/core-js/modules/_ctx.js","webpack:///../~/core-js/modules/_strict-method.js","webpack:///../~/core-js/modules/_to-integer.js","webpack:///./model/grammartobnf.js","webpack:///./model/grammartorrdiagram.js","webpack:///../~/core-js/modules/_array-methods.js","webpack:///../~/core-js/modules/_defined.js","webpack:///../~/core-js/modules/_object-sap.js","webpack:///../~/core-js/modules/_to-primitive.js","webpack:///../~/core-js/modules/_metadata.js","webpack:///../~/core-js/modules/_typed-array.js","webpack:///./model/expression.js","webpack:///../~/core-js/modules/_add-to-unscopables.js","webpack:///../~/core-js/modules/_library.js","webpack:///../~/core-js/modules/_meta.js","webpack:///../~/core-js/modules/_an-instance.js","webpack:///../~/core-js/modules/_for-of.js","webpack:///../~/core-js/modules/_object-create.js","webpack:///../~/core-js/modules/_object-gopn.js","webpack:///../~/core-js/modules/_object-keys.js","webpack:///../~/core-js/modules/_property-desc.js","webpack:///../~/core-js/modules/_redefine-all.js","webpack:///../~/core-js/modules/_set-species.js","webpack:///../~/core-js/modules/_to-absolute-index.js","webpack:///../~/core-js/modules/_uid.js","webpack:///../~/core-js/modules/_validate-collection.js","webpack:///../~/core-js/modules/_classof.js","webpack:///../~/core-js/modules/_iterators.js","webpack:///../~/core-js/modules/_set-to-string-tag.js","webpack:///../~/core-js/modules/_string-trim.js","webpack:///./ui/layoutinfo.js","webpack:///./ui/rrtext.js","webpack:///../~/core-js/modules/_flags.js","webpack:///../~/core-js/modules/_iobject.js","webpack:///../~/core-js/modules/_object-pie.js","webpack:///../~/core-js/modules/_shared.js","webpack:///../~/core-js/modules/_species-constructor.js","webpack:///./model/rule.js","webpack:///./ui/rrdiagram.js","webpack:///./ui/rrdiagramtosvg.js","webpack:///../~/core-js/modules/_array-includes.js","webpack:///../~/core-js/modules/_collection.js","webpack:///../~/core-js/modules/_fix-re-wks.js","webpack:///../~/core-js/modules/_is-array.js","webpack:///../~/core-js/modules/_is-regexp.js","webpack:///../~/core-js/modules/_iter-detect.js","webpack:///../~/core-js/modules/_object-forced-pam.js","webpack:///../~/core-js/modules/_object-gops.js","webpack:///../~/core-js/modules/_regexp-exec-abstract.js","webpack:///../~/core-js/modules/_set-collection-from.js","webpack:///../~/core-js/modules/_set-collection-of.js","webpack:///../~/core-js/modules/_string-at.js","webpack:///../~/core-js/modules/_typed.js","webpack:///../~/core-js/modules/_user-agent.js","webpack:///./model/grammar.js","webpack:///./model/literal.js","webpack:///./model/repetition.js","webpack:///./model/rulereference.js","webpack:///./model/sequence.js","webpack:///./ui/rrbreak.js","webpack:///./ui/rrchoice.js","webpack:///./ui/rrloop.js","webpack:///./ui/rrsequence.js","webpack:///./utils/utils.js","webpack:///../~/core-js/modules/_advance-string-index.js","webpack:///../~/core-js/modules/_array-fill.js","webpack:///../~/core-js/modules/_array-species-create.js","webpack:///../~/core-js/modules/_create-property.js","webpack:///../~/core-js/modules/_dom-create.js","webpack:///../~/core-js/modules/_enum-bug-keys.js","webpack:///../~/core-js/modules/_fails-is-regexp.js","webpack:///../~/core-js/modules/_html.js","webpack:///../~/core-js/modules/_inherit-if-required.js","webpack:///../~/core-js/modules/_is-array-iter.js","webpack:///../~/core-js/modules/_iter-create.js","webpack:///../~/core-js/modules/_iter-define.js","webpack:///../~/core-js/modules/_math-expm1.js","webpack:///../~/core-js/modules/_math-sign.js","webpack:///../~/core-js/modules/_microtask.js","webpack:///../~/core-js/modules/_new-promise-capability.js","webpack:///../~/core-js/modules/_regexp-exec.js","webpack:///../~/core-js/modules/_set-proto.js","webpack:///../~/core-js/modules/_shared-key.js","webpack:///../~/core-js/modules/_string-context.js","webpack:///../~/core-js/modules/_string-repeat.js","webpack:///../~/core-js/modules/_string-ws.js","webpack:///../~/core-js/modules/_task.js","webpack:///../~/core-js/modules/_typed-buffer.js","webpack:///../~/core-js/modules/_wks-define.js","webpack:///../~/core-js/modules/core.get-iterator-method.js","webpack:///../~/core-js/modules/es6.array.iterator.js","webpack:///./model/bnftogrammar.js","webpack:///./model/choice.js","webpack:///./model/specialsequence.js","webpack:///./ui/rrline.js","webpack:///../~/core-js/modules/_a-number-value.js","webpack:///../~/core-js/modules/_array-copy-within.js","webpack:///../~/core-js/modules/_array-from-iterable.js","webpack:///../~/core-js/modules/_array-reduce.js","webpack:///../~/core-js/modules/_bind.js","webpack:///../~/core-js/modules/_collection-strong.js","webpack:///../~/core-js/modules/_collection-to-json.js","webpack:///../~/core-js/modules/_collection-weak.js","webpack:///../~/core-js/modules/_flatten-into-array.js","webpack:///../~/core-js/modules/_ie8-dom-define.js","webpack:///../~/core-js/modules/_invoke.js","webpack:///../~/core-js/modules/_is-integer.js","webpack:///../~/core-js/modules/_iter-call.js","webpack:///../~/core-js/modules/_iter-step.js","webpack:///../~/core-js/modules/_math-fround.js","webpack:///../~/core-js/modules/_math-log1p.js","webpack:///../~/core-js/modules/_math-scale.js","webpack:///../~/core-js/modules/_object-assign.js","webpack:///../~/core-js/modules/_object-dps.js","webpack:///../~/core-js/modules/_object-gopn-ext.js","webpack:///../~/core-js/modules/_object-keys-internal.js","webpack:///../~/core-js/modules/_object-to-array.js","webpack:///../~/core-js/modules/_own-keys.js","webpack:///../~/core-js/modules/_parse-float.js","webpack:///../~/core-js/modules/_parse-int.js","webpack:///../~/core-js/modules/_perform.js","webpack:///../~/core-js/modules/_promise-resolve.js","webpack:///../~/core-js/modules/_same-value.js","webpack:///../~/core-js/modules/_string-pad.js","webpack:///../~/core-js/modules/_to-index.js","webpack:///../~/core-js/modules/_wks-ext.js","webpack:///../~/core-js/modules/es6.map.js","webpack:///../~/core-js/modules/es6.regexp.exec.js","webpack:///../~/core-js/modules/es6.regexp.flags.js","webpack:///../~/core-js/modules/es6.set.js","webpack:///../~/core-js/modules/es6.weak-map.js","webpack:///../~/webpack/buildin/global.js","webpack:///./main.js","webpack:///../~/babel-polyfill/lib/index.js","webpack:///./bnfdisplay/BNFDisplay.js","webpack:///./model/chunk.js","webpack:///./ui/svg/svgcontent.js","webpack:///./ui/svg/svgline.js","webpack:///./ui/svg/svgpath.js","webpack:///../~/core-js/fn/regexp/escape.js","webpack:///../~/core-js/modules/_array-species-constructor.js","webpack:///../~/core-js/modules/_date-to-iso-string.js","webpack:///../~/core-js/modules/_date-to-primitive.js","webpack:///../~/core-js/modules/_enum-keys.js","webpack:///../~/core-js/modules/_function-to-string.js","webpack:///../~/core-js/modules/_replacer.js","webpack:///../~/core-js/modules/core.regexp.escape.js","webpack:///../~/core-js/modules/es6.array.copy-within.js","webpack:///../~/core-js/modules/es6.array.every.js","webpack:///../~/core-js/modules/es6.array.fill.js","webpack:///../~/core-js/modules/es6.array.filter.js","webpack:///../~/core-js/modules/es6.array.find-index.js","webpack:///../~/core-js/modules/es6.array.find.js","webpack:///../~/core-js/modules/es6.array.for-each.js","webpack:///../~/core-js/modules/es6.array.from.js","webpack:///../~/core-js/modules/es6.array.index-of.js","webpack:///../~/core-js/modules/es6.array.is-array.js","webpack:///../~/core-js/modules/es6.array.join.js","webpack:///../~/core-js/modules/es6.array.last-index-of.js","webpack:///../~/core-js/modules/es6.array.map.js","webpack:///../~/core-js/modules/es6.array.of.js","webpack:///../~/core-js/modules/es6.array.reduce-right.js","webpack:///../~/core-js/modules/es6.array.reduce.js","webpack:///../~/core-js/modules/es6.array.slice.js","webpack:///../~/core-js/modules/es6.array.some.js","webpack:///../~/core-js/modules/es6.array.sort.js","webpack:///../~/core-js/modules/es6.array.species.js","webpack:///../~/core-js/modules/es6.date.now.js","webpack:///../~/core-js/modules/es6.date.to-iso-string.js","webpack:///../~/core-js/modules/es6.date.to-json.js","webpack:///../~/core-js/modules/es6.date.to-primitive.js","webpack:///../~/core-js/modules/es6.date.to-string.js","webpack:///../~/core-js/modules/es6.function.bind.js","webpack:///../~/core-js/modules/es6.function.has-instance.js","webpack:///../~/core-js/modules/es6.function.name.js","webpack:///../~/core-js/modules/es6.math.acosh.js","webpack:///../~/core-js/modules/es6.math.asinh.js","webpack:///../~/core-js/modules/es6.math.atanh.js","webpack:///../~/core-js/modules/es6.math.cbrt.js","webpack:///../~/core-js/modules/es6.math.clz32.js","webpack:///../~/core-js/modules/es6.math.cosh.js","webpack:///../~/core-js/modules/es6.math.expm1.js","webpack:///../~/core-js/modules/es6.math.fround.js","webpack:///../~/core-js/modules/es6.math.hypot.js","webpack:///../~/core-js/modules/es6.math.imul.js","webpack:///../~/core-js/modules/es6.math.log10.js","webpack:///../~/core-js/modules/es6.math.log1p.js","webpack:///../~/core-js/modules/es6.math.log2.js","webpack:///../~/core-js/modules/es6.math.sign.js","webpack:///../~/core-js/modules/es6.math.sinh.js","webpack:///../~/core-js/modules/es6.math.tanh.js","webpack:///../~/core-js/modules/es6.math.trunc.js","webpack:///../~/core-js/modules/es6.number.constructor.js","webpack:///../~/core-js/modules/es6.number.epsilon.js","webpack:///../~/core-js/modules/es6.number.is-finite.js","webpack:///../~/core-js/modules/es6.number.is-integer.js","webpack:///../~/core-js/modules/es6.number.is-nan.js","webpack:///../~/core-js/modules/es6.number.is-safe-integer.js","webpack:///../~/core-js/modules/es6.number.max-safe-integer.js","webpack:///../~/core-js/modules/es6.number.min-safe-integer.js","webpack:///../~/core-js/modules/es6.number.parse-float.js","webpack:///../~/core-js/modules/es6.number.parse-int.js","webpack:///../~/core-js/modules/es6.number.to-fixed.js","webpack:///../~/core-js/modules/es6.number.to-precision.js","webpack:///../~/core-js/modules/es6.object.assign.js","webpack:///../~/core-js/modules/es6.object.create.js","webpack:///../~/core-js/modules/es6.object.define-properties.js","webpack:///../~/core-js/modules/es6.object.define-property.js","webpack:///../~/core-js/modules/es6.object.freeze.js","webpack:///../~/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///../~/core-js/modules/es6.object.get-own-property-names.js","webpack:///../~/core-js/modules/es6.object.get-prototype-of.js","webpack:///../~/core-js/modules/es6.object.is-extensible.js","webpack:///../~/core-js/modules/es6.object.is-frozen.js","webpack:///../~/core-js/modules/es6.object.is-sealed.js","webpack:///../~/core-js/modules/es6.object.is.js","webpack:///../~/core-js/modules/es6.object.keys.js","webpack:///../~/core-js/modules/es6.object.prevent-extensions.js","webpack:///../~/core-js/modules/es6.object.seal.js","webpack:///../~/core-js/modules/es6.object.set-prototype-of.js","webpack:///../~/core-js/modules/es6.object.to-string.js","webpack:///../~/core-js/modules/es6.parse-float.js","webpack:///../~/core-js/modules/es6.parse-int.js","webpack:///../~/core-js/modules/es6.promise.js","webpack:///../~/core-js/modules/es6.reflect.apply.js","webpack:///../~/core-js/modules/es6.reflect.construct.js","webpack:///../~/core-js/modules/es6.reflect.define-property.js","webpack:///../~/core-js/modules/es6.reflect.delete-property.js","webpack:///../~/core-js/modules/es6.reflect.enumerate.js","webpack:///../~/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///../~/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///../~/core-js/modules/es6.reflect.get.js","webpack:///../~/core-js/modules/es6.reflect.has.js","webpack:///../~/core-js/modules/es6.reflect.is-extensible.js","webpack:///../~/core-js/modules/es6.reflect.own-keys.js","webpack:///../~/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///../~/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///../~/core-js/modules/es6.reflect.set.js","webpack:///../~/core-js/modules/es6.regexp.constructor.js","webpack:///../~/core-js/modules/es6.regexp.match.js","webpack:///../~/core-js/modules/es6.regexp.replace.js","webpack:///../~/core-js/modules/es6.regexp.search.js","webpack:///../~/core-js/modules/es6.regexp.split.js","webpack:///../~/core-js/modules/es6.regexp.to-string.js","webpack:///../~/core-js/modules/es6.string.anchor.js","webpack:///../~/core-js/modules/es6.string.big.js","webpack:///../~/core-js/modules/es6.string.blink.js","webpack:///../~/core-js/modules/es6.string.bold.js","webpack:///../~/core-js/modules/es6.string.code-point-at.js","webpack:///../~/core-js/modules/es6.string.ends-with.js","webpack:///../~/core-js/modules/es6.string.fixed.js","webpack:///../~/core-js/modules/es6.string.fontcolor.js","webpack:///../~/core-js/modules/es6.string.fontsize.js","webpack:///../~/core-js/modules/es6.string.from-code-point.js","webpack:///../~/core-js/modules/es6.string.includes.js","webpack:///../~/core-js/modules/es6.string.italics.js","webpack:///../~/core-js/modules/es6.string.iterator.js","webpack:///../~/core-js/modules/es6.string.link.js","webpack:///../~/core-js/modules/es6.string.raw.js","webpack:///../~/core-js/modules/es6.string.repeat.js","webpack:///../~/core-js/modules/es6.string.small.js","webpack:///../~/core-js/modules/es6.string.starts-with.js","webpack:///../~/core-js/modules/es6.string.strike.js","webpack:///../~/core-js/modules/es6.string.sub.js","webpack:///../~/core-js/modules/es6.string.sup.js","webpack:///../~/core-js/modules/es6.string.trim.js","webpack:///../~/core-js/modules/es6.symbol.js","webpack:///../~/core-js/modules/es6.typed.array-buffer.js","webpack:///../~/core-js/modules/es6.typed.data-view.js","webpack:///../~/core-js/modules/es6.typed.float32-array.js","webpack:///../~/core-js/modules/es6.typed.float64-array.js","webpack:///../~/core-js/modules/es6.typed.int16-array.js","webpack:///../~/core-js/modules/es6.typed.int32-array.js","webpack:///../~/core-js/modules/es6.typed.int8-array.js","webpack:///../~/core-js/modules/es6.typed.uint16-array.js","webpack:///../~/core-js/modules/es6.typed.uint32-array.js","webpack:///../~/core-js/modules/es6.typed.uint8-array.js","webpack:///../~/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///../~/core-js/modules/es6.weak-set.js","webpack:///../~/core-js/modules/es7.array.flat-map.js","webpack:///../~/core-js/modules/es7.array.flatten.js","webpack:///../~/core-js/modules/es7.array.includes.js","webpack:///../~/core-js/modules/es7.asap.js","webpack:///../~/core-js/modules/es7.error.is-error.js","webpack:///../~/core-js/modules/es7.global.js","webpack:///../~/core-js/modules/es7.map.from.js","webpack:///../~/core-js/modules/es7.map.of.js","webpack:///../~/core-js/modules/es7.map.to-json.js","webpack:///../~/core-js/modules/es7.math.clamp.js","webpack:///../~/core-js/modules/es7.math.deg-per-rad.js","webpack:///../~/core-js/modules/es7.math.degrees.js","webpack:///../~/core-js/modules/es7.math.fscale.js","webpack:///../~/core-js/modules/es7.math.iaddh.js","webpack:///../~/core-js/modules/es7.math.imulh.js","webpack:///../~/core-js/modules/es7.math.isubh.js","webpack:///../~/core-js/modules/es7.math.rad-per-deg.js","webpack:///../~/core-js/modules/es7.math.radians.js","webpack:///../~/core-js/modules/es7.math.scale.js","webpack:///../~/core-js/modules/es7.math.signbit.js","webpack:///../~/core-js/modules/es7.math.umulh.js","webpack:///../~/core-js/modules/es7.object.define-getter.js","webpack:///../~/core-js/modules/es7.object.define-setter.js","webpack:///../~/core-js/modules/es7.object.entries.js","webpack:///../~/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///../~/core-js/modules/es7.object.lookup-getter.js","webpack:///../~/core-js/modules/es7.object.lookup-setter.js","webpack:///../~/core-js/modules/es7.object.values.js","webpack:///../~/core-js/modules/es7.observable.js","webpack:///../~/core-js/modules/es7.promise.finally.js","webpack:///../~/core-js/modules/es7.promise.try.js","webpack:///../~/core-js/modules/es7.reflect.define-metadata.js","webpack:///../~/core-js/modules/es7.reflect.delete-metadata.js","webpack:///../~/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///../~/core-js/modules/es7.reflect.get-metadata.js","webpack:///../~/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///../~/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///../~/core-js/modules/es7.reflect.has-metadata.js","webpack:///../~/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///../~/core-js/modules/es7.reflect.metadata.js","webpack:///../~/core-js/modules/es7.set.from.js","webpack:///../~/core-js/modules/es7.set.of.js","webpack:///../~/core-js/modules/es7.set.to-json.js","webpack:///../~/core-js/modules/es7.string.at.js","webpack:///../~/core-js/modules/es7.string.match-all.js","webpack:///../~/core-js/modules/es7.string.pad-end.js","webpack:///../~/core-js/modules/es7.string.pad-start.js","webpack:///../~/core-js/modules/es7.string.trim-left.js","webpack:///../~/core-js/modules/es7.string.trim-right.js","webpack:///../~/core-js/modules/es7.symbol.async-iterator.js","webpack:///../~/core-js/modules/es7.symbol.observable.js","webpack:///../~/core-js/modules/es7.system.global.js","webpack:///../~/core-js/modules/es7.weak-map.from.js","webpack:///../~/core-js/modules/es7.weak-map.of.js","webpack:///../~/core-js/modules/es7.weak-set.from.js","webpack:///../~/core-js/modules/es7.weak-set.of.js","webpack:///../~/core-js/modules/web.dom.iterable.js","webpack:///../~/core-js/modules/web.immediate.js","webpack:///../~/core-js/modules/web.timers.js","webpack:///../~/core-js/shim.js","webpack:///../~/regenerator-runtime/runtime.js"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","moduleId","installedModules","i","l","modules","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","global","core","hide","redefine","ctx","$export","type","source","key","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","undefined","Function","U","W","R","isObject","it","TypeError","window","Math","self","__g","exec","e","store","uid","Symbol","USE_SYMBOL","toInteger","min","a","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","defined","_classCallCheck","instance","Constructor","_createClass","defineProperties","props","length","descriptor","writable","protoProps","staticProps","RRElement","layoutInfo","default","createDesc","has","SRC","$toString","TPL","split","inspectSource","val","safe","isFunction","join","String","fails","quot","createHTML","string","tag","attribute","p1","replace","NAME","test","toLowerCase","pIE","toIObject","gOPD","getOwnPropertyDescriptor","toObject","IE_PROTO","ObjectProto","getPrototypeOf","constructor","IObject","toString","slice","version","__e","aFunction","fn","that","b","apply","arguments","method","arg","ceil","floor","isNaN","RuleDefinitionSign","obj","_grammar","EQUAL","COLON_EQUAL","COLON_COLON_EQUAL","LiteralDefinitionSign","QUOTE","DOUBLE_QUOTE","GrammarToBNF","ruleDefinitionSign","literalDefinitionSign","isCommaSeparator","isUsingMultiplicationTokens","ruleConsideredAsLineBreak","grammar","toBNF","_interopRequireDefault","_rule","GrammarToRRDiagram","_rrdiagram","ruleLinkProvider","ruleName","rule","toRRDiagram","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","create","$this","callbackfn","res","index","result","push","KEY","valueOf","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","set","keyMetadata","ordinaryHasOwnMetadata","MetadataKey","metadataMap","ordinaryGetOwnMetadata","ordinaryDefineOwnMetadata","MetadataValue","ordinaryOwnMetadataKeys","keys","forEach","_","toMetaKey","map","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","Array","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","values","arrayKeys","arrayEntries","entries","arrayLastIndexOf","lastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","toOffset","BYTES","offset","validate","C","speciesFromList","list","fromList","addGetter","internal","_d","$from","step","iterator","aLen","mapfn","mapping","iterFn","next","done","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","start","every","fill","filter","find","predicate","findIndex","indexOf","searchElement","includes","separator","reverse","middle","some","comparefn","subarray","begin","end","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$set","arrayLike","src","len","$iterators","isTAIndex","$getDesc","$setDesc","desc","$TypedArrayPrototype$","wrapper","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","data","v","setter","round","addElement","$offset","$length","byteLength","klass","$len","iter","concat","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","from","_grammartorrdiagram","_grammartobnf","_rrelement2","_rrelement","Expression","grammarToRRDiagram","grammarToBNF","sb","isNested","UNSCOPABLES","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","forbiddenField","BREAK","RETURN","iterable","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","style","display","appendChild","contentWindow","document","open","write","lt","close","Properties","$keys","hiddenKeys","getOwnPropertyNames","bitmap","DESCRIPTORS","SPECIES","max","px","random","_t","cof","ARG","tryGet","T","callee","def","stat","spaces","space","non","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","trim","LayoutInfo","width","height","connectorOffset","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","setPrototypeOf","__proto__","_rrdiagramtosvg2","_rrdiagramtosvg","_layoutinfo2","_layoutinfo","Type","LITERAL","RULE","SPECIAL_SEQUENCE","RRText","text","link","fontInfo","_RRElement","rrDiagramToSVG","insets","top","left","bottom","right","cssTextClass","cssRuleTextClass","cssLiteralTextClass","cssSpecialSequenceTextClass","getFontInfo","textWidth","fontYOffset","descent","setLayoutInfo","xOffset","yOffset","svgContent","getLayoutInfo","getWidth","getHeight","escapeXml","cssClass","shape","cssRuleClass","ruleShape","cssLiteralClass","literalShape","cssSpecialSequenceClass","specialSequenceShape","RRDiagramToSVG","BoxShape","RECTANGLE","ROUNDED_RECTANGLE","rx","HEXAGON","getConnectorOffset","addLineConnector","textHeight","textXOffset","textYOffset","ignoreCase","multiline","unicode","sticky","propertyIsEnumerable","mode","copyright","D","_rrdiagram2","_grammartobnf2","_expression","Rule","expression","originalExpressionText","RRDiagram","toRRElement","_rrsequence2","_rrsequence","_svgcontent2","_svgcontent","_rrbreak2","_rrbreak","rrElement","rrElementList","RRSequence","cursorElementList","getRRElements","element","RRBreak","rrElement_","computeLayoutInfo","SvgContent","layoutInfo2","connectorOffset2","width2","height2","y1","toSVG","connectorElement","getConnectorElement","elements","getElements","_rrtext","cssConnectorClass","cssLoopCardinalitiesTextClass","rrDiagram","IS_INCLUDES","el","fromIndex","forOf","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","ADDER","fixMethod","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","clear","getConstructor","setStrong","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","strfn","rxfn","isArray","MATCH","isRegExp","SAFE_CLOSING","riter","skipClosing","arr","K","__defineSetter__","getOwnPropertySymbols","builtinExec","COLLECTION","A","cb","mapFn","nextItem","TO_STRING","pos","charCodeAt","charAt","Typed","TypedArrayConstructors","navigator","userAgent","Grammar","rules","_expression2","_rrtext2","Literal","_Expression","_rrchoice2","_rrchoice","_rrline2","_rrline","_rrloop2","_rrloop","Repetition","minRepetitionCount","maxRepetitionCount","RRChoice","RRLoop","RRLine","equals","RuleReference","_rulereference2","_rulereference","_repetition2","_repetition","_literal2","_literal","Sequence","expressions","repetition","repetitionExpression","getExpression","subExpressions","getExpressions","getMaxRepetitionCount","getMinRepetitionCount","ruleLink","getRuleName","rrElements","x1","x2","xOffset2","y2","yOffset2","addPathConnector","loopElement","IllegalArgumentException","cardinalitiesText","cardinalitiesWidth","layoutInfo1","width1","maxWidth","loopOffset","loopWidth","loopPathStartX","aboveConnector","belowConnector","widthOffset","unsafe","fontCssClass","container","body","testDiv","createElement","className","computedStyle","getComputedStyle","fontSize","getPropertyValue","fontFamily","removeChild","parent","image","textNode","createTextNode","offsetHeight","offsetWidth","forceWidth","cssText","offsetTop","at","endPos","original","$defineProperty","is","documentElement","IteratorPrototype","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","$expm1","expm1","x","sign","macrotask","Observer","MutationObserver","WebKitMutationObserver","process","Promise","isNode","head","last","notify","flush","domain","exit","enter","nextTick","standalone","resolve","promise","then","toggle","node","observe","characterData","task","PromiseCapability","reject","$$resolve","$$reject","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","lastIndex","reCopy","match","check","buggy","searchString","count","Infinity","defer","channel","port","invoke","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","args","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","setTimeout","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","pow","abs","log","LN2","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","PROTOTYPE","view","isLittleEndian","numIndex","intIndex","$LENGTH","WRONG_INDEX","$BUFFER","_b","$OFFSET","pack","conversion","BaseBuffer","ArrayBufferProto","j","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","wksExt","$Symbol","getIteratorMethod","addToUnscopables","iterated","_i","_k","Arguments","createRule","chunk","prune","loadExpression","parentChunk","readNext","stopChar","expressionTextSB","lastChar","isFirst","isInSpecialGroup","specialGroupChar","isLiteral","getType","Chunk","ChunkType","setText","GROUP","setType","COMMENT","comment","content","addChunk","ALTERNATION","REPETITION_TOKEN","literalChunk","subExpressionText","groupChunk","optionChunk","OPTION","repetitionChunk","REPETITION","setMinCount","_chunk2","_chunk","_rule2","_grammar2","BNFToGrammar","char","ruleList","expressionText","endsWith","c2","_sequence2","_sequence","Choice","expressionList","hasNoop","SpecialSequence","msg","to","inc","memo","isRight","factories","construct","bind","partArgs","bound","$iterDefine","SIZE","getEntry","entry","_f","k","_l","r","prev","$has","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","splice","ufstore","flattenIntoArray","sourceLen","depth","mapper","thisArg","spreadable","targetIndex","sourceIndex","IS_CONCAT_SPREADABLE","un","isFinite","ret","EPSILON","EPSILON32","MAX32","MIN32","roundTiesToEven","fround","$abs","$sign","log1p","scale","inLow","inHigh","outLow","outHigh","getKeys","gOPS","$assign","assign","getSymbols","isEnum","windowNames","getWindowNames","names","isEntries","Reflect","ownKeys","$parseFloat","parseFloat","$trim","$parseInt","parseInt","ws","hex","radix","newPromiseCapability","promiseCapability","y","repeat","maxLength","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","number","strong","forced","flags","add","InternalMap","each","weak","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","$WeakMap","g","eval","ui","model","bnfdisplay","_BNFDisplay2","_BNFDisplay","_bnftogrammar2","_bnftogrammar","_choice2","_choice","_grammartorrdiagram2","_specialsequence2","_specialsequence","BNFDisplay","DEFINE_PROPERTY","_babelPolyfill","Error","padStart","padEnd","bnfToGrammar","newClassName","getElementsByClassName","tagName","newElement","bnf","innerHTML","convert","getRules","svg","svgContainer","parentElement","replaceChild","isNoop","CHOICE","minCount","maxCount","chunkList","hasAlternation","previousChunk","multiplier","nextChunk","newChunk","setMaxCount","alternationSequenceList","choiceChunk","subList","hasLine","subChunk","cChunk","_svgline2","_svgline","_svgpath2","_svgpath","connectorList","path","SvgPath","addPath","svgLine","x1_","getX1","y1_","getY1","x2_","getX2","y2_","getY2","mergeLine","SvgLine","path0","connector","addLine","getPath","svgline","startX","startY","endX","endY","pathSB","svgPath","escape","getTime","Date","$toISOString","toISOString","lz","num","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","hint","symbols","regExp","replacer","part","$re","$every","$filter","$find","$forEach","STRICT","createProperty","$indexOf","NEGATIVE_ZERO","$reduce","upTo","size","cloned","$some","$sort","toJSON","pv","TO_PRIMITIVE","DateProto","HAS_INSTANCE","FunctionProto","FProto","nameRE","sqrt","$acosh","acosh","Number","MAX_VALUE","asinh","$asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","div","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","E","tanh","trunc","$Number","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","first","code","digits","_isFinite","isInteger","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","aNumberValue","$toFixed","toFixed","ERROR","multiply","divide","numToString","t","acc","fractionDigits","z","$fails","$toPrecision","toPrecision","precision","$freeze","$getOwnPropertyDescriptor","$getPrototypeOf","$isExtensible","$isFrozen","$isSealed","$preventExtensions","$seal","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","versions","v8","$Promise","empty","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","_h","onHandleUnhandled","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","capability","all","remaining","$index","alreadyCalled","race","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","Enumerate","enumerate","getProto","receiver","setProto","V","existingDescriptor","ownDesc","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","advanceStringIndex","regExpExec","$match","maybeCallNative","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","getSubstitution","matched","position","captures","namedCaptures","replacement","tailPos","ch","capture","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","replacerArgs","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","LENGTH","SUPPORTS_Y","SPLIT","$split","internalSplit","limit","lastLength","output","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","$at","codePointAt","context","$endsWith","endPosition","search","color","fromCharCode","$fromCodePoint","fromCodePoint","point","url","raw","callSite","tpl","$startsWith","startsWith","wksDefine","enumKeys","_create","gOPNExt","$GOPS","$JSON","JSON","_stringify","stringify","HIDDEN","SymbolRegistry","AllSymbols","OPSymbols","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","$replacer","$isView","isView","fin","viewS","viewT","init","arraySpeciesCreate","flatMap","flatten","depthArg","$includes","asap","isError","clamp","lower","upper","DEG_PER_RAD","PI","RAD_PER_DEG","degrees","radians","fscale","iaddh","x0","y0","$x0","$x1","$y0","imulh","u","$u","$v","u0","v0","u1","v1","isubh","signbit","umulh","__defineGetter__","getOwnPropertyDescriptors","getDesc","__lookupGetter__","__lookupSetter__","$values","OBSERVABLE","cleanupSubscription","subscription","cleanup","subscriptionClosed","_o","closeSubscription","Subscription","observer","subscriber","SubscriptionObserver","unsubscribe","complete","$Observable","subscribe","observable","items","Observable","onFinally","metadata","defineMetadata","metadataKey","metadataValue","deleteMetadata","Set","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","ordinaryGetMetadata","getMetadata","getOwnMetadataKeys","getOwnMetadata","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","getFlags","RegExpProto","$RegExpStringIterator","_r","matchAll","$pad","WEBKIT_BUG","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","$task","MSIE","time","boundArgs","setInterval","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","AsyncIterator","record","hasOwn","__await","unwrapped","enqueue","callInvokeWithMethodAndArg","previousPromise","state","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","GenStateSuspendedYield","return","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iteratorMethod","iteratorSymbol","Op","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","inModule","runtime","regeneratorRuntime","NativeIteratorPrototype","Gp","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","pop","skipTempReset","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield"],"mappings":"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","file":"rrdiagram.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"rrdiagram\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"rrdiagram\"] = factory();\n\telse\n\t\troot[\"rrdiagram\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 361);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 584aa1e0b3855d207932","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"rrdiagram\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"rrdiagram\"] = factory();\n\telse\n\t\troot[\"rrdiagram\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 361);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar core = __webpack_require__(20);\nvar hide = __webpack_require__(12);\nvar redefine = __webpack_require__(13);\nvar ctx = __webpack_require__(21);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(4);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(56)('wks');\nvar uid = __webpack_require__(45);\nvar Symbol = __webpack_require__(2).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(23);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(3)(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(1);\nvar IE8_DOM_DEFINE = __webpack_require__(125);\nvar toPrimitive = __webpack_require__(29);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(7) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(27);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar RRElement = function () {\n function RRElement() {\n _classCallCheck(this, RRElement);\n\n this.layoutInfo = null;\n }\n\n _createClass(RRElement, [{\n key: \"setLayoutInfo\",\n value: function setLayoutInfo(layoutInfo) {\n this.layoutInfo = layoutInfo;\n }\n }, {\n key: \"getLayoutInfo\",\n value: function getLayoutInfo() {\n return this.layoutInfo;\n }\n }]);\n\n return RRElement;\n}();\n\nexports.default = RRElement;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(8);\nvar createDesc = __webpack_require__(41);\nmodule.exports = __webpack_require__(7) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar hide = __webpack_require__(12);\nvar has = __webpack_require__(15);\nvar SRC = __webpack_require__(45)('src');\nvar $toString = __webpack_require__(165);\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(20).inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar fails = __webpack_require__(3);\nvar defined = __webpack_require__(27);\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '&quot;') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(55);\nvar createDesc = __webpack_require__(41);\nvar toIObject = __webpack_require__(18);\nvar toPrimitive = __webpack_require__(29);\nvar has = __webpack_require__(15);\nvar IE8_DOM_DEFINE = __webpack_require__(125);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(7) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(15);\nvar toObject = __webpack_require__(9);\nvar IE_PROTO = __webpack_require__(103)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(54);\nvar defined = __webpack_require__(27);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(10);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fails = __webpack_require__(3);\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _grammar = __webpack_require__(75);\n\nvar _grammar2 = _interopRequireDefault(_grammar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar RuleDefinitionSign = {\n EQUAL: 1,\n COLON_EQUAL: 2,\n COLON_COLON_EQUAL: 3\n};\n\nvar LiteralDefinitionSign = {\n QUOTE: 1,\n DOUBLE_QUOTE: 2\n};\n\nvar GrammarToBNF = function () {\n _createClass(GrammarToBNF, null, [{\n key: 'RuleDefinitionSign',\n get: function get() {\n return RuleDefinitionSign;\n }\n }, {\n key: 'LiteralDefinitionSign',\n get: function get() {\n return LiteralDefinitionSign;\n }\n }]);\n\n function GrammarToBNF() {\n _classCallCheck(this, GrammarToBNF);\n\n this.ruleDefinitionSign = RuleDefinitionSign.EQUAL;\n this.literalDefinitionSign = LiteralDefinitionSign.QUOTE;\n this.isCommaSeparator = false;\n this.isUsingMultiplicationTokens = false;\n this.ruleConsideredAsLineBreak = null;\n }\n\n /**\r\n * @param {Grammar} grammar \r\n * @return {string}\r\n */\n\n\n _createClass(GrammarToBNF, [{\n key: 'convert',\n value: function convert(grammar) {\n return grammar.toBNF(this);\n }\n }]);\n\n return GrammarToBNF;\n}();\n\nexports.default = GrammarToBNF;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rule = __webpack_require__(58);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _rrdiagram = __webpack_require__(59);\n\nvar _rrdiagram2 = _interopRequireDefault(_rrdiagram);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar GrammarToRRDiagram = function () {\n function GrammarToRRDiagram() {\n _classCallCheck(this, GrammarToRRDiagram);\n\n this.ruleLinkProvider = function (ruleName) {\n return '#' + ruleName;\n };\n this.ruleConsideredAsLineBreak = null;\n }\n\n /**\r\n * @param {Rule} rule \r\n * @return {RRDiagram}\r\n */\n\n\n _createClass(GrammarToRRDiagram, [{\n key: 'convert',\n value: function convert(rule) {\n return rule.toRRDiagram(this);\n }\n }]);\n\n return GrammarToRRDiagram;\n}();\n\nexports.default = GrammarToRRDiagram;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = __webpack_require__(21);\nvar IObject = __webpack_require__(54);\nvar toObject = __webpack_require__(9);\nvar toLength = __webpack_require__(6);\nvar asc = __webpack_require__(87);\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(0);\nvar core = __webpack_require__(20);\nvar fails = __webpack_require__(3);\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(4);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Map = __webpack_require__(147);\nvar $export = __webpack_require__(0);\nvar shared = __webpack_require__(56)('metadata');\nvar store = shared.store || (shared.store = new (__webpack_require__(151))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nif (__webpack_require__(7)) {\n var LIBRARY = __webpack_require__(34);\n var global = __webpack_require__(2);\n var fails = __webpack_require__(3);\n var $export = __webpack_require__(0);\n var $typed = __webpack_require__(73);\n var $buffer = __webpack_require__(108);\n var ctx = __webpack_require__(21);\n var anInstance = __webpack_require__(36);\n var propertyDesc = __webpack_require__(41);\n var hide = __webpack_require__(12);\n var redefineAll = __webpack_require__(42);\n var toInteger = __webpack_require__(23);\n var toLength = __webpack_require__(6);\n var toIndex = __webpack_require__(145);\n var toAbsoluteIndex = __webpack_require__(44);\n var toPrimitive = __webpack_require__(29);\n var has = __webpack_require__(15);\n var classof = __webpack_require__(47);\n var isObject = __webpack_require__(4);\n var toObject = __webpack_require__(9);\n var isArrayIter = __webpack_require__(94);\n var create = __webpack_require__(38);\n var getPrototypeOf = __webpack_require__(17);\n var gOPN = __webpack_require__(39).f;\n var getIterFn = __webpack_require__(110);\n var uid = __webpack_require__(45);\n var wks = __webpack_require__(5);\n var createArrayMethod = __webpack_require__(26);\n var createArrayIncludes = __webpack_require__(61);\n var speciesConstructor = __webpack_require__(57);\n var ArrayIterators = __webpack_require__(111);\n var Iterators = __webpack_require__(48);\n var $iterDetect = __webpack_require__(66);\n var setSpecies = __webpack_require__(43);\n var arrayFill = __webpack_require__(86);\n var arrayCopyWithin = __webpack_require__(117);\n var $DP = __webpack_require__(8);\n var $GOPD = __webpack_require__(16);\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Expression = function () {\n function Expression() {\n _classCallCheck(this, Expression);\n }\n\n _createClass(Expression, [{\n key: 'toRRElement',\n\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\n value: function toRRElement(grammarToRRDiagram) {\n // Not reachable, we don't instanciate this class.\n return new _rrelement2.default();\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF, sb, isNested) {}\n\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\n\n }, {\n key: 'equals',\n value: function equals(o) {}\n }]);\n\n return Expression;\n}();\n\nexports.default = Expression;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = __webpack_require__(5)('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(12)(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(45)('meta');\nvar isObject = __webpack_require__(4);\nvar has = __webpack_require__(15);\nvar setDesc = __webpack_require__(8).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__webpack_require__(3)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(21);\nvar call = __webpack_require__(128);\nvar isArrayIter = __webpack_require__(94);\nvar anObject = __webpack_require__(1);\nvar toLength = __webpack_require__(6);\nvar getIterFn = __webpack_require__(110);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(1);\nvar dPs = __webpack_require__(134);\nvar enumBugKeys = __webpack_require__(90);\nvar IE_PROTO = __webpack_require__(103)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(89)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(92).appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(136);\nvar hiddenKeys = __webpack_require__(90).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(136);\nvar enumBugKeys = __webpack_require__(90);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar redefine = __webpack_require__(13);\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(2);\nvar dP = __webpack_require__(8);\nvar DESCRIPTORS = __webpack_require__(7);\nvar SPECIES = __webpack_require__(5)('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(23);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(4);\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(19);\nvar TAG = __webpack_require__(5)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(8).f;\nvar has = __webpack_require__(15);\nvar TAG = __webpack_require__(5)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar defined = __webpack_require__(27);\nvar fails = __webpack_require__(3);\nvar spaces = __webpack_require__(106);\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar LayoutInfo = function () {\n\n /**\r\n * @param {number} width \r\n * @param {number} height \r\n * @param {number} connectorOffset \r\n */\n function LayoutInfo(width, height, connectorOffset) {\n _classCallCheck(this, LayoutInfo);\n\n this.width = width;\n this.height = height;\n this.connectorOffset = connectorOffset;\n }\n\n /**\r\n * @return {number}\r\n */\n\n\n _createClass(LayoutInfo, [{\n key: \"getWidth\",\n value: function getWidth() {\n return this.width;\n }\n\n /**\r\n * @return {number}\r\n */\n\n }, {\n key: \"getHeight\",\n value: function getHeight() {\n return this.height;\n }\n\n /**\r\n * @return {number}\r\n */\n\n }, {\n key: \"getConnectorOffset\",\n value: function getConnectorOffset() {\n return this.connectorOffset;\n }\n }]);\n\n return LayoutInfo;\n}();\n\nexports.default = LayoutInfo;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _rrdiagramtosvg = __webpack_require__(60);\n\nvar _rrdiagramtosvg2 = _interopRequireDefault(_rrdiagramtosvg);\n\nvar _layoutinfo = __webpack_require__(51);\n\nvar _layoutinfo2 = _interopRequireDefault(_layoutinfo);\n\nvar _utils = __webpack_require__(84);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Type = {\n LITERAL: 1,\n RULE: 2,\n SPECIAL_SEQUENCE: 3\n};\n\nvar RRText = function (_RRElement) {\n _inherits(RRText, _RRElement);\n\n _createClass(RRText, null, [{\n key: 'Type',\n get: function get() {\n return Type;\n }\n\n /**\r\n * \r\n * @param {Type} type \r\n * @param {string} text \r\n * @param {?string} link \r\n */\n\n }]);\n\n function RRText(type, text, link) {\n _classCallCheck(this, RRText);\n\n var _this = _possibleConstructorReturn(this, (RRText.__proto__ || Object.getPrototypeOf(RRText)).call(this));\n\n _this.type = type;\n _this.text = text;\n _this.link = link;\n _this.fontInfo = null;\n return _this;\n }\n\n _createClass(RRText, [{\n key: 'getType',\n value: function getType() {\n return this.type;\n }\n }, {\n key: 'getText',\n value: function getText() {\n return this.text;\n }\n }, {\n key: 'getLink',\n value: function getLink() {\n return this.link;\n }\n }, {\n key: 'computeLayoutInfo',\n value: function computeLayoutInfo(rrDiagramToSVG) {\n var insets = {\n top: 5,\n left: 10,\n bottom: 5,\n right: 10\n };\n var cssTextClass = void 0;\n if (this.type == Type.RULE) {\n cssTextClass = rrDiagramToSVG.cssRuleTextClass;\n } else if (this.type == Type.LITERAL) {\n cssTextClass = rrDiagramToSVG.cssLiteralTextClass;\n } else if (this.type == Type.SPECIAL_SEQUENCE) {\n cssTextClass = rrDiagramToSVG.cssSpecialSequenceTextClass;\n } else {\n throw 'Unknown type: type';\n }\n this.fontInfo = (0, _utils.getFontInfo)(this.text, cssTextClass);\n var width = this.fontInfo.textWidth;\n var height = this.fontInfo.height;\n var fontYOffset = this.fontInfo.descent;\n var connectorOffset = insets.top + height - fontYOffset;\n width += insets.left + insets.right;\n height += insets.top + insets.bottom;\n this.setLayoutInfo(new _layoutinfo2.default(width, height, connectorOffset));\n }\n }, {\n key: 'toSVG',\n value: function toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\n var insets = {\n top: 5,\n left: 10,\n bottom: 5,\n right: 10\n };\n var layoutInfo = this.getLayoutInfo();\n var width = layoutInfo.getWidth();\n var height = layoutInfo.getHeight();\n if (this.link != null) {\n svgContent.addElement(\"<a xlink:href=\\\"\" + (0, _utils.escapeXml)(this.link) /* + \"\\\" xlink:title=\\\"\" + escapeXml(this.text)*/ + \"\\\">\");\n }\n var cssClass = void 0;\n var cssTextClass = void 0;\n var shape = void 0;\n if (this.type == Type.RULE) {\n cssClass = rrDiagramToSVG.cssRuleClass;\n cssTextClass = rrDiagramToSVG.cssRuleTextClass;\n shape = rrDiagramToSVG.ruleShape;\n } else if (this.type == Type.LITERAL) {\n cssClass = rrDiagramToSVG.cssLiteralClass;\n cssTextClass = rrDiagramToSVG.cssLiteralTextClass;\n shape = rrDiagramToSVG.literalShape;\n } else if (this.type == Type.SPECIAL_SEQUENCE) {\n cssClass = rrDiagramToSVG.cssSpecialSequenceClass;\n cssTextClass = rrDiagramToSVG.cssSpecialSequenceTextClass;\n shape = rrDiagramToSVG.specialSequenceShape;\n } else {\n throw 'Unknown type: type';\n }\n if (shape == _rrdiagramtosvg2.default.BoxShape.RECTANGLE) {\n svgContent.addElement(\"<rect class=\\\"\" + cssClass + \"\\\" x=\\\"\" + xOffset + \"\\\" y=\\\"\" + yOffset + \"\\\" width=\\\"\" + width + \"\\\" height=\\\"\" + height + \"\\\"/>\");\n } else if (shape == _rrdiagramtosvg2.default.BoxShape.ROUNDED_RECTANGLE) {\n var rx = Math.floor((insets.left + insets.right + insets.top + insets.bottom) / 4);\n svgContent.addElement(\"<rect class=\\\"\" + cssClass + \"\\\" x=\\\"\" + xOffset + \"\\\" y=\\\"\" + yOffset + \"\\\" width=\\\"\" + width + \"\\\" height=\\\"\" + height + \"\\\" rx=\\\"\" + rx + \"\\\"/>\");\n } else if (shape == _rrdiagramtosvg2.default.BoxShape.HEXAGON) {\n // We don't calculate the exact length of the connector: it goes behind the shape.\n // We should calculate if we want to support transparent shapes.\n var connectorOffset = layoutInfo.getConnectorOffset();\n svgContent.addLineConnector(xOffset, yOffset + connectorOffset, xOffset + insets.left, yOffset + connectorOffset);\n svgContent.addElement(\"<polygon class=\\\"\" + (0, _utils.escapeXml)(cssClass) + \"\\\" points=\\\"\" + xOffset + \" \" + (yOffset + Math.floor(height / 2)) + \" \" + (xOffset + insets.left) + \" \" + yOffset + \" \" + (xOffset + width - insets.right) + \" \" + yOffset + \" \" + (xOffset + width) + \" \" + (yOffset + Math.floor(height / 2)) + \" \" + (xOffset + width - insets.right) + \" \" + (yOffset + height) + \" \" + (xOffset + insets.left) + \" \" + (yOffset + height) + \"\\\"/>\");\n svgContent.addLineConnector(xOffset + width, yOffset + connectorOffset, xOffset + width - insets.right, yOffset + connectorOffset);\n }\n var fontYOffset = this.fontInfo.descent;\n var textHeight = this.fontInfo.textHeight;\n var textXOffset = xOffset + insets.left;\n var textYOffset = yOffset + insets.top + textHeight - fontYOffset;\n svgContent.addElement(\"<text class=\\\"\" + (0, _utils.escapeXml)(cssTextClass) + \"\\\" x=\\\"\" + textXOffset + \"\\\" y=\\\"\" + textYOffset + \"\\\">\" + (0, _utils.escapeXml)(this.text) + \"</text>\");\n if (this.link != null) {\n svgContent.addElement(\"</a>\");\n }\n }\n }]);\n\n return RRText;\n}(_rrelement2.default);\n\nexports.default = RRText;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = __webpack_require__(1);\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(19);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(20);\nvar global = __webpack_require__(2);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(34) ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(1);\nvar aFunction = __webpack_require__(10);\nvar SPECIES = __webpack_require__(5)('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrdiagram = __webpack_require__(59);\n\nvar _rrdiagram2 = _interopRequireDefault(_rrdiagram);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nvar _expression = __webpack_require__(32);\n\nvar _expression2 = _interopRequireDefault(_expression);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Rule = function () {\n\n /**\r\n * @param {string} name \r\n * @param {Expression} expression \r\n * @param {?string} originalExpressionText \r\n */\n function Rule(name, expression, originalExpressionText) {\n _classCallCheck(this, Rule);\n\n this.name = name;\n this.expression = expression;\n this.originalExpressionText = originalExpressionText;\n }\n\n /**\r\n * @return {string}\r\n */\n\n\n _createClass(Rule, [{\n key: 'getName',\n value: function getName() {\n return this.name;\n }\n\n /**\r\n * @return {?string}\r\n */\n\n }, {\n key: 'getOriginalExpressionText',\n value: function getOriginalExpressionText() {\n return this.originalExpressionText;\n }\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRDiagram}\r\n */\n\n }, {\n key: 'toRRDiagram',\n value: function toRRDiagram(grammarToRRDiagram) {\n return new _rrdiagram2.default(this.expression.toRRElement(grammarToRRDiagram));\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @return {string}\r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF) {\n var sb = [];\n sb.push(this.name, \" \");\n switch (grammarToBNF.ruleDefinitionSign) {\n case _grammartobnf2.default.RuleDefinitionSign.EQUAL:\n sb.push(\"=\");break;\n case _grammartobnf2.default.RuleDefinitionSign.COLON_EQUAL:\n sb.push(\":=\");break;\n case _grammartobnf2.default.RuleDefinitionSign.COLON_COLON_EQUAL:\n sb.push(\"::=\");break;\n }\n sb.push(\" \");\n this.expression.toBNF(grammarToBNF, sb, false);\n sb.push(\";\");\n return sb.join(\"\");\n }\n }]);\n\n return Rule;\n}();\n\nexports.default = Rule;\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _rrsequence = __webpack_require__(83);\n\nvar _rrsequence2 = _interopRequireDefault(_rrsequence);\n\nvar _svgcontent = __webpack_require__(157);\n\nvar _svgcontent2 = _interopRequireDefault(_svgcontent);\n\nvar _rrbreak = __webpack_require__(80);\n\nvar _rrbreak2 = _interopRequireDefault(_rrbreak);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar RRDiagram = function () {\n\n /**\r\n * @param {RRElement} rrElement \r\n */\n function RRDiagram(rrElement) {\n _classCallCheck(this, RRDiagram);\n\n this.rrElement = rrElement;\n }\n\n _createClass(RRDiagram, [{\n key: 'toSVG',\n value: function toSVG(rrDiagramToSVG) {\n var rrElementList = [];\n if (this.rrElement instanceof _rrsequence2.default) {\n var cursorElementList = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.rrElement.getRRElements()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var element = _step.value;\n\n if (element instanceof _rrbreak2.default) {\n if (cursorElementList.length != 0) {\n rrElementList.push(cursorElementList.length == 1 ? cursorElementList[0] : new _rrsequence2.default(cursorElementList.slice()));\n cursorElementList.length = 0;\n }\n } else {\n cursorElementList.push(element);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n if (cursorElementList.length != 0) {\n rrElementList.push(cursorElementList.length == 1 ? cursorElementList[0] : new _rrsequence2.default(cursorElementList.slice()));\n }\n } else {\n rrElementList.push(this.rrElement);\n }\n var width = 5;\n var height = 5;\n for (var i = 0; i < rrElementList.length; i++) {\n if (i > 0) {\n height += 5;\n }\n var rrElement_ = rrElementList[i];\n rrElement_.computeLayoutInfo(rrDiagramToSVG);\n var layoutInfo = rrElement_.getLayoutInfo();\n width = Math.max(width, 5 + layoutInfo.getWidth() + 5);\n height += layoutInfo.getHeight() + 5;\n }\n var svgContent = new _svgcontent2.default();\n // First, generate the XML for the elements, to know the usage.\n var xOffset = 0;\n var yOffset = 5;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = rrElementList[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _rrElement_ = _step2.value;\n\n var layoutInfo2 = _rrElement_.getLayoutInfo();\n var connectorOffset2 = layoutInfo2.getConnectorOffset();\n var width2 = layoutInfo2.getWidth();\n var height2 = layoutInfo2.getHeight();\n var y1 = yOffset + connectorOffset2;\n svgContent.addLineConnector(xOffset, y1, xOffset + 5, y1);\n // TODO: add decorations (like arrows)?\n _rrElement_.toSVG(rrDiagramToSVG, xOffset + 5, yOffset, svgContent);\n svgContent.addLineConnector(xOffset + 5 + width2, y1, xOffset + 5 + width2 + 5, y1);\n yOffset += height2 + 10;\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n var connectorElement = svgContent.getConnectorElement(rrDiagramToSVG);\n var elements = svgContent.getElements();\n // Then generate the rest (CSS and SVG container tags) based on that usage.\n var sb = [];\n sb.push(\"<svg version=\\\"1.1\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"\", width, \"\\\" height=\\\"\", height, \"\\\" viewbox=\\\"0 0 \" + width + \" \" + height + \"\\\">\");\n /* String styles = svgContent.getCSSStyles();\r\n if(styles.length() > 0) {\r\n sb.push(\"<defs><style type=\\\"text/css\\\">\");\r\n sb.push(styles);\r\n sb.push(\"</style></defs>\");\r\n }*/\n sb.push(connectorElement);\n sb.push(elements);\n sb.push(\"</svg>\");\n return sb.join(\"\");\n }\n }]);\n\n return RRDiagram;\n}();\n\nexports.default = RRDiagram;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrtext = __webpack_require__(52);\n\nvar _rrtext2 = _interopRequireDefault(_rrtext);\n\nvar _rrdiagram = __webpack_require__(59);\n\nvar _rrdiagram2 = _interopRequireDefault(_rrdiagram);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar BoxShape = {\n RECTANGLE: 1,\n ROUNDED_RECTANGLE: 2,\n HEXAGON: 3\n};\n\nvar RRDiagramToSVG = function () {\n _createClass(RRDiagramToSVG, null, [{\n key: 'BoxShape',\n get: function get() {\n return BoxShape;\n }\n }]);\n\n function RRDiagramToSVG() {\n _classCallCheck(this, RRDiagramToSVG);\n\n this.cssConnectorClass = \"rrConnector\"; //{fill:none;stroke:#222222;}\n this.cssRuleClass = \"rrRule\"; //{fill:#d3f0ff;stroke:#222222;}\n this.cssRuleTextClass = \"rrRuleText\"; //{fill:#000000;font-family:Verdana,Sans-serif;font-size:12px;}\n this.cssLiteralClass = \"rrLiteral\"; //{fill:#90d9ff;stroke:#222222;}\n this.cssLiteralTextClass = \"rrLiteralText\"; //{fill:#000000;font-family:Verdana,Sans-serif;font-size:12px;}\n this.cssSpecialSequenceClass = \"rrSpecialSequence\"; //{fill:#e4f4ff;stroke:#222222;}\n this.cssSpecialSequenceTextClass = \"rrSpecialSequenceText\"; //{fill:#000000;font-family:Verdana,Sans-serif;font-size:12px;}\n this.cssLoopCardinalitiesTextClass = \"rrLoopCardinalities\"; //{fill:#000000;font-family:Verdana,Sans-serif;font-size:10px;}\n this.ruleShape = BoxShape.RECTANGLE;\n this.literalShape = BoxShape.ROUNDED_RECTANGLE;\n this.specialSequenceShape = BoxShape.HEXAGON;\n }\n\n /**\r\n * @param {RRDiagram} rrDiagram \r\n * @return {string}\r\n */\n\n\n _createClass(RRDiagramToSVG, [{\n key: 'convert',\n value: function convert(rrDiagram) {\n return rrDiagram.toSVG(this);\n }\n }]);\n\n return RRDiagramToSVG;\n}();\n\nexports.default = RRDiagramToSVG;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(18);\nvar toLength = __webpack_require__(6);\nvar toAbsoluteIndex = __webpack_require__(44);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(2);\nvar $export = __webpack_require__(0);\nvar redefine = __webpack_require__(13);\nvar redefineAll = __webpack_require__(42);\nvar meta = __webpack_require__(35);\nvar forOf = __webpack_require__(37);\nvar anInstance = __webpack_require__(36);\nvar isObject = __webpack_require__(4);\nvar fails = __webpack_require__(3);\nvar $iterDetect = __webpack_require__(66);\nvar setToStringTag = __webpack_require__(49);\nvar inheritIfRequired = __webpack_require__(93);\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(148);\nvar redefine = __webpack_require__(13);\nvar hide = __webpack_require__(12);\nvar fails = __webpack_require__(3);\nvar defined = __webpack_require__(27);\nvar wks = __webpack_require__(5);\nvar regexpExec = __webpack_require__(101);\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(19);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.8 IsRegExp(argument)\nvar isObject = __webpack_require__(4);\nvar cof = __webpack_require__(19);\nvar MATCH = __webpack_require__(5)('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(5)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// Forced replacement prototype accessors methods\nmodule.exports = __webpack_require__(34) || !__webpack_require__(3)(function () {\n var K = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call\n __defineSetter__.call(null, K, function () { /* empty */ });\n delete __webpack_require__(2)[K];\n});\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar classof = __webpack_require__(47);\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(0);\nvar aFunction = __webpack_require__(10);\nvar ctx = __webpack_require__(21);\nvar forOf = __webpack_require__(37);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(0);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(23);\nvar defined = __webpack_require__(27);\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar hide = __webpack_require__(12);\nvar uid = __webpack_require__(45);\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rule = __webpack_require__(58);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Grammar = function () {\n function Grammar(rules) {\n _classCallCheck(this, Grammar);\n\n if (arguments.length == 0) {\n rules = [];\n } else if (rules.constructor !== Array) {\n rules = arguments;\n }\n this.rules = rules;\n }\n\n /**\r\n * @return {Rule[]}\r\n */\n\n\n _createClass(Grammar, [{\n key: 'getRules',\n value: function getRules() {\n return this.rules;\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @return {string}\r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF) {\n var sb = [];\n for (var i = 0; i < this.rules.length; i++) {\n if (i > 0) {\n sb.push(\"\\n\");\n }\n sb.push(this.rules[i].toBNF(grammarToBNF));\n }\n return sb.join(\"\");\n }\n }]);\n\n return Grammar;\n}();\n\nexports.default = Grammar;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _expression = __webpack_require__(32);\n\nvar _expression2 = _interopRequireDefault(_expression);\n\nvar _rrtext = __webpack_require__(52);\n\nvar _rrtext2 = _interopRequireDefault(_rrtext);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Literal = function (_Expression) {\n _inherits(Literal, _Expression);\n\n /**\r\n * @param {string} text \r\n */\n function Literal(text) {\n _classCallCheck(this, Literal);\n\n var _this = _possibleConstructorReturn(this, (Literal.__proto__ || Object.getPrototypeOf(Literal)).call(this));\n\n _this.text = text;\n return _this;\n }\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\n\n\n _createClass(Literal, [{\n key: 'toRRElement',\n value: function toRRElement(grammarToRRDiagram) {\n return new _rrtext2.default(_rrtext2.default.Type.LITERAL, this.text, null);\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF, sb, isNested) {\n var c = grammarToBNF.literalDefinitionSign == _grammartobnf2.default.LiteralDefinitionSign.DOUBLE_QUOTE ? '\"' : '\\'';\n sb.push(c);\n sb.push(this.text);\n sb.push(c);\n }\n\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\n\n }, {\n key: 'equals',\n value: function equals(o) {\n if (!(o instanceof Literal)) {\n return false;\n }\n return this.text == o.text;\n }\n }]);\n\n return Literal;\n}(_expression2.default);\n\nexports.default = Literal;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _expression = __webpack_require__(32);\n\nvar _expression2 = _interopRequireDefault(_expression);\n\nvar _rrchoice = __webpack_require__(81);\n\nvar _rrchoice2 = _interopRequireDefault(_rrchoice);\n\nvar _rrline = __webpack_require__(115);\n\nvar _rrline2 = _interopRequireDefault(_rrline);\n\nvar _rrloop = __webpack_require__(82);\n\nvar _rrloop2 = _interopRequireDefault(_rrloop);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Repetition = function (_Expression) {\n _inherits(Repetition, _Expression);\n\n /**\r\n * @param {Expression} expression \r\n * @param {number} minRepetitionCount \r\n * @param {?number} maxRepetitionCount \r\n */\n function Repetition(expression, minRepetitionCount, maxRepetitionCount) {\n _classCallCheck(this, Repetition);\n\n var _this = _possibleConstructorReturn(this, (Repetition.__proto__ || Object.getPrototypeOf(Repetition)).call(this));\n\n _this.expression = expression;\n _this.minRepetitionCount = minRepetitionCount | 0;\n _this.maxRepetitionCount = maxRepetitionCount;\n return _this;\n }\n\n /**\r\n * @return {Expression}\r\n */\n\n\n _createClass(Repetition, [{\n key: 'getExpression',\n value: function getExpression() {\n return this.expression;\n }\n\n /**\r\n * @return {number}\r\n */\n\n }, {\n key: 'getMinRepetitionCount',\n value: function getMinRepetitionCount() {\n return this.minRepetitionCount;\n }\n\n /**\r\n * @return {?number}\r\n */\n\n }, {\n key: 'getMaxRepetitionCount',\n value: function getMaxRepetitionCount() {\n return this.maxRepetitionCount;\n }\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\n\n }, {\n key: 'toRRElement',\n value: function toRRElement(grammarToRRDiagram) {\n var rrElement = this.expression.toRRElement(grammarToRRDiagram);\n if (this.minRepetitionCount == 0) {\n if (this.maxRepetitionCount == null || this.maxRepetitionCount > 1) {\n return new _rrchoice2.default(new _rrloop2.default(rrElement, null, 0, this.maxRepetitionCount == null ? null : this.maxRepetitionCount - 1), new _rrline2.default());\n }\n return new _rrchoice2.default(rrElement, new _rrline2.default());\n }\n return new _rrloop2.default(rrElement, null, this.minRepetitionCount - 1, this.maxRepetitionCount == null ? null : this.maxRepetitionCount - 1);\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF, sb, isNested) {\n var isUsingMultiplicationTokens = grammarToBNF.isUsingMultiplicationTokens;\n if (this.maxRepetitionCount == null) {\n if (this.minRepetitionCount > 0) {\n if (this.minRepetitionCount == 1 && isUsingMultiplicationTokens) {\n this.expression.toBNF(grammarToBNF, sb, true);\n sb.push(\"+\");\n } else {\n if (isNested) {\n sb.push(\"( \");\n }\n if (this.minRepetitionCount > 1) {\n sb.push(this.minRepetitionCount, \" * \");\n }\n this.expression.toBNF(grammarToBNF, sb, false);\n if (grammarToBNF.isCommaSeparator) {\n sb.push(\" ,\");\n }\n sb.push(\" \", \"{ \");\n this.expression.toBNF(grammarToBNF, sb, false);\n sb.push(\" }\");\n if (isNested) {\n sb.push(\" )\");\n }\n }\n } else {\n if (isUsingMultiplicationTokens) {\n this.expression.toBNF(grammarToBNF, sb, true);\n sb.push(\"*\");\n } else {\n sb.push(\"{ \");\n this.expression.toBNF(grammarToBNF, sb, false);\n sb.push(\" }\");\n }\n }\n } else {\n if (this.minRepetitionCount == 0) {\n if (this.maxRepetitionCount == 1 && isUsingMultiplicationTokens) {\n this.expression.toBNF(grammarToBNF, sb, true);\n sb.push(\"?\");\n } else {\n if (this.maxRepetitionCount > 1) {\n sb.push(this.maxRepetitionCount, \" * \");\n }\n sb.push(\"[ \");\n this.expression.toBNF(grammarToBNF, sb, false);\n sb.push(\" ]\");\n }\n } else {\n if (this.minRepetitionCount == this.maxRepetitionCount) {\n sb.push(this.minRepetitionCount, \" * \");\n this.expression.toBNF(grammarToBNF, sb, isNested);\n } else {\n if (isNested) {\n sb.push(\"( \");\n }\n sb.push(this.minRepetitionCount, \" * \");\n this.expression.toBNF(grammarToBNF, sb, false);\n if (grammarToBNF.isCommaSeparator) {\n sb.push(\" ,\");\n }\n sb.push(\" \", this.maxRepetitionCount - this.minRepetitionCount, \" * \", \"[ \");\n this.expression.toBNF(grammarToBNF, sb, false);\n sb.push(\" ]\");\n if (isNested) {\n sb.push(\" )\");\n }\n }\n }\n }\n }\n\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\n\n }, {\n key: 'equals',\n value: function equals(o) {\n if (!(o instanceof Repetition)) {\n return false;\n }\n return this.expression.equals(o.expression) && this.minRepetitionCount == o.minRepetitionCount && this.maxRepetitionCount == null ? o.maxRepetitionCount == null : this.maxRepetitionCount.equals(o.maxRepetitionCount);\n }\n }]);\n\n return Repetition;\n}(_expression2.default);\n\nexports.default = Repetition;\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _expression = __webpack_require__(32);\n\nvar _expression2 = _interopRequireDefault(_expression);\n\nvar _rrbreak = __webpack_require__(80);\n\nvar _rrbreak2 = _interopRequireDefault(_rrbreak);\n\nvar _rrtext = __webpack_require__(52);\n\nvar _rrtext2 = _interopRequireDefault(_rrtext);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar RuleReference = function (_Expression) {\n _inherits(RuleReference, _Expression);\n\n /**\r\n * @param {string} ruleName \r\n */\n function RuleReference(ruleName) {\n _classCallCheck(this, RuleReference);\n\n var _this = _possibleConstructorReturn(this, (RuleReference.__proto__ || Object.getPrototypeOf(RuleReference)).call(this));\n\n _this.ruleName = ruleName;\n return _this;\n }\n\n _createClass(RuleReference, [{\n key: 'getRuleName',\n value: function getRuleName() {\n return this.ruleName;\n }\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\n\n }, {\n key: 'toRRElement',\n value: function toRRElement(grammarToRRDiagram) {\n var ruleConsideredAsLineBreak = grammarToRRDiagram.ruleConsideredAsLineBreak;\n if (ruleConsideredAsLineBreak != null && ruleConsideredAsLineBreak === this.ruleName) {\n return new _rrbreak2.default();\n }\n var ruleLinkProvider = grammarToRRDiagram.ruleLinkProvider;\n return new _rrtext2.default(_rrtext2.default.Type.RULE, this.ruleName, ruleLinkProvider == null ? null : ruleLinkProvider(this.ruleName));\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF, sb, isNested) {\n sb.push(this.ruleName);\n var ruleConsideredAsLineBreak = grammarToBNF.ruleConsideredAsLineBreak;\n if (ruleConsideredAsLineBreak != null && ruleConsideredAsLineBreak === this.ruleName) {\n sb.push(\"\\n\");\n }\n }\n\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\n\n }, {\n key: 'equals',\n value: function equals(o) {\n if (!(o instanceof RuleReference)) {\n return false;\n }\n return this.ruleName == o.ruleName;\n }\n }]);\n\n return RuleReference;\n}(_expression2.default);\n\nexports.default = RuleReference;\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _expression = __webpack_require__(32);\n\nvar _expression2 = _interopRequireDefault(_expression);\n\nvar _rrloop = __webpack_require__(82);\n\nvar _rrloop2 = _interopRequireDefault(_rrloop);\n\nvar _rrsequence = __webpack_require__(83);\n\nvar _rrsequence2 = _interopRequireDefault(_rrsequence);\n\nvar _rulereference = __webpack_require__(78);\n\nvar _rulereference2 = _interopRequireDefault(_rulereference);\n\nvar _repetition = __webpack_require__(77);\n\nvar _repetition2 = _interopRequireDefault(_repetition);\n\nvar _literal = __webpack_require__(76);\n\nvar _literal2 = _interopRequireDefault(_literal);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Sequence = function (_Expression) {\n _inherits(Sequence, _Expression);\n\n /**\r\n * @param {(Expression | Expression[])} expressions \r\n */\n function Sequence(expressions) {\n _classCallCheck(this, Sequence);\n\n var _this = _possibleConstructorReturn(this, (Sequence.__proto__ || Object.getPrototypeOf(Sequence)).call(this));\n\n if (arguments.length == 0) {\n expressions = [];\n } else if (expressions.constructor !== Array) {\n expressions = arguments;\n }\n _this.expressions = expressions;\n return _this;\n }\n\n /**\r\n * @param {Expression[]}\r\n */\n\n\n _createClass(Sequence, [{\n key: 'getExpressions',\n value: function getExpressions() {\n return this.expressions;\n }\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\n\n }, {\n key: 'toRRElement',\n value: function toRRElement(grammarToRRDiagram) {\n var rrElementList = [];\n for (var i = 0; i < this.expressions.length; i++) {\n var expression = this.expressions[i];\n var rrElement = expression.toRRElement(grammarToRRDiagram);\n // Treat special case of: \"a (',' a)*\" and \"a (a)*\"\n if (i < this.expressions.length - 1 && this.expressions[i + 1] instanceof _repetition2.default) {\n var repetition = this.expressions[i + 1];\n var repetitionExpression = repetition.getExpression();\n if (repetitionExpression instanceof Sequence) {\n // Treat special case of: \"expr (',' expr)*\"\n var subExpressions = repetitionExpression.getExpressions();\n if (subExpressions.length == 2 && subExpressions[0] instanceof _literal2.default) {\n if (expression.equals(subExpressions[1])) {\n var maxRepetitionCount = repetition.getMaxRepetitionCount();\n if (maxRepetitionCount == null || maxRepetitionCount > 1) {\n rrElement = new _rrloop2.default(expression.toRRElement(grammarToRRDiagram), subExpressions[0].toRRElement(grammarToRRDiagram), repetition.getMinRepetitionCount(), maxRepetitionCount == null ? null : maxRepetitionCount);\n i++;\n }\n }\n }\n } else if (expression instanceof _rulereference2.default) {\n var ruleLink = expression;\n // Treat special case of: a (a)*\n if (repetitionExpression instanceof _rulereference2.default && repetitionExpression.getRuleName().equals(ruleLink.getRuleName())) {\n var _maxRepetitionCount = repetition.getMaxRepetitionCount();\n if (_maxRepetitionCount == null || _maxRepetitionCount > 1) {\n rrElement = new _rrloop2.default(ruleLink.toRRElement(grammarToRRDiagram), null, repetition.getMinRepetitionCount(), _maxRepetitionCount == null ? null : _maxRepetitionCount);\n i++;\n }\n }\n }\n }\n rrElementList.push(rrElement);\n }\n return new _rrsequence2.default(rrElementList);\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF, sb, isNested) {\n if (this.expressions.length == 0) {\n sb.push(\"( )\");\n return;\n }\n if (isNested && this.expressions.length > 1) {\n sb.push(\"( \");\n }\n var isCommaSeparator = grammarToBNF.isCommaSeparator;\n for (var i = 0; i < this.expressions.length; i++) {\n if (i > 0) {\n if (isCommaSeparator) {\n sb.push(\" ,\");\n }\n sb.push(\" \");\n }\n this.expressions[i].toBNF(grammarToBNF, sb, this.expressions.length == 1 && isNested || !isCommaSeparator);\n }\n if (isNested && this.expressions.length > 1) {\n sb.push(\" )\");\n }\n }\n\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\n\n }, {\n key: 'equals',\n value: function equals(o) {\n if (!(o instanceof Sequence)) {\n return false;\n }\n if (this.expressions.length != o.expressions.length) {\n return false;\n }\n for (var i = 0; i < this.expressions.length; i++) {\n if (!this.expressions[i].equals(o.expressions[i])) {\n return false;\n }\n }\n return true;\n }\n }]);\n\n return Sequence;\n}(_expression2.default);\n\nexports.default = Sequence;\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar RRBreak = function (_RRElement) {\n _inherits(RRBreak, _RRElement);\n\n function RRBreak() {\n _classCallCheck(this, RRBreak);\n\n return _possibleConstructorReturn(this, (RRBreak.__proto__ || Object.getPrototypeOf(RRBreak)).call(this));\n }\n\n _createClass(RRBreak, [{\n key: \"computeLayoutInfo\",\n value: function computeLayoutInfo(rrDiagramToSVG) {\n throw \"This element must not be nested and should have been processed before entering generation.\";\n }\n }, {\n key: \"toSVG\",\n value: function toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\n throw \"This element must not be nested and should have been processed before entering generation.\";\n }\n }]);\n\n return RRBreak;\n}(_rrelement2.default);\n\nexports.default = RRBreak;\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _layoutinfo = __webpack_require__(51);\n\nvar _layoutinfo2 = _interopRequireDefault(_layoutinfo);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar RRChoice = function (_RRElement) {\n _inherits(RRChoice, _RRElement);\n\n /**\r\n * @param {(RRElement[] | RRElement)} rrElements \r\n */\n function RRChoice(rrElements) {\n _classCallCheck(this, RRChoice);\n\n var _this = _possibleConstructorReturn(this, (RRChoice.__proto__ || Object.getPrototypeOf(RRChoice)).call(this));\n\n if (arguments.length == 0) {\n rrElements = [];\n } else if (rrElements.constructor !== Array) {\n rrElements = arguments;\n }\n _this.rrElements = rrElements;\n return _this;\n }\n\n _createClass(RRChoice, [{\n key: 'computeLayoutInfo',\n value: function computeLayoutInfo(rrDiagramToSVG) {\n var width = 0;\n var height = 0;\n var connectorOffset = 0;\n for (var i = 0; i < this.rrElements.length; i++) {\n var rrElement = this.rrElements[i];\n rrElement.computeLayoutInfo(rrDiagramToSVG);\n var layoutInfo = rrElement.getLayoutInfo();\n if (i == 0) {\n connectorOffset = layoutInfo.getConnectorOffset();\n } else {\n height += 5;\n }\n height += layoutInfo.getHeight();\n width = Math.max(width, layoutInfo.getWidth());\n }\n width += 20 + 20;\n this.setLayoutInfo(new _layoutinfo2.default(width, height, connectorOffset));\n }\n }, {\n key: 'toSVG',\n value: function toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\n var layoutInfo = this.getLayoutInfo();\n var y1 = yOffset + layoutInfo.getConnectorOffset();\n var x1 = xOffset + 10;\n var x2 = xOffset + layoutInfo.getWidth() - 10;\n var xOffset2 = xOffset + 20;\n var y2 = 0;\n var yOffset2 = yOffset;\n for (var i = 0; i < this.rrElements.length; i++) {\n var rrElement = this.rrElements[i];\n var layoutInfo2 = rrElement.getLayoutInfo();\n var width = layoutInfo2.getWidth();\n var height = layoutInfo2.getHeight();\n y2 = yOffset2 + layoutInfo2.getConnectorOffset();\n if (i == 0) {\n // Line to first element\n svgContent.addLineConnector(x1 - 10, y1, x1 + 10, y1);\n } else {\n if (i == this.rrElements.length - 1) {\n // Curve and vertical down\n svgContent.addPathConnector(x1 - 5, y1, \"q5 0 5 5\", x1, y1 + 5);\n svgContent.addLineConnector(x1, y1 + 5, x1, y2 - 5);\n }\n // Curve and horizontal line to element\n svgContent.addPathConnector(x1, y2 - 5, \"q0 5 5 5\", x1 + 5, y2);\n svgContent.addLineConnector(x1 + 5, y2, xOffset2, y2);\n }\n rrElement.toSVG(rrDiagramToSVG, xOffset2, yOffset2, svgContent);\n if (i == 0) {\n // Line to first element\n svgContent.addLineConnector(xOffset2 + width, y2, x2 + 10, y2);\n } else {\n // Horizontal line to element and curve\n svgContent.addLineConnector(x2 - 5, y2, xOffset2 + width, y2);\n svgContent.addPathConnector(x2 - 5, y2, \"q5 0 5-5\", x2, y2 - 5);\n if (i == this.rrElements.length - 1) {\n // Vertical up and curve\n svgContent.addLineConnector(x2, y2 - 5, x2, y1 + 5);\n svgContent.addPathConnector(x2, y1 + 5, \"q0-5 5-5\", x2 + 5, y1);\n }\n }\n yOffset2 += height + 5;\n }\n }\n }]);\n\n return RRChoice;\n}(_rrelement2.default);\n\nexports.default = RRChoice;\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _rrdiagramtosvg = __webpack_require__(60);\n\nvar _rrdiagramtosvg2 = _interopRequireDefault(_rrdiagramtosvg);\n\nvar _layoutinfo = __webpack_require__(51);\n\nvar _layoutinfo2 = _interopRequireDefault(_layoutinfo);\n\nvar _utils = __webpack_require__(84);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar RRLoop = function (_RRElement) {\n _inherits(RRLoop, _RRElement);\n\n /**\r\n * @param {RRElement} rrElement \r\n * @param {RRElement} loopElement \r\n * @param {?number} minRepetitionCount \r\n * @param {?number} maxRepetitionCount \r\n */\n function RRLoop(rrElement, loopElement, minRepetitionCount, maxRepetitionCount) {\n _classCallCheck(this, RRLoop);\n\n var _this = _possibleConstructorReturn(this, (RRLoop.__proto__ || Object.getPrototypeOf(RRLoop)).call(this));\n\n _this.rrElement = rrElement;\n _this.loopElement = loopElement;\n if (minRepetitionCount < 0) {\n throw new IllegalArgumentException(\"Minimum repetition must be positive!\");\n }\n if (maxRepetitionCount != null && maxRepetitionCount < minRepetitionCount) {\n throw new IllegalArgumentException(\"Maximum repetition must not be smaller than minimum!\");\n }\n _this.minRepetitionCount = minRepetitionCount;\n _this.maxRepetitionCount = maxRepetitionCount;\n _this.cardinalitiesText = null;\n _this.cardinalitiesWidth = null;\n _this.fontYOffset = null;\n return _this;\n }\n\n _createClass(RRLoop, [{\n key: 'computeLayoutInfo',\n value: function computeLayoutInfo(rrDiagramToSVG) {\n this.cardinalitiesText = null;\n this.cardinalitiesWidth = 0;\n this.fontYOffset = 0;\n if (this.minRepetitionCount > 0 || this.maxRepetitionCount != null) {\n this.cardinalitiesText = this.minRepetitionCount + \"..\" + (this.maxRepetitionCount == null ? \"N\" : this.maxRepetitionCount);\n // TODO: get font from CSS tag.\n var fontInfo = (0, _utils.getFontInfo)(this.cardinalitiesText, rrDiagramToSVG.cssLoopCardinalitiesTextClass);\n this.fontYOffset = fontInfo.descent;\n this.cardinalitiesWidth = fontInfo.textWidth + 2;\n }\n this.rrElement.computeLayoutInfo(rrDiagramToSVG);\n var layoutInfo1 = this.rrElement.getLayoutInfo();\n var width = layoutInfo1.getWidth();\n var height = layoutInfo1.getHeight();\n var connectorOffset = layoutInfo1.getConnectorOffset();\n if (this.loopElement != null) {\n this.loopElement.computeLayoutInfo(rrDiagramToSVG);\n var layoutInfo2 = this.loopElement.getLayoutInfo();\n width = Math.max(width, layoutInfo2.getWidth());\n var height2 = layoutInfo2.getHeight();\n height += 5 + height2;\n connectorOffset += 5 + height2;\n } else {\n height += 15;\n connectorOffset += 15;\n }\n width += 20 + 20 + this.cardinalitiesWidth;\n this.setLayoutInfo(new _layoutinfo2.default(width, height, connectorOffset));\n }\n }, {\n key: 'toSVG',\n value: function toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\n var layoutInfo1 = this.rrElement.getLayoutInfo();\n var width1 = layoutInfo1.getWidth();\n var maxWidth = width1;\n var yOffset2 = yOffset;\n var layoutInfo = this.getLayoutInfo();\n var connectorOffset = layoutInfo.getConnectorOffset();\n var y1 = yOffset;\n var loopOffset = 0;\n var loopWidth = 0;\n if (this.loopElement != null) {\n var layoutInfo2 = this.loopElement.getLayoutInfo();\n loopWidth = layoutInfo2.getWidth();\n maxWidth = Math.max(maxWidth, loopWidth);\n loopOffset = xOffset + 20 + Math.floor((maxWidth - loopWidth) / 2);\n yOffset2 += 5 + layoutInfo2.getHeight();\n y1 += layoutInfo2.getConnectorOffset();\n } else {\n yOffset2 += 15;\n y1 += 5;\n }\n var x1 = xOffset + 10;\n var x2 = xOffset + 20 + maxWidth + 10 + this.cardinalitiesWidth;\n var y2 = yOffset + connectorOffset;\n svgContent.addLineConnector(x1 - 10, y2, x1 + 10 + Math.floor((maxWidth - width1) / 2), y2);\n var loopPathStartX = x1 + 5;\n svgContent.addPathConnector(x1 + 5, y2, \"q-5 0-5-5\", x1, y2 - 5);\n svgContent.addLineConnector(x1, y2 - 5, x1, y1 + 5);\n svgContent.addPathConnector(x1, y1 + 5, \"q0-5 5-5\", x1 + 5, y1);\n if (this.loopElement != null) {\n svgContent.addLineConnector(x1 + 5, y1, loopOffset, y1);\n this.loopElement.toSVG(rrDiagramToSVG, loopOffset, yOffset, svgContent);\n loopPathStartX = loopOffset + loopWidth;\n }\n svgContent.addLineConnector(loopPathStartX, y1, x2 - 5, y1);\n svgContent.addPathConnector(x2 - 5, y1, \"q5 0 5 5\", x2, y1 + 5);\n svgContent.addLineConnector(x2, y1 + 5, x2, y2 - 5);\n svgContent.addPathConnector(x2, y2 - 5, \"q0 5-5 5\", x2 - 5, y2);\n if (this.cardinalitiesText != null) {\n svgContent.addElement(\"<text class=\\\"\" + (0, _utils.escapeXml)(rrDiagramToSVG.cssLoopCardinalitiesTextClass) + \"\\\" x=\\\"\" + (x2 - this.cardinalitiesWidth) + \"\\\" y=\\\"\" + (y2 - this.fontYOffset - 5) + \"\\\">\" + (0, _utils.escapeXml)(this.cardinalitiesText) + \"</text>\");\n }\n this.rrElement.toSVG(rrDiagramToSVG, xOffset + 20 + Math.floor((maxWidth - width1) / 2), yOffset2, svgContent);\n svgContent.addLineConnector(x2 - this.cardinalitiesWidth - 10 - Math.floor((maxWidth - width1) / 2), y2, xOffset + layoutInfo.getWidth(), y2);\n }\n }]);\n\n return RRLoop;\n}(_rrelement2.default);\n\nexports.default = RRLoop;\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _layoutinfo = __webpack_require__(51);\n\nvar _layoutinfo2 = _interopRequireDefault(_layoutinfo);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar RRSequence = function (_RRElement) {\n _inherits(RRSequence, _RRElement);\n\n /**\r\n * @param {(RRElement | RRElement[])} rrElements \r\n */\n function RRSequence(rrElements) {\n _classCallCheck(this, RRSequence);\n\n var _this = _possibleConstructorReturn(this, (RRSequence.__proto__ || Object.getPrototypeOf(RRSequence)).call(this));\n\n if (arguments.length == 0) {\n rrElements = [];\n } else if (rrElements.constructor !== Array) {\n rrElements = arguments;\n }\n _this.rrElements = rrElements;\n return _this;\n }\n\n _createClass(RRSequence, [{\n key: 'getRRElements',\n value: function getRRElements() {\n return this.rrElements;\n }\n }, {\n key: 'computeLayoutInfo',\n value: function computeLayoutInfo(rrDiagramToSVG) {\n var width = 0;\n var aboveConnector = 0;\n var belowConnector = 0;\n for (var i = 0; i < this.rrElements.length; i++) {\n var rrElement = this.rrElements[i];\n rrElement.computeLayoutInfo(rrDiagramToSVG);\n if (i > 0) {\n width += 10;\n }\n var layoutInfo = rrElement.getLayoutInfo();\n width += layoutInfo.getWidth();\n var height = layoutInfo.getHeight();\n var connectorOffset = layoutInfo.getConnectorOffset();\n aboveConnector = Math.max(aboveConnector, connectorOffset);\n belowConnector = Math.max(belowConnector, height - connectorOffset);\n }\n this.setLayoutInfo(new _layoutinfo2.default(width, aboveConnector + belowConnector, aboveConnector));\n }\n }, {\n key: 'toSVG',\n value: function toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\n var layoutInfo = this.getLayoutInfo();\n var connectorOffset = layoutInfo.getConnectorOffset();\n var widthOffset = 0;\n for (var i = 0; i < this.rrElements.length; i++) {\n var rrElement = this.rrElements[i];\n var layoutInfo2 = rrElement.getLayoutInfo();\n var width2 = layoutInfo2.getWidth();\n var connectorOffset2 = layoutInfo2.getConnectorOffset();\n var xOffset2 = widthOffset + xOffset;\n var yOffset2 = yOffset + connectorOffset - connectorOffset2;\n if (i > 0) {\n svgContent.addLineConnector(xOffset2 - 10, yOffset + connectorOffset, xOffset2, yOffset + connectorOffset);\n }\n rrElement.toSVG(rrDiagramToSVG, xOffset2, yOffset2, svgContent);\n widthOffset += 10;\n widthOffset += width2;\n }\n }\n }]);\n\n return RRSequence;\n}(_rrelement2.default);\n\nexports.default = RRSequence;\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.escapeXml = escapeXml;\nexports.getFontInfo = getFontInfo;\n/**\r\n * @param {string} unsafe \r\n * @return {string}\r\n */\nfunction escapeXml(unsafe) {\n return unsafe.replace(/[<>&'\"]/g, function (c) {\n switch (c) {\n case '<':\n return '&lt;';\n case '>':\n return '&gt;';\n case '&':\n return '&amp;';\n case '\\'':\n return '&apos;';\n case '\"':\n return '&quot;';\n }\n });\n}\n\n/**\r\n * @param {string} text\r\n * @param {string} fontCssClass\r\n * @return {{textWidth: number, textHeight: number, descent: number, height: number}}\r\n */\nfunction getFontInfo(text, fontCssClass) {\n // TODO: add caching of fontInfo per CssClass\n // Code inspired from: https://galactic.ink/journal/2011/01/html5-typographic-metrics/\n var container = document.body;\n var testDiv = document.createElement(\"div\");\n testDiv.className = fontCssClass;\n container.appendChild(testDiv);\n var computedStyle = window.getComputedStyle(testDiv, null);\n var fontSize = computedStyle.getPropertyValue('font-size');\n var fontFamily = computedStyle.getPropertyValue('font-family');\n container.removeChild(testDiv);\n var parent = document.createElement(\"div\");\n parent.style.fontFamily = fontFamily;\n parent.style.fontSize = fontSize;\n var image = document.createElement(\"img\");\n image.width = 1;\n image.height = 1;\n //image.src = \"./media/1x1.png\";\n image.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAAACklEQVR4nGP6DwABBQECz6AuzQAAAABJRU5ErkJggg==';\n var sampleHeight = 500;\n var textNode = document.createTextNode(text);\n parent.appendChild(textNode);\n parent.appendChild(image);\n container.appendChild(parent);\n // getting css equivalent of ctx.measureText()\n image.style.display = \"none\";\n parent.style.display = \"inline\";\n var textHeight = parent.offsetHeight;\n var textWidth = parent.offsetWidth;\n // making sure super-wide text stays in-bounds\n image.style.display = \"inline\";\n var forceWidth = textWidth + image.offsetWidth;\n // capturing the \"top\" and \"bottom\" baseline\n parent.style.cssText = \"margin: \" + sampleHeight + \"px 0; display: block; width: \" + forceWidth + \"px; white-space: nowrap; overflow: hidden; position: absolute; top: 0;\";\n parent.style.fontFamily = fontFamily;\n parent.style.fontSize = fontSize;\n var descent = textHeight - image.offsetTop;\n var height = parent.offsetHeight;\n var fontInfo = {\n textWidth: textWidth,\n textHeight: textHeight,\n descent: descent,\n height: height\n };\n container.removeChild(parent);\n return fontInfo;\n}\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar at = __webpack_require__(72)(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n\nvar toObject = __webpack_require__(9);\nvar toAbsoluteIndex = __webpack_require__(44);\nvar toLength = __webpack_require__(6);\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = __webpack_require__(161);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(8);\nvar createDesc = __webpack_require__(41);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(4);\nvar document = __webpack_require__(2).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar MATCH = __webpack_require__(5)('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(2).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(4);\nvar setPrototypeOf = __webpack_require__(102).set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(48);\nvar ITERATOR = __webpack_require__(5)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(38);\nvar descriptor = __webpack_require__(41);\nvar setToStringTag = __webpack_require__(49);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(12)(IteratorPrototype, __webpack_require__(5)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(34);\nvar $export = __webpack_require__(0);\nvar redefine = __webpack_require__(13);\nvar hide = __webpack_require__(12);\nvar Iterators = __webpack_require__(48);\nvar $iterCreate = __webpack_require__(95);\nvar setToStringTag = __webpack_require__(49);\nvar getPrototypeOf = __webpack_require__(17);\nvar ITERATOR = __webpack_require__(5)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\n// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports) {\n\n// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar macrotask = __webpack_require__(107).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(19)(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(10);\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar regexpFlags = __webpack_require__(53);\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(4);\nvar anObject = __webpack_require__(1);\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = __webpack_require__(21)(Function.call, __webpack_require__(16).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(56)('keys');\nvar uid = __webpack_require__(45);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = __webpack_require__(65);\nvar defined = __webpack_require__(27);\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toInteger = __webpack_require__(23);\nvar defined = __webpack_require__(27);\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports) {\n\nmodule.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(21);\nvar invoke = __webpack_require__(126);\nvar html = __webpack_require__(92);\nvar cel = __webpack_require__(89);\nvar global = __webpack_require__(2);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (__webpack_require__(19)(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(2);\nvar DESCRIPTORS = __webpack_require__(7);\nvar LIBRARY = __webpack_require__(34);\nvar $typed = __webpack_require__(73);\nvar hide = __webpack_require__(12);\nvar redefineAll = __webpack_require__(42);\nvar fails = __webpack_require__(3);\nvar anInstance = __webpack_require__(36);\nvar toInteger = __webpack_require__(23);\nvar toLength = __webpack_require__(6);\nvar toIndex = __webpack_require__(145);\nvar gOPN = __webpack_require__(39).f;\nvar dP = __webpack_require__(8).f;\nvar arrayFill = __webpack_require__(86);\nvar setToStringTag = __webpack_require__(49);\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar core = __webpack_require__(20);\nvar LIBRARY = __webpack_require__(34);\nvar wksExt = __webpack_require__(146);\nvar defineProperty = __webpack_require__(8).f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(47);\nvar ITERATOR = __webpack_require__(5)('iterator');\nvar Iterators = __webpack_require__(48);\nmodule.exports = __webpack_require__(20).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(33);\nvar step = __webpack_require__(129);\nvar Iterators = __webpack_require__(48);\nvar toIObject = __webpack_require__(18);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(96)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _chunk = __webpack_require__(156);\n\nvar _chunk2 = _interopRequireDefault(_chunk);\n\nvar _rule = __webpack_require__(58);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _grammar = __webpack_require__(75);\n\nvar _grammar2 = _interopRequireDefault(_grammar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\r\n * @param {string} name\r\n * @param {Chunk} chunk\r\n * @param {string} originalExpressionText\r\n */\nfunction createRule(name, chunk, originalExpressionText) {\n chunk.prune();\n var expression = chunk.getExpression();\n var rule = new _rule2.default(name, expression, originalExpressionText);\n return rule;\n}\n\n/**\r\n * @param {Chunk} parentChunk\r\n * @param {function(): string} readNext\r\n * @param {string} stopChar\r\n * @return {string}\r\n */\nfunction loadExpression(parentChunk, readNext, stopChar) {\n var expressionTextSB = [];\n var lastChar = 0;\n var sb = [];\n var isFirst = true;\n var isInSpecialGroup = false;\n var specialGroupChar = 0;\n var isLiteral = parentChunk.getType() == _chunk2.default.ChunkType.LITERAL;\n for (var c; (c = readNext()) != -1;) {\n expressionTextSB.push(c);\n if (isLiteral) {\n if (c == stopChar) {\n var s = sb.join(\"\");\n parentChunk.setText(s);\n return expressionTextSB.join(\"\");\n }\n sb.push(c);\n } else {\n if (isFirst && parentChunk.getType() == _chunk2.default.ChunkType.GROUP) {\n switch (c) {\n case '*':\n isInSpecialGroup = true;\n specialGroupChar = c;\n break;\n case '?':\n isInSpecialGroup = true;\n specialGroupChar = c;\n break;\n }\n }\n isFirst = false;\n if (isInSpecialGroup) {\n if (c == ')' && lastChar == specialGroupChar) {\n // Mutate parent group\n switch (specialGroupChar) {\n case '*':\n parentChunk.setType(_chunk2.default.ChunkType.COMMENT);break;\n case '?':\n parentChunk.setType(_chunk2.default.ChunkType.SPECIAL_SEQUENCE);break;\n }\n var comment = sb.join(\"\");\n comment = comment.slice(1, comment.length - 1).trim();\n parentChunk.setText(comment);\n return expressionTextSB.join(\"\");\n }\n if (sb.length > 0 || !/\\s/.test(c)) {\n sb.push(c);\n }\n } else {\n if (c == stopChar) {\n var content = sb.join(\"\").trim();\n if (content.length > 0) {\n parentChunk.addChunk(new _chunk2.default(_chunk2.default.ChunkType.RULE, content));\n }\n return expressionTextSB.join(\"\");\n }\n switch (c) {\n case ',':\n case ' ':\n case '\\n':\n case '\\r':\n case '\\t':\n {\n var _content = sb.join(\"\").trim();\n if (_content.length > 0) {\n parentChunk.addChunk(new _chunk2.default(_chunk2.default.ChunkType.RULE, _content));\n }\n sb.length = 0;\n // parentChunk.addChunk(new Chunk(Chunk.ChunkType.CONCATENATION));\n break;\n }\n case '|':\n {\n var _content2 = sb.join(\"\").trim();\n if (_content2.length > 0) {\n parentChunk.addChunk(new _chunk2.default(_chunk2.default.ChunkType.RULE, _content2));\n }\n sb.length = 0;\n parentChunk.addChunk(new _chunk2.default(_chunk2.default.ChunkType.ALTERNATION));\n break;\n }\n case '*':\n case '+':\n case '?':\n {\n var _content3 = sb.join(\"\").trim();\n if (_content3.length > 0) {\n parentChunk.addChunk(new _chunk2.default(_chunk2.default.ChunkType.RULE, _content3));\n }\n sb.length = 0;\n parentChunk.addChunk(new _chunk2.default(_chunk2.default.ChunkType.REPETITION_TOKEN, c));\n break;\n }\n case '\\\"':\n {\n var _content4 = sb.join(\"\").trim();\n if (_content4.length > 0) {\n parentChunk.addChunk(new _chunk2.default(_chunk2.default.ChunkType.RULE, _content4));\n }\n sb.length = 0;\n var literalChunk = new _chunk2.default(_chunk2.default.ChunkType.LITERAL);\n var subExpressionText = loadExpression(literalChunk, readNext, '\\\"');\n expressionTextSB.push(subExpressionText);\n parentChunk.addChunk(literalChunk);\n break;\n }\n case '\\'':\n {\n var _content5 = sb.join(\"\").trim();\n if (_content5.length > 0) {\n parentChunk.addChunk(new _chunk2.default(_chunk2.default.ChunkType.RULE, _content5));\n }\n sb.length = 0;\n var _literalChunk = new _chunk2.default(_chunk2.default.ChunkType.LITERAL);\n var _subExpressionText = loadExpression(_literalChunk, readNext, '\\'');\n expressionTextSB.push(_subExpressionText);\n parentChunk.addChunk(_literalChunk);\n break;\n }\n case '(':\n {\n var _content6 = sb.join(\"\").trim();\n if (_content6.length > 0) {\n parentChunk.addChunk(new _chunk2.default(_chunk2.default.ChunkType.RULE, _content6));\n }\n sb.length = 0;\n var groupChunk = new _chunk2.default(_chunk2.default.ChunkType.GROUP);\n var _subExpressionText2 = loadExpression(groupChunk, readNext, ')');\n expressionTextSB.push(_subExpressionText2);\n parentChunk.addChunk(groupChunk);\n break;\n }\n case '[':\n {\n var _content7 = sb.join(\"\").trim();\n if (_content7.length > 0) {\n parentChunk.addChunk(new _chunk2.default(_chunk2.default.ChunkType.RULE, _content7));\n }\n sb.length = 0;\n var optionChunk = new _chunk2.default(_chunk2.default.ChunkType.OPTION);\n var _subExpressionText3 = loadExpression(optionChunk, readNext, ']');\n expressionTextSB.push(_subExpressionText3);\n parentChunk.addChunk(optionChunk);\n break;\n }\n case '{':\n {\n var _content8 = sb.join(\"\").trim();\n if (_content8.length > 0) {\n parentChunk.addChunk(new _chunk2.default(_chunk2.default.ChunkType.RULE, _content8));\n }\n sb.length = 0;\n var repetitionChunk = new _chunk2.default(_chunk2.default.ChunkType.REPETITION);\n repetitionChunk.setMinCount(0);\n var _subExpressionText4 = loadExpression(repetitionChunk, readNext, '}');\n expressionTextSB.push(_subExpressionText4);\n parentChunk.addChunk(repetitionChunk);\n break;\n }\n default:\n {\n if (sb.length > 0 || !/\\s/.test(c)) {\n sb.push(c);\n }\n break;\n }\n }\n }\n lastChar = c;\n }\n }\n return expressionTextSB.join(\"\");\n}\n\nvar BNFToGrammar = function () {\n function BNFToGrammar() {\n _classCallCheck(this, BNFToGrammar);\n }\n\n _createClass(BNFToGrammar, [{\n key: 'convert',\n\n\n /**\r\n * @param {string} text \r\n * @return {Grammar}\r\n */\n value: function convert(text) {\n var readNext = function () {\n // all your code here\n var index = 0;\n return function () {\n if (index < text.length) {\n var char = text[index];\n index++;\n return char;\n }\n return -1;\n };\n }();\n var sb = [];\n var ruleList = [];\n for (var c; (c = readNext()) != -1;) {\n switch (c) {\n case '=':\n {\n var chunk = new _chunk2.default(_chunk2.default.ChunkType.GROUP);\n var expressionText = loadExpression(chunk, readNext, ';');\n if (expressionText.endsWith(\";\")) {\n expressionText = expressionText.slice(0, expressionText.length - 1);\n }\n var ruleName = sb.join(\"\");\n sb.length = 0;\n if (ruleName.endsWith(\":\")) {\n ruleName = ruleName.slice(0, ruleName.length - 1);\n if (ruleName.endsWith(\":\")) {\n ruleName = ruleName.slice(0, ruleName.length - 1);\n }\n }\n ruleName = ruleName.trim();\n var rule = createRule(ruleName, chunk, expressionText);\n ruleList.push(rule);\n break;\n }\n // Consider that '(' in rule name is start of a comment.\n case '(':\n {\n if (readNext() != '*') {\n throw \"Expecting start of a comment after '(' but could not find '*'!\";\n }\n var lastChar = 0;\n for (var c2; (c2 = readNext()) != -1;) {\n if (c2 == ')' && lastChar == '*') {\n break;\n }\n lastChar = c2;\n }\n break;\n }\n default:\n {\n if (!/\\s/.test(c) || sb.length > 0) {\n sb.push(c);\n }\n break;\n }\n }\n }\n return new _grammar2.default(ruleList);\n }\n }]);\n\n return BNFToGrammar;\n}();\n\nexports.default = BNFToGrammar;\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _expression = __webpack_require__(32);\n\nvar _expression2 = _interopRequireDefault(_expression);\n\nvar _sequence = __webpack_require__(79);\n\nvar _sequence2 = _interopRequireDefault(_sequence);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nvar _rrchoice = __webpack_require__(81);\n\nvar _rrchoice2 = _interopRequireDefault(_rrchoice);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Choice = function (_Expression) {\n _inherits(Choice, _Expression);\n\n /**\r\n * @param {Expression | Expression[]} expressions \r\n */\n function Choice(expressions) {\n _classCallCheck(this, Choice);\n\n var _this = _possibleConstructorReturn(this, (Choice.__proto__ || Object.getPrototypeOf(Choice)).call(this));\n\n if (arguments.length == 0) {\n expressions = [];\n } else if (expressions.constructor !== Array) {\n expressions = arguments;\n }\n _this.expressions = expressions;\n return _this;\n }\n\n /**\r\n * @return {Expression[]}\r\n */\n\n\n _createClass(Choice, [{\n key: 'getExpressions',\n value: function getExpressions() {\n return this.expressions;\n }\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\n\n }, {\n key: 'toRRElement',\n value: function toRRElement(grammarToRRDiagram) {\n var rrElements = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.expressions[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var expression = _step.value;\n\n rrElements.push(expression.toRRElement(grammarToRRDiagram));\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return new _rrchoice2.default(rrElements);\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF, sb, isNested) {\n var expressionList = [];\n var hasNoop = false;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = this.expressions[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var expression = _step2.value;\n\n if (expression instanceof _sequence2.default && expression.getExpressions().length == 0) {\n hasNoop = true;\n } else {\n expressionList.push(expression);\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n if (expressionList.length == 0) {\n sb.push(\"( )\");\n } else if (hasNoop && expressionList.length == 1) {\n var isUsingMultiplicationTokens = grammarToBNF.isUsingMultiplicationTokens;\n if (!isUsingMultiplicationTokens) {\n sb.push(\"[ \");\n }\n expressionList[0].toBNF(grammarToBNF, sb, isUsingMultiplicationTokens);\n if (!isUsingMultiplicationTokens) {\n sb.push(\" ]\");\n }\n } else {\n var _isUsingMultiplicationTokens = grammarToBNF.isUsingMultiplicationTokens;\n if (hasNoop && !_isUsingMultiplicationTokens) {\n sb.push(\"[ \");\n } else if (hasNoop || isNested && expressionList.length > 1) {\n sb.push(\"( \");\n }\n var count = expressionList.length;\n for (var i = 0; i < count; i++) {\n if (i > 0) {\n sb.push(\" | \");\n }\n expressionList[i].toBNF(grammarToBNF, sb, false);\n }\n if (hasNoop && !_isUsingMultiplicationTokens) {\n sb.push(\" ]\");\n } else if (hasNoop || isNested && expressionList.length > 1) {\n sb.push(\" )\");\n if (hasNoop) {\n sb.push(\"?\");\n }\n }\n }\n }\n\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\n\n }, {\n key: 'equals',\n value: function equals(o) {\n if (!(o instanceof Choice)) {\n return false;\n }\n if (this.expressions.length != o.expressions.length) {\n return false;\n }\n for (var i = 0; i < this.expressions.length; i++) {\n if (!this.expressions[i].equals(o.expressions[i])) {\n return false;\n }\n }\n return true;\n }\n }]);\n\n return Choice;\n}(_expression2.default);\n\nexports.default = Choice;\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _expression = __webpack_require__(32);\n\nvar _expression2 = _interopRequireDefault(_expression);\n\nvar _rrtext = __webpack_require__(52);\n\nvar _rrtext2 = _interopRequireDefault(_rrtext);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SpecialSequence = function (_Expression) {\n _inherits(SpecialSequence, _Expression);\n\n /**\r\n * @param {string} text \r\n */\n function SpecialSequence(text) {\n _classCallCheck(this, SpecialSequence);\n\n var _this = _possibleConstructorReturn(this, (SpecialSequence.__proto__ || Object.getPrototypeOf(SpecialSequence)).call(this));\n\n _this.text = text;\n return _this;\n }\n\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\n\n\n _createClass(SpecialSequence, [{\n key: 'toRRElement',\n value: function toRRElement(grammarToRRDiagram) {\n return new _rrtext2.default(_rrtext2.default.Type.SPECIAL_SEQUENCE, this.text, null);\n }\n\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\n\n }, {\n key: 'toBNF',\n value: function toBNF(grammarToBNF, sb, isNested) {\n sb.push(\"(? \");\n sb.push(this.text);\n sb.push(\" ?)\");\n }\n\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\n\n }, {\n key: 'equals',\n value: function equals(o) {\n if (!(o instanceof SpecialSequence)) {\n return false;\n }\n return this.text == o.text;\n }\n }]);\n\n return SpecialSequence;\n}(_expression2.default);\n\nexports.default = SpecialSequence;\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rrelement = __webpack_require__(11);\n\nvar _rrelement2 = _interopRequireDefault(_rrelement);\n\nvar _layoutinfo = __webpack_require__(51);\n\nvar _layoutinfo2 = _interopRequireDefault(_layoutinfo);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar RRLine = function (_RRElement) {\n _inherits(RRLine, _RRElement);\n\n function RRLine() {\n _classCallCheck(this, RRLine);\n\n return _possibleConstructorReturn(this, (RRLine.__proto__ || Object.getPrototypeOf(RRLine)).call(this));\n }\n\n _createClass(RRLine, [{\n key: 'computeLayoutInfo',\n value: function computeLayoutInfo(rrDiagramToSVG) {\n this.setLayoutInfo(new _layoutinfo2.default(0, 10, 5));\n }\n }, {\n key: 'toSVG',\n value: function toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {}\n }]);\n\n return RRLine;\n}(_rrelement2.default);\n\nexports.default = RRLine;\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar cof = __webpack_require__(19);\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n\nvar toObject = __webpack_require__(9);\nvar toAbsoluteIndex = __webpack_require__(44);\nvar toLength = __webpack_require__(6);\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar forOf = __webpack_require__(37);\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(10);\nvar toObject = __webpack_require__(9);\nvar IObject = __webpack_require__(54);\nvar toLength = __webpack_require__(6);\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar aFunction = __webpack_require__(10);\nvar isObject = __webpack_require__(4);\nvar invoke = __webpack_require__(126);\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar dP = __webpack_require__(8).f;\nvar create = __webpack_require__(38);\nvar redefineAll = __webpack_require__(42);\nvar ctx = __webpack_require__(21);\nvar anInstance = __webpack_require__(36);\nvar forOf = __webpack_require__(37);\nvar $iterDefine = __webpack_require__(96);\nvar step = __webpack_require__(129);\nvar setSpecies = __webpack_require__(43);\nvar DESCRIPTORS = __webpack_require__(7);\nvar fastKey = __webpack_require__(35).fastKey;\nvar validate = __webpack_require__(46);\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = __webpack_require__(47);\nvar from = __webpack_require__(118);\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar redefineAll = __webpack_require__(42);\nvar getWeak = __webpack_require__(35).getWeak;\nvar anObject = __webpack_require__(1);\nvar isObject = __webpack_require__(4);\nvar anInstance = __webpack_require__(36);\nvar forOf = __webpack_require__(37);\nvar createArrayMethod = __webpack_require__(26);\nvar $has = __webpack_require__(15);\nvar validate = __webpack_require__(46);\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar isArray = __webpack_require__(64);\nvar isObject = __webpack_require__(4);\nvar toLength = __webpack_require__(6);\nvar ctx = __webpack_require__(21);\nvar IS_CONCAT_SPREADABLE = __webpack_require__(5)('isConcatSpreadable');\n\nfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n var element, spreadable;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n spreadable = false;\n if (isObject(element)) {\n spreadable = element[IS_CONCAT_SPREADABLE];\n spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n }\n\n if (spreadable && depth > 0) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n}\n\nmodule.exports = flattenIntoArray;\n\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(7) && !__webpack_require__(3)(function () {\n return Object.defineProperty(__webpack_require__(89)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.3 Number.isInteger(number)\nvar isObject = __webpack_require__(4);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(1);\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.16 Math.fround(x)\nvar sign = __webpack_require__(98);\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports) {\n\n// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nmodule.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {\n if (\n arguments.length === 0\n // eslint-disable-next-line no-self-compare\n || x != x\n // eslint-disable-next-line no-self-compare\n || inLow != inLow\n // eslint-disable-next-line no-self-compare\n || inHigh != inHigh\n // eslint-disable-next-line no-self-compare\n || outLow != outLow\n // eslint-disable-next-line no-self-compare\n || outHigh != outHigh\n ) return NaN;\n if (x === Infinity || x === -Infinity) return x;\n return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;\n};\n\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = __webpack_require__(7);\nvar getKeys = __webpack_require__(40);\nvar gOPS = __webpack_require__(68);\nvar pIE = __webpack_require__(55);\nvar toObject = __webpack_require__(9);\nvar IObject = __webpack_require__(54);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(3)(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(8);\nvar anObject = __webpack_require__(1);\nvar getKeys = __webpack_require__(40);\n\nmodule.exports = __webpack_require__(7) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(18);\nvar gOPN = __webpack_require__(39).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(15);\nvar toIObject = __webpack_require__(18);\nvar arrayIndexOf = __webpack_require__(61)(false);\nvar IE_PROTO = __webpack_require__(103)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(7);\nvar getKeys = __webpack_require__(40);\nvar toIObject = __webpack_require__(18);\nvar isEnum = __webpack_require__(55).f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all object keys, includes non-enumerable and symbols\nvar gOPN = __webpack_require__(39);\nvar gOPS = __webpack_require__(68);\nvar anObject = __webpack_require__(1);\nvar Reflect = __webpack_require__(2).Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $parseFloat = __webpack_require__(2).parseFloat;\nvar $trim = __webpack_require__(50).trim;\n\nmodule.exports = 1 / $parseFloat(__webpack_require__(106) + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $parseInt = __webpack_require__(2).parseInt;\nvar $trim = __webpack_require__(50).trim;\nvar ws = __webpack_require__(106);\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(1);\nvar isObject = __webpack_require__(4);\nvar newPromiseCapability = __webpack_require__(100);\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports) {\n\n// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = __webpack_require__(6);\nvar repeat = __webpack_require__(105);\nvar defined = __webpack_require__(27);\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = __webpack_require__(23);\nvar toLength = __webpack_require__(6);\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(5);\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar strong = __webpack_require__(121);\nvar validate = __webpack_require__(46);\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = __webpack_require__(62)(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar regexpExec = __webpack_require__(101);\n__webpack_require__(0)({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 21.2.5.3 get RegExp.prototype.flags()\nif (__webpack_require__(7) && /./g.flags != 'g') __webpack_require__(8).f(RegExp.prototype, 'flags', {\n configurable: true,\n get: __webpack_require__(53)\n});\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar strong = __webpack_require__(121);\nvar validate = __webpack_require__(46);\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = __webpack_require__(62)(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(2);\nvar each = __webpack_require__(26)(0);\nvar redefine = __webpack_require__(13);\nvar meta = __webpack_require__(35);\nvar assign = __webpack_require__(133);\nvar weak = __webpack_require__(123);\nvar isObject = __webpack_require__(4);\nvar validate = __webpack_require__(46);\nvar NATIVE_WEAK_MAP = __webpack_require__(46);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = __webpack_require__(62)(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ui = exports.model = exports.bnfdisplay = undefined;\n\nvar _BNFDisplay = __webpack_require__(155);\n\nvar _BNFDisplay2 = _interopRequireDefault(_BNFDisplay);\n\nvar _bnftogrammar = __webpack_require__(112);\n\nvar _bnftogrammar2 = _interopRequireDefault(_bnftogrammar);\n\nvar _choice = __webpack_require__(113);\n\nvar _choice2 = _interopRequireDefault(_choice);\n\nvar _grammar = __webpack_require__(75);\n\nvar _grammar2 = _interopRequireDefault(_grammar);\n\nvar _grammartobnf = __webpack_require__(24);\n\nvar _grammartobnf2 = _interopRequireDefault(_grammartobnf);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _literal = __webpack_require__(76);\n\nvar _literal2 = _interopRequireDefault(_literal);\n\nvar _repetition = __webpack_require__(77);\n\nvar _repetition2 = _interopRequireDefault(_repetition);\n\nvar _rule = __webpack_require__(58);\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _rulereference = __webpack_require__(78);\n\nvar _rulereference2 = _interopRequireDefault(_rulereference);\n\nvar _sequence = __webpack_require__(79);\n\nvar _sequence2 = _interopRequireDefault(_sequence);\n\nvar _specialsequence = __webpack_require__(114);\n\nvar _specialsequence2 = _interopRequireDefault(_specialsequence);\n\nvar _rrbreak = __webpack_require__(80);\n\nvar _rrbreak2 = _interopRequireDefault(_rrbreak);\n\nvar _rrchoice = __webpack_require__(81);\n\nvar _rrchoice2 = _interopRequireDefault(_rrchoice);\n\nvar _rrdiagram = __webpack_require__(59);\n\nvar _rrdiagram2 = _interopRequireDefault(_rrdiagram);\n\nvar _rrdiagramtosvg = __webpack_require__(60);\n\nvar _rrdiagramtosvg2 = _interopRequireDefault(_rrdiagramtosvg);\n\nvar _rrline = __webpack_require__(115);\n\nvar _rrline2 = _interopRequireDefault(_rrline);\n\nvar _rrloop = __webpack_require__(82);\n\nvar _rrloop2 = _interopRequireDefault(_rrloop);\n\nvar _rrsequence = __webpack_require__(83);\n\nvar _rrsequence2 = _interopRequireDefault(_rrsequence);\n\nvar _rrtext = __webpack_require__(52);\n\nvar _rrtext2 = _interopRequireDefault(_rrtext);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar bnfdisplay = exports.bnfdisplay = {\n BNFDisplay: _BNFDisplay2.default\n};\n\nvar model = exports.model = {\n BNFToGrammar: _bnftogrammar2.default,\n Choice: _choice2.default,\n Grammar: _grammar2.default,\n GrammarToBNF: _grammartobnf2.default,\n GrammarToRRDiagram: _grammartorrdiagram2.default,\n Literal: _literal2.default,\n Repetition: _repetition2.default,\n Rule: _rule2.default,\n RuleReference: _rulereference2.default,\n Sequence: _sequence2.default,\n SpecialSequence: _specialsequence2.default\n};\n\nvar ui = exports.ui = {\n RRBreak: _rrbreak2.default,\n RRChoice: _rrchoice2.default,\n RRDiagram: _rrdiagram2.default,\n RRDiagramToSVG: _rrdiagramtosvg2.default,\n RRLine: _rrline2.default,\n RRLoop: _rrloop2.default,\n RRSequence: _rrsequence2.default,\n RRText: _rrtext2.default\n};\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\n__webpack_require__(359);\n\n__webpack_require__(360);\n\n__webpack_require__(160);\n\nif (global._babelPolyfill) {\n throw new Error(\"only one instance of babel-polyfill is allowed\");\n}\nglobal._babelPolyfill = true;\n\nvar DEFINE_PROPERTY = \"defineProperty\";\nfunction define(O, key, value) {\n O[key] || Object[DEFINE_PROPERTY](O, key, {\n writable: true,\n configurable: true,\n value: value\n });\n}\n\ndefine(String.prototype, \"padLeft\", \"\".padStart);\ndefine(String.prototype, \"padRight\", \"\".padEnd);\n\n\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n [][key] && define(Array, key, Function.call.bind([][key]));\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(152)))\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _bnftogrammar = __webpack_require__(112);\n\nvar _bnftogrammar2 = _interopRequireDefault(_bnftogrammar);\n\nvar _grammartorrdiagram = __webpack_require__(25);\n\nvar _grammartorrdiagram2 = _interopRequireDefault(_grammartorrdiagram);\n\nvar _rrdiagramtosvg = __webpack_require__(60);\n\nvar _rrdiagramtosvg2 = _interopRequireDefault(_rrdiagramtosvg);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar BNFDisplay = function () {\n function BNFDisplay() {\n _classCallCheck(this, BNFDisplay);\n\n this.bnfToGrammar = new _bnftogrammar2.default();\n this.grammarToRRDiagram = new _grammartorrdiagram2.default();\n this.grammarToRRDiagram.ruleConsideredAsLineBreak = \"\\\\\";\n this.rrDiagramToSVG = new _rrdiagramtosvg2.default();\n }\n\n /**\r\n * @return {BNFToGrammar}\r\n */\n\n\n _createClass(BNFDisplay, [{\n key: 'getBNFToGrammar',\n value: function getBNFToGrammar() {\n return this.bnfToGrammar;\n }\n\n /**\r\n * @return {GrammarToRRDiagram}\r\n */\n\n }, {\n key: 'getGrammarToRRDiagram',\n value: function getGrammarToRRDiagram() {\n return this.grammarToRRDiagram;\n }\n\n /**\r\n * @return {RRDiagramToSVG}\r\n */\n\n }, {\n key: 'getRRDiagramToSVG',\n value: function getRRDiagramToSVG() {\n return this.rrDiagramToSVG;\n }\n\n /**\r\n * @param {string} className\r\n * @param {string} newClassName\r\n */\n\n }, {\n key: 'replaceBNF',\n value: function replaceBNF(className, newClassName) {\n var elements = Array.from(document.getElementsByClassName(className));\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = elements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var element = _step.value;\n\n if (element.tagName.toLowerCase() === 'pre') {\n var newElement = document.createElement('div');\n // Give a dummy rule definition to satisfy parser.\n var bnf = element.innerHTML;\n var grammar = this.bnfToGrammar.convert('a = ' + bnf);\n var rules = grammar.getRules();\n if (rules.length == 1) {\n var rule = rules[0];\n var rrDiagram = this.grammarToRRDiagram.convert(rule);\n var svg = this.rrDiagramToSVG.convert(rrDiagram);\n var svgContainer = document.createElement('div');\n svgContainer.className = newClassName;\n svgContainer.innerHTML = svg;\n newElement.appendChild(svgContainer);\n } else {\n newElement.appendChild(document.createTextNode('Error while loading BNF: ' + bnf));\n }\n element.parentElement.replaceChild(newElement, element);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }]);\n\n return BNFDisplay;\n}();\n\nexports.default = BNFDisplay;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _sequence = __webpack_require__(79);\n\nvar _sequence2 = _interopRequireDefault(_sequence);\n\nvar _specialsequence = __webpack_require__(114);\n\nvar _specialsequence2 = _interopRequireDefault(_specialsequence);\n\nvar _repetition = __webpack_require__(77);\n\nvar _repetition2 = _interopRequireDefault(_repetition);\n\nvar _rulereference = __webpack_require__(78);\n\nvar _rulereference2 = _interopRequireDefault(_rulereference);\n\nvar _choice = __webpack_require__(113);\n\nvar _choice2 = _interopRequireDefault(_choice);\n\nvar _literal = __webpack_require__(76);\n\nvar _literal2 = _interopRequireDefault(_literal);\n\nvar _expression = __webpack_require__(32);\n\nvar _expression2 = _interopRequireDefault(_expression);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ChunkType = {\n RULE: 'RULE',\n REPETITION_TOKEN: 'REPETITION_TOKEN',\n // CONCATENATION: 'CONCATENATION',\n ALTERNATION: 'ALTERNATION',\n GROUP: 'GROUP',\n COMMENT: 'COMMENT',\n SPECIAL_SEQUENCE: 'SPECIAL_SEQUENCE',\n LITERAL: 'LITERAL',\n OPTION: 'OPTION',\n REPETITION: 'REPETITION',\n CHOICE: 'CHOICE'\n};\n\n/**\r\n * @param {Expression} expression \r\n * @return {boolean}\r\n */\nfunction isNoop(expression) {\n return expression instanceof _sequence2.default && expression.getExpressions().length == 0;\n}\n\nvar Chunk = function () {\n _createClass(Chunk, null, [{\n key: 'ChunkType',\n get: function get() {\n return ChunkType;\n }\n }]);\n\n function Chunk(type, text) {\n _classCallCheck(this, Chunk);\n\n this.type = type;\n this.text = text;\n this.minCount = 0;\n this.maxCount = null;\n this.chunkList = null;\n }\n\n _createClass(Chunk, [{\n key: 'getType',\n value: function getType() {\n return this.type;\n }\n }, {\n key: 'setType',\n value: function setType(type) {\n this.type = type;\n }\n }, {\n key: 'setText',\n value: function setText(text) {\n this.text = text;\n }\n }, {\n key: 'setMinCount',\n value: function setMinCount(minCount) {\n this.minCount = minCount;\n }\n }, {\n key: 'setMaxCount',\n value: function setMaxCount(maxCount) {\n this.maxCount = maxCount;\n }\n }, {\n key: 'addChunk',\n value: function addChunk(chunk) {\n if (this.chunkList == null) {\n this.chunkList = [];\n }\n this.chunkList.push(chunk);\n }\n }, {\n key: 'prune',\n value: function prune() {\n var hasAlternation = false;\n for (var i = this.chunkList.length - 1; i >= 0; i--) {\n var chunk = this.chunkList[i];\n switch (chunk.getType()) {\n case ChunkType.REPETITION_TOKEN:\n {\n if (\"*\" === chunk.text) {\n this.chunkList.splice(i, 1);\n var previousChunk = this.chunkList[i - 1];\n var multiplier = null;\n // Case of: 3 * expression\n if (previousChunk.getType() == ChunkType.RULE) {\n multiplier = +previousChunk.text;\n if (isNaN(multiplier)) {\n multiplier = null;\n }\n }\n if (multiplier != null) {\n // The current one is removed, so next one is at index i.\n var nextChunk = this.chunkList[i];\n if (nextChunk.getType() == ChunkType.OPTION) {\n var newChunk = new Chunk(ChunkType.REPETITION);\n newChunk.setMinCount(0);\n newChunk.setMaxCount(multiplier);\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = nextChunk.chunkList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var c = _step.value;\n\n newChunk.addChunk(c);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n this.chunkList.splice(i, 1);\n this.chunkList[i - 1] = newChunk;\n } else {\n var _newChunk = new Chunk(ChunkType.REPETITION);\n _newChunk.setMinCount(multiplier);\n _newChunk.setMaxCount(multiplier);\n _newChunk.addChunk(nextChunk);\n this.chunkList.splice(i, 1);\n this.chunkList[i - 1] = _newChunk;\n }\n } else {\n var _newChunk2 = new Chunk(ChunkType.REPETITION);\n _newChunk2.setMinCount(0);\n _newChunk2.addChunk(previousChunk);\n this.chunkList[i - 1] = _newChunk2;\n }\n } else if (\"+\" === chunk.text) {\n this.chunkList.splice(i, 1);\n var _newChunk3 = new Chunk(ChunkType.REPETITION);\n _newChunk3.setMinCount(1);\n var _previousChunk = this.chunkList[i - 1];\n _newChunk3.addChunk(_previousChunk);\n this.chunkList[i - 1] = _newChunk3;\n } else if (\"?\" === chunk.text) {\n this.chunkList.splice(i, 1);\n var _newChunk4 = new Chunk(ChunkType.OPTION);\n var _previousChunk2 = this.chunkList[i - 1];\n _newChunk4.addChunk(_previousChunk2);\n this.chunkList[i - 1] = _newChunk4;\n }\n break;\n }\n case ChunkType.COMMENT:\n {\n // For now, nothing to do\n this.chunkList.splice(i, 1);\n }\n case ChunkType.ALTERNATION:\n {\n hasAlternation = true;\n break;\n }\n case ChunkType.GROUP:\n {\n // Group could be empty\n if (chunk.chunkList != null) {\n chunk.prune();\n if (chunk.chunkList.length == 1) {\n this.chunkList[i] = chunk.chunkList[0];\n }\n }\n break;\n }\n case ChunkType.OPTION:\n case ChunkType.REPETITION:\n {\n chunk.prune();\n break;\n }\n }\n }\n if (hasAlternation) {\n var alternationSequenceList = [];\n alternationSequenceList.push([]);\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = this.chunkList[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _chunk = _step2.value;\n\n if (_chunk.getType() == ChunkType.ALTERNATION) {\n alternationSequenceList.push([]);\n } else {\n var list = alternationSequenceList[alternationSequenceList.length - 1];\n list.push(_chunk);\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n var choiceChunk = new Chunk(ChunkType.CHOICE);\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = alternationSequenceList[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var subList = _step3.value;\n\n if (subList.length == 1) {\n choiceChunk.addChunk(subList[0]);\n } else {\n var groupChunk = new Chunk(ChunkType.GROUP);\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = subList[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var _c = _step4.value;\n\n groupChunk.addChunk(_c);\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n\n choiceChunk.addChunk(groupChunk);\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n this.chunkList.length = 0;\n this.chunkList.push(choiceChunk);\n }\n }\n }, {\n key: 'getExpression',\n value: function getExpression() {\n switch (this.type) {\n case ChunkType.GROUP:\n {\n if (this.chunkList == null) {\n // Group is empty.\n return new _sequence2.default();\n }\n if (this.chunkList.length == 1) {\n return this.chunkList[0].getExpression();\n }\n var expressionList = [];\n var _iteratorNormalCompletion5 = true;\n var _didIteratorError5 = false;\n var _iteratorError5 = undefined;\n\n try {\n for (var _iterator5 = this.chunkList[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var chunk = _step5.value;\n\n expressionList.push(chunk.getExpression());\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5.return) {\n _iterator5.return();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n\n return new _sequence2.default(expressionList);\n }\n case ChunkType.CHOICE:\n {\n if (this.chunkList.length == 1) {\n return this.chunkList[0].getExpression();\n }\n var _expressionList = [];\n var hasLine = false;\n var _iteratorNormalCompletion6 = true;\n var _didIteratorError6 = false;\n var _iteratorError6 = undefined;\n\n try {\n for (var _iterator6 = this.chunkList[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var _chunk2 = _step6.value;\n\n var expression = _chunk2.getExpression();\n if (expression instanceof _repetition2.default) {\n var repetition = expression;\n if (repetition.getMinRepetitionCount() == 0) {\n if (repetition.getMaxRepetitionCount() == null || repetition.getMaxRepetitionCount() != 1) {\n expression = new _repetition2.default(repetition.getExpression(), 1, repetition.getMaxRepetitionCount());\n } else {\n expression = repetition.getExpression();\n }\n hasLine = true;\n }\n }\n if (expression instanceof _choice2.default) {\n var _iteratorNormalCompletion7 = true;\n var _didIteratorError7 = false;\n var _iteratorError7 = undefined;\n\n try {\n for (var _iterator7 = expression.getExpressions()[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {\n var exp = _step7.value;\n\n _expressionList.push(exp);\n }\n } catch (err) {\n _didIteratorError7 = true;\n _iteratorError7 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion7 && _iterator7.return) {\n _iterator7.return();\n }\n } finally {\n if (_didIteratorError7) {\n throw _iteratorError7;\n }\n }\n }\n } else {\n _expressionList.push(expression);\n }\n }\n } catch (err) {\n _didIteratorError6 = true;\n _iteratorError6 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion6 && _iterator6.return) {\n _iterator6.return();\n }\n } finally {\n if (_didIteratorError6) {\n throw _iteratorError6;\n }\n }\n }\n\n if (hasLine && (_expressionList.length == 0 || !isNoop(_expressionList[_expressionList.length - 1]))) {\n _expressionList.push(new _sequence2.default());\n }\n return new _choice2.default(_expressionList);\n }\n case ChunkType.RULE:\n {\n return new _rulereference2.default(this.text);\n }\n case ChunkType.LITERAL:\n {\n return new _literal2.default(this.text);\n }\n case ChunkType.SPECIAL_SEQUENCE:\n {\n return new _specialsequence2.default(this.text);\n }\n case ChunkType.OPTION:\n {\n if (this.chunkList.length == 1) {\n var subChunk = this.chunkList[0];\n if (subChunk.getType() == ChunkType.CHOICE) {\n var newChunk = new Chunk(ChunkType.CHOICE);\n var _iteratorNormalCompletion8 = true;\n var _didIteratorError8 = false;\n var _iteratorError8 = undefined;\n\n try {\n for (var _iterator8 = subChunk.chunkList[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {\n var cChunk = _step8.value;\n\n newChunk.addChunk(cChunk);\n }\n } catch (err) {\n _didIteratorError8 = true;\n _iteratorError8 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion8 && _iterator8.return) {\n _iterator8.return();\n }\n } finally {\n if (_didIteratorError8) {\n throw _iteratorError8;\n }\n }\n }\n\n newChunk.addChunk(new Chunk(ChunkType.GROUP));\n return newChunk.getExpression();\n }\n return new _repetition2.default(subChunk.getExpression(), 0, 1);\n }\n var _expressionList2 = [];\n var _iteratorNormalCompletion9 = true;\n var _didIteratorError9 = false;\n var _iteratorError9 = undefined;\n\n try {\n for (var _iterator9 = this.chunkList[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {\n var _chunk3 = _step9.value;\n\n _expressionList2.push(_chunk3.getExpression());\n }\n } catch (err) {\n _didIteratorError9 = true;\n _iteratorError9 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion9 && _iterator9.return) {\n _iterator9.return();\n }\n } finally {\n if (_didIteratorError9) {\n throw _iteratorError9;\n }\n }\n }\n\n return new _repetition2.default(new _sequence2.default(_expressionList2), 0, 1);\n }\n case ChunkType.REPETITION:\n {\n if (this.chunkList.length == 1) {\n return new _repetition2.default(this.chunkList[0].getExpression(), this.minCount, this.maxCount);\n }\n var _expressionList3 = [];\n var _iteratorNormalCompletion10 = true;\n var _didIteratorError10 = false;\n var _iteratorError10 = undefined;\n\n try {\n for (var _iterator10 = this.chunkList[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {\n var _chunk4 = _step10.value;\n\n _expressionList3.push(_chunk4.getExpression());\n }\n } catch (err) {\n _didIteratorError10 = true;\n _iteratorError10 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion10 && _iterator10.return) {\n _iterator10.return();\n }\n } finally {\n if (_didIteratorError10) {\n throw _iteratorError10;\n }\n }\n }\n\n return new _repetition2.default(new _sequence2.default(_expressionList3), this.minCount, this.maxCount);\n }\n }\n throw \"Type should not be reachable: \" + this.type;\n }\n }, {\n key: 'toString',\n value: function toString() {\n var s = \"\" + this.type;\n if (this.text != null) {\n s += \" (\" + this.text + \")\";\n }\n return s;\n }\n }]);\n\n return Chunk;\n}();\n\nexports.default = Chunk;\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _utils = __webpack_require__(84);\n\nvar _svgline = __webpack_require__(158);\n\nvar _svgline2 = _interopRequireDefault(_svgline);\n\nvar _svgpath = __webpack_require__(159);\n\nvar _svgpath2 = _interopRequireDefault(_svgpath);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar SvgContent = function () {\n function SvgContent() {\n _classCallCheck(this, SvgContent);\n\n this.connectorList = [];\n this.elements = [];\n }\n\n _createClass(SvgContent, [{\n key: 'addPathConnector',\n value: function addPathConnector(x1, y1, path, x2, y2) {\n var c = this.connectorList.length == 0 ? null : this.connectorList[this.connectorList.length - 1];\n if (c != null) {\n if (c instanceof _svgpath2.default) {\n c.addPath(new _svgpath2.default(x1, y1, path, x2, y2));\n } else {\n var svgLine = c;\n var x1_ = svgLine.getX1();\n var y1_ = svgLine.getY1();\n var x2_ = svgLine.getX2();\n var y2_ = svgLine.getY2();\n if (x1_ == x2_ && x1 == x1_) {\n if (y2_ == y1 - 1) {\n svgLine.mergeLine(x1_, y1_, x2_, y2_ + 1);\n } else if (y1_ == y1 + 1) {\n svgLine.mergeLine(x1_, y1_ - 1, x2_, y2_);\n }\n } else if (y1_ == y2_ && y1 == y1_) {\n if (x2_ == x1 - 1) {\n svgLine.mergeLine(x1_, y1_, x2_ + 1, y2_);\n } else if (x1_ == x1 + 1) {\n svgLine.mergeLine(x1_ - 1, y1_, x2_, y2_);\n }\n }\n this.connectorList.push(new _svgpath2.default(x1, y1, path, x2, y2));\n }\n } else {\n this.connectorList.push(new _svgpath2.default(x1, y1, path, x2, y2));\n }\n }\n }, {\n key: 'addLineConnector',\n value: function addLineConnector(x1, y1, x2, y2) {\n var x1_ = Math.min(x1, x2);\n var y1_ = Math.min(y1, y2);\n var x2_ = Math.max(x1, x2);\n var y2_ = Math.max(y1, y2);\n var c = this.connectorList.length == 0 ? null : this.connectorList[this.connectorList.length - 1];\n if (c == null || !(c instanceof _svgline2.default) || !c.mergeLine(x1_, y1_, x2_, y2_)) {\n this.connectorList.push(new _svgline2.default(x1_, y1_, x2_, y2_));\n }\n }\n }, {\n key: 'getConnectorElement',\n value: function getConnectorElement(rrDiagramToSVG) {\n if (this.connectorList.length == 0) {\n return \"\";\n }\n var path0 = null;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.connectorList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var connector = _step.value;\n\n if (path0 == null) {\n if (connector instanceof _svgpath2.default) {\n path0 = connector;\n } else {\n var svgLine = connector;\n var x1 = svgLine.getX1();\n var y1 = svgLine.getY1();\n path0 = new _svgpath2.default(x1, y1, \"M\" + x1 + (y1 < 0 ? y1 : \" \" + y1), x1, y1);\n path0.addLine(svgLine);\n }\n } else {\n if (connector instanceof _svgpath2.default) {\n path0.addPath(connector);\n } else {\n path0.addLine(connector);\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return \"<path class=\\\"\" + (0, _utils.escapeXml)(rrDiagramToSVG.cssConnectorClass) + \"\\\" d=\\\"\" + path0.getPath() + \"\\\"/>\";\n }\n }, {\n key: 'addElement',\n value: function addElement(element) {\n this.elements.push(element);\n }\n }, {\n key: 'getElements',\n value: function getElements() {\n return this.elements;\n }\n }]);\n\n return SvgContent;\n}();\n\nexports.default = SvgContent;\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar svgline = function () {\n function svgline(x1, y1, x2, y2) {\n _classCallCheck(this, svgline);\n\n this.x1 = x1;\n this.y1 = y1;\n this.x2 = x2;\n this.y2 = y2;\n }\n\n _createClass(svgline, [{\n key: \"getX1\",\n value: function getX1() {\n return this.x1;\n }\n }, {\n key: \"getY1\",\n value: function getY1() {\n return this.y1;\n }\n }, {\n key: \"getX2\",\n value: function getX2() {\n return this.x2;\n }\n }, {\n key: \"getY2\",\n value: function getY2() {\n return this.y2;\n }\n }, {\n key: \"mergeLine\",\n value: function mergeLine(x1, y1, x2, y2) {\n if (x1 == x2 && this.x1 == this.x2 && x1 == this.x1) {\n if (y2 >= this.y1 - 1 && y1 <= this.y2 + 1) {\n this.y1 = Math.min(this.y1, y1);\n this.y2 = Math.max(this.y2, y2);\n return true;\n }\n } else if (y1 == y2 && this.y1 == this.y2 && y1 == this.y1) {\n if (x2 >= this.x1 - 1 && x1 <= this.x2 + 1) {\n this.x1 = Math.min(this.x1, x1);\n this.x2 = Math.max(this.x2, x2);\n return true;\n }\n }\n return false;\n }\n }]);\n\n return svgline;\n}();\n\nexports.default = svgline;\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar SvgPath = function () {\n function SvgPath(startX, startY, path, endX, endY) {\n _classCallCheck(this, SvgPath);\n\n this.pathSB = [];\n this.startX = startX;\n this.startY = startY;\n this.pathSB.push(path);\n this.endX = endX;\n this.endY = endY;\n }\n\n _createClass(SvgPath, [{\n key: \"addPath\",\n value: function addPath(svgPath) {\n var x1 = svgPath.startX;\n var y1 = svgPath.startY;\n var path = svgPath.getPath();\n var x2 = svgPath.endX;\n var y2 = svgPath.endY;\n if (x1 != this.endX || y1 != this.endY) {\n if (x1 == this.endX && y1 == this.endY + 1) {\n this.pathSB.push(\"v\", y1 - y2);\n } else if (y1 == this.endY && x1 == this.endX + 1) {\n this.pathSB.push(\"h\", x1 - x2);\n } else {\n this.pathSB.push(\"m\", x1 - this.endX);\n if (y1 - this.endY >= 0) {\n this.pathSB.push(\" \");\n }\n this.pathSB.push(y1 - this.endY);\n }\n }\n this.pathSB.push(path);\n this.endX = x2;\n this.endY = y2;\n }\n }, {\n key: \"addLine\",\n value: function addLine(svgLine) {\n var x1 = svgLine.getX1();\n var y1 = svgLine.getY1();\n var x2 = svgLine.getX2();\n var y2 = svgLine.getY2();\n if (x1 == x2 && this.endX == x1) {\n if (this.endY == y1 || this.endY == y1 - 1) {\n this.pathSB.push(\"v\", y2 - this.endY);\n this.endY = y2;\n return;\n }\n if (this.endY == y2 || this.endY == y2 + 1) {\n this.pathSB.push(\"v\", y1 - this.endY);\n this.endY = y1;\n return;\n }\n } else if (y1 == y2 && this.endY == y1) {\n if (this.endX == x1 || this.endX == x1 - 1) {\n this.pathSB.push(\"h\", x2 - this.endX);\n this.endX = x2;\n return;\n }\n if (this.endX == x2 || this.endX == x2 + 1) {\n this.pathSB.push(\"h\", x1 - this.endX);\n this.endX = x1;\n return;\n }\n }\n this.pathSB.push(\"m\", x1 - this.endX);\n if (y1 - this.endY >= 0) {\n this.pathSB.push(\" \");\n }\n this.pathSB.push(y1 - this.endY);\n if (x1 == x2) {\n this.pathSB.push(\"v\", y2 - y1);\n } else if (y1 == y2) {\n this.pathSB.push(\"h\", x2 - x1);\n } else {\n this.pathSB.push(\"l\", x2 - x1);\n if (y2 - y1 >= 0) {\n this.pathSB.push(\" \");\n }\n this.pathSB.push(y2 - y1);\n }\n this.endX = x2;\n this.endY = y2;\n }\n }, {\n key: \"getPath\",\n value: function getPath() {\n return this.pathSB.join(\"\");\n }\n }]);\n\n return SvgPath;\n}();\n\nexports.default = SvgPath;\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(167);\nmodule.exports = __webpack_require__(20).RegExp.escape;\n\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(4);\nvar isArray = __webpack_require__(64);\nvar SPECIES = __webpack_require__(5)('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = __webpack_require__(3);\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar anObject = __webpack_require__(1);\nvar toPrimitive = __webpack_require__(29);\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(40);\nvar gOPS = __webpack_require__(68);\nvar pIE = __webpack_require__(55);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(56)('native-function-to-string', Function.toString);\n\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (regExp, replace) {\n var replacer = replace === Object(replace) ? function (part) {\n return replace[part];\n } : replace;\n return function (it) {\n return String(it).replace(regExp, replacer);\n };\n};\n\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/benjamingr/RexExp.escape\nvar $export = __webpack_require__(0);\nvar $re = __webpack_require__(166)(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } });\n\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = __webpack_require__(0);\n\n$export($export.P, 'Array', { copyWithin: __webpack_require__(117) });\n\n__webpack_require__(33)('copyWithin');\n\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $every = __webpack_require__(26)(4);\n\n$export($export.P + $export.F * !__webpack_require__(22)([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = __webpack_require__(0);\n\n$export($export.P, 'Array', { fill: __webpack_require__(86) });\n\n__webpack_require__(33)('fill');\n\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $filter = __webpack_require__(26)(2);\n\n$export($export.P + $export.F * !__webpack_require__(22)([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = __webpack_require__(0);\nvar $find = __webpack_require__(26)(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__webpack_require__(33)(KEY);\n\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = __webpack_require__(0);\nvar $find = __webpack_require__(26)(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__webpack_require__(33)(KEY);\n\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $forEach = __webpack_require__(26)(0);\nvar STRICT = __webpack_require__(22)([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(21);\nvar $export = __webpack_require__(0);\nvar toObject = __webpack_require__(9);\nvar call = __webpack_require__(128);\nvar isArrayIter = __webpack_require__(94);\nvar toLength = __webpack_require__(6);\nvar createProperty = __webpack_require__(88);\nvar getIterFn = __webpack_require__(110);\n\n$export($export.S + $export.F * !__webpack_require__(66)(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $indexOf = __webpack_require__(61)(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(22)($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Array', { isArray: __webpack_require__(64) });\n\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = __webpack_require__(0);\nvar toIObject = __webpack_require__(18);\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (__webpack_require__(54) != Object || !__webpack_require__(22)(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toIObject = __webpack_require__(18);\nvar toInteger = __webpack_require__(23);\nvar toLength = __webpack_require__(6);\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(22)($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $map = __webpack_require__(26)(1);\n\n$export($export.P + $export.F * !__webpack_require__(22)([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar createProperty = __webpack_require__(88);\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * __webpack_require__(3)(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $reduce = __webpack_require__(119);\n\n$export($export.P + $export.F * !__webpack_require__(22)([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $reduce = __webpack_require__(119);\n\n$export($export.P + $export.F * !__webpack_require__(22)([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar html = __webpack_require__(92);\nvar cof = __webpack_require__(19);\nvar toAbsoluteIndex = __webpack_require__(44);\nvar toLength = __webpack_require__(6);\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * __webpack_require__(3)(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $some = __webpack_require__(26)(3);\n\n$export($export.P + $export.F * !__webpack_require__(22)([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar aFunction = __webpack_require__(10);\nvar toObject = __webpack_require__(9);\nvar fails = __webpack_require__(3);\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !__webpack_require__(22)($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(43)('Array');\n\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = __webpack_require__(0);\nvar toISOString = __webpack_require__(162);\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toObject = __webpack_require__(9);\nvar toPrimitive = __webpack_require__(29);\n\n$export($export.P + $export.F * __webpack_require__(3)(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_PRIMITIVE = __webpack_require__(5)('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) __webpack_require__(12)(proto, TO_PRIMITIVE, __webpack_require__(163));\n\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n __webpack_require__(13)(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = __webpack_require__(0);\n\n$export($export.P, 'Function', { bind: __webpack_require__(120) });\n\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar isObject = __webpack_require__(4);\nvar getPrototypeOf = __webpack_require__(17);\nvar HAS_INSTANCE = __webpack_require__(5)('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(8).f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(8).f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || __webpack_require__(7) && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.3 Math.acosh(x)\nvar $export = __webpack_require__(0);\nvar log1p = __webpack_require__(131);\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.5 Math.asinh(x)\nvar $export = __webpack_require__(0);\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.7 Math.atanh(x)\nvar $export = __webpack_require__(0);\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.9 Math.cbrt(x)\nvar $export = __webpack_require__(0);\nvar sign = __webpack_require__(98);\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.11 Math.clz32(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.12 Math.cosh(x)\nvar $export = __webpack_require__(0);\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.14 Math.expm1(x)\nvar $export = __webpack_require__(0);\nvar $expm1 = __webpack_require__(97);\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.16 Math.fround(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { fround: __webpack_require__(130) });\n\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = __webpack_require__(0);\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.18 Math.imul(x, y)\nvar $export = __webpack_require__(0);\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * __webpack_require__(3)(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.21 Math.log10(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.20 Math.log1p(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { log1p: __webpack_require__(131) });\n\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.22 Math.log2(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.28 Math.sign(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { sign: __webpack_require__(98) });\n\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.30 Math.sinh(x)\nvar $export = __webpack_require__(0);\nvar expm1 = __webpack_require__(97);\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * __webpack_require__(3)(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.33 Math.tanh(x)\nvar $export = __webpack_require__(0);\nvar expm1 = __webpack_require__(97);\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.34 Math.trunc(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(2);\nvar has = __webpack_require__(15);\nvar cof = __webpack_require__(19);\nvar inheritIfRequired = __webpack_require__(93);\nvar toPrimitive = __webpack_require__(29);\nvar fails = __webpack_require__(3);\nvar gOPN = __webpack_require__(39).f;\nvar gOPD = __webpack_require__(16).f;\nvar dP = __webpack_require__(8).f;\nvar $trim = __webpack_require__(50).trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(__webpack_require__(38)(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = __webpack_require__(7) ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n __webpack_require__(13)(global, NUMBER, $Number);\n}\n\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.1 Number.EPSILON\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.2 Number.isFinite(number)\nvar $export = __webpack_require__(0);\nvar _isFinite = __webpack_require__(2).isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.3 Number.isInteger(number)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Number', { isInteger: __webpack_require__(127) });\n\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.4 Number.isNaN(number)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = __webpack_require__(0);\nvar isInteger = __webpack_require__(127);\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar $parseFloat = __webpack_require__(139);\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar $parseInt = __webpack_require__(140);\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toInteger = __webpack_require__(23);\nvar aNumberValue = __webpack_require__(116);\nvar repeat = __webpack_require__(105);\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !__webpack_require__(3)(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $fails = __webpack_require__(3);\nvar aNumberValue = __webpack_require__(116);\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(0);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(133) });\n\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(38) });\n\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !__webpack_require__(7), 'Object', { defineProperties: __webpack_require__(134) });\n\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(7), 'Object', { defineProperty: __webpack_require__(8).f });\n\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.5 Object.freeze(O)\nvar isObject = __webpack_require__(4);\nvar meta = __webpack_require__(35).onFreeze;\n\n__webpack_require__(28)('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = __webpack_require__(18);\nvar $getOwnPropertyDescriptor = __webpack_require__(16).f;\n\n__webpack_require__(28)('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 Object.getOwnPropertyNames(O)\n__webpack_require__(28)('getOwnPropertyNames', function () {\n return __webpack_require__(135).f;\n});\n\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(9);\nvar $getPrototypeOf = __webpack_require__(17);\n\n__webpack_require__(28)('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.11 Object.isExtensible(O)\nvar isObject = __webpack_require__(4);\n\n__webpack_require__(28)('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.12 Object.isFrozen(O)\nvar isObject = __webpack_require__(4);\n\n__webpack_require__(28)('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.13 Object.isSealed(O)\nvar isObject = __webpack_require__(4);\n\n__webpack_require__(28)('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.10 Object.is(value1, value2)\nvar $export = __webpack_require__(0);\n$export($export.S, 'Object', { is: __webpack_require__(143) });\n\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(9);\nvar $keys = __webpack_require__(40);\n\n__webpack_require__(28)('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = __webpack_require__(4);\nvar meta = __webpack_require__(35).onFreeze;\n\n__webpack_require__(28)('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 239 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.17 Object.seal(O)\nvar isObject = __webpack_require__(4);\nvar meta = __webpack_require__(35).onFreeze;\n\n__webpack_require__(28)('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(0);\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(102).set });\n\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.3.6 Object.prototype.toString()\nvar classof = __webpack_require__(47);\nvar test = {};\ntest[__webpack_require__(5)('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n __webpack_require__(13)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar $parseFloat = __webpack_require__(139);\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar $parseInt = __webpack_require__(140);\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n\n\n/***/ }),\n/* 244 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(34);\nvar global = __webpack_require__(2);\nvar ctx = __webpack_require__(21);\nvar classof = __webpack_require__(47);\nvar $export = __webpack_require__(0);\nvar isObject = __webpack_require__(4);\nvar aFunction = __webpack_require__(10);\nvar anInstance = __webpack_require__(36);\nvar forOf = __webpack_require__(37);\nvar speciesConstructor = __webpack_require__(57);\nvar task = __webpack_require__(107).set;\nvar microtask = __webpack_require__(99)();\nvar newPromiseCapabilityModule = __webpack_require__(100);\nvar perform = __webpack_require__(141);\nvar userAgent = __webpack_require__(74);\nvar promiseResolve = __webpack_require__(142);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[__webpack_require__(5)('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = __webpack_require__(42)($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(49)($Promise, PROMISE);\n__webpack_require__(43)(PROMISE);\nWrapper = __webpack_require__(20)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(66)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n/***/ }),\n/* 245 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = __webpack_require__(0);\nvar aFunction = __webpack_require__(10);\nvar anObject = __webpack_require__(1);\nvar rApply = (__webpack_require__(2).Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !__webpack_require__(3)(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n\n\n/***/ }),\n/* 246 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = __webpack_require__(0);\nvar create = __webpack_require__(38);\nvar aFunction = __webpack_require__(10);\nvar anObject = __webpack_require__(1);\nvar isObject = __webpack_require__(4);\nvar fails = __webpack_require__(3);\nvar bind = __webpack_require__(120);\nvar rConstruct = (__webpack_require__(2).Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n\n\n/***/ }),\n/* 247 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = __webpack_require__(8);\nvar $export = __webpack_require__(0);\nvar anObject = __webpack_require__(1);\nvar toPrimitive = __webpack_require__(29);\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * __webpack_require__(3)(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n\n\n/***/ }),\n/* 248 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = __webpack_require__(0);\nvar gOPD = __webpack_require__(16).f;\nvar anObject = __webpack_require__(1);\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n\n\n/***/ }),\n/* 249 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 26.1.5 Reflect.enumerate(target)\nvar $export = __webpack_require__(0);\nvar anObject = __webpack_require__(1);\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\n__webpack_require__(95)(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n\n\n/***/ }),\n/* 250 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = __webpack_require__(16);\nvar $export = __webpack_require__(0);\nvar anObject = __webpack_require__(1);\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n\n\n/***/ }),\n/* 251 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = __webpack_require__(0);\nvar getProto = __webpack_require__(17);\nvar anObject = __webpack_require__(1);\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n\n\n/***/ }),\n/* 252 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = __webpack_require__(16);\nvar getPrototypeOf = __webpack_require__(17);\nvar has = __webpack_require__(15);\nvar $export = __webpack_require__(0);\nvar isObject = __webpack_require__(4);\nvar anObject = __webpack_require__(1);\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n\n\n/***/ }),\n/* 253 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n\n\n/***/ }),\n/* 254 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.10 Reflect.isExtensible(target)\nvar $export = __webpack_require__(0);\nvar anObject = __webpack_require__(1);\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n\n\n/***/ }),\n/* 255 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.11 Reflect.ownKeys(target)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Reflect', { ownKeys: __webpack_require__(138) });\n\n\n/***/ }),\n/* 256 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.12 Reflect.preventExtensions(target)\nvar $export = __webpack_require__(0);\nvar anObject = __webpack_require__(1);\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n\n\n/***/ }),\n/* 257 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = __webpack_require__(0);\nvar setProto = __webpack_require__(102);\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n\n\n/***/ }),\n/* 258 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = __webpack_require__(8);\nvar gOPD = __webpack_require__(16);\nvar getPrototypeOf = __webpack_require__(17);\nvar has = __webpack_require__(15);\nvar $export = __webpack_require__(0);\nvar createDesc = __webpack_require__(41);\nvar anObject = __webpack_require__(1);\nvar isObject = __webpack_require__(4);\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n\n\n/***/ }),\n/* 259 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar inheritIfRequired = __webpack_require__(93);\nvar dP = __webpack_require__(8).f;\nvar gOPN = __webpack_require__(39).f;\nvar isRegExp = __webpack_require__(65);\nvar $flags = __webpack_require__(53);\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (__webpack_require__(7) && (!CORRECT_NEW || __webpack_require__(3)(function () {\n re2[__webpack_require__(5)('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n __webpack_require__(13)(global, 'RegExp', $RegExp);\n}\n\n__webpack_require__(43)('RegExp');\n\n\n/***/ }),\n/* 260 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(1);\nvar toLength = __webpack_require__(6);\nvar advanceStringIndex = __webpack_require__(85);\nvar regExpExec = __webpack_require__(69);\n\n// @@match logic\n__webpack_require__(63)('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n\n\n/***/ }),\n/* 261 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(1);\nvar toObject = __webpack_require__(9);\nvar toLength = __webpack_require__(6);\nvar toInteger = __webpack_require__(23);\nvar advanceStringIndex = __webpack_require__(85);\nvar regExpExec = __webpack_require__(69);\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\n__webpack_require__(63)('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n\n\n/***/ }),\n/* 262 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(1);\nvar sameValue = __webpack_require__(143);\nvar regExpExec = __webpack_require__(69);\n\n// @@search logic\n__webpack_require__(63)('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n\n\n/***/ }),\n/* 263 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __webpack_require__(65);\nvar anObject = __webpack_require__(1);\nvar speciesConstructor = __webpack_require__(57);\nvar advanceStringIndex = __webpack_require__(85);\nvar toLength = __webpack_require__(6);\nvar callRegExpExec = __webpack_require__(69);\nvar regexpExec = __webpack_require__(101);\nvar fails = __webpack_require__(3);\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\n__webpack_require__(63)('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n\n\n/***/ }),\n/* 264 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(149);\nvar anObject = __webpack_require__(1);\nvar $flags = __webpack_require__(53);\nvar DESCRIPTORS = __webpack_require__(7);\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n __webpack_require__(13)(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (__webpack_require__(3)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n\n\n/***/ }),\n/* 265 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.2 String.prototype.anchor(name)\n__webpack_require__(14)('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n\n\n/***/ }),\n/* 266 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.3 String.prototype.big()\n__webpack_require__(14)('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n\n\n/***/ }),\n/* 267 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.4 String.prototype.blink()\n__webpack_require__(14)('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n\n\n/***/ }),\n/* 268 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.5 String.prototype.bold()\n__webpack_require__(14)('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n\n\n/***/ }),\n/* 269 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $at = __webpack_require__(72)(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n\n/***/ }),\n/* 270 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n\nvar $export = __webpack_require__(0);\nvar toLength = __webpack_require__(6);\nvar context = __webpack_require__(104);\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(91)(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n\n\n/***/ }),\n/* 271 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.6 String.prototype.fixed()\n__webpack_require__(14)('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n\n\n/***/ }),\n/* 272 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.7 String.prototype.fontcolor(color)\n__webpack_require__(14)('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n\n\n/***/ }),\n/* 273 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.8 String.prototype.fontsize(size)\n__webpack_require__(14)('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n\n\n/***/ }),\n/* 274 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar toAbsoluteIndex = __webpack_require__(44);\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n\n\n/***/ }),\n/* 275 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n\nvar $export = __webpack_require__(0);\nvar context = __webpack_require__(104);\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * __webpack_require__(91)(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n/* 276 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.9 String.prototype.italics()\n__webpack_require__(14)('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n\n\n/***/ }),\n/* 277 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(72)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(96)(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 278 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.10 String.prototype.link(url)\n__webpack_require__(14)('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n\n\n/***/ }),\n/* 279 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar toIObject = __webpack_require__(18);\nvar toLength = __webpack_require__(6);\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n\n\n/***/ }),\n/* 280 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: __webpack_require__(105)\n});\n\n\n/***/ }),\n/* 281 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.11 String.prototype.small()\n__webpack_require__(14)('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n\n\n/***/ }),\n/* 282 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n\nvar $export = __webpack_require__(0);\nvar toLength = __webpack_require__(6);\nvar context = __webpack_require__(104);\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(91)(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n/***/ }),\n/* 283 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.12 String.prototype.strike()\n__webpack_require__(14)('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n\n\n/***/ }),\n/* 284 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.13 String.prototype.sub()\n__webpack_require__(14)('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n\n\n/***/ }),\n/* 285 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.14 String.prototype.sup()\n__webpack_require__(14)('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n\n\n/***/ }),\n/* 286 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.1.3.25 String.prototype.trim()\n__webpack_require__(50)('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n\n\n/***/ }),\n/* 287 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(2);\nvar has = __webpack_require__(15);\nvar DESCRIPTORS = __webpack_require__(7);\nvar $export = __webpack_require__(0);\nvar redefine = __webpack_require__(13);\nvar META = __webpack_require__(35).KEY;\nvar $fails = __webpack_require__(3);\nvar shared = __webpack_require__(56);\nvar setToStringTag = __webpack_require__(49);\nvar uid = __webpack_require__(45);\nvar wks = __webpack_require__(5);\nvar wksExt = __webpack_require__(146);\nvar wksDefine = __webpack_require__(109);\nvar enumKeys = __webpack_require__(164);\nvar isArray = __webpack_require__(64);\nvar anObject = __webpack_require__(1);\nvar isObject = __webpack_require__(4);\nvar toObject = __webpack_require__(9);\nvar toIObject = __webpack_require__(18);\nvar toPrimitive = __webpack_require__(29);\nvar createDesc = __webpack_require__(41);\nvar _create = __webpack_require__(38);\nvar gOPNExt = __webpack_require__(135);\nvar $GOPD = __webpack_require__(16);\nvar $GOPS = __webpack_require__(68);\nvar $DP = __webpack_require__(8);\nvar $keys = __webpack_require__(40);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __webpack_require__(39).f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__(55).f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__(34)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(12)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 288 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $typed = __webpack_require__(73);\nvar buffer = __webpack_require__(108);\nvar anObject = __webpack_require__(1);\nvar toAbsoluteIndex = __webpack_require__(44);\nvar toLength = __webpack_require__(6);\nvar isObject = __webpack_require__(4);\nvar ArrayBuffer = __webpack_require__(2).ArrayBuffer;\nvar speciesConstructor = __webpack_require__(57);\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * __webpack_require__(3)(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\n__webpack_require__(43)(ARRAY_BUFFER);\n\n\n/***/ }),\n/* 289 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\n$export($export.G + $export.W + $export.F * !__webpack_require__(73).ABV, {\n DataView: __webpack_require__(108).DataView\n});\n\n\n/***/ }),\n/* 290 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(31)('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 291 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(31)('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 292 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(31)('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 293 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(31)('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 294 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(31)('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 295 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(31)('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 296 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(31)('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 297 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(31)('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 298 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(31)('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n\n\n/***/ }),\n/* 299 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar weak = __webpack_require__(123);\nvar validate = __webpack_require__(46);\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\n__webpack_require__(62)(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n\n\n/***/ }),\n/* 300 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\nvar $export = __webpack_require__(0);\nvar flattenIntoArray = __webpack_require__(124);\nvar toObject = __webpack_require__(9);\nvar toLength = __webpack_require__(6);\nvar aFunction = __webpack_require__(10);\nvar arraySpeciesCreate = __webpack_require__(87);\n\n$export($export.P, 'Array', {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen, A;\n aFunction(callbackfn);\n sourceLen = toLength(O.length);\n A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n return A;\n }\n});\n\n__webpack_require__(33)('flatMap');\n\n\n/***/ }),\n/* 301 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten\nvar $export = __webpack_require__(0);\nvar flattenIntoArray = __webpack_require__(124);\nvar toObject = __webpack_require__(9);\nvar toLength = __webpack_require__(6);\nvar toInteger = __webpack_require__(23);\nvar arraySpeciesCreate = __webpack_require__(87);\n\n$export($export.P, 'Array', {\n flatten: function flatten(/* depthArg = 1 */) {\n var depthArg = arguments[0];\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n\n__webpack_require__(33)('flatten');\n\n\n/***/ }),\n/* 302 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/Array.prototype.includes\nvar $export = __webpack_require__(0);\nvar $includes = __webpack_require__(61)(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n__webpack_require__(33)('includes');\n\n\n/***/ }),\n/* 303 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = __webpack_require__(0);\nvar microtask = __webpack_require__(99)();\nvar process = __webpack_require__(2).process;\nvar isNode = __webpack_require__(19)(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn) {\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n\n\n/***/ }),\n/* 304 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/ljharb/proposal-is-error\nvar $export = __webpack_require__(0);\nvar cof = __webpack_require__(19);\n\n$export($export.S, 'Error', {\n isError: function isError(it) {\n return cof(it) === 'Error';\n }\n});\n\n\n/***/ }),\n/* 305 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-global\nvar $export = __webpack_require__(0);\n\n$export($export.G, { global: __webpack_require__(2) });\n\n\n/***/ }),\n/* 306 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\n__webpack_require__(70)('Map');\n\n\n/***/ }),\n/* 307 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\n__webpack_require__(71)('Map');\n\n\n/***/ }),\n/* 308 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = __webpack_require__(0);\n\n$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(122)('Map') });\n\n\n/***/ }),\n/* 309 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n clamp: function clamp(x, lower, upper) {\n return Math.min(upper, Math.max(lower, x));\n }\n});\n\n\n/***/ }),\n/* 310 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 });\n\n\n/***/ }),\n/* 311 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\nvar RAD_PER_DEG = 180 / Math.PI;\n\n$export($export.S, 'Math', {\n degrees: function degrees(radians) {\n return radians * RAD_PER_DEG;\n }\n});\n\n\n/***/ }),\n/* 312 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\nvar scale = __webpack_require__(132);\nvar fround = __webpack_require__(130);\n\n$export($export.S, 'Math', {\n fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {\n return fround(scale(x, inLow, inHigh, outLow, outHigh));\n }\n});\n\n\n/***/ }),\n/* 313 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});\n\n\n/***/ }),\n/* 314 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >> 16;\n var v1 = $v >> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});\n\n\n/***/ }),\n/* 315 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n isubh: function isubh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});\n\n\n/***/ }),\n/* 316 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI });\n\n\n/***/ }),\n/* 317 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\nvar DEG_PER_RAD = Math.PI / 180;\n\n$export($export.S, 'Math', {\n radians: function radians(degrees) {\n return degrees * DEG_PER_RAD;\n }\n});\n\n\n/***/ }),\n/* 318 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { scale: __webpack_require__(132) });\n\n\n/***/ }),\n/* 319 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// http://jfbastien.github.io/papers/Math.signbit.html\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { signbit: function signbit(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0;\n} });\n\n\n/***/ }),\n/* 320 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >>> 16;\n var v1 = $v >>> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});\n\n\n/***/ }),\n/* 321 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toObject = __webpack_require__(9);\nvar aFunction = __webpack_require__(10);\nvar $defineProperty = __webpack_require__(8);\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\n__webpack_require__(7) && $export($export.P + __webpack_require__(67), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter) {\n $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n }\n});\n\n\n/***/ }),\n/* 322 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toObject = __webpack_require__(9);\nvar aFunction = __webpack_require__(10);\nvar $defineProperty = __webpack_require__(8);\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\n__webpack_require__(7) && $export($export.P + __webpack_require__(67), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter) {\n $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n }\n});\n\n\n/***/ }),\n/* 323 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(0);\nvar $entries = __webpack_require__(137)(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n\n\n/***/ }),\n/* 324 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = __webpack_require__(0);\nvar ownKeys = __webpack_require__(138);\nvar toIObject = __webpack_require__(18);\nvar gOPD = __webpack_require__(16);\nvar createProperty = __webpack_require__(88);\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n\n\n/***/ }),\n/* 325 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toObject = __webpack_require__(9);\nvar toPrimitive = __webpack_require__(29);\nvar getPrototypeOf = __webpack_require__(17);\nvar getOwnPropertyDescriptor = __webpack_require__(16).f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\n__webpack_require__(7) && $export($export.P + __webpack_require__(67), 'Object', {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.get;\n } while (O = getPrototypeOf(O));\n }\n});\n\n\n/***/ }),\n/* 326 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toObject = __webpack_require__(9);\nvar toPrimitive = __webpack_require__(29);\nvar getPrototypeOf = __webpack_require__(17);\nvar getOwnPropertyDescriptor = __webpack_require__(16).f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\n__webpack_require__(7) && $export($export.P + __webpack_require__(67), 'Object', {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.set;\n } while (O = getPrototypeOf(O));\n }\n});\n\n\n/***/ }),\n/* 327 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(0);\nvar $values = __webpack_require__(137)(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n\n/***/ }),\n/* 328 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/zenparsing/es-observable\nvar $export = __webpack_require__(0);\nvar global = __webpack_require__(2);\nvar core = __webpack_require__(20);\nvar microtask = __webpack_require__(99)();\nvar OBSERVABLE = __webpack_require__(5)('observable');\nvar aFunction = __webpack_require__(10);\nvar anObject = __webpack_require__(1);\nvar anInstance = __webpack_require__(36);\nvar redefineAll = __webpack_require__(42);\nvar hide = __webpack_require__(12);\nvar forOf = __webpack_require__(37);\nvar RETURN = forOf.RETURN;\n\nvar getMethod = function (fn) {\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function (subscription) {\n var cleanup = subscription._c;\n if (cleanup) {\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function (subscription) {\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function (subscription) {\n if (!subscriptionClosed(subscription)) {\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function (observer, subscriber) {\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer);\n var subscription = cleanup;\n if (cleanup != null) {\n if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch (e) {\n observer.error(e);\n return;\n } if (subscriptionClosed(this)) cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe() { closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function (subscription) {\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if (m) return m.call(observer, value);\n } catch (e) {\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value) {\n var subscription = this._s;\n if (subscriptionClosed(subscription)) throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if (!m) throw value;\n value = m.call(observer, value);\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber) {\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer) {\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn) {\n var that = this;\n return new (core.Promise || global.Promise)(function (resolve, reject) {\n aFunction(fn);\n var subscription = that.subscribe({\n next: function (value) {\n try {\n return fn(value);\n } catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x) {\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if (method) {\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n return new C(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n try {\n if (forOf(x, false, function (it) {\n observer.next(it);\n if (done) return RETURN;\n }) === RETURN) return;\n } catch (e) {\n if (done) throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n },\n of: function of() {\n for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n for (var j = 0; j < items.length; ++j) {\n observer.next(items[j]);\n if (done) return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function () { return this; });\n\n$export($export.G, { Observable: $Observable });\n\n__webpack_require__(43)('Observable');\n\n\n/***/ }),\n/* 329 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(0);\nvar core = __webpack_require__(20);\nvar global = __webpack_require__(2);\nvar speciesConstructor = __webpack_require__(57);\nvar promiseResolve = __webpack_require__(142);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n/***/ }),\n/* 330 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(0);\nvar newPromiseCapability = __webpack_require__(100);\nvar perform = __webpack_require__(141);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n/***/ }),\n/* 331 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(30);\nvar anObject = __webpack_require__(1);\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n\n\n/***/ }),\n/* 332 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(30);\nvar anObject = __webpack_require__(1);\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n\n\n/***/ }),\n/* 333 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Set = __webpack_require__(150);\nvar from = __webpack_require__(118);\nvar metadata = __webpack_require__(30);\nvar anObject = __webpack_require__(1);\nvar getPrototypeOf = __webpack_require__(17);\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n\n\n/***/ }),\n/* 334 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(30);\nvar anObject = __webpack_require__(1);\nvar getPrototypeOf = __webpack_require__(17);\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 335 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(30);\nvar anObject = __webpack_require__(1);\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n\n\n/***/ }),\n/* 336 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(30);\nvar anObject = __webpack_require__(1);\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 337 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(30);\nvar anObject = __webpack_require__(1);\nvar getPrototypeOf = __webpack_require__(17);\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 338 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(30);\nvar anObject = __webpack_require__(1);\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 339 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $metadata = __webpack_require__(30);\nvar anObject = __webpack_require__(1);\nvar aFunction = __webpack_require__(10);\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n\n\n/***/ }),\n/* 340 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\n__webpack_require__(70)('Set');\n\n\n/***/ }),\n/* 341 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\n__webpack_require__(71)('Set');\n\n\n/***/ }),\n/* 342 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = __webpack_require__(0);\n\n$export($export.P + $export.R, 'Set', { toJSON: __webpack_require__(122)('Set') });\n\n\n/***/ }),\n/* 343 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = __webpack_require__(0);\nvar $at = __webpack_require__(72)(true);\nvar $fails = __webpack_require__(3);\n\nvar FORCED = $fails(function () {\n return '𠮷'.at(0) !== '𠮷';\n});\n\n$export($export.P + $export.F * FORCED, 'String', {\n at: function at(pos) {\n return $at(this, pos);\n }\n});\n\n\n/***/ }),\n/* 344 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = __webpack_require__(0);\nvar defined = __webpack_require__(27);\nvar toLength = __webpack_require__(6);\nvar isRegExp = __webpack_require__(65);\nvar getFlags = __webpack_require__(53);\nvar RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function (regexp, string) {\n this._r = regexp;\n this._s = string;\n};\n\n__webpack_require__(95)($RegExpStringIterator, 'RegExp String', function next() {\n var match = this._r.exec(this._s);\n return { value: match, done: match === null };\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp) {\n defined(this);\n if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');\n var S = String(this);\n var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp);\n var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});\n\n\n/***/ }),\n/* 345 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = __webpack_require__(0);\nvar $pad = __webpack_require__(144);\nvar userAgent = __webpack_require__(74);\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n\n/***/ }),\n/* 346 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = __webpack_require__(0);\nvar $pad = __webpack_require__(144);\nvar userAgent = __webpack_require__(74);\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n\n/***/ }),\n/* 347 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n__webpack_require__(50)('trimLeft', function ($trim) {\n return function trimLeft() {\n return $trim(this, 1);\n };\n}, 'trimStart');\n\n\n/***/ }),\n/* 348 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n__webpack_require__(50)('trimRight', function ($trim) {\n return function trimRight() {\n return $trim(this, 2);\n };\n}, 'trimEnd');\n\n\n/***/ }),\n/* 349 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(109)('asyncIterator');\n\n\n/***/ }),\n/* 350 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(109)('observable');\n\n\n/***/ }),\n/* 351 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-global\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'System', { global: __webpack_require__(2) });\n\n\n/***/ }),\n/* 352 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\n__webpack_require__(70)('WeakMap');\n\n\n/***/ }),\n/* 353 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\n__webpack_require__(71)('WeakMap');\n\n\n/***/ }),\n/* 354 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from\n__webpack_require__(70)('WeakSet');\n\n\n/***/ }),\n/* 355 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\n__webpack_require__(71)('WeakSet');\n\n\n/***/ }),\n/* 356 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $iterators = __webpack_require__(111);\nvar getKeys = __webpack_require__(40);\nvar redefine = __webpack_require__(13);\nvar global = __webpack_require__(2);\nvar hide = __webpack_require__(12);\nvar Iterators = __webpack_require__(48);\nvar wks = __webpack_require__(5);\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n/***/ }),\n/* 357 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar $task = __webpack_require__(107);\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n\n\n/***/ }),\n/* 358 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// ie9- setTimeout & setInterval additional parameters fix\nvar global = __webpack_require__(2);\nvar $export = __webpack_require__(0);\nvar userAgent = __webpack_require__(74);\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n\n\n/***/ }),\n/* 359 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(287);\n__webpack_require__(226);\n__webpack_require__(228);\n__webpack_require__(227);\n__webpack_require__(230);\n__webpack_require__(232);\n__webpack_require__(237);\n__webpack_require__(231);\n__webpack_require__(229);\n__webpack_require__(239);\n__webpack_require__(238);\n__webpack_require__(234);\n__webpack_require__(235);\n__webpack_require__(233);\n__webpack_require__(225);\n__webpack_require__(236);\n__webpack_require__(240);\n__webpack_require__(241);\n__webpack_require__(193);\n__webpack_require__(195);\n__webpack_require__(194);\n__webpack_require__(243);\n__webpack_require__(242);\n__webpack_require__(213);\n__webpack_require__(223);\n__webpack_require__(224);\n__webpack_require__(214);\n__webpack_require__(215);\n__webpack_require__(216);\n__webpack_require__(217);\n__webpack_require__(218);\n__webpack_require__(219);\n__webpack_require__(220);\n__webpack_require__(221);\n__webpack_require__(222);\n__webpack_require__(196);\n__webpack_require__(197);\n__webpack_require__(198);\n__webpack_require__(199);\n__webpack_require__(200);\n__webpack_require__(201);\n__webpack_require__(202);\n__webpack_require__(203);\n__webpack_require__(204);\n__webpack_require__(205);\n__webpack_require__(206);\n__webpack_require__(207);\n__webpack_require__(208);\n__webpack_require__(209);\n__webpack_require__(210);\n__webpack_require__(211);\n__webpack_require__(212);\n__webpack_require__(274);\n__webpack_require__(279);\n__webpack_require__(286);\n__webpack_require__(277);\n__webpack_require__(269);\n__webpack_require__(270);\n__webpack_require__(275);\n__webpack_require__(280);\n__webpack_require__(282);\n__webpack_require__(265);\n__webpack_require__(266);\n__webpack_require__(267);\n__webpack_require__(268);\n__webpack_require__(271);\n__webpack_require__(272);\n__webpack_require__(273);\n__webpack_require__(276);\n__webpack_require__(278);\n__webpack_require__(281);\n__webpack_require__(283);\n__webpack_require__(284);\n__webpack_require__(285);\n__webpack_require__(188);\n__webpack_require__(190);\n__webpack_require__(189);\n__webpack_require__(192);\n__webpack_require__(191);\n__webpack_require__(177);\n__webpack_require__(175);\n__webpack_require__(181);\n__webpack_require__(178);\n__webpack_require__(184);\n__webpack_require__(186);\n__webpack_require__(174);\n__webpack_require__(180);\n__webpack_require__(171);\n__webpack_require__(185);\n__webpack_require__(169);\n__webpack_require__(183);\n__webpack_require__(182);\n__webpack_require__(176);\n__webpack_require__(179);\n__webpack_require__(168);\n__webpack_require__(170);\n__webpack_require__(173);\n__webpack_require__(172);\n__webpack_require__(187);\n__webpack_require__(111);\n__webpack_require__(259);\n__webpack_require__(148);\n__webpack_require__(264);\n__webpack_require__(149);\n__webpack_require__(260);\n__webpack_require__(261);\n__webpack_require__(262);\n__webpack_require__(263);\n__webpack_require__(244);\n__webpack_require__(147);\n__webpack_require__(150);\n__webpack_require__(151);\n__webpack_require__(299);\n__webpack_require__(288);\n__webpack_require__(289);\n__webpack_require__(294);\n__webpack_require__(297);\n__webpack_require__(298);\n__webpack_require__(292);\n__webpack_require__(295);\n__webpack_require__(293);\n__webpack_require__(296);\n__webpack_require__(290);\n__webpack_require__(291);\n__webpack_require__(245);\n__webpack_require__(246);\n__webpack_require__(247);\n__webpack_require__(248);\n__webpack_require__(249);\n__webpack_require__(252);\n__webpack_require__(250);\n__webpack_require__(251);\n__webpack_require__(253);\n__webpack_require__(254);\n__webpack_require__(255);\n__webpack_require__(256);\n__webpack_require__(258);\n__webpack_require__(257);\n__webpack_require__(302);\n__webpack_require__(300);\n__webpack_require__(301);\n__webpack_require__(343);\n__webpack_require__(346);\n__webpack_require__(345);\n__webpack_require__(347);\n__webpack_require__(348);\n__webpack_require__(344);\n__webpack_require__(349);\n__webpack_require__(350);\n__webpack_require__(324);\n__webpack_require__(327);\n__webpack_require__(323);\n__webpack_require__(321);\n__webpack_require__(322);\n__webpack_require__(325);\n__webpack_require__(326);\n__webpack_require__(308);\n__webpack_require__(342);\n__webpack_require__(307);\n__webpack_require__(341);\n__webpack_require__(353);\n__webpack_require__(355);\n__webpack_require__(306);\n__webpack_require__(340);\n__webpack_require__(352);\n__webpack_require__(354);\n__webpack_require__(305);\n__webpack_require__(351);\n__webpack_require__(304);\n__webpack_require__(309);\n__webpack_require__(310);\n__webpack_require__(311);\n__webpack_require__(312);\n__webpack_require__(313);\n__webpack_require__(315);\n__webpack_require__(314);\n__webpack_require__(316);\n__webpack_require__(317);\n__webpack_require__(318);\n__webpack_require__(320);\n__webpack_require__(319);\n__webpack_require__(329);\n__webpack_require__(330);\n__webpack_require__(331);\n__webpack_require__(332);\n__webpack_require__(334);\n__webpack_require__(333);\n__webpack_require__(336);\n__webpack_require__(335);\n__webpack_require__(337);\n__webpack_require__(338);\n__webpack_require__(339);\n__webpack_require__(303);\n__webpack_require__(328);\n__webpack_require__(358);\n__webpack_require__(357);\n__webpack_require__(356);\nmodule.exports = __webpack_require__(20);\n\n\n/***/ }),\n/* 360 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(152)))\n\n/***/ }),\n/* 361 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(154);\nmodule.exports = __webpack_require__(153);\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// rrdiagram.js","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_export.js\n// module id = 0\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_an-object.js\n// module id = 1\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_global.js\n// module id = 2\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_fails.js\n// module id = 3\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_is-object.js\n// module id = 4\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_wks.js\n// module id = 5\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_to-length.js\n// module id = 6\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_descriptors.js\n// module id = 7\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-dp.js\n// module id = 8\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_to-object.js\n// module id = 9\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_a-function.js\n// module id = 10\n// module chunks = 0","export default class RRElement {\r\n\r\n constructor() {\r\n this.layoutInfo = null;\r\n }\r\n\r\n setLayoutInfo(layoutInfo) {\r\n this.layoutInfo = layoutInfo;\r\n }\r\n\r\n getLayoutInfo() {\r\n return this.layoutInfo;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./ui/rrelement.js","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_hide.js\n// module id = 12\n// module chunks = 0","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_redefine.js\n// module id = 13\n// module chunks = 0","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '&quot;') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_string-html.js\n// module id = 14\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_has.js\n// module id = 15\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-gopd.js\n// module id = 16\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-gpo.js\n// module id = 17\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_to-iobject.js\n// module id = 18\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_cof.js\n// module id = 19\n// module chunks = 0","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_core.js\n// module id = 20\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_ctx.js\n// module id = 21\n// module chunks = 0","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_strict-method.js\n// module id = 22\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_to-integer.js\n// module id = 23\n// module chunks = 0","import Grammar from './grammar';\r\n\r\nconst RuleDefinitionSign = {\r\n EQUAL: 1,\r\n COLON_EQUAL: 2,\r\n COLON_COLON_EQUAL: 3,\r\n};\r\n\r\nconst LiteralDefinitionSign = {\r\n QUOTE: 1,\r\n DOUBLE_QUOTE: 2,\r\n};\r\n\r\nexport default class GrammarToBNF {\r\n\r\n static get RuleDefinitionSign() {\r\n return RuleDefinitionSign;\r\n }\r\n\r\n static get LiteralDefinitionSign() {\r\n return LiteralDefinitionSign;\r\n }\r\n\r\n constructor() {\r\n this.ruleDefinitionSign = RuleDefinitionSign.EQUAL;\r\n this.literalDefinitionSign = LiteralDefinitionSign.QUOTE;\r\n this.isCommaSeparator = false;\r\n this.isUsingMultiplicationTokens = false;\r\n this.ruleConsideredAsLineBreak = null;\r\n }\r\n\r\n /**\r\n * @param {Grammar} grammar \r\n * @return {string}\r\n */\r\n convert(grammar) {\r\n return grammar.toBNF(this);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./model/grammartobnf.js","import Rule from './rule';\r\nimport RRDiagram from '../ui/rrdiagram';\r\n\r\nexport default class GrammarToRRDiagram {\r\n\r\n constructor() {\r\n this.ruleLinkProvider = (ruleName) => '#' + ruleName;\r\n this.ruleConsideredAsLineBreak = null;\r\n }\r\n\r\n /**\r\n * @param {Rule} rule \r\n * @return {RRDiagram}\r\n */\r\n convert(rule) {\r\n return rule.toRRDiagram(this);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./model/grammartorrdiagram.js","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_array-methods.js\n// module id = 26\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_defined.js\n// module id = 27\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-sap.js\n// module id = 28\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_to-primitive.js\n// module id = 29\n// module chunks = 0","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_metadata.js\n// module id = 30\n// module chunks = 0","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_typed-array.js\n// module id = 31\n// module chunks = 0","import GrammarToRRDiagram from './grammartorrdiagram';\r\nimport GrammarToBNF from './grammartobnf';\r\nimport RRElement from '../ui/rrelement';\r\n\r\nexport default class Expression {\r\n\r\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\r\n toRRElement(grammarToRRDiagram) {\r\n // Not reachable, we don't instanciate this class.\r\n return new RRElement();\r\n }\r\n\r\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\r\n toBNF(grammarToBNF, sb, isNested) {\r\n }\r\n\r\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\r\n equals(o) {\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./model/expression.js","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_add-to-unscopables.js\n// module id = 33\n// module chunks = 0","module.exports = false;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_library.js\n// module id = 34\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_meta.js\n// module id = 35\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_an-instance.js\n// module id = 36\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_for-of.js\n// module id = 37\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-create.js\n// module id = 38\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-gopn.js\n// module id = 39\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-keys.js\n// module id = 40\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_property-desc.js\n// module id = 41\n// module chunks = 0","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_redefine-all.js\n// module id = 42\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_set-species.js\n// module id = 43\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_to-absolute-index.js\n// module id = 44\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_uid.js\n// module id = 45\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_validate-collection.js\n// module id = 46\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_classof.js\n// module id = 47\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_iterators.js\n// module id = 48\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_set-to-string-tag.js\n// module id = 49\n// module chunks = 0","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_string-trim.js\n// module id = 50\n// module chunks = 0","export default class LayoutInfo {\r\n\r\n /**\r\n * @param {number} width \r\n * @param {number} height \r\n * @param {number} connectorOffset \r\n */\r\n constructor(width, height, connectorOffset) {\r\n this.width = width;\r\n this.height = height;\r\n this.connectorOffset = connectorOffset;\r\n }\r\n\r\n /**\r\n * @return {number}\r\n */\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n /**\r\n * @return {number}\r\n */\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n /**\r\n * @return {number}\r\n */\r\n getConnectorOffset() {\r\n return this.connectorOffset;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./ui/layoutinfo.js","import RRElement from './rrelement';\r\nimport RRDiagramToSVG from './rrdiagramtosvg';\r\nimport LayoutInfo from './layoutinfo';\r\nimport { escapeXml, getFontInfo } from '../utils/utils';\r\n\r\nconst Type = {\r\n LITERAL: 1,\r\n RULE: 2,\r\n SPECIAL_SEQUENCE: 3,\r\n};\r\n\r\nexport default class RRText extends RRElement {\r\n\r\n static get Type() {\r\n return Type;\r\n }\r\n\r\n /**\r\n * \r\n * @param {Type} type \r\n * @param {string} text \r\n * @param {?string} link \r\n */\r\n constructor(type, text, link) {\r\n super();\r\n this.type = type;\r\n this.text = text;\r\n this.link = link;\r\n this.fontInfo = null;\r\n }\r\n\r\n getType() {\r\n return this.type;\r\n }\r\n\r\n getText() {\r\n return this.text;\r\n }\r\n\r\n getLink() {\r\n return this.link;\r\n }\r\n\r\n computeLayoutInfo(rrDiagramToSVG) {\r\n const insets = {\r\n top: 5,\r\n left: 10,\r\n bottom: 5,\r\n right: 10,\r\n };\r\n let cssTextClass;\r\n if (this.type == Type.RULE) {\r\n cssTextClass = rrDiagramToSVG.cssRuleTextClass;\r\n } else if (this.type == Type.LITERAL) {\r\n cssTextClass = rrDiagramToSVG.cssLiteralTextClass;\r\n } else if (this.type == Type.SPECIAL_SEQUENCE) {\r\n cssTextClass = rrDiagramToSVG.cssSpecialSequenceTextClass;\r\n } else {\r\n throw 'Unknown type: type';\r\n }\r\n this.fontInfo = getFontInfo(this.text, cssTextClass);\r\n let width = this.fontInfo.textWidth;\r\n let height = this.fontInfo.height;\r\n const fontYOffset = this.fontInfo.descent;\r\n const connectorOffset = insets.top + height - fontYOffset;\r\n width += insets.left + insets.right;\r\n height += insets.top + insets.bottom;\r\n this.setLayoutInfo(new LayoutInfo(width, height, connectorOffset));\r\n }\r\n\r\n toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\r\n const insets = {\r\n top: 5,\r\n left: 10,\r\n bottom: 5,\r\n right: 10,\r\n };\r\n const layoutInfo = this.getLayoutInfo();\r\n const width = layoutInfo.getWidth();\r\n const height = layoutInfo.getHeight();\r\n if (this.link != null) {\r\n svgContent.addElement(\"<a xlink:href=\\\"\" + escapeXml(this.link)/* + \"\\\" xlink:title=\\\"\" + escapeXml(this.text)*/ + \"\\\">\");\r\n }\r\n let cssClass;\r\n let cssTextClass;\r\n let shape;\r\n if (this.type == Type.RULE) {\r\n cssClass = rrDiagramToSVG.cssRuleClass;\r\n cssTextClass = rrDiagramToSVG.cssRuleTextClass;\r\n shape = rrDiagramToSVG.ruleShape;\r\n } else if (this.type == Type.LITERAL) {\r\n cssClass = rrDiagramToSVG.cssLiteralClass;\r\n cssTextClass = rrDiagramToSVG.cssLiteralTextClass;\r\n shape = rrDiagramToSVG.literalShape;\r\n } else if (this.type == Type.SPECIAL_SEQUENCE) {\r\n cssClass = rrDiagramToSVG.cssSpecialSequenceClass;\r\n cssTextClass = rrDiagramToSVG.cssSpecialSequenceTextClass;\r\n shape = rrDiagramToSVG.specialSequenceShape;\r\n } else {\r\n throw 'Unknown type: type';\r\n }\r\n if (shape == RRDiagramToSVG.BoxShape.RECTANGLE) {\r\n svgContent.addElement(\"<rect class=\\\"\" + cssClass + \"\\\" x=\\\"\" + xOffset + \"\\\" y=\\\"\" + yOffset + \"\\\" width=\\\"\" + width + \"\\\" height=\\\"\" + height + \"\\\"/>\");\r\n } else if (shape == RRDiagramToSVG.BoxShape.ROUNDED_RECTANGLE) {\r\n const rx = Math.floor((insets.left + insets.right + insets.top + insets.bottom) / 4);\r\n svgContent.addElement(\"<rect class=\\\"\" + cssClass + \"\\\" x=\\\"\" + xOffset + \"\\\" y=\\\"\" + yOffset + \"\\\" width=\\\"\" + width + \"\\\" height=\\\"\" + height + \"\\\" rx=\\\"\" + rx + \"\\\"/>\");\r\n } else if (shape == RRDiagramToSVG.BoxShape.HEXAGON) {\r\n // We don't calculate the exact length of the connector: it goes behind the shape.\r\n // We should calculate if we want to support transparent shapes.\r\n const connectorOffset = layoutInfo.getConnectorOffset();\r\n svgContent.addLineConnector(xOffset, yOffset + connectorOffset, xOffset + insets.left, yOffset + connectorOffset);\r\n svgContent.addElement(\"<polygon class=\\\"\" + escapeXml(cssClass) + \"\\\" points=\\\"\" + xOffset + \" \" + (yOffset + Math.floor(height / 2)) + \" \" + (xOffset + insets.left) + \" \" + yOffset + \" \" + (xOffset + width - insets.right) + \" \" + yOffset + \" \" + (xOffset + width) + \" \" + (yOffset + Math.floor(height / 2)) + \" \" + (xOffset + width - insets.right) + \" \" + (yOffset + height) + \" \" + (xOffset + insets.left) + \" \" + (yOffset + height) + \"\\\"/>\");\r\n svgContent.addLineConnector(xOffset + width, yOffset + connectorOffset, xOffset + width - insets.right, yOffset + connectorOffset);\r\n }\r\n const fontYOffset = this.fontInfo.descent;\r\n const textHeight = this.fontInfo.textHeight;\r\n const textXOffset = xOffset + insets.left;\r\n const textYOffset = yOffset + insets.top + textHeight - fontYOffset;\r\n svgContent.addElement(\"<text class=\\\"\" + escapeXml(cssTextClass) + \"\\\" x=\\\"\" + textXOffset + \"\\\" y=\\\"\" + textYOffset + \"\\\">\" + escapeXml(this.text) + \"</text>\");\r\n if (this.link != null) {\r\n svgContent.addElement(\"</a>\");\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./ui/rrtext.js","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_flags.js\n// module id = 53\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_iobject.js\n// module id = 54\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-pie.js\n// module id = 55\n// module chunks = 0","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_shared.js\n// module id = 56\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_species-constructor.js\n// module id = 57\n// module chunks = 0","import RRDiagram from '../ui/rrdiagram';\r\nimport GrammarToBNF from './grammartobnf';\r\nimport Expression from './expression';\r\nimport GrammarToRRDiagram from './grammartorrdiagram';\r\n\r\nexport default class Rule {\r\n\r\n /**\r\n * @param {string} name \r\n * @param {Expression} expression \r\n * @param {?string} originalExpressionText \r\n */\r\n constructor(name, expression, originalExpressionText) {\r\n this.name = name;\r\n this.expression = expression;\r\n this.originalExpressionText = originalExpressionText;\r\n }\r\n\r\n /**\r\n * @return {string}\r\n */\r\n getName() {\r\n return this.name;\r\n }\r\n\r\n /**\r\n * @return {?string}\r\n */\r\n getOriginalExpressionText() {\r\n return this.originalExpressionText;\r\n }\r\n\r\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRDiagram}\r\n */\r\n toRRDiagram(grammarToRRDiagram) {\r\n return new RRDiagram(this.expression.toRRElement(grammarToRRDiagram));\r\n }\r\n\r\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @return {string}\r\n */\r\n toBNF(grammarToBNF) {\r\n const sb = [];\r\n sb.push(this.name, \" \");\r\n switch (grammarToBNF.ruleDefinitionSign) {\r\n case GrammarToBNF.RuleDefinitionSign.EQUAL: sb.push(\"=\"); break;\r\n case GrammarToBNF.RuleDefinitionSign.COLON_EQUAL: sb.push(\":=\"); break;\r\n case GrammarToBNF.RuleDefinitionSign.COLON_COLON_EQUAL: sb.push(\"::=\"); break;\r\n }\r\n sb.push(\" \");\r\n this.expression.toBNF(grammarToBNF, sb, false);\r\n sb.push(\";\");\r\n return sb.join(\"\");\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./model/rule.js","import RRElement from './rrelement';\r\nimport RRSequence from './rrsequence';\r\nimport SvgContent from './svg/svgcontent';\r\nimport RRBreak from './rrbreak';\r\n\r\nexport default class RRDiagram {\r\n\r\n /**\r\n * @param {RRElement} rrElement \r\n */\r\n constructor(rrElement) {\r\n this.rrElement = rrElement;\r\n }\r\n\r\n toSVG(rrDiagramToSVG) {\r\n const rrElementList = [];\r\n if (this.rrElement instanceof RRSequence) {\r\n const cursorElementList = [];\r\n for (let element of this.rrElement.getRRElements()) {\r\n if (element instanceof RRBreak) {\r\n if (cursorElementList.length != 0) {\r\n rrElementList.push(cursorElementList.length == 1 ? cursorElementList[0] : new RRSequence(cursorElementList.slice()));\r\n cursorElementList.length = 0;\r\n }\r\n } else {\r\n cursorElementList.push(element);\r\n }\r\n }\r\n if (cursorElementList.length != 0) {\r\n rrElementList.push(cursorElementList.length == 1 ? cursorElementList[0] : new RRSequence(cursorElementList.slice()));\r\n }\r\n } else {\r\n rrElementList.push(this.rrElement);\r\n }\r\n let width = 5;\r\n let height = 5;\r\n for (let i = 0; i < rrElementList.length; i++) {\r\n if (i > 0) {\r\n height += 5;\r\n }\r\n const rrElement_ = rrElementList[i];\r\n rrElement_.computeLayoutInfo(rrDiagramToSVG);\r\n const layoutInfo = rrElement_.getLayoutInfo();\r\n width = Math.max(width, 5 + layoutInfo.getWidth() + 5);\r\n height += layoutInfo.getHeight() + 5;\r\n }\r\n const svgContent = new SvgContent();\r\n // First, generate the XML for the elements, to know the usage.\r\n const xOffset = 0;\r\n let yOffset = 5;\r\n for (let rrElement_ of rrElementList) {\r\n const layoutInfo2 = rrElement_.getLayoutInfo();\r\n const connectorOffset2 = layoutInfo2.getConnectorOffset();\r\n const width2 = layoutInfo2.getWidth();\r\n const height2 = layoutInfo2.getHeight();\r\n const y1 = yOffset + connectorOffset2;\r\n svgContent.addLineConnector(xOffset, y1, xOffset + 5, y1);\r\n // TODO: add decorations (like arrows)?\r\n rrElement_.toSVG(rrDiagramToSVG, xOffset + 5, yOffset, svgContent);\r\n svgContent.addLineConnector(xOffset + 5 + width2, y1, xOffset + 5 + width2 + 5, y1);\r\n yOffset += height2 + 10;\r\n }\r\n const connectorElement = svgContent.getConnectorElement(rrDiagramToSVG);\r\n const elements = svgContent.getElements();\r\n // Then generate the rest (CSS and SVG container tags) based on that usage.\r\n const sb = [];\r\n sb.push(\"<svg version=\\\"1.1\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"\", width, \"\\\" height=\\\"\", height, \"\\\" viewbox=\\\"0 0 \" + width + \" \" + height + \"\\\">\");\r\n /* String styles = svgContent.getCSSStyles();\r\n if(styles.length() > 0) {\r\n sb.push(\"<defs><style type=\\\"text/css\\\">\");\r\n sb.push(styles);\r\n sb.push(\"</style></defs>\");\r\n }*/\r\n sb.push(connectorElement);\r\n sb.push(elements);\r\n sb.push(\"</svg>\");\r\n return sb.join(\"\");\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./ui/rrdiagram.js","import RRText from './rrtext';\r\nimport RRDiagram from './rrdiagram'\r\n\r\nconst BoxShape = {\r\n RECTANGLE: 1,\r\n ROUNDED_RECTANGLE: 2,\r\n HEXAGON: 3,\r\n};\r\n\r\nexport default class RRDiagramToSVG {\r\n\r\n static get BoxShape() {\r\n return BoxShape;\r\n }\r\n\r\n constructor() {\r\n this.cssConnectorClass = \"rrConnector\";//{fill:none;stroke:#222222;}\r\n this.cssRuleClass = \"rrRule\";//{fill:#d3f0ff;stroke:#222222;}\r\n this.cssRuleTextClass = \"rrRuleText\";//{fill:#000000;font-family:Verdana,Sans-serif;font-size:12px;}\r\n this.cssLiteralClass = \"rrLiteral\";//{fill:#90d9ff;stroke:#222222;}\r\n this.cssLiteralTextClass = \"rrLiteralText\";//{fill:#000000;font-family:Verdana,Sans-serif;font-size:12px;}\r\n this.cssSpecialSequenceClass = \"rrSpecialSequence\";//{fill:#e4f4ff;stroke:#222222;}\r\n this.cssSpecialSequenceTextClass = \"rrSpecialSequenceText\";//{fill:#000000;font-family:Verdana,Sans-serif;font-size:12px;}\r\n this.cssLoopCardinalitiesTextClass = \"rrLoopCardinalities\";//{fill:#000000;font-family:Verdana,Sans-serif;font-size:10px;}\r\n this.ruleShape = BoxShape.RECTANGLE;\r\n this.literalShape = BoxShape.ROUNDED_RECTANGLE;\r\n this.specialSequenceShape = BoxShape.HEXAGON;\r\n }\r\n\r\n /**\r\n * @param {RRDiagram} rrDiagram \r\n * @return {string}\r\n */\r\n convert(rrDiagram) {\r\n return rrDiagram.toSVG(this);\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./ui/rrdiagramtosvg.js","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_array-includes.js\n// module id = 61\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_collection.js\n// module id = 62\n// module chunks = 0","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_fix-re-wks.js\n// module id = 63\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_is-array.js\n// module id = 64\n// module chunks = 0","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_is-regexp.js\n// module id = 65\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_iter-detect.js\n// module id = 66\n// module chunks = 0","'use strict';\n// Forced replacement prototype accessors methods\nmodule.exports = require('./_library') || !require('./_fails')(function () {\n var K = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call\n __defineSetter__.call(null, K, function () { /* empty */ });\n delete require('./_global')[K];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-forced-pam.js\n// module id = 67\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-gops.js\n// module id = 68\n// module chunks = 0","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_regexp-exec-abstract.js\n// module id = 69\n// module chunks = 0","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar ctx = require('./_ctx');\nvar forOf = require('./_for-of');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_set-collection-from.js\n// module id = 70\n// module chunks = 0","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_set-collection-of.js\n// module id = 71\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_string-at.js\n// module id = 72\n// module chunks = 0","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_typed.js\n// module id = 73\n// module chunks = 0","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_user-agent.js\n// module id = 74\n// module chunks = 0","import Rule from './rule';\r\nimport GrammarToBNF from './grammartobnf';\r\n\r\nexport default class Grammar {\r\n\r\n constructor(rules) {\r\n if(arguments.length == 0) {\r\n rules = [];\r\n } else if (rules.constructor !== Array) {\r\n rules = arguments;\r\n }\r\n this.rules = rules;\r\n }\r\n\r\n /**\r\n * @return {Rule[]}\r\n */\r\n getRules() {\r\n return this.rules;\r\n }\r\n\r\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @return {string}\r\n */\r\n toBNF(grammarToBNF) {\r\n const sb = [];\r\n for (let i = 0; i < this.rules.length; i++) {\r\n if (i > 0) {\r\n sb.push(\"\\n\");\r\n }\r\n sb.push(this.rules[i].toBNF(grammarToBNF));\r\n }\r\n return sb.join(\"\");\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./model/grammar.js","import Expression from './expression';\r\nimport RRText from '../ui/rrtext';\r\nimport GrammarToRRDiagram from './grammartorrdiagram';\r\nimport RRElement from '../ui/rrelement';\r\nimport GrammarToBNF from './grammartobnf';\r\n\r\nexport default class Literal extends Expression {\r\n\r\n /**\r\n * @param {string} text \r\n */\r\n constructor(text) {\r\n super();\r\n this.text = text;\r\n }\r\n\r\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\r\n toRRElement(grammarToRRDiagram) {\r\n return new RRText(RRText.Type.LITERAL, this.text, null);\r\n }\r\n\r\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\r\n toBNF(grammarToBNF, sb, isNested) {\r\n const c = grammarToBNF.literalDefinitionSign == GrammarToBNF.LiteralDefinitionSign.DOUBLE_QUOTE ? '\"' : '\\'';\r\n sb.push(c);\r\n sb.push(this.text);\r\n sb.push(c);\r\n }\r\n\r\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\r\n equals(o) {\r\n if(!(o instanceof Literal)) {\r\n return false;\r\n }\r\n return this.text == o.text;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./model/literal.js","import Expression from './expression';\r\nimport RRChoice from '../ui/rrchoice';\r\nimport RRLine from '../ui/rrline';\r\nimport RRLoop from '../ui/rrloop';\r\nimport GrammarToRRDiagram from './grammartorrdiagram';\r\nimport RRElement from '../ui/rrelement';\r\nimport GrammarToBNF from './grammartobnf';\r\n\r\nexport default class Repetition extends Expression {\r\n\r\n /**\r\n * @param {Expression} expression \r\n * @param {number} minRepetitionCount \r\n * @param {?number} maxRepetitionCount \r\n */\r\n constructor(expression, minRepetitionCount, maxRepetitionCount) {\r\n super();\r\n this.expression = expression;\r\n this.minRepetitionCount = minRepetitionCount | 0;\r\n this.maxRepetitionCount = maxRepetitionCount;\r\n }\r\n\r\n /**\r\n * @return {Expression}\r\n */\r\n getExpression() {\r\n return this.expression;\r\n }\r\n\r\n /**\r\n * @return {number}\r\n */\r\n getMinRepetitionCount() {\r\n return this.minRepetitionCount;\r\n }\r\n\r\n /**\r\n * @return {?number}\r\n */\r\n getMaxRepetitionCount() {\r\n return this.maxRepetitionCount;\r\n }\r\n\r\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\r\n toRRElement(grammarToRRDiagram) {\r\n const rrElement = this.expression.toRRElement(grammarToRRDiagram);\r\n if (this.minRepetitionCount == 0) {\r\n if (this.maxRepetitionCount == null || this.maxRepetitionCount > 1) {\r\n return new RRChoice(new RRLoop(rrElement, null, 0, (this.maxRepetitionCount == null ? null : this.maxRepetitionCount - 1)), new RRLine());\r\n }\r\n return new RRChoice(rrElement, new RRLine());\r\n }\r\n return new RRLoop(rrElement, null, this.minRepetitionCount - 1, (this.maxRepetitionCount == null ? null : this.maxRepetitionCount - 1));\r\n }\r\n\r\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\r\n toBNF(grammarToBNF, sb, isNested) {\r\n const isUsingMultiplicationTokens = grammarToBNF.isUsingMultiplicationTokens;\r\n if (this.maxRepetitionCount == null) {\r\n if (this.minRepetitionCount > 0) {\r\n if (this.minRepetitionCount == 1 && isUsingMultiplicationTokens) {\r\n this.expression.toBNF(grammarToBNF, sb, true);\r\n sb.push(\"+\");\r\n } else {\r\n if (isNested) {\r\n sb.push(\"( \");\r\n }\r\n if (this.minRepetitionCount > 1) {\r\n sb.push(this.minRepetitionCount, \" * \");\r\n }\r\n this.expression.toBNF(grammarToBNF, sb, false);\r\n if (grammarToBNF.isCommaSeparator) {\r\n sb.push(\" ,\");\r\n }\r\n sb.push(\" \", \"{ \");\r\n this.expression.toBNF(grammarToBNF, sb, false);\r\n sb.push(\" }\");\r\n if (isNested) {\r\n sb.push(\" )\");\r\n }\r\n }\r\n } else {\r\n if (isUsingMultiplicationTokens) {\r\n this.expression.toBNF(grammarToBNF, sb, true);\r\n sb.push(\"*\");\r\n } else {\r\n sb.push(\"{ \");\r\n this.expression.toBNF(grammarToBNF, sb, false);\r\n sb.push(\" }\");\r\n }\r\n }\r\n } else {\r\n if (this.minRepetitionCount == 0) {\r\n if (this.maxRepetitionCount == 1 && isUsingMultiplicationTokens) {\r\n this.expression.toBNF(grammarToBNF, sb, true);\r\n sb.push(\"?\");\r\n } else {\r\n if (this.maxRepetitionCount > 1) {\r\n sb.push(this.maxRepetitionCount, \" * \");\r\n }\r\n sb.push(\"[ \");\r\n this.expression.toBNF(grammarToBNF, sb, false);\r\n sb.push(\" ]\");\r\n }\r\n } else {\r\n if (this.minRepetitionCount == this.maxRepetitionCount) {\r\n sb.push(this.minRepetitionCount, \" * \");\r\n this.expression.toBNF(grammarToBNF, sb, isNested);\r\n } else {\r\n if (isNested) {\r\n sb.push(\"( \");\r\n }\r\n sb.push(this.minRepetitionCount, \" * \");\r\n this.expression.toBNF(grammarToBNF, sb, false);\r\n if (grammarToBNF.isCommaSeparator) {\r\n sb.push(\" ,\");\r\n }\r\n sb.push(\" \", this.maxRepetitionCount - this.minRepetitionCount, \" * \", \"[ \");\r\n this.expression.toBNF(grammarToBNF, sb, false);\r\n sb.push(\" ]\");\r\n if (isNested) {\r\n sb.push(\" )\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\r\n equals(o) {\r\n if(!(o instanceof Repetition)) {\r\n return false;\r\n }\r\n return this.expression.equals(o.expression) && this.minRepetitionCount == o.minRepetitionCount && this.maxRepetitionCount == null? o.maxRepetitionCount == null: this.maxRepetitionCount.equals(o.maxRepetitionCount);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./model/repetition.js","import Expression from './expression';\r\nimport RRBreak from '../ui/rrbreak';\r\nimport RRText from '../ui/rrtext';\r\nimport GrammarToRRDiagram from './grammartorrdiagram';\r\nimport RRElement from '../ui/rrelement';\r\nimport GrammarToBNF from './grammartobnf';\r\n\r\nexport default class RuleReference extends Expression {\r\n\r\n /**\r\n * @param {string} ruleName \r\n */\r\n constructor(ruleName) {\r\n super();\r\n this.ruleName = ruleName;\r\n }\r\n\r\n getRuleName() {\r\n return this.ruleName;\r\n }\r\n\r\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\r\n toRRElement(grammarToRRDiagram) {\r\n const ruleConsideredAsLineBreak = grammarToRRDiagram.ruleConsideredAsLineBreak;\r\n if (ruleConsideredAsLineBreak != null && ruleConsideredAsLineBreak === this.ruleName) {\r\n return new RRBreak();\r\n }\r\n const ruleLinkProvider = grammarToRRDiagram.ruleLinkProvider;\r\n return new RRText(RRText.Type.RULE, this.ruleName, ruleLinkProvider == null ? null : ruleLinkProvider(this.ruleName));\r\n }\r\n\r\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\r\n toBNF(grammarToBNF, sb, isNested) {\r\n sb.push(this.ruleName);\r\n const ruleConsideredAsLineBreak = grammarToBNF.ruleConsideredAsLineBreak;\r\n if (ruleConsideredAsLineBreak != null && ruleConsideredAsLineBreak === this.ruleName) {\r\n sb.push(\"\\n\");\r\n }\r\n }\r\n\r\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\r\n equals(o) {\r\n if(!(o instanceof RuleReference)) {\r\n return false;\r\n }\r\n return this.ruleName == o.ruleName;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./model/rulereference.js","import Expression from './expression';\r\nimport RRLoop from '../ui/rrloop';\r\nimport RRSequence from '../ui/rrsequence';\r\nimport RuleReference from './rulereference';\r\nimport Repetition from './repetition';\r\nimport Literal from './literal';\r\nimport GrammarToRRDiagram from './grammartorrdiagram';\r\nimport RRElement from '../ui/rrelement';\r\nimport GrammarToBNF from './grammartobnf';\r\n\r\nexport default class Sequence extends Expression {\r\n\r\n /**\r\n * @param {(Expression | Expression[])} expressions \r\n */\r\n constructor(expressions) {\r\n super();\r\n if (arguments.length == 0) {\r\n expressions = [];\r\n } else if (expressions.constructor !== Array) {\r\n expressions = arguments;\r\n }\r\n this.expressions = expressions;\r\n }\r\n\r\n /**\r\n * @param {Expression[]}\r\n */\r\n getExpressions() {\r\n return this.expressions;\r\n }\r\n\r\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\r\n toRRElement(grammarToRRDiagram) {\r\n const rrElementList = [];\r\n for (let i = 0; i < this.expressions.length; i++) {\r\n const expression = this.expressions[i];\r\n let rrElement = expression.toRRElement(grammarToRRDiagram);\r\n // Treat special case of: \"a (',' a)*\" and \"a (a)*\"\r\n if (i < this.expressions.length - 1 && this.expressions[i + 1] instanceof Repetition) {\r\n const repetition = this.expressions[i + 1];\r\n const repetitionExpression = repetition.getExpression();\r\n if (repetitionExpression instanceof Sequence) {\r\n // Treat special case of: \"expr (',' expr)*\"\r\n const subExpressions = repetitionExpression.getExpressions();\r\n if (subExpressions.length == 2 && subExpressions[0] instanceof Literal) {\r\n if(expression.equals(subExpressions[1])) {\r\n const maxRepetitionCount = repetition.getMaxRepetitionCount();\r\n if (maxRepetitionCount == null || maxRepetitionCount > 1) {\r\n rrElement = new RRLoop(expression.toRRElement(grammarToRRDiagram), subExpressions[0].toRRElement(grammarToRRDiagram), repetition.getMinRepetitionCount(), (maxRepetitionCount == null ? null : maxRepetitionCount));\r\n i++;\r\n }\r\n }\r\n }\r\n } else if(expression instanceof RuleReference) {\r\n const ruleLink = expression;\r\n // Treat special case of: a (a)*\r\n if (repetitionExpression instanceof RuleReference && repetitionExpression.getRuleName().equals(ruleLink.getRuleName())) {\r\n const maxRepetitionCount = repetition.getMaxRepetitionCount();\r\n if (maxRepetitionCount == null || maxRepetitionCount > 1) {\r\n rrElement = new RRLoop(ruleLink.toRRElement(grammarToRRDiagram), null, repetition.getMinRepetitionCount(), (maxRepetitionCount == null ? null : maxRepetitionCount));\r\n i++;\r\n }\r\n }\r\n }\r\n }\r\n rrElementList.push(rrElement);\r\n }\r\n return new RRSequence(rrElementList);\r\n }\r\n\r\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\r\n toBNF(grammarToBNF, sb, isNested) {\r\n if (this.expressions.length == 0) {\r\n sb.push(\"( )\");\r\n return;\r\n }\r\n if (isNested && this.expressions.length > 1) {\r\n sb.push(\"( \");\r\n }\r\n const isCommaSeparator = grammarToBNF.isCommaSeparator;\r\n for (let i = 0; i < this.expressions.length; i++) {\r\n if (i > 0) {\r\n if (isCommaSeparator) {\r\n sb.push(\" ,\");\r\n }\r\n sb.push(\" \");\r\n }\r\n this.expressions[i].toBNF(grammarToBNF, sb, this.expressions.length == 1 && isNested || !isCommaSeparator);\r\n }\r\n if (isNested && this.expressions.length > 1) {\r\n sb.push(\" )\");\r\n }\r\n }\r\n\r\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\r\n equals(o) {\r\n if(!(o instanceof Sequence)) {\r\n return false;\r\n }\r\n if(this.expressions.length != o.expressions.length) {\r\n return false;\r\n }\r\n for (let i = 0; i < this.expressions.length; i++) {\r\n if(!this.expressions[i].equals(o.expressions[i])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./model/sequence.js","import RRElement from './rrelement';\r\nexport default class RRBreak extends RRElement {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n computeLayoutInfo(rrDiagramToSVG) {\r\n throw \"This element must not be nested and should have been processed before entering generation.\";\r\n }\r\n\r\n toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\r\n throw \"This element must not be nested and should have been processed before entering generation.\";\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./ui/rrbreak.js","import RRElement from './rrelement';\r\nimport LayoutInfo from './layoutinfo';\r\n\r\nexport default class RRChoice extends RRElement {\r\n\r\n /**\r\n * @param {(RRElement[] | RRElement)} rrElements \r\n */\r\n constructor(rrElements) {\r\n super();\r\n if(arguments.length == 0) {\r\n rrElements = [];\r\n } else if(rrElements.constructor !== Array) {\r\n rrElements = arguments;\r\n }\r\n this.rrElements = rrElements;\r\n }\r\n\r\n computeLayoutInfo(rrDiagramToSVG) {\r\n let width = 0;\r\n let height = 0;\r\n let connectorOffset = 0;\r\n for (let i = 0; i < this.rrElements.length; i++) {\r\n const rrElement = this.rrElements[i];\r\n rrElement.computeLayoutInfo(rrDiagramToSVG);\r\n const layoutInfo = rrElement.getLayoutInfo();\r\n if (i == 0) {\r\n connectorOffset = layoutInfo.getConnectorOffset();\r\n } else {\r\n height += 5;\r\n }\r\n height += layoutInfo.getHeight();\r\n width = Math.max(width, layoutInfo.getWidth());\r\n }\r\n width += 20 + 20;\r\n this.setLayoutInfo(new LayoutInfo(width, height, connectorOffset));\r\n }\r\n\r\n toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\r\n const layoutInfo = this.getLayoutInfo();\r\n const y1 = yOffset + layoutInfo.getConnectorOffset();\r\n const x1 = xOffset + 10;\r\n const x2 = xOffset + layoutInfo.getWidth() - 10;\r\n const xOffset2 = xOffset + 20;\r\n let y2 = 0;\r\n let yOffset2 = yOffset;\r\n for (let i = 0; i < this.rrElements.length; i++) {\r\n const rrElement = this.rrElements[i];\r\n const layoutInfo2 = rrElement.getLayoutInfo();\r\n const width = layoutInfo2.getWidth();\r\n const height = layoutInfo2.getHeight();\r\n y2 = yOffset2 + layoutInfo2.getConnectorOffset();\r\n if (i == 0) {\r\n // Line to first element\r\n svgContent.addLineConnector(x1 - 10, y1, x1 + 10, y1);\r\n } else {\r\n if (i == this.rrElements.length - 1) {\r\n // Curve and vertical down\r\n svgContent.addPathConnector(x1 - 5, y1, \"q5 0 5 5\", x1, y1 + 5);\r\n svgContent.addLineConnector(x1, y1 + 5, x1, y2 - 5);\r\n }\r\n // Curve and horizontal line to element\r\n svgContent.addPathConnector(x1, y2 - 5, \"q0 5 5 5\", x1 + 5, y2);\r\n svgContent.addLineConnector(x1 + 5, y2, xOffset2, y2);\r\n }\r\n rrElement.toSVG(rrDiagramToSVG, xOffset2, yOffset2, svgContent);\r\n if (i == 0) {\r\n // Line to first element\r\n svgContent.addLineConnector(xOffset2 + width, y2, x2 + 10, y2);\r\n } else {\r\n // Horizontal line to element and curve\r\n svgContent.addLineConnector(x2 - 5, y2, xOffset2 + width, y2);\r\n svgContent.addPathConnector(x2 - 5, y2, \"q5 0 5-5\", x2, y2 - 5);\r\n if (i == this.rrElements.length - 1) {\r\n // Vertical up and curve\r\n svgContent.addLineConnector(x2, y2 - 5, x2, y1 + 5);\r\n svgContent.addPathConnector(x2, y1 + 5, \"q0-5 5-5\", x2 + 5, y1);\r\n }\r\n }\r\n yOffset2 += height + 5;\r\n }\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./ui/rrchoice.js","import RRElement from './rrelement';\r\nimport RRDiagramToSVG from './rrdiagramtosvg';\r\nimport LayoutInfo from './layoutinfo';\r\nimport { escapeXml, getFontInfo } from '../utils/utils';\r\n\r\nexport default class RRLoop extends RRElement {\r\n\r\n /**\r\n * @param {RRElement} rrElement \r\n * @param {RRElement} loopElement \r\n * @param {?number} minRepetitionCount \r\n * @param {?number} maxRepetitionCount \r\n */\r\n constructor(rrElement, loopElement, minRepetitionCount, maxRepetitionCount) {\r\n super();\r\n this.rrElement = rrElement;\r\n this.loopElement = loopElement;\r\n if (minRepetitionCount < 0) {\r\n throw new IllegalArgumentException(\"Minimum repetition must be positive!\");\r\n }\r\n if (maxRepetitionCount != null && maxRepetitionCount < minRepetitionCount) {\r\n throw new IllegalArgumentException(\"Maximum repetition must not be smaller than minimum!\");\r\n }\r\n this.minRepetitionCount = minRepetitionCount;\r\n this.maxRepetitionCount = maxRepetitionCount;\r\n this.cardinalitiesText = null;\r\n this.cardinalitiesWidth = null;\r\n this.fontYOffset = null;\r\n }\r\n\r\n computeLayoutInfo(rrDiagramToSVG) {\r\n this.cardinalitiesText = null;\r\n this.cardinalitiesWidth = 0;\r\n this.fontYOffset = 0;\r\n if (this.minRepetitionCount > 0 || this.maxRepetitionCount != null) {\r\n this.cardinalitiesText = this.minRepetitionCount + \"..\" + (this.maxRepetitionCount == null ? \"N\" : this.maxRepetitionCount);\r\n // TODO: get font from CSS tag.\r\n const fontInfo = getFontInfo(this.cardinalitiesText, rrDiagramToSVG.cssLoopCardinalitiesTextClass);\r\n this.fontYOffset = fontInfo.descent;\r\n this.cardinalitiesWidth = fontInfo.textWidth + 2;\r\n }\r\n this.rrElement.computeLayoutInfo(rrDiagramToSVG);\r\n const layoutInfo1 = this.rrElement.getLayoutInfo();\r\n let width = layoutInfo1.getWidth();\r\n let height = layoutInfo1.getHeight();\r\n let connectorOffset = layoutInfo1.getConnectorOffset();\r\n if (this.loopElement != null) {\r\n this.loopElement.computeLayoutInfo(rrDiagramToSVG);\r\n const layoutInfo2 = this.loopElement.getLayoutInfo();\r\n width = Math.max(width, layoutInfo2.getWidth());\r\n const height2 = layoutInfo2.getHeight();\r\n height += 5 + height2;\r\n connectorOffset += 5 + height2;\r\n } else {\r\n height += 15;\r\n connectorOffset += 15;\r\n }\r\n width += 20 + 20 + this.cardinalitiesWidth;\r\n this.setLayoutInfo(new LayoutInfo(width, height, connectorOffset));\r\n }\r\n\r\n toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\r\n const layoutInfo1 = this.rrElement.getLayoutInfo();\r\n const width1 = layoutInfo1.getWidth();\r\n let maxWidth = width1;\r\n let yOffset2 = yOffset;\r\n const layoutInfo = this.getLayoutInfo();\r\n const connectorOffset = layoutInfo.getConnectorOffset();\r\n let y1 = yOffset;\r\n let loopOffset = 0;\r\n let loopWidth = 0;\r\n if (this.loopElement != null) {\r\n const layoutInfo2 = this.loopElement.getLayoutInfo();\r\n loopWidth = layoutInfo2.getWidth();\r\n maxWidth = Math.max(maxWidth, loopWidth);\r\n loopOffset = xOffset + 20 + Math.floor((maxWidth - loopWidth) / 2);\r\n yOffset2 += 5 + layoutInfo2.getHeight();\r\n y1 += layoutInfo2.getConnectorOffset();\r\n } else {\r\n yOffset2 += 15;\r\n y1 += 5;\r\n }\r\n const x1 = xOffset + 10;\r\n const x2 = xOffset + 20 + maxWidth + 10 + this.cardinalitiesWidth;\r\n const y2 = yOffset + connectorOffset;\r\n svgContent.addLineConnector(x1 - 10, y2, x1 + 10 + Math.floor((maxWidth - width1) / 2), y2);\r\n let loopPathStartX = x1 + 5;\r\n svgContent.addPathConnector(x1 + 5, y2, \"q-5 0-5-5\", x1, y2 - 5);\r\n svgContent.addLineConnector(x1, y2 - 5, x1, y1 + 5);\r\n svgContent.addPathConnector(x1, y1 + 5, \"q0-5 5-5\", x1 + 5, y1);\r\n if (this.loopElement != null) {\r\n svgContent.addLineConnector(x1 + 5, y1, loopOffset, y1);\r\n this.loopElement.toSVG(rrDiagramToSVG, loopOffset, yOffset, svgContent);\r\n loopPathStartX = loopOffset + loopWidth;\r\n }\r\n svgContent.addLineConnector(loopPathStartX, y1, x2 - 5, y1);\r\n svgContent.addPathConnector(x2 - 5, y1, \"q5 0 5 5\", x2, y1 + 5);\r\n svgContent.addLineConnector(x2, y1 + 5, x2, y2 - 5);\r\n svgContent.addPathConnector(x2, y2 - 5, \"q0 5-5 5\", x2 - 5, y2);\r\n if (this.cardinalitiesText != null) {\r\n svgContent.addElement(\"<text class=\\\"\" + escapeXml(rrDiagramToSVG.cssLoopCardinalitiesTextClass) + \"\\\" x=\\\"\" + (x2 - this.cardinalitiesWidth) + \"\\\" y=\\\"\" + (y2 - this.fontYOffset - 5) + \"\\\">\" + escapeXml(this.cardinalitiesText) + \"</text>\");\r\n }\r\n this.rrElement.toSVG(rrDiagramToSVG, xOffset + 20 + Math.floor((maxWidth - width1) / 2), yOffset2, svgContent);\r\n svgContent.addLineConnector(x2 - this.cardinalitiesWidth - 10 - Math.floor((maxWidth - width1) / 2), y2, xOffset + layoutInfo.getWidth(), y2);\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./ui/rrloop.js","import RRElement from './rrelement';\r\nimport LayoutInfo from './layoutinfo';\r\n\r\nexport default class RRSequence extends RRElement {\r\n\r\n\r\n /**\r\n * @param {(RRElement | RRElement[])} rrElements \r\n */\r\n constructor(rrElements) {\r\n super();\r\n if(arguments.length == 0) {\r\n rrElements = [];\r\n } else if(rrElements.constructor !== Array) {\r\n rrElements = arguments;\r\n }\r\n this.rrElements = rrElements;\r\n }\r\n\r\n getRRElements() {\r\n return this.rrElements;\r\n }\r\n\r\n computeLayoutInfo(rrDiagramToSVG) {\r\n let width = 0;\r\n let aboveConnector = 0;\r\n let belowConnector = 0;\r\n for (let i = 0; i < this.rrElements.length; i++) {\r\n const rrElement = this.rrElements[i];\r\n rrElement.computeLayoutInfo(rrDiagramToSVG);\r\n if (i > 0) {\r\n width += 10;\r\n }\r\n const layoutInfo = rrElement.getLayoutInfo();\r\n width += layoutInfo.getWidth();\r\n const height = layoutInfo.getHeight();\r\n const connectorOffset = layoutInfo.getConnectorOffset();\r\n aboveConnector = Math.max(aboveConnector, connectorOffset);\r\n belowConnector = Math.max(belowConnector, height - connectorOffset);\r\n }\r\n this.setLayoutInfo(new LayoutInfo(width, aboveConnector + belowConnector, aboveConnector));\r\n }\r\n\r\n toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\r\n const layoutInfo = this.getLayoutInfo();\r\n const connectorOffset = layoutInfo.getConnectorOffset();\r\n let widthOffset = 0;\r\n for (let i = 0; i < this.rrElements.length; i++) {\r\n const rrElement = this.rrElements[i];\r\n const layoutInfo2 = rrElement.getLayoutInfo();\r\n const width2 = layoutInfo2.getWidth();\r\n const connectorOffset2 = layoutInfo2.getConnectorOffset();\r\n const xOffset2 = widthOffset + xOffset;\r\n const yOffset2 = yOffset + connectorOffset - connectorOffset2;\r\n if (i > 0) {\r\n svgContent.addLineConnector(xOffset2 - 10, yOffset + connectorOffset, xOffset2, yOffset + connectorOffset);\r\n }\r\n rrElement.toSVG(rrDiagramToSVG, xOffset2, yOffset2, svgContent);\r\n widthOffset += 10;\r\n widthOffset += width2;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./ui/rrsequence.js","/**\r\n * @param {string} unsafe \r\n * @return {string}\r\n */\r\nexport function escapeXml(unsafe) {\r\n return unsafe.replace(/[<>&'\"]/g, function (c) {\r\n switch (c) {\r\n case '<': return '&lt;';\r\n case '>': return '&gt;';\r\n case '&': return '&amp;';\r\n case '\\'': return '&apos;';\r\n case '\"': return '&quot;';\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * @param {string} text\r\n * @param {string} fontCssClass\r\n * @return {{textWidth: number, textHeight: number, descent: number, height: number}}\r\n */\r\nexport function getFontInfo(text, fontCssClass) {\r\n // TODO: add caching of fontInfo per CssClass\r\n // Code inspired from: https://galactic.ink/journal/2011/01/html5-typographic-metrics/\r\n const container = document.body;\r\n const testDiv = document.createElement(\"div\");\r\n testDiv.className = fontCssClass;\r\n container.appendChild(testDiv);\r\n const computedStyle = window.getComputedStyle(testDiv, null);\r\n const fontSize = computedStyle.getPropertyValue('font-size');\r\n const fontFamily = computedStyle.getPropertyValue('font-family');\r\n container.removeChild(testDiv);\r\n const parent = document.createElement(\"div\");\r\n parent.style.fontFamily = fontFamily;\r\n parent.style.fontSize = fontSize;\r\n const image = document.createElement(\"img\");\r\n image.width = 1;\r\n image.height = 1;\r\n //image.src = \"./media/1x1.png\";\r\n image.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAAACklEQVR4nGP6DwABBQECz6AuzQAAAABJRU5ErkJggg==';\r\n const sampleHeight = 500;\r\n const textNode = document.createTextNode(text);\r\n parent.appendChild(textNode);\r\n parent.appendChild(image);\r\n container.appendChild(parent);\r\n // getting css equivalent of ctx.measureText()\r\n image.style.display = \"none\";\r\n parent.style.display = \"inline\";\r\n const textHeight = parent.offsetHeight;\r\n const textWidth = parent.offsetWidth;\r\n // making sure super-wide text stays in-bounds\r\n image.style.display = \"inline\";\r\n const forceWidth = textWidth + image.offsetWidth;\r\n // capturing the \"top\" and \"bottom\" baseline\r\n parent.style.cssText = \"margin: \" + sampleHeight + \"px 0; display: block; width: \" + forceWidth + \"px; white-space: nowrap; overflow: hidden; position: absolute; top: 0;\";\r\n parent.style.fontFamily = fontFamily;\r\n parent.style.fontSize = fontSize;\r\n const descent = textHeight - image.offsetTop;\r\n const height = parent.offsetHeight;\r\n const fontInfo = {\r\n textWidth,\r\n textHeight,\r\n descent,\r\n height,\r\n };\r\n container.removeChild(parent);\r\n return fontInfo;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./utils/utils.js","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_advance-string-index.js\n// module id = 85\n// module chunks = 0","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_array-fill.js\n// module id = 86\n// module chunks = 0","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_array-species-create.js\n// module id = 87\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_create-property.js\n// module id = 88\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_dom-create.js\n// module id = 89\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_enum-bug-keys.js\n// module id = 90\n// module chunks = 0","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_fails-is-regexp.js\n// module id = 91\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_html.js\n// module id = 92\n// module chunks = 0","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_inherit-if-required.js\n// module id = 93\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_is-array-iter.js\n// module id = 94\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_iter-create.js\n// module id = 95\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_iter-define.js\n// module id = 96\n// module chunks = 0","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_math-expm1.js\n// module id = 97\n// module chunks = 0","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_math-sign.js\n// module id = 98\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_microtask.js\n// module id = 99\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_new-promise-capability.js\n// module id = 100\n// module chunks = 0","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_regexp-exec.js\n// module id = 101\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_set-proto.js\n// module id = 102\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_shared-key.js\n// module id = 103\n// module chunks = 0","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_string-context.js\n// module id = 104\n// module chunks = 0","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_string-repeat.js\n// module id = 105\n// module chunks = 0","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_string-ws.js\n// module id = 106\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_task.js\n// module id = 107\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_typed-buffer.js\n// module id = 108\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_wks-define.js\n// module id = 109\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/core.get-iterator-method.js\n// module id = 110\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/es6.array.iterator.js\n// module id = 111\n// module chunks = 0","import Chunk from './chunk';\r\nimport Rule from './rule';\r\nimport Grammar from './grammar';\r\n\r\n/**\r\n * @param {string} name\r\n * @param {Chunk} chunk\r\n * @param {string} originalExpressionText\r\n */\r\nfunction createRule(name, chunk, originalExpressionText) {\r\n chunk.prune();\r\n const expression = chunk.getExpression();\r\n const rule = new Rule(name, expression, originalExpressionText);\r\n return rule;\r\n}\r\n\r\n/**\r\n * @param {Chunk} parentChunk\r\n * @param {function(): string} readNext\r\n * @param {string} stopChar\r\n * @return {string}\r\n */\r\nfunction loadExpression(parentChunk, readNext, stopChar) {\r\n const expressionTextSB = [];\r\n let lastChar = 0;\r\n const sb = [];\r\n let isFirst = true;\r\n let isInSpecialGroup = false;\r\n let specialGroupChar = 0;\r\n const isLiteral = parentChunk.getType() == Chunk.ChunkType.LITERAL;\r\n for (let c; (c = readNext()) != -1;) {\r\n expressionTextSB.push(c);\r\n if (isLiteral) {\r\n if (c == stopChar) {\r\n const s = sb.join(\"\");\r\n parentChunk.setText(s);\r\n return expressionTextSB.join(\"\");\r\n }\r\n sb.push(c);\r\n } else {\r\n if (isFirst && parentChunk.getType() == Chunk.ChunkType.GROUP) {\r\n switch (c) {\r\n case '*':\r\n isInSpecialGroup = true;\r\n specialGroupChar = c;\r\n break;\r\n case '?':\r\n isInSpecialGroup = true;\r\n specialGroupChar = c;\r\n break;\r\n }\r\n }\r\n isFirst = false;\r\n if (isInSpecialGroup) {\r\n if (c == ')' && lastChar == specialGroupChar) {\r\n // Mutate parent group\r\n switch (specialGroupChar) {\r\n case '*': parentChunk.setType(Chunk.ChunkType.COMMENT); break;\r\n case '?': parentChunk.setType(Chunk.ChunkType.SPECIAL_SEQUENCE); break;\r\n }\r\n let comment = sb.join(\"\");\r\n comment = comment.slice(1, comment.length - 1).trim();\r\n parentChunk.setText(comment);\r\n return expressionTextSB.join(\"\");\r\n }\r\n if (sb.length > 0 || !/\\s/.test(c)) {\r\n sb.push(c);\r\n }\r\n } else {\r\n if (c == stopChar) {\r\n const content = sb.join(\"\").trim();\r\n if (content.length > 0) {\r\n parentChunk.addChunk(new Chunk(Chunk.ChunkType.RULE, content));\r\n }\r\n return expressionTextSB.join(\"\");\r\n }\r\n switch (c) {\r\n case ',':\r\n case ' ':\r\n case '\\n':\r\n case '\\r':\r\n case '\\t': {\r\n const content = sb.join(\"\").trim();\r\n if (content.length > 0) {\r\n parentChunk.addChunk(new Chunk(Chunk.ChunkType.RULE, content));\r\n }\r\n sb.length = 0;\r\n // parentChunk.addChunk(new Chunk(Chunk.ChunkType.CONCATENATION));\r\n break;\r\n }\r\n case '|': {\r\n const content = sb.join(\"\").trim();\r\n if (content.length > 0) {\r\n parentChunk.addChunk(new Chunk(Chunk.ChunkType.RULE, content));\r\n }\r\n sb.length = 0;\r\n parentChunk.addChunk(new Chunk(Chunk.ChunkType.ALTERNATION));\r\n break;\r\n }\r\n case '*':\r\n case '+':\r\n case '?': {\r\n const content = sb.join(\"\").trim();\r\n if (content.length > 0) {\r\n parentChunk.addChunk(new Chunk(Chunk.ChunkType.RULE, content));\r\n }\r\n sb.length = 0;\r\n parentChunk.addChunk(new Chunk(Chunk.ChunkType.REPETITION_TOKEN, c));\r\n break;\r\n }\r\n case '\\\"': {\r\n const content = sb.join(\"\").trim();\r\n if (content.length > 0) {\r\n parentChunk.addChunk(new Chunk(Chunk.ChunkType.RULE, content));\r\n }\r\n sb.length = 0;\r\n const literalChunk = new Chunk(Chunk.ChunkType.LITERAL);\r\n const subExpressionText = loadExpression(literalChunk, readNext, '\\\"');\r\n expressionTextSB.push(subExpressionText);\r\n parentChunk.addChunk(literalChunk);\r\n break;\r\n }\r\n case '\\'': {\r\n const content = sb.join(\"\").trim();\r\n if (content.length > 0) {\r\n parentChunk.addChunk(new Chunk(Chunk.ChunkType.RULE, content));\r\n }\r\n sb.length = 0;\r\n const literalChunk = new Chunk(Chunk.ChunkType.LITERAL);\r\n const subExpressionText = loadExpression(literalChunk, readNext, '\\'');\r\n expressionTextSB.push(subExpressionText);\r\n parentChunk.addChunk(literalChunk);\r\n break;\r\n }\r\n case '(': {\r\n const content = sb.join(\"\").trim();\r\n if (content.length > 0) {\r\n parentChunk.addChunk(new Chunk(Chunk.ChunkType.RULE, content));\r\n }\r\n sb.length = 0;\r\n const groupChunk = new Chunk(Chunk.ChunkType.GROUP);\r\n const subExpressionText = loadExpression(groupChunk, readNext, ')');\r\n expressionTextSB.push(subExpressionText);\r\n parentChunk.addChunk(groupChunk);\r\n break;\r\n }\r\n case '[': {\r\n const content = sb.join(\"\").trim();\r\n if (content.length > 0) {\r\n parentChunk.addChunk(new Chunk(Chunk.ChunkType.RULE, content));\r\n }\r\n sb.length = 0;\r\n const optionChunk = new Chunk(Chunk.ChunkType.OPTION);\r\n const subExpressionText = loadExpression(optionChunk, readNext, ']');\r\n expressionTextSB.push(subExpressionText);\r\n parentChunk.addChunk(optionChunk);\r\n break;\r\n }\r\n case '{': {\r\n const content = sb.join(\"\").trim();\r\n if (content.length > 0) {\r\n parentChunk.addChunk(new Chunk(Chunk.ChunkType.RULE, content));\r\n }\r\n sb.length = 0;\r\n const repetitionChunk = new Chunk(Chunk.ChunkType.REPETITION);\r\n repetitionChunk.setMinCount(0);\r\n const subExpressionText = loadExpression(repetitionChunk, readNext, '}');\r\n expressionTextSB.push(subExpressionText);\r\n parentChunk.addChunk(repetitionChunk);\r\n break;\r\n }\r\n default: {\r\n if (sb.length > 0 || !/\\s/.test(c)) {\r\n sb.push(c);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n lastChar = c;\r\n }\r\n }\r\n return expressionTextSB.join(\"\");\r\n}\r\n\r\n\r\nexport default class BNFToGrammar {\r\n\r\n /**\r\n * @param {string} text \r\n * @return {Grammar}\r\n */\r\n convert(text) {\r\n const readNext = (function () {\r\n // all your code here\r\n let index = 0;\r\n return function () {\r\n if (index < text.length) {\r\n const char = text[index];\r\n index++;\r\n return char;\r\n }\r\n return -1;\r\n };\r\n })();\r\n const sb = [];\r\n const ruleList = [];\r\n for (let c; (c = readNext()) != -1;) {\r\n switch (c) {\r\n case '=': {\r\n const chunk = new Chunk(Chunk.ChunkType.GROUP);\r\n let expressionText = loadExpression(chunk, readNext, ';');\r\n if(expressionText.endsWith(\";\")) {\r\n expressionText = expressionText.slice(0, expressionText.length - 1);\r\n }\r\n let ruleName = sb.join(\"\");\r\n sb.length = 0;\r\n if (ruleName.endsWith(\":\")) {\r\n ruleName = ruleName.slice(0, ruleName.length - 1);\r\n if (ruleName.endsWith(\":\")) {\r\n ruleName = ruleName.slice(0, ruleName.length - 1);\r\n }\r\n }\r\n ruleName = ruleName.trim();\r\n const rule = createRule(ruleName, chunk, expressionText);\r\n ruleList.push(rule);\r\n break;\r\n }\r\n // Consider that '(' in rule name is start of a comment.\r\n case '(': {\r\n if (readNext() != '*') {\r\n throw \"Expecting start of a comment after '(' but could not find '*'!\";\r\n }\r\n let lastChar = 0;\r\n for (let c2; (c2 = readNext()) != -1;) {\r\n if (c2 == ')' && lastChar == '*') {\r\n break;\r\n }\r\n lastChar = c2;\r\n }\r\n break;\r\n }\r\n default: {\r\n if (!/\\s/.test(c) || sb.length > 0) {\r\n sb.push(c);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n return new Grammar(ruleList);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./model/bnftogrammar.js","import Expression from './expression';\r\nimport Sequence from './sequence';\r\nimport GrammarToRRDiagram from './grammartorrdiagram';\r\nimport RRElement from '../ui/rrelement';\r\nimport GrammarToBNF from './grammartobnf';\r\nimport RRChoice from '../ui/rrchoice';\r\n\r\nexport default class Choice extends Expression {\r\n\r\n /**\r\n * @param {Expression | Expression[]} expressions \r\n */\r\n constructor(expressions) {\r\n super();\r\n if (arguments.length == 0) {\r\n expressions = [];\r\n } else if (expressions.constructor !== Array) {\r\n expressions = arguments;\r\n }\r\n this.expressions = expressions;\r\n }\r\n\r\n /**\r\n * @return {Expression[]}\r\n */\r\n getExpressions() {\r\n return this.expressions;\r\n }\r\n\r\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\r\n toRRElement(grammarToRRDiagram) {\r\n const rrElements = [];\r\n for (let expression of this.expressions) {\r\n rrElements.push(expression.toRRElement(grammarToRRDiagram));\r\n }\r\n return new RRChoice(rrElements);\r\n }\r\n\r\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\r\n toBNF(grammarToBNF, sb, isNested) {\r\n const expressionList = [];\r\n let hasNoop = false;\r\n for (const expression of this.expressions) {\r\n if (expression instanceof Sequence && expression.getExpressions().length == 0) {\r\n hasNoop = true;\r\n } else {\r\n expressionList.push(expression);\r\n }\r\n }\r\n if (expressionList.length == 0) {\r\n sb.push(\"( )\");\r\n } else if (hasNoop && expressionList.length == 1) {\r\n const isUsingMultiplicationTokens = grammarToBNF.isUsingMultiplicationTokens;\r\n if (!isUsingMultiplicationTokens) {\r\n sb.push(\"[ \");\r\n }\r\n expressionList[0].toBNF(grammarToBNF, sb, isUsingMultiplicationTokens);\r\n if (!isUsingMultiplicationTokens) {\r\n sb.push(\" ]\");\r\n }\r\n } else {\r\n const isUsingMultiplicationTokens = grammarToBNF.isUsingMultiplicationTokens;\r\n if (hasNoop && !isUsingMultiplicationTokens) {\r\n sb.push(\"[ \");\r\n } else if (hasNoop || isNested && expressionList.length > 1) {\r\n sb.push(\"( \");\r\n }\r\n const count = expressionList.length;\r\n for (let i = 0; i < count; i++) {\r\n if (i > 0) {\r\n sb.push(\" | \");\r\n }\r\n expressionList[i].toBNF(grammarToBNF, sb, false);\r\n }\r\n if (hasNoop && !isUsingMultiplicationTokens) {\r\n sb.push(\" ]\");\r\n } else if (hasNoop || isNested && expressionList.length > 1) {\r\n sb.push(\" )\");\r\n if (hasNoop) {\r\n sb.push(\"?\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\r\n equals(o) {\r\n if(!(o instanceof Choice)) {\r\n return false;\r\n }\r\n if(this.expressions.length != o.expressions.length) {\r\n return false;\r\n }\r\n for (let i = 0; i < this.expressions.length; i++) {\r\n if(!this.expressions[i].equals(o.expressions[i])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./model/choice.js","import Expression from './expression';\r\nimport RRText from '../ui/rrtext';\r\nimport GrammarToRRDiagram from './grammartorrdiagram';\r\nimport RRElement from '../ui/rrelement';\r\nimport GrammarToBNF from './grammartobnf';\r\n\r\nexport default class SpecialSequence extends Expression {\r\n\r\n /**\r\n * @param {string} text \r\n */\r\n constructor(text) {\r\n super();\r\n this.text = text;\r\n }\r\n\r\n /**\r\n * @param {GrammarToRRDiagram} grammarToRRDiagram \r\n * @return {RRElement}\r\n */\r\n toRRElement(grammarToRRDiagram) {\r\n return new RRText(RRText.Type.SPECIAL_SEQUENCE, this.text, null);\r\n }\r\n\r\n /**\r\n * @param {GrammarToBNF} grammarToBNF \r\n * @param {string[]} sb \r\n * @param {boolean} isNested \r\n */\r\n toBNF(grammarToBNF, sb, isNested) {\r\n sb.push(\"(? \");\r\n sb.push(this.text);\r\n sb.push(\" ?)\");\r\n }\r\n\r\n /**\r\n * @param {*} o \r\n * @return {boolean}\r\n */\r\n equals(o) {\r\n if(!(o instanceof SpecialSequence)) {\r\n return false;\r\n }\r\n return this.text == o.text;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./model/specialsequence.js","import RRElement from './rrelement';\r\nimport LayoutInfo from './layoutinfo';\r\n\r\nexport default class RRLine extends RRElement {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n computeLayoutInfo(rrDiagramToSVG) {\r\n this.setLayoutInfo(new LayoutInfo(0, 10, 5));\r\n }\r\n\r\n toSVG(rrDiagramToSVG, xOffset, yOffset, svgContent) {\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./ui/rrline.js","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_a-number-value.js\n// module id = 116\n// module chunks = 0","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_array-copy-within.js\n// module id = 117\n// module chunks = 0","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_array-from-iterable.js\n// module id = 118\n// module chunks = 0","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_array-reduce.js\n// module id = 119\n// module chunks = 0","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_bind.js\n// module id = 120\n// module chunks = 0","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_collection-strong.js\n// module id = 121\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof');\nvar from = require('./_array-from-iterable');\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_collection-to-json.js\n// module id = 122\n// module chunks = 0","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_collection-weak.js\n// module id = 123\n// module chunks = 0","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar isArray = require('./_is-array');\nvar isObject = require('./_is-object');\nvar toLength = require('./_to-length');\nvar ctx = require('./_ctx');\nvar IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable');\n\nfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n var element, spreadable;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n spreadable = false;\n if (isObject(element)) {\n spreadable = element[IS_CONCAT_SPREADABLE];\n spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n }\n\n if (spreadable && depth > 0) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n}\n\nmodule.exports = flattenIntoArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_flatten-into-array.js\n// module id = 124\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_ie8-dom-define.js\n// module id = 125\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_invoke.js\n// module id = 126\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_is-integer.js\n// module id = 127\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_iter-call.js\n// module id = 128\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_iter-step.js\n// module id = 129\n// module chunks = 0","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_math-fround.js\n// module id = 130\n// module chunks = 0","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_math-log1p.js\n// module id = 131\n// module chunks = 0","// https://rwaldron.github.io/proposal-math-extensions/\nmodule.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {\n if (\n arguments.length === 0\n // eslint-disable-next-line no-self-compare\n || x != x\n // eslint-disable-next-line no-self-compare\n || inLow != inLow\n // eslint-disable-next-line no-self-compare\n || inHigh != inHigh\n // eslint-disable-next-line no-self-compare\n || outLow != outLow\n // eslint-disable-next-line no-self-compare\n || outHigh != outHigh\n ) return NaN;\n if (x === Infinity || x === -Infinity) return x;\n return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_math-scale.js\n// module id = 132\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-assign.js\n// module id = 133\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-dps.js\n// module id = 134\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-gopn-ext.js\n// module id = 135\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-keys-internal.js\n// module id = 136\n// module chunks = 0","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_object-to-array.js\n// module id = 137\n// module chunks = 0","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_own-keys.js\n// module id = 138\n// module chunks = 0","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_parse-float.js\n// module id = 139\n// module chunks = 0","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_parse-int.js\n// module id = 140\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_perform.js\n// module id = 141\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_promise-resolve.js\n// module id = 142\n// module chunks = 0","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_same-value.js\n// module id = 143\n// module chunks = 0","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_string-pad.js\n// module id = 144\n// module chunks = 0","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_to-index.js\n// module id = 145\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/_wks-ext.js\n// module id = 146\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/es6.map.js\n// module id = 147\n// module chunks = 0","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/es6.regexp.exec.js\n// module id = 148\n// module chunks = 0","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/es6.regexp.flags.js\n// module id = 149\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/es6.set.js\n// module id = 150\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/core-js/modules/es6.weak-map.js\n// module id = 151\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/webpack/buildin/global.js\n// module id = 152\n// module chunks = 0","import BNFDisplay from './bnfdisplay/BNFDisplay';\r\n\r\nimport BNFToGrammar from './model/bnftogrammar';\r\nimport Choice from './model/choice';\r\nimport Grammar from './model/grammar';\r\nimport GrammarToBNF from './model/grammartobnf';\r\nimport GrammarToRRDiagram from './model/grammartorrdiagram';\r\nimport Literal from './model/literal';\r\nimport Repetition from './model/repetition';\r\nimport Rule from './model/rule';\r\nimport RuleReference from './model/rulereference';\r\nimport Sequence from './model/sequence';\r\nimport SpecialSequence from './model/specialsequence';\r\n\r\nimport RRBreak from './ui/rrbreak';\r\nimport RRChoice from './ui/rrchoice';\r\nimport RRDiagram from './ui/rrdiagram';\r\nimport RRDiagramToSVG from './ui/rrdiagramtosvg';\r\nimport RRLine from './ui/rrline';\r\nimport RRLoop from './ui/rrloop';\r\nimport RRSequence from './ui/rrsequence';\r\nimport RRText from './ui/rrtext';\r\n\r\n\r\nexport const bnfdisplay = {\r\n BNFDisplay,\r\n}\r\n\r\nexport const model = {\r\n BNFToGrammar,\r\n Choice,\r\n Grammar,\r\n GrammarToBNF,\r\n GrammarToRRDiagram,\r\n Literal,\r\n Repetition,\r\n Rule,\r\n RuleReference,\r\n Sequence,\r\n SpecialSequence,\r\n}\r\n\r\nexport const ui = {\r\n RRBreak,\r\n RRChoice,\r\n RRDiagram,\r\n RRDiagramToSVG,\r\n RRLine,\r\n RRLoop,\r\n RRSequence,\r\n RRText,\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./main.js","\"use strict\";\n\nrequire(\"core-js/shim\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nrequire(\"core-js/fn/regexp/escape\");\n\nif (global._babelPolyfill) {\n throw new Error(\"only one instance of babel-polyfill is allowed\");\n}\nglobal._babelPolyfill = true;\n\nvar DEFINE_PROPERTY = \"defineProperty\";\nfunction define(O, key, value) {\n O[key] || Object[DEFINE_PROPERTY](O, key, {\n writable: true,\n configurable: true,\n value: value\n });\n}\n\ndefine(String.prototype, \"padLeft\", \"\".padStart);\ndefine(String.prototype, \"padRight\", \"\".padEnd);\n\n\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n [][key] && define(Array, key, Function.call.bind([][key]));\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/babel-polyfill/lib/index.js\n// module id = 154\n// module chunks = 0","import BNFToGrammar from '../model/bnftogrammar';\r\nimport GrammarToRRDiagram from '../model/grammartorrdiagram';\r\nimport RRDiagramToSVG from '../ui/rrdiagramtosvg';\r\n\r\nexport default class BNFDisplay {\r\n\r\n constructor() {\r\n this.bnfToGrammar = new BNFToGrammar();\r\n this.grammarToRRDiagram = new GrammarToRRDiagram();\r\n this.grammarToRRDiagram.ruleConsideredAsLineBreak = \"\\\\\";\r\n this.rrDiagramToSVG = new RRDiagramToSVG();\r\n }\r\n\r\n /**\r\n * @return {BNFToGrammar}\r\n */\r\n getBNFToGrammar() {\r\n return this.bnfToGrammar;\r\n }\r\n\r\n /**\r\n * @return {GrammarToRRDiagram}\r\n */\r\n getGrammarToRRDiagram() {\r\n return this.grammarToRRDiagram;\r\n }\r\n\r\n /**\r\n * @return {RRDiagramToSVG}\r\n */\r\n getRRDiagramToSVG() {\r\n return this.rrDiagramToSVG;\r\n }\r\n\r\n /**\r\n * @param {string} className\r\n * @param {string} newClassName\r\n */\r\n replaceBNF(className, newClassName) {\r\n const elements = Array.from(document.getElementsByClassName(className));\r\n for (const element of elements) {\r\n if(element.tagName.toLowerCase() === 'pre') {\r\n const newElement = document.createElement('div');\r\n // Give a dummy rule definition to satisfy parser.\r\n const bnf = element.innerHTML;\r\n const grammar = this.bnfToGrammar.convert('a = ' + bnf);\r\n const rules = grammar.getRules();\r\n if(rules.length == 1) {\r\n const rule = rules[0];\r\n const rrDiagram = this.grammarToRRDiagram.convert(rule);\r\n const svg = this.rrDiagramToSVG.convert(rrDiagram);\r\n const svgContainer = document.createElement('div');\r\n svgContainer.className = newClassName;\r\n svgContainer.innerHTML = svg;\r\n newElement.appendChild(svgContainer);\r\n } else {\r\n newElement.appendChild(document.createTextNode('Error while loading BNF: ' + bnf));\r\n }\r\n element.parentElement.replaceChild(newElement, element);\r\n }\r\n }\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./bnfdisplay/BNFDisplay.js","import Sequence from './sequence';\r\nimport SpecialSequence from './specialsequence';\r\nimport Repetition from './repetition';\r\nimport RuleReference from './rulereference';\r\nimport Choice from './choice';\r\nimport Literal from './literal';\r\nimport Expression from './expression';\r\n\r\n\r\nconst ChunkType = {\r\n RULE: 'RULE',\r\n REPETITION_TOKEN: 'REPETITION_TOKEN',\r\n // CONCATENATION: 'CONCATENATION',\r\n ALTERNATION: 'ALTERNATION',\r\n GROUP: 'GROUP',\r\n COMMENT: 'COMMENT',\r\n SPECIAL_SEQUENCE: 'SPECIAL_SEQUENCE',\r\n LITERAL: 'LITERAL',\r\n OPTION: 'OPTION',\r\n REPETITION: 'REPETITION',\r\n CHOICE: 'CHOICE',\r\n};\r\n\r\n/**\r\n * @param {Expression} expression \r\n * @return {boolean}\r\n */\r\nfunction isNoop(expression) {\r\n return expression instanceof Sequence && expression.getExpressions().length == 0;\r\n}\r\n\r\nexport default class Chunk {\r\n\r\n static get ChunkType() {\r\n return ChunkType;\r\n }\r\n\r\n constructor(type, text) {\r\n this.type = type;\r\n this.text = text;\r\n this.minCount = 0;\r\n this.maxCount = null;\r\n this.chunkList = null;\r\n }\r\n\r\n getType() {\r\n return this.type;\r\n }\r\n\r\n setType(type) {\r\n this.type = type;\r\n }\r\n\r\n setText(text) {\r\n this.text = text;\r\n }\r\n\r\n setMinCount(minCount) {\r\n this.minCount = minCount;\r\n }\r\n\r\n setMaxCount(maxCount) {\r\n this.maxCount = maxCount;\r\n }\r\n\r\n addChunk(chunk) {\r\n if (this.chunkList == null) {\r\n this.chunkList = [];\r\n }\r\n this.chunkList.push(chunk);\r\n }\r\n\r\n prune() {\r\n let hasAlternation = false;\r\n for (let i = this.chunkList.length - 1; i >= 0; i--) {\r\n const chunk = this.chunkList[i];\r\n switch (chunk.getType()) {\r\n case ChunkType.REPETITION_TOKEN: {\r\n if (\"*\" === chunk.text) {\r\n this.chunkList.splice(i, 1);\r\n const previousChunk = this.chunkList[i - 1];\r\n let multiplier = null;\r\n // Case of: 3 * expression\r\n if (previousChunk.getType() == ChunkType.RULE) {\r\n multiplier = +previousChunk.text;\r\n if(isNaN(multiplier)) {\r\n multiplier = null;\r\n }\r\n }\r\n if (multiplier != null) {\r\n // The current one is removed, so next one is at index i.\r\n const nextChunk = this.chunkList[i];\r\n if (nextChunk.getType() == ChunkType.OPTION) {\r\n const newChunk = new Chunk(ChunkType.REPETITION);\r\n newChunk.setMinCount(0);\r\n newChunk.setMaxCount(multiplier);\r\n for (const c of nextChunk.chunkList) {\r\n newChunk.addChunk(c);\r\n }\r\n this.chunkList.splice(i, 1);\r\n this.chunkList[i - 1] = newChunk;\r\n } else {\r\n const newChunk = new Chunk(ChunkType.REPETITION);\r\n newChunk.setMinCount(multiplier);\r\n newChunk.setMaxCount(multiplier);\r\n newChunk.addChunk(nextChunk);\r\n this.chunkList.splice(i, 1);\r\n this.chunkList[i - 1] = newChunk;\r\n }\r\n } else {\r\n const newChunk = new Chunk(ChunkType.REPETITION);\r\n newChunk.setMinCount(0);\r\n newChunk.addChunk(previousChunk);\r\n this.chunkList[i - 1] = newChunk;\r\n }\r\n } else if (\"+\" === chunk.text) {\r\n this.chunkList.splice(i, 1);\r\n const newChunk = new Chunk(ChunkType.REPETITION);\r\n newChunk.setMinCount(1);\r\n const previousChunk = this.chunkList[i - 1];\r\n newChunk.addChunk(previousChunk);\r\n this.chunkList[i - 1] = newChunk;\r\n } else if (\"?\" === chunk.text) {\r\n this.chunkList.splice(i, 1);\r\n const newChunk = new Chunk(ChunkType.OPTION);\r\n const previousChunk = this.chunkList[i - 1];\r\n newChunk.addChunk(previousChunk);\r\n this.chunkList[i - 1] = newChunk;\r\n }\r\n break;\r\n }\r\n case ChunkType.COMMENT: {\r\n // For now, nothing to do\r\n this.chunkList.splice(i, 1);\r\n }\r\n case ChunkType.ALTERNATION: {\r\n hasAlternation = true;\r\n break;\r\n }\r\n case ChunkType.GROUP: {\r\n // Group could be empty\r\n if (chunk.chunkList != null) {\r\n chunk.prune();\r\n if (chunk.chunkList.length == 1) {\r\n this.chunkList[i] = chunk.chunkList[0];\r\n }\r\n }\r\n break;\r\n }\r\n case ChunkType.OPTION:\r\n case ChunkType.REPETITION: {\r\n chunk.prune();\r\n break;\r\n }\r\n }\r\n }\r\n if (hasAlternation) {\r\n const alternationSequenceList = [];\r\n alternationSequenceList.push([]);\r\n for (const chunk of this.chunkList) {\r\n if (chunk.getType() == ChunkType.ALTERNATION) {\r\n alternationSequenceList.push([]);\r\n } else {\r\n const list = alternationSequenceList[alternationSequenceList.length - 1];\r\n list.push(chunk);\r\n }\r\n }\r\n const choiceChunk = new Chunk(ChunkType.CHOICE);\r\n for (const subList of alternationSequenceList) {\r\n if (subList.length == 1) {\r\n choiceChunk.addChunk(subList[0]);\r\n } else {\r\n const groupChunk = new Chunk(ChunkType.GROUP);\r\n for (const c of subList) {\r\n groupChunk.addChunk(c);\r\n }\r\n choiceChunk.addChunk(groupChunk);\r\n }\r\n }\r\n this.chunkList.length = 0;\r\n this.chunkList.push(choiceChunk);\r\n }\r\n }\r\n\r\n getExpression() {\r\n switch (this.type) {\r\n case ChunkType.GROUP: {\r\n if (this.chunkList == null) {\r\n // Group is empty.\r\n return new Sequence();\r\n }\r\n if (this.chunkList.length == 1) {\r\n return this.chunkList[0].getExpression();\r\n }\r\n const expressionList = [];\r\n for (const chunk of this.chunkList) {\r\n expressionList.push(chunk.getExpression());\r\n }\r\n return new Sequence(expressionList);\r\n }\r\n case ChunkType.CHOICE: {\r\n if (this.chunkList.length == 1) {\r\n return this.chunkList[0].getExpression();\r\n }\r\n const expressionList = [];\r\n let hasLine = false;\r\n for (const chunk of this.chunkList) {\r\n let expression = chunk.getExpression();\r\n if (expression instanceof Repetition) {\r\n const repetition = expression;\r\n if (repetition.getMinRepetitionCount() == 0) {\r\n if (repetition.getMaxRepetitionCount() == null || repetition.getMaxRepetitionCount() != 1) {\r\n expression = new Repetition(repetition.getExpression(), 1, repetition.getMaxRepetitionCount());\r\n } else {\r\n expression = repetition.getExpression();\r\n }\r\n hasLine = true;\r\n }\r\n }\r\n if (expression instanceof Choice) {\r\n for (const exp of expression.getExpressions()) {\r\n expressionList.push(exp);\r\n }\r\n } else {\r\n expressionList.push(expression);\r\n }\r\n }\r\n if (hasLine && (expressionList.length == 0 || !isNoop(expressionList[expressionList.length - 1]))) {\r\n expressionList.push(new Sequence());\r\n }\r\n return new Choice(expressionList);\r\n }\r\n case ChunkType.RULE: {\r\n return new RuleReference(this.text);\r\n }\r\n case ChunkType.LITERAL: {\r\n return new Literal(this.text);\r\n }\r\n case ChunkType.SPECIAL_SEQUENCE: {\r\n return new SpecialSequence(this.text);\r\n }\r\n case ChunkType.OPTION: {\r\n if (this.chunkList.length == 1) {\r\n const subChunk = this.chunkList[0];\r\n if (subChunk.getType() == ChunkType.CHOICE) {\r\n const newChunk = new Chunk(ChunkType.CHOICE);\r\n for (const cChunk of subChunk.chunkList) {\r\n newChunk.addChunk(cChunk);\r\n }\r\n newChunk.addChunk(new Chunk(ChunkType.GROUP));\r\n return newChunk.getExpression();\r\n }\r\n return new Repetition(subChunk.getExpression(), 0, 1);\r\n }\r\n const expressionList = [];\r\n for (const chunk of this.chunkList) {\r\n expressionList.push(chunk.getExpression());\r\n }\r\n return new Repetition(new Sequence(expressionList), 0, 1);\r\n }\r\n case ChunkType.REPETITION: {\r\n if (this.chunkList.length == 1) {\r\n return new Repetition(this.chunkList[0].getExpression(), this.minCount, this.maxCount);\r\n }\r\n const expressionList = [];\r\n for (const chunk of this.chunkList) {\r\n expressionList.push(chunk.getExpression());\r\n }\r\n return new Repetition(new Sequence(expressionList), this.minCount, this.maxCount);\r\n }\r\n }\r\n throw \"Type should not be reachable: \" + this.type;\r\n }\r\n\r\n toString() {\r\n let s = \"\" + this.type;\r\n if (this.text != null) {\r\n s += \" (\" + this.text + \")\";\r\n }\r\n return s;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./model/chunk.js","import {escapeXml} from '../../utils/utils';\r\nimport SvgLine from './svgline';\r\nimport SvgPath from './svgpath';\r\n\r\nexport default class SvgContent {\r\n\r\n constructor() {\r\n this.connectorList = [];\r\n this.elements = [];\r\n }\r\n\r\n addPathConnector(x1, y1, path, x2, y2) {\r\n const c = this.connectorList.length == 0 ? null : this.connectorList[this.connectorList.length - 1];\r\n if (c != null) {\r\n if (c instanceof SvgPath) {\r\n c.addPath(new SvgPath(x1, y1, path, x2, y2));\r\n } else {\r\n const svgLine = c;\r\n const x1_ = svgLine.getX1();\r\n const y1_ = svgLine.getY1();\r\n const x2_ = svgLine.getX2();\r\n const y2_ = svgLine.getY2();\r\n if (x1_ == x2_ && x1 == x1_) {\r\n if (y2_ == y1 - 1) {\r\n svgLine.mergeLine(x1_, y1_, x2_, y2_ + 1);\r\n } else if (y1_ == y1 + 1) {\r\n svgLine.mergeLine(x1_, y1_ - 1, x2_, y2_);\r\n }\r\n } else if (y1_ == y2_ && y1 == y1_) {\r\n if (x2_ == x1 - 1) {\r\n svgLine.mergeLine(x1_, y1_, x2_ + 1, y2_);\r\n } else if (x1_ == x1 + 1) {\r\n svgLine.mergeLine(x1_ - 1, y1_, x2_, y2_);\r\n }\r\n }\r\n this.connectorList.push(new SvgPath(x1, y1, path, x2, y2));\r\n }\r\n } else {\r\n this.connectorList.push(new SvgPath(x1, y1, path, x2, y2));\r\n }\r\n }\r\n\r\n addLineConnector(x1, y1, x2, y2) {\r\n const x1_ = Math.min(x1, x2);\r\n const y1_ = Math.min(y1, y2);\r\n const x2_ = Math.max(x1, x2);\r\n const y2_ = Math.max(y1, y2);\r\n const c = this.connectorList.length == 0 ? null : this.connectorList[this.connectorList.length - 1];\r\n if (c == null || !(c instanceof SvgLine) || !c.mergeLine(x1_, y1_, x2_, y2_)) {\r\n this.connectorList.push(new SvgLine(x1_, y1_, x2_, y2_));\r\n }\r\n }\r\n\r\n getConnectorElement(rrDiagramToSVG) {\r\n if (this.connectorList.length == 0) {\r\n return \"\";\r\n }\r\n let path0 = null;\r\n for (let connector of this.connectorList) {\r\n if (path0 == null) {\r\n if (connector instanceof SvgPath) {\r\n path0 = connector;\r\n } else {\r\n const svgLine = connector;\r\n const x1 = svgLine.getX1();\r\n const y1 = svgLine.getY1();\r\n path0 = new SvgPath(x1, y1, \"M\" + x1 + (y1 < 0 ? y1 : \" \" + y1), x1, y1);\r\n path0.addLine(svgLine);\r\n }\r\n } else {\r\n if(connector instanceof SvgPath) {\r\n path0.addPath(connector);\r\n } else {\r\n path0.addLine(connector);\r\n }\r\n }\r\n }\r\n return \"<path class=\\\"\" + escapeXml(rrDiagramToSVG.cssConnectorClass) + \"\\\" d=\\\"\" + path0.getPath() + \"\\\"/>\";\r\n }\r\n\r\n addElement(element) {\r\n this.elements.push(element);\r\n }\r\n\r\n getElements() {\r\n return this.elements;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./ui/svg/svgcontent.js","export default class svgline {\r\n\r\n constructor(x1, y1, x2, y2) {\r\n this.x1 = x1;\r\n this.y1 = y1;\r\n this.x2 = x2;\r\n this.y2 = y2;\r\n }\r\n\r\n getX1() {\r\n return this.x1;\r\n }\r\n\r\n getY1() {\r\n return this.y1;\r\n }\r\n\r\n getX2() {\r\n return this.x2;\r\n }\r\n\r\n getY2() {\r\n return this.y2;\r\n }\r\n\r\n mergeLine(x1, y1, x2, y2) {\r\n if (x1 == x2 && this.x1 == this.x2 && x1 == this.x1) {\r\n if (y2 >= this.y1 - 1 && y1 <= this.y2 + 1) {\r\n this.y1 = Math.min(this.y1, y1);\r\n this.y2 = Math.max(this.y2, y2);\r\n return true;\r\n }\r\n } else if (y1 == y2 && this.y1 == this.y2 && y1 == this.y1) {\r\n if (x2 >= this.x1 - 1 && x1 <= this.x2 + 1) {\r\n this.x1 = Math.min(this.x1, x1);\r\n this.x2 = Math.max(this.x2, x2);\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./ui/svg/svgline.js","export default class SvgPath {\r\n\r\n constructor(startX, startY, path, endX, endY) {\r\n this.pathSB = [];\r\n this.startX = startX;\r\n this.startY = startY;\r\n this.pathSB.push(path);\r\n this.endX = endX;\r\n this.endY = endY;\r\n }\r\n\r\n addPath(svgPath) {\r\n const x1 = svgPath.startX;\r\n const y1 = svgPath.startY;\r\n (…)
[all...]
/plugin/abc2/abc-libraries/abcjs/
H A Dabcjs_plugin-midi_6.0.0-beta.25-min.js3 !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.abcjs=t():e.ABCJS=t()}(this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=27)}([function(e,t){var n={clone:function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t},cloneArray:function(e){for(var t=[],r=0;r<e.length;r++)t.push(n.clone(e[r]));return t},cloneHashOfHash:function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=n.clone(e[r]));return t},cloneHashOfArrayOfHash:function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=n.cloneArray(e[r]));return t},gsub:function(e,t,n){return e.split(t).join(n)},strip:function(e){return e.replace(/^\s+/,"").replace(/\s+$/,"")},startsWith:function(e,t){return 0===e.indexOf(t)},endsWith:function(e,t){var n=e.length-t.length;return n>=0&&e.lastIndexOf(t)===n},each:function(e,t,n){for(var r=0,i=e.length;r<i;r++)t.apply(n,[e[r],r])},last:function(e){return 0===e.length?null:e[e.length-1]},compact:function(e){for(var t=[],n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t},detect:function(e,t){for(var n=0;n<e.length;n++)if(t(e[n]))return!0;return!1}};try{[Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach((function(e){e.hasOwnProperty("remove")||Object.defineProperty(e,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){null!==this.parentNode&&this.parentNode.removeChild(this)}})}))}catch(e){}e.exports=n},function(e,t){var n={FONTEM:360,FONTSIZE:30};n.STEP=93*n.FONTSIZE/720,n.SPACE=10,n.TOPNOTE=15,n.STAVEHEIGHT=100,n.INDENT=50,e.exports=n},function(e,t){var n=function(e,t,n,r,i){switch(i=i||{},this.x=0,this.c=e,this.dx=t,this.w=n,this.pitch=r,this.scalex=i.scalex||1,this.scaley=i.scaley||1,this.type=i.type||"symbol",this.pitch2=i.pitch2,this.linewidth=i.linewidth,this.klass=i.klass,this.top=r,void 0!==this.pitch2&&this.pitch2>this.top&&(this.top=this.pitch2),this.bottom=r,void 0!==this.pitch2&&this.pitch2<this.bottom&&(this.bottom=this.pitch2),i.thickness&&(this.top+=i.thickness/2,this.bottom-=i.thickness/2),i.stemHeight&&(i.stemHeight>0?this.top+=i.stemHeight:this.bottom+=i.stemHeight),i.dim&&(this.dim=i.dim),i.position&&(this.position=i.position),this.height=i.height?i.height:4,i.top&&(this.top=i.top),i.bottom&&(this.bottom=i.bottom),i.realWidth?this.realWidth=i.realWidth:this.realWidth=this.w,this.centerVertically=!1,this.type){case"debug":this.chordHeightAbove=this.height;break;case"lyric":i.position&&"below"===i.position?this.lyricHeightBelow=this.height:this.lyricHeightAbove=this.height;break;case"chord":i.position&&"below"===i.position?this.chordHeightBelow=this.height:this.chordHeightAbove=this.height;break;case"text":void 0===this.pitch?i.position&&"below"===i.position?this.chordHeightBelow=this.height:this.chordHeightAbove=this.height:this.centerVertically=!0;break;case"part":this.partHeightAbove=this.height}};n.prototype.getChordDim=function(){if("debug"===this.type)return null;if(!this.chordHeightAbove&&!this.chordHeightBelow)return null;var e=this.dim.font.size/4;1===this.c.length&&(e/=2);var t="chord"===this.type?this.realWidth/2:0,n=this.x-t-e;return{left:n,right:n+this.realWidth+e}},n.prototype.invertLane=function(e){void 0===this.lane&&(this.lane=0),this.lane=e-this.lane-1},n.prototype.putChordInLane=function(e){this.lane=e,this.chordHeightAbove?this.chordHeightAbove=1.25*this.height*this.lane:this.chordHeightBelow=1.25*this.height*this.lane},n.prototype.getLane=function(){return void 0===this.lane?0:this.lane},n.prototype.setX=function(e){this.x=e+this.dx},e.exports=n},function(e,t){e.exports=function(e){return parseFloat(e.toFixed(2))}},function(e,t,n){var r=n(3);e.exports=function(e,t){var n,i=t.y;if(t.lane){var a=.25*t.dim.font.size;i+=(t.dim.font.size+a)*t.lane}t.dim?(n=t.dim).attr.class=t.klass:n=e.controller.getFontAndAttr.calc(t.type,t.klass),t.anchor&&(n.attr["text-anchor"]=t.anchor),n.attr.x=t.x,n.attr.y=i,t.centerVertically||(n.attr.y+=n.font.size),"debugfont"===t.type&&(console.log("Debug msg: "+t.text),n.attr.stroke="#ff0000");var s=t.text.replace(/\n\n/g,"\n \n");s=s.replace(/^\n/," \n"),n.font.box&&(e.paper.openGroup({klass:n.attr.class,fill:"#000000"}),"end"===n.attr["text-anchor"]?n.attr.x-=n.font.padding:"start"===n.attr["text-anchor"]&&(n.attr.x+=n.font.padding),n.attr.y+=n.font.padding,delete n.attr.class),t.noClass&&delete n.attr.class,n.attr.x=r(n.attr.x),n.attr.y=r(n.attr.y);var o=e.paper.text(s,n.attr);if(n.font.box){var c=o.getBBox(),l=0;"middle"===n.attr["text-anchor"]?l=c.width/2+n.font.padding:"end"===n.attr["text-anchor"]&&(l=c.width+2*n.font.padding);var h=0;t.centerVertically&&(h=c.height-n.font.padding),e.paper.rect({x:Math.round(t.x-l),y:Math.round(i-h),width:Math.round(c.width+2*n.font.padding),height:Math.round(c.height+2*n.font.padding)}),o=e.paper.closeGroup()}return o}},function(e,t,n){var r=n(1),i={0:{d:[["M",4.83,-14.97],["c",.33,-.03,1.11,0,1.47,.06],["c",1.68,.36,2.97,1.59,3.78,3.6],["c",1.2,2.97,.81,6.96,-.9,9.27],["c",-.78,1.08,-1.71,1.71,-2.91,1.95],["c",-.45,.09,-1.32,.09,-1.77,0],["c",-.81,-.18,-1.47,-.51,-2.07,-1.02],["c",-2.34,-2.07,-3.15,-6.72,-1.74,-10.2],["c",.87,-2.16,2.28,-3.42,4.14,-3.66],["z"],["m",1.11,.87],["c",-.21,-.06,-.69,-.09,-.87,-.06],["c",-.54,.12,-.87,.42,-1.17,.99],["c",-.36,.66,-.51,1.56,-.6,3],["c",-.03,.75,-.03,4.59,0,5.31],["c",.09,1.5,.27,2.4,.6,3.06],["c",.24,.48,.57,.78,.96,.9],["c",.27,.09,.78,.09,1.05,0],["c",.39,-.12,.72,-.42,.96,-.9],["c",.33,-.66,.51,-1.56,.6,-3.06],["c",.03,-.72,.03,-4.56,0,-5.31],["c",-.09,-1.47,-.27,-2.37,-.6,-3.03],["c",-.24,-.48,-.54,-.78,-.93,-.9],["z"]],w:10.78,h:14.959},1:{d:[["M",3.3,-15.06],["c",.06,-.06,.21,-.03,.66,.15],["c",.81,.39,1.08,.39,1.83,.03],["c",.21,-.09,.39,-.15,.42,-.15],["c",.12,0,.21,.09,.27,.21],["c",.06,.12,.06,.33,.06,5.94],["c",0,3.93,0,5.85,.03,6.03],["c",.06,.36,.15,.69,.27,.96],["c",.36,.75,.93,1.17,1.68,1.26],["c",.3,.03,.39,.09,.39,.3],["c",0,.15,-.03,.18,-.09,.24],["c",-.06,.06,-.09,.06,-.48,.06],["c",-.42,0,-.69,-.03,-2.1,-.24],["c",-.9,-.15,-1.77,-.15,-2.67,0],["c",-1.41,.21,-1.68,.24,-2.1,.24],["c",-.39,0,-.42,0,-.48,-.06],["c",-.06,-.06,-.06,-.09,-.06,-.24],["c",0,-.21,.06,-.27,.36,-.3],["c",.75,-.09,1.32,-.51,1.68,-1.26],["c",.12,-.27,.21,-.6,.27,-.96],["c",.03,-.18,.03,-1.59,.03,-4.29],["c",0,-3.87,0,-4.05,-.06,-4.14],["c",-.09,-.15,-.18,-.24,-.39,-.24],["c",-.12,0,-.15,.03,-.21,.06],["c",-.03,.06,-.45,.99,-.96,2.13],["c",-.48,1.14,-.9,2.1,-.93,2.16],["c",-.06,.15,-.21,.24,-.33,.24],["c",-.24,0,-.42,-.18,-.42,-.39],["c",0,-.06,3.27,-7.62,3.33,-7.74],["z"]],w:8.94,h:15.058},2:{d:[["M",4.23,-14.97],["c",.57,-.06,1.68,0,2.34,.18],["c",.69,.18,1.5,.54,2.01,.9],["c",1.35,.96,1.95,2.25,1.77,3.81],["c",-.15,1.35,-.66,2.34,-1.68,3.15],["c",-.6,.48,-1.44,.93,-3.12,1.65],["c",-1.32,.57,-1.8,.81,-2.37,1.14],["c",-.57,.33,-.57,.33,-.24,.27],["c",.39,-.09,1.26,-.09,1.68,0],["c",.72,.15,1.41,.45,2.1,.9],["c",.99,.63,1.86,.87,2.55,.75],["c",.24,-.06,.42,-.15,.57,-.3],["c",.12,-.09,.3,-.42,.3,-.51],["c",0,-.09,.12,-.21,.24,-.24],["c",.18,-.03,.39,.12,.39,.3],["c",0,.12,-.15,.57,-.3,.87],["c",-.54,1.02,-1.56,1.74,-2.79,2.01],["c",-.42,.09,-1.23,.09,-1.62,.03],["c",-.81,-.18,-1.32,-.45,-2.01,-1.11],["c",-.45,-.45,-.63,-.57,-.96,-.69],["c",-.84,-.27,-1.89,.12,-2.25,.9],["c",-.12,.21,-.21,.54,-.21,.72],["c",0,.12,-.12,.21,-.27,.24],["c",-.15,0,-.27,-.03,-.33,-.15],["c",-.09,-.21,.09,-1.08,.33,-1.71],["c",.24,-.66,.66,-1.26,1.29,-1.89],["c",.45,-.45,.9,-.81,1.92,-1.56],["c",1.29,-.93,1.89,-1.44,2.34,-1.98],["c",.87,-1.05,1.26,-2.19,1.2,-3.63],["c",-.06,-1.29,-.39,-2.31,-.96,-2.91],["c",-.36,-.33,-.72,-.51,-1.17,-.54],["c",-.84,-.03,-1.53,.42,-1.59,1.05],["c",-.03,.33,.12,.6,.57,1.14],["c",.45,.54,.54,.87,.42,1.41],["c",-.15,.63,-.54,1.11,-1.08,1.38],["c",-.63,.33,-1.2,.33,-1.83,0],["c",-.24,-.12,-.33,-.18,-.54,-.39],["c",-.18,-.18,-.27,-.3,-.36,-.51],["c",-.24,-.45,-.27,-.84,-.21,-1.38],["c",.12,-.75,.45,-1.41,1.02,-1.98],["c",.72,-.72,1.74,-1.17,2.85,-1.32],["z"]],w:10.764,h:14.97},3:{d:[["M",3.78,-14.97],["c",.3,-.03,1.41,0,1.83,.06],["c",2.22,.3,3.51,1.32,3.72,2.91],["c",.03,.33,.03,1.26,-.03,1.65],["c",-.12,.84,-.48,1.47,-1.05,1.77],["c",-.27,.15,-.36,.24,-.45,.39],["c",-.09,.21,-.09,.36,0,.57],["c",.09,.15,.18,.24,.51,.39],["c",.75,.42,1.23,1.14,1.41,2.13],["c",.06,.42,.06,1.35,0,1.71],["c",-.18,.81,-.48,1.38,-1.02,1.95],["c",-.75,.72,-1.8,1.2,-3.18,1.38],["c",-.42,.06,-1.56,.06,-1.95,0],["c",-1.89,-.33,-3.18,-1.29,-3.51,-2.64],["c",-.03,-.12,-.03,-.33,-.03,-.6],["c",0,-.36,0,-.42,.06,-.63],["c",.12,-.3,.27,-.51,.51,-.75],["c",.24,-.24,.45,-.39,.75,-.51],["c",.21,-.06,.27,-.06,.6,-.06],["c",.33,0,.39,0,.6,.06],["c",.3,.12,.51,.27,.75,.51],["c",.36,.33,.57,.75,.6,1.2],["c",0,.21,0,.27,-.06,.42],["c",-.09,.18,-.12,.24,-.54,.54],["c",-.51,.36,-.63,.54,-.6,.87],["c",.06,.54,.54,.9,1.38,.99],["c",.36,.06,.72,.03,.96,-.06],["c",.81,-.27,1.29,-1.23,1.44,-2.79],["c",.03,-.45,.03,-1.95,-.03,-2.37],["c",-.09,-.75,-.33,-1.23,-.75,-1.44],["c",-.33,-.18,-.45,-.18,-1.98,-.18],["c",-1.35,0,-1.41,0,-1.5,-.06],["c",-.18,-.12,-.24,-.39,-.12,-.6],["c",.12,-.15,.15,-.15,1.68,-.15],["c",1.5,0,1.62,0,1.89,-.15],["c",.18,-.09,.42,-.36,.54,-.57],["c",.18,-.42,.27,-.9,.3,-1.95],["c",.03,-1.2,-.06,-1.8,-.36,-2.37],["c",-.24,-.48,-.63,-.81,-1.14,-.96],["c",-.3,-.06,-1.08,-.06,-1.38,.03],["c",-.6,.15,-.9,.42,-.96,.84],["c",-.03,.3,.06,.45,.63,.84],["c",.33,.24,.42,.39,.45,.63],["c",.03,.72,-.57,1.5,-1.32,1.65],["c",-1.05,.27,-2.1,-.57,-2.1,-1.65],["c",0,-.45,.15,-.96,.39,-1.38],["c",.12,-.21,.54,-.63,.81,-.81],["c",.57,-.42,1.38,-.69,2.25,-.81],["z"]],w:9.735,h:14.967},4:{d:[["M",8.64,-14.94],["c",.27,-.09,.42,-.12,.54,-.03],["c",.09,.06,.15,.21,.15,.3],["c",-.03,.06,-1.92,2.31,-4.23,5.04],["c",-2.31,2.73,-4.23,4.98,-4.26,5.01],["c",-.03,.06,.12,.06,2.55,.06],["l",2.61,0],["l",0,-2.37],["c",0,-2.19,.03,-2.37,.06,-2.46],["c",.03,-.06,.21,-.18,.57,-.42],["c",1.08,-.72,1.38,-1.08,1.86,-2.16],["c",.12,-.3,.24,-.54,.27,-.57],["c",.12,-.12,.39,-.06,.45,.12],["c",.06,.09,.06,.57,.06,3.96],["l",0,3.9],["l",1.08,0],["c",1.05,0,1.11,0,1.2,.06],["c",.24,.15,.24,.54,0,.69],["c",-.09,.06,-.15,.06,-1.2,.06],["l",-1.08,0],["l",0,.33],["c",0,.57,.09,1.11,.3,1.53],["c",.36,.75,.93,1.17,1.68,1.26],["c",.3,.03,.39,.09,.39,.3],["c",0,.15,-.03,.18,-.09,.24],["c",-.06,.06,-.09,.06,-.48,.06],["c",-.42,0,-.69,-.03,-2.1,-.24],["c",-.9,-.15,-1.77,-.15,-2.67,0],["c",-1.41,.21,-1.68,.24,-2.1,.24],["c",-.39,0,-.42,0,-.48,-.06],["c",-.06,-.06,-.06,-.09,-.06,-.24],["c",0,-.21,.06,-.27,.36,-.3],["c",.75,-.09,1.32,-.51,1.68,-1.26],["c",.21,-.42,.3,-.96,.3,-1.53],["l",0,-.33],["l",-2.7,0],["c",-2.91,0,-2.85,0,-3.09,-.15],["c",-.18,-.12,-.3,-.39,-.27,-.54],["c",.03,-.06,.18,-.24,.33,-.45],["c",.75,-.9,1.59,-2.07,2.13,-3.03],["c",.33,-.54,.84,-1.62,1.05,-2.16],["c",.57,-1.41,.84,-2.64,.9,-4.05],["c",.03,-.63,.06,-.72,.24,-.81],["l",.12,-.06],["l",.45,.12],["c",.66,.18,1.02,.24,1.47,.27],["c",.6,.03,1.23,-.09,2.01,-.33],["z"]],w:11.795,h:14.994},5:{d:[["M",1.02,-14.94],["c",.12,-.09,.03,-.09,1.08,.06],["c",2.49,.36,4.35,.36,6.96,-.06],["c",.57,-.09,.66,-.06,.81,.06],["c",.15,.18,.12,.24,-.15,.51],["c",-1.29,1.26,-3.24,2.04,-5.58,2.31],["c",-.6,.09,-1.2,.12,-1.71,.12],["c",-.39,0,-.45,0,-.57,.06],["c",-.09,.06,-.15,.12,-.21,.21],["l",-.06,.12],["l",0,1.65],["l",0,1.65],["l",.21,-.21],["c",.66,-.57,1.41,-.96,2.19,-1.14],["c",.33,-.06,1.41,-.06,1.95,0],["c",2.61,.36,4.02,1.74,4.26,4.14],["c",.03,.45,.03,1.08,-.03,1.44],["c",-.18,1.02,-.78,2.01,-1.59,2.7],["c",-.72,.57,-1.62,1.02,-2.49,1.2],["c",-1.38,.27,-3.03,.06,-4.2,-.54],["c",-1.08,-.54,-1.71,-1.32,-1.86,-2.28],["c",-.09,-.69,.09,-1.29,.57,-1.74],["c",.24,-.24,.45,-.39,.75,-.51],["c",.21,-.06,.27,-.06,.6,-.06],["c",.33,0,.39,0,.6,.06],["c",.3,.12,.51,.27,.75,.51],["c",.36,.33,.57,.75,.6,1.2],["c",0,.21,0,.27,-.06,.42],["c",-.09,.18,-.12,.24,-.54,.54],["c",-.18,.12,-.36,.3,-.42,.33],["c",-.36,.42,-.18,.99,.36,1.26],["c",.51,.27,1.47,.36,2.01,.27],["c",.93,-.21,1.47,-1.17,1.65,-2.91],["c",.06,-.45,.06,-1.89,0,-2.31],["c",-.15,-1.2,-.51,-2.1,-1.05,-2.55],["c",-.21,-.18,-.54,-.36,-.81,-.39],["c",-.3,-.06,-.84,-.03,-1.26,.06],["c",-.93,.18,-1.65,.6,-2.16,1.2],["c",-.15,.21,-.27,.3,-.39,.3],["c",-.15,0,-.3,-.09,-.36,-.18],["c",-.06,-.09,-.06,-.15,-.06,-3.66],["c",0,-3.39,0,-3.57,.06,-3.66],["c",.03,-.06,.09,-.15,.15,-.18],["z"]],w:10.212,h:14.997},6:{d:[["M",4.98,-14.97],["c",.36,-.03,1.2,0,1.59,.06],["c",.9,.15,1.68,.51,2.25,1.05],["c",.57,.51,.87,1.23,.84,1.98],["c",-.03,.51,-.21,.9,-.6,1.26],["c",-.24,.24,-.45,.39,-.75,.51],["c",-.21,.06,-.27,.06,-.6,.06],["c",-.33,0,-.39,0,-.6,-.06],["c",-.3,-.12,-.51,-.27,-.75,-.51],["c",-.39,-.36,-.57,-.78,-.57,-1.26],["c",0,-.27,0,-.3,.09,-.42],["c",.03,-.09,.18,-.21,.3,-.3],["c",.12,-.09,.3,-.21,.39,-.27],["c",.09,-.06,.21,-.18,.27,-.24],["c",.06,-.12,.09,-.15,.09,-.33],["c",0,-.18,-.03,-.24,-.09,-.36],["c",-.24,-.39,-.75,-.6,-1.38,-.57],["c",-.54,.03,-.9,.18,-1.23,.48],["c",-.81,.72,-1.08,2.16,-.96,5.37],["l",0,.63],["l",.3,-.12],["c",.78,-.27,1.29,-.33,2.1,-.27],["c",1.47,.12,2.49,.54,3.27,1.29],["c",.48,.51,.81,1.11,.96,1.89],["c",.06,.27,.06,.42,.06,.93],["c",0,.54,0,.69,-.06,.96],["c",-.15,.78,-.48,1.38,-.96,1.89],["c",-.54,.51,-1.17,.87,-1.98,1.08],["c",-1.14,.3,-2.4,.33,-3.24,.03],["c",-1.5,-.48,-2.64,-1.89,-3.27,-4.02],["c",-.36,-1.23,-.51,-2.82,-.42,-4.08],["c",.3,-3.66,2.28,-6.3,4.95,-6.66],["z"],["m",.66,7.41],["c",-.27,-.09,-.81,-.12,-1.08,-.06],["c",-.72,.18,-1.08,.69,-1.23,1.71],["c",-.06,.54,-.06,3,0,3.54],["c",.18,1.26,.72,1.77,1.8,1.74],["c",.39,-.03,.63,-.09,.9,-.27],["c",.66,-.42,.9,-1.32,.9,-3.24],["c",0,-2.22,-.36,-3.12,-1.29,-3.42],["z"]],w:9.956,h:14.982},7:{d:[["M",.21,-14.97],["c",.21,-.06,.45,0,.54,.15],["c",.06,.09,.06,.15,.06,.39],["c",0,.24,0,.33,.06,.42],["c",.06,.12,.21,.24,.27,.24],["c",.03,0,.12,-.12,.24,-.21],["c",.96,-1.2,2.58,-1.35,3.99,-.42],["c",.15,.12,.42,.3,.54,.45],["c",.48,.39,.81,.57,1.29,.6],["c",.69,.03,1.5,-.3,2.13,-.87],["c",.09,-.09,.27,-.3,.39,-.45],["c",.12,-.15,.24,-.27,.3,-.3],["c",.18,-.06,.39,.03,.51,.21],["c",.06,.18,.06,.24,-.27,.72],["c",-.18,.24,-.54,.78,-.78,1.17],["c",-2.37,3.54,-3.54,6.27,-3.87,9],["c",-.03,.33,-.03,.66,-.03,1.26],["c",0,.9,0,1.08,.15,1.89],["c",.06,.45,.06,.48,.03,.6],["c",-.06,.09,-.21,.21,-.3,.21],["c",-.03,0,-.27,-.06,-.54,-.15],["c",-.84,-.27,-1.11,-.3,-1.65,-.3],["c",-.57,0,-.84,.03,-1.56,.27],["c",-.6,.18,-.69,.21,-.81,.15],["c",-.12,-.06,-.21,-.18,-.21,-.3],["c",0,-.15,.6,-1.44,1.2,-2.61],["c",1.14,-2.22,2.73,-4.68,5.1,-8.01],["c",.21,-.27,.36,-.48,.33,-.48],["c",0,0,-.12,.06,-.27,.12],["c",-.54,.3,-.99,.39,-1.56,.39],["c",-.75,.03,-1.2,-.18,-1.83,-.75],["c",-.99,-.9,-1.83,-1.17,-2.31,-.72],["c",-.18,.15,-.36,.51,-.45,.84],["c",-.06,.24,-.06,.33,-.09,1.98],["c",0,1.62,-.03,1.74,-.06,1.8],["c",-.15,.24,-.54,.24,-.69,0],["c",-.06,-.09,-.06,-.15,-.06,-3.57],["c",0,-3.42,0,-3.48,.06,-3.57],["c",.03,-.06,.09,-.12,.15,-.15],["z"]],w:10.561,h:15.093},8:{d:[["M",4.98,-14.97],["c",.33,-.03,1.02,-.03,1.32,0],["c",1.32,.12,2.49,.6,3.21,1.32],["c",.39,.39,.66,.81,.78,1.29],["c",.09,.36,.09,1.08,0,1.44],["c",-.21,.84,-.66,1.59,-1.59,2.55],["l",-.3,.3],["l",.27,.18],["c",1.47,.93,2.31,2.31,2.25,3.75],["c",-.03,.75,-.24,1.35,-.63,1.95],["c",-.45,.66,-1.02,1.14,-1.83,1.53],["c",-1.8,.87,-4.2,.87,-6,.03],["c",-1.62,-.78,-2.52,-2.16,-2.46,-3.66],["c",.06,-.99,.54,-1.77,1.8,-2.97],["c",.54,-.51,.54,-.54,.48,-.57],["c",-.39,-.27,-.96,-.78,-1.2,-1.14],["c",-.75,-1.11,-.87,-2.4,-.3,-3.6],["c",.69,-1.35,2.25,-2.25,4.2,-2.4],["z"],["m",1.53,.69],["c",-.42,-.09,-1.11,-.12,-1.38,-.06],["c",-.3,.06,-.6,.18,-.81,.3],["c",-.21,.12,-.6,.51,-.72,.72],["c",-.51,.87,-.42,1.89,.21,2.52],["c",.21,.21,.36,.3,1.95,1.23],["c",.96,.54,1.74,.99,1.77,1.02],["c",.09,0,.63,-.6,.99,-1.11],["c",.21,-.36,.48,-.87,.57,-1.23],["c",.06,-.24,.06,-.36,.06,-.72],["c",0,-.45,-.03,-.66,-.15,-.99],["c",-.39,-.81,-1.29,-1.44,-2.49,-1.68],["z"],["m",-1.44,8.07],["l",-1.89,-1.08],["c",-.03,0,-.18,.15,-.39,.33],["c",-1.2,1.08,-1.65,1.95,-1.59,3],["c",.09,1.59,1.35,2.85,3.21,3.24],["c",.33,.06,.45,.06,.93,.06],["c",.63,0,.81,-.03,1.29,-.27],["c",.9,-.42,1.47,-1.41,1.41,-2.4],["c",-.06,-.66,-.39,-1.29,-.9,-1.65],["c",-.12,-.09,-1.05,-.63,-2.07,-1.23],["z"]],w:10.926,h:14.989},9:{d:[["M",4.23,-14.97],["c",.42,-.03,1.29,0,1.62,.06],["c",.51,.12,.93,.3,1.38,.57],["c",1.53,1.02,2.52,3.24,2.73,5.94],["c",.18,2.55,-.48,4.98,-1.83,6.57],["c",-1.05,1.26,-2.4,1.89,-3.93,1.83],["c",-1.23,-.06,-2.31,-.45,-3.03,-1.14],["c",-.57,-.51,-.87,-1.23,-.84,-1.98],["c",.03,-.51,.21,-.9,.6,-1.26],["c",.24,-.24,.45,-.39,.75,-.51],["c",.21,-.06,.27,-.06,.6,-.06],["c",.33,0,.39,0,.6,.06],["c",.3,.12,.51,.27,.75,.51],["c",.39,.36,.57,.78,.57,1.26],["c",0,.27,0,.3,-.09,.42],["c",-.03,.09,-.18,.21,-.3,.3],["c",-.12,.09,-.3,.21,-.39,.27],["c",-.09,.06,-.21,.18,-.27,.24],["c",-.06,.12,-.06,.15,-.06,.33],["c",0,.18,0,.24,.06,.36],["c",.24,.39,.75,.6,1.38,.57],["c",.54,-.03,.9,-.18,1.23,-.48],["c",.81,-.72,1.08,-2.16,.96,-5.37],["l",0,-.63],["l",-.3,.12],["c",-.78,.27,-1.29,.33,-2.1,.27],["c",-1.47,-.12,-2.49,-.54,-3.27,-1.29],["c",-.48,-.51,-.81,-1.11,-.96,-1.89],["c",-.06,-.27,-.06,-.42,-.06,-.96],["c",0,-.51,0,-.66,.06,-.93],["c",.15,-.78,.48,-1.38,.96,-1.89],["c",.15,-.12,.33,-.27,.42,-.36],["c",.69,-.51,1.62,-.81,2.76,-.93],["z"],["m",1.17,.66],["c",-.21,-.06,-.57,-.06,-.81,-.03],["c",-.78,.12,-1.26,.69,-1.41,1.74],["c",-.12,.63,-.15,1.95,-.09,2.79],["c",.12,1.71,.63,2.4,1.77,2.46],["c",1.08,.03,1.62,-.48,1.8,-1.74],["c",.06,-.54,.06,-3,0,-3.54],["c",-.15,-1.05,-.51,-1.53,-1.26,-1.68],["z"]],w:9.959,h:14.986},"rests.multimeasure":{d:[["M",0,-4],["l",0,16],["l",1,0],["l",0,-5],["l",40,0],["l",0,5],["l",1,0],["l",0,-16],["l",-1,0],["l",0,5],["l",-40,0],["l",0,-5],["z"]],w:42,h:18},"rests.whole":{d:[["M",.06,.03],["l",.09,-.06],["l",5.46,0],["l",5.49,0],["l",.09,.06],["l",.06,.09],["l",0,2.19],["l",0,2.19],["l",-.06,.09],["l",-.09,.06],["l",-5.49,0],["l",-5.46,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-2.19],["l",0,-2.19],["z"]],w:11.25,h:4.68},"rests.half":{d:[["M",.06,-4.62],["l",.09,-.06],["l",5.46,0],["l",5.49,0],["l",.09,.06],["l",.06,.09],["l",0,2.19],["l",0,2.19],["l",-.06,.09],["l",-.09,.06],["l",-5.49,0],["l",-5.46,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-2.19],["l",0,-2.19],["z"]],w:11.25,h:4.68},"rests.quarter":{d:[["M",1.89,-11.82],["c",.12,-.06,.24,-.06,.36,-.03],["c",.09,.06,4.74,5.58,4.86,5.82],["c",.21,.39,.15,.78,-.15,1.26],["c",-.24,.33,-.72,.81,-1.62,1.56],["c",-.45,.36,-.87,.75,-.96,.84],["c",-.93,.99,-1.14,2.49,-.6,3.63],["c",.18,.39,.27,.48,1.32,1.68],["c",1.92,2.25,1.83,2.16,1.83,2.34],["c",0,.18,-.18,.36,-.36,.39],["c",-.15,0,-.27,-.06,-.48,-.27],["c",-.75,-.75,-2.46,-1.29,-3.39,-1.08],["c",-.45,.09,-.69,.27,-.9,.69],["c",-.12,.3,-.21,.66,-.24,1.14],["c",-.03,.66,.09,1.35,.3,2.01],["c",.15,.42,.24,.66,.45,.96],["c",.18,.24,.18,.33,.03,.42],["c",-.12,.06,-.18,.03,-.45,-.3],["c",-1.08,-1.38,-2.07,-3.36,-2.4,-4.83],["c",-.27,-1.05,-.15,-1.77,.27,-2.07],["c",.21,-.12,.42,-.15,.87,-.15],["c",.87,.06,2.1,.39,3.3,.9],["l",.39,.18],["l",-1.65,-1.95],["c",-2.52,-2.97,-2.61,-3.09,-2.7,-3.27],["c",-.09,-.24,-.12,-.48,-.03,-.75],["c",.15,-.48,.57,-.96,1.83,-2.01],["c",.45,-.36,.84,-.72,.93,-.78],["c",.69,-.75,1.02,-1.8,.9,-2.79],["c",-.06,-.33,-.21,-.84,-.39,-1.11],["c",-.09,-.15,-.45,-.6,-.81,-1.05],["c",-.36,-.42,-.69,-.81,-.72,-.87],["c",-.09,-.18,0,-.42,.21,-.51],["z"]],w:7.888,h:21.435},"rests.8th":{d:[["M",1.68,-6.12],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.6,.48],["c",.12,0,.18,0,.33,-.09],["c",.39,-.18,1.32,-1.29,1.68,-1.98],["c",.09,-.21,.24,-.3,.39,-.3],["c",.12,0,.27,.09,.33,.18],["c",.03,.06,-.27,1.11,-1.86,6.42],["c",-1.02,3.48,-1.89,6.39,-1.92,6.42],["c",0,.03,-.12,.12,-.24,.15],["c",-.18,.09,-.21,.09,-.45,.09],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.15,-.57,1.68,-4.92],["c",.96,-2.67,1.74,-4.89,1.71,-4.89],["l",-.51,.15],["c",-1.08,.36,-1.74,.48,-2.55,.48],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:7.534,h:13.883},"rests.16th":{d:[["M",3.33,-6.12],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.15,.39,.57,.57,.87,.42],["c",.39,-.18,1.2,-1.23,1.62,-2.07],["c",.06,-.15,.24,-.24,.36,-.24],["c",.12,0,.27,.09,.33,.18],["c",.03,.06,-.45,1.86,-2.67,10.17],["c",-1.5,5.55,-2.73,10.14,-2.76,10.17],["c",-.03,.03,-.12,.12,-.24,.15],["c",-.18,.09,-.21,.09,-.45,.09],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.12,-.57,1.44,-4.92],["c",.81,-2.67,1.47,-4.86,1.47,-4.89],["c",-.03,0,-.27,.06,-.54,.15],["c",-1.08,.36,-1.77,.48,-2.58,.48],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.72,-1.05,2.22,-1.23,3.06,-.42],["c",.3,.33,.42,.6,.6,1.38],["c",.09,.45,.21,.78,.33,.9],["c",.09,.09,.27,.18,.45,.21],["c",.12,0,.18,0,.33,-.09],["c",.33,-.15,1.02,-.93,1.41,-1.59],["c",.12,-.21,.18,-.39,.39,-1.08],["c",.66,-2.1,1.17,-3.84,1.17,-3.87],["c",0,0,-.21,.06,-.42,.15],["c",-.51,.15,-1.2,.33,-1.68,.42],["c",-.33,.06,-.51,.06,-.96,.06],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:9.724,h:21.383},"rests.32nd":{d:[["M",4.23,-13.62],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.6,.48],["c",.12,0,.18,0,.27,-.06],["c",.33,-.21,.99,-1.11,1.44,-1.98],["c",.09,-.24,.21,-.33,.39,-.33],["c",.12,0,.27,.09,.33,.18],["c",.03,.06,-.57,2.67,-3.21,13.89],["c",-1.8,7.62,-3.3,13.89,-3.3,13.92],["c",-.03,.06,-.12,.12,-.24,.18],["c",-.21,.09,-.24,.09,-.48,.09],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.09,-.57,1.23,-4.92],["c",.69,-2.67,1.26,-4.86,1.29,-4.89],["c",0,-.03,-.12,-.03,-.48,.12],["c",-1.17,.39,-2.22,.57,-3,.54],["c",-.42,-.03,-.75,-.12,-1.11,-.3],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.72,-1.05,2.22,-1.23,3.06,-.42],["c",.3,.33,.42,.6,.6,1.38],["c",.09,.45,.21,.78,.33,.9],["c",.12,.09,.3,.18,.48,.21],["c",.12,0,.18,0,.3,-.09],["c",.42,-.21,1.29,-1.29,1.56,-1.89],["c",.03,-.12,1.23,-4.59,1.23,-4.65],["c",0,-.03,-.18,.03,-.39,.12],["c",-.63,.18,-1.2,.36,-1.74,.45],["c",-.39,.06,-.54,.06,-1.02,.06],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.72,-1.05,2.22,-1.23,3.06,-.42],["c",.3,.33,.42,.6,.6,1.38],["c",.09,.45,.21,.78,.33,.9],["c",.18,.18,.51,.27,.72,.15],["c",.3,-.12,.69,-.57,1.08,-1.17],["c",.42,-.6,.39,-.51,1.05,-3.03],["c",.33,-1.26,.6,-2.31,.6,-2.34],["c",0,0,-.21,.03,-.45,.12],["c",-.57,.18,-1.14,.33,-1.62,.42],["c",-.33,.06,-.51,.06,-.96,.06],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:11.373,h:28.883},"rests.64th":{d:[["M",5.13,-13.62],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.15,.63,.21,.81,.33,.96],["c",.18,.21,.54,.3,.75,.18],["c",.24,-.12,.63,-.66,1.08,-1.56],["c",.33,-.66,.39,-.72,.6,-.72],["c",.12,0,.27,.09,.33,.18],["c",.03,.06,-.69,3.66,-3.54,17.64],["c",-1.95,9.66,-3.57,17.61,-3.57,17.64],["c",-.03,.06,-.12,.12,-.24,.18],["c",-.21,.09,-.24,.09,-.48,.09],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.06,-.57,1.05,-4.95],["c",.6,-2.7,1.08,-4.89,1.08,-4.92],["c",0,0,-.24,.06,-.51,.15],["c",-.66,.24,-1.2,.36,-1.77,.48],["c",-.42,.06,-.57,.06,-1.05,.06],["c",-.69,0,-.87,-.03,-1.35,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.72,-1.05,2.22,-1.23,3.06,-.42],["c",.3,.33,.42,.6,.6,1.38],["c",.09,.45,.21,.78,.33,.9],["c",.09,.09,.27,.18,.45,.21],["c",.21,.03,.39,-.09,.72,-.42],["c",.45,-.45,1.02,-1.26,1.17,-1.65],["c",.03,-.09,.27,-1.14,.54,-2.34],["c",.27,-1.2,.48,-2.19,.51,-2.22],["c",0,-.03,-.09,-.03,-.48,.12],["c",-1.17,.39,-2.22,.57,-3,.54],["c",-.42,-.03,-.75,-.12,-1.11,-.3],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.15,.39,.57,.57,.9,.42],["c",.36,-.18,1.2,-1.26,1.47,-1.89],["c",.03,-.09,.3,-1.2,.57,-2.43],["l",.51,-2.28],["l",-.54,.18],["c",-1.11,.36,-1.8,.48,-2.61,.48],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.15,.63,.21,.81,.33,.96],["c",.21,.21,.54,.3,.75,.18],["c",.36,-.18,.93,-.93,1.29,-1.68],["c",.12,-.24,.18,-.48,.63,-2.55],["l",.51,-2.31],["c",0,-.03,-.18,.03,-.39,.12],["c",-1.14,.36,-2.1,.54,-2.82,.51],["c",-.42,-.03,-.75,-.12,-1.11,-.3],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:12.453,h:36.383},"rests.128th":{d:[["M",6.03,-21.12],["c",.66,-.09,1.23,.09,1.68,.51],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.6,.48],["c",.21,0,.33,-.06,.54,-.36],["c",.15,-.21,.54,-.93,.78,-1.47],["c",.15,-.33,.18,-.39,.3,-.48],["c",.18,-.09,.45,0,.51,.15],["c",.03,.09,-7.11,42.75,-7.17,42.84],["c",-.03,.03,-.15,.09,-.24,.15],["c",-.18,.06,-.24,.06,-.45,.06],["c",-.24,0,-.3,0,-.48,-.06],["c",-.09,-.06,-.21,-.12,-.21,-.15],["c",-.06,-.03,.03,-.57,.84,-4.98],["c",.51,-2.7,.93,-4.92,.9,-4.92],["c",0,0,-.15,.06,-.36,.12],["c",-.78,.27,-1.62,.48,-2.31,.57],["c",-.15,.03,-.54,.03,-.81,.03],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.63,.48],["c",.12,0,.18,0,.3,-.09],["c",.42,-.21,1.14,-1.11,1.5,-1.83],["c",.12,-.27,.12,-.27,.54,-2.52],["c",.24,-1.23,.42,-2.25,.39,-2.25],["c",0,0,-.24,.06,-.51,.18],["c",-1.26,.39,-2.25,.57,-3.06,.54],["c",-.42,-.03,-.75,-.12,-1.11,-.3],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.15,.63,.21,.81,.33,.96],["c",.18,.21,.51,.3,.75,.18],["c",.36,-.15,1.05,-.99,1.41,-1.77],["l",.15,-.3],["l",.42,-2.25],["c",.21,-1.26,.42,-2.28,.39,-2.28],["l",-.51,.15],["c",-1.11,.39,-1.89,.51,-2.7,.51],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.15,.63,.21,.81,.33,.96],["c",.18,.18,.48,.27,.72,.21],["c",.33,-.12,1.14,-1.26,1.41,-1.95],["c",0,-.09,.21,-1.11,.45,-2.34],["c",.21,-1.2,.39,-2.22,.39,-2.28],["c",.03,-.03,0,-.03,-.45,.12],["c",-.57,.18,-1.2,.33,-1.71,.42],["c",-.3,.06,-.51,.06,-.93,.06],["c",-.66,0,-.84,-.03,-1.32,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.36,-.54,.96,-.87,1.65,-.93],["c",.54,-.03,1.02,.15,1.41,.54],["c",.27,.3,.39,.54,.57,1.26],["c",.09,.33,.18,.66,.21,.72],["c",.12,.27,.33,.45,.6,.48],["c",.18,0,.36,-.09,.57,-.33],["c",.33,-.36,.78,-1.14,.93,-1.56],["c",.03,-.12,.24,-1.2,.45,-2.4],["c",.24,-1.2,.42,-2.22,.42,-2.28],["c",.03,-.03,0,-.03,-.39,.09],["c",-1.05,.36,-1.8,.48,-2.58,.48],["c",-.63,0,-.84,-.03,-1.29,-.27],["c",-1.32,-.63,-1.77,-2.16,-1.02,-3.3],["c",.33,-.45,.84,-.81,1.38,-.9],["z"]],w:12.992,h:43.883},"accidentals.sharp":{d:[["M",5.73,-11.19],["c",.21,-.12,.54,-.03,.66,.24],["c",.06,.12,.06,.21,.06,2.31],["c",0,1.23,0,2.22,.03,2.22],["c",0,0,.27,-.12,.6,-.24],["c",.69,-.27,.78,-.3,.96,-.15],["c",.21,.15,.21,.18,.21,1.38],["c",0,1.02,0,1.11,-.06,1.2],["c",-.03,.06,-.09,.12,-.12,.15],["c",-.06,.03,-.42,.21,-.84,.36],["l",-.75,.33],["l",-.03,2.43],["c",0,1.32,0,2.43,.03,2.43],["c",0,0,.27,-.12,.6,-.24],["c",.69,-.27,.78,-.3,.96,-.15],["c",.21,.15,.21,.18,.21,1.38],["c",0,1.02,0,1.11,-.06,1.2],["c",-.03,.06,-.09,.12,-.12,.15],["c",-.06,.03,-.42,.21,-.84,.36],["l",-.75,.33],["l",-.03,2.52],["c",0,2.28,-.03,2.55,-.06,2.64],["c",-.21,.36,-.72,.36,-.93,0],["c",-.03,-.09,-.06,-.33,-.06,-2.43],["l",0,-2.31],["l",-1.29,.51],["l",-1.26,.51],["l",0,2.43],["c",0,2.58,0,2.52,-.15,2.67],["c",-.06,.09,-.27,.18,-.36,.18],["c",-.12,0,-.33,-.09,-.39,-.18],["c",-.15,-.15,-.15,-.09,-.15,-2.43],["c",0,-1.23,0,-2.22,-.03,-2.22],["c",0,0,-.27,.12,-.6,.24],["c",-.69,.27,-.78,.3,-.96,.15],["c",-.21,-.15,-.21,-.18,-.21,-1.38],["c",0,-1.02,0,-1.11,.06,-1.2],["c",.03,-.06,.09,-.12,.12,-.15],["c",.06,-.03,.42,-.21,.84,-.36],["l",.78,-.33],["l",0,-2.43],["c",0,-1.32,0,-2.43,-.03,-2.43],["c",0,0,-.27,.12,-.6,.24],["c",-.69,.27,-.78,.3,-.96,.15],["c",-.21,-.15,-.21,-.18,-.21,-1.38],["c",0,-1.02,0,-1.11,.06,-1.2],["c",.03,-.06,.09,-.12,.12,-.15],["c",.06,-.03,.42,-.21,.84,-.36],["l",.78,-.33],["l",0,-2.52],["c",0,-2.28,.03,-2.55,.06,-2.64],["c",.21,-.36,.72,-.36,.93,0],["c",.03,.09,.06,.33,.06,2.43],["l",.03,2.31],["l",1.26,-.51],["l",1.26,-.51],["l",0,-2.43],["c",0,-2.28,0,-2.43,.06,-2.55],["c",.06,-.12,.12,-.18,.27,-.24],["z"],["m",-.33,10.65],["l",0,-2.43],["l",-1.29,.51],["l",-1.26,.51],["l",0,2.46],["l",0,2.43],["l",.09,-.03],["c",.06,-.03,.63,-.27,1.29,-.51],["l",1.17,-.48],["l",0,-2.46],["z"]],w:8.25,h:22.462},"accidentals.halfsharp":{d:[["M",2.43,-10.05],["c",.21,-.12,.54,-.03,.66,.24],["c",.06,.12,.06,.21,.06,2.01],["c",0,1.05,0,1.89,.03,1.89],["l",.72,-.48],["c",.69,-.48,.69,-.51,.87,-.51],["c",.15,0,.18,.03,.27,.09],["c",.21,.15,.21,.18,.21,1.41],["c",0,1.11,-.03,1.14,-.09,1.23],["c",-.03,.03,-.48,.39,-1.02,.75],["l",-.99,.66],["l",0,2.37],["c",0,1.32,0,2.37,.03,2.37],["l",.72,-.48],["c",.69,-.48,.69,-.51,.87,-.51],["c",.15,0,.18,.03,.27,.09],["c",.21,.15,.21,.18,.21,1.41],["c",0,1.11,-.03,1.14,-.09,1.23],["c",-.03,.03,-.48,.39,-1.02,.75],["l",-.99,.66],["l",0,2.25],["c",0,1.95,0,2.28,-.06,2.37],["c",-.06,.12,-.12,.21,-.24,.27],["c",-.27,.12,-.54,.03,-.69,-.24],["c",-.06,-.12,-.06,-.21,-.06,-2.01],["c",0,-1.05,0,-1.89,-.03,-1.89],["l",-.72,.48],["c",-.69,.48,-.69,.48,-.87,.48],["c",-.15,0,-.18,0,-.27,-.06],["c",-.21,-.15,-.21,-.18,-.21,-1.41],["c",0,-1.11,.03,-1.14,.09,-1.23],["c",.03,-.03,.48,-.39,1.02,-.75],["l",.99,-.66],["l",0,-2.37],["c",0,-1.32,0,-2.37,-.03,-2.37],["l",-.72,.48],["c",-.69,.48,-.69,.48,-.87,.48],["c",-.15,0,-.18,0,-.27,-.06],["c",-.21,-.15,-.21,-.18,-.21,-1.41],["c",0,-1.11,.03,-1.14,.09,-1.23],["c",.03,-.03,.48,-.39,1.02,-.75],["l",.99,-.66],["l",0,-2.25],["c",0,-2.13,0,-2.28,.06,-2.4],["c",.06,-.12,.12,-.18,.27,-.24],["z"]],w:5.25,h:20.174},"accidentals.nat":{d:[["M",.21,-11.4],["c",.24,-.06,.78,0,.99,.15],["c",.03,.03,.03,.48,0,2.61],["c",-.03,1.44,-.03,2.61,-.03,2.61],["c",0,.03,.75,-.09,1.68,-.24],["c",.96,-.18,1.71,-.27,1.74,-.27],["c",.15,.03,.27,.15,.36,.3],["l",.06,.12],["l",.09,8.67],["c",.09,6.96,.12,8.67,.09,8.67],["c",-.03,.03,-.12,.06,-.21,.09],["c",-.24,.09,-.72,.09,-.96,0],["c",-.09,-.03,-.18,-.06,-.21,-.09],["c",-.03,-.03,-.03,-.48,0,-2.61],["c",.03,-1.44,.03,-2.61,.03,-2.61],["c",0,-.03,-.75,.09,-1.68,.24],["c",-.96,.18,-1.71,.27,-1.74,.27],["c",-.15,-.03,-.27,-.15,-.36,-.3],["l",-.06,-.15],["l",-.09,-7.53],["c",-.06,-4.14,-.09,-8.04,-.12,-8.67],["l",0,-1.11],["l",.15,-.06],["c",.09,-.03,.21,-.06,.27,-.09],["z"],["m",3.75,8.4],["c",0,-.33,0,-.42,-.03,-.42],["c",-.12,0,-2.79,.45,-2.79,.48],["c",-.03,0,-.09,6.3,-.09,6.33],["c",.03,0,2.79,-.45,2.82,-.48],["c",0,0,.09,-4.53,.09,-5.91],["z"]],w:5.4,h:22.8},"accidentals.flat":{d:[["M",-.36,-14.07],["c",.33,-.06,.87,0,1.08,.15],["c",.06,.03,.06,.36,-.03,5.25],["c",-.06,2.85,-.09,5.19,-.09,5.19],["c",0,.03,.12,-.03,.24,-.12],["c",.63,-.42,1.41,-.66,2.19,-.72],["c",.81,-.03,1.47,.21,2.04,.78],["c",.57,.54,.87,1.26,.93,2.04],["c",.03,.57,-.09,1.08,-.36,1.62],["c",-.42,.81,-1.02,1.38,-2.82,2.61],["c",-1.14,.78,-1.44,1.02,-1.8,1.44],["c",-.18,.18,-.39,.39,-.45,.42],["c",-.27,.18,-.57,.15,-.81,-.06],["c",-.06,-.09,-.12,-.18,-.15,-.27],["c",-.03,-.06,-.09,-3.27,-.18,-8.34],["c",-.09,-4.53,-.15,-8.58,-.18,-9.03],["l",0,-.78],["l",.12,-.06],["c",.06,-.03,.18,-.09,.27,-.12],["z"],["m",3.18,11.01],["c",-.21,-.12,-.54,-.15,-.81,-.06],["c",-.54,.15,-.99,.63,-1.17,1.26],["c",-.06,.3,-.12,2.88,-.06,3.87],["c",.03,.42,.03,.81,.06,.9],["l",.03,.12],["l",.45,-.39],["c",.63,-.54,1.26,-1.17,1.56,-1.59],["c",.3,-.42,.6,-.99,.72,-1.41],["c",.18,-.69,.09,-1.47,-.18,-2.07],["c",-.15,-.3,-.33,-.51,-.6,-.63],["z"]],w:6.75,h:18.801},"accidentals.halfflat":{d:[["M",4.83,-14.07],["c",.33,-.06,.87,0,1.08,.15],["c",.06,.03,.06,.6,-.12,9.06],["c",-.09,5.55,-.15,9.06,-.18,9.12],["c",-.03,.09,-.09,.18,-.15,.27],["c",-.24,.21,-.54,.24,-.81,.06],["c",-.06,-.03,-.27,-.24,-.45,-.42],["c",-.36,-.42,-.66,-.66,-1.8,-1.44],["c",-1.23,-.84,-1.83,-1.32,-2.25,-1.77],["c",-.66,-.78,-.96,-1.56,-.93,-2.46],["c",.09,-1.41,1.11,-2.58,2.4,-2.79],["c",.3,-.06,.84,-.03,1.23,.06],["c",.54,.12,1.08,.33,1.53,.63],["c",.12,.09,.24,.15,.24,.12],["c",0,0,-.12,-8.37,-.18,-9.75],["l",0,-.66],["l",.12,-.06],["c",.06,-.03,.18,-.09,.27,-.12],["z"],["m",-1.65,10.95],["c",-.6,-.18,-1.08,.09,-1.38,.69],["c",-.27,.6,-.36,1.38,-.18,2.07],["c",.12,.42,.42,.99,.72,1.41],["c",.3,.42,.93,1.05,1.56,1.59],["l",.48,.39],["l",0,-.12],["c",.03,-.09,.03,-.48,.06,-.9],["c",.03,-.57,.03,-1.08,0,-2.22],["c",-.03,-1.62,-.03,-1.62,-.24,-2.07],["c",-.21,-.42,-.6,-.75,-1.02,-.84],["z"]],w:6.728,h:18.801},"accidentals.dblflat":{d:[["M",-.36,-14.07],["c",.33,-.06,.87,0,1.08,.15],["c",.06,.03,.06,.36,-.03,5.25],["c",-.06,2.85,-.09,5.19,-.09,5.19],["c",0,.03,.12,-.03,.24,-.12],["c",.63,-.42,1.41,-.66,2.19,-.72],["c",.81,-.03,1.47,.21,2.04,.78],["c",.57,.54,.87,1.26,.93,2.04],["c",.03,.57,-.09,1.08,-.36,1.62],["c",-.42,.81,-1.02,1.38,-2.82,2.61],["c",-1.14,.78,-1.44,1.02,-1.8,1.44],["c",-.18,.18,-.39,.39,-.45,.42],["c",-.27,.18,-.57,.15,-.81,-.06],["c",-.06,-.09,-.12,-.18,-.15,-.27],["c",-.03,-.06,-.09,-3.27,-.18,-8.34],["c",-.09,-4.53,-.15,-8.58,-.18,-9.03],["l",0,-.78],["l",.12,-.06],["c",.06,-.03,.18,-.09,.27,-.12],["z"],["m",3.18,11.01],["c",-.21,-.12,-.54,-.15,-.81,-.06],["c",-.54,.15,-.99,.63,-1.17,1.26],["c",-.06,.3,-.12,2.88,-.06,3.87],["c",.03,.42,.03,.81,.06,.9],["l",.03,.12],["l",.45,-.39],["c",.63,-.54,1.26,-1.17,1.56,-1.59],["c",.3,-.42,.6,-.99,.72,-1.41],["c",.18,-.69,.09,-1.47,-.18,-2.07],["c",-.15,-.3,-.33,-.51,-.6,-.63],["z"],["m",3,-11],["c",.33,-.06,.87,0,1.08,.15],["c",.06,.03,.06,.36,-.03,5.25],["c",-.06,2.85,-.09,5.19,-.09,5.19],["c",0,.03,.12,-.03,.24,-.12],["c",.63,-.42,1.41,-.66,2.19,-.72],["c",.81,-.03,1.47,.21,2.04,.78],["c",.57,.54,.87,1.26,.93,2.04],["c",.03,.57,-.09,1.08,-.36,1.62],["c",-.42,.81,-1.02,1.38,-2.82,2.61],["c",-1.14,.78,-1.44,1.02,-1.8,1.44],["c",-.18,.18,-.39,.39,-.45,.42],["c",-.27,.18,-.57,.15,-.81,-.06],["c",-.06,-.09,-.12,-.18,-.15,-.27],["c",-.03,-.06,-.09,-3.27,-.18,-8.34],["c",-.09,-4.53,-.15,-8.58,-.18,-9.03],["l",0,-.78],["l",.12,-.06],["c",.06,-.03,.18,-.09,.27,-.12],["z"],["m",3.18,11.01],["c",-.21,-.12,-.54,-.15,-.81,-.06],["c",-.54,.15,-.99,.63,-1.17,1.26],["c",-.06,.3,-.12,2.88,-.06,3.87],["c",.03,.42,.03,.81,.06,.9],["l",.03,.12],["l",.45,-.39],["c",.63,-.54,1.26,-1.17,1.56,-1.59],["c",.3,-.42,.6,-.99,.72,-1.41],["c",.18,-.69,.09,-1.47,-.18,-2.07],["c",-.15,-.3,-.33,-.51,-.6,-.63],["z"]],w:12.1,h:18.804},"accidentals.dblsharp":{d:[["M",-.18,-3.96],["c",.06,-.03,.12,-.06,.15,-.06],["c",.09,0,2.76,.27,2.79,.3],["c",.12,.03,.15,.12,.15,.51],["c",.06,.96,.24,1.59,.57,2.1],["c",.06,.09,.15,.21,.18,.24],["l",.09,.06],["l",.09,-.06],["c",.03,-.03,.12,-.15,.18,-.24],["c",.33,-.51,.51,-1.14,.57,-2.1],["c",0,-.39,.03,-.45,.12,-.51],["c",.03,0,.66,-.09,1.44,-.15],["c",1.47,-.15,1.5,-.15,1.56,-.03],["c",.03,.06,0,.42,-.09,1.44],["c",-.09,.72,-.15,1.35,-.15,1.38],["c",0,.03,-.03,.09,-.06,.12],["c",-.06,.06,-.12,.09,-.51,.09],["c",-1.08,.06,-1.8,.3,-2.28,.75],["l",-.12,.09],["l",.09,.09],["c",.12,.15,.39,.33,.63,.45],["c",.42,.18,.96,.27,1.68,.33],["c",.39,0,.45,.03,.51,.09],["c",.03,.03,.06,.09,.06,.12],["c",0,.03,.06,.66,.15,1.38],["c",.09,1.02,.12,1.38,.09,1.44],["c",-.06,.12,-.09,.12,-1.56,-.03],["c",-.78,-.06,-1.41,-.15,-1.44,-.15],["c",-.09,-.06,-.12,-.12,-.12,-.54],["c",-.06,-.93,-.24,-1.56,-.57,-2.07],["c",-.06,-.09,-.15,-.21,-.18,-.24],["l",-.09,-.06],["l",-.09,.06],["c",-.03,.03,-.12,.15,-.18,.24],["c",-.33,.51,-.51,1.14,-.57,2.07],["c",0,.42,-.03,.48,-.12,.54],["c",-.03,0,-.66,.09,-1.44,.15],["c",-1.47,.15,-1.5,.15,-1.56,.03],["c",-.03,-.06,0,-.42,.09,-1.44],["c",.09,-.72,.15,-1.35,.15,-1.38],["c",0,-.03,.03,-.09,.06,-.12],["c",.06,-.06,.12,-.09,.51,-.09],["c",.72,-.06,1.26,-.15,1.68,-.33],["c",.24,-.12,.51,-.3,.63,-.45],["l",.09,-.09],["l",-.12,-.09],["c",-.48,-.45,-1.2,-.69,-2.28,-.75],["c",-.39,0,-.45,-.03,-.51,-.09],["c",-.03,-.03,-.06,-.09,-.06,-.12],["c",0,-.03,-.06,-.63,-.12,-1.38],["c",-.09,-.72,-.15,-1.35,-.15,-1.38],["z"]],w:7.95,h:7.977},"dots.dot":{d:[["M",1.32,-1.68],["c",.09,-.03,.27,-.06,.39,-.06],["c",.96,0,1.74,.78,1.74,1.71],["c",0,.96,-.78,1.74,-1.71,1.74],["c",-.96,0,-1.74,-.78,-1.74,-1.71],["c",0,-.78,.54,-1.5,1.32,-1.68],["z"]],w:3.45,h:3.45},"noteheads.dbl":{d:[["M",-.69,-4.02],["c",.18,-.09,.36,-.09,.54,0],["c",.18,.09,.24,.15,.33,.3],["c",.06,.15,.06,.18,.06,1.41],["l",0,1.23],["l",.12,-.18],["c",.72,-1.26,2.64,-2.31,4.86,-2.64],["c",.81,-.15,1.11,-.15,2.13,-.15],["c",.99,0,1.29,0,2.1,.15],["c",.75,.12,1.38,.27,2.04,.54],["c",1.35,.51,2.34,1.26,2.82,2.1],["l",.12,.18],["l",0,-1.23],["c",0,-1.2,0,-1.26,.06,-1.38],["c",.09,-.18,.15,-.24,.33,-.33],["c",.18,-.09,.36,-.09,.54,0],["c",.18,.09,.24,.15,.33,.3],["l",.06,.15],["l",0,3.54],["l",0,3.54],["l",-.06,.15],["c",-.09,.18,-.15,.24,-.33,.33],["c",-.18,.09,-.36,.09,-.54,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.06,-.12,-.06,-.18,-.06,-1.38],["l",0,-1.23],["l",-.12,.18],["c",-.48,.84,-1.47,1.59,-2.82,2.1],["c",-.84,.33,-1.71,.54,-2.85,.66],["c",-.45,.06,-2.16,.06,-2.61,0],["c",-1.14,-.12,-2.01,-.33,-2.85,-.66],["c",-1.35,-.51,-2.34,-1.26,-2.82,-2.1],["l",-.12,-.18],["l",0,1.23],["c",0,1.23,0,1.26,-.06,1.38],["c",-.09,.18,-.15,.24,-.33,.33],["c",-.18,.09,-.36,.09,-.54,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["l",-.06,-.15],["l",0,-3.54],["c",0,-3.48,0,-3.54,.06,-3.66],["c",.09,-.18,.15,-.24,.33,-.33],["z"],["m",7.71,.63],["c",-.36,-.06,-.9,-.06,-1.14,0],["c",-.3,.03,-.66,.24,-.87,.42],["c",-.6,.54,-.9,1.62,-.75,2.82],["c",.12,.93,.51,1.68,1.11,2.31],["c",.75,.72,1.83,1.2,2.85,1.26],["c",1.05,.06,1.83,-.54,2.1,-1.65],["c",.21,-.9,.12,-1.95,-.24,-2.82],["c",-.36,-.81,-1.08,-1.53,-1.95,-1.95],["c",-.3,-.15,-.78,-.3,-1.11,-.39],["z"]],w:16.83,h:8.145},"noteheads.whole":{d:[["M",6.51,-4.05],["c",.51,-.03,2.01,0,2.52,.03],["c",1.41,.18,2.64,.51,3.72,1.08],["c",1.2,.63,1.95,1.41,2.19,2.31],["c",.09,.33,.09,.9,0,1.23],["c",-.24,.9,-.99,1.68,-2.19,2.31],["c",-1.08,.57,-2.28,.9,-3.75,1.08],["c",-.66,.06,-2.31,.06,-2.97,0],["c",-1.47,-.18,-2.67,-.51,-3.75,-1.08],["c",-1.2,-.63,-1.95,-1.41,-2.19,-2.31],["c",-.09,-.33,-.09,-.9,0,-1.23],["c",.24,-.9,.99,-1.68,2.19,-2.31],["c",1.2,-.63,2.61,-.99,4.23,-1.11],["z"],["m",.57,.66],["c",-.87,-.15,-1.53,0,-2.04,.51],["c",-.15,.15,-.24,.27,-.33,.48],["c",-.24,.51,-.36,1.08,-.33,1.77],["c",.03,.69,.18,1.26,.42,1.77],["c",.6,1.17,1.74,1.98,3.18,2.22],["c",1.11,.21,1.95,-.15,2.34,-.99],["c",.24,-.51,.36,-1.08,.33,-1.8],["c",-.06,-1.11,-.45,-2.04,-1.17,-2.76],["c",-.63,-.63,-1.47,-1.05,-2.4,-1.2],["z"]],w:14.985,h:8.097},"noteheads.half":{d:[["M",7.44,-4.05],["c",.06,-.03,.27,-.03,.48,-.03],["c",1.05,0,1.71,.24,2.1,.81],["c",.42,.6,.45,1.35,.18,2.4],["c",-.42,1.59,-1.14,2.73,-2.16,3.39],["c",-1.41,.93,-3.18,1.44,-5.4,1.53],["c",-1.17,.03,-1.89,-.21,-2.28,-.81],["c",-.42,-.6,-.45,-1.35,-.18,-2.4],["c",.42,-1.59,1.14,-2.73,2.16,-3.39],["c",.63,-.42,1.23,-.72,1.98,-.96],["c",.9,-.3,1.65,-.42,3.12,-.54],["z"],["m",1.29,.87],["c",-.27,-.09,-.63,-.12,-.9,-.03],["c",-.72,.24,-1.53,.69,-3.27,1.8],["c",-2.34,1.5,-3.3,2.25,-3.57,2.79],["c",-.36,.72,-.06,1.5,.66,1.77],["c",.24,.12,.69,.09,.99,0],["c",.84,-.3,1.92,-.93,4.14,-2.37],["c",1.62,-1.08,2.37,-1.71,2.61,-2.19],["c",.36,-.72,.06,-1.5,-.66,-1.77],["z"]],w:10.37,h:8.132},"noteheads.quarter":{d:[["M",6.09,-4.05],["c",.36,-.03,1.2,0,1.53,.06],["c",1.17,.24,1.89,.84,2.16,1.83],["c",.06,.18,.06,.3,.06,.66],["c",0,.45,0,.63,-.15,1.08],["c",-.66,2.04,-3.06,3.93,-5.52,4.38],["c",-.54,.09,-1.44,.09,-1.83,.03],["c",-1.23,-.27,-1.98,-.87,-2.25,-1.86],["c",-.06,-.18,-.06,-.3,-.06,-.66],["c",0,-.45,0,-.63,.15,-1.08],["c",.24,-.78,.75,-1.53,1.44,-2.22],["c",1.2,-1.2,2.85,-2.01,4.47,-2.22],["z"]],w:9.81,h:8.094},"noteheads.slash.nostem":{d:[["M",9.3,-7.77],["c",.06,-.06,.18,-.06,1.71,-.06],["l",1.65,0],["l",.09,.09],["c",.06,.06,.06,.09,.06,.15],["c",-.03,.12,-9.21,15.24,-9.3,15.33],["c",-.06,.06,-.18,.06,-1.71,.06],["l",-1.65,0],["l",-.09,-.09],["c",-.06,-.06,-.06,-.09,-.06,-.15],["c",.03,-.12,9.21,-15.24,9.3,-15.33],["z"]],w:12.81,h:15.63},"noteheads.indeterminate":{d:[["M",.78,-4.05],["c",.12,-.03,.24,-.03,.36,.03],["c",.03,.03,.93,.72,1.95,1.56],["l",1.86,1.5],["l",1.86,-1.5],["c",1.02,-.84,1.92,-1.53,1.95,-1.56],["c",.21,-.12,.33,-.09,.75,.24],["c",.3,.27,.36,.36,.36,.54],["c",0,.03,-.03,.12,-.06,.18],["c",-.03,.06,-.9,.75,-1.89,1.56],["l",-1.8,1.47],["c",0,.03,.81,.69,1.8,1.5],["c",.99,.81,1.86,1.5,1.89,1.56],["c",.03,.06,.06,.15,.06,.18],["c",0,.18,-.06,.27,-.36,.54],["c",-.42,.33,-.54,.36,-.75,.24],["c",-.03,-.03,-.93,-.72,-1.95,-1.56],["l",-1.86,-1.5],["l",-1.86,1.5],["c",-1.02,.84,-1.92,1.53,-1.95,1.56],["c",-.21,.12,-.33,.09,-.75,-.24],["c",-.3,-.27,-.36,-.36,-.36,-.54],["c",0,-.03,.03,-.12,.06,-.18],["c",.03,-.06,.9,-.75,1.89,-1.56],["l",1.8,-1.47],["c",0,-.03,-.81,-.69,-1.8,-1.5],["c",-.99,-.81,-1.86,-1.5,-1.89,-1.56],["c",-.06,-.12,-.09,-.21,-.03,-.36],["c",.03,-.09,.57,-.57,.72,-.63],["z"]],w:9.843,h:8.139},"scripts.ufermata":{d:[["M",-.75,-10.77],["c",.12,0,.45,-.03,.69,-.03],["c",2.91,-.03,5.55,1.53,7.41,4.35],["c",1.17,1.71,1.95,3.72,2.43,6.03],["c",.12,.51,.12,.57,.03,.69],["c",-.12,.21,-.48,.27,-.69,.12],["c",-.12,-.09,-.18,-.24,-.27,-.69],["c",-.78,-3.63,-3.42,-6.54,-6.78,-7.38],["c",-.78,-.21,-1.2,-.24,-2.07,-.24],["c",-.63,0,-.84,0,-1.2,.06],["c",-1.83,.27,-3.42,1.08,-4.8,2.37],["c",-1.41,1.35,-2.4,3.21,-2.85,5.19],["c",-.09,.45,-.15,.6,-.27,.69],["c",-.21,.15,-.57,.09,-.69,-.12],["c",-.09,-.12,-.09,-.18,.03,-.69],["c",.33,-1.62,.78,-3,1.47,-4.38],["c",1.77,-3.54,4.44,-5.67,7.56,-5.97],["z"],["m",.33,7.47],["c",1.38,-.3,2.58,.9,2.31,2.25],["c",-.15,.72,-.78,1.35,-1.47,1.5],["c",-1.38,.27,-2.58,-.93,-2.31,-2.31],["c",.15,-.69,.78,-1.29,1.47,-1.44],["z"]],w:19.748,h:11.289},"scripts.dfermata":{d:[["M",-9.63,-.42],["c",.15,-.09,.36,-.06,.51,.03],["c",.12,.09,.18,.24,.27,.66],["c",.78,3.66,3.42,6.57,6.78,7.41],["c",.78,.21,1.2,.24,2.07,.24],["c",.63,0,.84,0,1.2,-.06],["c",1.83,-.27,3.42,-1.08,4.8,-2.37],["c",1.41,-1.35,2.4,-3.21,2.85,-5.22],["c",.09,-.42,.15,-.57,.27,-.66],["c",.21,-.15,.57,-.09,.69,.12],["c",.09,.12,.09,.18,-.03,.69],["c",-.33,1.62,-.78,3,-1.47,4.38],["c",-1.92,3.84,-4.89,6,-8.31,6],["c",-3.42,0,-6.39,-2.16,-8.31,-6],["c",-.48,-.96,-.84,-1.92,-1.14,-2.97],["c",-.18,-.69,-.42,-1.74,-.42,-1.92],["c",0,-.12,.09,-.27,.24,-.33],["z"],["m",9.21,0],["c",1.2,-.27,2.34,.63,2.34,1.86],["c",0,.9,-.66,1.68,-1.5,1.89],["c",-1.38,.27,-2.58,-.93,-2.31,-2.31],["c",.15,-.69,.78,-1.29,1.47,-1.44],["z"]],w:19.744,h:11.274},"scripts.sforzato":{d:[["M",-6.45,-3.69],["c",.06,-.03,.15,-.06,.18,-.06],["c",.06,0,2.85,.72,6.24,1.59],["l",6.33,1.65],["c",.33,.06,.45,.21,.45,.51],["c",0,.3,-.12,.45,-.45,.51],["l",-6.33,1.65],["c",-3.39,.87,-6.18,1.59,-6.21,1.59],["c",-.21,0,-.48,-.24,-.51,-.45],["c",0,-.15,.06,-.36,.18,-.45],["c",.09,-.06,.87,-.27,3.84,-1.05],["c",2.04,-.54,3.84,-.99,4.02,-1.02],["c",.15,-.06,1.14,-.24,2.22,-.42],["c",1.05,-.18,1.92,-.36,1.92,-.36],["c",0,0,-.87,-.18,-1.92,-.36],["c",-1.08,-.18,-2.07,-.36,-2.22,-.42],["c",-.18,-.03,-1.98,-.48,-4.02,-1.02],["c",-2.97,-.78,-3.75,-.99,-3.84,-1.05],["c",-.12,-.09,-.18,-.3,-.18,-.45],["c",.03,-.15,.15,-.3,.3,-.39],["z"]],w:13.5,h:7.5},"scripts.staccato":{d:[["M",-.36,-1.47],["c",.93,-.21,1.86,.51,1.86,1.47],["c",0,.93,-.87,1.65,-1.8,1.47],["c",-.54,-.12,-1.02,-.57,-1.14,-1.08],["c",-.21,-.81,.27,-1.65,1.08,-1.86],["z"]],w:2.989,h:3.004},"scripts.tenuto":{d:[["M",-4.2,-.48],["l",.12,-.06],["l",4.08,0],["l",4.08,0],["l",.12,.06],["c",.39,.21,.39,.75,0,.96],["l",-.12,.06],["l",-4.08,0],["l",-4.08,0],["l",-.12,-.06],["c",-.39,-.21,-.39,-.75,0,-.96],["z"]],w:8.985,h:1.08},"scripts.umarcato":{d:[["M",-.15,-8.19],["c",.15,-.12,.36,-.03,.45,.15],["c",.21,.42,3.45,7.65,3.45,7.71],["c",0,.12,-.12,.27,-.21,.3],["c",-.03,.03,-.51,.03,-1.14,.03],["c",-1.05,0,-1.08,0,-1.17,-.06],["c",-.09,-.06,-.24,-.36,-1.17,-2.4],["c",-.57,-1.29,-1.05,-2.34,-1.08,-2.34],["c",0,-.03,-.51,1.02,-1.08,2.34],["c",-.93,2.07,-1.08,2.34,-1.14,2.4],["c",-.06,.03,-.15,.06,-.18,.06],["c",-.15,0,-.33,-.18,-.33,-.33],["c",0,-.06,3.24,-7.32,3.45,-7.71],["c",.03,-.06,.09,-.15,.15,-.15],["z"]],w:7.5,h:8.245},"scripts.dmarcato":{d:[["M",-3.57,.03],["c",.03,0,.57,-.03,1.17,-.03],["c",1.05,0,1.08,0,1.17,.06],["c",.09,.06,.24,.36,1.17,2.4],["c",.57,1.29,1.05,2.34,1.08,2.34],["c",0,.03,.51,-1.02,1.08,-2.34],["c",.93,-2.07,1.08,-2.34,1.14,-2.4],["c",.06,-.03,.15,-.06,.18,-.06],["c",.15,0,.33,.18,.33,.33],["c",0,.09,-3.45,7.74,-3.54,7.83],["c",-.12,.12,-.3,.12,-.42,0],["c",-.09,-.09,-3.54,-7.74,-3.54,-7.83],["c",0,-.09,.12,-.27,.18,-.3],["z"]],w:7.5,h:8.25},"scripts.stopped":{d:[["M",-.27,-4.08],["c",.18,-.09,.36,-.09,.54,0],["c",.18,.09,.24,.15,.33,.3],["l",.06,.15],["l",0,1.5],["l",0,1.47],["l",1.47,0],["l",1.5,0],["l",.15,.06],["c",.15,.09,.21,.15,.3,.33],["c",.09,.18,.09,.36,0,.54],["c",-.09,.18,-.15,.24,-.33,.33],["c",-.12,.06,-.18,.06,-1.62,.06],["l",-1.47,0],["l",0,1.47],["l",0,1.47],["l",-.06,.15],["c",-.09,.18,-.15,.24,-.33,.33],["c",-.18,.09,-.36,.09,-.54,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["l",-.06,-.15],["l",0,-1.47],["l",0,-1.47],["l",-1.47,0],["c",-1.44,0,-1.5,0,-1.62,-.06],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.09,-.18,-.09,-.36,0,-.54],["c",.09,-.18,.15,-.24,.33,-.33],["l",.15,-.06],["l",1.47,0],["l",1.47,0],["l",0,-1.47],["c",0,-1.44,0,-1.5,.06,-1.62],["c",.09,-.18,.15,-.24,.33,-.33],["z"]],w:8.295,h:8.295},"scripts.upbow":{d:[["M",-4.65,-15.54],["c",.12,-.09,.36,-.06,.48,.03],["c",.03,.03,.09,.09,.12,.15],["c",.03,.06,.66,2.13,1.41,4.62],["c",1.35,4.41,1.38,4.56,2.01,6.96],["l",.63,2.46],["l",.63,-2.46],["c",.63,-2.4,.66,-2.55,2.01,-6.96],["c",.75,-2.49,1.38,-4.56,1.41,-4.62],["c",.06,-.15,.18,-.21,.36,-.24],["c",.15,0,.3,.06,.39,.18],["c",.15,.21,.24,-.18,-2.1,7.56],["c",-1.2,3.96,-2.22,7.32,-2.25,7.41],["c",0,.12,-.06,.27,-.09,.3],["c",-.12,.21,-.6,.21,-.72,0],["c",-.03,-.03,-.09,-.18,-.09,-.3],["c",-.03,-.09,-1.05,-3.45,-2.25,-7.41],["c",-2.34,-7.74,-2.25,-7.35,-2.1,-7.56],["c",.03,-.03,.09,-.09,.15,-.12],["z"]],w:9.73,h:15.608},"scripts.downbow":{d:[["M",-5.55,-9.93],["l",.09,-.06],["l",5.46,0],["l",5.46,0],["l",.09,.06],["l",.06,.09],["l",0,4.77],["c",0,5.28,0,4.89,-.18,5.01],["c",-.18,.12,-.42,.06,-.54,-.12],["c",-.06,-.09,-.06,-.18,-.06,-2.97],["l",0,-2.85],["l",-4.83,0],["l",-4.83,0],["l",0,2.85],["c",0,2.79,0,2.88,-.06,2.97],["c",-.15,.24,-.51,.24,-.66,0],["c",-.06,-.09,-.06,-.21,-.06,-4.89],["l",0,-4.77],["z"]],w:11.22,h:9.992},"scripts.turn":{d:[["M",-4.77,-3.9],["c",.36,-.06,1.05,-.06,1.44,.03],["c",.78,.15,1.5,.51,2.34,1.14],["c",.6,.45,1.05,.87,2.22,2.01],["c",1.11,1.08,1.62,1.5,2.22,1.86],["c",.6,.36,1.32,.57,1.92,.57],["c",.9,0,1.71,-.57,1.89,-1.35],["c",.24,-.93,-.39,-1.89,-1.35,-2.1],["l",-.15,-.06],["l",-.09,.15],["c",-.03,.09,-.15,.24,-.24,.33],["c",-.72,.72,-2.04,.54,-2.49,-.36],["c",-.48,-.93,.03,-1.86,1.17,-2.19],["c",.3,-.09,1.02,-.09,1.35,0],["c",.99,.27,1.74,.87,2.25,1.83],["c",.69,1.41,.63,3,-.21,4.26],["c",-.21,.3,-.69,.81,-.99,1.02],["c",-.3,.21,-.84,.45,-1.17,.54],["c",-1.23,.36,-2.49,.15,-3.72,-.6],["c",-.75,-.48,-1.41,-1.02,-2.85,-2.46],["c",-1.11,-1.08,-1.62,-1.5,-2.22,-1.86],["c",-.6,-.36,-1.32,-.57,-1.92,-.57],["c",-.9,0,-1.71,.57,-1.89,1.35],["c",-.24,.93,.39,1.89,1.35,2.1],["l",.15,.06],["l",.09,-.15],["c",.03,-.09,.15,-.24,.24,-.33],["c",.72,-.72,2.04,-.54,2.49,.36],["c",.48,.93,-.03,1.86,-1.17,2.19],["c",-.3,.09,-1.02,.09,-1.35,0],["c",-.99,-.27,-1.74,-.87,-2.25,-1.83],["c",-.69,-1.41,-.63,-3,.21,-4.26],["c",.21,-.3,.69,-.81,.99,-1.02],["c",.48,-.33,1.11,-.57,1.74,-.66],["z"]],w:16.366,h:7.893},"scripts.trill":{d:[["M",-.51,-16.02],["c",.12,-.09,.21,-.18,.21,-.18],["l",-.81,4.02],["l",-.81,4.02],["c",.03,0,.51,-.27,1.08,-.6],["c",.6,-.3,1.14,-.63,1.26,-.66],["c",1.14,-.54,2.31,-.6,3.09,-.18],["c",.27,.15,.54,.36,.6,.51],["l",.06,.12],["l",.21,-.21],["c",.9,-.81,2.22,-.99,3.12,-.42],["c",.6,.42,.9,1.14,.78,2.07],["c",-.15,1.29,-1.05,2.31,-1.95,2.25],["c",-.48,-.03,-.78,-.3,-.96,-.81],["c",-.09,-.27,-.09,-.9,-.03,-1.2],["c",.21,-.75,.81,-1.23,1.59,-1.32],["l",.24,-.03],["l",-.09,-.12],["c",-.51,-.66,-1.62,-.63,-2.31,.03],["c",-.39,.42,-.3,.09,-1.23,4.77],["l",-.81,4.14],["c",-.03,0,-.12,-.03,-.21,-.09],["c",-.33,-.15,-.54,-.18,-.99,-.18],["c",-.42,0,-.66,.03,-1.05,.18],["c",-.12,.06,-.21,.09,-.21,.09],["c",0,-.03,.36,-1.86,.81,-4.11],["c",.9,-4.47,.87,-4.26,.69,-4.53],["c",-.21,-.36,-.66,-.51,-1.17,-.36],["c",-.15,.06,-2.22,1.14,-2.58,1.38],["c",-.12,.09,-.12,.09,-.21,.6],["l",-.09,.51],["l",.21,.24],["c",.63,.75,1.02,1.47,1.2,2.19],["c",.06,.27,.06,.36,.06,.81],["c",0,.42,0,.54,-.06,.78],["c",-.15,.54,-.33,.93,-.63,1.35],["c",-.18,.24,-.57,.63,-.81,.78],["c",-.24,.15,-.63,.36,-.84,.42],["c",-.27,.06,-.66,.06,-.87,.03],["c",-.81,-.18,-1.32,-1.05,-1.38,-2.46],["c",-.03,-.6,.03,-.99,.33,-2.46],["c",.21,-1.08,.24,-1.32,.21,-1.29],["c",-1.2,.48,-2.4,.75,-3.21,.72],["c",-.69,-.06,-1.17,-.3,-1.41,-.72],["c",-.39,-.75,-.12,-1.8,.66,-2.46],["c",.24,-.18,.69,-.42,1.02,-.51],["c",.69,-.18,1.53,-.15,2.31,.09],["c",.3,.09,.75,.3,.99,.45],["c",.12,.09,.15,.09,.15,.03],["c",.03,-.03,.33,-1.59,.72,-3.45],["c",.36,-1.86,.66,-3.42,.69,-3.45],["c",0,-.03,.03,-.03,.21,.03],["c",.21,.06,.27,.06,.48,.06],["c",.42,-.03,.78,-.18,1.26,-.48],["c",.15,-.12,.36,-.27,.48,-.39],["z"],["m",-5.73,7.68],["c",-.27,-.03,-.96,-.06,-1.2,-.03],["c",-.81,.12,-1.35,.57,-1.5,1.2],["c",-.18,.66,.12,1.14,.75,1.29],["c",.66,.12,1.92,-.12,3.18,-.66],["l",.33,-.15],["l",.09,-.39],["c",.06,-.21,.09,-.42,.09,-.45],["c",0,-.03,-.45,-.3,-.75,-.45],["c",-.27,-.15,-.66,-.27,-.99,-.36],["z"],["m",4.29,3.63],["c",-.24,-.39,-.51,-.75,-.51,-.69],["c",-.06,.12,-.39,1.92,-.45,2.28],["c",-.09,.54,-.12,1.14,-.06,1.38],["c",.06,.42,.21,.6,.51,.57],["c",.39,-.06,.75,-.48,.93,-1.14],["c",.09,-.33,.09,-1.05,0,-1.38],["c",-.09,-.39,-.24,-.69,-.42,-1.02],["z"]],w:17.963,h:16.49},"scripts.segno":{d:[["M",-3.72,-11.22],["c",.78,-.09,1.59,.03,2.31,.42],["c",1.2,.6,2.01,1.71,2.31,3.09],["c",.09,.42,.09,1.2,.03,1.5],["c",-.15,.45,-.39,.81,-.66,.93],["c",-.33,.18,-.84,.21,-1.23,.15],["c",-.81,-.18,-1.32,-.93,-1.26,-1.89],["c",.03,-.36,.09,-.57,.24,-.9],["c",.15,-.33,.45,-.6,.72,-.75],["c",.12,-.06,.18,-.09,.18,-.12],["c",0,-.03,-.03,-.15,-.09,-.24],["c",-.18,-.45,-.54,-.87,-.96,-1.08],["c",-1.11,-.57,-2.34,-.18,-2.88,.9],["c",-.24,.51,-.33,1.11,-.24,1.83],["c",.27,1.92,1.5,3.54,3.93,5.13],["c",.48,.33,1.26,.78,1.29,.78],["c",.03,0,1.35,-2.19,2.94,-4.89],["l",2.88,-4.89],["l",.84,0],["l",.87,0],["l",-.03,.06],["c",-.15,.21,-6.15,10.41,-6.15,10.44],["c",0,0,.21,.15,.48,.27],["c",2.61,1.47,4.35,3.03,5.13,4.65],["c",1.14,2.34,.51,5.07,-1.44,6.39],["c",-.66,.42,-1.32,.63,-2.13,.69],["c",-2.01,.09,-3.81,-1.41,-4.26,-3.54],["c",-.09,-.42,-.09,-1.2,-.03,-1.5],["c",.15,-.45,.39,-.81,.66,-.93],["c",.33,-.18,.84,-.21,1.23,-.15],["c",.81,.18,1.32,.93,1.26,1.89],["c",-.03,.36,-.09,.57,-.24,.9],["c",-.15,.33,-.45,.6,-.72,.75],["c",-.12,.06,-.18,.09,-.18,.12],["c",0,.03,.03,.15,.09,.24],["c",.18,.45,.54,.87,.96,1.08],["c",1.11,.57,2.34,.18,2.88,-.9],["c",.24,-.51,.33,-1.11,.24,-1.83],["c",-.27,-1.92,-1.5,-3.54,-3.93,-5.13],["c",-.48,-.33,-1.26,-.78,-1.29,-.78],["c",-.03,0,-1.35,2.19,-2.91,4.89],["l",-2.88,4.89],["l",-.87,0],["l",-.87,0],["l",.03,-.06],["c",.15,-.21,6.15,-10.41,6.15,-10.44],["c",0,0,-.21,-.15,-.48,-.3],["c",-2.61,-1.44,-4.35,-3,-5.13,-4.62],["c",-.9,-1.89,-.72,-4.02,.48,-5.52],["c",.69,-.84,1.68,-1.41,2.73,-1.53],["z"],["m",8.76,9.09],["c",.03,-.03,.15,-.03,.27,-.03],["c",.33,.03,.57,.18,.72,.48],["c",.09,.18,.09,.57,0,.75],["c",-.09,.18,-.21,.3,-.36,.39],["c",-.15,.06,-.21,.06,-.39,.06],["c",-.21,0,-.27,0,-.39,-.06],["c",-.3,-.15,-.48,-.45,-.48,-.75],["c",0,-.39,.24,-.72,.63,-.84],["z"],["m",-10.53,2.61],["c",.03,-.03,.15,-.03,.27,-.03],["c",.33,.03,.57,.18,.72,.48],["c",.09,.18,.09,.57,0,.75],["c",-.09,.18,-.21,.3,-.36,.39],["c",-.15,.06,-.21,.06,-.39,.06],["c",-.21,0,-.27,0,-.39,-.06],["c",-.3,-.15,-.48,-.45,-.48,-.75],["c",0,-.39,.24,-.72,.63,-.84],["z"]],w:15,h:22.504},"scripts.coda":{d:[["M",-.21,-10.47],["c",.18,-.12,.42,-.06,.54,.12],["c",.06,.09,.06,.18,.06,1.5],["l",0,1.38],["l",.18,0],["c",.39,.06,.96,.24,1.38,.48],["c",1.68,.93,2.82,3.24,3.03,6.12],["c",.03,.24,.03,.45,.03,.45],["c",0,.03,.6,.03,1.35,.03],["c",1.5,0,1.47,0,1.59,.18],["c",.09,.12,.09,.3,0,.42],["c",-.12,.18,-.09,.18,-1.59,.18],["c",-.75,0,-1.35,0,-1.35,.03],["c",0,0,0,.21,-.03,.42],["c",-.24,3.15,-1.53,5.58,-3.45,6.36],["c",-.27,.12,-.72,.24,-.96,.27],["l",-.18,0],["l",0,1.38],["c",0,1.32,0,1.41,-.06,1.5],["c",-.15,.24,-.51,.24,-.66,0],["c",-.06,-.09,-.06,-.18,-.06,-1.5],["l",0,-1.38],["l",-.18,0],["c",-.39,-.06,-.96,-.24,-1.38,-.48],["c",-1.68,-.93,-2.82,-3.24,-3.03,-6.15],["c",-.03,-.21,-.03,-.42,-.03,-.42],["c",0,-.03,-.6,-.03,-1.35,-.03],["c",-1.5,0,-1.47,0,-1.59,-.18],["c",-.09,-.12,-.09,-.3,0,-.42],["c",.12,-.18,.09,-.18,1.59,-.18],["c",.75,0,1.35,0,1.35,-.03],["c",0,0,0,-.21,.03,-.45],["c",.24,-3.12,1.53,-5.55,3.45,-6.33],["c",.27,-.12,.72,-.24,.96,-.27],["l",.18,0],["l",0,-1.38],["c",0,-1.53,0,-1.5,.18,-1.62],["z"],["m",-.18,6.93],["c",0,-2.97,0,-3.15,-.06,-3.15],["c",-.09,0,-.51,.15,-.66,.21],["c",-.87,.51,-1.38,1.62,-1.56,3.51],["c",-.06,.54,-.12,1.59,-.12,2.16],["l",0,.42],["l",1.2,0],["l",1.2,0],["l",0,-3.15],["z"],["m",1.17,-3.06],["c",-.09,-.03,-.21,-.06,-.27,-.09],["l",-.12,0],["l",0,3.15],["l",0,3.15],["l",1.2,0],["l",1.2,0],["l",0,-.81],["c",-.06,-2.4,-.33,-3.69,-.93,-4.59],["c",-.27,-.39,-.66,-.69,-1.08,-.81],["z"],["m",-1.17,10.14],["l",0,-3.15],["l",-1.2,0],["l",-1.2,0],["l",0,.81],["c",.03,.96,.06,1.47,.15,2.13],["c",.24,2.04,.96,3.12,2.13,3.36],["l",.12,0],["l",0,-3.15],["z"],["m",3.18,-2.34],["l",0,-.81],["l",-1.2,0],["l",-1.2,0],["l",0,3.15],["l",0,3.15],["l",.12,0],["c",1.17,-.24,1.89,-1.32,2.13,-3.36],["c",.09,-.66,.12,-1.17,.15,-2.13],["z"]],w:16.035,h:21.062},"scripts.comma":{d:[["M",1.14,-4.62],["c",.3,-.12,.69,-.03,.93,.15],["c",.12,.12,.36,.45,.51,.78],["c",.9,1.77,.54,4.05,-1.08,6.75],["c",-.36,.63,-.87,1.38,-.96,1.44],["c",-.18,.12,-.42,.06,-.54,-.12],["c",-.09,-.18,-.09,-.3,.12,-.6],["c",.96,-1.44,1.44,-2.97,1.38,-4.35],["c",-.06,-.93,-.3,-1.68,-.78,-2.46],["c",-.27,-.39,-.33,-.63,-.24,-.96],["c",.09,-.27,.36,-.54,.66,-.63],["z"]],w:3.042,h:9.237},"scripts.roll":{d:[["M",1.95,-6],["c",.21,-.09,.36,-.09,.57,0],["c",.39,.15,.63,.39,1.47,1.35],["c",.66,.75,.78,.87,1.08,1.05],["c",.75,.45,1.65,.42,2.4,-.06],["c",.12,-.09,.27,-.27,.54,-.6],["c",.42,-.54,.51,-.63,.69,-.63],["c",.09,0,.3,.12,.36,.21],["c",.09,.12,.12,.3,.03,.42],["c",-.06,.12,-3.15,3.9,-3.3,4.08],["c",-.06,.06,-.18,.12,-.27,.18],["c",-.27,.12,-.6,.06,-.99,-.27],["c",-.27,-.21,-.42,-.39,-1.08,-1.14],["c",-.63,-.72,-.81,-.9,-1.17,-1.08],["c",-.36,-.18,-.57,-.21,-.99,-.21],["c",-.39,0,-.63,.03,-.93,.18],["c",-.36,.15,-.51,.27,-.9,.81],["c",-.24,.27,-.45,.51,-.48,.54],["c",-.12,.09,-.27,.06,-.39,0],["c",-.24,-.15,-.33,-.39,-.21,-.6],["c",.09,-.12,3.18,-3.87,3.33,-4.02],["c",.06,-.06,.18,-.15,.24,-.21],["z"]],w:10.817,h:6.125},"scripts.prall":{d:[["M",-4.38,-3.69],["c",.06,-.03,.18,-.06,.24,-.06],["c",.3,0,.27,-.03,1.89,1.95],["l",1.53,1.83],["c",.03,0,.57,-.84,1.23,-1.83],["c",1.14,-1.68,1.23,-1.83,1.35,-1.89],["c",.06,-.03,.18,-.06,.24,-.06],["c",.3,0,.27,-.03,1.89,1.95],["l",1.53,1.83],["l",.48,-.69],["c",.51,-.78,.54,-.84,.69,-.9],["c",.42,-.18,.87,.15,.81,.6],["c",-.03,.12,-.3,.51,-1.5,2.37],["c",-1.38,2.07,-1.5,2.22,-1.62,2.28],["c",-.06,.03,-.18,.06,-.24,.06],["c",-.3,0,-.27,.03,-1.89,-1.95],["l",-1.53,-1.83],["c",-.03,0,-.57,.84,-1.23,1.83],["c",-1.14,1.68,-1.23,1.83,-1.35,1.89],["c",-.06,.03,-.18,.06,-.24,.06],["c",-.3,0,-.27,.03,-1.89,-1.95],["l",-1.53,-1.83],["l",-.48,.69],["c",-.51,.78,-.54,.84,-.69,.9],["c",-.42,.18,-.87,-.15,-.81,-.6],["c",.03,-.12,.3,-.51,1.5,-2.37],["c",1.38,-2.07,1.5,-2.22,1.62,-2.28],["z"]],w:15.011,h:7.5},"scripts.arpeggio":{d:[["M",1.5,0],["c",1.5,2,1.5,3,1.5,3],["s",0,1,-2,1.5],["s",-.5,3,1,5.5],["l",1.5,0],["s",-1.75,-2,-1.9,-3.25],["s",2.15,-.6,2.95,-1.6],["s",.45,-1,.5,-1.25],["s",0,-1,-2,-3.9],["l",-1.5,0],["z"]],w:5,h:10},"scripts.mordent":{d:[["M",-.21,-4.95],["c",.27,-.15,.63,0,.75,.27],["c",.06,.12,.06,.24,.06,1.44],["l",0,1.29],["l",.57,-.84],["c",.51,-.75,.57,-.84,.69,-.9],["c",.06,-.03,.18,-.06,.24,-.06],["c",.3,0,.27,-.03,1.89,1.95],["l",1.53,1.83],["l",.48,-.69],["c",.51,-.78,.54,-.84,.69,-.9],["c",.42,-.18,.87,.15,.81,.6],["c",-.03,.12,-.3,.51,-1.5,2.37],["c",-1.38,2.07,-1.5,2.22,-1.62,2.28],["c",-.06,.03,-.18,.06,-.24,.06],["c",-.3,0,-.27,.03,-1.83,-1.89],["c",-.81,-.99,-1.5,-1.8,-1.53,-1.86],["c",-.06,-.03,-.06,-.03,-.12,.03],["c",-.06,.06,-.06,.15,-.06,2.28],["c",0,1.95,0,2.25,-.06,2.34],["c",-.18,.45,-.81,.48,-1.05,.03],["c",-.03,-.06,-.06,-.24,-.06,-1.41],["l",0,-1.35],["l",-.57,.84],["c",-.54,.78,-.6,.87,-.72,.93],["c",-.06,.03,-.18,.06,-.24,.06],["c",-.3,0,-.27,.03,-1.89,-1.95],["l",-1.53,-1.83],["l",-.48,.69],["c",-.51,.78,-.54,.84,-.69,.9],["c",-.42,.18,-.87,-.15,-.81,-.6],["c",.03,-.12,.3,-.51,1.5,-2.37],["c",1.38,-2.07,1.5,-2.22,1.62,-2.28],["c",.06,-.03,.18,-.06,.24,-.06],["c",.3,0,.27,-.03,1.89,1.95],["l",1.53,1.83],["c",.03,0,.06,-.06,.09,-.09],["c",.06,-.12,.06,-.15,.06,-2.28],["c",0,-1.92,0,-2.22,.06,-2.31],["c",.06,-.15,.15,-.24,.3,-.3],["z"]],w:15.011,h:10.012},"flags.u8th":{d:[["M",-.42,3.75],["l",0,-3.75],["l",.21,0],["l",.21,0],["l",0,.18],["c",0,.3,.06,.84,.12,1.23],["c",.24,1.53,.9,3.12,2.13,5.16],["l",.99,1.59],["c",.87,1.44,1.38,2.34,1.77,3.09],["c",.81,1.68,1.2,3.06,1.26,4.53],["c",.03,1.53,-.21,3.27,-.75,5.01],["c",-.21,.69,-.51,1.5,-.6,1.59],["c",-.09,.12,-.27,.21,-.42,.21],["c",-.15,0,-.42,-.12,-.51,-.21],["c",-.15,-.18,-.18,-.42,-.09,-.66],["c",.15,-.33,.45,-1.2,.57,-1.62],["c",.42,-1.38,.6,-2.58,.6,-3.9],["c",0,-.66,0,-.81,-.06,-1.11],["c",-.39,-2.07,-1.8,-4.26,-4.59,-7.14],["l",-.42,-.45],["l",-.21,0],["l",-.21,0],["l",0,-3.75],["z"]],w:6.692,h:22.59},"flags.u16th":{d:[["M",-.42,7.5],["l",0,-7.5],["l",.21,0],["l",.21,0],["l",0,.39],["c",.06,1.08,.39,2.19,.99,3.39],["c",.45,.9,.87,1.59,1.95,3.12],["c",1.29,1.86,1.77,2.64,2.22,3.57],["c",.45,.93,.72,1.8,.87,2.64],["c",.06,.51,.06,1.5,0,1.92],["c",-.12,.6,-.3,1.2,-.54,1.71],["l",-.09,.24],["l",.18,.45],["c",.51,1.2,.72,2.22,.69,3.42],["c",-.06,1.53,-.39,3.03,-.99,4.53],["c",-.3,.75,-.36,.81,-.57,.9],["c",-.15,.09,-.33,.06,-.48,0],["c",-.18,-.09,-.27,-.18,-.33,-.33],["c",-.09,-.18,-.06,-.3,.12,-.75],["c",.66,-1.41,1.02,-2.88,1.08,-4.32],["c",0,-.6,-.03,-1.05,-.18,-1.59],["c",-.3,-1.2,-.99,-2.4,-2.25,-3.87],["c",-.42,-.48,-1.53,-1.62,-2.19,-2.22],["l",-.45,-.42],["l",-.03,1.11],["l",0,1.11],["l",-.21,0],["l",-.21,0],["l",0,-7.5],["z"],["m",1.65,.09],["c",-.3,-.3,-.69,-.72,-.9,-.87],["l",-.33,-.33],["l",0,.15],["c",0,.3,.06,.81,.15,1.26],["c",.27,1.29,.87,2.61,2.04,4.29],["c",.15,.24,.6,.87,.96,1.38],["l",1.08,1.53],["l",.42,.63],["c",.03,0,.12,-.36,.21,-.72],["c",.06,-.33,.06,-1.2,0,-1.62],["c",-.33,-1.71,-1.44,-3.48,-3.63,-5.7],["z"]],w:6.693,h:26.337},"flags.u32nd":{d:[["M",-.42,11.25],["l",0,-11.25],["l",.21,0],["l",.21,0],["l",0,.36],["c",.09,1.68,.69,3.27,2.07,5.46],["l",.87,1.35],["c",1.02,1.62,1.47,2.37,1.86,3.18],["c",.48,1.02,.78,1.92,.93,2.88],["c",.06,.48,.06,1.5,0,1.89],["c",-.09,.42,-.21,.87,-.36,1.26],["l",-.12,.3],["l",.15,.39],["c",.69,1.56,.84,2.88,.54,4.38],["c",-.09,.45,-.27,1.08,-.45,1.47],["l",-.12,.24],["l",.18,.36],["c",.33,.72,.57,1.56,.69,2.34],["c",.12,1.02,-.06,2.52,-.42,3.84],["c",-.27,.93,-.75,2.13,-.93,2.31],["c",-.18,.15,-.45,.18,-.66,.09],["c",-.18,-.09,-.27,-.18,-.33,-.33],["c",-.09,-.18,-.06,-.3,.06,-.6],["c",.21,-.36,.42,-.9,.57,-1.38],["c",.51,-1.41,.69,-3.06,.48,-4.08],["c",-.15,-.81,-.57,-1.68,-1.2,-2.55],["c",-.72,-.99,-1.83,-2.13,-3.3,-3.33],["l",-.48,-.42],["l",-.03,1.53],["l",0,1.56],["l",-.21,0],["l",-.21,0],["l",0,-11.25],["z"],["m",1.26,-3.96],["c",-.27,-.3,-.54,-.6,-.66,-.72],["l",-.18,-.21],["l",0,.42],["c",.06,.87,.24,1.74,.66,2.67],["c",.36,.87,.96,1.86,1.92,3.18],["c",.21,.33,.63,.87,.87,1.23],["c",.27,.39,.6,.84,.75,1.08],["l",.27,.39],["l",.03,-.12],["c",.12,-.45,.15,-1.05,.09,-1.59],["c",-.27,-1.86,-1.38,-3.78,-3.75,-6.33],["z"],["m",-.27,6.09],["c",-.27,-.21,-.48,-.42,-.51,-.45],["c",-.06,-.03,-.06,-.03,-.06,.21],["c",0,.9,.3,2.04,.81,3.09],["c",.48,1.02,.96,1.77,2.37,3.63],["c",.6,.78,1.05,1.44,1.29,1.77],["c",.06,.12,.15,.21,.15,.18],["c",.03,-.03,.18,-.57,.24,-.87],["c",.06,-.45,.06,-1.32,-.03,-1.74],["c",-.09,-.48,-.24,-.9,-.51,-1.44],["c",-.66,-1.35,-1.83,-2.7,-3.75,-4.38],["z"]],w:6.697,h:32.145},"flags.u64th":{d:[["M",-.42,15],["l",0,-15],["l",.21,0],["l",.21,0],["l",0,.36],["c",.06,1.2,.39,2.37,1.02,3.66],["c",.39,.81,.84,1.56,1.8,3.09],["c",.81,1.26,1.05,1.68,1.35,2.22],["c",.87,1.5,1.35,2.79,1.56,4.08],["c",.06,.54,.06,1.56,-.03,2.04],["c",-.09,.48,-.21,.99,-.36,1.35],["l",-.12,.27],["l",.12,.27],["c",.09,.15,.21,.45,.27,.66],["c",.69,1.89,.63,3.66,-.18,5.46],["l",-.18,.39],["l",.15,.33],["c",.3,.66,.51,1.44,.63,2.1],["c",.06,.48,.06,1.35,0,1.71],["c",-.15,.57,-.42,1.2,-.78,1.68],["l",-.21,.27],["l",.18,.33],["c",.57,1.05,.93,2.13,1.02,3.18],["c",.06,.72,0,1.83,-.21,2.79],["c",-.18,1.02,-.63,2.34,-1.02,3.09],["c",-.15,.33,-.48,.45,-.78,.3],["c",-.18,-.09,-.27,-.18,-.33,-.33],["c",-.09,-.18,-.06,-.3,.03,-.54],["c",.75,-1.5,1.23,-3.45,1.17,-4.89],["c",-.06,-1.02,-.42,-2.01,-1.17,-3.15],["c",-.48,-.72,-1.02,-1.35,-1.89,-2.22],["c",-.57,-.57,-1.56,-1.5,-1.92,-1.77],["l",-.12,-.09],["l",0,1.68],["l",0,1.68],["l",-.21,0],["l",-.21,0],["l",0,-15],["z"],["m",.93,-8.07],["c",-.27,-.3,-.48,-.54,-.51,-.54],["c",0,0,0,.69,.03,1.02],["c",.15,1.47,.75,2.94,2.04,4.83],["l",1.08,1.53],["c",.39,.57,.84,1.2,.99,1.44],["c",.15,.24,.3,.45,.3,.45],["c",0,0,.03,-.09,.06,-.21],["c",.36,-1.59,-.15,-3.33,-1.47,-5.4],["c",-.63,-.93,-1.35,-1.83,-2.52,-3.12],["z"],["m",.06,6.72],["c",-.24,-.21,-.48,-.42,-.51,-.45],["l",-.06,-.06],["l",0,.33],["c",0,1.2,.3,2.34,.93,3.6],["c",.45,.9,.96,1.68,2.25,3.51],["c",.39,.54,.84,1.17,1.02,1.44],["c",.21,.33,.33,.51,.33,.48],["c",.06,-.09,.21,-.63,.3,-.99],["c",.06,-.33,.06,-.45,.06,-.96],["c",0,-.6,-.03,-.84,-.18,-1.35],["c",-.3,-1.08,-1.02,-2.28,-2.13,-3.57],["c",-.39,-.45,-1.44,-1.47,-2.01,-1.98],["z"],["m",0,6.72],["c",-.24,-.21,-.48,-.39,-.51,-.42],["l",-.06,-.06],["l",0,.33],["c",0,1.41,.45,2.82,1.38,4.35],["c",.42,.72,.72,1.14,1.86,2.73],["c",.36,.45,.75,.99,.87,1.2],["c",.15,.21,.3,.36,.3,.36],["c",.06,0,.3,-.48,.39,-.75],["c",.09,-.36,.12,-.63,.12,-1.05],["c",-.06,-1.05,-.45,-2.04,-1.2,-3.18],["c",-.57,-.87,-1.11,-1.53,-2.07,-2.49],["c",-.36,-.33,-.84,-.78,-1.08,-1.02],["z"]],w:6.682,h:39.694},"flags.d8th":{d:[["M",5.67,-21.63],["c",.24,-.12,.54,-.06,.69,.15],["c",.06,.06,.21,.36,.39,.66],["c",.84,1.77,1.26,3.36,1.32,5.1],["c",.03,1.29,-.21,2.37,-.81,3.63],["c",-.6,1.23,-1.26,2.13,-3.21,4.38],["c",-1.35,1.53,-1.86,2.19,-2.4,2.97],["c",-.63,.93,-1.11,1.92,-1.38,2.79],["c",-.15,.54,-.27,1.35,-.27,1.8],["l",0,.15],["l",-.21,0],["l",-.21,0],["l",0,-3.75],["l",0,-3.75],["l",.21,0],["l",.21,0],["l",.48,-.3],["c",1.83,-1.11,3.12,-2.1,4.17,-3.12],["c",.78,-.81,1.32,-1.53,1.71,-2.31],["c",.45,-.93,.6,-1.74,.51,-2.88],["c",-.12,-1.56,-.63,-3.18,-1.47,-4.68],["c",-.12,-.21,-.15,-.33,-.06,-.51],["c",.06,-.15,.15,-.24,.33,-.33],["z"]],w:8.492,h:21.691},"flags.ugrace":{d:[["M",6.03,6.93],["c",.15,-.09,.33,-.06,.51,0],["c",.15,.09,.21,.15,.3,.33],["c",.09,.18,.06,.39,-.03,.54],["c",-.06,.15,-10.89,8.88,-11.07,8.97],["c",-.15,.09,-.33,.06,-.48,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.09,-.18,-.06,-.39,.03,-.54],["c",.06,-.15,10.89,-8.88,11.07,-8.97],["z"]],w:12.019,h:9.954},"flags.dgrace":{d:[["M",-6.06,-15.93],["c",.18,-.09,.33,-.12,.48,-.06],["c",.18,.09,14.01,8.04,14.1,8.1],["c",.12,.12,.18,.33,.18,.51],["c",-.03,.21,-.15,.39,-.36,.48],["c",-.18,.09,-.33,.12,-.48,.06],["c",-.18,-.09,-14.01,-8.04,-14.1,-8.1],["c",-.12,-.12,-.18,-.33,-.18,-.51],["c",.03,-.21,.15,-.39,.36,-.48],["z"]],w:15.12,h:9.212},"flags.d16th":{d:[["M",6.84,-22.53],["c",.27,-.12,.57,-.06,.72,.15],["c",.15,.15,.33,.87,.45,1.56],["c",.06,.33,.06,1.35,0,1.65],["c",-.06,.33,-.15,.78,-.27,1.11],["c",-.12,.33,-.45,.96,-.66,1.32],["l",-.18,.27],["l",.09,.18],["c",.48,1.02,.72,2.25,.69,3.3],["c",-.06,1.23,-.42,2.28,-1.26,3.45],["c",-.57,.87,-.99,1.32,-3,3.39],["c",-1.56,1.56,-2.22,2.4,-2.76,3.45],["c",-.42,.84,-.66,1.8,-.66,2.55],["l",0,.15],["l",-.21,0],["l",-.21,0],["l",0,-7.5],["l",0,-7.5],["l",.21,0],["l",.21,0],["l",0,1.14],["l",0,1.11],["l",.27,-.15],["c",1.11,-.57,1.77,-.99,2.52,-1.47],["c",2.37,-1.56,3.69,-3.15,4.05,-4.83],["c",.03,-.18,.03,-.39,.03,-.78],["c",0,-.6,-.03,-.93,-.24,-1.5],["c",-.06,-.18,-.12,-.39,-.15,-.45],["c",-.03,-.24,.12,-.48,.36,-.6],["z"],["m",-.63,7.5],["c",-.06,-.18,-.15,-.36,-.15,-.36],["c",-.03,0,-.03,.03,-.06,.06],["c",-.06,.12,-.96,1.02,-1.95,1.98],["c",-.63,.57,-1.26,1.17,-1.44,1.35],["c",-1.53,1.62,-2.28,2.85,-2.55,4.32],["c",-.03,.18,-.03,.54,-.06,.99],["l",0,.69],["l",.18,-.09],["c",.93,-.54,2.1,-1.29,2.82,-1.83],["c",.69,-.51,1.02,-.81,1.53,-1.29],["c",1.86,-1.89,2.37,-3.66,1.68,-5.82],["z"]],w:8.475,h:22.591},"flags.d32nd":{d:[["M",6.84,-29.13],["c",.27,-.12,.57,-.06,.72,.15],["c",.12,.12,.27,.63,.36,1.11],["c",.33,1.59,.06,3.06,-.81,4.47],["l",-.18,.27],["l",.09,.15],["c",.12,.24,.33,.69,.45,1.05],["c",.63,1.83,.45,3.57,-.57,5.22],["l",-.18,.3],["l",.15,.27],["c",.42,.87,.6,1.71,.57,2.61],["c",-.06,1.29,-.48,2.46,-1.35,3.78],["c",-.54,.81,-.93,1.29,-2.46,3],["c",-.51,.54,-1.05,1.17,-1.26,1.41],["c",-1.56,1.86,-2.25,3.36,-2.37,5.01],["l",0,.33],["l",-.21,0],["l",-.21,0],["l",0,-11.25],["l",0,-11.25],["l",.21,0],["l",.21,0],["l",0,1.35],["l",.03,1.35],["l",.78,-.39],["c",1.38,-.69,2.34,-1.26,3.24,-1.92],["c",1.38,-1.02,2.28,-2.13,2.64,-3.21],["c",.15,-.48,.18,-.72,.18,-1.29],["c",0,-.57,-.06,-.9,-.24,-1.47],["c",-.06,-.18,-.12,-.39,-.15,-.45],["c",-.03,-.24,.12,-.48,.36,-.6],["z"],["m",-.63,7.2],["c",-.09,-.18,-.12,-.21,-.12,-.15],["c",-.03,.09,-1.02,1.08,-2.04,2.04],["c",-1.17,1.08,-1.65,1.56,-2.07,2.04],["c",-.84,.96,-1.38,1.86,-1.68,2.76],["c",-.21,.57,-.27,.99,-.3,1.65],["l",0,.54],["l",.66,-.33],["c",3.57,-1.86,5.49,-3.69,5.94,-5.7],["c",.06,-.39,.06,-1.2,-.03,-1.65],["c",-.06,-.39,-.24,-.9,-.36,-1.2],["z"],["m",-.06,7.2],["c",-.06,-.15,-.12,-.33,-.15,-.45],["l",-.06,-.18],["l",-.18,.21],["l",-1.83,1.83],["c",-.87,.9,-1.77,1.8,-1.95,2.01],["c",-1.08,1.29,-1.62,2.31,-1.89,3.51],["c",-.06,.3,-.06,.51,-.09,.93],["l",0,.57],["l",.09,-.06],["c",.75,-.45,1.89,-1.26,2.52,-1.74],["c",.81,-.66,1.74,-1.53,2.22,-2.16],["c",1.26,-1.53,1.68,-3.06,1.32,-4.47],["z"]],w:8.385,h:29.191},"flags.d64th":{d:[["M",7.08,-32.88],["c",.3,-.12,.66,-.03,.78,.24],["c",.18,.33,.27,2.1,.15,2.64],["c",-.09,.39,-.21,.78,-.39,1.08],["l",-.15,.3],["l",.09,.27],["c",.03,.12,.09,.45,.12,.69],["c",.27,1.44,.18,2.55,-.3,3.6],["l",-.12,.33],["l",.06,.42],["c",.27,1.35,.33,2.82,.21,3.63],["c",-.12,.6,-.3,1.23,-.57,1.8],["l",-.15,.27],["l",.03,.42],["c",.06,1.02,.06,2.7,.03,3.06],["c",-.15,1.47,-.66,2.76,-1.74,4.41],["c",-.45,.69,-.75,1.11,-1.74,2.37],["c",-1.05,1.38,-1.5,1.98,-1.95,2.73],["c",-.93,1.5,-1.38,2.82,-1.44,4.2],["l",0,.42],["l",-.21,0],["l",-.21,0],["l",0,-15],["l",0,-15],["l",.21,0],["l",.21,0],["l",0,1.86],["l",0,1.89],["c",0,0,.21,-.03,.45,-.09],["c",2.22,-.39,4.08,-1.11,5.19,-2.01],["c",.63,-.54,1.02,-1.14,1.2,-1.8],["c",.06,-.3,.06,-1.14,-.03,-1.65],["c",-.03,-.18,-.06,-.39,-.09,-.48],["c",-.03,-.24,.12,-.48,.36,-.6],["z"],["m",-.45,6.15],["c",-.03,-.18,-.06,-.42,-.06,-.54],["l",-.03,-.18],["l",-.33,.3],["c",-.42,.36,-.87,.72,-1.68,1.29],["c",-1.98,1.38,-2.25,1.59,-2.85,2.16],["c",-.75,.69,-1.23,1.44,-1.47,2.19],["c",-.15,.45,-.18,.63,-.21,1.35],["l",0,.66],["l",.39,-.18],["c",1.83,-.9,3.45,-1.95,4.47,-2.91],["c",.93,-.9,1.53,-1.83,1.74,-2.82],["c",.06,-.33,.06,-.87,.03,-1.32],["z"],["m",-.27,4.86],["c",-.03,-.21,-.06,-.36,-.06,-.36],["c",0,-.03,-.12,.09,-.24,.24],["c",-.39,.48,-.99,1.08,-2.16,2.19],["c",-1.47,1.38,-1.92,1.83,-2.46,2.49],["c",-.66,.87,-1.08,1.74,-1.29,2.58],["c",-.09,.42,-.15,.87,-.15,1.44],["l",0,.54],["l",.48,-.33],["c",1.5,-1.02,2.58,-1.89,3.51,-2.82],["c",1.47,-1.47,2.25,-2.85,2.4,-4.26],["c",.03,-.39,.03,-1.17,-.03,-1.71],["z"],["m",-.66,7.68],["c",.03,-.15,.03,-.6,.03,-.99],["l",0,-.72],["l",-.27,.33],["l",-1.74,1.98],["c",-1.77,1.92,-2.43,2.76,-2.97,3.9],["c",-.51,1.02,-.72,1.77,-.75,2.91],["c",0,.63,0,.63,.06,.6],["c",.03,-.03,.3,-.27,.63,-.54],["c",.66,-.6,1.86,-1.8,2.31,-2.31],["c",1.65,-1.89,2.52,-3.54,2.7,-5.16],["z"]],w:8.485,h:32.932},"clefs.C":{d:[["M",.06,-14.94],["l",.09,-.06],["l",1.92,0],["l",1.92,0],["l",.09,.06],["l",.06,.09],["l",0,14.85],["l",0,14.82],["l",-.06,.09],["l",-.09,.06],["l",-1.92,0],["l",-1.92,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-14.82],["l",0,-14.85],["z"],["m",5.37,0],["c",.09,-.06,.09,-.06,.57,-.06],["c",.45,0,.45,0,.54,.06],["l",.06,.09],["l",0,7.14],["l",0,7.11],["l",.09,-.06],["c",.18,-.18,.72,-.84,.96,-1.2],["c",.3,-.45,.66,-1.17,.84,-1.65],["c",.36,-.9,.57,-1.83,.6,-2.79],["c",.03,-.48,.03,-.54,.09,-.63],["c",.12,-.18,.36,-.21,.54,-.12],["c",.18,.09,.21,.15,.24,.66],["c",.06,.87,.21,1.56,.57,2.22],["c",.51,1.02,1.26,1.68,2.22,1.92],["c",.21,.06,.33,.06,.78,.06],["c",.45,0,.57,0,.84,-.06],["c",.45,-.12,.81,-.33,1.08,-.6],["c",.57,-.57,.87,-1.41,.99,-2.88],["c",.06,-.54,.06,-3,0,-3.57],["c",-.21,-2.58,-.84,-3.87,-2.16,-4.5],["c",-.48,-.21,-1.17,-.36,-1.77,-.36],["c",-.69,0,-1.29,.27,-1.5,.72],["c",-.06,.15,-.06,.21,-.06,.42],["c",0,.24,0,.3,.06,.45],["c",.12,.24,.24,.39,.63,.66],["c",.42,.3,.57,.48,.69,.72],["c",.06,.15,.06,.21,.06,.48],["c",0,.39,-.03,.63,-.21,.96],["c",-.3,.6,-.87,1.08,-1.5,1.26],["c",-.27,.06,-.87,.06,-1.14,0],["c",-.78,-.24,-1.44,-.87,-1.65,-1.68],["c",-.12,-.42,-.09,-1.17,.09,-1.71],["c",.51,-1.65,1.98,-2.82,3.81,-3.09],["c",.84,-.09,2.46,.03,3.51,.27],["c",2.22,.57,3.69,1.8,4.44,3.75],["c",.36,.93,.57,2.13,.57,3.36],["c",0,1.44,-.48,2.73,-1.38,3.81],["c",-1.26,1.5,-3.27,2.43,-5.28,2.43],["c",-.48,0,-.51,0,-.75,-.09],["c",-.15,-.03,-.48,-.21,-.78,-.36],["c",-.69,-.36,-.87,-.42,-1.26,-.42],["c",-.27,0,-.3,0,-.51,.09],["c",-.57,.3,-.81,.9,-.81,2.1],["c",0,1.23,.24,1.83,.81,2.13],["c",.21,.09,.24,.09,.51,.09],["c",.39,0,.57,-.06,1.26,-.42],["c",.3,-.15,.63,-.33,.78,-.36],["c",.24,-.09,.27,-.09,.75,-.09],["c",2.01,0,4.02,.93,5.28,2.4],["c",.9,1.11,1.38,2.4,1.38,3.84],["c",0,1.5,-.3,2.88,-.84,3.96],["c",-.78,1.59,-2.19,2.64,-4.17,3.15],["c",-1.05,.24,-2.67,.36,-3.51,.27],["c",-1.83,-.27,-3.3,-1.44,-3.81,-3.09],["c",-.18,-.54,-.21,-1.29,-.09,-1.74],["c",.15,-.6,.63,-1.2,1.23,-1.47],["c",.36,-.18,.57,-.21,.99,-.21],["c",.42,0,.63,.03,1.02,.21],["c",.42,.21,.84,.63,1.05,1.05],["c",.18,.36,.21,.6,.21,.96],["c",0,.3,0,.36,-.06,.51],["c",-.12,.24,-.27,.42,-.69,.72],["c",-.57,.42,-.69,.63,-.69,1.08],["c",0,.24,0,.3,.06,.45],["c",.12,.21,.3,.39,.57,.54],["c",.42,.18,.87,.21,1.53,.15],["c",1.08,-.15,1.8,-.57,2.34,-1.32],["c",.54,-.75,.84,-1.83,.99,-3.51],["c",.06,-.57,.06,-3.03,0,-3.57],["c",-.12,-1.47,-.42,-2.31,-.99,-2.88],["c",-.27,-.27,-.63,-.48,-1.08,-.6],["c",-.27,-.06,-.39,-.06,-.84,-.06],["c",-.45,0,-.57,0,-.78,.06],["c",-1.14,.27,-2.01,1.17,-2.46,2.49],["c",-.21,.57,-.3,.99,-.33,1.65],["c",-.03,.51,-.06,.57,-.24,.66],["c",-.12,.06,-.27,.06,-.39,0],["c",-.21,-.09,-.21,-.15,-.24,-.75],["c",-.09,-1.92,-.78,-3.72,-2.01,-5.19],["c",-.18,-.21,-.36,-.42,-.39,-.45],["l",-.09,-.06],["l",0,7.11],["l",0,7.14],["l",-.06,.09],["c",-.09,.06,-.09,.06,-.54,.06],["c",-.48,0,-.48,0,-.57,-.06],["l",-.06,-.09],["l",0,-14.82],["l",0,-14.85],["z"]],w:20.31,h:29.97},"clefs.F":{d:[["M",6.3,-7.8],["c",.36,-.03,1.65,0,2.13,.03],["c",3.6,.42,6.03,2.1,6.93,4.86],["c",.27,.84,.36,1.5,.36,2.58],["c",0,.9,-.03,1.35,-.18,2.16],["c",-.78,3.78,-3.54,7.08,-8.37,9.96],["c",-1.74,1.05,-3.87,2.13,-6.18,3.12],["c",-.39,.18,-.75,.33,-.81,.36],["c",-.06,.03,-.15,.06,-.18,.06],["c",-.15,0,-.33,-.18,-.33,-.33],["c",0,-.15,.06,-.21,.51,-.48],["c",3,-1.77,5.13,-3.21,6.84,-4.74],["c",.51,-.45,1.59,-1.5,1.95,-1.95],["c",1.89,-2.19,2.88,-4.32,3.15,-6.78],["c",.06,-.42,.06,-1.77,0,-2.19],["c",-.24,-2.01,-.93,-3.63,-2.04,-4.71],["c",-.63,-.63,-1.29,-1.02,-2.07,-1.2],["c",-1.62,-.39,-3.36,.15,-4.56,1.44],["c",-.54,.6,-1.05,1.47,-1.32,2.22],["l",-.09,.21],["l",.24,-.12],["c",.39,-.21,.63,-.24,1.11,-.24],["c",.3,0,.45,0,.66,.06],["c",1.92,.48,2.85,2.55,1.95,4.38],["c",-.45,.99,-1.41,1.62,-2.46,1.71],["c",-1.47,.09,-2.91,-.87,-3.39,-2.25],["c",-.18,-.57,-.21,-1.32,-.03,-2.28],["c",.39,-2.25,1.83,-4.2,3.81,-5.19],["c",.69,-.36,1.59,-.6,2.37,-.69],["z"],["m",11.58,2.52],["c",.84,-.21,1.71,.3,1.89,1.14],["c",.3,1.17,-.72,2.19,-1.89,1.89],["c",-.99,-.21,-1.5,-1.32,-1.02,-2.25],["c",.18,-.39,.6,-.69,1.02,-.78],["z"],["m",0,7.5],["c",.84,-.21,1.71,.3,1.89,1.14],["c",.21,.87,-.3,1.71,-1.14,1.89],["c",-.87,.21,-1.71,-.3,-1.89,-1.14],["c",-.21,-.84,.3,-1.71,1.14,-1.89],["z"]],w:20.153,h:23.142},"clefs.G":{d:[["M",9.69,-37.41],["c",.09,-.09,.24,-.06,.36,0],["c",.12,.09,.57,.6,.96,1.11],["c",1.77,2.34,3.21,5.85,3.57,8.73],["c",.21,1.56,.03,3.27,-.45,4.86],["c",-.69,2.31,-1.92,4.47,-4.23,7.44],["c",-.3,.39,-.57,.72,-.6,.75],["c",-.03,.06,0,.15,.18,.78],["c",.54,1.68,1.38,4.44,1.68,5.49],["l",.09,.42],["l",.39,0],["c",1.47,.09,2.76,.51,3.96,1.29],["c",1.83,1.23,3.06,3.21,3.39,5.52],["c",.09,.45,.12,1.29,.06,1.74],["c",-.09,1.02,-.33,1.83,-.75,2.73],["c",-.84,1.71,-2.28,3.06,-4.02,3.72],["l",-.33,.12],["l",.03,1.26],["c",0,1.74,-.06,3.63,-.21,4.62],["c",-.45,3.06,-2.19,5.49,-4.47,6.21],["c",-.57,.18,-.9,.21,-1.59,.21],["c",-.69,0,-1.02,-.03,-1.65,-.21],["c",-1.14,-.27,-2.13,-.84,-2.94,-1.65],["c",-.99,-.99,-1.56,-2.16,-1.71,-3.54],["c",-.09,-.81,.06,-1.53,.45,-2.13],["c",.63,-.99,1.83,-1.56,3,-1.53],["c",1.5,.09,2.64,1.32,2.73,2.94],["c",.06,1.47,-.93,2.7,-2.37,2.97],["c",-.45,.06,-.84,.03,-1.29,-.09],["l",-.21,-.09],["l",.09,.12],["c",.39,.54,.78,.93,1.32,1.26],["c",1.35,.87,3.06,1.02,4.35,.36],["c",1.44,-.72,2.52,-2.28,2.97,-4.35],["c",.15,-.66,.24,-1.5,.3,-3.03],["c",.03,-.84,.03,-2.94,0,-3],["c",-.03,0,-.18,0,-.36,.03],["c",-.66,.12,-.99,.12,-1.83,.12],["c",-1.05,0,-1.71,-.06,-2.61,-.3],["c",-4.02,-.99,-7.11,-4.35,-7.8,-8.46],["c",-.12,-.66,-.12,-.99,-.12,-1.83],["c",0,-.84,0,-1.14,.15,-1.92],["c",.36,-2.28,1.41,-4.62,3.3,-7.29],["l",2.79,-3.6],["c",.54,-.66,.96,-1.2,.96,-1.23],["c",0,-.03,-.09,-.33,-.18,-.69],["c",-.96,-3.21,-1.41,-5.28,-1.59,-7.68],["c",-.12,-1.38,-.15,-3.09,-.06,-3.96],["c",.33,-2.67,1.38,-5.07,3.12,-7.08],["c",.36,-.42,.99,-1.05,1.17,-1.14],["z"],["m",2.01,4.71],["c",-.15,-.3,-.3,-.54,-.3,-.54],["c",-.03,0,-.18,.09,-.3,.21],["c",-2.4,1.74,-3.87,4.2,-4.26,7.11],["c",-.06,.54,-.06,1.41,-.03,1.89],["c",.09,1.29,.48,3.12,1.08,5.22],["c",.15,.42,.24,.78,.24,.81],["c",0,.03,.84,-1.11,1.23,-1.68],["c",1.89,-2.73,2.88,-5.07,3.15,-7.53],["c",.09,-.57,.12,-1.74,.06,-2.37],["c",-.09,-1.23,-.27,-1.92,-.87,-3.12],["z"],["m",-2.94,20.7],["c",-.21,-.72,-.39,-1.32,-.42,-1.32],["c",0,0,-1.2,1.47,-1.86,2.37],["c",-2.79,3.63,-4.02,6.3,-4.35,9.3],["c",-.03,.21,-.03,.69,-.03,1.08],["c",0,.69,0,.75,.06,1.11],["c",.12,.54,.27,.99,.51,1.47],["c",.69,1.38,1.83,2.55,3.42,3.42],["c",.96,.54,2.07,.9,3.21,1.08],["c",.78,.12,2.04,.12,2.94,-.03],["c",.51,-.06,.45,-.03,.42,-.3],["c",-.24,-3.33,-.72,-6.33,-1.62,-10.08],["c",-.09,-.39,-.18,-.75,-.18,-.78],["c",-.03,-.03,-.42,0,-.81,.09],["c",-.9,.18,-1.65,.57,-2.22,1.14],["c",-.72,.72,-1.08,1.65,-1.05,2.64],["c",.06,.96,.48,1.83,1.23,2.58],["c",.36,.36,.72,.63,1.17,.9],["c",.33,.18,.36,.21,.42,.33],["c",.18,.42,-.18,.9,-.6,.87],["c",-.18,-.03,-.84,-.36,-1.26,-.63],["c",-.78,-.51,-1.38,-1.11,-1.86,-1.83],["c",-1.77,-2.7,-.99,-6.42,1.71,-8.19],["c",.3,-.21,.81,-.48,1.17,-.63],["c",.3,-.09,1.02,-.3,1.14,-.3],["c",.06,0,.09,0,.09,-.03],["c",.03,-.03,-.51,-1.92,-1.23,-4.26],["z"],["m",3.78,7.41],["c",-.18,-.03,-.36,-.06,-.39,-.06],["c",-.03,0,0,.21,.18,1.02],["c",.75,3.18,1.26,6.3,1.5,9.09],["c",.06,.72,0,.69,.51,.42],["c",.78,-.36,1.44,-.96,1.98,-1.77],["c",1.08,-1.62,1.2,-3.69,.3,-5.55],["c",-.81,-1.62,-2.31,-2.79,-4.08,-3.15],["z"]],w:19.051,h:57.057},"clefs.perc":{d:[["M",5.07,-7.44],["l",.09,-.06],["l",1.53,0],["l",1.53,0],["l",.09,.06],["l",.06,.09],["l",0,7.35],["l",0,7.32],["l",-.06,.09],["l",-.09,.06],["l",-1.53,0],["l",-1.53,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-7.32],["l",0,-7.35],["z"],["m",6.63,0],["l",.09,-.06],["l",1.53,0],["l",1.53,0],["l",.09,.06],["l",.06,.09],["l",0,7.35],["l",0,7.32],["l",-.06,.09],["l",-.09,.06],["l",-1.53,0],["l",-1.53,0],["l",-.09,-.06],["l",-.06,-.09],["l",0,-7.32],["l",0,-7.35],["z"]],w:21,h:14.97},"timesig.common":{d:[["M",6.66,-7.83],["c",.72,-.06,1.41,-.03,1.98,.09],["c",1.2,.27,2.34,.96,3.09,1.92],["c",.63,.81,1.08,1.86,1.14,2.73],["c",.06,1.02,-.51,1.92,-1.44,2.22],["c",-.24,.09,-.3,.09,-.63,.09],["c",-.33,0,-.42,0,-.63,-.06],["c",-.66,-.24,-1.14,-.63,-1.41,-1.2],["c",-.15,-.3,-.21,-.51,-.24,-.9],["c",-.06,-1.08,.57,-2.04,1.56,-2.37],["c",.18,-.06,.27,-.06,.63,-.06],["l",.45,0],["c",.06,.03,.09,.03,.09,0],["c",0,0,-.09,-.12,-.24,-.27],["c",-1.02,-1.11,-2.55,-1.68,-4.08,-1.5],["c",-1.29,.15,-2.04,.69,-2.4,1.74],["c",-.36,.93,-.42,1.89,-.42,5.37],["c",0,2.97,.06,3.96,.24,4.77],["c",.24,1.08,.63,1.68,1.41,2.07],["c",.81,.39,2.16,.45,3.18,.09],["c",1.29,-.45,2.37,-1.53,3.03,-2.97],["c",.15,-.33,.33,-.87,.39,-1.17],["c",.09,-.24,.15,-.36,.3,-.39],["c",.21,-.03,.42,.15,.39,.36],["c",-.06,.39,-.42,1.38,-.69,1.89],["c",-.96,1.8,-2.49,2.94,-4.23,3.18],["c",-.99,.12,-2.58,-.06,-3.63,-.45],["c",-.96,-.36,-1.71,-.84,-2.4,-1.5],["c",-1.11,-1.11,-1.8,-2.61,-2.04,-4.56],["c",-.06,-.6,-.06,-2.01,0,-2.61],["c",.24,-1.95,.9,-3.45,2.01,-4.56],["c",.69,-.66,1.44,-1.11,2.37,-1.47],["c",.63,-.24,1.47,-.42,2.22,-.48],["z"]],w:13.038,h:15.689},"timesig.cut":{d:[["M",6.24,-10.44],["c",.09,-.06,.09,-.06,.48,-.06],["c",.36,0,.36,0,.45,.06],["l",.06,.09],["l",0,1.23],["l",0,1.26],["l",.27,0],["c",1.26,0,2.49,.45,3.48,1.29],["c",1.05,.87,1.8,2.28,1.89,3.48],["c",.06,1.02,-.51,1.92,-1.44,2.22],["c",-.24,.09,-.3,.09,-.63,.09],["c",-.33,0,-.42,0,-.63,-.06],["c",-.66,-.24,-1.14,-.63,-1.41,-1.2],["c",-.15,-.3,-.21,-.51,-.24,-.9],["c",-.06,-1.08,.57,-2.04,1.56,-2.37],["c",.18,-.06,.27,-.06,.63,-.06],["l",.45,0],["c",.06,.03,.09,.03,.09,0],["c",0,-.03,-.45,-.51,-.66,-.69],["c",-.87,-.69,-1.83,-1.05,-2.94,-1.11],["l",-.42,0],["l",0,7.17],["l",0,7.14],["l",.42,0],["c",.69,-.03,1.23,-.18,1.86,-.51],["c",1.05,-.51,1.89,-1.47,2.46,-2.7],["c",.15,-.33,.33,-.87,.39,-1.17],["c",.09,-.24,.15,-.36,.3,-.39],["c",.21,-.03,.42,.15,.39,.36],["c",-.03,.24,-.21,.78,-.39,1.2],["c",-.96,2.37,-2.94,3.9,-5.13,3.9],["l",-.3,0],["l",0,1.26],["l",0,1.23],["l",-.06,.09],["c",-.09,.06,-.09,.06,-.45,.06],["c",-.39,0,-.39,0,-.48,-.06],["l",-.06,-.09],["l",0,-1.29],["l",0,-1.29],["l",-.21,-.03],["c",-1.23,-.21,-2.31,-.63,-3.21,-1.29],["c",-.15,-.09,-.45,-.36,-.66,-.57],["c",-1.11,-1.11,-1.8,-2.61,-2.04,-4.56],["c",-.06,-.6,-.06,-2.01,0,-2.61],["c",.24,-1.95,.93,-3.45,2.04,-4.59],["c",.42,-.39,.78,-.66,1.26,-.93],["c",.75,-.45,1.65,-.75,2.61,-.9],["l",.21,-.03],["l",0,-1.29],["l",0,-1.29],["z"],["m",-.06,10.44],["c",0,-5.58,0,-6.99,-.03,-6.99],["c",-.15,0,-.63,.27,-.87,.45],["c",-.45,.36,-.75,.93,-.93,1.77],["c",-.18,.81,-.24,1.8,-.24,4.74],["c",0,2.97,.06,3.96,.24,4.77],["c",.24,1.08,.66,1.68,1.41,2.07],["c",.12,.06,.3,.12,.33,.15],["l",.09,0],["l",0,-6.96],["z"]],w:13.038,h:20.97},"timesig.imperfectum":{d:[["M",13,-5],["a",8,8,0,1,0,0,10]],w:13.038,h:20.97},"timesig.imperfectum2":{d:[["M",13,-5],["a",8,8,0,1,0,0,10]],w:13.038,h:20.97},"timesig.perfectum":{d:[["M",13,-5],["a",8,8,0,1,0,0,10]],w:13.038,h:20.97},"timesig.perfectum2":{d:[["M",13,-5],["a",8,8,0,1,0,0,10]],w:13.038,h:20.97},f:{d:[["M",9.93,-14.28],["c",1.53,-.18,2.88,.45,3.12,1.5],["c",.12,.51,0,1.32,-.27,1.86],["c",-.15,.3,-.42,.57,-.63,.69],["c",-.69,.36,-1.56,.03,-1.83,-.69],["c",-.09,-.24,-.09,-.69,0,-.87],["c",.06,-.12,.21,-.24,.45,-.42],["c",.42,-.24,.57,-.45,.6,-.72],["c",.03,-.33,-.09,-.39,-.63,-.42],["c",-.3,0,-.45,0,-.6,.03],["c",-.81,.21,-1.35,.93,-1.74,2.46],["c",-.06,.27,-.48,2.25,-.48,2.31],["c",0,.03,.39,.03,.9,.03],["c",.72,0,.9,0,.99,.06],["c",.42,.15,.45,.72,.03,.9],["c",-.12,.06,-.24,.06,-1.17,.06],["l",-1.05,0],["l",-.78,2.55],["c",-.45,1.41,-.87,2.79,-.96,3.06],["c",-.87,2.37,-2.37,4.74,-3.78,5.91],["c",-1.05,.9,-2.04,1.23,-3.09,1.08],["c",-1.11,-.18,-1.89,-.78,-2.04,-1.59],["c",-.12,-.66,.15,-1.71,.54,-2.19],["c",.69,-.75,1.86,-.54,2.22,.39],["c",.06,.15,.09,.27,.09,.48],["c",0,.24,-.03,.27,-.12,.42],["c",-.03,.09,-.15,.18,-.27,.27],["c",-.09,.06,-.27,.21,-.36,.27],["c",-.24,.18,-.36,.36,-.39,.6],["c",-.03,.33,.09,.39,.63,.42],["c",.42,0,.63,-.03,.9,-.15],["c",.6,-.3,.96,-.96,1.38,-2.64],["c",.09,-.42,.63,-2.55,1.17,-4.77],["l",1.02,-4.08],["c",0,-.03,-.36,-.03,-.81,-.03],["c",-.72,0,-.81,0,-.93,-.06],["c",-.42,-.18,-.39,-.75,.03,-.9],["c",.09,-.06,.27,-.06,1.05,-.06],["l",.96,0],["l",0,-.09],["c",.06,-.18,.3,-.72,.51,-1.17],["c",1.2,-2.46,3.3,-4.23,5.34,-4.5],["z"]],w:16.155,h:19.445},m:{d:[["M",2.79,-8.91],["c",.09,0,.3,-.03,.45,-.03],["c",.24,.03,.3,.03,.45,.12],["c",.36,.15,.63,.54,.75,1.02],["l",.03,.21],["l",.33,-.3],["c",.69,-.69,1.38,-1.02,2.07,-1.02],["c",.27,0,.33,0,.48,.06],["c",.21,.09,.48,.36,.63,.6],["c",.03,.09,.12,.27,.18,.42],["c",.03,.15,.09,.27,.12,.27],["c",0,0,.09,-.09,.18,-.21],["c",.33,-.39,.87,-.81,1.29,-.99],["c",.78,-.33,1.47,-.21,2.01,.33],["c",.3,.33,.48,.69,.6,1.14],["c",.09,.42,.06,.54,-.54,3.06],["c",-.33,1.29,-.57,2.4,-.57,2.43],["c",0,.12,.09,.21,.21,.21],["c",.24,0,.75,-.3,1.2,-.72],["c",.45,-.39,.6,-.45,.78,-.27],["c",.18,.18,.09,.36,-.45,.87],["c",-1.05,.96,-1.83,1.47,-2.58,1.71],["c",-.93,.33,-1.53,.21,-1.8,-.33],["c",-.06,-.15,-.06,-.21,-.06,-.45],["c",0,-.24,.03,-.48,.6,-2.82],["c",.42,-1.71,.6,-2.64,.63,-2.79],["c",.03,-.57,-.3,-.75,-.84,-.48],["c",-.24,.12,-.54,.39,-.66,.63],["c",-.03,.09,-.42,1.38,-.9,3],["c",-.9,3.15,-.84,3,-1.14,3.15],["l",-.15,.09],["l",-.78,0],["c",-.6,0,-.78,0,-.84,-.06],["c",-.09,-.03,-.18,-.18,-.18,-.27],["c",0,-.03,.36,-1.38,.84,-2.97],["c",.57,-2.04,.81,-2.97,.84,-3.12],["c",.03,-.54,-.3,-.72,-.84,-.45],["c",-.24,.12,-.57,.42,-.66,.63],["c",-.06,.09,-.51,1.44,-1.05,2.97],["c",-.51,1.56,-.99,2.85,-.99,2.91],["c",-.06,.12,-.21,.24,-.36,.3],["c",-.12,.06,-.21,.06,-.9,.06],["c",-.6,0,-.78,0,-.84,-.06],["c",-.09,-.03,-.18,-.18,-.18,-.27],["c",0,-.03,.45,-1.38,.99,-2.97],["c",1.05,-3.18,1.05,-3.18,.93,-3.45],["c",-.12,-.27,-.39,-.3,-.72,-.15],["c",-.54,.27,-1.14,1.17,-1.56,2.4],["c",-.06,.15,-.15,.3,-.18,.36],["c",-.21,.21,-.57,.27,-.72,.09],["c",-.09,-.09,-.06,-.21,.06,-.63],["c",.48,-1.26,1.26,-2.46,2.01,-3.21],["c",.57,-.54,1.2,-.87,1.83,-1.02],["z"]],w:14.687,h:9.126},p:{d:[["M",1.92,-8.7],["c",.27,-.09,.81,-.06,1.11,.03],["c",.54,.18,.93,.51,1.17,.99],["c",.09,.15,.15,.33,.18,.36],["l",0,.12],["l",.3,-.27],["c",.66,-.6,1.35,-1.02,2.13,-1.2],["c",.21,-.06,.33,-.06,.78,-.06],["c",.45,0,.51,0,.84,.09],["c",1.29,.33,2.07,1.32,2.25,2.79],["c",.09,.81,-.09,2.01,-.45,2.79],["c",-.54,1.26,-1.86,2.55,-3.18,3.03],["c",-.45,.18,-.81,.24,-1.29,.24],["c",-.69,-.03,-1.35,-.18,-1.86,-.45],["c",-.3,-.15,-.51,-.18,-.69,-.09],["c",-.09,.03,-.18,.09,-.18,.12],["c",-.09,.12,-1.05,2.94,-1.05,3.06],["c",0,.24,.18,.48,.51,.63],["c",.18,.06,.54,.15,.75,.15],["c",.21,0,.36,.06,.42,.18],["c",.12,.18,.06,.42,-.12,.54],["c",-.09,.03,-.15,.03,-.78,0],["c",-1.98,-.15,-3.81,-.15,-5.79,0],["c",-.63,.03,-.69,.03,-.78,0],["c",-.24,-.15,-.24,-.57,.03,-.66],["c",.06,-.03,.48,-.09,.99,-.12],["c",.87,-.06,1.11,-.09,1.35,-.21],["c",.18,-.06,.33,-.18,.39,-.3],["c",.06,-.12,3.24,-9.42,3.27,-9.6],["c",.06,-.33,.03,-.57,-.15,-.69],["c",-.09,-.06,-.12,-.06,-.3,-.06],["c",-.69,.06,-1.53,1.02,-2.28,2.61],["c",-.09,.21,-.21,.45,-.27,.51],["c",-.09,.12,-.33,.24,-.48,.24],["c",-.18,0,-.36,-.15,-.36,-.3],["c",0,-.24,.78,-1.83,1.26,-2.55],["c",.72,-1.11,1.47,-1.74,2.28,-1.92],["z"],["m",5.37,1.47],["c",-.27,-.12,-.75,-.03,-1.14,.21],["c",-.75,.48,-1.47,1.68,-1.89,3.15],["c",-.45,1.47,-.42,2.34,0,2.7],["c",.45,.39,1.26,.21,1.83,-.36],["c",.51,-.51,.99,-1.68,1.38,-3.27],["c",.3,-1.17,.33,-1.74,.15,-2.13],["c",-.09,-.15,-.15,-.21,-.33,-.3],["z"]],w:14.689,h:13.127},r:{d:[["M",6.33,-9.12],["c",.27,-.03,.93,0,1.2,.06],["c",.84,.21,1.23,.81,1.02,1.53],["c",-.24,.75,-.9,1.17,-1.56,.96],["c",-.33,-.09,-.51,-.3,-.66,-.75],["c",-.03,-.12,-.09,-.24,-.12,-.3],["c",-.09,-.15,-.3,-.24,-.48,-.24],["c",-.57,0,-1.38,.54,-1.65,1.08],["c",-.06,.15,-.33,1.17,-.9,3.27],["c",-.57,2.31,-.81,3.12,-.87,3.21],["c",-.03,.06,-.12,.15,-.18,.21],["l",-.12,.06],["l",-.81,.03],["c",-.69,0,-.81,0,-.9,-.03],["c",-.09,-.06,-.18,-.21,-.18,-.3],["c",0,-.06,.39,-1.62,.9,-3.51],["c",.84,-3.24,.87,-3.45,.87,-3.72],["c",0,-.21,0,-.27,-.03,-.36],["c",-.12,-.15,-.21,-.24,-.42,-.24],["c",-.24,0,-.45,.15,-.78,.42],["c",-.33,.36,-.45,.54,-.72,1.14],["c",-.03,.12,-.21,.24,-.36,.27],["c",-.12,0,-.15,0,-.24,-.06],["c",-.18,-.12,-.18,-.21,-.06,-.54],["c",.21,-.57,.42,-.93,.78,-1.32],["c",.54,-.51,1.2,-.81,1.95,-.87],["c",.81,-.03,1.53,.3,1.92,.87],["l",.12,.18],["l",.09,-.09],["c",.57,-.45,1.41,-.84,2.19,-.96],["z"]],w:9.41,h:9.132},s:{d:[["M",4.47,-8.73],["c",.09,0,.36,-.03,.57,-.03],["c",.75,.03,1.29,.24,1.71,.63],["c",.51,.54,.66,1.26,.36,1.83],["c",-.24,.42,-.63,.57,-1.11,.42],["c",-.33,-.09,-.6,-.36,-.6,-.57],["c",0,-.03,.06,-.21,.15,-.39],["c",.12,-.21,.15,-.33,.18,-.48],["c",0,-.24,-.06,-.48,-.15,-.6],["c",-.15,-.21,-.42,-.24,-.75,-.15],["c",-.27,.06,-.48,.18,-.69,.36],["c",-.39,.39,-.51,.96,-.33,1.38],["c",.09,.21,.42,.51,.78,.72],["c",1.11,.69,1.59,1.11,1.89,1.68],["c",.21,.39,.24,.78,.15,1.29],["c",-.18,1.2,-1.17,2.16,-2.52,2.52],["c",-1.02,.24,-1.95,.12,-2.7,-.42],["c",-.72,-.51,-.99,-1.47,-.6,-2.19],["c",.24,-.48,.72,-.63,1.17,-.42],["c",.33,.18,.54,.45,.57,.81],["c",0,.21,-.03,.3,-.33,.51],["c",-.33,.24,-.39,.42,-.27,.69],["c",.06,.15,.21,.27,.45,.33],["c",.3,.09,.87,.09,1.2,0],["c",.75,-.21,1.23,-.72,1.29,-1.35],["c",.03,-.42,-.15,-.81,-.54,-1.2],["c",-.24,-.24,-.48,-.42,-1.41,-1.02],["c",-.69,-.42,-1.05,-.93,-1.05,-1.47],["c",0,-.39,.12,-.87,.3,-1.23],["c",.27,-.57,.78,-1.05,1.38,-1.35],["c",.24,-.12,.63,-.27,.9,-.3],["z"]],w:6.632,h:8.758},z:{d:[["M",2.64,-7.95],["c",.36,-.09,.81,-.03,1.71,.27],["c",.78,.21,.96,.27,1.74,.3],["c",.87,.06,1.02,.03,1.38,-.21],["c",.21,-.15,.33,-.15,.48,-.06],["c",.15,.09,.21,.3,.15,.45],["c",-.03,.06,-1.26,1.26,-2.76,2.67],["l",-2.73,2.55],["l",.54,.03],["c",.54,.03,.72,.03,2.01,.15],["c",.36,.03,.9,.06,1.2,.09],["c",.66,0,.81,-.03,1.02,-.24],["c",.3,-.3,.39,-.72,.27,-1.23],["c",-.06,-.27,-.06,-.27,-.03,-.39],["c",.15,-.3,.54,-.27,.69,.03],["c",.15,.33,.27,1.02,.27,1.5],["c",0,1.47,-1.11,2.7,-2.52,2.79],["c",-.57,.03,-1.02,-.09,-2.01,-.51],["c",-1.02,-.42,-1.23,-.48,-2.13,-.54],["c",-.81,-.06,-.96,-.03,-1.26,.18],["c",-.12,.06,-.24,.12,-.27,.12],["c",-.27,0,-.45,-.3,-.36,-.51],["c",.03,-.06,1.32,-1.32,2.91,-2.79],["l",2.88,-2.73],["c",-.03,0,-.21,.03,-.42,.06],["c",-.21,.03,-.78,.09,-1.23,.12],["c",-1.11,.12,-1.23,.15,-1.95,.27],["c",-.72,.15,-1.17,.18,-1.29,.09],["c",-.27,-.18,-.21,-.75,.12,-1.26],["c",.39,-.6,.93,-1.02,1.59,-1.2],["z"]],w:8.573,h:8.743},"+":{d:[["M",3.48,-9.3],["c",.18,-.09,.36,-.09,.54,0],["c",.18,.09,.24,.15,.33,.3],["l",.06,.15],["l",0,1.29],["l",0,1.29],["l",1.29,0],["c",1.23,0,1.29,0,1.41,.06],["c",.06,.03,.15,.09,.18,.12],["c",.12,.09,.21,.33,.21,.48],["c",0,.15,-.09,.39,-.21,.48],["c",-.03,.03,-.12,.09,-.18,.12],["c",-.12,.06,-.18,.06,-1.41,.06],["l",-1.29,0],["l",0,1.29],["c",0,1.23,0,1.29,-.06,1.41],["c",-.09,.18,-.15,.24,-.3,.33],["c",-.21,.09,-.39,.09,-.57,0],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.06,-.12,-.06,-.18,-.06,-1.41],["l",0,-1.29],["l",-1.29,0],["c",-1.23,0,-1.29,0,-1.41,-.06],["c",-.18,-.09,-.24,-.15,-.33,-.33],["c",-.09,-.18,-.09,-.36,0,-.54],["c",.09,-.18,.15,-.24,.33,-.33],["l",.15,-.06],["l",1.26,0],["l",1.29,0],["l",0,-1.29],["c",0,-1.23,0,-1.29,.06,-1.41],["c",.09,-.18,.15,-.24,.33,-.33],["z"]],w:7.507,h:7.515},",":{d:[["M",1.32,-3.36],["c",.57,-.15,1.17,.03,1.59,.45],["c",.45,.45,.6,.96,.51,1.89],["c",-.09,1.23,-.42,2.46,-.99,3.93],["c",-.3,.72,-.72,1.62,-.78,1.68],["c",-.18,.21,-.51,.18,-.66,-.06],["c",-.03,-.06,-.06,-.15,-.06,-.18],["c",0,-.06,.12,-.33,.24,-.63],["c",.84,-1.8,1.02,-2.61,.69,-3.24],["c",-.12,-.24,-.27,-.36,-.75,-.6],["c",-.36,-.15,-.42,-.21,-.6,-.39],["c",-.69,-.69,-.69,-1.71,0,-2.4],["c",.21,-.21,.51,-.39,.81,-.45],["z"]],w:3.452,h:8.143},"-":{d:[["M",.18,-5.34],["c",.09,-.06,.15,-.06,2.31,-.06],["c",2.46,0,2.37,0,2.46,.21],["c",.12,.21,.03,.42,-.15,.54],["c",-.09,.06,-.15,.06,-2.28,.06],["c",-2.16,0,-2.22,0,-2.31,-.06],["c",-.27,-.15,-.27,-.54,-.03,-.69],["z"]],w:5.001,h:.81},".":{d:[["M",1.32,-3.36],["c",1.05,-.27,2.1,.57,2.1,1.65],["c",0,1.08,-1.05,1.92,-2.1,1.65],["c",-.9,-.21,-1.5,-1.14,-1.26,-2.04],["c",.12,-.63,.63,-1.11,1.26,-1.26],["z"]],w:3.413,h:3.402},"scripts.wedge":{d:[["M",-3.66,-7.44],["c",.06,-.09,0,-.09,.81,.03],["c",1.86,.3,3.84,.3,5.73,0],["c",.78,-.12,.72,-.12,.78,-.03],["c",.15,.15,.12,.24,-.24,.6],["c",-.93,.93,-1.98,2.76,-2.67,4.62],["c",-.3,.78,-.51,1.71,-.51,2.13],["c",0,.15,0,.18,-.06,.27],["c",-.12,.09,-.24,.09,-.36,0],["c",-.06,-.09,-.06,-.12,-.06,-.27],["c",0,-.42,-.21,-1.35,-.51,-2.13],["c",-.69,-1.86,-1.74,-3.69,-2.67,-4.62],["c",-.36,-.36,-.39,-.45,-.24,-.6],["z"]],w:7.49,h:7.752},"scripts.thumb":{d:[["M",-.54,-3.69],["c",.15,-.03,.36,-.06,.51,-.06],["c",1.44,0,2.58,1.11,2.94,2.85],["c",.09,.48,.09,1.32,0,1.8],["c",-.27,1.41,-1.08,2.43,-2.16,2.73],["l",-.18,.06],["l",0,.12],["c",.03,.06,.06,.45,.09,.87],["c",.03,.57,.03,.78,0,.84],["c",-.09,.27,-.39,.48,-.66,.48],["c",-.27,0,-.57,-.21,-.66,-.48],["c",-.03,-.06,-.03,-.27,0,-.84],["c",.03,-.42,.06,-.81,.09,-.87],["l",0,-.12],["l",-.18,-.06],["c",-1.08,-.3,-1.89,-1.32,-2.16,-2.73],["c",-.09,-.48,-.09,-1.32,0,-1.8],["c",.15,-.84,.51,-1.53,1.02,-2.04],["c",.39,-.39,.84,-.63,1.35,-.75],["z"],["m",1.05,.9],["c",-.15,-.09,-.21,-.09,-.45,-.12],["c",-.15,0,-.3,.03,-.39,.03],["c",-.57,.18,-.9,.72,-1.08,1.74],["c",-.06,.48,-.06,1.8,0,2.28],["c",.15,.9,.42,1.44,.9,1.65],["c",.18,.09,.21,.09,.51,.09],["c",.3,0,.33,0,.51,-.09],["c",.48,-.21,.75,-.75,.9,-1.65],["c",.03,-.27,.03,-.54,.03,-1.14],["c",0,-.6,0,-.87,-.03,-1.14],["c",-.15,-.9,-.45,-1.44,-.9,-1.65],["z"]],w:5.955,h:9.75},"scripts.open":{d:[["M",-.54,-3.69],["c",.15,-.03,.36,-.06,.51,-.06],["c",1.44,0,2.58,1.11,2.94,2.85],["c",.09,.48,.09,1.32,0,1.8],["c",-.33,1.74,-1.47,2.85,-2.91,2.85],["c",-1.44,0,-2.58,-1.11,-2.91,-2.85],["c",-.09,-.48,-.09,-1.32,0,-1.8],["c",.15,-.84,.51,-1.53,1.02,-2.04],["c",.39,-.39,.84,-.63,1.35,-.75],["z"],["m",1.11,.9],["c",-.21,-.09,-.27,-.09,-.51,-.12],["c",-.3,0,-.42,.03,-.66,.15],["c",-.24,.12,-.51,.39,-.66,.63],["c",-.54,.93,-.63,2.64,-.21,3.81],["c",.21,.54,.51,.9,.93,1.11],["c",.21,.09,.24,.09,.54,.09],["c",.3,0,.33,0,.54,-.09],["c",.42,-.21,.72,-.57,.93,-1.11],["c",.36,-.99,.36,-2.37,0,-3.36],["c",-.21,-.54,-.51,-.9,-.9,-1.11],["z"]],w:5.955,h:7.5},"scripts.longphrase":{d:[["M",1.47,-15.09],["c",.36,-.09,.66,-.18,.69,-.18],["c",.06,0,.06,.54,.06,11.25],["l",0,11.25],["l",-.63,.15],["c",-.66,.18,-1.44,.39,-1.5,.39],["c",-.03,0,-.03,-3.39,-.03,-11.25],["l",0,-11.25],["l",.36,-.09],["c",.21,-.06,.66,-.18,1.05,-.27],["z"]],w:2.16,h:23.04},"scripts.mediumphrase":{d:[["M",1.47,-7.59],["c",.36,-.09,.66,-.18,.69,-.18],["c",.06,0,.06,.39,.06,7.5],["l",0,7.5],["l",-.63,.15],["c",-.66,.18,-1.44,.39,-1.5,.39],["c",-.03,0,-.03,-2.28,-.03,-7.5],["l",0,-7.5],["l",.36,-.09],["c",.21,-.06,.66,-.18,1.05,-.27],["z"]],w:2.16,h:15.54},"scripts.shortphrase":{d:[["M",1.47,-7.59],["c",.36,-.09,.66,-.18,.69,-.18],["c",.06,0,.06,.21,.06,3.75],["l",0,3.75],["l",-.42,.09],["c",-.57,.18,-1.65,.45,-1.71,.45],["c",-.03,0,-.03,-.72,-.03,-3.75],["l",0,-3.75],["l",.36,-.09],["c",.21,-.06,.66,-.18,1.05,-.27],["z"]],w:2.16,h:8.04},"scripts.snap":{d:[["M",4.5,-3.39],["c",.36,-.03,.96,-.03,1.35,0],["c",1.56,.15,3.15,.9,4.2,2.01],["c",.24,.27,.33,.42,.33,.6],["c",0,.27,.03,.24,-2.46,2.22],["c",-1.29,1.02,-2.4,1.86,-2.49,1.92],["c",-.18,.09,-.3,.09,-.48,0],["c",-.09,-.06,-1.2,-.9,-2.49,-1.92],["c",-2.49,-1.98,-2.46,-1.95,-2.46,-2.22],["c",0,-.18,.09,-.33,.33,-.6],["c",1.05,-1.08,2.64,-1.86,4.17,-2.01],["z"],["m",1.29,1.17],["c",-1.47,-.15,-2.97,.3,-4.14,1.2],["l",-.18,.15],["l",.06,.09],["c",.15,.12,3.63,2.85,3.66,2.85],["c",.03,0,3.51,-2.73,3.66,-2.85],["l",.06,-.09],["l",-.18,-.15],["c",-.84,-.66,-1.89,-1.08,-2.94,-1.2],["z"]],w:10.38,h:6.84},"noteheads.slash.whole":{d:[["M",5,-5],["l",1,1],["l",-5,5],["l",-1,-1],["z"],["m",4,6],["l",-5,-5],["l",2,-2],["l",5,5],["z"],["m",0,-2],["l",1,1],["l",-5,5],["l",-1,-1],["z"],["m",-4,6],["l",-5,-5],["l",2,-2],["l",5,5],["z"]],w:10.81,h:15.63},"noteheads.slash.quarter":{d:[["M",9,-6],["l",0,4],["l",-9,9],["l",0,-4],["z"]],w:9,h:9},"noteheads.harmonic.quarter":{d:[["M",3.63,-4.02],["c",.09,-.06,.18,-.09,.24,-.03],["c",.03,.03,.87,.93,1.83,2.01],["c",1.5,1.65,1.8,1.98,1.8,2.04],["c",0,.06,-.3,.39,-1.8,2.04],["c",-.96,1.08,-1.8,1.98,-1.83,2.01],["c",-.06,.06,-.15,.03,-.24,-.03],["c",-.12,-.09,-3.54,-3.84,-3.6,-3.93],["c",-.03,-.03,-.03,-.09,-.03,-.15],["c",.03,-.06,3.45,-3.84,3.63,-3.96],["z"]],w:7.5,h:8.165}},a=function(e){for(var t=[],n=0,r=e.length;n<r;n++){t[n]=[];for(var i=0,a=e[n].length;i<a;i++)t[n][i]=e[n][i]}return t},s={printSymbol:function(e,t,n,r,s,o,c){if(!i[n])return null;var l=a(i[n].d);l[0][1]+=e,l[0][2]+=t;for(var h="",u=0;u<l.length;u++)h+=l[u].join(" ");return r.path({path:h,stroke:o,fill:c,class:s})},getPathForSymbol:function(e,t,n,r,s){if(r=r||1,s=s||1,!i[n])return null;var o=a(i[n].d);return 1===r&&1===s||function(e,t,n){for(var r=0,i=e.length;r<i;r++){var a,s,o=e[r];for(a=1,s=o.length;a<s;a++)o[a]*=a%2?t:n}}(o,r,s),o[0][1]+=e,o[0][2]+=t,o},getSymbolWidth:function(e){return i[e]?i[e].w:0},symbolHeightInPitches:function(e){return(i[e]?i[e].h:0)/r.STEP},getSymbolAlign:function(e){return"scripts"===e.substring(0,7)&&"scripts.roll"!==e?"center":"left"},getYCorr:function(e){switch(e){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":return-2;case"timesig.common":case"timesig.cut":return 0;case"flags.d32nd":return-1;case"flags.d64th":return-2;case"flags.u32nd":return 1;case"flags.u64th":return 3;case"rests.whole":return 1;case"rests.half":case"rests.8th":case"rests.quarter":case"rests.16th":case"rests.32nd":case"rests.64th":return-1;case"f":case"m":case"p":case"s":case"z":return-4;case"scripts.trill":case"scripts.upbow":case"scripts.downbow":return-2;case"scripts.ufermata":case"scripts.wedge":case"scripts.roll":case"scripts.shortphrase":case"scripts.longphrase":return-1;case"scripts.dfermata":return 1;default:return 0}},setSymbol:function(e,t){i[e]=t}};e.exports=s},function(e,t,n){var r=n(8),i=function(e,t,n,r,i,a){a||(a={}),this.tuneNumber=i,this.abcelem=e,this.duration=t,this.durationClass=a.durationClassOveride?a.durationClassOveride:this.duration,this.minspacing=n||0,this.x=0,this.children=[],this.heads=[],this.extra=[],this.extraw=0,this.w=0,this.right=[],this.invisible=!1,this.bottom=void 0,this.top=void 0,this.type=r,this.fixed={w:0,t:void 0,b:void 0},this.specialY={tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0}};i.prototype.getFixedCoords=function(){return{x:this.x,w:this.fixed.w,t:this.fixed.t,b:this.fixed.b}},i.prototype.addExtra=function(e){this.fixed.w=Math.max(this.fixed.w,e.dx+e.w),void 0===this.fixed.t?this.fixed.t=e.top:this.fixed.t=Math.max(this.fixed.t,e.top),void 0===this.fixed.b?this.fixed.b=e.bottom:this.fixed.b=Math.min(this.fixed.b,e.bottom),e.dx<this.extraw&&(this.extraw=e.dx),this.extra[this.extra.length]=e,this._addChild(e)},i.prototype.addHead=function(e){e.dx<this.extraw&&(this.extraw=e.dx),this.heads[this.heads.length]=e,this.addRight(e)},i.prototype.addRight=function(e){this.fixed.w=Math.max(this.fixed.w,e.dx+e.w),void 0!==e.top&&(void 0===this.fixed.t?this.fixed.t=e.top:this.fixed.t=Math.max(this.fixed.t,e.top)),void 0!==e.bottom&&(void 0===this.fixed.b?this.fixed.b=e.bottom:this.fixed.b=Math.min(this.fixed.b,e.bottom)),isNaN(this.fixed.t)||isNaN(this.fixed.b),e.dx+e.w>this.w&&(this.w=e.dx+e.w),this.right[this.right.length]=e,this._addChild(e)},i.prototype.addFixed=function(e){this._addChild(e)},i.prototype.addFixedX=function(e){this._addChild(e)},i.prototype.addCentered=function(e){var t=e.w/2;-t<this.extraw&&(this.extraw=-t),this.extra[this.extra.length]=e,e.dx+t>this.w&&(this.w=e.dx+t),this.right[this.right.length]=e,this._addChild(e)},i.prototype.setLimit=function(e,t){t[e]&&(this.specialY[e]?this.specialY[e]=Math.max(this.specialY[e],t[e]):this.specialY[e]=t[e])},i.prototype._addChild=function(e){e.parent=this,this.children[this.children.length]=e,this.pushTop(e.top),this.pushBottom(e.bottom),this.setLimit("tempoHeightAbove",e),this.setLimit("partHeightAbove",e),this.setLimit("volumeHeightAbove",e),this.setLimit("dynamicHeightAbove",e),this.setLimit("endingHeightAbove",e),this.setLimit("chordHeightAbove",e),this.setLimit("lyricHeightAbove",e),this.setLimit("lyricHeightBelow",e),this.setLimit("chordHeightBelow",e),this.setLimit("volumeHeightBelow",e),this.setLimit("dynamicHeightBelow",e)},i.prototype.pushTop=function(e){void 0!==e&&(void 0===this.top?this.top=e:this.top=Math.max(e,this.top))},i.prototype.pushBottom=function(e){void 0!==e&&(void 0===this.bottom?this.bottom=e:this.bottom=Math.min(e,this.bottom))},i.prototype.setX=function(e){this.x=e;for(var t=0;t<this.children.length;t++)this.children[t].setX(e)},i.prototype.center=function(e,t){var n=(t.x-e.x)/2+e.x;this.x=n-this.w/2;for(var r=0;r<this.children.length;r++)this.children[r].setX(this.x)},i.prototype.setHint=function(){this.hint=!0},i.prototype.isIE=!1,i.prototype.highlight=function(e,t){void 0===e&&(e="abcjs-note_selected"),void 0===t&&(t="#ff0000"),r(this.elemset,e,"",t)},i.prototype.unhighlight=function(e,t){void 0===e&&(e="abcjs-note_selected"),void 0===t&&(t="#000000"),r(this.elemset,"",e,t)},e.exports=i},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}e.exports=function(){for(var e,t,r,i,a,s=0,o=arguments[s++],c=[];o;){if(t=/^[^\x25]+/.exec(o))c.push(t[0]);else if(t=/^\x25{2}/.exec(o))c.push("%");else{if(!(t=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(o)))throw"Huh ?!";if(null==(e=arguments[t[1]||s++])||null==e)throw"Too few arguments.";if(/[^s]/.test(t[7])&&"number"!=typeof e)throw"Expecting number but found "+n(e);switch(t[7]){case"b":e=e.toString(2);break;case"c":e=String.fromCharCode(e);break;case"d":e=parseInt(e);break;case"e":e=t[6]?e.toExponential(t[6]):e.toExponential();break;case"f":e=t[6]?parseFloat(e).toFixed(t[6]):parseFloat(e);break;case"o":e=e.toString(8);break;case"s":e=(e=String(e))&&t[6]?e.substring(0,t[6]):e;break;case"u":e=Math.abs(e);break;case"x":e=e.toString(16);break;case"X":e=e.toString(16).toUpperCase()}e=/[def]/.test(t[7])&&t[2]&&e>0?"+"+e:e,i=t[3]?"0"==t[3]?"0":t[3].charAt(1):" ",a=t[5]-String(e).length,r=t[5]?str_repeat(i,a):"",c.push(t[4]?e+r:r+e)}o=o.substring(t[0].length)}return c.join("")}},function(e,t){e.exports=function(e,t,n,r){if(e)for(var i=0;i<e.length;i++){var a=e[i],s=a.getAttribute("highlight");s||(s="fill"),a.setAttribute(s,r);var o=a.getAttribute("class");o||(o=""),o=(o=o.replace(n,"")).replace(t,""),t.length>0&&(o.length>0&&" "!==o.charAt(o.length-1)&&(o+=" "),o+=t),a.setAttribute("class",o)}}},function(e,t){e.exports=function(e,t,n){return e.paper.path(t)}},function(e,t,n){var r=n(0),i={};!function(){"use strict";var e,t,n,a,s;i.initialize=function(r,i,o,c,l){e=r,t=i,a=c,s=l,(n=o).annotationfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},n.gchordfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},n.historyfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},n.infofont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},n.measurefont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},n.partsfont={face:'"Times New Roman"',size:15,weight:"normal",style:"normal",decoration:"none"},n.repeatfont={face:'"Times New Roman"',size:13,weight:"normal",style:"normal",decoration:"none"},n.textfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},n.tripletfont={face:"Times",size:11,weight:"normal",style:"italic",decoration:"none"},n.vocalfont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},n.wordsfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},a.formatting.composerfont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},a.formatting.subtitlefont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},a.formatting.tempofont={face:'"Times New Roman"',size:15,weight:"bold",style:"normal",decoration:"none"},a.formatting.titlefont={face:'"Times New Roman"',size:20,weight:"normal",style:"normal",decoration:"none"},a.formatting.footerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},a.formatting.headerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},a.formatting.voicefont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},a.formatting.annotationfont=n.annotationfont,a.formatting.gchordfont=n.gchordfont,a.formatting.historyfont=n.historyfont,a.formatting.infofont=n.infofont,a.formatting.measurefont=n.measurefont,a.formatting.partsfont=n.partsfont,a.formatting.repeatfont=n.repeatfont,a.formatting.textfont=n.textfont,a.formatting.tripletfont=n.tripletfont,a.formatting.vocalfont=n.vocalfont,a.formatting.wordsfont=n.wordsfont};var o={gchordfont:!0,measurefont:!0,partsfont:!0,annotationfont:!0,composerfont:!0,historyfont:!0,infofont:!0,subtitlefont:!0,textfont:!0,titlefont:!0,voicefont:!0},c=function(e,n,r,i,a){function s(){var s=parseInt(e[0].token);return e.shift(),n?0===e.length?{face:n.face,weight:n.weight,style:n.style,decoration:n.decoration,size:s}:1===e.length&&"box"===e[0].token&&o[a]?{face:n.face,weight:n.weight,style:n.style,decoration:n.decoration,size:s,box:!0}:(t("Extra parameters in font definition.",r,i),{face:n.face,weight:n.weight,style:n.style,decoration:n.decoration,size:s}):(t("Can't set just the size of the font since there is no default value.",r,i),{face:'"Times New Roman"',weight:"normal",style:"normal",decoration:"none",size:s})}if("*"===e[0].token){if(e.shift(),"number"===e[0].type)return s();t("Expected font size number after *.",r,i)}if("number"===e[0].type)return s();for(var c,l=[],h="normal",u="normal",d="none",f=!1,p="face",m=!1;e.length;){var g=e.shift(),v=g.token.toLowerCase();switch(p){case"face":m||"utf"!==v&&"number"!==g.type&&"bold"!==v&&"italic"!==v&&"underline"!==v&&"box"!==v?l.length>0&&"-"===g.token?(m=!0,l[l.length-1]=l[l.length-1]+g.token):m?(m=!1,l[l.length-1]=l[l.length-1]+g.token):l.push(g.token):"number"===g.type?(c?t("Font size specified twice in font definition.",r,i):c=g.token,p="modifier"):"bold"===v?h="bold":"italic"===v?u="italic":"underline"===v?d="underline":"box"===v?(o[a]?f=!0:t('This font style doesn\'t support "box"',r,i),p="finished"):"utf"===v?(g=e.shift(),p="size"):t("Unknown parameter "+g.token+" in font definition.",r,i);break;case"size":"number"===g.type?c?t("Font size specified twice in font definition.",r,i):c=g.token:t("Expected font size in font definition.",r,i),p="modifier";break;case"modifier":"bold"===v?h="bold":"italic"===v?u="italic":"underline"===v?d="underline":"box"===v?(o[a]?f=!0:t('This font style doesn\'t support "box"',r,i),p="finished"):t("Unknown parameter "+g.token+" in font definition.",r,i);break;case"finished":t('Extra characters found after "box" in font definition.',r,i)}}void 0===c?n?c=n.size:(t("Must specify the size of the font since there is no default value.",r,i),c=12):c=parseFloat(c),""===(l=l.join(" "))&&(n?l=n.face:(t("Must specify the name of the font since there is no default value.",r,i),l="sans-serif"));var b=function(e){switch(e){case"Arial-Italic":return{face:"Arial",weight:"normal",style:"italic",decoration:"none"};case"Arial-Bold":return{face:"Arial",weight:"bold",style:"normal",decoration:"none"};case"Bookman-Demi":return{face:"Bookman,serif",weight:"bold",style:"normal",decoration:"none"};case"Bookman-DemiItalic":return{face:"Bookman,serif",weight:"bold",style:"italic",decoration:"none"};case"Bookman-Light":return{face:"Bookman,serif",weight:"normal",style:"normal",decoration:"none"};case"Bookman-LightItalic":return{face:"Bookman,serif",weight:"normal",style:"italic",decoration:"none"};case"Courier":return{face:'"Courier New"',weight:"normal",style:"normal",decoration:"none"};case"Courier-Oblique":return{face:'"Courier New"',weight:"normal",style:"italic",decoration:"none"};case"Courier-Bold":return{face:'"Courier New"',weight:"bold",style:"normal",decoration:"none"};case"Courier-BoldOblique":return{face:'"Courier New"',weight:"bold",style:"italic",decoration:"none"};case"AvantGarde-Book":return{face:"AvantGarde,Arial",weight:"normal",style:"normal",decoration:"none"};case"AvantGarde-BookOblique":return{face:"AvantGarde,Arial",weight:"normal",style:"italic",decoration:"none"};case"AvantGarde-Demi":case"Avant-Garde-Demi":return{face:"AvantGarde,Arial",weight:"bold",style:"normal",decoration:"none"};case"AvantGarde-DemiOblique":return{face:"AvantGarde,Arial",weight:"bold",style:"italic",decoration:"none"};case"Helvetica-Oblique":return{face:"Helvetica",weight:"normal",style:"italic",decoration:"none"};case"Helvetica-Bold":return{face:"Helvetica",weight:"bold",style:"normal",decoration:"none"};case"Helvetica-BoldOblique":return{face:"Helvetica",weight:"bold",style:"italic",decoration:"none"};case"Helvetica-Narrow":return{face:'"Helvetica Narrow",Helvetica',weight:"normal",style:"normal",decoration:"none"};case"Helvetica-Narrow-Oblique":return{face:'"Helvetica Narrow",Helvetica',weight:"normal",style:"italic",decoration:"none"};case"Helvetica-Narrow-Bold":return{face:'"Helvetica Narrow",Helvetica',weight:"bold",style:"normal",decoration:"none"};case"Helvetica-Narrow-BoldOblique":return{face:'"Helvetica Narrow",Helvetica',weight:"bold",style:"italic",decoration:"none"};case"Palatino-Roman":return{face:"Palatino",weight:"normal",style:"normal",decoration:"none"};case"Palatino-Italic":return{face:"Palatino",weight:"normal",style:"italic",decoration:"none"};case"Palatino-Bold":return{face:"Palatino",weight:"bold",style:"normal",decoration:"none"};case"Palatino-BoldItalic":return{face:"Palatino",weight:"bold",style:"italic",decoration:"none"};case"NewCenturySchlbk-Roman":return{face:'"New Century",serif',weight:"normal",style:"normal",decoration:"none"};case"NewCenturySchlbk-Italic":return{face:'"New Century",serif',weight:"normal",style:"italic",decoration:"none"};case"NewCenturySchlbk-Bold":return{face:'"New Century",serif',weight:"bold",style:"normal",decoration:"none"};case"NewCenturySchlbk-BoldItalic":return{face:'"New Century",serif',weight:"bold",style:"italic",decoration:"none"};case"Times":case"Times-Roman":case"Times-Narrow":case"Times-Courier":case"Times-New-Roman":return{face:'"Times New Roman"',weight:"normal",style:"normal",decoration:"none"};case"Times-Italic":case"Times-Italics":return{face:'"Times New Roman"',weight:"normal",style:"italic",decoration:"none"};case"Times-Bold":return{face:'"Times New Roman"',weight:"bold",style:"normal",decoration:"none"};case"Times-BoldItalic":return{face:'"Times New Roman"',weight:"bold",style:"italic",decoration:"none"};case"ZapfChancery-MediumItalic":return{face:'"Zapf Chancery",cursive,serif',weight:"normal",style:"normal",decoration:"none"};default:return null}}(l),y={};return b?(y.face=b.face,y.weight=b.weight,y.style=b.style,y.decoration=b.decoration,y.size=c,f&&(y.box=!0),y):(y.face=l,y.weight=h,y.style=u,y.decoration=d,y.size=c,f&&(y.box=!0),y)},l=function(e,t,r){return 0===t.length?'Directive "'+e+'" requires a font as a parameter.':(n[e]=c(t,n[e],r,0,e),n.is_in_header&&(a.formatting[e]=n[e]),null)},h=function(e,t){var n="";r.each(t,(function(e){n+=e.token}));var i=parseFloat(n);if(isNaN(i)||0===i)return'Directive "'+e+'" requires a number as a parameter.';a.formatting.scale=i},u=function(e,t,r,i,a){if(1!==r.length||"number"!==r[0].type)return'Directive "'+t+'" requires a number as a parameter.';var s=r[0].intt;return void 0!==i&&s<i?'Directive "'+t+'" requires a number greater than or equal to '+i+" as a parameter.":void 0!==a&&s>a?'Directive "'+t+'" requires a number less than or equal to '+a+" as a parameter.":(n[e]=s,null)},d=function(e,t,r){if(1===r.length&&("true"===r[0].token||"false"===r[0].token))return n[e]="true"===r[0].token,null;var i=u(e,t,r,0,1);return null!==i?i:(n[e]=1===n[e],null)},f=function(e,t,r,i){if(1!==r.length)return'Directive "'+t+'" requires one of [ '+i.join(", ")+" ] as a parameter.";for(var a=r[0].token,s=!1,o=0;!s&&o<i.length;o++)i[o]===a&&(s=!0);return s?(n[e]=a,null):'Directive "'+t+'" requires one of [ '+i.join(", ")+" ] as a parameter."},p=["nobarlines","barlines","beataccents","nobeataccents","droneon","droneoff","drumon","drumoff","fermatafixed","fermataproportional","gchordon","gchordoff","controlcombo","temperamentnormal","noportamento"],m=["gchord","ptstress","beatstring"],g=["bassvol","chordvol","c","channel","beatmod","deltaloudness","drumbars","gracedivider","makechordchannels","randomchordattack","chordattack","stressmodel","transpose","rtranspose","vol","volinc"],v=["program"],b=["ratio","snt","bendvelocity","pitchbend","control","temperamentlinear"],y=["beat"],w=["drone"],x=["portamento"],k=["expand","grace","trim"],A=["drum","chordname"];i.parseFontChangeLine=function(e){var t=e.split("$");if(t.length>1&&n.setfont){for(var r=[{text:t[0]}],i=1;i<t.length;i++)"0"===t[i].charAt(0)?r.push({text:t[i].substring(1)}):"1"===t[i].charAt(0)&&n.setfont[1]?r.push({font:n.setfont[1],text:t[i].substring(1)}):"2"===t[i].charAt(0)&&n.setfont[2]?r.push({font:n.setfont[2],text:t[i].substring(1)}):"3"===t[i].charAt(0)&&n.setfont[3]?r.push({font:n.setfont[3],text:t[i].substring(1)}):"4"===t[i].charAt(0)&&n.setfont[4]?r.push({font:n.setfont[4],text:t[i].substring(1)}):r[r.length-1].text+="$"+t[i];if(r.length>1)return r}return e};var T=["auto","above","below","hidden"];i.addDirective=function(o){var S=e.tokenize(o,0,o.length);if(0===S.length||"alpha"!==S[0].type)return null;var M=o.substring(o.indexOf(S[0].token)+S[0].token.length);M=e.stripComment(M);var N=S.shift().token.toLowerCase(),C="";switch(N){case"bagpipes":a.formatting.bagpipes=!0;break;case"flatbeams":a.formatting.flatbeams=!0;break;case"landscape":n.landscape=!0;break;case"papersize":n.papersize=M;break;case"graceslurs":if(1!==S.length)return"Directive graceslurs requires one parameter: 0 or 1";if("0"===S[0].token||"false"===S[0].token)a.formatting.graceSlurs=!1;else{if("1"!==S[0].token&&"true"!==S[0].token)return"Directive graceslurs requires one parameter: 0 or 1 (received "+S[0].token+")";a.formatting.graceSlurs=!0}break;case"stretchlast":a.formatting.stretchlast=!0;break;case"titlecaps":n.titlecaps=!0;break;case"titleleft":a.formatting.titleleft=!0;break;case"measurebox":a.formatting.measurebox=!0;break;case"vocal":return f("vocalPosition",N,S,T);case"dynamic":return f("dynamicPosition",N,S,T);case"gchord":return f("chordPosition",N,S,T);case"ornament":return f("ornamentPosition",N,S,T);case"volume":return f("volumePosition",N,S,T);case"botmargin":case"botspace":case"composerspace":case"indent":case"leftmargin":case"linesep":case"musicspace":case"partsspace":case"pageheight":case"pagewidth":case"rightmargin":case"staffsep":case"staffwidth":case"subtitlespace":case"sysstaffsep":case"systemsep":case"textspace":case"titlespace":case"topmargin":case"topspace":case"vocalspace":case"wordsspace":return function(t,n){var r=e.getMeasurement(n);return 0===r.used||0!==n.length?'Directive "'+t+'" requires a measurement as a parameter.':(a.formatting[t]=r.value,null)}(N,S);case"voicescale":if(1!==S.length||"number"!==S[0].type)return"voicescale requires one float as a parameter";var E=S.shift();return n.currentVoice&&(n.currentVoice.scale=E.floatt,s.changeVoiceScale(n.currentVoice.scale)),null;case"vskip":var I=Math.round(function(t,n){var r=e.getMeasurement(n);return 0===r.used||0!==n.length?{error:'Directive "'+t+'" requires a measurement as a parameter.'}:r.value}(N,S));return I.error?I.error:(s.addSpacing(I),null);case"scale":h(N,S);break;case"sep":if(0===S.length)s.addSeparator(14,14,85);else{var _=e.getMeasurement(S);if(0===_.used)return'Directive "'+N+'" requires 3 numbers: space above, space below, length of line';var B=_.value;if(0===(_=e.getMeasurement(S)).used)return'Directive "'+N+'" requires 3 numbers: space above, space below, length of line';var P=_.value;if(0===(_=e.getMeasurement(S)).used||0!==S.length)return'Directive "'+N+'" requires 3 numbers: space above, space below, length of line';var D=_.value;s.addSeparator(B,P,D)}break;case"barsperstaff":if(null!==(C=u("barsperstaff",N,S)))return C;break;case"staffnonote":if(1!==S.length)return"Directive staffnonote requires one parameter: 0 or 1";if("0"===S[0].token)n.staffnonote=!0;else{if("1"!==S[0].token)return"Directive staffnonote requires one parameter: 0 or 1 (received "+S[0].token+")";n.staffnonote=!1}break;case"printtempo":if(null!==(C=d("printTempo",N,S)))return C;break;case"partsbox":if(null!==(C=d("partsBox",N,S)))return C;n.partsfont.box=n.partsBox;break;case"freegchord":if(null!==(C=d("freegchord",N,S)))return C;break;case"measurenb":case"barnumbers":if(null!==(C=u("barNumbers",N,S)))return C;break;case"setbarnb":if(1!==S.length||"number"!==S[0].type)return"Directive setbarnb requires a number as a parameter.";n.currBarNumber=s.setBarNumberImmediate(S[0].intt);break;case"begintext":n.inTextBlock=!0;break;case"continueall":n.continueall=!0;break;case"beginps":n.inPsBlock=!0,t("Postscript ignored",o,0);break;case"deco":M.length>0&&n.ignoredDecorations.push(M.substring(0,M.indexOf(" "))),t("Decoration redefinition ignored",o,0);break;case"text":var L=e.translateString(M);s.addText(i.parseFontChangeLine(L));break;case"center":var O=e.translateString(M);s.addCentered(i.parseFontChangeLine(O));break;case"font":break;case"setfont":var H=e.tokenize(M,0,M.length);if(H.length>=4&&"-"===H[0].token&&"number"===H[1].type){var V=parseInt(H[1].token);V>=1&&V<=4&&(n.setfont||(n.setfont=[]),H.shift(),H.shift(),n.setfont[V]=c(H,n.setfont[V],o,0,"setfont"))}break;case"gchordfont":case"partsfont":case"tripletfont":case"vocalfont":case"textfont":case"annotationfont":case"historyfont":case"infofont":case"measurefont":case"repeatfont":case"wordsfont":return l(N,S,o);case"composerfont":case"subtitlefont":case"tempofont":case"titlefont":case"voicefont":case"footerfont":case"headerfont":return function(e,t,n){return 0===t.length?'Directive "'+e+'" requires a font as a parameter.':(a.formatting[e]=c(t,a.formatting[e],n,0,e),null)}(N,S,o);case"barlabelfont":case"barnumberfont":case"barnumfont":return l("measurefont",S,o);case"staves":case"score":n.score_is_present=!0;for(var F,z=function(e,t,i,a,s){(t||0===n.staves.length)&&n.staves.push({index:n.staves.length,numVoices:0});var o=r.last(n.staves);void 0!==i&&void 0===o.bracket&&(o.bracket=i),void 0!==a&&void 0===o.brace&&(o.brace=a),s&&(o.connectBarLines="end"),void 0===n.voices[e]&&(n.voices[e]={staffNum:o.index,index:o.numVoices},o.numVoices++)},j=!1,q=!1,Y=!1,W=!1,R=!1,G=!1,U=!1,X=function(){if(U=!0,F){var e="start";F.staffNum>0&&("start"!==n.staves[F.staffNum-1].connectBarLines&&"continue"!==n.staves[F.staffNum-1].connectBarLines||(e="continue")),n.staves[F.staffNum].connectBarLines=e}};S.length;){var K=S.shift();switch(K.token){case"(":j?t("Can't nest parenthesis in %%score",o,K.start):(j=!0,W=!0);break;case")":!j||W?t("Unexpected close parenthesis in %%score",o,K.start):j=!1;break;case"[":q?t("Can't nest brackets in %%score",o,K.start):(q=!0,R=!0);break;case"]":!q||R?t("Unexpected close bracket in %%score",o,K.start):(q=!1,n.staves[F.staffNum].bracket="end");break;case"{":Y?t("Can't nest braces in %%score",o,K.start):(Y=!0,G=!0);break;case"}":!Y||G?t("Unexpected close brace in %%score",o,K.start):(Y=!1,n.staves[F.staffNum].brace="end");break;case"|":X();break;default:for(var Z="";("alpha"===K.type||"number"===K.type)&&(Z+=K.token,K.continueId);)K=S.shift();z(Z,!j||W,R?"start":q?"continue":void 0,G?"start":Y?"continue":void 0,U),W=!1,R=!1,G=!1,U=!1,F=n.voices[Z],"staves"===N&&X()}}break;case"newpage":var Q=e.getInt(M);s.addNewPage(0===Q.digits?-1:Q.value);break;case"abc":var J=M.split(" ");switch(J[0]){case"-copyright":case"-creator":case"-edited-by":case"-version":case"-charset":var $=J.shift();s.addMetaText(N+$,J.join(" "));break;default:return"Unknown directive: "+N+J[0]}break;case"header":case"footer":var ee=e.getMeat(M,0,M.length);'"'===(ee=M.substring(ee.start,ee.end)).charAt(0)&&'"'===ee.charAt(ee.length-1)&&(ee=ee.substring(1,ee.length-1));var te=ee.split("\t"),ne={};ne=1===te.length?{left:"",center:te[0],right:""}:2===te.length?{left:te[0],center:te[1],right:""}:{left:te[0],center:te[1],right:te[2]},te.length>3&&t("Too many tabs in "+N+": "+te.length+" found.",M,0),s.addMetaTextObj(N,ne);break;case"midi":var re=e.tokenize(M,0,M.length,!0);re.length>0&&"="===re[0].token&&re.shift(),0===re.length?t("Expected midi command",M,0):function(e,n,r){var i=e.shift().token,a=[];if(p.indexOf(i)>=0)0!==e.length&&t("Unexpected parameter in MIDI "+i,r,0);else if(m.indexOf(i)>=0)1!==e.length?t("Expected one parameter in MIDI "+i,r,0):a.push(e[0].token);else if(g.indexOf(i)>=0)1!==e.length?t("Expected one parameter in MIDI "+i,r,0):"number"!==e[0].type?t("Expected one integer parameter in MIDI "+i,r,0):a.push(e[0].intt);else if(v.indexOf(i)>=0)1!==e.length&&2!==e.length?t("Expected one or two parameters in MIDI "+i,r,0):"number"!==e[0].type||2===e.length&&"number"!==e[1].type?t("Expected integer parameter in MIDI "+i,r,0):(a.push(e[0].intt),2===e.length&&a.push(e[1].intt));else if(b.indexOf(i)>=0)2!==e.length?t("Expected two parameters in MIDI "+i,r,0):"number"!==e[0].type||"number"!==e[1].type?t("Expected two integer parameters in MIDI "+i,r,0):(a.push(e[0].intt),a.push(e[1].intt));else if(x.indexOf(i)>=0)2!==e.length?t("Expected two parameters in MIDI "+i,r,0):"alpha"!==e[0].type||"number"!==e[1].type?t("Expected one string and one integer parameters in MIDI "+i,r,0):(a.push(e[0].token),a.push(e[1].intt));else if("drummap"===i)2===e.length&&"alpha"===e[0].type&&"number"===e[1].type?(n.formatting||(n.formatting={}),n.formatting.midi||(n.formatting.midi={}),n.formatting.midi.drummap||(n.formatting.midi.drummap={}),n.formatting.midi.drummap[e[0].token]=e[1].intt,a=n.formatting.midi.drummap):3===e.length&&"punct"===e[0].type&&"alpha"===e[1].type&&"number"===e[2].type?(n.formatting||(n.formatting={}),n.formatting.midi||(n.formatting.midi={}),n.formatting.midi.drummap||(n.formatting.midi.drummap={}),n.formatting.midi.drummap[e[0].token+e[1].token]=e[2].intt,a=n.formatting.midi.drummap):t("Expected one note name and one integer parameter in MIDI "+i,r,0);else if(k.indexOf(i)>=0)3!==e.length||"number"!==e[0].type||"/"!==e[1].token||"number"!==e[2].type?t("Expected fraction parameter in MIDI "+i,r,0):(a.push(e[0].intt),a.push(e[2].intt));else if(y.indexOf(i)>=0)4!==e.length?t("Expected four parameters in MIDI "+i,r,0):"number"!==e[0].type||"number"!==e[1].type||"number"!==e[2].type||"number"!==e[3].type?t("Expected four integer parameters in MIDI "+i,r,0):(a.push(e[0].intt),a.push(e[1].intt),a.push(e[2].intt),a.push(e[3].intt));else if(w.indexOf(i)>=0)5!==e.length?t("Expected five parameters in MIDI "+i,r,0):"number"!==e[0].type||"number"!==e[1].type||"number"!==e[2].type||"number"!==e[3].type||"number"!==e[4].type?t("Expected five integer parameters in MIDI "+i,r,0):(a.push(e[0].intt),a.push(e[1].intt),a.push(e[2].intt),a.push(e[3].intt),a.push(e[4].intt));else if(v.indexOf(i)>=0)1!==e.length||4!==e.length?t("Expected one or two parameters in MIDI "+i,r,0):"number"!==e[0].type?t("Expected integer parameter in MIDI "+i,r,0):4===e.length?("octave"!==e[1].token&&t("Expected octave parameter in MIDI "+i,r,0),"="!==e[2].token&&t("Expected octave parameter in MIDI "+i,r,0),"number"!==e[3].type&&t("Expected integer parameter for octave in MIDI "+i,r,0)):(a.push(e[0].intt),4===e.length&&a.push(e[3].intt));else if(A.indexOf(i)>=0)if(e.length<2)t("Expected string parameter and at least one integer parameter in MIDI "+i,r,0);else if("alpha"!==e[0].type)t("Expected string parameter and at least one integer parameter in MIDI "+i,r,0);else{var o=e.shift();for(a.push(o.token);e.length>0;)"number"!==(o=e.shift()).type&&t("Expected integer parameter in MIDI "+i,r,0),a.push(o.intt)}s.hasBeginMusic()?s.appendElement("midi",-1,-1,{cmd:i,params:a}):(void 0===n.formatting.midi&&(n.formatting.midi={}),n.formatting.midi[i]=a)}(re,a,M);break;case"map":case"percmap":case"playtempo":case"auquality":case"continuous":case"nobarcheck":a.formatting[N]=M;break;default:return"Unknown directive: "+N}return null},i.globalFormatting=function(r){for(var i in r)if(r.hasOwnProperty(i)){var s,o=""+r[i],c=e.tokenize(o,0,o.length);switch(i){case"titlefont":case"gchordfont":case"composerfont":case"footerfont":case"headerfont":case"historyfont":case"infofont":case"measurefont":case"partsfont":case"repeatfont":case"subtitlefont":case"tempofont":case"textfont":case"voicefont":case"tripletfont":case"vocalfont":case"wordsfont":case"annotationfont":l(i,c,o);break;case"scale":h(i,c);break;case"partsbox":null!==(s=d("partsBox",i,c))&&t(s),n.partsfont.box=n.partsBox;break;case"freegchord":null!==(s=d("freegchord",i,c))&&t(s);break;case"fontboxpadding":1===c.length&&"number"===c[0].type||t('Directive "'+i+'" requires a number as a parameter.'),a.formatting.fontboxpadding=c[0].floatt;break;case"stretchlast":a.formatting.stretchlast="true"===o||!0===o;break;default:t("Formatting directive unrecognized: ",i,0)}}}}(),e.exports=i},function(e,t,n){var r=n(0),i=n(10),a=n(16),s={};!function(){var e,t,n,o;s.initialize=function(r,i,a,s,c){e=r,t=i,n=a,s,o=c},s.standardKey=function(e,t,r,i){var s={acc:"sharp",note:"f"},o={acc:"sharp",note:"c"},c={acc:"sharp",note:"g"},l={acc:"sharp",note:"d"},h={acc:"sharp",note:"A"},u={acc:"sharp",note:"e"},d={acc:"sharp",note:"B"},f={acc:"flat",note:"B"},p={acc:"flat",note:"e"},m={acc:"flat",note:"A"},g={acc:"flat",note:"d"},v={acc:"flat",note:"G"},b={acc:"flat",note:"c"},y={acc:"flat",note:"F"},w={"C#":[s,o,c,l,h,u,d],"A#m":[s,o,c,l,h,u,d],"G#Mix":[s,o,c,l,h,u,d],"D#Dor":[s,o,c,l,h,u,d],"E#Phr":[s,o,c,l,h,u,d],"F#Lyd":[s,o,c,l,h,u,d],"B#Loc":[s,o,c,l,h,u,d],"F#":[s,o,c,l,h,u],"D#m":[s,o,c,l,h,u],"C#Mix":[s,o,c,l,h,u],"G#Dor":[s,o,c,l,h,u],"A#Phr":[s,o,c,l,h,u],BLyd:[s,o,c,l,h,u],"E#Loc":[s,o,c,l,h,u],B:[s,o,c,l,h],"G#m":[s,o,c,l,h],"F#Mix":[s,o,c,l,h],"C#Dor":[s,o,c,l,h],"D#Phr":[s,o,c,l,h],ELyd:[s,o,c,l,h],"A#Loc":[s,o,c,l,h],E:[s,o,c,l],"C#m":[s,o,c,l],BMix:[s,o,c,l],"F#Dor":[s,o,c,l],"G#Phr":[s,o,c,l],ALyd:[s,o,c,l],"D#Loc":[s,o,c,l],A:[s,o,c],"F#m":[s,o,c],EMix:[s,o,c],BDor:[s,o,c],"C#Phr":[s,o,c],DLyd:[s,o,c],"G#Loc":[s,o,c],D:[s,o],Bm:[s,o],AMix:[s,o],EDor:[s,o],"F#Phr":[s,o],GLyd:[s,o],"C#Loc":[s,o],G:[s],Em:[s],DMix:[s],ADor:[s],BPhr:[s],CLyd:[s],"F#Loc":[s],C:[],Am:[],GMix:[],DDor:[],EPhr:[],FLyd:[],BLoc:[],F:[f],Dm:[f],CMix:[f],GDor:[f],APhr:[f],BbLyd:[f],ELoc:[f],Bb:[f,p],Gm:[f,p],FMix:[f,p],CDor:[f,p],DPhr:[f,p],EbLyd:[f,p],ALoc:[f,p],Eb:[f,p,m],Cm:[f,p,m],BbMix:[f,p,m],FDor:[f,p,m],GPhr:[f,p,m],AbLyd:[f,p,m],DLoc:[f,p,m],Ab:[f,p,m,g],Fm:[f,p,m,g],EbMix:[f,p,m,g],BbDor:[f,p,m,g],CPhr:[f,p,m,g],DbLyd:[f,p,m,g],GLoc:[f,p,m,g],Db:[f,p,m,g,v],Bbm:[f,p,m,g,v],AbMix:[f,p,m,g,v],EbDor:[f,p,m,g,v],FPhr:[f,p,m,g,v],GbLyd:[f,p,m,g,v],CLoc:[f,p,m,g,v],Gb:[f,p,m,g,v,b],Ebm:[f,p,m,g,v,b],DbMix:[f,p,m,g,v,b],AbDor:[f,p,m,g,v,b],BbPhr:[f,p,m,g,v,b],CbLyd:[f,p,m,g,v,b],FLoc:[f,p,m,g,v,b],Cb:[f,p,m,g,v,b,y],Abm:[f,p,m,g,v,b,y],GbMix:[f,p,m,g,v,b,y],DbDor:[f,p,m,g,v,b,y],EbPhr:[f,p,m,g,v,b,y],FbLyd:[f,p,m,g,v,b,y],BbLoc:[f,p,m,g,v,b,y],"A#":[f,p],"B#":[],"D#":[f,p,m],"E#":[f],"G#":[f,p,m,g],Gbm:[s,o,c,l,h,u,d],none:[]};return a.keySignature(n,w,e,t,r,i)};var c={treble:{clef:"treble",pitch:4,mid:0},"treble+8":{clef:"treble+8",pitch:4,mid:0},"treble-8":{clef:"treble-8",pitch:4,mid:0},"treble^8":{clef:"treble+8",pitch:4,mid:0},treble_8:{clef:"treble-8",pitch:4,mid:0},treble1:{clef:"treble",pitch:2,mid:2},treble2:{clef:"treble",pitch:4,mid:0},treble3:{clef:"treble",pitch:6,mid:-2},treble4:{clef:"treble",pitch:8,mid:-4},treble5:{clef:"treble",pitch:10,mid:-6},perc:{clef:"perc",pitch:6,mid:0},none:{clef:"none",mid:0},bass:{clef:"bass",pitch:8,mid:-12},"bass+8":{clef:"bass+8",pitch:8,mid:-12},"bass-8":{clef:"bass-8",pitch:8,mid:-12},"bass^8":{clef:"bass+8",pitch:8,mid:-12},bass_8:{clef:"bass-8",pitch:8,mid:-12},"bass+16":{clef:"bass",pitch:8,mid:-12},"bass-16":{clef:"bass",pitch:8,mid:-12},"bass^16":{clef:"bass",pitch:8,mid:-12},bass_16:{clef:"bass",pitch:8,mid:-12},bass1:{clef:"bass",pitch:2,mid:-6},bass2:{clef:"bass",pitch:4,mid:-8},bass3:{clef:"bass",pitch:6,mid:-10},bass4:{clef:"bass",pitch:8,mid:-12},bass5:{clef:"bass",pitch:10,mid:-14},tenor:{clef:"alto",pitch:8,mid:-8},tenor1:{clef:"alto",pitch:2,mid:-2},tenor2:{clef:"alto",pitch:4,mid:-4},tenor3:{clef:"alto",pitch:6,mid:-6},tenor4:{clef:"alto",pitch:8,mid:-8},tenor5:{clef:"alto",pitch:10,mid:-10},alto:{clef:"alto",pitch:6,mid:-6},alto1:{clef:"alto",pitch:2,mid:-2},alto2:{clef:"alto",pitch:4,mid:-4},alto3:{clef:"alto",pitch:6,mid:-6},alto4:{clef:"alto",pitch:8,mid:-8},alto5:{clef:"alto",pitch:10,mid:-10},"alto+8":{clef:"alto+8",pitch:6,mid:-6},"alto-8":{clef:"alto-8",pitch:6,mid:-6},"alto^8":{clef:"alto+8",pitch:6,mid:-6},alto_8:{clef:"alto-8",pitch:6,mid:-6}},l=function(e,t){var n=c[e];return(n?n.mid:0)+t};s.fixClef=function(e){var t=c[e.type];t&&(e.clefPos=t.pitch,e.type=t.clef)},s.deepCopyKey=function(e){var t={accidentals:[],root:e.root,acc:e.acc,mode:e.mode};return r.each(e.accidentals,(function(e){t.accidentals.push(r.clone(e))})),t};var h={A:5,B:6,C:0,D:1,E:2,F:3,G:4,a:12,b:13,c:7,d:8,e:9,f:10,g:11};s.addPosToKey=function(e,t){var n=e.verticalPos;r.each(t.accidentals,(function(e){var t=h[e.note];t-=n,e.verticalPos=t})),t.impliedNaturals&&r.each(t.impliedNaturals,(function(e){var t=h[e.note];t-=n,e.verticalPos=t})),n<-10?(r.each(t.accidentals,(function(e){e.verticalPos-=7,(e.verticalPos>=11||10===e.verticalPos&&"flat"===e.acc)&&(e.verticalPos-=7),"A"===e.note&&"sharp"===e.acc&&(e.verticalPos-=7),"G"!==e.note&&"F"!==e.note||"flat"!==e.acc||(e.verticalPos-=7)})),t.impliedNaturals&&r.each(t.impliedNaturals,(function(e){e.verticalPos-=7,(e.verticalPos>=11||10===e.verticalPos&&"flat"===e.acc)&&(e.verticalPos-=7),"A"===e.note&&"sharp"===e.acc&&(e.verticalPos-=7),"G"!==e.note&&"F"!==e.note||"flat"!==e.acc||(e.verticalPos-=7)}))):n<-4?(r.each(t.accidentals,(function(e){e.verticalPos-=7,-8!==n||"f"!==e.note&&"g"!==e.note||"sharp"!==e.acc||(e.verticalPos-=7)})),t.impliedNaturals&&r.each(t.impliedNaturals,(function(e){e.verticalPos-=7,-8!==n||"f"!==e.note&&"g"!==e.note||"sharp"!==e.acc||(e.verticalPos-=7)}))):n>=7&&(r.each(t.accidentals,(function(e){e.verticalPos+=7})),t.impliedNaturals&&r.each(t.impliedNaturals,(function(e){e.verticalPos+=7})))},s.fixKey=function(e,t){var n=r.clone(t);return s.addPosToKey(e,n),n};var u=function(e){var t=0,n=e.charAt(t++);"^"!==n&&"_"!==n||(n=e.charAt(t++));var r=h[n];for(void 0===r&&(r=6);t<e.length;t++)if(","===e.charAt(t))r-=7;else{if("'"!==e.charAt(t))break;r+=7}return{mid:r-6,str:e.substring(t)}};s.parseKey=function(r){0===r.length&&(r="none");var a=e.tokenize(r,0,r.length),o={};switch(a[0].token){case"HP":i.addDirective("bagpipes"),n.key={root:"HP",accidentals:[],acc:"",mode:""},o.foundKey=!0,a.shift();break;case"Hp":i.addDirective("bagpipes"),n.key={root:"Hp",accidentals:[{acc:"natural",note:"g"},{acc:"sharp",note:"f"},{acc:"sharp",note:"c"}],acc:"",mode:""},o.foundKey=!0,a.shift();break;case"none":n.key={root:"none",accidentals:[],acc:"",mode:""},o.foundKey=!0,a.shift();break;default:var c=e.getKeyPitch(a[0].token);if(c.len>0){o.foundKey=!0;var h="",u="";a[0].token.length>1?a[0].token=a[0].token.substring(1):a.shift();var d=c.token;if(a.length>0){var f=e.getSharpFlat(a[0].token);if(f.len>0&&(a[0].token.length>1?a[0].token=a[0].token.substring(1):a.shift(),d+=f.token,h=f.token),a.length>0){var p=e.getMode(a[0].token);p.len>0&&(a.shift(),d+=p.token,u=p.token)}if(void 0===s.standardKey(d,c.token,h,0))return t("Unsupported key signature: "+d,r,0),o}var m=s.deepCopyKey(n.key),g=n.globalTranspose?-n.globalTranspose:0;if(n.key=s.deepCopyKey(s.standardKey(d,c.token,h,g)),n.key.mode=u,m){for(var v,b=0;b<n.key.accidentals.length;b++)for(v=0;v<m.accidentals.length;v++)m.accidentals[v].note&&n.key.accidentals[b].note.toLowerCase()===m.accidentals[v].note.toLowerCase()&&(m.accidentals[v].note=null);for(v=0;v<m.accidentals.length;v++)m.accidentals[v].note&&(n.key.impliedNaturals||(n.key.impliedNaturals=[]),n.key.impliedNaturals.push({acc:"natural",note:m.accidentals[v].note}))}}}if(0===a.length)return o;if("exp"===a[0].token&&a.shift(),0===a.length)return o;if("oct"===a[0].token&&a.shift(),0===a.length)return o;var y,w=e.getKeyAccidentals2(a);if(w.warn&&t(w.warn,r,0),w.accs){o.foundKey||(o.foundKey=!0,n.key={root:"none",acc:"",mode:"",accidentals:[]}),function(e){for(var t=0;t<e.length;t++)"b"===e[t].note?e[t].note="B":"a"===e[t].note?e[t].note="A":"F"===e[t].note?e[t].note="f":"E"===e[t].note?e[t].note="e":"D"===e[t].note?e[t].note="d":"C"===e[t].note?e[t].note="c":"G"===e[t].note&&"sharp"===e[t].acc?e[t].note="g":"g"===e[t].note&&"flat"===e[t].acc&&(e[t].note="G")}(w.accs);for(var x=0;x<w.accs.length;x++){for(var k=!1,A=0;A<n.key.accidentals.length&&!k;A++)n.key.accidentals[A].note===w.accs[x].note&&(k=!0,n.key.accidentals[A].acc!==w.accs[x].acc&&(n.key.accidentals[A].acc=w.accs[x].acc,n.key.explicitAccidentals||(n.key.explicitAccidentals=[]),n.key.explicitAccidentals.push(w.accs[x])));if(!k&&(n.key.explicitAccidentals||(n.key.explicitAccidentals=[]),n.key.explicitAccidentals.push(w.accs[x]),n.key.accidentals.push(w.accs[x]),n.key.impliedNaturals))for(var T=0;T<n.key.impliedNaturals.length;T++)n.key.impliedNaturals[T].note===w.accs[x].note&&n.key.impliedNaturals.splice(T,1)}}for(;a.length>0;)switch(a[0].token){case"m":case"middle":if(a.shift(),0===a.length)return t("Expected = after middle",r,0),o;if("="!==(y=a.shift()).token){t("Expected = after middle",r,y.start);break}if(0===a.length)return t("Expected parameter after middle=",r,0),o;var S=e.getPitchFromTokens(a);S.warn&&t(S.warn,r,0),S.position&&(n.clef.verticalPos=S.position-6);break;case"transpose":if(a.shift(),0===a.length)return t("Expected = after transpose",r,0),o;if("="!==(y=a.shift()).token){t("Expected = after transpose",r,y.start);break}if(0===a.length)return t("Expected parameter after transpose=",r,0),o;if("number"!==a[0].type){t("Expected number after transpose",r,a[0].start);break}n.clef.transpose=a[0].intt,a.shift();break;case"stafflines":if(a.shift(),0===a.length)return t("Expected = after stafflines",r,0),o;if("="!==(y=a.shift()).token){t("Expected = after stafflines",r,y.start);break}if(0===a.length)return t("Expected parameter after stafflines=",r,0),o;if("number"!==a[0].type){t("Expected number after stafflines",r,a[0].start);break}n.clef.stafflines=a[0].intt,a.shift();break;case"staffscale":if(a.shift(),0===a.length)return t("Expected = after staffscale",r,0),o;if("="!==(y=a.shift()).token){t("Expected = after staffscale",r,y.start);break}if(0===a.length)return t("Expected parameter after staffscale=",r,0),o;if("number"!==a[0].type){t("Expected number after staffscale",r,a[0].start);break}n.clef.staffscale=a[0].floatt,a.shift();break;case"style":if(a.shift(),0===a.length)return t("Expected = after style",r,0),o;if("="!==(y=a.shift()).token){t("Expected = after style",r,y.start);break}if(0===a.length)return t("Expected parameter after style=",r,0),o;switch(a[0].token){case"normal":case"harmonic":case"rhythm":case"x":n.style=a[0].token,a.shift();break;default:t("error parsing style element: "+a[0].token,r,a[0].start)}break;case"clef":if(a.shift(),0===a.length)return t("Expected = after clef",r,0),o;if("="!==(y=a.shift()).token){t("Expected = after clef",r,y.start);break}if(0===a.length)return t("Expected parameter after clef=",r,0),o;case"treble":case"bass":case"alto":case"tenor":case"perc":case"none":var M=a.shift();switch(M.token){case"treble":case"tenor":case"alto":case"bass":case"perc":case"none":break;case"C":M.token="alto";break;case"F":M.token="bass";break;case"G":M.token="treble";break;case"c":M.token="alto";break;case"f":M.token="bass";break;case"g":M.token="treble";break;default:t("Expected clef name. Found "+M.token,r,M.start)}a.length>0&&"number"===a[0].type&&(M.token+=a[0].token,a.shift()),a.length>1&&("-"===a[0].token||"+"===a[0].token||"^"===a[0].token||"_"===a[0].token)&&"8"===a[1].token&&(M.token+=a[0].token+a[1].token,a.shift(),a.shift()),n.clef={type:M.token,verticalPos:l(M.token,0)},n.currentVoice&&void 0!==n.currentVoice.transpose&&(n.clef.transpose=n.currentVoice.transpose),o.foundClef=!0;break;default:t("Unknown parameter: "+a[0].token,r,a[0].start),a.shift()}return o};s.parseVoice=function(r,i,a){var s=e.getMeat(r,i,a),c=s.start,h=s.end,d=e.getToken(r,c,h);if(0!==d.length){var f=!1;void 0===n.voices[d]&&(n.voices[d]={},f=!0,n.score_is_present&&t("Can't have an unknown V: id when the %score directive is present",r,c)),c+=d.length,c+=e.eatWhiteSpace(r,c);for(var p={startStaff:f},m=function(n){var i=e.getVoiceToken(r,c,h);void 0!==i.warn?t("Expected value for "+n+" in voice: "+i.warn,r,c):void 0!==i.err?t("Expected value for "+n+" in voice: "+i.err,r,c):0===i.token.length&&'"'!==r.charAt(c)?t("Expected value for "+n+" in voice",r,c):p[n]=i.token,c+=i.len},g=function(i,a,s){var o=e.getVoiceToken(r,c,h);void 0!==o.warn?t("Expected value for "+a+" in voice: "+o.warn,r,c):void 0!==o.err?t("Expected value for "+a+" in voice: "+o.err,r,c):0===o.token.length&&'"'!==r.charAt(c)?t("Expected value for "+a+" in voice",r,c):("number"===s&&(o.token=parseFloat(o.token)),n.voices[i][a]=o.token),c+=o.len},v=function(n,i){var a=e.getVoiceToken(r,c,h);if(void 0!==a.warn)t("Expected value for "+n+" in voice: "+a.warn,r,c);else if(void 0!==a.err)t("Expected value for "+n+" in voice: "+a.err,r,c);else{if(0!==a.token.length||'"'===r.charAt(c))return"number"===i&&(a.token=parseFloat(a.token)),a.token;t("Expected value for "+n+" in voice",r,c)}c+=a.len},b=function(i,a){var s=e.getVoiceToken(r,c,h);if(void 0!==s.warn)t("Expected one of (_B, _E, _b, _e) for "+a+" in voice: "+s.warn,r,c);else if(0===s.token.length&&'"'!==r.charAt(c))t("Expected one of (_B, _E, _b, _e) for "+a+" in voice",r,c);else{var o={_B:2,_E:9,_b:-10,_e:-3}[s.token];o?n.voices[i][a]=o:t("Expected one of (_B, _E, _b, _e) for "+a+" in voice",r,c)}c+=s.len};c<h;){var y=e.getVoiceToken(r,c,h);if(c+=y.len,y.warn)t("Error parsing voice: "+y.warn,r,c);else{var w=null;switch(y.token){case"clef":case"cl":m("clef");var x=0;void 0!==p.clef&&(p.clef=p.clef.replace(/[',]/g,""),-1!==p.clef.indexOf("+16")&&(x+=14,p.clef=p.clef.replace("+16","")),p.verticalPos=l(p.clef,x));break;case"treble":case"bass":case"tenor":case"alto":case"perc":case"none":case"treble'":case"bass'":case"tenor'":case"alto'":case"none'":case"treble''":case"bass''":case"tenor''":case"alto''":case"none''":case"treble,":case"bass,":case"tenor,":case"alto,":case"none,":case"treble,,":case"bass,,":case"tenor,,":case"alto,,":case"none,,":p.clef=y.token.replace(/[',]/g,""),p.verticalPos=l(p.clef,0),n.voices[d].clef=y.token;break;case"staves":case"stave":case"stv":m("staves");break;case"brace":case"brc":m("brace");break;case"bracket":case"brk":m("bracket");break;case"name":case"nm":m("name");break;case"subname":case"sname":case"snm":m("subname");break;case"merge":p.startStaff=!1;break;case"stem":case"stems":void 0!==(w=e.getVoiceToken(r,c,h)).warn?t("Expected value for stems in voice: "+w.warn,r,c):void 0!==w.err?t("Expected value for stems in voice: "+w.err,r,c):"up"===w.token||"down"===w.token?n.voices[d].stem=w.token:t("Expected up or down for voice stem",r,c),c+=w.len;break;case"up":case"down":n.voices[d].stem=y.token;break;case"middle":case"m":m("verticalPos"),p.verticalPos=u(p.verticalPos).mid;break;case"gchords":case"gch":n.voices[d].suppressChords=!0,"0"===(w=e.getVoiceToken(r,c,h)).token&&(c+=w.len);break;case"space":case"spc":m("spacing");break;case"scale":g(d,"scale","number");break;case"score":b(d,"scoreTranspose");break;case"transpose":g(d,"transpose","number");break;case"stafflines":g(d,"stafflines","number");break;case"staffscale":g(d,"staffscale","number");break;case"octave":g(d,"octave","number");break;case"volume":g(d,"volume","number");break;case"cue":var k=v("cue","string");n.voices[d].scale="on"===k?.6:1;break;case"style":void 0!==(w=e.getVoiceToken(r,c,h)).warn?t("Expected value for style in voice: "+w.warn,r,c):void 0!==w.err?t("Expected value for style in voice: "+w.err,r,c):"normal"===w.token||"harmonic"===w.token||"rhythm"===w.token||"x"===w.token?n.voices[d].style=w.token:t("Expected one of [normal, harmonic, rhythm, x] for voice style",r,c),c+=w.len}}c+=e.eatWhiteSpace(r,c)}if((p.startStaff||0===n.staves.length)&&(n.staves.push({index:n.staves.length,meter:n.origMeter}),n.score_is_present||(n.staves[n.staves.length-1].numVoices=0)),void 0===n.voices[d].staffNum){n.voices[d].staffNum=n.staves.length-1;var A=0;for(var T in n.voices)n.voices.hasOwnProperty(T)&&n.voices[T].staffNum===n.voices[d].staffNum&&A++;n.voices[d].index=A-1}var S=n.staves[n.voices[d].staffNum];n.score_is_present||S.numVoices++,p.clef&&(S.clef={type:p.clef,verticalPos:p.verticalPos}),p.spacing&&(S.spacing_below_offset=p.spacing),p.verticalPos&&(S.verticalPos=p.verticalPos),p.name&&(S.name?S.name.push(p.name):S.name=[p.name]),p.subname&&(S.subname?S.subname.push(p.subname):S.subname=[p.subname]),function(e){n.currentVoice=n.voices[e],o.setCurrentVoice(n.currentVoice.staffNum,n.currentVoice.index)}(d)}else t("Expected a voice id",r,c)}}(),e.exports=s},function(e,t){e.exports=function(e,t,n,r,i){return t+(r-t)/(n-e)*(i-e)}},function(e,t,n){var r,i=n(3);!function(){"use strict";function e(){this.ingroup=!1}e.prototype.beginGroup=function(e,t){this.paper=e,this.controller=t,this.path=[],this.lastM=[0,0],this.ingroup=!0},e.prototype.isInGroup=function(){return this.ingroup},e.prototype.addPath=function(e){if(0!==(e=e||[]).length){e[0][0]="m",e[0][1]=i(e[0][1]-this.lastM[0]),e[0][2]=i(e[0][2]-this.lastM[1]),this.lastM[0]+=e[0][1],this.lastM[1]+=e[0][2],this.path.push(e[0]);for(var t=1,n=e.length;t<n;t++)"m"===e[t][0]&&(this.lastM[0]+=e[t][1],this.lastM[1]+=e[t][2]),this.path.push(e[t])}},e.prototype.endGroup=function(e){if(this.ingroup=!1,0===this.path.length)return null;for(var t="",n=0;n<this.path.length;n++)t+=this.path[n].join(" ");var r=this.paper.path({path:t,stroke:"none",fill:"#000000",class:this.controller.classes.generate(e)});return this.path=[],r},r=new e}(),e.exports=r},function(e,t,n){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=n(15),a=n(36),s={};!function(){"use strict";s.numberOfTunes=function(e){var t=e.split("\nX:").length;return 0===t&&(t=1),t};var e=s.TuneBook=function(e){var t=a(e);this.header=t.header,this.tunes=t.tunes};e.prototype.getTuneById=function(e){for(var t=0;t<this.tunes.length;t++)if(this.tunes[t].id===""+e)return this.tunes[t];return null},e.prototype.getTuneByTitle=function(e){for(var t=0;t<this.tunes.length;t++)if(this.tunes[t].title===e)return this.tunes[t];return null},s.parseOnly=function(e,t){for(var n=s.numberOfTunes(e),r=[],i=0;i<n;i++)r.push(1);return s.renderEngine((function(){}),r,e,t)},s.renderEngine=function(t,n,a,s){var o=[];if(void 0!==n&&void 0!==a){var c;(!(c=n)||c.propertyIsEnumerable("length")||"object"!==r(c)||"number"!=typeof c.length)&&(n=[n]),void 0===s&&(s={});for(var l=s.startingTune?parseInt(s.startingTune,10):0,h=new e(a),u=new i,d=0;d<n.length;d++){var f=n[d];if("*"===f||"string"==typeof f&&(f=document.getElementById(f)),f)if(l>=0&&l<h.tunes.length){u.parse(h.tunes[l].abc,s,h.tunes[l].startPos-h.header.length);var p=u.getTune(),m=u.getWarnings();m&&(p.warnings=m);var g=t(f,p,d,h.tunes[l].abc);o.push(g||p)}else f.innerHTML&&(f.innerHTML="");l++}return o}},s.extractMeasures=function(t){for(var n=[],r=new e(t),i=0;i<r.tunes.length;i++){for(var a=r.tunes[i],o=a.abc.split("K:"),c=o[1].split("\n"),l=o[0]+"K:"+c[0]+"\n",h=null,u=null,d=null,f=[],p=!1,m=s.parseOnly(a.abc)[0],g=m.getPickupLength()>0,v=0;v<m.lines.length;v++){var b=m.lines[v];if(b.staff)for(var y=0;y<1;y++)for(var w=b.staff[y],x=0;x<1;x++)for(var k=w.voices[x],A=0;A<k.length;A++){var T=k[A];if(null===d&&T.startChar>=0&&(d=T.startChar,u=void 0===T.chord?h:null),T.chord&&(h=T),"bar"===T.el_type){if(p){var S={abc:a.abc.substring(d,T.endChar)};(h=u&&u.chord&&u.chord.length>0?u.chord[0].name:null)&&(S.lastChord=h),T.startEnding&&(S.startEnding=T.startEnding),T.endEnding&&(S.endEnding=T.endEnding),f.push(S),d=null,p=!1}}else"note"===T.el_type&&(p=!0)}}n.push({header:l,measures:f,hasPickup:g})}return n}}(),e.exports=s},function(e,t,n){var r=n(0),i=n(10),a=n(31),s=n(11),o=n(32),c=n(16),l=n(17),h=n(18),u=n(35);e.exports=function(){"use strict";var e=new h,t=new u(e),n=new o;function d(e,t,n){e.positioning||(e.positioning={}),e.positioning[t]=n}function f(e,t,n){e.fonts||(e.fonts={}),e.fonts[t]=n}this.getTune=function(){var t={formatting:e.formatting,lines:e.lines,media:e.media,metaText:e.metaText,version:e.version,addElementToEvents:e.addElementToEvents,addUsefulCallbackInfo:e.addUsefulCallbackInfo,getBarLength:e.getBarLength,getBeatLength:e.getBeatLength,getBeatsPerMeasure:e.getBeatsPerMeasure,getBpm:e.getBpm,getMeter:e.getMeter,getMeterFraction:e.getMeterFraction,getPickupLength:e.getPickupLength,getKeySignature:e.getKeySignature,getElementFromChar:e.getElementFromChar,makeVoicesArray:e.makeVoicesArray,millisecondsPerMeasure:e.millisecondsPerMeasure,setupEvents:e.setupEvents,setTiming:e.setTiming,setUpAudio:e.setUpAudio};return e.visualTranspose&&(t.visualTranspose=e.visualTranspose),t};var p={reset:function(){for(var e in this)this.hasOwnProperty(e)&&"function"!=typeof this[e]&&delete this[e];this.iChar=0,this.key={accidentals:[],root:"none",acc:"",mode:""},this.meter=null,this.origMeter=null,this.hasMainTitle=!1,this.default_length=.125,this.clef={type:"treble",verticalPos:0},this.next_note_duration=0,this.start_new_line=!0,this.is_in_header=!0,this.is_in_history=!1,this.partForNextLine={},this.tempoForNextLine=[],this.havent_set_length=!0,this.voices={},this.staves=[],this.macros={},this.currBarNumber=1,this.barCounter={},this.inTextBlock=!1,this.inPsBlock=!1,this.ignoredDecorations=[],this.textBlock="",this.score_is_present=!1,this.inEnding=!1,this.inTie=[],this.inTieChord={},this.vocalPosition="auto",this.dynamicPosition="auto",this.chordPosition="auto",this.ornamentPosition="auto",this.volumePosition="auto",this.openSlurs=[],this.freegchord=!1,this.endingHoldOver={}},differentFont:function(e,t){return this[e].decoration!==t[e].decoration||(this[e].face!==t[e].face||(this[e].size!==t[e].size||(this[e].style!==t[e].style||this[e].weight!==t[e].weight)))},addFormattingOptions:function(e,t,n){"note"===n?("auto"!==this.vocalPosition&&d(e,"vocalPosition",this.vocalPosition),"auto"!==this.dynamicPosition&&d(e,"dynamicPosition",this.dynamicPosition),"auto"!==this.chordPosition&&d(e,"chordPosition",this.chordPosition),"auto"!==this.ornamentPosition&&d(e,"ornamentPosition",this.ornamentPosition),"auto"!==this.volumePosition&&d(e,"volumePosition",this.volumePosition),this.differentFont("annotationfont",t)&&f(e,"annotationfont",this.annotationfont),this.differentFont("gchordfont",t)&&f(e,"gchordfont",this.gchordfont),this.differentFont("vocalfont",t)&&f(e,"vocalfont",this.vocalfont),this.differentFont("tripletfont",t)&&f(e,"tripletfont",this.tripletfont)):"bar"===n&&("auto"!==this.dynamicPosition&&d(e,"dynamicPosition",this.dynamicPosition),"auto"!==this.chordPosition&&d(e,"chordPosition",this.chordPosition),"auto"!==this.ornamentPosition&&d(e,"ornamentPosition",this.ornamentPosition),"auto"!==this.volumePosition&&d(e,"volumePosition",this.volumePosition),this.differentFont("measurefont",t)&&f(e,"measurefont",this.measurefont),this.differentFont("repeatfont",t)&&f(e,"repeatfont",this.repeatfont))},duplicateStartEndingHoldOvers:function(){this.endingHoldOver={inTie:[],inTieChord:{}};for(var e=0;e<this.inTie.length;e++){this.endingHoldOver.inTie.push([]);for(var t=0;t<this.inTie[e].length;t++)this.endingHoldOver.inTie[e].push(this.inTie[e][t])}for(var n in this.inTieChord)this.inTieChord.hasOwnProperty(n)&&(this.endingHoldOver.inTieChord[n]=this.inTieChord[n])},restoreStartEndingHoldOvers:function(){if(this.endingHoldOver.inTie){this.inTie=[],this.inTieChord={};for(var e=0;e<this.endingHoldOver.inTie.length;e++){this.inTie.push([]);for(var t=0;t<this.endingHoldOver.inTie[e].length;t++)this.inTie[e].push(this.endingHoldOver.inTie[e][t])}for(var n in this.endingHoldOver.inTieChord)this.endingHoldOver.inTieChord.hasOwnProperty(n)&&(this.inTieChord[n]=this.endingHoldOver.inTieChord[n])}}},m=function(e){var t=r.gsub(e,""," ");return t=r.gsub(t,"&","&amp;"),t=r.gsub(t,"<","&lt;"),r.gsub(t,">","&gt;")},g=function(e,n,r){n||(n=" ");var i=n.charAt(r);" "===i&&(i="SPACE");var a,s=m(n.substring(0,r))+'<span style="text-decoration:underline;font-size:1.3em;font-weight:bold;">'+i+"</span>"+m(n.substring(r+1));!function(e){p.warnings||(p.warnings=[]),p.warnings.push(e)}("Music Line:"+t.getNumLines()+":"+(r+1)+": "+e+": "+s),a={message:e,line:n,startChar:p.iChar+r,column:r},p.warningObjects||(p.warningObjects=[]),p.warningObjects.push(a)},v=new a(n,g,p,e,t);this.getWarnings=function(){return p.warnings},this.getWarningObjects=function(){return p.warningObjects};var b=function(e,t){if('"'===e.charAt(t)){var r=n.getBrackettedSubstring(e,t,5);if(r[2]||g("Missing the closing quote while parsing the chord symbol",e,t),r[0]>0&&r[1].length>0&&"^"===r[1].charAt(0))r[1]=r[1].substring(1),r[2]="above";else if(r[0]>0&&r[1].length>0&&"_"===r[1].charAt(0))r[1]=r[1].substring(1),r[2]="below";else if(r[0]>0&&r[1].length>0&&"<"===r[1].charAt(0))r[1]=r[1].substring(1),r[2]="left";else if(r[0]>0&&r[1].length>0&&">"===r[1].charAt(0))r[1]=r[1].substring(1),r[2]="right";else if(r[0]>0&&r[1].length>0&&"@"===r[1].charAt(0)){r[1]=r[1].substring(1);var i=n.getFloat(r[1]);0===i.digits&&g("Missing first position in absolutely positioned annotation.",e,t),r[1]=r[1].substring(i.digits),","!==r[1][0]&&g("Missing comma absolutely positioned annotation.",e,t),r[1]=r[1].substring(1);var a=n.getFloat(r[1]);0===a.digits&&g("Missing second position in absolutely positioned annotation.",e,t),r[1]=r[1].substring(a.digits);var s=n.skipWhiteSpace(r[1]);r[1]=r[1].substring(s),r[2]=null,r[3]={x:i.value,y:a.value}}else!0!==p.freegchord&&(r[1]=r[1].replace(/([ABCDEFG0-9])b/g,"$1♭"),r[1]=r[1].replace(/([ABCDEFG0-9])#/g,"$1♯"),r[1]=r[1].replace(/^([ABCDEFG])([♯♭]?)o([^A-Za-z])/g,"$1$2°$3"),r[1]=r[1].replace(/^([ABCDEFG])([♯♭]?)o$/g,"$1$2°"),r[1]=r[1].replace(/^([ABCDEFG])([♯♭]?)0([^A-Za-z])/g,"$1$2ø$3"),r[1]=r[1].replace(/^([ABCDEFG])([♯♭]?)\^([^A-Za-z])/g,"$1$2∆$3")),r[2]="default",r[1]=c.chordName(p,r[1]);return r}return[0,""]},y=["trill","lowermordent","uppermordent","mordent","pralltriller","accent","fermata","invertedfermata","tenuto","0","1","2","3","4","5","+","wedge","open","thumb","snap","turn","roll","breath","shortphrase","mediumphrase","longphrase","segno","coda","D.S.","D.C.","fine","beambr1","beambr2","slide","marcato","upbow","downbow","/","//","///","////","trem1","trem2","trem3","trem4","turnx","invertedturn","invertedturnx","trill(","trill)","arpeggio","xstem","mark","umarcato","style=normal","style=harmonic","style=rhythm","style=x"],w=["p","pp","f","ff","mf","mp","ppp","pppp","fff","ffff","sfz"],x=["crescendo(","crescendo)","diminuendo(","diminuendo)"],k=[["<","accent"],[">","accent"],["tr","trill"],["plus","+"],["emphasis","accent"],["^","umarcato"],["marcato","umarcato"]],A=[["<(","crescendo("],["<)","crescendo)"],[">(","diminuendo("],[">)","diminuendo)"]],T=function(e,t){var i=p.macros[e.charAt(t)];if(void 0!==i)return"!"!==i.charAt(0)&&"+"!==i.charAt(0)||(i=i.substring(1)),"!"!==i.charAt(i.length-1)&&"+"!==i.charAt(i.length-1)||(i=i.substring(0,i.length-1)),r.detect(y,(function(e){return i===e}))?[1,i]:r.detect(w,(function(e){return i===e}))?("hidden"===p.volumePosition&&(i=""),[1,i]):r.detect(x,(function(e){return"hidden"===p.dynamicPosition&&(i=""),i===e}))?[1,i]:(r.detect(p.ignoredDecorations,(function(e){return i===e}))||g("Unknown macro: "+i,e,t),[1,""]);switch(e.charAt(t)){case".":if("("===e[t+1]||"-"===e[t+1])break;return[1,"staccato"];case"u":return[1,"upbow"];case"v":return[1,"downbow"];case"~":return[1,"irishroll"];case"!":case"+":var a=n.getBrackettedSubstring(e,t,5);return a[1].length>1&&("^"===a[1].charAt(0)||"_"===a[1].charAt(0))&&(a[1]=a[1].substring(1)),r.detect(y,(function(e){return a[1]===e}))?a:r.detect(w,(function(e){return a[1]===e}))?("hidden"===p.volumePosition&&(a[1]=""),a):r.detect(x,(function(e){return a[1]===e}))?("hidden"===p.dynamicPosition&&(a[1]=""),a):r.detect(k,(function(e){return a[1]===e[0]&&(a[1]=e[1],!0)}))?a:r.detect(A,(function(e){return a[1]===e[0]&&(a[1]=e[1],!0)}))?("hidden"===p.dynamicPosition&&(a[1]=""),a):"!"!==e.charAt(t)||1!==a[0]&&"!"===e.charAt(t+a[0]-1)?(g("Unknown decoration: "+a[1],e,t),a[1]="",a):[1,null];case"H":return[1,"fermata"];case"J":return[1,"slide"];case"L":return[1,"accent"];case"M":return[1,"mordent"];case"O":return[1,"coda"];case"P":return[1,"pralltriller"];case"R":return[1,"roll"];case"S":return[1,"segno"];case"T":return[1,"trill"]}return[0,0]},S=function(e,t){for(var r=t;n.isWhiteSpace(e.charAt(t));)t++;return[t-r]},M=function(e,t){var r=n.getBarLine(e,t);if(0===r.len)return[0,""];if(r.warn)return g(r.warn,e,t),[r.len,""];for(var i=0;i<e.length&&" "===e.charAt(t+r.len+i);i++);var a=r.len;if("["===e.charAt(t+r.len+i)&&(r.len+=i+1),'"'===e.charAt(t+r.len)&&"["===e.charAt(t+r.len-1)){var s=n.getBrackettedSubstring(e,t+r.len,5);return[r.len+s[0],r.token,s[1]]}var o=n.getTokenOf(e.substring(t+r.len),"1234567890-,");return 0===o.len||"-"===o.token[0]?[a,r.token]:[r.len+o.len,r.token,o.token]},N={2:3,3:2,4:3,5:2,6:2,7:2,8:3,9:2},C=function(e,t){var r={},i=t;for("."===e[t]&&"("===e[t+1]&&(r.dottedSlur=!0,t++);"("===e.charAt(t)||n.isWhiteSpace(e.charAt(t));)"("===e.charAt(t)&&(t+1<e.length&&e.charAt(t+1)>="2"&&e.charAt(t+1)<="9"?(void 0!==r.triplet?g("Can't nest triplets",e,t):(r.triplet=e.charAt(t+1)-"0",r.tripletQ=N[r.triplet],r.num_notes=r.triplet,t+2<e.length&&":"===e.charAt(t+2)&&(t+3<e.length&&":"===e.charAt(t+3)?t+4<e.length&&e.charAt(t+4)>="1"&&e.charAt(t+4)<="9"?(r.num_notes=e.charAt(t+4)-"0",t+=3):g("expected number after the two colons after the triplet to mark the duration",e,t):t+3<e.length&&e.charAt(t+3)>="1"&&e.charAt(t+3)<="9"?(r.tripletQ=e.charAt(t+3)-"0",t+4<e.length&&":"===e.charAt(t+4)?t+5<e.length&&e.charAt(t+5)>="1"&&e.charAt(t+5)<="9"&&(r.num_notes=e.charAt(t+5)-"0",t+=4):t+=2):g("expected number after the triplet to mark the duration",e,t))),t++):void 0===r.startSlur?r.startSlur=1:r.startSlur++),t++;return r.consumed=t-i,r},E=function(e,t){switch(e.charAt(t)){case">":return t<e.length-1&&">"===e.charAt(t+1)?[2,1.75,.25]:[1,1.5,.5];case"<":return t<e.length-1&&"<"===e.charAt(t+1)?[2,.25,1.75]:[1,.5,1.5]}return null},I=function(e){return void 0!==e.duration&&e.duration<.25&&(e.end_beam=!0),e},_={A:5,B:6,C:0,D:1,E:2,F:3,G:4,a:12,b:13,c:7,d:8,e:9,f:10,g:11},B={x:"invisible",y:"spacer",z:"rest",Z:"multimeasure"},P=function(r,i,a,s){var o,l=function(e){return"octave"===e||"duration"===e||"Zduration"===e||"broken_rhythm"===e||"end_slur"===e};"."===r[i]&&"-"===r[i+1]&&(o=!0,i++);for(var h="startSlur",u=!1;;){switch(r.charAt(i)){case"(":if("startSlur"!==h)return l(h)?(a.endChar=i,a):null;void 0===a.startSlur?a.startSlur=1:a.startSlur++;break;case")":if(!l(h))return null;void 0===a.endSlur?a.endSlur=1:a.endSlur++;break;case"^":if("startSlur"===h)a.accidental="sharp",h="sharp2";else{if("sharp2"!==h)return l(h)?(a.endChar=i,a):null;a.accidental="dblsharp",h="pitch"}break;case"_":if("startSlur"===h)a.accidental="flat",h="flat2";else{if("flat2"!==h)return l(h)?(a.endChar=i,a):null;a.accidental="dblflat",h="pitch"}break;case"=":if("startSlur"!==h)return l(h)?(a.endChar=i,a):null;a.accidental="natural",h="pitch";break;case"A":case"B":case"C":case"D":case"E":case"F":case"G":case"a":case"b":case"c":case"d":case"e":case"f":case"g":if("startSlur"!==h&&"sharp2"!==h&&"flat2"!==h&&"pitch"!==h)return l(h)?(a.endChar=i,a):null;if(a.pitch=_[r.charAt(i)],c.note(p,a),h="octave",s&&0!==p.next_note_duration?(a.duration=p.default_length*p.next_note_duration,p.next_note_duration=0,u=!0):a.duration=p.default_length,p.clef&&"perc"===p.clef.type||p.currentVoice&&"perc"===p.currentVoice.clef){var d=r.charAt(i);if(a.accidental){d={dblflat:"__",flat:"_",natural:"=",sharp:"^",dblsharp:"^^"}[a.accidental]+d}e.formatting&&e.formatting.midi&&e.formatting.midi.drummap&&(a.midipitch=e.formatting.midi.drummap[d])}else p.clef&&p.clef.type.indexOf("-")>=0?a.soundPitch=a.pitch-7:p.clef&&p.clef.type.indexOf("+")>=0&&(a.soundPitch=a.pitch+7);break;case",":if("octave"!==h)return l(h)?(a.endChar=i,a):null;a.pitch-=7,void 0!==a.soundPitch&&(a.soundPitch-=7);break;case"'":if("octave"!==h)return l(h)?(a.endChar=i,a):null;a.pitch+=7,void 0!==a.soundPitch&&(a.soundPitch+=7);break;case"x":case"y":case"z":case"Z":if("startSlur"!==h)return l(h)?(a.endChar=i,a):null;a.rest={type:B[r.charAt(i)]},delete a.accidental,delete a.startSlur,delete a.startTie,delete a.endSlur,delete a.endTie,delete a.end_beam,delete a.grace_notes,"multimeasure"===a.rest.type?(a.duration=e.getBarLength(),a.rest.text=1,h="Zduration"):(s&&0!==p.next_note_duration?(a.duration=p.default_length*p.next_note_duration,p.next_note_duration=0,u=!0):a.duration=p.default_length,h="duration");break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"0":case"/":if("octave"===h||"duration"===h){var f=n.getFraction(r,i);for(a.duration=a.duration*f.value,a.endChar=f.index;f.index<r.length&&(n.isWhiteSpace(r.charAt(f.index))||"-"===r.charAt(f.index));)"-"===r.charAt(f.index)?a.startTie={}:a=I(a),f.index++;i=f.index-1,h="broken_rhythm"}else if("sharp2"===h)a.accidental="quartersharp",h="pitch";else{if("flat2"!==h){if("Zduration"===h){var m=n.getNumber(r,i);return a.duration=m.num*e.getBarLength(),a.rest.text=m.num,a.endChar=m.index,a}return null}a.accidental="quarterflat",h="pitch"}break;case"-":if("startSlur"===h)t.addTieToLastNote(o),a.endTie=!0;else{if("octave"!==h&&"duration"!==h&&"end_slur"!==h)return"broken_rhythm"===h?(a.endChar=i,a):null;if(a.startTie={},u||!s)return n.isWhiteSpace(r.charAt(i+1))&&I(a),a.endChar=i+1,a;h="broken_rhythm"}break;case" ":case"\t":if(!l(h))return null;a.end_beam=!0,o=!1;do{"."===r.charAt(i)&&"-"===r.charAt(i+1)&&(o=!0,i++),"-"===r.charAt(i)&&(a.startTie={},o&&(a.startTie.style="dotted")),i++}while(i<r.length&&(n.isWhiteSpace(r.charAt(i))||"-"===r.charAt(i))||"."===r.charAt(i)&&"-"===r.charAt(i+1));if(a.endChar=i,u||!s||"<"!==r.charAt(i)&&">"!==r.charAt(i))return a;i--,h="broken_rhythm";break;case">":case"<":if(!l(h))return null;if(!s)return a.endChar=i,a;var g=E(r,i);i+=g[0]-1,p.next_note_duration=g[2],a.duration=g[1]*a.duration,h="end_slur";break;default:return l(h)?(a.endChar=i,a):null}if(++i===r.length)return l(h)?(a.endChar=i,a):null}return null};function D(){var e={startChar:-1,endChar:-1};p.partForNextLine.title&&(e.part=p.partForNextLine),e.clef=p.currentVoice&&void 0!==p.staves[p.currentVoice.staffNum].clef?r.clone(p.staves[p.currentVoice.staffNum].clef):r.clone(p.clef);var n=p.currentVoice?p.currentVoice.scoreTranspose:0;if(e.key=s.standardKey(p.key.root+p.key.acc+p.key.mode,p.key.root,p.key.acc,n),e.key.mode=p.key.mode,p.key.impliedNaturals&&(e.key.impliedNaturals=p.key.impliedNaturals),p.key.explicitAccidentals)for(var i=0;i<p.key.explicitAccidentals.length;i++){for(var a=!1,o=0;o<e.key.accidentals.length;o++)e.key.accidentals[o].note===p.key.explicitAccidentals[i].note&&(e.key.accidentals[o].acc=p.key.explicitAccidentals[i].acc,a=!0);a||e.key.accidentals.push(p.key.explicitAccidentals[i])}if(p.targetKey=e.key,e.key.explicitAccidentals&&delete e.key.explicitAccidentals,s.addPosToKey(e.clef,e.key),null!==p.meter?(p.currentVoice?(r.each(p.staves,(function(e){e.meter=p.meter})),e.meter=p.staves[p.currentVoice.staffNum].meter,p.staves[p.currentVoice.staffNum].meter=null):e.meter=p.meter,p.meter=null):p.currentVoice&&p.staves[p.currentVoice.staffNum].meter&&(e.meter=p.staves[p.currentVoice.staffNum].meter,p.staves[p.currentVoice.staffNum].meter=null),p.currentVoice&&p.currentVoice.name&&(e.name=p.currentVoice.name),p.vocalfont&&(e.vocalfont=p.vocalfont),p.tripletfont&&(e.tripletfont=p.tripletfont),p.gchordfont&&(e.gchordfont=p.gchordfont),p.style&&(e.style=p.style),p.currentVoice){var c=p.staves[p.currentVoice.staffNum];c.brace&&(e.brace=c.brace),c.bracket&&(e.bracket=c.bracket),c.connectBarLines&&(e.connectBarLines=c.connectBarLines),c.name&&(e.name=c.name[p.currentVoice.index]),c.subname&&(e.subname=c.subname[p.currentVoice.index]),p.currentVoice.stem&&(e.stem=p.currentVoice.stem),p.currentVoice.stafflines&&(e.stafflines=p.currentVoice.stafflines),p.currentVoice.staffscale&&(e.staffscale=p.currentVoice.staffscale),p.currentVoice.scale&&(e.scale=p.currentVoice.scale),p.currentVoice.style&&(e.style=p.currentVoice.style),p.currentVoice.transpose&&(e.clef.transpose=p.currentVoice.transpose)}var l=void 0===p.currentVoice||0===p.currentVoice.staffNum&&0===p.currentVoice.index;0===p.barNumbers&&l&&1!==p.currBarNumber&&(e.barNumber=p.currBarNumber),t.startNewLine(e),p.key.impliedNaturals&&delete p.key.impliedNaturals,p.partForNextLine={},4===p.tempoForNextLine.length&&t.appendElement(p.tempoForNextLine[0],p.tempoForNextLine[1],p.tempoForNextLine[2],p.tempoForNextLine[3]),p.tempoForNextLine=[]}var L=function(e,t){if("{"===e.charAt(t)){var r=n.getBrackettedSubstring(e,t,1,"}");r[2]||g("Missing the closing '}' while parsing grace note",e,t),")"===e[t+r[0]]&&(r[0]++,r[1]+=")");for(var i=[],a=0,s=!1;a<r[1].length;){var o=!1;"/"===r[1].charAt(a)&&(o=!0,a++);var c=P(r[1],a,{},!1);null!==c?(c.duration=c.duration/(8*p.default_length),o&&(c.acciaccatura=!0),i.push(c),s&&(c.endTie=!0,s=!1),c.startTie&&(s=!0),a=c.endChar,delete c.endChar):(" "===r[1].charAt(a)?i.length>0&&(i[i.length-1].end_beam=!0):g("Unknown character '"+r[1].charAt(a)+"' while parsing grace note",e,t),a++)}if(i.length)return[r[0],i]}return[0]};function O(e,t){if("&"===e.charAt(t)){for(var n=t;e.charAt(t)&&":"!==e.charAt(t)&&"|"!==e.charAt(t);)t++;return[t-n,e.substring(n+1,t)]}return[0]}function H(e){var t=e.origMeter;return t&&"specified"===t.type&&t.value&&0!==t.value.length?parseInt(t.value[0].num,10)/parseInt(t.value[0].den,10):1}var V=function(e,t,n){if(void 0===e.inTie[t])return!1;var r=e.currentVoice?e.currentVoice.index:0;return!(!e.inTie[t][r]||void 0===n.pitches&&"spacer"===n.rest.type)},F=function(e,t,n){var r=e.currentVoice?e.currentVoice.index:0;void 0===e.inTie[t]&&(e.inTie[t]=[]),e.inTie[t][r]=n},z=function i(a){var s=v.parseHeader(a);s.regular&&function(i){v.resolveTempo(),p.is_in_header=!1;for(var a=0,s=p.iChar;n.isWhiteSpace(i.charAt(a))&&a<i.length;)a++;if(a!==i.length&&"%"!==i.charAt(a)){var o=p.start_new_line;void 0===p.continueall?p.start_new_line=!0:p.start_new_line=!1;var c=0,l=v.letter_to_body_header(i,a);l[0]>0&&(a+=l[0],"V"===l[1]&&(o=!0));for(var h={},u=0;a<i.length;){var d=a;if("%"===i.charAt(a))break;var f=v.letter_to_inline_header(i,a);if(f[0]>0)a+=f[0],"V"===f[1]&&(o=!0);else{var m;for(o&&(D(),o=!1);;)if((m=n.eatWhiteSpace(i,a))>0&&(a+=m),a>0&&""===i.charAt(a-1)&&(m=v.letter_to_body_header(i,a))[0]>0&&("V"===m[1]&&D(),a=m[0],p.start_new_line=!1),(m=S(i,a))[0]>0&&(a+=m[0]),(m=b(i,a))[0]>0){h.chord||(h.chord=[]);var y=n.translateString(m[1]);y=y.replace(/;/g,"\n");for(var w=!1,x=0;x<h.chord.length;x++)h.chord[x].position===m[2]&&(w=!0,h.chord[x].name+="\n"+y);!1===w&&(null===m[2]&&m[3]?h.chord.push({name:y,rel_position:m[3]}):h.chord.push({name:y,position:m[2]})),a+=m[0];var k=n.skipWhiteSpace(i.substring(a));k>0&&(h.force_end_beam_last=!0),a+=k}else if((m=-1==="ABCDEFGabcdefgxyzZ[]|^_{".indexOf(i.charAt(a))?T(i,a):[0])[0]>0)null===m[1]?a+1<i.length&&D():m[1].length>0&&(0===m[1].indexOf("style=")?h.style=m[1].substr(6):(void 0===h.decoration&&(h.decoration=[]),"beambr1"===m[1]?h.beambr=1:"beambr2"===m[1]?h.beambr=2:h.decoration.push(m[1]))),a+=m[0];else{if(!((m=L(i,a))[0]>0))break;h.gracenotes=m[1],a+=m[0]}if((m=M(i,a))[0]>0){u=0,void 0!==h.gracenotes&&(h.rest={type:"spacer"},h.duration=.125,p.addFormattingOptions(h,e.formatting,"note"),t.appendElement("note",s+a,s+a+m[0],h),p.measureNotEmpty=!0,h={});var A={type:m[1]};if(0===A.type.length)g("Unknown bar type",i,a);else{if(p.inEnding&&"bar_thin"!==A.type&&(A.endEnding=!0,p.inEnding=!1),m[2]&&(A.startEnding=m[2],p.inEnding&&(A.endEnding=!0),p.inEnding=!0,"bar_right_repeat"===m[1]?p.restoreStartEndingHoldOvers():p.duplicateStartEndingHoldOvers()),void 0!==h.decoration&&(A.decoration=h.decoration),void 0!==h.chord&&(A.chord=h.chord),A.startEnding&&void 0===p.barFirstEndingNum?p.barFirstEndingNum=p.currBarNumber:A.startEnding&&A.endEnding&&p.barFirstEndingNum?p.currBarNumber=p.barFirstEndingNum:A.endEnding&&(p.barFirstEndingNum=void 0),"bar_invisible"!==A.type&&p.measureNotEmpty)(void 0===p.currentVoice||0===p.currentVoice.staffNum&&0===p.currentVoice.index)&&(p.currBarNumber++,p.barNumbers&&p.currBarNumber%p.barNumbers==0&&(A.barNumber=p.currBarNumber));p.addFormattingOptions(h,e.formatting,"bar"),t.appendElement("bar",s+a,s+a+m[0],A),p.measureNotEmpty=!1,h={}}a+=m[0]}else if("&"===i[a])(m=O(i,a))[0]>0&&(t.appendElement("overlay",s,s+1,{}),a+=1,u++);else{if((m=C(i,a)).consumed>0&&(void 0!==m.startSlur&&(h.startSlur=m.startSlur),m.dottedSlur&&(h.dottedSlur=!0),void 0!==m.triplet&&(c>0?g("Can't nest triplets",i,a):(h.startTriplet=m.triplet,h.tripletMultiplier=m.tripletQ/m.triplet,c=void 0===m.num_notes?m.triplet:m.num_notes)),a+=m.consumed),"["===i.charAt(a)){var N=a;a++;for(var _=null,B=!1,z=!1;!z;){var j=T(i,a);j[0]>0&&(a+=j[0]);var q=P(i,a,{},!1);if(null!==q&&void 0!==q.pitch)j[0]>0&&0!==j[1].indexOf("style=")&&(void 0===h.decoration&&(h.decoration=[]),h.decoration.push(j[1])),q.end_beam&&(h.end_beam=!0,delete q.end_beam),void 0===h.pitches?(h.duration=q.duration,h.pitches=[q]):h.pitches.push(q),delete q.duration,j[0]>0&&0===j[1].indexOf("style=")&&(h.pitches[h.pitches.length-1].style=j[1].substr(6)),p.inTieChord[h.pitches.length]&&(q.endTie=!0,p.inTieChord[h.pitches.length]=void 0),q.startTie&&(p.inTieChord[h.pitches.length]=!0),a=q.endChar,delete q.endChar;else if(" "===i.charAt(a))g("Spaces are not allowed in chords",i,a),a++;else{if(a<i.length&&"]"===i.charAt(a)){a++,0!==p.next_note_duration&&(h.duration=h.duration*p.next_note_duration,p.next_note_duration=0),V(p,u,h)&&(r.each(h.pitches,(function(e){e.endTie=!0})),F(p,u,!1)),c>0&&(!h.rest||"spacer"!==h.rest.type)&&0===--c&&(h.endTriplet=!0);for(var Y=!1;a<i.length&&!Y;){switch(i.charAt(a)){case" ":case"\t":I(h);break;case")":void 0===h.endSlur?h.endSlur=1:h.endSlur++;break;case"-":r.each(h.pitches,(function(e){e.startTie={}})),F(p,u,!0);break;case">":case"<":var W=E(i,a);a+=W[0]-1,p.next_note_duration=W[2],_?_*=W[1]:_=W[1];break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"/":var R=n.getFraction(i,a);_=R.value,a=R.index," "===i.charAt(a)&&(B=!0),"-"===i.charAt(a)||")"===i.charAt(a)||" "===i.charAt(a)||"<"===i.charAt(a)||">"===i.charAt(a)?a--:Y=!0;break;default:Y=!0}Y||a++}}else g("Expected ']' to end the chords",i,a);void 0!==h.pitches&&(null!==_&&(h.duration=h.duration*_,B&&I(h)),p.addFormattingOptions(h,e.formatting,"note"),t.appendElement("note",s+N,s+a,h),p.measureNotEmpty=!0,h={}),z=!0}}}else{var G={},U=P(i,a,G,!0);void 0!==G.endTie&&F(p,u,!0),null!==U&&(void 0!==U.pitch?(h.pitches=[{}],void 0!==U.accidental&&(h.pitches[0].accidental=U.accidental),h.pitches[0].pitch=U.pitch,(U.soundPitch||0===U.soundPitch)&&(h.pitches[0].soundPitch=U.soundPitch),(U.midipitch||0===U.midipitch)&&(h.pitches[0].midipitch=U.midipitch),void 0!==U.endSlur&&(h.pitches[0].endSlur=U.endSlur),void 0!==U.endTie&&(h.pitches[0].endTie=U.endTie),void 0!==U.startSlur&&(h.pitches[0].startSlur=U.startSlur),void 0!==h.startSlur&&(h.pitches[0].startSlur=h.startSlur),void 0!==h.dottedSlur&&(h.pitches[0].dottedSlur=!0),void 0!==U.startTie&&(h.pitches[0].startTie=U.startTie),void 0!==h.startTie&&(h.pitches[0].startTie=h.startTie)):(h.rest=U.rest,void 0!==U.endSlur&&(h.endSlur=U.endSlur),void 0!==U.endTie&&(h.rest.endTie=U.endTie),void 0!==U.startSlur&&(h.startSlur=U.startSlur),void 0!==U.startTie&&(h.rest.startTie=U.startTie),void 0!==h.startTie&&(h.rest.startTie=h.startTie)),void 0!==U.chord&&(h.chord=U.chord),void 0!==U.duration&&(h.duration=U.duration),void 0!==U.decoration&&(h.decoration=U.decoration),void 0!==U.graceNotes&&(h.graceNotes=U.graceNotes),delete h.startSlur,delete h.dottedSlur,V(p,u,h)&&(void 0!==h.pitches?h.pitches[0].endTie=!0:"spacer"!==h.rest.type&&(h.rest.endTie=!0),F(p,u,!1)),(U.startTie||h.startTie)&&F(p,u,!0),a=U.endChar,c>0&&(!U.rest||"spacer"!==U.rest.type)&&0===--c&&(h.endTriplet=!0),U.end_beam&&I(h),h.rest&&"rest"===h.rest.type&&1===h.duration&&H(p)<=1&&(h.rest.type="whole",h.duration=H(p)),p.addFormattingOptions(h,e.formatting,"note"),t.appendElement("note",s+d,s+a,h),p.measureNotEmpty=!0,h={})}a===d&&(" "!==i.charAt(a)&&"`"!==i.charAt(a)&&g("Unknown character ignored",i,a),a++)}}}}}(s.str),s.newline&&D(),s.words&&function(e,t){if(e){"-"!==(t=r.strip(t)).charAt(t.length-1)&&(t+=" ");for(var i=[],a=0,s=!1,o=function(e){var o=r.strip(t.substring(a,e));if(a=e+1,o.length>0){s&&(o=r.gsub(o,"~"," "));var c=t.charAt(e);return"_"!==c&&"-"!==c&&(c=" "),i.push({syllable:n.translateString(o),divider:c}),s=!1,!0}return!1},c=0;c<t.length;c++)switch(t.charAt(c)){case" ":case"":o(c);break;case"-":!o(c)&&i.length>0&&(r.last(i).divider="-",i.push({skip:!0,to:"next"}));break;case"_":o(c),i.push({skip:!0,to:"slur"});break;case"*":o(c),i.push({skip:!0,to:"next"});break;case"|":o(c),i.push({skip:!0,to:"bar"});break;case"~":s=!0}r.each(e,(function(e){if(0!==i.length)if(i[0].skip){switch(i[0].to){case"next":case"slur":"note"===e.el_type&&null!==e.pitches&&i.shift();break;case"bar":"bar"===e.el_type&&i.shift()}"bar"!==e.el_type&&(void 0===e.lyric?e.lyric=[{syllable:"",divider:" "}]:e.lyric.push({syllable:"",divider:" "}))}else if("note"===e.el_type&&void 0===e.rest){var t=i.shift();t.syllable&&(t.syllable=t.syllable.replace(/ +/g," ")),void 0===e.lyric?e.lyric=[t]:e.lyric.push(t)}}))}else g("Can't add words before the first line of music",e,0)}(t.getCurrentVoice(),a.substring(2)),s.symbols&&function(e,t){if(e){"-"!==(t=r.strip(t)).charAt(t.length-1)&&(t+=" ");for(var i=[],a=0,s=!1,o=function(e){var o=r.strip(t.substring(a,e));if(a=e+1,o.length>0){s&&(o=r.gsub(o,"~"," "));var c=t.charAt(e);return"_"!==c&&"-"!==c&&(c=" "),i.push({syllable:n.translateString(o),divider:c}),s=!1,!0}return!1},c=0;c<t.length;c++)switch(t.charAt(c)){case" ":case"":o(c);break;case"-":!o(c)&&i.length>0&&(r.last(i).divider="-",i.push({skip:!0,to:"next"}));break;case"_":o(c),i.push({skip:!0,to:"slur"});break;case"*":o(c),i.push({skip:!0,to:"next"});break;case"|":o(c),i.push({skip:!0,to:"bar"});break;case"~":s=!0}r.each(e,(function(e){if(0!==i.length)if(i[0].skip)switch(i[0].to){case"next":case"slur":"note"===e.el_type&&null!==e.pitches&&i.shift();break;case"bar":"bar"===e.el_type&&i.shift()}else if("note"===e.el_type&&void 0===e.rest){var t=i.shift();void 0===e.lyric?e.lyric=[t]:e.lyric.push(t)}}))}else g("Can't add symbols before the first line of music",e,0)}(t.getCurrentVoice(),a.substring(2)),s.recurse&&i(s.str)};function j(e,t){e.push({el_type:"hint"});for(var n=0;n<t.length;n++){var i=t[n],a=r.clone(i);if(e.push(a),"bar"===i.el_type)return}}function q(e,t){for(var n=0;n<e.length;n++){var r=e[n],i=t[n];if(i)for(var a=0;a<i.voices.length;a++){var s=i.voices[a],o=r.voices[a];o&&j(o,s)}}}this.parse=function(a,s,o){if(s||(s={}),o||(o=0),t.reset(),s.print&&(e.media="print"),p.reset(),p.iChar=o,s.visualTranspose?(p.globalTranspose=parseInt(s.visualTranspose),0===p.globalTranspose?p.globalTranspose=void 0:t.setVisualTranspose(s.visualTranspose)):p.globalTranspose=void 0,s.lineBreaks){p.lineBreaks={};for(var c=0;c<s.lineBreaks.length;c++)p.lineBreaks[""+(s.lineBreaks[c]+1)]=!0}v.reset(n,g,p,e),a=r.gsub(a,"\r\n","\n"),a=r.gsub(a,"\r","\n");var h=(a+="\n").split("\n\\");if(h.length>1){for(var u=1;u<h.length;u++)for(;h[u].length>0&&"\n"!==h[u][0];)h[u]=h[u].substr(1),h[u-1]+=" ";a=h.join(" ")}var d=(a=a.replace(/\\([ \t]*)(%.*)*\n/g,(function(e,t,n){return t+" "+(n?" ".substring(0,n.length):"")}))).split("\n");0===r.last(d).length&&d.pop();try{s.format&&i.globalFormatting(s.format),r.each(d,(function(e){if(s.header_only&&!1===p.is_in_header)throw"normal_abort";if(s.stop_on_warning&&p.warnings)throw"normal_abort";if(p.is_in_history)":"===e.charAt(1)?(p.is_in_history=!1,z(e)):t.addMetaText("history",n.translateString(n.stripComment(e)));else if(p.inTextBlock)r.startsWith(e,"%%endtext")?(t.addText(p.textBlock),p.inTextBlock=!1):r.startsWith(e,"%%")?p.textBlock+=e.substring(2)+"\n":p.textBlock+=e+"\n";else if(p.inPsBlock)r.startsWith(e,"%%endps")?p.inPsBlock=!1:p.textBlock+=" "+e;else{var i=p.is_in_header;z(e),i&&!p.is_in_header&&(t.setRunningFont("annotationfont",p.annotationfont),t.setRunningFont("gchordfont",p.gchordfont),t.setRunningFont("tripletfont",p.tripletfont),t.setRunningFont("vocalfont",p.vocalfont))}p.iChar+=e.length+1}));var f=792,m=612;switch(p.papersize){case"legal":f=1008,m=612;break;case"A4":f=842.4,m=597.6}if(p.landscape){var b=f;f=m,m=b}p.openSlurs=t.cleanUp(m,f,p.barsperstaff,p.staffnonote,p.openSlurs)}catch(e){if("normal_abort"!==e)throw e}s.hint_measures&&function(){for(var t=0;t<e.lines.length;t++){var n=e.lines[t].staff;if(n){for(var r=t+1;r<e.lines.length&&void 0===e.lines[r].staff;)r++;if(r<e.lines.length)q(n,e.lines[r].staff)}}}(),l.wrapLines(e,p.lineBreaks)}}},function(e,t){var n={},r={C:0,"C#":1,Db:1,D:2,"D#":3,Eb:3,E:4,F:5,"F#":6,Gb:6,G:7,"G#":8,Ab:8,A:9,"A#":10,Bb:10,B:11},i=["C","Db","D","Eb","E","F","F#","G","Ab","A","Bb","B"],a=["C","C#","D","D#","E","F","F#","G","G#","A","Bb","B"];n.keySignature=function(e,t,n,s,o,c){if("perc"===e.clef.type)return{accidentals:t[n],root:s,acc:o};c||(c=0),e.localTransposeVerticalMovement=0,e.localTransposePreferFlats=!1;var l=t[n];if(!l)return e.key;if(e.localTranspose=(e.globalTranspose?e.globalTranspose:0)+c,!e.localTranspose)return{accidentals:l,root:s,acc:o};if(e.globalTransposeOrigKeySig=l,e.localTranspose%12==0)return e.localTransposeVerticalMovement=e.localTranspose/12*7,{accidentals:l,root:s,acc:o};var h=n[0];"b"===n[1]||"#"===n[1]?(h+=n[1],n=n.substr(2)):n=n.substr(1);for(var u=r[h]+e.localTranspose;u<0;)u+=12;u>11&&(u%=12);var d="m"===n[0]?a[u]:i[u],f=d+n,p=t[f];p.length>0&&"flat"===p[0].acc&&(e.localTransposePreferFlats=!0);var m=f.charCodeAt(0)-h.charCodeAt(0);return e.localTranspose>0?m<0?m+=7:0===m&&("#"!==h[1]&&"b"!==f[1]||(m+=7)):e.localTranspose<0&&(m>0?m-=7:0===m&&("b"!==h[1]&&"#"!==f[1]||(m-=7))),e.localTranspose>0?e.localTransposeVerticalMovement=m+7*Math.floor(e.localTranspose/12):e.localTransposeVerticalMovement=m+7*Math.ceil(e.localTranspose/12),{accidentals:p,root:d[0],acc:d.length>1?d[1]:""}};var s=["C","C♯","D","D♯","E","F","F♯","G","G♯","A","A♯","B"],o=["C","D♭","D","E♭","E","F","G♭","G","A♭","A","B♭","B"],c=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"],l=["C","Db","D","Eb","E","F","Gb","G","Ab","A","Bb","B"];n.chordName=function(e,t){if(e.localTranspose&&e.localTranspose%12!=0){for(var n=e.localTranspose;n<0;)n+=12;n>11&&(n%=12);for(var r=(t=(t=(t=(t=(t=(t=(t=(t=e.freegchord?(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace(/Cb/g,"`~11`")).replace(/Db/g,"`~1`")).replace(/Eb/g,"`~3`")).replace(/Fb/g,"`~4`")).replace(/Gb/g,"`~6`")).replace(/Ab/g,"`~8`")).replace(/Bb/g,"`~10`")).replace(/C#/g,"`~1`")).replace(/D#/g,"`~3`")).replace(/E#/g,"`~5`")).replace(/F#/g,"`~6`")).replace(/G#/g,"`~8`")).replace(/A#/g,"`~10`")).replace(/B#/g,"`~0`"):(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace(/C♭/g,"`~11`")).replace(/D♭/g,"`~1`")).replace(/E♭/g,"`~3`")).replace(/F♭/g,"`~4`")).replace(/G♭/g,"`~6`")).replace(/A♭/g,"`~8`")).replace(/B♭/g,"`~10`")).replace(/C♯/g,"`~1`")).replace(/D♯/g,"`~3`")).replace(/E♯/g,"`~5`")).replace(/F♯/g,"`~6`")).replace(/G♯/g,"`~8`")).replace(/A♯/g,"`~10`")).replace(/B♯/g,"`~0`")).replace(/C/g,"`~0`")).replace(/D/g,"`~2`")).replace(/E/g,"`~4`")).replace(/F/g,"`~5`")).replace(/G/g,"`~7`")).replace(/A/g,"`~9`")).replace(/B/g,"`~11`")).split("`"),i=0;i<r.length;i++)if("~"===r[i][0]){var a=parseInt(r[i].substr(1),10);(a+=n)>11&&(a-=12),e.freegchord?r[i]=e.localTransposePreferFlats?l[a]:c[a]:r[i]=e.localTransposePreferFlats?o[a]:s[a]}t=r.join("")}return t};var h=["c","d","e","f","g","a","b"];var u={dblflat:-2,flat:-1,natural:0,sharp:1,dblsharp:2},d={"-2":"dblflat","-1":"flat",0:"natural",1:"sharp",2:"dblsharp"};n.note=function(e,t){if(e.localTranspose&&"perc"!==e.clef.type){var n=t.pitch;if(t.pitch=t.pitch+e.localTransposeVerticalMovement,t.accidental){var r=function(e,t,n,r,i){for(var a=h[(e+49)%7],s=0,o=0;o<r.length;o++)r[o].note.toLowerCase()===a&&(s=u[r[o].acc]);for(var c=u[n]-s,l=h[(t+49)%7],d=0,f=0;f<i.accidentals.length;f++)i.accidentals[f].note.toLowerCase()===l&&(d=u[i.accidentals[f].acc]);var p=c+d;return p<-2&&(t--,p+="c"===l||"f"===l?1:2),p>2&&(t++,p-="b"===l||"e"===l?1:2),[t,p]}(n,t.pitch,t.accidental,e.globalTransposeOrigKeySig,e.targetKey);t.pitch=r[0],t.accidental=d[r[1]]}}},e.exports=n},function(e,t){function n(e){for(var t=[],n=0;n<e.length;n++)t.push(e[n]);return t}function r(e,t,r,i,a,s,o,c,l,h,u){for(var d=h;d<e.length;d++){var f=e[d];r+=f,i+=f;var p=Math.abs(r-t[c]);if(Math.abs(p-s)<t[0]/10)if(p<s){var m=n(a),g=n(l);g.push(d-1),m.push(i-f),u.push({accumulator:r,lineAccumulator:f,lineWidths:m,lastVariance:Math.abs(r-t[c+1]),highestVariance:Math.max(o,s),currLine:c+1,lineBreaks:g,startIndex:d+1})}else p>s&&d<e.length-1&&(m=n(a),g=n(l),u.push({accumulator:r,lineAccumulator:i,lineWidths:m,lastVariance:p,highestVariance:Math.max(o,p),currLine:c,lineBreaks:g,startIndex:d+1}));p>s?(l.push(d-1),c++,o=Math.max(o,s),s=Math.abs(r-t[c]),a.push(i-f),i=f):s=p}a.push(i)}function i(e,t,n,r,i){var a=new i,s={lineBreaks:e,staffwidth:t};for(var o in r)r.hasOwnProperty(o)&&"wrap"!==o&&"staffwidth"!==o&&(s[o]=r[o]);return a.parse(n,s),{tune:a.getTune(),revisedParams:s}}e.exports={wrapLines:function(e,t){if(t&&0!==e.lines.length){for(var n=[],r=[],i=[],a=[],s=[],o="",c={},l=0,h=0;h<e.lines.length;h++){var u=e.lines[h];if(u.staff){for(var d=u.staff,f=0;f<d.length;f++){void 0===r[f]&&(r[f]=[],i[f]=[],a[f]=[],s[f]=[]);for(var p=d[f],m=p.voices,g=0;g<m.length;g++){void 0===r[f][g]&&(r[f][g]=!0,i[f][g]=0,a[f][g]=0,s[f][g]=0),l>0&&(i[f][g]+=l);for(var v=m[g],b=0;b<v.length;b++){if(r[f][g]){if(n[i[f][g]]||(n[i[f][g]]={staff:[]}),!n[i[f][g]].staff[f])for(var y in n[i[f][g]].staff[f]={voices:[]},p)p.hasOwnProperty(y)&&("meter"===y?0!==i[f][g]&&o===JSON.stringify(p[y])||(o=JSON.stringify(p[y]),n[i[f][g]].staff[f][y]=p[y]):"voices"!==y&&(n[i[f][g]].staff[f][y]=p[y]));s[f][g]&&(n[i[f][g]].staff[f].barNumber=s[f][g]),r[f][g]=!1}var w=v[b];if(!n[i[f][g]].staff[f].voices[g])for(var x in n[i[f][g]].staff[f].voices[g]=[],c)c.hasOwnProperty(x)&&n[i[f][g]].staff[f].voices[g].push(c[x]);n[i[f][g]].staff[f].voices[g].push(w),"stem"===w.el_type&&(c[w.el_type]=w),"bar"===w.el_type&&(a[f][g]++,t[a[f][g]]&&(r[f][g]=!0,i[f][g]++,s[f][g]=w.barNumber,delete w.barNumber))}}}l=0}else n.push(u),l++}e.lines=n}},calcLineWraps:function(e,t,n,a,s,o){if(a.staffwidth<t.left)return{explanation:"Staffwidth is narrower than the margin",tune:e,revisedParams:a};var c=a.scale?Math.max(a.scale,.1):1,l=a.wrap.minSpacing?Math.max(parseFloat(a.wrap.minSpacing),1):1,h=a.wrap.minSpacingLimit?Math.max(parseFloat(a.wrap.minSpacingLimit),1):l-.1,u=a.wrap.maxSpacing?Math.max(parseFloat(a.wrap.maxSpacing),1):void 0;a.wrap.lastLineLimit&&!u&&(u=Math.max(parseFloat(a.wrap.lastLineLimit),1));var d=a.wrap.preferredMeasuresPerLine?Math.max(parseInt(a.wrap.preferredMeasuresPerLine,10),1):void 0,f=(a.staffwidth-t.left)/l/c,p=(a.staffwidth-t.left)/u/c,m=(a.staffwidth-t.left)/h/c,g={widths:t,lineBreakPoint:f,minLineSize:p,attempts:[],staffWidth:a.staffwidth,minWidth:Math.round(m)},v=null;if(d){var b=function(e,t,n){for(var r=[],i=[],a=0,s=!1,o=0;o<e.length;o++)(a+=e[o])>t&&(s=!0),o%n==n-1&&(o!==e.length-1&&r.push(o),i.push(Math.round(a)),a=0);return{failed:s,totals:i,lineBreaks:r}}(t.measureWidths,f,d);g.attempts.push({type:"Fixed Measures Per Line",preferredMeasuresPerLine:d,lineBreaks:b.lineBreaks,failed:b.failed,totals:b.totals}),b.failed||(v=b.lineBreaks)}if(!v){var y=function(e,t){for(var n=[],r=[],i=0,a=0;a<e.length;a++){var s=e[a],o=i+s;if(o<t)i=o;else t-i<o-t&&i>0?(n.push(a-1),r.push(Math.round(i-s)),i=s):a<e.length-1&&(n.push(a),r.push(Math.round(i)),i=0)}return r.push(Math.round(i)),{lineBreaks:n,totals:r}}(t.measureWidths,f);g.attempts.push({type:"Free Form",lineBreaks:y.lineBreaks,totals:y.totals}),v=y.lineBreaks,y=function(e,t,n,i){for(var a=Math.ceil(e.total/t)+1,s=Math.floor(e.total/a),o=[],c=0;c<a;c++)o.push(s*(c+1));var l=[];l.push({accumulator:0,lineAccumulator:0,lineWidths:[],lastVariance:999999,highestVariance:0,currLine:0,lineBreaks:[],startIndex:0});for(var h=0;h<l.length;)r(e.measureWidths,o,l[h].accumulator,l[h].lineAccumulator,l[h].lineWidths,l[h].lastVariance,l[h].highestVariance,l[h].currLine,l[h].lineBreaks,l[h].startIndex,l),h++;for(c=0;c<l.length;c++){var u=l[c];u.variances=[],u.aveVariance=0;for(var d=0;d<u.lineWidths.length;d++){var f=u.lineWidths[d];u.variances.push(f-o[0]),u.aveVariance+=Math.abs(f-o[0])}u.aveVariance=u.aveVariance/u.lineWidths.length,i.attempts.push({type:"optimizeLineWidths",lineBreaks:u.lineBreaks,variances:u.variances,aveVariance:u.aveVariance,widths:e.measureWidths})}var p=9999999,m=-1;for(c=0;c<l.length;c++)(u=l[c]).aveVariance<p&&(p=u.aveVariance,m=c);return{failed:!1,lineBreaks:l[m].lineBreaks,variance:l[m].highestVariance}}(t,f,0,g),g.attempts.push({type:"Optimize",failed:y.failed,reason:y.reason,lineBreaks:y.lineBreaks,totals:y.totals}),y.failed||(v=y.lineBreaks)}var w=a.staffwidth,x=i(v,w,n,a,s),k=o.getMeasureWidths(x.tune),A=!0;return g.attempts.push({type:"heightCheck",height:k.height}),0===v.length&&p>t.total&&(w=t.total*u*c+t.left,g.attempts.push({type:"too sparse",newWidth:Math.round(w)}),A=!1),A||(x=i(v,w,n,a,s)),x.explanation=g,x}}},function(e,t,n){var r=n(0),i=n(1),a=n(33),s=n(34);e.exports=function(){function e(e,t){for(;t<e.length&&null===e[t].left;)t++;return e[t]}this.getBeatLength=function(){var e=this.getMeterFraction(),t=1;return(6===e.num||9===e.num||12===e.num||3===e.num&&8===e.den)&&(t=3),t/e.den},this.getPickupLength=function(){var e=this.getBarLength(),t=function(e,t){for(var n=0,r=0;r<e.length;r++)if(e[r].staff)for(var i=0;i<e[r].staff.length;i++)for(var a=0;a<e[r].staff[i].voices.length;a++)for(var s=e[r].staff[i].voices[a],o=1,c=0;c<s.length;c++){var l=s[c].rest&&"spacer"===s[c].rest.type;if(s[c].startTriplet&&(o=s[c].tripletMultiplier),s[c].duration&&!l&&"tempo"!==s[c].el_type&&(n+=s[c].duration*o),s[c].endTriplet&&(o=1),n>=t&&(n-=t),"bar"===s[c].el_type)return n}return n}(this.lines,e);return t<1e-8||e-t<1e-8?0:t},this.getBarLength=function(){var e=this.getMeterFraction();return e.num/e.den},this.millisecondsPerMeasure=function(e){var t;if(e)t=e;else{var n=this.metaText?this.metaText.tempo:null;t=this.getBpm(n)}return t<=0&&(t=1),6e4*(this.getBeatsPerMeasure()/t)},this.getBeatsPerMeasure=function(){var e=this.getBeatLength();return this.getBarLength()/e},this.getMeter=function(){for(var e=0;e<this.lines.length;e++){var t=this.lines[e];if(t.staff)for(var n=0;n<t.staff.length;n++){var r=t.staff[n].meter;if(r)return r}}return{type:"common_time"}},this.getMeterFraction=function(){var e=this.getMeter(),t=4,n=4;return e&&("specified"===e.type?(t=parseInt(e.value[0].num,10),n=parseInt(e.value[0].den,10)):"cut_time"===e.type?(t=2,n=2):"common_time"===e.type&&(t=4,n=4)),this.meter={num:t,den:n},this.meter},this.getKeySignature=function(){for(var e=0;e<this.lines.length;e++){var t=this.lines[e];if(t.staff)for(var n=0;n<t.staff.length;n++)if(t.staff[n].key)return t.staff[n].key}return{}},this.getElementFromChar=function(e){for(var t=0;t<this.lines.length;t++){var n=this.lines[t];if(n.staff)for(var r=0;r<n.staff.length;r++)for(var i=n.staff[r],a=0;a<i.voices.length;a++)for(var s=i.voices[a],o=0;o<s.length;o++){var c=s[o];if(c.startChar&&c.endChar&&c.startChar<=e&&c.endChar>e)return c}}return null},this.addElementToEvents=function(e,t,n,i,a,s,o,c,l,h){if(t.hint)return{isTiedState:void 0,duration:0};var u=t.durationClass?t.durationClass:t.duration;if(t.abcelem.rest&&"spacer"===t.abcelem.rest.type&&(u=0),u>0){for(var d=[],f=0;f<t.elemset.length;f++)null!==t.elemset[f]&&d.push(t.elemset[f]);var p=t.startTie;if(void 0!==l)e["event"+l].elements.push(d),h&&(e["event"+n]||(e["event"+n]={type:"event",milliseconds:n,line:s,measureNumber:o,top:i,height:a,left:null,width:0,elements:[],startChar:null,endChar:null,startCharArray:[],endCharArray:[]}),e["event"+n].measureStart=!0,h=!1),p||(l=void 0);else{if(e["event"+n]){if(e["event"+n].left?e["event"+n].left=Math.min(e["event"+n].left,t.x):e["event"+n].left=t.x,e["event"+n].elements.push(d),e["event"+n].startCharArray.push(t.abcelem.startChar),e["event"+n].endCharArray.push(t.abcelem.endChar),null===e["event"+n].startChar&&(e["event"+n].startChar=t.abcelem.startChar),null===e["event"+n].endChar&&(e["event"+n].endChar=t.abcelem.endChar),t.abcelem.midiPitches&&t.abcelem.midiPitches.length){e["event"+n].midiPitches||(e["event"+n].midiPitches=[]);for(f=0;f<t.abcelem.midiPitches.length;f++)e["event"+n].midiPitches.push(t.abcelem.midiPitches[f])}if(t.abcelem.midiGraceNotePitches&&t.abcelem.midiGraceNotePitches.length){e["event"+n].midiGraceNotePitches||(e["event"+n].midiGraceNotePitches=[]);for(var m=0;m<t.abcelem.midiGraceNotePitches.length;m++)e["event"+n].midiGraceNotePitches.push(t.abcelem.midiGraceNotePitches[m])}}else e["event"+n]={type:"event",milliseconds:n,line:s,measureNumber:o,top:i,height:a,left:t.x,width:t.w,elements:[d],startChar:t.abcelem.startChar,endChar:t.abcelem.endChar,startCharArray:[t.abcelem.startChar],endCharArray:[t.abcelem.endChar],midiPitches:t.abcelem.midiPitches?r.cloneArray(t.abcelem.midiPitches):[]},t.abcelem.midiGraceNotePitches&&(e["event"+n].midiGraceNotePitches=r.cloneArray(t.abcelem.midiGraceNotePitches));h&&(e["event"+n].measureStart=!0,h=!1),p&&(l=n)}}return{isTiedState:l,duration:u/c,nextIsBar:h||"bar"===t.type}},this.makeVoicesArray=function(){for(var e=[],t=[],n={},r=0;r<this.engraver.staffgroups.length;r++)for(var a=this.engraver.staffgroups[r],s=a.staffs[0],o=s.absoluteY,c=o-s.top*i.STEP,l=a.staffs[a.staffs.length-1],h=(o=l.absoluteY)-l.bottom*i.STEP-c,u=a.voices,d=0;d<u.length;d++){var f=!1;e[d]||(e[d]=[]),void 0===t[d]&&(t[d]=0);for(var p=u[d].children,m=0;m<p.length;m++)"tempo"===p[m].type&&(n[t[d]]=this.getBpm(p[m].abcelem)),e[d].push({top:c,height:h,line:a.line,measureNumber:t[d],elem:p[m]}),"bar"===p[m].type&&f&&t[d]++,"note"!==p[m].type&&"rest"!==p[m].type||(f=!0)}return this.tempoLocations=n,e},this.setupEvents=function(t,n,r){for(var i,a=[],s={},o=t,c=!0,l=this.makeVoicesArray(),h=0;h<l.length;h++){var u=o,d=Math.round(1e3*u),f=0,p=-1,m=l[h],g=r;n=this.getBeatLength()*g/60;for(var v=-1,b=0;b<m.length;b++){var y=m[b].measureNumber;v!==y&&this.tempoLocations[y]&&(g=this.tempoLocations[y],n=this.getBeatLength()*g/60,v=y);var w,x=m[b].elem,k=this.addElementToEvents(s,x,d,m[b].top,m[b].height,m[b].line,m[b].measureNumber,n,i,c);if(i=k.isTiedState,c=k.nextIsBar,u+=k.duration,x.duration>0&&(w="event"+d),d=Math.round(1e3*u),"bar"===x.type){var A=x.abcelem.type,T="bar_right_repeat"===A||"bar_dbl_repeat"===A,S="1"===x.abcelem.startEnding,M="bar_left_repeat"===A||"bar_dbl_repeat"===A||"bar_right_repeat"===A;if(T){b>0&&(s[w].endX=x.x),-1===p&&(p=b);var N=0;v=-1;for(var C=f;C<p;C++){v!==(y=m[C].measureNumber)&&this.tempoLocations[y]&&(g=this.tempoLocations[y],n=this.getBeatLength()*g/60,v=y);var E=m[C].elem;i=(k=this.addElementToEvents(s,E,d,m[C].top,m[C].height,m[C].line,m[C].measureNumber,n,i,c)).isTiedState,c=k.nextIsBar,u+=k.duration,N=d,d=Math.round(1e3*u)}s["event"+N]&&(s["event"+N].endX=m[p].elem.x),c=!0,p=-1}S&&(p=b),M&&(f=b)}}}return function(e){for(var t,n,r,i,a=e.length-1;a>=0;a--){var s=e[a];"bar"===s.type?(s.top=r,s.nextTop=t,t=r,s.bottom=i,s.nextBottom=n,n=i):"event"===s.type&&(r=s.top,i=s.top+s.height)}}(a=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t=t.sort((function(e,t){var n=e.milliseconds-t.milliseconds;return 0!==n?n:"bar"===e.type?-1:1}))}(s)),function(t,n){if(n.length<1)return;for(var r=0;r<n.length-1;r++){var i=n[r],a=e(n,r+1);if(null!==i.left){var s=a&&i.top===a.top?a.left:t[i.line].staffGroup.w;void 0!==i.endX?s>i.left&&(i.endX=Math.min(i.endX,s)):i.endX=s}}var o=n[n.length-1];o.endX=t[o.line].staffGroup.w}(this.lines,a),a.push({type:"end",milliseconds:d}),this.addUsefulCallbackInfo(a,g),a},this.addUsefulCallbackInfo=function(e,t){for(var n=this.millisecondsPerMeasure(t),r=0;r<e.length;r++){e[r].millisecondsPerMeasure=n}},this.getBpm=function(e){var t;if(e){t=e.bpm;var n=this.getBeatLength();t=t*(e.duration&&e.duration.length>0?e.duration[0]:n)/n}if(!t){t=180;var r=this.getMeterFraction();r&&3!==r.num&&r.num%3==0&&(t=120)}return t},this.setTiming=function(e,t){if(t=t||0,!this.engraver||!this.engraver.staffgroups)return console.log("setTiming cannot be called before the tune is drawn."),void(this.noteTimings=[]);if(!e){var n=this.metaText?this.metaText.tempo:null;e=this.getBpm(n)}var r=this.getBeatLength(),i=e/60,a=this.getBarLength()/r*t/i;a&&(a-=this.getPickupLength()/r/i);var s=r*i;return this.noteTimings=this.setupEvents(a,s,e),this.noteTimings},this.setUpAudio=function(e){e||(e={});var t=a(this,e);return s(t,e)}}},function(e,t){var n=function(e){this.type="TieElem",this.anchor1=e.anchor1,this.anchor2=e.anchor2,e.isGrace&&(this.isGrace=!0),e.fixedY&&(this.fixedY=!0),e.stemDir&&(this.stemDir=e.stemDir),void 0!==e.voiceNumber&&(this.voiceNumber=e.voiceNumber),void 0!==e.style&&(this.dotted=!0),this.internalNotes=[]};n.prototype.addInternalNote=function(e){this.internalNotes.push(e)},n.prototype.setEndAnchor=function(e){this.anchor2=e},n.prototype.setStartX=function(e){this.startLimitX=e},n.prototype.setEndX=function(e){this.endLimitX=e},n.prototype.setHint=function(){this.hint=!0},n.prototype.calcTieDirection=function(){if(this.isGrace)this.above=!1;else if(0===this.voiceNumber)this.above=!0;else if(this.voiceNumber>0)this.above=!1;else{var e;e=this.anchor1?this.anchor1.pitch:this.anchor2?this.anchor2.pitch:14,this.anchor1&&"down"===this.anchor1.stemDir&&this.anchor2&&"down"===this.anchor2.stemDir?this.above=!0:this.anchor1&&"up"===this.anchor1.stemDir&&this.anchor2&&"up"===this.anchor2.stemDir?this.above=!1:this.anchor1&&this.anchor2?this.above=e>=6:this.anchor1?this.above="down"===this.anchor1.stemDir:this.anchor2?this.above="down"===this.anchor2.stemDir:this.above=e>=6}},n.prototype.calcSlurDirection=function(){if(this.isGrace)this.above=!1;else if(0===this.voiceNumber)this.above=!0;else if(this.voiceNumber>0)this.above=!1;else{var e=!1;this.anchor1&&"down"===this.anchor1.stemDir&&(e=!0),this.anchor2&&"down"===this.anchor2.stemDir&&(e=!0);for(var t=0;t<this.internalNotes.length;t++){"down"===this.internalNotes[t].stemDir&&(e=!0)}this.above=e}},n.prototype.calcX=function(e,t){this.anchor1?(this.startX=this.anchor1.x,this.anchor1.scalex<1&&(this.startX-=3)):this.startLimitX?this.startX=this.startLimitX.x+this.startLimitX.w:this.startX=e,!this.anchor1&&this.dotted&&(this.startX-=3),this.anchor2?this.endX=this.anchor2.x:this.endLimitX?this.endX=this.endLimitX.x:this.endX=t},n.prototype.calcTieY=function(){this.anchor1?this.startY=this.anchor1.pitch:this.anchor2?this.startY=this.anchor2.pitch:this.startY=this.above?14:0,this.anchor2?this.endY=this.anchor2.pitch:this.anchor1?this.endY=this.anchor1.pitch:this.endY=this.above?14:0},n.prototype.calcSlurY=function(){if(this.anchor1&&this.anchor2){this.above&&"up"===this.anchor1.stemDir&&!this.fixedY?(this.startY=(this.anchor1.highestVert+this.anchor1.pitch)/2,this.startX+=this.anchor1.w/2):this.startY=this.anchor1.pitch;var e=this.anchor2.parent.beam&&this.anchor2.parent.beam.stemsUp&&this.anchor2.parent.beam.elems[0]!==this.anchor2.parent,t=(this.anchor2.highestVert+this.anchor2.pitch)/2;this.above&&"up"===this.anchor2.stemDir&&!this.fixedY&&!e&&t<this.startY?(this.endY=t,this.endX+=Math.round(this.anchor2.w/2)):this.endY=this.above&&e?this.anchor2.highestVert:this.anchor2.pitch}else this.anchor1?this.startY=this.endY=this.anchor1.pitch:this.anchor2?this.startY=this.endY=this.anchor2.pitch:(this.startY=this.above?14:0,this.endY=this.above?14:0)},n.prototype.avoidCollisionAbove=function(){if(this.above){for(var e=-50,t=0;t<this.internalNotes.length;t++)this.internalNotes[t].highestVert>e&&(e=this.internalNotes[t].highestVert);e>this.startY&&e>this.endY&&(this.startY=this.endY=e-1)}},e.exports=n},function(e,t){e.exports=function(e){for(var t=0,n=0;n<e.voices.length;n++){var r=e.voices[n].staff;e.voices[n].duplicate||(t+=r.top,r.bottom<0&&(t+=-r.bottom))}return t}},function(e,t,n){var r=n(8);e.exports=function(e,t){void 0===e&&(e="abcjs-note_selected"),void 0===t&&(t="#ff0000"),r(this.elemset,e,"",t)}},function(e,t,n){var r=n(8);e.exports=function(e,t){void 0===e&&(e="abcjs-note_selected"),void 0===t&&(t="#000000"),r(this.elemset,"",e,t)}},function(e,t,n){var r=n(4),i=n(5),a=n(13);function s(e,t,n){var r=n;return"f"===e&&"f"===t&&(r=2*r/3),"p"===e&&"p"===t&&(r=5*r/6),"f"===e&&"z"===t&&(r=5*r/8),r}e.exports=function(e,t,n,o,c,l,h){var u,d;if(!o)return null;if(o.length>1&&o.indexOf(".")<0){e.paper.openGroup({klass:h});for(var f=0,p=0;p<o.length;p++){var m=o.charAt(p);d=i.getYCorr(m),(u=i.printSymbol(t+f,e.calcY(n+d),m,e.paper,"","",""))?p<o.length-1&&(f+=s(m,o.charAt(p+1),i.getSymbolWidth(m))):r(e,{x:t,y:e.y,text:"no symbol:"+o,type:"debugfont",klass:"debug-msg",anchor:"start"})}return e.paper.closeGroup()}if(d=i.getYCorr(o),a.isInGroup())a.addPath(i.getPathForSymbol(t,e.calcY(n+d),o,c,l));else{if(u=i.printSymbol(t,e.calcY(n+d),o,e.paper,h,"none","#000000"))return u;r(e,{x:t,y:e.y,text:"no symbol:"+o,type:"debugfont",klass:"debug-msg",anchor:"start"})}return null}},function(e,t,n){var r=n(4),i=n(25),a=n(26),s=n(23);e.exports=function(e,t,n,o){void 0===t.pitch&&window.console.error(t.type+" Relative Element y-coordinate not set.");var c=e.calcY(t.pitch);switch(t.type){case"symbol":if(null===t.c)return null;var l="symbol";t.klass&&(l+=" "+t.klass),t.graphelem=s(e,t.x,t.pitch,t.c,t.scalex,t.scaley,e.controller.classes.generate(l),"none","#000000");break;case"debug":t.graphelem=r(e,{x:t.x,y:e.calcY(15),text:""+t.c,type:"debugfont",klass:e.controller.classes.generate("debug-msg"),anchor:"start",centerVertically:!1,dim:t.dim});break;case"barNumber":t.graphelem=r(e,{x:t.x,y:c,text:""+t.c,type:"measurefont",klass:e.controller.classes.generate("bar-number"),anchor:"middle",dim:t.dim});break;case"lyric":t.graphelem=r(e,{x:t.x,y:c,text:t.c,type:"vocalfont",klass:e.controller.classes.generate("lyric"),anchor:"middle",dim:t.dim});break;case"chord":t.graphelem=r(e,{x:t.x,y:c,text:t.c,type:"gchordfont",klass:e.controller.classes.generate("chord"),anchor:"middle",dim:t.dim,lane:t.getLane()});break;case"decoration":t.graphelem=r(e,{x:t.x,y:c+6,text:t.c,type:"annotationfont",klass:e.controller.classes.generate("annotation"),anchor:"middle",centerVertically:!0,dim:t.dim});break;case"text":t.graphelem=r(e,{x:t.x,y:c,text:t.c,type:"annotationfont",klass:e.controller.classes.generate("annotation"),anchor:"start",centerVertically:t.centerVertically,dim:t.dim,lane:t.getLane()});break;case"multimeasure-text":t.graphelem=r(e,{x:t.x+t.w/2,y:c,text:t.c,type:"tempofont",klass:e.controller.classes.generate("rest"),anchor:"middle",centerVertically:!1,dim:t.dim});break;case"part":t.graphelem=r(e,{x:t.x,y:c,text:t.c,type:"partsfont",klass:e.controller.classes.generate("part"),anchor:"start",dim:t.dim});break;case"bar":t.graphelem=i(e,t.x,t.linewidth,c,n||e.calcY(t.pitch2));break;case"stem":t.graphelem=i(e,t.x,t.linewidth,c,e.calcY(t.pitch2));break;case"ledger":t.graphelem=a(e,t.x,t.x+t.w,t.pitch,e.controller.classes.generate("ledger"))}return 1!==t.scalex&&t.graphelem&&function(e,t,n,r,i,a){e.setAttributeOnElement(t,{style:"transform:scale("+n+","+r+");transform-origin:"+i+"px "+a+"px;"})}(e.paper,t.graphelem,t.scalex,t.scaley,t.x,c),t.graphelem}},function(e,t,n){var r=n(13),i=n(3);e.exports=function(e,t,n,a,s){if(n<0||a<s){var o=i(s);s=i(a),a=o}else a=i(a),s=i(s);t=i(t);var c=i(t+n),l=[["M",t,a],["L",t,s],["L",c,s],["L",c,a],["z"]];if(!r.isInGroup()){for(var h="",u=0;u<l.length;u++)h+=l[u].join(" ");return e.paper.pathToBack({path:h,stroke:"none",fill:"#000000",class:e.controller.classes.generate("stem")})}r.addPath(l)}},function(e,t,n){var r=n(7),i=n(3);e.exports=function(e,t,n,a,s){var o=.35,c="#000000",l=e.calcY(a);t=i(t),n=i(n);var h=i(l-o),u=i(l+o),d={path:r("M %f %f L %f %f L %f %f L %f %f z",t,h,n,h,n,u,t,u),stroke:"none",fill:c};return s&&(d.class=s),e.paper.pathToBack(d)}},function(e,t,n){n(28);var r={plugin:n(29)};e.exports=r},function(e,t){},function(e,t,n){var r=n(30),i=n(91),a=new function(){"use strict";try{abcjs_is_user_script}catch(e){}this.show_midi=!0,this.hide_abc=!1,this.render_before=!1,this.midi_options={},this.render_options={},this.render_classname="abcrendered",this.text_classname="abctext",this.auto_render_threshold=20,this.show_text="show score",this.debug=!1};a.start=function(){var e=window.document.body;this.errors="";var t=this.getABCContainingElements(e);if(0!==t.length){if(this.debug)for(var n=0;n<t.length;n++){var r="Possible ABC found ("+(n+1)+" of "+t.length+"):\n\n"+t[n].innerText;alert(r)}var i=t.map(this.convertToDivs,this).reduce((function(e,t){return e.concat(t)}));this.auto_render=i.length<=this.auto_render_threshold,i.forEach((function(e){this.render(e,e.abctext_)}),this)}},a.getABCContainingElements=function(e){for(var t,n=[],r=!1,i=0,a=e.childNodes.length;i<a;++i)3!==(t=e.childNodes[i]).nodeType||r?1===t.nodeType&&"TEXTAREA"!==t.tagName&&(n=n.concat(this.getABCContainingElements(t))):t.nodeValue.match(/^\s*X:/m)&&"TEXTAREA"!==t.parentNode.tagName&&(n.push(e),r=!0);return n},a.convertToDivs=function(e){for(var t,n="",r=null,i=!1,a=[],s=Array.prototype.slice.call(e.childNodes),o=0,c=s.length;o<c;++o)if(3!==(t=s[o]).nodeType||t.nodeValue.match(/^\s*$/))i&&"BR"===t.tagName?(n+="\n",r.appendChild(t)):i&&1===t.nodeType?(n+="\n",r.appendChild(t)):i&&(i=!1,0,n=n.replace(/\n+/,"\n"),r.abctext_=n,a.push(r));else{0;var l=t.nodeValue;l.match(/^\s*X:/m)&&(i=!0,n="",(r=document.createElement("DIV")).className=this.text_classname,t.parentElement.insertBefore(r,t),this.hide_abc&&(r.style.display="none")),i&&(n+=l.replace(/^\n+/,""),r.appendChild(t))}return i&&(n=n.replace(/\n+$/,"\n").replace(/^\n+/,"\n"),r.abctext_=n,a.push(r)),a},a.render=function(e,t){var n=document.createElement("DIV");this.render_before?e.parentElement.insertBefore(n,e):e.nextSibling?e.parentElement.insertBefore(n,e.nextSibling):e.parentElement.appendChild(n);var a=this;try{this.debug&&alert("About to render:\n\n"+t);var s=function(){var e=document.createElement("DIV");if(e.className=a.render_classname,n.appendChild(e),r(e,t,a.render_options),a.show_midi){var s=document.createElement("DIV");n.appendChild(s),i(s,t,a.render_options)}};if(this.auto_render)s();else{var o=document.createElement("A");o.className="abcshow",o.href="#",o.innerHTML=this.show_text,o.onclick=function(){return s(),o.remove(),!1},abcdiv.parentElement.insertBefore(o,abcdiv)}}catch(e){this.errors+=e}};var s=!0;"undefined"!=typeof abcjs_plugin_autostart&&(s=abcjs_plugin_autostart),s&&"undefined"!=typeof window&&void 0!==window.document&&("loading"!==window.document.readyState?a.start():document.addEventListener("DOMContentLoaded",(function(){a.start()}))),e.exports=a},function(e,t,n){var r=n(14),i=n(18),a=n(37),s=n(15),o=n(17),c=n(0),l={};function h(){var e=window.innerWidth;for(var t in l)if(l.hasOwnProperty(t)){var n=l[t];e-=2*n.offsetLeft,n.style.width=e+"px"}}try{window.addEventListener("resize",h),window.addEventListener("orientationChange",h)}catch(e){}function u(e,t,n,r){n.viewportHorizontal?(e.innerHTML='<div class="abcjs-inner"></div>',n.scrollHorizontal?(e.style.overflowX="auto",e.style.overflowY="hidden"):e.style.overflow="hidden",l[e.id]=e,e=e.children[0]):n.viewportVertical?(e.innerHTML='<div class="abcjs-inner scroll-amount"></div>',e.style.overflowX="hidden",e.style.overflowY="auto",e=e.children[0]):e.innerHTML="";var i=new a(e,n);(i.engraveABC(t,r),t.engraver=i,n.viewportVertical||n.viewportHorizontal)&&(e.parentNode.style.width=e.style.width)}function d(e,t,n,r){function a(e){var t=new i;return t.formatting=e.formatting,t.media=e.media,t.version=e.version,t.metaText={},t.lines=[],t}for(var s,o=[],l=0;l<t.lines.length;l++){var h=t.lines[l];s||(s=a(t)),0===l&&(s.metaText.tempo=t.metaText.tempo,s.metaText.title=t.metaText.title,s.metaText.header=t.metaText.header,s.metaText.rhythm=t.metaText.rhythm,s.metaText.origin=t.metaText.origin,s.metaText.composer=t.metaText.composer,s.metaText.author=t.metaText.author,s.metaText.partOrder=t.metaText.partOrder),s.lines.push(h),h.staff&&(o.push(s),s=void 0)}if(s)for(var d=o[o.length-1],f=0;f<s.lines.length;f++)d.lines.push(s.lines[f]);(s=o[o.length-1]).metaText.unalignedWords=t.metaText.unalignedWords,s.metaText.book=t.metaText.book,s.metaText.source=t.metaText.source,s.metaText.discography=t.metaText.discography,s.metaText.notes=t.metaText.notes,s.metaText.transcription=t.metaText.transcription,s.metaText.history=t.metaText.history,s.metaText["abc-copyright"]=t.metaText["abc-copyright"],s.metaText["abc-creator"]=t.metaText["abc-creator"],s.metaText["abc-edited-by"]=t.metaText["abc-edited-by"],s.metaText.footer=t.metaText.footer;var p={};for(var m in n)n.hasOwnProperty(m)&&(p[m]=n[m]);var g=p.paddingtop,v=p.paddingbottom;e.innerHTML="";for(var b=0;b<o.length;b++){var y=document.createElement("div");e.appendChild(y),0===b?(p.paddingtop=g,p.paddingbottom=-20):b===o.length-1?(p.paddingtop=10,p.paddingbottom=v):(p.paddingtop=10,p.paddingbottom=-20),b<o.length-1&&(o[b].formatting=c.clone(o[b].formatting),o[b].formatting.stretchlast=!0),u(y,o[b],p,r),0===b?t.engraver=o[b].engraver:t.engraver.staffgroups?o[b].engraver.staffgroups.length>0&&t.engraver.staffgroups.push(o[b].engraver.staffgroups[0]):t.engraver.staffgroups=o[b].engraver.staffgroups}}e.exports=function(e,t,n,i,c){var l,h={};if(n)for(l in n)n.hasOwnProperty(l)&&(h[l]=n[l]);if(i)for(l in i)i.hasOwnProperty(l)&&("listener"===l?i[l].highlight&&(h.clickListener=i[l].highlight):h[l]=i[l]);if(c)for(l in c)c.hasOwnProperty(l)&&(h[l]=c[l]);return r.renderEngine((function(e,t,n,r){var i=!1;return"*"===e&&(i=!0,(e=document.createElement("div")).setAttribute("style","visibility: hidden;"),document.body.appendChild(e)),h.afterParsing&&h.afterParsing(t,n,r),!i&&h.wrap&&h.staffwidth?t=function(e,t,n,r,i){var c=new a(e,i),l=c.getMeasureWidths(t),h=o.calcLineWraps(t,l,r,i,s,c);!i.oneSvgPerLine||h.tune.lines.length<2?u(e,h.tune,h.revisedParams,n):d(e,h.tune,h.revisedParams,n);return h.tune.explanation=h.explanation,h.tune}(e,t,n,r,h):(i||!h.oneSvgPerLine||t.lines.length<2?u(e,t,h,n):d(e,t,h,n),i&&e.parentNode.removeChild(e),null)}),e,t,h)}},function(e,t,n){var r=n(0),i=n(10),a=n(11);e.exports=function(e,t,n,s,o){this.reset=function(e,t,n,r){a.initialize(e,t,n,r,o),i.initialize(e,t,n,r,o)},this.reset(e,t,n,s),this.setTitle=function(t){if(n.hasMainTitle)o.addSubtitle(e.translateString(e.stripComment(t)));else{var r=e.translateString(e.theReverser(e.stripComment(t)));n.titlecaps&&(r=r.toUpperCase()),o.addMetaText("title",r),n.hasMainTitle=!0}},this.setMeter=function(r){if("C"===(r=e.stripComment(r)))return!0===n.havent_set_length&&(n.default_length=.125,n.havent_set_length=!1),{type:"common_time"};if("C|"===r)return!0===n.havent_set_length&&(n.default_length=.125,n.havent_set_length=!1),{type:"cut_time"};if("o"===r)return!0===n.havent_set_length&&(n.default_length=.125,n.havent_set_length=!1),{type:"tempus_perfectum"};if("c"===r)return!0===n.havent_set_length&&(n.default_length=.125,n.havent_set_length=!1),{type:"tempus_imperfectum"};if("o."===r)return!0===n.havent_set_length&&(n.default_length=.125,n.havent_set_length=!1),{type:"tempus_perfectum_prolatio"};if("c."===r)return!0===n.havent_set_length&&(n.default_length=.125,n.havent_set_length=!1),{type:"tempus_imperfectum_prolatio"};if(0===r.length||"none"===r.toLowerCase())return!0===n.havent_set_length&&(n.default_length=.125,n.havent_set_length=!1),null;var i=e.tokenize(r,0,r.length);try{var a=function(){var e=function(){var e={value:0,num:""},t=i.shift();for("("===t.token&&(t=i.shift());;){if("number"!==t.type)throw"Expected top number of meter";if(e.value+=parseInt(t.token),e.num+=t.token,0===i.length||"/"===i[0].token)return e;if(")"===(t=i.shift()).token){if(0===i.length||"/"===i[0].token)return e;throw"Unexpected paren in meter"}if("."!==t.token&&"+"!==t.token)throw"Expected top number of meter";if(e.num+=t.token,0===i.length)throw"Expected top number of meter";t=i.shift()}return e}();if(0===i.length)return e;var t=i.shift();if("/"!==t.token)throw"Expected slash in meter";if("number"!==(t=i.shift()).type)throw"Expected bottom number of meter";return e.den=t.token,e.value=e.value/parseInt(e.den),e};if(0===i.length)throw"Expected meter definition in M: line";for(var s={type:"specified",value:[]},o=0;;){var c=a();o+=c.value;var l={num:c.num};if(void 0!==c.den&&(l.den=c.den),s.value.push(l),0===i.length)break}return!0===n.havent_set_length&&(n.default_length=o<.75?.0625:.125,n.havent_set_length=!1),s}catch(e){t(e,r,0)}return null},this.calcTempo=function(e){var t=1/4;n.meter&&"specified"===n.meter.type?t=1/parseInt(n.meter.value[0].den):n.origMeter&&"specified"===n.origMeter.type&&(t=1/parseInt(n.origMeter.value[0].den));for(var r=0;r<e.duration;r++)e.duration[r]=t*e.duration[r];return e},this.resolveTempo=function(){n.tempo&&(this.calcTempo(n.tempo),s.metaText.tempo=n.tempo,delete n.tempo)},this.addUserDefinition=function(e,i,a){var s=e.indexOf("=",i);if(-1!==s){var o=r.strip(e.substring(i,s)),c=r.strip(e.substring(s+1));if(1===o.length){-1!=="HIJKLMNOPQRSTUVWXYhijklmnopqrstuvw~".indexOf(o)?0!==c.length?(void 0===n.macros&&(n.macros={}),n.macros[o]=c):t("Missing macro definition",e,i):t("Macro definitions must be H-Y, h-w, or tilde",e,i)}else t("Macro definitions can only be one character",e,i)}else t("Need an = in a macro definition",e,i)},this.setDefaultLength=function(e,t,i){var a=r.gsub(e.substring(t,i)," ","").split("/");if(2===a.length){var s=parseInt(a[0]),o=parseInt(a[1]);o>0&&(n.default_length=s/o,n.havent_set_length=!1)}else 1===a.length&&"1"===a[0]&&(n.default_length=1,n.havent_set_length=!1)};var c={larghissimo:20,adagissimo:24,sostenuto:28,grave:32,largo:40,lento:50,larghetto:60,adagio:68,adagietto:74,andante:80,andantino:88,"marcia moderato":84,"andante moderato":100,moderato:112,allegretto:116,"allegro moderato":120,allegro:126,animato:132,agitato:140,veloce:148,"mosso vivo":156,vivace:164,vivacissimo:172,allegrissimo:176,presto:184,prestissimo:210};this.setTempo=function(r,i,a){try{var s=e.tokenize(r,i,a);if(0===s.length)throw"Missing parameter in Q: field";var o={},l=!0,h=s.shift();if("quote"===h.type&&(o.preString=h.token,h=s.shift(),0===s.length))return c[o.preString.toLowerCase()]&&(o.bpm=c[o.preString.toLowerCase()],o.suppressBpm=!0),{type:"immediate",tempo:o};if("alpha"===h.type&&"C"===h.token){if(0===s.length)throw"Missing tempo after C in Q: field";if("punct"===(h=s.shift()).type&&"="===h.token){if(0===s.length)throw"Missing tempo after = in Q: field";if("number"!==(h=s.shift()).type)throw"Expected number after = in Q: field";o.duration=[1],o.bpm=parseInt(h.token)}else{if("number"!==h.type)throw"Expected number or equal after C in Q: field";if(o.duration=[parseInt(h.token)],0===s.length)throw"Missing = after duration in Q: field";if("punct"!==(h=s.shift()).type||"="!==h.token)throw"Expected = after duration in Q: field";if(0===s.length)throw"Missing tempo after = in Q: field";if("number"!==(h=s.shift()).type)throw"Expected number after = in Q: field";o.bpm=parseInt(h.token)}}else{if("number"!==h.type)throw"Unknown value in Q: field";var u=parseInt(h.token);if(0===s.length||"quote"===s[0].type)o.duration=[1],o.bpm=u;else{if(l=!1,"punct"!==(h=s.shift()).type&&"/"!==h.token)throw"Expected fraction in Q: field";if("number"!==(h=s.shift()).type)throw"Expected fraction in Q: field";var d=parseInt(h.token);for(o.duration=[u/d];s.length>0&&"="!==s[0].token&&"quote"!==s[0].type;){if("number"!==(h=s.shift()).type)throw"Expected fraction in Q: field";if(u=parseInt(h.token),"punct"!==(h=s.shift()).type&&"/"!==h.token)throw"Expected fraction in Q: field";if("number"!==(h=s.shift()).type)throw"Expected fraction in Q: field";d=parseInt(h.token),o.duration.push(u/d)}if("punct"!==(h=s.shift()).type&&"="!==h.token)throw"Expected = in Q: field";if("number"!==(h=s.shift()).type)throw"Expected tempo in Q: field";o.bpm=parseInt(h.token)}}if(0!==s.length&&("quote"===(h=s.shift()).type&&(o.postString=h.token,h=s.shift()),0!==s.length))throw"Unexpected string at end of Q: field";return!1===n.printTempo&&(o.suppress=!0),{type:l?"delaySet":"immediate",tempo:o}}catch(e){return t(e,r,i),{type:"none"}}},this.letter_to_inline_header=function(r,c){var l=e.eatWhiteSpace(r,c);if(c+=l,r.length>=c+5&&"["===r.charAt(c)&&":"===r.charAt(c+2)){var h=r.indexOf("]",c),u=n.iChar+c,d=n.iChar+h+1;switch(r.substring(c,c+3)){case"[I:":var f=i.addDirective(r.substring(c+3,h));return f&&t(f,r,c),[h-c+1+l];case"[M:":var p=this.setMeter(r.substring(c+3,h));return o.hasBeginMusic()&&p?o.appendStartingElement("meter",u,d,p):n.meter=p,[h-c+1+l];case"[K:":var m=a.parseKey(r.substring(c+3,h));return m.foundClef&&o.hasBeginMusic()&&o.appendStartingElement("clef",u,d,n.clef),m.foundKey&&o.hasBeginMusic()&&o.appendStartingElement("key",u,d,a.fixKey(n.clef,n.key)),[h-c+1+l];case"[P:":return s.lines.length<=s.lineNum?n.partForNextLine={title:r.substring(c+3,h),startChar:u,endChar:d}:o.appendElement("part",u,d,{title:r.substring(c+3,h)}),[h-c+1+l];case"[L:":return this.setDefaultLength(r,c+3,h),[h-c+1+l];case"[Q:":if(h>0){var g=this.setTempo(r,c+3,h);return"delaySet"===g.type?o.hasBeginMusic()?o.appendElement("tempo",u,d,this.calcTempo(g.tempo)):n.tempoForNextLine=["tempo",u,d,this.calcTempo(g.tempo)]:"immediate"===g.type&&(o.hasBeginMusic()?o.appendElement("tempo",u,d,g.tempo):n.tempoForNextLine=["tempo",u,d,g.tempo]),[h-c+1+l,r.charAt(c+1),r.substring(c+3,h)]}break;case"[V:":if(h>0)return a.parseVoice(r,c+3,h),[h-c+1+l,r.charAt(c+1),r.substring(c+3,h)]}}return[0]},this.letter_to_body_header=function(e,s){if(e.length>=s+3)switch(e.substring(s,s+2)){case"I:":var c=i.addDirective(e.substring(s+2));return c&&t(c,e,s),[e.length];case"M:":var l=this.setMeter(e.substring(s+2));return o.hasBeginMusic()&&l&&o.appendStartingElement("meter",n.iChar+s,n.iChar+e.length,l),[e.length];case"K:":var h=a.parseKey(e.substring(s+2));return h.foundClef&&o.hasBeginMusic()&&o.appendStartingElement("clef",n.iChar+s,n.iChar+e.length,n.clef),h.foundKey&&o.hasBeginMusic()&&o.appendStartingElement("key",n.iChar+s,n.iChar+e.length,a.fixKey(n.clef,n.key)),[e.length];case"P:":return o.hasBeginMusic()&&o.appendElement("part",n.iChar+s,n.iChar+e.length,{title:e.substring(s+2)}),[e.length];case"L:":return this.setDefaultLength(e,s+2,e.length),[e.length];case"Q:":var u=e.indexOf("",s+2);-1===u&&(u=e.length);var d=this.setTempo(e,s+2,u);return"delaySet"===d.type?o.appendElement("tempo",n.iChar+s,n.iChar+e.length,this.calcTempo(d.tempo)):"immediate"===d.type&&o.appendElement("tempo",n.iChar+s,n.iChar+e.length,d.tempo),[u,e.charAt(s),r.strip(e.substring(s+2))];case"V:":return a.parseVoice(e,s+2,e.length),[e.length,e.charAt(s),r.strip(e.substring(s+2))]}return[0]};var l={A:"author",B:"book",C:"composer",D:"discography",F:"url",G:"group",I:"instruction",N:"notes",O:"origin",R:"rhythm",S:"source",W:"unalignedWords",Z:"transcription"};this.parseHeader=function(c){if(r.startsWith(c,"%%")){var h=i.addDirective(c.substring(2));return h&&t(h,c,2),{}}var u=c.indexOf("%");if(u>=0&&(c=c.substring(0,u)),0===(c=c.replace(/\s+$/,"")).length)return{};if(c.length>=2&&":"===c.charAt(1)){var d="";c.indexOf("")>=0&&"w"!==c.charAt(0)&&(d=c.substring(c.indexOf("")+1),c=c.substring(0,c.indexOf("")));var f=l[c.charAt(0)];if(void 0!==f)return"unalignedWords"===f?o.addMetaTextArray(f,i.parseFontChangeLine(e.translateString(e.stripComment(c.substring(2))))):o.addMetaText(f,e.translateString(e.stripComment(c.substring(2)))),{};var p=n.iChar,m=p+c.length;switch(c.charAt(0)){case"H":o.addMetaText("history",e.translateString(e.stripComment(c.substring(2)))),n.is_in_history=!0;break;case"K":this.resolveTempo();var g=a.parseKey(c.substring(2));!n.is_in_header&&o.hasBeginMusic()&&(g.foundClef&&o.appendStartingElement("clef",p,m,n.clef),g.foundKey&&o.appendStartingElement("key",p,m,a.fixKey(n.clef,n.key))),n.is_in_header=!1;break;case"L":this.setDefaultLength(c,2,c.length);break;case"M":n.origMeter=n.meter=this.setMeter(c.substring(2));break;case"P":n.is_in_header?o.addMetaText("partOrder",e.translateString(e.stripComment(c.substring(2)))):n.partForNextLine={title:e.translateString(e.stripComment(c.substring(2))),startChar:p,endChar:m};break;case"Q":var v=this.setTempo(c,2,c.length);"delaySet"===v.type?n.tempo=v.tempo:"immediate"===v.type&&(s.metaText.tempo=v.tempo);break;case"T":this.setTitle(c.substring(2));break;case"U":this.addUserDefinition(c,2,c.length);break;case"V":if(a.parseVoice(c,2,c.length),!n.is_in_header)return{newline:!0};break;case"s":return{symbols:!0};case"w":return{words:!0};case"X":break;case"E":case"m":t("Ignored header",c,0);break;default:return d.length&&(d=""+d),{regular:!0,str:c+d}}return d.length>0?{recurse:!0,str:d}:{}}return{regular:!0,str:c}}}},function(e,t,n){var r=n(0);e.exports=function(){this.skipWhiteSpace=function(e){for(var t=0;t<e.length;t++)if(!this.isWhiteSpace(e.charAt(t)))return t;return e.length};var e=function(e,t){return t>=e.length};this.eatWhiteSpace=function(e,t){for(var n=t;n<e.length;n++)if(!this.isWhiteSpace(e.charAt(n)))return n-t;return n-t},this.getKeyPitch=function(t){var n=this.skipWhiteSpace(t);if(e(t,n))return{len:0};switch(t.charAt(n)){case"A":return{len:n+1,token:"A"};case"B":return{len:n+1,token:"B"};case"C":return{len:n+1,token:"C"};case"D":return{len:n+1,token:"D"};case"E":return{len:n+1,token:"E"};case"F":return{len:n+1,token:"F"};case"G":return{len:n+1,token:"G"}}return{len:0}},this.getSharpFlat=function(e){if("bass"===e)return{len:0};switch(e.charAt(0)){case"#":return{len:1,token:"#"};case"b":return{len:1,token:"b"}}return{len:0}},this.getMode=function(t){var n=function(e,t){for(;t<e.length&&(e.charAt(t)>="a"&&e.charAt(t)<="z"||e.charAt(t)>="A"&&e.charAt(t)<="Z");)t++;return t},r=this.skipWhiteSpace(t);if(e(t,r))return{len:0};var i=t.substring(r,r+3).toLowerCase();switch((i.length>1&&" "===i.charAt(1)||"^"===i.charAt(1)||"_"===i.charAt(1)||"="===i.charAt(1))&&(i=i.charAt(0)),i){case"mix":return{len:n(t,r),token:"Mix"};case"dor":return{len:n(t,r),token:"Dor"};case"phr":return{len:n(t,r),token:"Phr"};case"lyd":return{len:n(t,r),token:"Lyd"};case"loc":return{len:n(t,r),token:"Loc"};case"aeo":return{len:n(t,r),token:"m"};case"maj":case"ion":return{len:n(t,r),token:""};case"min":case"m":return{len:n(t,r),token:"m"}}return{len:0}},this.getClef=function(t,n){var i=t,a=this.skipWhiteSpace(t);if(e(t,a))return{len:0};var s=!1,o=t.substring(a);if(r.startsWith(o,"clef=")&&(s=!0,o=o.substring(5),a+=5),0===o.length&&s)return{len:a+5,warn:"No clef specified: "+i};var c=this.skipWhiteSpace(o);if(e(o,c))return{len:0};c>0&&(a+=c,o=o.substring(c));var l=null;if(r.startsWith(o,"treble"))l="treble";else if(r.startsWith(o,"bass3"))l="bass3";else if(r.startsWith(o,"bass"))l="bass";else if(r.startsWith(o,"tenor"))l="tenor";else if(r.startsWith(o,"alto2"))l="alto2";else if(r.startsWith(o,"alto1"))l="alto1";else if(r.startsWith(o,"alto"))l="alto";else if(!n&&s&&r.startsWith(o,"none"))l="none";else if(r.startsWith(o,"perc"))l="perc";else if(!n&&s&&r.startsWith(o,"C"))l="tenor";else if(!n&&s&&r.startsWith(o,"F"))l="bass";else{if(n||!s||!r.startsWith(o,"G"))return{len:a+5,warn:"Unknown clef specified: "+i};l="treble"}return o=o.substring(l.length),(c=this.isMatch(o,"+8"))>0?l+="+8":(c=this.isMatch(o,"-8"))>0&&(l+="-8"),{len:a+l.length,token:l,explicit:s}},this.getBarLine=function(e,t){switch(e.charAt(t)){case"]":switch(++t,e.charAt(t)){case"|":return{len:2,token:"bar_thick_thin"};case"[":return++t,e.charAt(t)>="1"&&e.charAt(t)<="9"||'"'===e.charAt(t)?{len:2,token:"bar_invisible"}:{len:1,warn:"Unknown bar symbol"};default:return{len:1,token:"bar_invisible"}}break;case":":switch(++t,e.charAt(t)){case":":return{len:2,token:"bar_dbl_repeat"};case"|":switch(++t,e.charAt(t)){case"]":switch(++t,e.charAt(t)){case"|":return++t,":"===e.charAt(t)?{len:5,token:"bar_dbl_repeat"}:{len:3,token:"bar_right_repeat"};default:return{len:3,token:"bar_right_repeat"}}break;case"|":return++t,":"===e.charAt(t)?{len:4,token:"bar_dbl_repeat"}:{len:3,token:"bar_right_repeat"};default:return{len:2,token:"bar_right_repeat"}}break;default:return{len:1,warn:"Unknown bar symbol"}}break;case"[":if(++t,"|"!==e.charAt(t))return e.charAt(t)>="1"&&e.charAt(t)<="9"||'"'===e.charAt(t)?{len:1,token:"bar_invisible"}:{len:0};switch(++t,e.charAt(t)){case":":return{len:3,token:"bar_left_repeat"};case"]":return{len:3,token:"bar_invisible"};default:return{len:2,token:"bar_thick_thin"}}break;case"|":switch(++t,e.charAt(t)){case"]":return{len:2,token:"bar_thin_thick"};case"|":return++t,":"===e.charAt(t)?{len:3,token:"bar_left_repeat"}:{len:2,token:"bar_thin_thin"};case":":for(var n=0;":"===e.charAt(t+n);)n++;return{len:1+n,token:"bar_left_repeat"};default:return{len:1,token:"bar_thin"}}}return{len:0}},this.getTokenOf=function(e,t){for(var n=0;n<e.length;n++)if(t.indexOf(e.charAt(n))<0)return{len:n,token:e.substring(0,n)};return{len:n,token:e}},this.getToken=function(e,t,n){for(var r=t;r<n&&!this.isWhiteSpace(e.charAt(r));)r++;return e.substring(t,r)},this.isMatch=function(t,n){var i=this.skipWhiteSpace(t);return e(t,i)?0:r.startsWith(t.substring(i),n)?i+n.length:0},this.getPitchFromTokens=function(e){var t={};if(t.position={A:5,B:6,C:0,D:1,E:2,F:3,G:4,a:12,b:13,c:7,d:8,e:9,f:10,g:11}[e[0].token],void 0===t.position)return{warn:"Pitch expected. Found: "+e[0].token};for(e.shift();e.length;)switch(e[0].token){case",":t.position-=7,e.shift();break;case"'":t.position+=7,e.shift();break;default:return t}return t},this.getKeyAccidentals2=function(e){for(var t;e.length>0;){var n;if("^"===e[0].token){if(n="sharp",e.shift(),0===e.length)return{accs:t,warn:"Expected note name after "+n};switch(e[0].token){case"^":n="dblsharp",e.shift();break;case"/":n="quartersharp",e.shift()}}else if("="===e[0].token)n="natural",e.shift();else{if("_"!==e[0].token)return{accs:t};if(n="flat",e.shift(),0===e.length)return{accs:t,warn:"Expected note name after "+n};switch(e[0].token){case"_":n="dblflat",e.shift();break;case"/":n="quarterflat",e.shift()}}if(0===e.length)return{accs:t,warn:"Expected note name after "+n};switch(e[0].token.charAt(0)){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":void 0===t&&(t=[]),t.push({acc:n,note:e[0].token.charAt(0)}),1===e[0].token.length?e.shift():e[0].token=e[0].token.substring(1);break;default:return{accs:t,warn:"Expected note name after "+n+" Found: "+e[0].token}}}return{accs:t}},this.getKeyAccidental=function(t){var n={"^":"sharp","^^":"dblsharp","=":"natural",_:"flat",__:"dblflat","_/":"quarterflat","^/":"quartersharp"},r=this.skipWhiteSpace(t);if(e(t,r))return{len:0};var i=null;switch(t.charAt(r)){case"^":case"_":case"=":i=t.charAt(r);break;default:return{len:0}}if(r++,e(t,r))return{len:1,warn:"Expected note name after accidental"};switch(t.charAt(r)){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":return{len:r+1,token:{acc:n[i],note:t.charAt(r)}};case"^":case"_":case"/":if(i+=t.charAt(r),r++,e(t,r))return{len:2,warn:"Expected note name after accidental"};switch(t.charAt(r)){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":return{len:r+1,token:{acc:n[i],note:t.charAt(r)}};default:return{len:2,warn:"Expected note name after accidental"}}break;default:return{len:1,warn:"Expected note name after accidental"}}},this.isWhiteSpace=function(e){return" "===e||"\t"===e||""===e},this.getMeat=function(e,t,n){var r=e.indexOf("%",t);for(r>=0&&r<n&&(n=r);t<n&&(" "===e.charAt(t)||"\t"===e.charAt(t)||""===e.charAt(t));)t++;for(;t<n&&(" "===e.charAt(n-1)||"\t"===e.charAt(n-1)||""===e.charAt(n-1));)n--;return{start:t,end:n}};var t=function(e){return e>="A"&&e<="Z"||e>="a"&&e<="z"},n=function(e){return e>="0"&&e<="9"};this.tokenize=function(e,r,i,a){var s=this.getMeat(e,r,i);r=s.start,i=s.end;for(var o,c=[];r<i;){if('"'===e.charAt(r)){for(o=r+1;o<i&&'"'!==e.charAt(o);)o++;c.push({type:"quote",token:e.substring(r+1,o),start:r+1,end:o}),o++}else if(t(e.charAt(r))){if(o=r+1,a)for(;o<i&&!this.isWhiteSpace(e.charAt(o));)o++;else for(;o<i&&t(e.charAt(o));)o++;c.push({type:"alpha",token:e.substring(r,o),continueId:n(e.charAt(o)),start:r,end:o}),r=o+1}else if("."===e.charAt(r)&&n(e.charAt(o+1))){o=r+1;for(var l;o<i&&n(e.charAt(o));)o++;l=parseFloat(e.substring(r,o)),c.push({type:"number",token:e.substring(r,o),intt:null,floatt:l,continueId:t(e.charAt(o)),start:r,end:o}),r=o+1}else if(n(e.charAt(r))||"-"===e.charAt(r)&&n(e.charAt(o+1))){o=r+1;for(var h,u=null;o<i&&n(e.charAt(o));)o++;if("."===e.charAt(o)&&n(e.charAt(o+1)))for(o++;o<i&&n(e.charAt(o));)o++;else u=parseInt(e.substring(r,o));h=parseFloat(e.substring(r,o)),c.push({type:"number",token:e.substring(r,o),intt:u,floatt:h,continueId:t(e.charAt(o)),start:r,end:o}),r=o+1}else" "===e.charAt(r)||"\t"===e.charAt(r)||c.push({type:"punct",token:e.charAt(r),start:r,end:r+1}),o=r+1;r=o}return c},this.getVoiceToken=function(e,t,n){for(var r=t;r<n&&this.isWhiteSpace(e.charAt(r))||"="===e.charAt(r);)r++;if('"'===e.charAt(r)){var i=e.indexOf('"',r+1);return-1===i||i>=n?{len:1,err:"Missing close quote"}:{len:i-t+1,token:this.translateString(e.substring(r+1,i))}}for(var a=r;a<n&&!this.isWhiteSpace(e.charAt(a))&&"="!==e.charAt(a);)a++;return{len:a-t+1,token:e.substring(r,a)}};var i={"`a":"à","'a":"á","^a":"â","~a":"ã",'"a':"ä",oa:"å",aa:"å","=a":"ā",ua:"ă",";a":"ą","`e":"è","'e":"é","^e":"ê",'"e':"ë","=e":"ē",ue:"ĕ",";e":"ę",".e":"ė","`i":"ì","'i":"í","^i":"î",'"i':"ï","=i":"ī",ui:"ĭ",";i":"į","`o":"ò","'o":"ó","^o":"ô","~o":"õ",'"o':"ö","=o":"ō",uo:"ŏ","/o":"ø","`u":"ù","'u":"ú","^u":"û","~u":"ũ",'"u':"ü",ou:"ů","=u":"ū",uu:"ŭ",";u":"ų","`A":"À","'A":"Á","^A":"Â","~A":"Ã",'"A':"Ä",oA:"Å",AA:"Å","=A":"Ā",uA:"Ă",";A":"Ą","`E":"È","'E":"É","^E":"Ê",'"E':"Ë","=E":"Ē",uE:"Ĕ",";E":"Ę",".E":"Ė","`I":"Ì","'I":"Í","^I":"Î","~I":"Ĩ",'"I':"Ï","=I":"Ī",uI:"Ĭ",";I":"Į",".I":"İ","`O":"Ò","'O":"Ó","^O":"Ô","~O":"Õ",'"O':"Ö","=O":"Ō",uO:"Ŏ","/O":"Ø","`U":"Ù","'U":"Ú","^U":"Û","~U":"Ũ",'"U':"Ü",oU:"Ů","=U":"Ū",uU:"Ŭ",";U":"Ų",ae:"æ",AE:"Æ",oe:"œ",OE:"Œ",ss:"ß","'c":"ć","^c":"ĉ",uc:"č",cc:"ç",".c":"ċ",cC:"Ç","'C":"Ć","^C":"Ĉ",uC:"Č",".C":"Ċ","~N":"Ñ","~n":"ñ","=s":"š",vs:"š",DH:"Ð",dh:"ð",HO:"Ő",Ho:"ő",HU:"Ű",Hu:"ű","'Y":"Ý","'y":"ý","^Y":"Ŷ","^y":"ŷ",'"Y':"Ÿ",'"y':"ÿ",vS:"Š",vZ:"Ž",vz:"ž"},a={"#":"♯",b:"♭","=":"♮"},s={201:"♯",202:"♭",203:"♮",241:"¡",242:"¢",252:"a",262:"2",272:"o",302:"Â",312:"Ê",322:"Ò",332:"Ú",342:"â",352:"ê",362:"ò",372:"ú",243:"£",253:"«",263:"3",273:"»",303:"Ã",313:"Ë",323:"Ó",333:"Û",343:"ã",353:"ë",363:"ó",373:"û",244:"¤",254:"¬",264:" ́",274:"1⁄4",304:"Ä",314:"Ì",324:"Ô",334:"Ü",344:"ä",354:"ì",364:"ô",374:"ü",245:"¥",255:"-",265:"μ",275:"1⁄2",305:"Å",315:"Í",325:"Õ",335:"Ý",345:"å",355:"í",365:"õ",375:"ý",246:"¦",256:"®",266:"¶",276:"3⁄4",306:"Æ",316:"Î",326:"Ö",336:"Þ",346:"æ",356:"î",366:"ö",376:"þ",247:"§",257:" ̄",267:"·",277:"¿",307:"Ç",317:"Ï",327:"×",337:"ß",347:"ç",357:"ï",367:"÷",377:"ÿ",250:" ̈",260:"°",270:" ̧",300:"À",310:"È",320:"Ð",330:"Ø",340:"à",350:"è",360:"ð",370:"ø",251:"©",261:"±",271:"1",301:"Á",311:"É",321:"Ñ",331:"Ù",341:"á",351:"é",361:"ñ",371:"ù"};this.translateString=function(e){var t=e.split("\\");if(1===t.length)return e;var n=null;return r.each(t,(function(e){if(null===n)n=e;else{var t=i[e.substring(0,2)];void 0!==t?n+=t+e.substring(2):void 0!==(t=s[e.substring(0,3)])?n+=t+e.substring(3):(t=a[e.substring(0,1)],n+=void 0!==t?t+e.substring(1):"\\"+e)}})),n},this.getNumber=function(e,t){for(var n=0;t<e.length;)switch(e.charAt(t)){case"0":n*=10,t++;break;case"1":n=10*n+1,t++;break;case"2":n=10*n+2,t++;break;case"3":n=10*n+3,t++;break;case"4":n=10*n+4,t++;break;case"5":n=10*n+5,t++;break;case"6":n=10*n+6,t++;break;case"7":n=10*n+7,t++;break;case"8":n=10*n+8,t++;break;case"9":n=10*n+9,t++;break;default:return{num:n,index:t}}return{num:n,index:t}},this.getFraction=function(e,t){var n=1,r=1;if("/"!==e.charAt(t)){var i=this.getNumber(e,t);n=i.num,t=i.index}if("/"===e.charAt(t)){if(t++,"/"===e.charAt(t)){for(var a=.5;"/"===e.charAt(t++);)a/=2;return{value:n*a,index:t-1}}var s=t,o=this.getNumber(e,t);0===o.num&&s===t&&(o.num=2),0!==o.num&&(r=o.num),t=o.index}return{value:n/r,index:t}},this.theReverser=function(e){return r.endsWith(e,", The")?"The "+e.substring(0,e.length-5):r.endsWith(e,", A")?"A "+e.substring(0,e.length-3):e},this.stripComment=function(e){var t=e.indexOf("%");return t>=0?r.strip(e.substring(0,t)):r.strip(e)},this.getInt=function(e){var t=parseInt(e);if(isNaN(t))return{digits:0};var n=""+t;return{value:t,digits:e.indexOf(n)+n.length}},this.getFloat=function(e){var t=parseFloat(e);if(isNaN(t))return{digits:0};var n=""+t;return{value:t,digits:e.indexOf(n)+n.length}},this.getMeasurement=function(e){if(0===e.length)return{used:0};var t=1,n="";if("-"===e[0].token)e.shift(),n="-",t++;else if("number"!==e[0].type)return{used:0};if(n+=e.shift().token,0===e.length)return{used:1,value:parseInt(n)};var r=e.shift();if("."===r.token){if(t++,0===e.length)return{used:t,value:parseInt(n)};if("number"===e[0].type&&(n=n+"."+(r=e.shift()).token,t++,0===e.length))return{used:t,value:parseFloat(n)};r=e.shift()}switch(r.token){case"pt":return{used:t+1,value:parseFloat(n)};case"cm":return{used:t+1,value:parseFloat(n)/2.54*72};case"in":return{used:t+1,value:72*parseFloat(n)};default:return e.unshift(r),{used:t,value:parseFloat(n)}}return{used:0}};var o=function(e){for(;-1!==e.indexOf("\\n");)e=e.replace("\\n","\n");return e};this.getBrackettedSubstring=function(e,t,n,r){for(var i=r||e.charAt(t),a=t+1;a<e.length&&e.charAt(a)!==i;)++a;return e.charAt(a)===i?[a-t+1,o(e.substring(t+1,a)),!0]:((a=t+n)>e.length-1&&(a=e.length-1),[a-t+1,o(e.substring(t+1,a)),!1])}}},function(e,t,n){var r,i=n(0);!function(){"use strict";var e;function t(e,t,n){for(var r=0,i=t+1;i<e.length;i++)if("note"===e[i].el_type&&r++,e[i].decoration&&e[i].decoration.indexOf(n)>=0)return r;return r}function n(e,t,n){for(var r=Math.min(e.length,t+3),i=t;i<r;i++)if("note"===e[i].el_type&&e[i].decoration)for(var a=0;a<e[i].decoration.length;a++)if(n.indexOf(e[i].decoration[a])>=0)return e[i].decoration[a];return null}function a(e){for(var t=0;t<e.length;t++)for(var n=e[t],r=n.length-1;r>=0&&"bar"!==n[r].el_type;)n[r].noChordVoice=!0,r--}function s(e,t){if(e&&!(e.length<=t)&&e[t].title)return e[t].title.join(" ")}function o(e,t){var n=1/4;e.duration&&(n=e.duration[0]);var r=60;return e.bpm&&(r=e.bpm),n*r/t}function c(t){var n;switch(t.type){case"common_time":n={el_type:"meter",num:4,den:4};break;case"cut_time":n={el_type:"meter",num:2,den:2};break;case"specified":n={el_type:"meter",num:t.value[0].num,den:t.value[0].den};break;default:n={el_type:"meter"}}return e=n.num/n.den,n}r=function(r,l){var h,u=(l=l||{}).program||0,d=l.midiTranspose||0;r.visualTranspose&&(d-=r.visualTranspose);var f=l.channel||0,p=!1,m=l.drum||"",g=l.drumBars||1,v=l.drumIntro||0,b=""!==m,y=[];u=parseInt(u,10),d=parseInt(d,10),10===(f=parseInt(f,10))&&(u=128),m=m.split(" "),g=parseInt(g,10),v=parseInt(v,10);var w=r.formatting.bagpipes;w&&(u=71);var x=[];if(r.formatting.midi){var k=r.formatting.midi;k.program&&k.program.length>0&&(u=k.program[0],k.program.length>1&&(u=k.program[1],f=k.program[0]),p=!0),k.transpose&&(d=k.transpose[0]),k.channel&&(f=k.channel[0],p=!0),k.drum&&(m=k.drum),k.drumbars&&(g=k.drumbars[0]),k.drumon&&(b=!0),10===f&&(u=128),k.beat&&x.push({el_type:"beat",beats:k.beat}),k.nobeataccents&&x.push({el_type:"beataccents",value:!1})}h=l.qpm?parseInt(l.qpm,10):r.metaText.tempo?o(r.metaText.tempo,r.getBeatLength()):l.defaultQpm?l.defaultQpm:180;var A=[];w&&A.push({el_type:"bagpipes"}),A.push({el_type:"instrument",program:u}),f&&A.push({el_type:"channel",channel:f}),d&&A.push({el_type:"transpose",transpose:d}),A.push({el_type:"tempo",qpm:h});for(var T=0;T<x.length;T++)A.push(x[T]);for(var S,M=[],N=[],C=[],E=[0],I={},_=[],B=[],P=!1,D=0;D<r.lines.length;D++){var L=r.lines[D];if(L.staff)for(var O=function(e){var r,i={pppp:[15,10,5,1],ppp:[30,20,10,1],pp:[45,35,20,1],p:[60,50,35,1],mp:[75,65,50,1],mf:[90,80,65,1],f:[105,95,80,1],ff:[120,110,95,1],fff:[127,125,110,1],ffff:[127,125,110,1]};if(e.decoration)if(e.decoration.indexOf("pppp")>=0?r="pppp":e.decoration.indexOf("ppp")>=0?r="ppp":e.decoration.indexOf("pp")>=0?r="pp":e.decoration.indexOf("p")>=0?r="p":e.decoration.indexOf("mp")>=0?r="mp":e.decoration.indexOf("mf")>=0?r="mf":e.decoration.indexOf("f")>=0?r="f":e.decoration.indexOf("ff")>=0?r="ff":e.decoration.indexOf("fff")>=0?r="fff":e.decoration.indexOf("ffff")>=0&&(r="ffff"),r&&(S=i[r].slice(0),M[V].push({el_type:"beat",beats:S.slice(0)}),N[j]=!1,C[j]=!1),e.decoration.indexOf("crescendo(")>=0){var a=t(q,K,"crescendo)"),s=Math.min(127,S[0]+50),o=n(q,K+a+1,Object.keys(i));o&&(s=i[o][0]),N[j]=a>0&&Math.floor((s-S[0])/a),C[j]=!1}else if(e.decoration.indexOf("crescendo)")>=0)N[j]=!1;else if(e.decoration.indexOf("diminuendo(")>=0){var c=t(q,K,"diminuendo)"),l=Math.max(15,S[0]-50),h=n(q,K+c+1,Object.keys(i));h&&(l=i[h][0]),N[j]=!1,C[j]=c>0&&Math.floor((l-S[0])/c)}else e.decoration.indexOf("diminuendo)")>=0&&(C[j]=!1)},H=L.staff,V=0,F=0;F<H.length;F++)for(var z=H[F],j=0;j<z.voices.length;j++){var q=z.voices[j];if(!M[V]){M[V]=[].concat(JSON.parse(JSON.stringify(A)));var Y=s(L.staff,V);Y&&M[V].unshift({el_type:"name",trackName:Y})}if(d&&"perc"===z.clef.type&&M[V].push({el_type:"transpose",transpose:0}),z.clef&&"perc"===z.clef.type&&!p)for(var W=0;W<M[V].length;W++)"instrument"===M[V][W].el_type&&(M[V][W].program=128);else z.key&&("HP"===z.key.root?M[V].push({el_type:"key",accidentals:[{acc:"natural",note:"g"},{acc:"sharp",note:"f"},{acc:"sharp",note:"c"}]}):M[V].push({el_type:"key",accidentals:z.key.accidentals}));z.meter&&M[V].push(c(z.meter)),!P&&b&&(M[V].push({el_type:"drum",params:{pattern:m,bars:g,on:b,intro:v}}),P=!0),z.clef&&"perc"!==z.clef.type&&z.clef.transpose&&(z.clef.el_type="clef",M[V].push({el_type:"transpose",transpose:z.clef.transpose})),z.clef&&z.clef.type&&(z.clef.type.indexOf("-8")>=0?M[V].push({el_type:"transpose",transpose:-12}):z.clef.type.indexOf("+8")>=0&&M[V].push({el_type:"transpose",transpose:12})),r.formatting.midi&&r.formatting.midi.drumoff&&(M[V].push({el_type:"bar"}),M[V].push({el_type:"drum",params:{pattern:"",on:!1}}));var R=0,G=0,U=0,X=0;S=[105,95,85,1];for(var K=0;K<q.length;K++){var Z=q[K];switch(Z.el_type){case"note":if(N[j]&&(S[0]+=N[j],S[1]+=N[j],S[2]+=N[j],M[V].push({el_type:"beat",beats:S.slice(0)})),C[j]&&(S[0]+=C[j],S[1]+=C[j],S[2]+=C[j],M[V].push({el_type:"beat",beats:S.slice(0)})),O(Z),!Z.rest||"spacer"!==Z.rest.type){var Q={elem:Z,el_type:"note",timing:E[V]};Z.style?Q.style=Z.style:y[V]&&(Q.style=y[V]),Q.duration=0===Z.duration?.25:Z.duration,Z.startTriplet?(G=Z.tripletMultiplier,U=Z.startTriplet*G*Z.duration,Q.duration=Q.duration*G,Q.duration=Math.round(1e6*Q.duration)/1e6,X=Q.duration):G&&(Z.endTriplet?(G=0,Q.duration=Math.round(1e6*(U-X))/1e6):(Q.duration=Q.duration*G,Q.duration=Math.round(1e6*Q.duration)/1e6,X+=Q.duration)),Z.rest&&(Q.rest=Z.rest),Z.decoration&&(Q.decoration=Z.decoration.slice(0)),Z.pitches&&(Q.pitches=i.cloneArray(Z.pitches)),Z.gracenotes&&(Q.gracenotes=i.cloneArray(Z.gracenotes)),Z.chord&&(Q.chord=i.cloneArray(Z.chord)),M[V].push(Q),"rhythm"===Z.style&&(!0,a(M)),R++,E[V]+=Q.duration}break;case"key":"HP"===Z.root?M[V].push({el_type:"key",accidentals:[{acc:"natural",note:"g"},{acc:"sharp",note:"f"},{acc:"sharp",note:"c"}]}):M[V].push({el_type:"key",accidentals:Z.accidentals});break;case"meter":M[V].push(c(Z));break;case"clef":Z.transpose&&M[V].push({el_type:"transpose",transpose:Z.transpose}),Z.type&&(Z.type.indexOf("-8")>=0?M[V].push({el_type:"transpose",transpose:-12}):Z.type.indexOf("+8")>=0&&M[V].push({el_type:"transpose",transpose:12}));break;case"tempo":h=o(Z,r.getBeatLength()),M[V].push({el_type:"tempo",qpm:h,timing:E[V]}),I[""+E[V]]={el_type:"tempo",qpm:h,timing:E[V]};break;case"bar":R>0&&M[V].push({el_type:"bar"}),O(Z),R=0;var J="bar_right_repeat"===Z.type||"bar_dbl_repeat"===Z.type,$="1"===Z.startEnding,ee="bar_left_repeat"===Z.type||"bar_dbl_repeat"===Z.type||"bar_right_repeat"===Z.type;if(J){var te=_[V];te||(te=0);var ne=B[V];ne||(ne=M[V].length);for(var re=te;re<ne;re++){var ie=i.clone(M[V][re]);ie.pitches&&(ie.pitches=i.cloneArray(ie.pitches)),M[V].push(ie)}B[V]=void 0,_[V]=void 0}$&&(B[V]=M[V].length),ee&&(_[V]=M[V].length),!1;break;case"style":y[V]=Z.head;break;case"timeSignature":M[V].push(c(Z));break;case"part":break;case"stem":case"scale":break;case"midi":var ae=!1;switch(Z.cmd){case"drumon":b=!0,ae=!0;break;case"drumoff":b=!1,ae=!0;break;case"drum":m=Z.params,ae=!0;break;case"drumbars":g=Z.params[0],ae=!0;break;case"drummap":break;case"channel":10===Z.params[0]&&M[V].push({el_type:"instrument",program:128});break;case"program":M[V].push({el_type:"instrument",program:Z.params[0]}),p=!0;break;case"transpose":M[V].push({el_type:"transpose",transpose:Z.params[0]});break;case"gchordoff":M[V].push({el_type:"gchord",tacet:!0});break;case"gchordon":M[V].push({el_type:"gchord",tacet:!1});break;case"beat":M[V].push({el_type:"beat",beats:Z.params});break;case"nobeataccents":M[V].push({el_type:"beataccents",value:!1});break;case"beataccents":M[V].push({el_type:"beataccents",value:!0});break;case"vol":M[V].push({el_type:"vol",volume:Z.params[0]});break;case"volinc":M[V].push({el_type:"volinc",volume:Z.params[0]});break;default:console.log("MIDI seq: midi cmd not handled: ",Z.cmd,Z)}ae&&(M[0].push({el_type:"drum",params:{pattern:m,bars:g,intro:v,on:b}}),P=!0);break;default:console.log("MIDI: element type "+Z.el_type+" not handled.")}}E[++V]||(E[V]=0)}}if(function(e,t){for(var n=Object.keys(t),r=0;r<e.length;r++)for(var i=e[r],a=0;a<i.length;a++){var s=i[a];n.indexOf(""+s.timing)>=0&&("tempo"===s.el_type?(s.qpm=t[""+s.timing].qpm,a++):(e[r].splice(a,0,{el_type:"tempo",qpm:t[""+s.timing].qpm,timing:s.timing}),a+=2))}}(M,I),v)for(var se=r.getPickupLength(),oe=0;oe<M.length;oe++){for(var ce=0;"note"!==M[oe][ce].el_type&&M[oe].length>ce;)ce++;if(M[oe].length>ce)for(var le=0;le<v;le++)0===se||le<v-1?M[oe].splice(ce,0,{el_type:"note",rest:{type:"rest"},duration:e},{el_type:"bar"}):M[oe].splice(ce,0,{el_type:"note",rest:{type:"rest"},duration:e-se})}return M.length>0&&M[0].length>0&&(M[0][0].pickupLength=r.getPickupLength()),M}}(),e.exports=r},function(e,t,n){var r,i=n(0);!function(){"use strict";var e,t,n,a,s,o,c,l,h,u,d,f,p,m,g,v,b,y,w,x,k,A,T=1,S={num:4,den:4},M=64,N=48,C=!1,E=!1,I=!0,_=105,B=95,P=85,D=.25,L=0,O={},H=0;function V(e){for(var t=h.length-1;t>=0;t--)if("program"===h[t].cmd)return void(h[t].channel=e)}function F(e){return e/1e6}function z(e){return Math.round(e*T*1e6)/1e6}function j(e){switch(parseInt(e.den,10)){case 2:return.5;case 4:return.25;case 8:return.375;case 16:return.125}return.25}r=function(r,i){i||(i={}),e=[],t=[0,0,0,0,0,0,0],!1,a=[],s=void 0,o=void 0,T=1,c=void 0,l=void 0,h=void 0,u=void 0,d=0,S={num:4,den:4},f=[],p=!1,g=r.length,m=!1,v=[],M=64,N=48,b=void 0,y=void 0,C=!!i.chordsOff,E=!1,I=!0,_=105,B=95,P=85,D=.25,x=void 0,k=void 0,L=0,A=[],!1,O={},r.length>0&&r[0].length>0&&(H=r[0][0].pickupLength),function(e){for(var t=0;t<e.length;t++){for(var n=e[t],r={},i=0,a=0,s=1,o=0;o<n.length;o++){var c=n[o];if("tempo"!==c.el_type){c.time=a;var l=c.duration?c.duration:0;if(a+=Math.round(l*s*1e6),c.pitches){for(var h=0;h<c.pitches.length;h++){var u=c.pitches[h];if(u)if(u.duration=c.duration,u.startTie)void 0===r[u.pitch]?r[u.pitch]={el:o,pitch:h}:(n[r[u.pitch].el].pitches[r[u.pitch].pitch].duration+=u.duration,c.pitches[h]=null);else if(u.endTie){var d=r[u.pitch];if(d){var f=u.duration;delete n[d.el].pitches[d.pitch].startTie,n[d.el].pitches[d.pitch].duration+=f,c.pitches[h]=null,delete r[u.pitch]}else delete u.endTie}}delete c.duration}}else i?s=c.qpm?i/c.qpm:1:i=c.qpm}for(var p in r)if(r.hasOwnProperty(p)){var m=r[p];delete n[m.el].pitches[m.pitch].startTie}}}(r);for(var z=0;z<r.length;z++){n=0,-1;var q=r[z];h=[{cmd:"program",channel:z,instrument:c}],u=void 0,w=0;var Y=!1;(!0===i.voicesOff||i.voicesOff&&i.voicesOff.length&&i.voicesOff.indexOf(z)>=0)&&(Y=!0);for(var W=0;W<q.length;W++){var R=q[W];switch(R.el_type){case"name":u={cmd:"text",type:"name",text:R.trackName};break;case"note":G(R,Y)&&(p=z);break;case"key":t=K(R);break;case"meter":o||(o=R),D=j(S=R);break;case"tempo":s?T=R.qpm?s/R.qpm:1:s=R.qpm;break;case"transpose":n=R.transpose;break;case"bar":f.length>0&&(!1===p||z===p)&&(re(w,F(R.time)),v=[]),e=[],0===z&&ae(r.length+1),E=!1,y=b,w=F(R.time);break;case"bagpipes":!0;break;case"instrument":if(void 0===c&&(c=R.program),l=R.program,h.length>0&&"program"===h[h.length-1].cmd)h[h.length-1].instrument=R.program;else{var U;for(U=h.length-1;U>=0&&"program"!==h[U].cmd;U--);(U<0||h[U].instrument!==R.program)&&h.push({cmd:"program",channel:0,instrument:R.program})}break;case"channel":V(R.channel);break;case"drum":O=ie(R.params);break;case"gchord":i.chordsOff||(C=R.tacet);break;case"beat":_=R.beats[0],B=R.beats[1],P=R.beats[2];break;case"vol":x=R.volume;break;case"volinc":k=R.volume;break;case"beataccents":I=R.value;break;default:console.log("MIDI creation. Unknown el_type: "+R.el_type+"\n")}}void 0===h[0].instrument&&(h[0].instrument=c||0),u&&h.unshift(u),a.push(h),f.length>0&&(m=!0),A.length>0&&!0}return f.length>0&&a.push(f),A.length>0&&a.push(A),{tempo:s,instrument:c,tracks:a,totalDuration:d}};var q=["break","(break)","no chord","n.c.","tacet"];function Y(e,t,n){return(n-e)/t}function W(e){var t=!1,r=function(e){if(C)return"break";if(m||!e.chord||0===e.chord.length)return null;for(var t=0;t<e.chord.length;t++){var n=e.chord[t];if("default"===n.position)return n.name;if(q.indexOf(n.name.toLowerCase())>=0)return"break"}return null}(e);if(r){var i=function(e){if(0===e.length)return;if("break"===e)return{chick:[]};var t=e.substring(0,1);if("("===t){if(0===(e=e.substring(1,e.length-2)).length)return;t=e.substring(0,1)}var r=Q[t];if(!r)return;var i=n;for(;i<-8;)i+=12;for(;i>8;)i-=12;var a,s=(r+=i)-5;1===e.length&&(a=$(r,""));var o=e.substring(1),c=o.substring(0,1);"b"===c||"♭"===c?(r--,s--,o=o.substring(1)):"#"!==c&&"♯"!==c||(r++,s++,o=o.substring(1));var l=o.split("/");if((a=$(r,l[0])).length>=3){var h=a[2]-a[0];s=s+h-7}if(2===l.length){if(Q[l[1].substring(0,1)]){var u={"#":1,"♯":1,b:-1,"♭":-1}[l[1].substring(1)]||0;r=Q[l[1].substring(0,1)]+u+i,s=r}}return{boom:r,boom2:s,chick:a}}(r);if(i){0===f.length&&(t=!0,f.push({cmd:"program",channel:g,instrument:0})),b=i;var a=Y(w,j(S),F(e.time));v.push({chord:b,beat:a,start:F(e.time)})}}return t}function R(e,t){var n=t.start,r=t.duration,i=z(1/32);switch(e){case"trill":for(var a=1;r>0;)h.push({cmd:"note",pitch:t.pitch+a,volume:t.volume,start:n,duration:i,gap:0,instrument:l,style:"decoration"}),a=1===a?0:1,r-=i,n+=i;break;case"mordent":h.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:n,duration:i,gap:0,instrument:l,style:"decoration"}),r-=i,n+=i,h.push({cmd:"note",pitch:t.pitch+1,volume:t.volume,start:n,duration:i,gap:0,instrument:l,style:"decoration"}),r-=i,n+=i,h.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:n,duration:r,gap:0,instrument:l});break;case"lowermordent":h.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:n,duration:i,gap:0,instrument:l,style:"decoration"}),r-=i,n+=i,h.push({cmd:"note",pitch:t.pitch-1,volume:t.volume,start:n,duration:i,gap:0,instrument:l,style:"decoration"}),r-=i,n+=i,h.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:n,duration:r,gap:0,instrument:l});break;case"turn":i=t.duration/5,h.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:n,duration:i,gap:0,instrument:l,style:"decoration"}),h.push({cmd:"note",pitch:t.pitch+1,volume:t.volume,start:n+i,duration:i,gap:0,instrument:l,style:"decoration"}),h.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:n+2*i,duration:i,gap:0,instrument:l,style:"decoration"}),h.push({cmd:"note",pitch:t.pitch+1,volume:t.volume,start:n+3*i,duration:i,gap:0,instrument:l,style:"decoration"}),h.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:n+4*i,duration:i,gap:0,instrument:l});break;case"roll":for(;r>0;)h.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:n,duration:i,gap:0,instrument:l,style:"decoration"}),r-=2*i,n+=2*i}}function G(e,t){h.length;var n,r=function(e,t){if(t)return 0;var n;if(x)n=x,x=void 0;else if(I)if(H>e)n=P;else{S.num,S.den;var r=Y(w,j(S),e);n=0===r?_:parseInt(r,10)===r?B:P}else n=B;return k&&(n+=k,k=void 0),n<0&&(n=0),n>127&&(n=127),t?0:n}(F(e.time),t),a=W(e);if(e.gracenotes&&e.pitches&&e.pitches.length>0&&e.pitches[0]&&(n=function(e,t){for(var n,r=0,i=[],a=0;a<e.length;a++)n=e[a],r+=n.duration;var s=t/2/r;for(a=0;a<e.length;a++){var o=X(n=e[a]);i.push({pitch:o,duration:n.duration*s})}return i}(e.gracenotes,e.pitches[0].duration),e.elem&&(e.elem.midiGraceNotePitches=function(e,t,n,r){var i=[];n=Math.round(n);for(var a=0;a<e.length;a++){var s=e[a];h.push({cmd:"note",pitch:s.pitch,volume:n,start:t,duration:s.duration,gap:0,instrument:r,style:"grace"}),i.push({pitch:s.pitch,durationInMeasures:s.duration,volume:n,instrument:r}),t+=s.duration}return i}(n,F(e.time),2*r/3,l))),e.elem){var o=F(e.time)/D/s*60*1e3;void 0===e.elem.currentTrackMilliseconds?e.elem.currentTrackMilliseconds=o:void 0===e.elem.currentTrackMilliseconds.length?e.elem.currentTrackMilliseconds=[e.elem.currentTrackMilliseconds,o]:e.elem.currentTrackMilliseconds.push(o)}if(e.pitches){var c="",u=function(e,t){var n={};if(e.decoration)for(var r=0;r<e.decoration.length;r++)"staccato"===e.decoration[r]?n.thisBreakBetweenNotes="staccato":"tenuto"===e.decoration[r]?n.thisBreakBetweenNotes="tenuto":"accent"===e.decoration[r]?n.velocity=Math.min(127,1.5*t):"trill"===e.decoration[r]?n.noteModification="trill":"lowermordent"===e.decoration[r]?n.noteModification="lowermordent":"uppermordent"===e.decoration[r]||"mordent"===e.decoration[r]?n.noteModification="mordent":"turn"===e.decoration[r]?n.noteModification="turn":"roll"===e.decoration[r]&&(n.noteModification="roll");return n}(e,r);u.thisBreakBetweenNotes&&(c=u.thisBreakBetweenNotes),u.velocity&&(r=u.velocity);var f=e.pitches;if("rhythm"===e.style&&(E=!0,b&&b.chick)){f=[];for(var p=0;p<b.chick.length;p++){var m=i.clone(e.pitches[0]);m.actualPitch=b.chick[p],f.push(m)}}e.elem&&(e.elem.midiPitches=[]);for(var g=0;g<f.length;g++){var v=f[g];if(v){v.startSlur&&(L+=v.startSlur.length),v.endSlur&&(L-=v.endSlur.length);var y={cmd:"note",pitch:v.actualPitch?v.actualPitch:X(v),volume:r,start:F(e.time),duration:z(v.duration),instrument:l};if(e.gracenotes&&(y.duration=y.duration/2,y.start=y.start+y.duration),e.elem&&e.elem.midiPitches.push(y),u.noteModification)R(u.noteModification,y);else{switch(L>0?y.endType="tenuto":c&&(y.endType=c),y.endType){case"tenuto":y.gap=-.001;break;case"staccato":var A=.4*y.duration;y.gap=s/60*A;break;default:y.gap=0}h.push(y)}}}h.length-1}var T=function(e){return e.pitches&&e.pitches.length>0&&e.pitches[0]?e.pitches[0].duration:e.elem?e.elem.duration:e.duration}(e);return d=Math.max(d,F(e.time)+z(T)),a}var U=[0,2,4,5,7,9,11];function X(r){if(void 0!==r.midipitch)return r.midipitch;var i=r.soundPitch||0===r.soundPitch?r.soundPitch:r.pitch;if(r.accidental)switch(r.accidental){case"sharp":e[i]=1;break;case"flat":e[i]=-1;break;case"natural":e[i]=0;break;case"dblsharp":e[i]=2;break;case"dblflat":e[i]=-2}var a=12*function(e){return Math.floor(e/7)}(i)+U[Z(i)]+60;if(void 0!==e[i]){var s=t[Z(i)],o=e[i],c=0;-1===s?c=o+1:0===s?c=o:1===s&&(c=o-1),a+=s+c}else a+=t[Z(i)];return a+=n}function K(e){var t=[0,0,0,0,0,0,0];if(!e.accidentals)return t;for(var n=0;n<e.accidentals.length;n++){var r=e.accidentals[n],i="sharp"===r.acc?1:"natural"===r.acc?0:-1;t[Z(r.note.toLowerCase().charCodeAt(0)-"c".charCodeAt(0))]+=i}return t}function Z(e){return(e%=7)<0&&(e+=7),e}var Q={A:33,B:35,C:36,D:38,E:40,F:41,G:43};var J={dim:[0,3,6],"°":[0,3,6],"˚":[0,3,6],dim7:[0,3,6,9],"°7":[0,3,6,9],"˚7":[0,3,6,9],"ø7":[0,3,6,10],"m7(b5)":[0,3,6,10],m7b5:[0,3,6,10],"m7♭5":[0,3,6,10],"-7(b5)":[0,3,6,10],"-7b5":[0,3,6,10],"7b5":[0,4,6,10],"7(b5)":[0,4,6,10],"7♭5":[0,4,6,10],"7(b9,b5)":[0,4,6,10,13],"7b9,b5":[0,4,6,10,13],"7(#9,b5)":[0,4,6,10,15],"7#9b5":[0,4,6,10,15],"maj7(b5)":[0,4,6,11],maj7b5:[0,4,6,11],"13(b5)":[0,4,6,10,14,21],"13b5":[0,4,6,10,14,21],m:[0,3,7],"-":[0,3,7],m6:[0,3,7,9],"-6":[0,3,7,9],m7:[0,3,7,10],"-7":[0,3,7,10],"-(b6)":[0,3,7,8],"-b6":[0,3,7,8],"-6/9":[0,3,7,9,14],"-7(b9)":[0,3,7,10,13],"-7b9":[0,3,7,10,13],"-maj7":[0,3,7,11],"-9+7":[0,3,7,11,13],"-11":[0,3,7,11,14,17],m11:[0,3,7,11,14,17],"-maj9":[0,3,7,11,14],"-∆9":[0,3,7,11,14],mM9:[0,3,7,11,14],M:[0,4,7],6:[0,4,7,9],"6/9":[0,4,7,9,14],"6add9":[0,4,7,9,14],69:[0,4,7,9,14],7:[0,4,7,10],9:[0,4,7,10,14],11:[0,7,10,14,17],13:[0,4,7,10,14,21],"7b9":[0,4,7,10,13],"7♭9":[0,4,7,10,13],"7(b9)":[0,4,7,10,13],"7(#9)":[0,4,7,10,15],"7#9":[0,4,7,10,15],"(13)":[0,4,7,10,14,21],"7(9,13)":[0,4,7,10,14,21],"7(#9,b13)":[0,4,7,10,15,20],"7(#11)":[0,4,7,10,14,18],"7#11":[0,4,7,10,14,18],"7(b13)":[0,4,7,10,20],"7b13":[0,4,7,10,20],"9(#11)":[0,4,7,10,14,18],"9#11":[0,4,7,10,14,18],"13(#11)":[0,4,7,10,18,21],"13#11":[0,4,7,10,18,21],maj7:[0,4,7,11],"∆7":[0,4,7,11],"Δ7":[0,4,7,11],maj9:[0,4,7,11,14],"maj7(9)":[0,4,7,11,14],"maj7(11)":[0,4,7,11,17],"maj7(#11)":[0,4,7,11,18],"maj7(13)":[0,4,7,14,21],"maj7(9,13)":[0,4,7,11,14,21],"7sus4":[0,5,7,10],m7sus4:[0,3,7,10,17],sus4:[0,5,7],sus2:[0,2,7],"7sus2":[0,2,7,10],"9sus4":[0,5,7,10,14],"13sus4":[0,5,7,10,14,21],aug7:[0,4,8,10],"+7":[0,4,8,10],"+":[0,4,8],"7#5":[0,4,8,10],"7♯5":[0,4,8,10],"7+5":[0,4,8,10],"9#5":[0,4,8,10,14],"9♯5":[0,4,8,10,14],"9+5":[0,4,8,10,14],"-7(#5)":[0,3,8,10],"-7#5":[0,3,8,10],"7(#5)":[0,4,8,10],"7(b9,#5)":[0,4,8,10,13],"7b9#5":[0,4,8,10,13],"maj7(#5)":[0,4,8,11],"maj7#5":[0,4,8,11],"maj7(#5,#11)":[0,4,8,11,18],"maj7#5#11":[0,4,8,11,18],"9(#5)":[0,4,8,10,14],"13(#5)":[0,4,8,10,14,21],"13#5":[0,4,8,10,14,21]};function $(e,t){var n=J[t];n||(n="ma"===t.slice(0,2).toLowerCase()||"M"===t.charAt(0)?J.M:"m"===t.charAt(0)||"-"===t.charAt(0)?J.m:J.M),e+=12;for(var r=[],i=0;i<n.length;i++)r.push(e+n[i]);return r}function ee(e,t,n,r,i){void 0!==e&&f.push({cmd:"note",pitch:e,volume:n,start:w+r*z(t),duration:z(i),gap:0,instrument:0})}function te(e,t,n,r,i){for(var a=0;a<e.length;a++)f.push({cmd:"note",pitch:e[a],volume:n,start:w+r*z(t),duration:z(i),gap:0,instrument:0})}var ne={"2/2":["boom","chick"],"2/4":["boom","chick"],"3/4":["boom","chick","chick"],"4/4":["boom","chick","boom2","chick"],"5/4":["boom","chick","chick","boom2","chick"],"6/8":["boom","","chick","boom2","","chick"],"9/8":["boom","","chick","boom2","","chick","boom2","","chick"],"12/8":["boom","","chick","boom2","","chick","boom","","chick","boom2","","chick"]};function re(e,t){var n=S.num,r=S.den,i=1/r,a=i/2,s=ne[n+"/"+r],o=parseInt(n,10)/parseInt(r,10)-(t-e)/T;if(Math.abs(o)<1e-5&&(o=!1),!s||o){s=[];for(var c=(t-e)/T/i,l=0;l<c;l++)s.push("chick")}if(0===v.length&&v.push({beat:0,chord:b}),0!==v[0].beat&&b&&y&&v.unshift({beat:0,chord:y}),1!==v.length){for(var h=.125===i?3:1,u={},d=0;d<v.length;d++){var f=v[d];u[""+Math.round(f.beat*h)]=f}for(var p=0;p<s.length;p++){var m,g;if(u[""+p]&&(m=u[""+p]),!E&&m)switch(s[p]){case"boom":u[""+(p+1)]?te(m.chord.chick,i,N,p,a):(ee(m.chord.boom,i,M,p,a),g=m.chord.boom);break;case"boom2":u[""+(p+1)]?te(m.chord.chick,i,N,p,a):g===m.chord.boom?(ee(m.chord.boom2,i,M,p,a),g=void 0):(ee(m.chord.boom,i,M,p,a),g=m.chord.boom);break;case"chick":te(m.chord.chick,i,N,p,a);break;case"":u[""+p]&&te(m.chord.chick,i,N,p,a)}}}else for(var w=v[0].beat;w<s.length;w++)if(!E)switch(s[w]){case"boom":ee(v[0].chord.boom,i,M,w,a);break;case"boom2":ee(v[0].chord.boom2,i,M,w,a);break;case"chick":te(v[0].chord.chick,i,N,w,a)}}function ie(e){if(0===e.pattern.length||!1===e.on)return{on:!1};for(var t=e.pattern[0],n=[],r="",i=0,a=0;a<t.length;a++)if("d"===t[a]&&i++,"d"===t[a]||"z"===t[a])0!==r.length?(n.push(r),r=t[a]):r+=t[a];else{if(0===r.length)return{on:!1};r+=t[a]}if(0!==r.length&&n.push(r),e.pattern.length!==2*i+1)return{on:!1};for(var s={on:!0,bars:e.bars,pattern:[]},o=j(S),c=0,l=0;l<n.length;l++){r=n[l];for(var h=1,u=!1,d=0,f=1;f<r.length;f++)switch(r[f]){case"/":0!==d&&(h*=d),d=0,u=!0;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":d=10*d+r[f];break;default:return{on:!1}}u?(0===d&&(d=2),h/=d):d&&(h*=d),"d"===r[0]?(s.pattern.push({len:h*o,pitch:e.pattern[1+c],velocity:e.pattern[1+c+i]}),c++):s.pattern.push({len:h*o,pitch:null})}for(var p=0,m=S.num/S.den,g=0;g<s.pattern.length;g++)p+=s.pattern[g].len;var v=p/(e.bars?e.bars:1)/m;for(g=0;g<s.pattern.length;g++)s.pattern[g].len=s.pattern[g].len/v;return s}function ae(e){if(0!==A.length||O.on){var t=S.num/S.den;if(0===A.length){if(d<t)return;A.push({cmd:"program",channel:e,instrument:128})}if(O.on)for(var n=w,r=0;r<O.pattern.length;r++){var i=z(O.pattern[r].len);O.pattern[r].pitch&&A.push({cmd:"note",pitch:O.pattern[r].pitch,volume:O.pattern[r].velocity,start:n,duration:i,gap:0,instrument:128}),n+=i}}}}(),e.exports=r},function(e,t,n){var r=n(11),i=n(0);e.exports=function(e){var t=this;this.reset=function(){e.version="1.1.0",e.media="screen",e.metaText={},e.formatting={},e.lines=[],e.staffNum=0,e.voiceNum=0,e.lineNum=0,e.runningFonts={},delete e.visualTranspose},this.setVisualTranspose=function(t){t&&(e.visualTranspose=t)},this.resolveOverlays=function(){for(var t=!1,n=[],r=0;r<e.lines.length;r++){var a=e.lines[r];if(a.staff)for(var s=0;s<a.staff.length;s++){for(var o=a.staff[s],c=[],l=0;l<o.voices.length;l++){var h=o.voices[l];c.push({hasOverlay:!1,voice:[],snip:[]}),n[r]=0;for(var u=0,d=!1,f=0,p=-1,m=0;m<h.length;m++){var g=h[m];if("overlay"!==g.el_type||d)"bar"===g.el_type?(d?(d=!1,c[l].snip.push({start:p,len:m-p}),c[l].voice.push(g)):(u>0&&c[l].voice.push({el_type:"note",duration:u,rest:{type:"invisible"},startChar:g.startChar,endChar:g.endChar}),c[l].voice.push(g)),u=0):"note"===g.el_type?d?c[l].voice.push(g):(u+=g.duration,n[r]+=g.duration):"scale"!==g.el_type&&"stem"!==g.el_type&&"overlay"!==g.el_type&&"style"!==g.el_type&&"transpose"!==g.el_type||c[l].voice.push(g);else{t=!0,d=!0,p=m,c[l].hasOverlay=!0,0===f&&(f=n[r]);for(var v=0;v<r;v++)n[v]&&e.lines[v].staff&&o.voices.length>=e.lines[v].staff[0].voices.length&&e.lines[v].staff[0].voices.push([{el_type:"note",duration:n[v],rest:{type:"invisible"},startChar:g.startChar,endChar:g.endChar}])}}c[l].hasOverlay&&0===c[l].snip.length&&c[l].snip.push({start:p,len:h.length-p})}for(l=0;l<c.length;l++){var b=c[l];if(b.hasOverlay){o.voices.push(b.voice);for(var y=b.snip.length-1;y>=0;y--){var w=b.snip[y];o.voices[l].splice(w.start,w.len)}for(y=0;y<o.voices[o.voices.length-1].length;y++){o.voices[o.voices.length-1][y]=i.clone(o.voices[o.voices.length-1][y]);var x=o.voices[o.voices.length-1][y];"bar"===x.el_type&&x.startEnding&&delete x.startEnding,"bar"===x.el_type&&x.endEnding&&delete x.endEnding}}}}}return t},this.cleanUp=function(t,n,a,s,o){this.closeLine(),delete e.runningFonts,e.metaText.tempo&&e.metaText.tempo.bpm&&!e.metaText.tempo.duration&&(e.metaText.tempo.duration=[e.getBeatLength()]);var c,l,h,u=!1;for(c=0;c<e.lines.length;c++)if(void 0!==e.lines[c].staff){var d=!1;for(l=0;l<e.lines[c].staff.length;l++)if(void 0===e.lines[c].staff[l])u=!0,e.lines[c].staff[l]=null;else for(h=0;h<e.lines[c].staff[l].voices.length;h++)void 0===e.lines[c].staff[l].voices[h]?e.lines[c].staff[l].voices[h]=[]:this.containsNotes(e.lines[c].staff[l].voices[h])&&(d=!0);d||(e.lines[c]=null,u=!0)}if(u&&(e.lines=i.compact(e.lines),i.each(e.lines,(function(e){e.staff&&(e.staff=i.compact(e.staff))}))),a)for(;g(e.lines,a););if(s){for(u=!1,c=0;c<e.lines.length;c++)if(void 0!==e.lines[c].staff)for(l=0;l<e.lines[c].staff.length;l++){var f=!1;for(h=0;h<e.lines[c].staff[l].voices.length;h++)this.containsNotesStrict(e.lines[c].staff[l].voices[h])&&(f=!0);f||(u=!0,e.lines[c].staff[l]=null)}u&&i.each(e.lines,(function(e){e.staff&&(e.staff=i.compact(e.staff))}))}for(function(e){for(var t=!0,n=0;n<e.length;n++){var r=e[n];if(r.staff){for(var i=0;i<r.staff.length;i++){var a=r.staff[i];if(a.title){for(var s=!1,o=0;o<a.title.length;o++)a.title[o]?(a.title[o]=t?a.title[o].name:a.title[o].subname,a.title[o]?s=!0:a.title[o]=""):a.title[o]="";s||delete a.title}}t=!1}}}(e.lines),c=0;c<e.lines.length;c++)if(e.lines[c].staff)for(l=0;l<e.lines[c].staff.length;l++)delete e.lines[c].staff[l].workingClef;for(;this.resolveOverlays(););function p(e){for(var t,n=function(e,n,r){if(void 0===o[r]){for(t=0;t<o.length;t++)if(void 0!==o[t]){r=t;break}if(void 0===o[r]){var a=100*r+1;i.each(e.endSlur,(function(e){a===e&&--a})),o[r]=[a]}}for(var s,c=0;c<n;c++)s=o[r].pop(),e.endSlur.push(s);return 0===o[r].length&&delete o[r],s},r=function(e,t,n,r){e.startSlur=[],void 0===o[n]&&(o[n]=[]);for(var a=100*n+1,s=0;s<t;s++)r&&(i.each(r,(function(e){a===e&&++a})),i.each(r,(function(e){a===e&&++a})),i.each(r,(function(e){a===e&&++a}))),i.each(o[n],(function(e){a===e&&++a})),i.each(o[n],(function(e){a===e&&++a})),o[n].push(a),e.startSlur.push({label:a}),e.dottedSlur&&(e.startSlur[e.startSlur.length-1].style="dotted",delete e.dottedSlur),a++},a=0;a<e.length;a++){var s=e[a];if("note"===s.el_type){if(s.gracenotes)for(var c=0;c<s.gracenotes.length;c++){if(s.gracenotes[c].endSlur){var l=s.gracenotes[c].endSlur;s.gracenotes[c].endSlur=[];for(var h=0;h<l;h++)n(s.gracenotes[c],1,20)}s.gracenotes[c].startSlur&&(t=s.gracenotes[c].startSlur,r(s.gracenotes[c],t,20))}if(s.endSlur&&(t=s.endSlur,s.endSlur=[],n(s,t,0)),s.startSlur&&r(s,t=s.startSlur,0),s.pitches){for(var u=[],d=0;d<s.pitches.length;d++)if(s.pitches[d].endSlur){var f=s.pitches[d].endSlur;s.pitches[d].endSlur=[];for(var p=0;p<f;p++){var m=n(s.pitches[d],1,d+1);u.push(m)}}for(d=0;d<s.pitches.length;d++)s.pitches[d].startSlur&&(t=s.pitches[d].startSlur,r(s.pitches[d],t,d+1,u));s.gracenotes&&s.pitches[0].endSlur&&100===s.pitches[0].endSlur[0]&&s.pitches[0].startSlur&&(s.gracenotes[0].endSlur?s.gracenotes[0].endSlur.push(s.pitches[0].startSlur[0].label):s.gracenotes[0].endSlur=[s.pitches[0].startSlur[0].label],1===s.pitches[0].endSlur.length?delete s.pitches[0].endSlur:100===s.pitches[0].endSlur[0]?s.pitches[0].endSlur.shift():100===s.pitches[0].endSlur[s.pitches[0].endSlur.length-1]&&s.pitches[0].endSlur.pop(),1===o[1].length?delete o[1]:o[1].pop())}}}}function m(e){r.fixClef(e)}function g(e,t){for(c=0;c<e.length;c++)if(void 0!==e[c].staff)for(l=0;l<e[c].staff.length;l++){var n=[];for(h=0;h<e[c].staff[l].voices.length;h++)for(var r=e[c].staff[l].voices[h],a=0,s=0;s<r.length;s++)if("bar"===r[s].el_type){if(++a>=t&&s<r.length-1){var o=v(e,c);if(!o){var u=JSON.parse(JSON.stringify(e[c]));e.push(i.clone(u)),o=e[e.length-1];for(var d=0;d<o.staff.length;d++)for(var f=0;f<o.staff[d].voices.length;f++)o.staff[d].voices[f]=[]}var p=s+1,m=e[c].staff[l].voices[h].slice(p);return e[c].staff[l].voices[h]=e[c].staff[l].voices[h].slice(0,p),o.staff[l].voices[h]=n.concat(m.concat(o.staff[l].voices[h])),!0}}else r[s].duration||n.push(r[s])}return!1}function v(e,t){for(t++;e.length>t;){if(e[t].staff)return e[t];t++}return null}for(e.lineNum=0;e.lineNum<e.lines.length;e.lineNum++){var b=e.lines[e.lineNum].staff;if(b)for(e.staffNum=0;e.staffNum<b.length;e.staffNum++)for(b[e.staffNum].clef&&m(b[e.staffNum].clef),e.voiceNum=0;e.voiceNum<b[e.staffNum].voices.length;e.voiceNum++){var y=b[e.staffNum].voices[e.voiceNum];p(y);for(var w=0;w<y.length;w++)"clef"===y[w].el_type&&m(y[w]);if(y.length>0&&y[y.length-1].barNumber){var x=v(e.lines,e.lineNum);x&&(x.staff[0].barNumber=y[y.length-1].barNumber),delete y[y.length-1].barNumber}}}return e.formatting.pagewidth||(e.formatting.pagewidth=t),e.formatting.pageheight||(e.formatting.pageheight=n),delete e.staffNum,delete e.voiceNum,delete e.lineNum,delete e.potentialStartBeam,delete e.potentialEndBeam,delete e.vskipPending,o},this.reset(),this.getLastNote=function(){if(e.lines[e.lineNum]&&e.lines[e.lineNum].staff&&e.lines[e.lineNum].staff[e.staffNum]&&e.lines[e.lineNum].staff[e.staffNum].voices[e.voiceNum])for(var t=e.lines[e.lineNum].staff[e.staffNum].voices[e.voiceNum].length-1;t>=0;t--){var n=e.lines[e.lineNum].staff[e.staffNum].voices[e.voiceNum][t];if("note"===n.el_type)return n}return null},this.addTieToLastNote=function(e){var t=this.getLastNote();return!!(t&&t.pitches&&t.pitches.length>0)&&(t.pitches[0].startTie={},e&&(t.pitches[0].startTie.style="dotted"),!0)},this.getDuration=function(e){return e.duration?e.duration:0},this.closeLine=function(){e.potentialStartBeam&&e.potentialEndBeam&&(e.potentialStartBeam.startBeam=!0,e.potentialEndBeam.endBeam=!0),delete e.potentialStartBeam,delete e.potentialEndBeam},this.appendElement=function(n,r,a,s){var o=e;s.el_type=n,null!==r&&(s.startChar=r),null!==a&&(s.endChar=a);var c=function(){void 0!==o.potentialStartBeam&&void 0!==o.potentialEndBeam&&(o.potentialStartBeam.startBeam=!0,o.potentialEndBeam.endBeam=!0),delete o.potentialStartBeam,delete o.potentialEndBeam};"note"===n?t.getDuration(s)>=.25||s.force_end_beam_last&&void 0!==o.potentialStartBeam?c():s.end_beam&&void 0!==o.potentialStartBeam?void 0===s.rest?(o.potentialStartBeam.startBeam=!0,s.endBeam=!0,delete o.potentialStartBeam,delete o.potentialEndBeam):c():void 0===s.rest&&(void 0===o.potentialStartBeam?s.end_beam||(o.potentialStartBeam=s,delete o.potentialEndBeam):o.potentialEndBeam=s):c();delete s.end_beam,delete s.force_end_beam_last,function(e){var t=o.lines[o.lineNum].staff[o.staffNum];if(t){if(void 0!==e.pitches){var n=t.workingClef.verticalPos;i.each(e.pitches,(function(e){e.verticalPos=e.pitch-n}))}if(void 0!==e.gracenotes){var r=t.workingClef.verticalPos;i.each(e.gracenotes,(function(e){e.verticalPos=e.pitch-r}))}t.voices[o.voiceNum].push(e)}}(s)},this.appendStartingElement=function(t,n,r,a){var s;this.closeLine(),"key"===t&&(s=a.impliedNaturals,delete a.impliedNaturals,delete a.explicitAccidentals);var o=i.clone(a);if(e.lines[e.lineNum].staff){e.lines[e.lineNum].staff.length<=e.staffNum&&(e.lines[e.lineNum].staff[e.staffNum]={},e.lines[e.lineNum].staff[e.staffNum].clef=i.clone(e.lines[e.lineNum].staff[0].clef),e.lines[e.lineNum].staff[e.staffNum].key=i.clone(e.lines[e.lineNum].staff[0].key),e.lines[e.lineNum].staff[0].meter&&(e.lines[e.lineNum].staff[e.staffNum].meter=i.clone(e.lines[e.lineNum].staff[0].meter)),e.lines[e.lineNum].staff[e.staffNum].workingClef=i.clone(e.lines[e.lineNum].staff[0].workingClef),e.lines[e.lineNum].staff[e.staffNum].voices=[[]]),"clef"===t&&(e.lines[e.lineNum].staff[e.staffNum].workingClef=o);for(var c=e.lines[e.lineNum].staff[e.staffNum].voices[e.voiceNum],l=0;l<c.length;l++){if("note"===c[l].el_type||"bar"===c[l].el_type)return o.el_type=t,o.startChar=n,o.endChar=r,s&&(o.accidentals=s.concat(o.accidentals)),void c.push(o);if(c[l].el_type===t)return o.el_type=t,o.startChar=n,o.endChar=r,s&&(o.accidentals=s.concat(o.accidentals)),void(c[l]=o)}e.lines[e.lineNum].staff[e.staffNum][t]=a}},this.getNumLines=function(){return e.lines.length},this.pushLine=function(t){e.vskipPending&&(t.vskip=e.vskipPending,delete e.vskipPending),e.lines.push(t)},this.addSubtitle=function(e){this.pushLine({subtitle:e})},this.addSpacing=function(t){e.vskipPending=t},this.addNewPage=function(e){this.pushLine({newpage:e})},this.addSeparator=function(e,t,n){this.pushLine({separator:{spaceAbove:Math.round(e),spaceBelow:Math.round(t),lineLength:Math.round(n)}})},this.addText=function(e){this.pushLine({text:e})},this.addCentered=function(e){this.pushLine({text:[{text:e,center:!0}]})},this.containsNotes=function(e){for(var t=0;t<e.length;t++)if("note"===e[t].el_type||"bar"===e[t].el_type)return!0;return!1},this.containsNotesStrict=function(e){for(var t=0;t<e.length;t++)if("note"===e[t].el_type&&void 0===e[t].rest)return!0;return!1},this.changeVoiceScale=function(e){t.appendElement("scale",null,null,{size:e})},this.startNewLine=function(n){var r=e;this.closeLine();var i=function(e){var n=r.lines[r.lineNum].staff[r.staffNum];if(n.voices[r.voiceNum]=[],n.title||(n.title=[]),n.title[r.voiceNum]={name:e.name,subname:e.subname},e.style&&t.appendElement("style",null,null,{head:e.style}),e.stem)t.appendElement("stem",null,null,{direction:e.stem});else if(r.voiceNum>0){if(void 0!==n.voices[0]){for(var i=!1,a=0;a<n.voices[0].length;a++)"stem"===n.voices[0].el_type&&(i=!0);if(!i){n.voices[0].splice(0,0,{el_type:"stem",direction:"up"})}}t.appendElement("stem",null,null,{direction:"down"})}e.scale&&t.appendElement("scale",null,null,{size:e.scale})},a=function(e){e.key&&e.key.impliedNaturals&&(e.key.accidentals=e.key.accidentals.concat(e.key.impliedNaturals),delete e.key.impliedNaturals),r.lines[r.lineNum].staff[r.staffNum]={voices:[],clef:e.clef,key:e.key,workingClef:e.clef},void 0!==e.stafflines&&(r.lines[r.lineNum].staff[r.staffNum].clef.stafflines=e.stafflines,r.lines[r.lineNum].staff[r.staffNum].workingClef.stafflines=e.stafflines),e.staffscale&&(r.lines[r.lineNum].staff[r.staffNum].staffscale=e.staffscale),e.annotationfont&&t.setLineFont("annotationfont",e.annotationfont),e.gchordfont&&t.setLineFont("gchordfont",e.gchordfont),e.tripletfont&&t.setLineFont("tripletfont",e.tripletfont),e.vocalfont&&t.setLineFont("vocalfont",e.vocalfont),e.bracket&&(r.lines[r.lineNum].staff[r.staffNum].bracket=e.bracket),e.brace&&(r.lines[r.lineNum].staff[r.staffNum].brace=e.brace),e.connectBarLines&&(r.lines[r.lineNum].staff[r.staffNum].connectBarLines=e.connectBarLines),e.barNumber&&(r.lines[r.lineNum].staff[r.staffNum].barNumber=e.barNumber),i(e),e.part&&t.appendElement("part",e.part.startChar,e.part.endChar,{title:e.part.title}),void 0!==e.meter&&(r.lines[r.lineNum].staff[r.staffNum].meter=e.meter),r.vskipPending&&(r.lines[r.lineNum].vskip=r.vskipPending,delete r.vskipPending)};if(void 0===e.lines[e.lineNum])!function(e){r.lines[r.lineNum]={staff:[]},a(e)}(n);else if(void 0===e.lines[e.lineNum].staff)e.lineNum++,this.startNewLine(n);else if(void 0===e.lines[e.lineNum].staff[e.staffNum])a(n);else if(void 0===e.lines[e.lineNum].staff[e.staffNum].voices[e.voiceNum])i(n);else{if(!this.containsNotes(e.lines[e.lineNum].staff[e.staffNum].voices[e.voiceNum]))return;e.lineNum++,this.startNewLine(n)}},this.setRunningFont=function(t,n){e.runningFonts[t]=n},this.setLineFont=function(t,n){if(e.runningFonts[t]){for(var r=!1,i=Object.keys(n),a=0;a<i.length;a++)e.runningFonts[t][i[a]]!==n[i[a]]&&(r=!0);r&&(e.lines[e.lineNum].staff[e.staffNum][t]=n)}e.runningFonts[t]=n},this.setBarNumberImmediate=function(e){var t=this.getCurrentVoice();if(t&&t.length>0){var n=t[t.length-1];if("bar"!==n.el_type)return e-1;void 0!==n.barNumber&&(n.barNumber=e)}return e},this.hasBeginMusic=function(){for(var t=0;t<e.lines.length;t++)if(e.lines[t].staff)return!0;return!1},this.isFirstLine=function(t){for(var n=t-1;n>=0;n--)if(void 0!==e.lines[n].staff)return!1;return!0},this.getCurrentVoice=function(){var t=e.lines[e.lineNum];if(!t)return null;var n=t.staff[e.staffNum];return n&&void 0!==n.voices[e.voiceNum]?n.voices[e.voiceNum]:null},this.setCurrentVoice=function(t,n){e.staffNum=t,e.voiceNum=n;for(var r=0;r<e.lines.length;r++)if(e.lines[r].staff&&(void 0===e.lines[r].staff[t]||void 0===e.lines[r].staff[t].voices[n]||!this.containsNotes(e.lines[r].staff[t].voices[n])))return void(e.lineNum=r);e.lineNum=r},this.addMetaText=function(t,n){void 0===e.metaText[t]?e.metaText[t]=n:e.metaText[t]+="\n"+n},this.addMetaTextArray=function(t,n){void 0===e.metaText[t]?e.metaText[t]=[n]:e.metaText[t].push(n)},this.addMetaTextObj=function(t,n){e.metaText[t]=n}}},function(e,t,n){var r=n(0);e.exports=function(e){"use strict";for(var t="",n=(e=r.strip(e)).split("\nX:"),i=1;i<n.length;i++)n[i]="X:"+n[i];var a=0,s=[];if(r.each(n,(function(e){s.push({abc:e,startPos:a}),a+=e.length+1})),s.length>1&&!r.startsWith(s[0].abc,"X:")){var o=s.shift().abc.split("\n");r.each(o,(function(e){r.startsWith(e,"%%")&&(t+=e+"\n")}))}var c=t;return r.each(s,(function(e){var n=e.abc.indexOf("\n\n");n>0&&(e.abc=e.abc.substring(0,n)),e.pure=e.abc,e.abc=t+e.abc,e.title="";var i=e.pure.split("T:");i.length>1&&(i=i[1].split("\n"),e.title=r.strip(i[0]));var a=e.pure.substring(2,e.pure.indexOf("\n"));e.id=r.strip(a)})),{header:c,tunes:s}}},function(e,t,n){var r=n(1),i=n(38),a=n(54),s=n(56),o=n(57),c=n(58),l=n(59),h=n(60),u=n(61),d=n(62),f=n(70),p=n(71),m=n(72),g=n(73),v=n(20),b=function(e,t){t=t||{},this.selectionColor=t.selectionColor,this.dragColor=t.dragColor?t.dragColor:t.selectionColor,this.dragging=!!t.dragging,this.selectTypes=t.selectTypes,this.responsive=t.responsive,this.space=3*r.SPACE,this.scale=t.scale?parseFloat(t.scale):0,this.classes=new f({shouldAddClasses:t.add_classes}),this.scale>.1||(this.scale=void 0),t.staffwidth?(this.staffwidthScreen=t.staffwidth,this.staffwidthPrint=t.staffwidth):(this.staffwidthScreen=740,this.staffwidthPrint=680),this.listeners=[],t.clickListener&&this.addSelectListener(t.clickListener),this.renderer=new a(e,t.regression),this.renderer.setPaddingOverride(t),t.showDebug&&(this.renderer.showDebug=t.showDebug),this.renderer.controller=this,this.reset()};b.prototype.reset=function(){this.selected=[],this.staffgroups=[],this.engraver&&this.engraver.reset(),this.engraver=null,this.renderer.reset(),this.dragTarget=null,this.dragIndex=-1,this.dragMouseStart={x:-1,y:-1},this.dragYStep=0},b.prototype.engraveABC=function(e,t){void 0===e[0]&&(e=[e]),this.reset();for(var n=0;n<e.length;n++)void 0===t&&(t=n),this.getFontAndAttr=new p(e[n].formatting,this.classes),this.getTextSize=new m(this.getFontAndAttr,this.renderer.paper),this.engraveTune(e[n],t)},b.prototype.adjustNonScaledItems=function(e){this.width/=e,this.renderer.adjustNonScaledItems(e)},b.prototype.getMeasureWidths=function(e){this.reset(),this.getFontAndAttr=new p(e.formatting,this.classes),this.getTextSize=new m(this.getFontAndAttr,this.renderer.paper),this.setupTune(e,0),this.constructTuneElements(e);d(this.renderer,e,0,this.space);var t={left:0,measureWidths:[],height:0,total:0};t.height=this.renderer.padding.top+this.renderer.spacing.music+this.renderer.padding.bottom+24;for(var n=0;n<e.lines.length;n++){var i=e.lines[n];if(i.staff){if(i.staffGroup.voices.length>0)for(var a=i.staffGroup.voices[0],s=!1,o=0,c=0;c<a.children.length;c++){var l=a.children[c];s||l.isClef||l.isKeySig||(s=!0,t.left=l.x,o=l.x),"bar"===l.type&&(t.measureWidths.push(l.x-o),t.total+=l.x-o,o=l.x)}t.height+=v(i.staffGroup)*r.STEP}}return t},b.prototype.setupTune=function(e,t){this.classes.reset(),this.renderer.newTune(e),this.engraver=new i(this.getTextSize,t,{bagpipes:e.formatting.bagpipes,flatbeams:e.formatting.flatbeams,graceSlurs:!1!==e.formatting.graceSlurs}),this.engraver.setStemHeight(this.renderer.spacing.stemHeight),this.engraver.measureLength=e.getMeterFraction().num/e.getMeterFraction().den,e.formatting.staffwidth?this.width=1.33*e.formatting.staffwidth:this.width=this.renderer.isPrint?this.staffwidthPrint:this.staffwidthScreen;var n=e.formatting.scale?e.formatting.scale:this.scale;return"resize"===this.responsive&&(n=void 0),void 0===n&&(n=this.renderer.isPrint?.75:1),this.adjustNonScaledItems(n),n},b.prototype.constructTuneElements=function(e){var t,n;e.topText=new l(e.metaText,e.formatting,e.lines,this.width,this.renderer.isPrint,this.renderer.padding.left,this.renderer.spacing,this.getTextSize);var r=!1,i=!1;for(t=0;t<e.lines.length;t++)if((n=e.lines[t]).staff)i=!0,n.staffGroup=this.engraver.createABCLine(n.staff,r?null:e.metaText.tempo,this.getTextSize),r=!0;else if(n.subtitle){if(i){var a=this.width/2+this.renderer.padding.left;n.nonMusic=new c(this.renderer.spacing.subtitle,e.formatting,n.subtitle,a,this.renderer.padding.left,this.getTextSize)}}else void 0!==n.text?(i=!0,n.nonMusic=new s(n.text,n.vskip,this.getFontAndAttr,this.renderer.padding.left,this.width,this.getTextSize)):void 0!==n.separator&&n.separator.lineLength&&(i=!0,n.nonMusic=new o(n.separator.spaceAbove,n.separator.lineLength,n.separator.spaceBelow));e.bottomText=new h(e.metaText,this.width,this.renderer.isPrint,this.renderer.padding.left,this.renderer.spacing,this.getTextSize)},b.prototype.engraveTune=function(e,t){var n=this.setupTune(e,t);this.constructTuneElements(e);var r=d(this.renderer,e,this.width,this.space),i=g(this.renderer,this.classes,e,this.width,r,this.responsive,n,this.selectTypes,t);this.staffgroups=i.staffgroups,this.selectables=i.selectables,u(this)},b.prototype.getDim=function(e){if(!e.dim){var t=e.svgEl.getBBox();e.dim={left:Math.round(t.x),top:Math.round(t.y),right:Math.round(t.x+t.width),bottom:Math.round(t.y+t.height)}}return e.dim},b.prototype.addSelectListener=function(e){this.listeners[this.listeners.length]=e},e.exports=b},function(e,t,n){var r,i=n(6),a=n(39),s=n(40),o=n(41),c=n(42),l=n(43),h=n(44),u=n(45),d=n(48),f=n(5),p=n(2),m=n(1),g=n(49),v=n(50),b=n(19),y=n(51),w=n(52),x=n(53),k=n(0);!function(){"use strict";var e=function(e){var t=0;return e.duration&&(t=e.duration),t},t=!1,n={rest:{0:"rests.whole",1:"rests.half",2:"rests.quarter",3:"rests.8th",4:"rests.16th",5:"rests.32nd",6:"rests.64th",7:"rests.128th",multi:"rests.multimeasure"},note:{"-1":"noteheads.dbl",0:"noteheads.whole",1:"noteheads.half",2:"noteheads.quarter",3:"noteheads.quarter",4:"noteheads.quarter",5:"noteheads.quarter",6:"noteheads.quarter",7:"noteheads.quarter",nostem:"noteheads.quarter"},rhythm:{"-1":"noteheads.slash.whole",0:"noteheads.slash.whole",1:"noteheads.slash.whole",2:"noteheads.slash.quarter",3:"noteheads.slash.quarter",4:"noteheads.slash.quarter",5:"noteheads.slash.quarter",6:"noteheads.slash.quarter",7:"noteheads.slash.quarter",nostem:"noteheads.slash.nostem"},x:{"-1":"noteheads.indeterminate",0:"noteheads.indeterminate",1:"noteheads.indeterminate",2:"noteheads.indeterminate",3:"noteheads.indeterminate",4:"noteheads.indeterminate",5:"noteheads.indeterminate",6:"noteheads.indeterminate",7:"noteheads.indeterminate",nostem:"noteheads.indeterminate"},harmonic:{"-1":"noteheads.harmonic.quarter",0:"noteheads.harmonic.quarter",1:"noteheads.harmonic.quarter",2:"noteheads.harmonic.quarter",3:"noteheads.harmonic.quarter",4:"noteheads.harmonic.quarter",5:"noteheads.harmonic.quarter",6:"noteheads.harmonic.quarter",7:"noteheads.harmonic.quarter",nostem:"noteheads.harmonic.quarter"},uflags:{3:"flags.u8th",4:"flags.u16th",5:"flags.u32nd",6:"flags.u64th"},dflags:{3:"flags.d8th",4:"flags.d16th",5:"flags.d32nd",6:"flags.d64th"}};function A(e,t){var n=e[t];if("note"!==n.el_type||!n.startBeam||n.endBeam)return{count:1,elem:n};for(var r=[];t<e.length&&"note"===e[t].el_type&&(r.push(e[t]),!e[t].endBeam);)t++;return{count:r.length,elem:r}}function T(e){if(e.pitches){S(e);for(var t=0,n=0;n<e.pitches.length;n++)t+=e.pitches[n].verticalPos;e.averagepitch=t/e.pitches.length,e.minpitch=e.pitches[0].verticalPos,e.maxpitch=e.pitches[e.pitches.length-1].verticalPos}}(r=function(e,t,n){this.decoration=new u,this.getTextSize=e,this.tuneNumber=t,this.isBagpipes=n.bagpipes,this.flatBeams=n.flatbeams,this.graceSlurs=n.graceSlurs,this.reset()}).prototype.reset=function(){this.slurs={},this.ties=[],this.voiceScale=1,this.slursbyvoice={},this.tiesbyvoice={},this.endingsbyvoice={},this.scaleByVoice={},this.tripletmultiplier=1,this.abcline=void 0,this.accidentalSlot=void 0,this.accidentalshiftx=void 0,this.dotshiftx=void 0,this.hasVocals=!1,this.minY=void 0,this.partstartelem=void 0,this.startlimitelem=void 0,this.stemdir=void 0},r.prototype.setStemHeight=function(e){this.stemHeight=Math.round(10*e/m.STEP)/10},r.prototype.getCurrentVoiceId=function(e,t){return"s"+e+"v"+t},r.prototype.pushCrossLineElems=function(e,t){this.slursbyvoice[this.getCurrentVoiceId(e,t)]=this.slurs,this.tiesbyvoice[this.getCurrentVoiceId(e,t)]=this.ties,this.endingsbyvoice[this.getCurrentVoiceId(e,t)]=this.partstartelem,this.scaleByVoice[this.getCurrentVoiceId(e,t)]=this.voiceScale},r.prototype.popCrossLineElems=function(e,t){this.slurs=this.slursbyvoice[this.getCurrentVoiceId(e,t)]||{},this.ties=this.tiesbyvoice[this.getCurrentVoiceId(e,t)]||[],this.partstartelem=this.endingsbyvoice[this.getCurrentVoiceId(e,t)],this.voiceScale=this.scaleByVoice[this.getCurrentVoiceId(e,t)],void 0===this.voiceScale&&(this.voiceScale=1)},r.prototype.containsLyrics=function(e){for(var t=0;t<e.length;t++)for(var n=0;n<e[t].voices.length;n++)for(var r=0;r<e[t].voices[n].length;r++){var i=e[t].voices[n][r];if(i.lyric)return void(i.positioning&&"below"!==i.positioning.vocalPosition||(this.hasVocals=!0))}},r.prototype.createABCLine=function(e,n,r){this.minY=2,this.containsLyrics(e);var i=new g(this.getTextSize);this.tempoSet=!1;for(var a=0;a<e.length;a++)t&&this.restoreState(),t=!1,this.createABCStaff(i,e[a],n,a);return i},r.prototype.createABCStaff=function(e,t,n,r){e.getTextSize.updateFonts(t);for(var i=0;i<t.voices.length;i++){var a=new w(i,t.voices.length);0===i?(a.barfrom="start"===t.connectBarLines||"continue"===t.connectBarLines,a.barto="continue"===t.connectBarLines||"end"===t.connectBarLines):a.duplicate=!0,t.title&&t.title[i]&&(a.header=t.title[i].replace(/\\n/g,"\n"),a.headerPosition=6+e.getTextSize.baselineToCenter(a.header,"voicefont","staff-extra voice-name",i,t.voices.length)/m.STEP);var l=o(t.clef,this.tuneNumber);l&&(0===i&&t.barNumber&&this.addMeasureNumber(t.barNumber,l),a.addChild(l),this.startlimitelem=l);var u=c(t.key,this.tuneNumber);if(u&&(a.addChild(u),this.startlimitelem=u),t.meter){"specified"===t.meter.type?this.measureLength=t.meter.value[0].num/t.meter.value[0].den:this.measureLength=1;var d=h(t.meter,this.tuneNumber);a.addChild(d),this.startlimitelem=d}a.duplicate&&(a.children=[]);var f=t.clef.stafflines||0===t.clef.stafflines?t.clef.stafflines:5;e.addVoice(a,r,f);var p=1===f;this.createABCVoice(t.voices[i],n,r,i,p,a),e.setStaffLimits(a),0===i&&("start"===t.brace||!e.brace&&t.brace?(e.brace||(e.brace=[]),e.brace.push(new s(a,"brace"))):"end"===t.brace&&e.brace?e.brace[e.brace.length-1].setBottomStaff(a):"continue"===t.brace&&e.brace&&e.brace[e.brace.length-1].continuing(a),"start"===t.bracket||!e.bracket&&t.bracket?(e.bracket||(e.bracket=[]),e.bracket.push(new s(a,"bracket"))):"end"===t.bracket&&e.bracket?e.bracket[e.bracket.length-1].setBottomStaff(a):"continue"===t.bracket&&e.bracket&&e.bracket[e.bracket.length-1].continuing(a))}},r.prototype.createABCVoice=function(e,n,r,a,s,o){this.popCrossLineElems(r,a),this.stemdir=this.isBagpipes?"down":null,this.abcline=e,this.partstartelem&&(this.partstartelem=new d("",null,null),o.addOther(this.partstartelem));var c=o.voicetotal<2?-1:o.voicenumber;for(var h in this.slurs)this.slurs.hasOwnProperty(h)&&(this.slurs[h]=new b({force:this.slurs[h].force,voiceNumber:c,stemDir:this.slurs[h].stemDir,style:this.slurs[h].dotted}),t&&this.slurs[h].setHint(),o.addOther(this.slurs[h]));for(var u=0;u<this.ties.length;u++)this.ties[u]=new b({force:this.ties[u].force,stemDir:this.ties[u].stemDir,voiceNumber:c,style:this.ties[u].dotted}),t&&this.ties[u].setHint(),o.addOther(this.ties[u]);for(var f=0;f<this.abcline.length;f++)T(this.abcline[f]),this.minY=Math.min(this.abcline[f].minpitch,this.minY);for(var p=0===r,m=0;m<this.abcline.length;){var g=A(this.abcline,m),y=this.createABCElement(p,s,o,g.elem);if(y)for(u=0;u<y.length;u++){if(!this.tempoSet&&n&&!n.suppress){this.tempoSet=!0;var w=new i(n,0,0,"tempo",this.tuneNumber,{});w.addFixedX(new v(n,this.tuneNumber,l)),o.addChild(w)}o.addChild(y[u])}m+=g.count}this.pushCrossLineElems(r,a)},r.prototype.saveState=function(){this.tiesSave=k.cloneArray(this.ties),this.slursSave=k.cloneHashOfHash(this.slurs),this.slursbyvoiceSave=k.cloneHashOfHash(this.slursbyvoice),this.tiesbyvoiceSave=k.cloneHashOfArrayOfHash(this.tiesbyvoice)},r.prototype.restoreState=function(){this.ties=k.cloneArray(this.tiesSave),this.slurs=k.cloneHashOfHash(this.slursSave),this.slursbyvoice=k.cloneHashOfHash(this.slursbyvoiceSave),this.tiesbyvoice=k.cloneHashOfArrayOfHash(this.tiesbyvoiceSave)},r.prototype.createABCElement=function(e,n,r,a){var s=[];switch(a.el_type){case void 0:s=this.createBeam(n,r,a);break;case"note":s[0]=this.createNote(a,!1,n,r),this.triplet&&this.triplet.isClosed()&&(r.addOther(this.triplet),this.triplet=null,this.tripletmultiplier=1);break;case"bar":s[0]=this.createBarLine(r,a,e),r.duplicate&&s.length>0&&(s[0].invisible=!0);break;case"meter":s[0]=h(a,this.tuneNumber),this.startlimitelem=s[0],r.duplicate&&s.length>0&&(s[0].invisible=!0);break;case"clef":if(s[0]=o(a,this.tuneNumber),!s[0])return null;r.duplicate&&s.length>0&&(s[0].invisible=!0);break;case"key":var u=c(a,this.tuneNumber);u&&(s[0]=u,this.startlimitelem=s[0]),r.duplicate&&s.length>0&&(s[0].invisible=!0);break;case"stem":this.stemdir=a.direction;break;case"part":var d=new i(a,0,0,"part",this.tuneNumber),f=this.getTextSize.calc(a.title,"partsfont","part");d.addFixedX(new p(a.title,0,0,void 0,{type:"part",height:f.height/m.STEP})),s[0]=d;break;case"tempo":var g=new i(a,0,0,"tempo",this.tuneNumber);g.addFixedX(new v(a,this.tuneNumber,l)),s[0]=g;break;case"style":"normal"===a.head?delete this.style:this.style=a.head;break;case"hint":t=!0,this.saveState();break;case"midi":break;case"scale":this.voiceScale=a.size;break;default:var b=new i(a,0,0,"unsupported",this.tuneNumber);b.addFixed(new p("element type "+a.el_type,0,0,void 0,{type:"debug"})),s[0]=b}return s},r.prototype.createBeam=function(e,n,r){var i=[],s=new a(this.stemHeight*this.voiceScale,this.stemdir,this.flatBeams,r[0]);t&&s.setHint();for(var o=0;o<r.length;o++){var c=r[o],l=this.createNote(c,!0,e,n);i.push(l),s.add(l),this.triplet&&this.triplet.isClosed()&&(n.addOther(this.triplet),this.triplet=null,this.tripletmultiplier=1)}return s.calcDir(),n.addBeam(s),i};var S=function(e){var t;do{t=!0;for(var n=0;n<e.pitches.length-1;n++)if(e.pitches[n].pitch>e.pitches[n+1].pitch){t=!1;var r=e.pitches[n];e.pitches[n]=e.pitches[n+1],e.pitches[n+1]=r}}while(!t)},M=function(e,t,n,r,i,a,s,o,c){for(var l=n;l>11;l--)l%2!=0||r||e.addFixed(new p(null,o,(i+4)*c,l,{type:"ledger"}));for(l=t;l<1;l++)l%2!=0||r||e.addFixed(new p(null,o,(i+4)*c,l,{type:"ledger"}));for(l=0;l<a.length;l++){var h=i;"down"===s&&(h=-h),e.addFixed(new p(null,h+o,(i+4)*c,a[l],{type:"ledger"}))}};function N(e,t){for(var n=0;n<e.length;n++)if(JSON.stringify(e[n])===JSON.stringify(t))return;e.push(t)}r.prototype.addGraceNotes=function(e,r,i,s,o,c,h){o=Math.round(.7*o);var u,d,m=null;e.gracenotes.length>1&&(m=new a(o,"grace",c),t&&m.setHint(),m.mainNote=i);var g=[];for(d=e.gracenotes.length-1;d>=0;d--)h+=10,g[d]=h,e.gracenotes[d].accidental&&(h+=7);for(d=0;d<e.gracenotes.length;d++){var v=e.gracenotes[d].verticalPos;u=m?null:n.uflags[c?5:3];var y=l(i,"noteheads.quarter",e.gracenotes[d],"up",-g[d],-g[d],u,0,0,.6*this.voiceScale,[],!1);y.notehead.highestVert=y.notehead.pitch+o;var w=y.notehead;if(this.addSlursAndTies(i,e.gracenotes[d],w,r,"up",!0),i.addExtra(w),e.gracenotes[d].acciaccatura){var x=e.gracenotes[d].verticalPos+4.2,k=m?5:6;i.addRight(new p("flags.ugrace",-g[d]+k,0,x,{scalex:.6,scaley:.6}))}if(m){var A=e.gracenotes[d].duration/2;c&&(A/=2);var T={heads:[w],abcelem:{averagepitch:v,minpitch:v,maxpitch:v,duration:A}};m.add(T)}else{var S=v+1/3*.6,N=v+4.2,C=w.dx+w.w;i.addExtra(new p(null,C,0,S,{type:"stem",pitch2:N,linewidth:-.6}))}M(i,v,v,!1,f.getSymbolWidth("noteheads.quarter"),[],!0,w.dx-1,.6);var E=e.rest&&("spacer"===e.rest.type||"invisible"===e.rest.type);0!==d||c||!this.graceSlurs||E||r.addOther(new b({anchor1:w,anchor2:s,isGrace:!0}))}return m&&(m.calcDir(),r.addBeam(m)),h},r.prototype.addNoteToAbcElement=function(t,r,i,a,s,o,c,h,u){var d,m,g,v,b,y=0,w=0,x=0,k=[],A=[],T=0,S=r.averagepitch>=6?"down":"up";for(a&&(S=a),(s=r.style?r.style:s)&&"normal"!==s||(s="note"),(v=o?n[s].nostem:n[s][-c])||console.log("noteSymbol:",s,c,o),b="down"===S?r.pitches.length-2:1;"down"===S?b>=0:b<r.pitches.length;b="down"===S?b-1:b+1){var M=r.pitches["down"===S?b+1:b-1],C=r.pitches[b],E="down"===S?M.pitch-C.pitch:C.pitch-M.pitch;E<=1&&!M.printer_shift&&(C.printer_shift=E?"different":"same",(C.verticalPos>11||C.verticalPos<1)&&k.push(C.verticalPos-C.verticalPos%2),"down"===S?w=f.getSymbolWidth(v)+2:y=f.getSymbolWidth(v)+2)}var I=r.pitches.length;for(b=0;b<r.pitches.length;b++){var _,B;if(!h)_="down"===S&&0!==b||"up"===S&&b!==I-1?null:n["down"===S?"dflags":"uflags"][-c];if(B=r.pitches[b].style?n[r.pitches[b].style][-c]:v,r.pitches[b].highestVert=r.pitches[b].verticalPos,("up"===a||"up"===S)&&0===b||("down"===a||"down"===S)&&b===I-1){if((r.startSlur||1===I)&&(r.pitches[b].highestVert=r.pitches[I-1].verticalPos,e(r)<1&&("up"===a||"up"===S)&&(r.pitches[b].highestVert+=6)),r.startSlur)for(r.pitches[b].startSlur||(r.pitches[b].startSlur=[]),g=0;g<r.startSlur.length;g++)N(r.pitches[b].startSlur,r.startSlur[g]);if(r.endSlur)for(r.pitches[b].highestVert=r.pitches[I-1].verticalPos,e(r)<1&&("up"===a||"up"===S)&&(r.pitches[b].highestVert+=6),r.pitches[b].endSlur||(r.pitches[b].endSlur=[]),g=0;g<r.endSlur.length;g++)N(r.pitches[b].endSlur,r.endSlur[g])}var P=!h&&c<=-1,D=l(t,B,r.pitches[b],S,0,-w,_,i,y,this.voiceScale,A,!a);T=Math.max(f.getSymbolWidth(B),T),t.extraw-=D.extraLeft,(d=D.notehead)&&(this.addSlursAndTies(t,r.pitches[b],d,u,P?S:null,!1),r.gracenotes&&r.gracenotes.length>0&&(d.bottom=d.bottom-1),t.addHead(d)),w+=D.accidentalshiftx,x=Math.max(x,D.dotshiftx)}if(P){var L=Math.round(70*this.voiceScale)/10,O="down"===S?r.minpitch-L:r.minpitch+1/3;O>6&&!a&&(O=6);var H="down"===S?r.maxpitch-1/3:r.maxpitch+L;H<6&&!a&&(H=6);var V="down"===S||0===t.heads.length?0:t.heads[0].w,F="down"===S?1:-1;"noteheads.slash.quarter"===d.c&&("down"===S?H-=1:O+=1),t.addRight(new p(null,V,0,O,{type:"stem",pitch2:H,linewidth:F})),m=Math.min(O,H)}return{noteHead:d,roomTaken:w,roomTakenRight:x,min:m,additionalLedgers:k,dir:S,symbolWidth:T}},r.prototype.addLyric=function(e,t){var n="";k.each(t.lyric,(function(e){var t=" "===e.divider?"":e.divider;n+=e.syllable+t+"\n"}));var r=this.getTextSize.calc(n,"vocalfont","lyric"),i=t.positioning?t.positioning.vocalPosition:"below";e.addCentered(new p(n,0,r.width,void 0,{type:"lyric",position:i,height:r.height/m.STEP,dim:this.getTextSize.attr("vocalfont","lyric")}))},r.prototype.createNote=function(r,a,s,o){var c,h=null,u=0,d=0,m=0,g=[],v=e(r),b=!1;0===v&&(b=!0,v=.25,a=!0);for(var w=Math.floor(Math.log(v)/Math.log(2)),k=0,A=Math.pow(2,w),T=A/2;A<v;k++,A+=T,T/=2);r.startTriplet&&(this.tripletmultiplier=r.tripletMultiplier);var S=v*this.tripletmultiplier;r.rest&&"multimeasure"===r.rest.type&&(S=v);var N=r.rest?"rest":"note",C=new i(r,S,1,N,this.tuneNumber,{durationClassOveride:r.duration*this.tripletmultiplier});if(t&&C.setHint(),r.rest){this.measureLength===v&&"invisible"!==r.rest.type&&"spacer"!==r.rest.type&&"multimeasure"!==r.rest.type&&(r.rest.type="whole");var E=function(e,t,r,i,a,s,o,c,h){var u,d,m,g,v=7;switch(a&&("down"===s&&(v=3),"up"===s&&(v=11)),o&&(v=r<.5||r<1?7:5),t.rest.type){case"whole":u=n.rest[0],t.averagepitch=v,t.minpitch=v,t.maxpitch=v,i=0;break;case"rest":u="rhythm"===t.style?n.rhythm[-c]:n.rest[-c],t.averagepitch=v,t.minpitch=v,t.maxpitch=v;break;case"invisible":case"spacer":u="",t.averagepitch=v,t.minpitch=v,t.maxpitch=v;break;case"multimeasure":u=n.rest.multi,t.averagepitch=v,t.minpitch=v,t.maxpitch=v,i=0;var b=f.getSymbolWidth(u);e.addHead(new p(u,-b,2*b,7));var y=new p(""+t.rest.text,0,b,16,{type:"multimeasure-text"});e.addExtra(y)}if("multimeasure"!==t.rest.type){var w=l(e,u,{verticalPos:v},null,0,0,null,i,0,h,[],!1);(d=w.notehead)&&(e.addHead(d),m=w.accidentalshiftx,g=w.dotshiftx)}return{noteHead:d,roomTaken:m,roomTakenRight:g}}(C,r,v,k,o.voicetotal>1,this.stemdir,s,w,this.voiceScale);h=E.noteHead,u=E.roomTaken,d=E.roomTakenRight}else{var I=this.addNoteToAbcElement(C,r,k,this.stemdir,this.style,b,w,a,o);void 0!==I.min&&(this.minY=Math.min(I.min,this.minY)),h=I.noteHead,u=I.roomTaken,d=I.roomTakenRight,g=I.additionalLedgers,c=I.dir,m=I.symbolWidth}if(void 0!==r.lyric&&this.addLyric(C,r),void 0!==r.gracenotes&&(u+=this.addGraceNotes(r,o,C,h,this.stemHeight*this.voiceScale,this.isBagpipes,u)),r.decoration&&this.decoration.createDecoration(o,r.decoration,C.top,h?h.w:0,C,u,c,C.bottom,r.positioning,this.hasVocals),r.barNumber&&C.addFixed(new p(r.barNumber,-10,0,0,{type:"barNumber"})),M(C,r.minpitch,r.maxpitch,r.rest,m,g,c,-2,1),void 0!==r.chord){var _=x(this.getTextSize,C,r,u,d,m);u=_.roomTaken,d=_.roomTakenRight}return r.startTriplet&&(this.triplet=new y(r.startTriplet,h,{flatBeams:this.flatBeams})),r.endTriplet&&this.triplet&&this.triplet.setCloseAnchor(h),!this.triplet||r.startTriplet||r.endTriplet||r.rest&&"spacer"===r.rest.type||this.triplet.middleNote(h),C},r.prototype.addSlursAndTies=function(e,n,r,i,a,s){if(n.endTie&&this.ties.length>0){for(var o=!1,c=0;c<this.ties.length;c++)if(this.ties[c].anchor1&&this.ties[c].anchor1.pitch===r.pitch){this.ties[c].setEndAnchor(r),this.ties.splice(c,1),o=!0;break}o||(this.ties[0].setEndAnchor(r),this.ties.splice(0,1))}var l,h,u=i.voicetotal<2?-1:i.voicenumber;if(n.startTie){var d=new b({anchor1:r,force:"down"===this.stemdir||"up"===this.stemdir,stemDir:this.stemdir,isGrace:s,voiceNumber:u,style:n.startTie.style});t&&d.setHint(),this.ties[this.ties.length]=d,i.addOther(d),e.startTie=!0}if(n.endSlur)for(var f=0;f<n.endSlur.length;f++)h=n.endSlur[f],this.slurs[h]?((l=this.slurs[h]).setEndAnchor(r),delete this.slurs[h]):(l=new b({anchor2:r,stemDir:this.stemdir,voiceNumber:u}),t&&l.setHint(),i.addOther(l)),this.startlimitelem&&l.setStartX(this.startlimitelem);else if(!s)for(var p in this.slurs)this.slurs.hasOwnProperty(p)&&this.slurs[p].addInternalNote(r);if(n.startSlur)for(f=0;f<n.startSlur.length;f++)h=n.startSlur[f].label,l=new b({anchor1:r,stemDir:this.stemdir,voiceNumber:u,style:n.startSlur[f].style}),t&&l.setHint(),this.slurs[h]=l,i.addOther(l)},r.prototype.addMeasureNumber=function(e,t){var n=this.getTextSize.calc(e,"measurefont","bar-number"),r=n.width>18&&"treble"===t.abcelem.type?-7:0;t.addFixed(new p(e,r,n.width,11+n.height/m.STEP,{type:"barNumber",dim:this.getTextSize.attr("measurefont","bar-number")}))},r.prototype.createBarLine=function(e,t,n){var r=new i(t,0,10,"bar",this.tuneNumber),a=null,s=0;t.barNumber&&this.addMeasureNumber(t.barNumber,r);var o="bar_right_repeat"===t.type||"bar_dbl_repeat"===t.type,c="bar_left_repeat"!==t.type&&"bar_thick_thin"!==t.type&&"bar_invisible"!==t.type,l="bar_right_repeat"===t.type||"bar_dbl_repeat"===t.type||"bar_left_repeat"===t.type||"bar_thin_thick"===t.type||"bar_thick_thin"===t.type,h="bar_left_repeat"===t.type||"bar_thick_thin"===t.type||"bar_thin_thin"===t.type||"bar_dbl_repeat"===t.type,u="bar_left_repeat"===t.type||"bar_dbl_repeat"===t.type;if(o||u){for(var f in this.slurs)this.slurs.hasOwnProperty(f)&&this.slurs[f].setEndX(r);this.startlimitelem=r}if(o&&(r.addRight(new p("dots.dot",s,1,7)),r.addRight(new p("dots.dot",s,1,5)),s+=6),c&&(a=new p(null,s,1,2,{type:"bar",pitch2:10,linewidth:.6}),r.addRight(a)),"bar_invisible"===t.type&&(a=new p(null,s,1,2,{type:"none",pitch2:10,linewidth:.6}),r.addRight(a)),t.decoration&&this.decoration.createDecoration(e,t.decoration,12,l?3:1,r,0,"down",2,t.positioning,this.hasVocals),l&&(a=new p(null,s+=4,4,2,{type:"bar",pitch2:10,linewidth:4}),r.addRight(a),s+=5),this.partstartelem&&t.endEnding&&(this.partstartelem.anchor2=a,this.partstartelem=null),h&&(a=new p(null,s+=3,1,2,{type:"bar",pitch2:10,linewidth:.6}),r.addRight(a)),u&&(s+=3,r.addRight(new p("dots.dot",s,1,7)),r.addRight(new p("dots.dot",s,1,5))),t.startEnding&&n){var m=this.getTextSize.calc(t.startEnding,"repeatfont","").width;r.minspacing+=m+10,this.partstartelem=new d(t.startEnding,a,null),e.addOther(this.partstartelem)}return r.extraw-=5,r}}(),e.exports=r},function(e,t){var n;!function(){"use strict";(n=function(e,t,n,r){this.type="BeamElem",this.isflat=!!n,this.isgrace=!(!t||"grace"!==t),this.forceup=!!(this.isgrace||t&&"up"===t),this.forcedown=!(!t||"down"!==t),this.elems=[],this.total=0,this.average=6,this.allrests=!0,this.stemHeight=e,this.beams=[],r&&r.duration?(this.duration=r.duration,r.startTriplet&&(this.duration*=r.tripletMultiplier),this.duration=Math.round(1e3*this.duration)/1e3):this.duration=0}).prototype.setHint=function(){this.hint=!0},n.prototype.add=function(e){var t=e.abcelem.averagepitch;void 0!==t&&(e.abcelem.rest||(this.allrests=!1),e.beam=this,this.elems.push(e),this.total=Math.round(this.total+t),(void 0===this.min||e.abcelem.minpitch<this.min)&&(this.min=e.abcelem.minpitch),(void 0===this.max||e.abcelem.maxpitch>this.max)&&(this.max=e.abcelem.maxpitch))},n.prototype.addBeam=function(e){this.beams.push(e)},n.prototype.calcDir=function(){var e,t;if(this.average=(e=this.total,(t=this.elems.length)?e/t:0),this.forceup)this.stemsUp=!0;else if(this.forcedown)this.stemsUp=!1;else{this.stemsUp=this.average<6}for(var n=this.stemsUp?"up":"down",r=0;r<this.elems.length;r++)for(var i=0;i<this.elems[r].heads.length;i++)this.elems[r].heads[i].stemDir=n}}(),e.exports=n},function(e,t){var n=function(e,t){this.startVoice=e,this.type=t};n.prototype.setBottomStaff=function(e){this.endVoice=e,this.startVoice.header&&!this.endVoice.header&&(this.header=this.startVoice.header,delete this.startVoice.header)},n.prototype.continuing=function(e){this.lastContinuedVoice=e},n.prototype.getWidth=function(){return 10},n.prototype.isStartVoice=function(e){return!!(this.startVoice&&this.startVoice.staff&&this.startVoice.staff.voices.length>0&&this.startVoice.staff.voices[0]===e)},e.exports=n},function(e,t,n){var r,i=n(6),a=n(5),s=n(2);!function(){"use strict";r=function(e,t){var n,r=0;e.el_type="clef";var o=new i(e,0,10,"staff-extra clef",t);switch(o.isClef=!0,e.type){case"treble":n="clefs.G";break;case"tenor":case"alto":n="clefs.C";break;case"bass":n="clefs.F";break;case"treble+8":n="clefs.G",r=1;break;case"tenor+8":n="clefs.C",r=1;break;case"bass+8":n="clefs.F",r=1;break;case"alto+8":n="clefs.C",r=1;break;case"treble-8":n="clefs.G",r=-1;break;case"tenor-8":n="clefs.C",r=-1;break;case"bass-8":n="clefs.F",r=-1;break;case"alto-8":n="clefs.C",r=-1;break;case"none":return null;case"perc":n="clefs.perc";break;default:o.addFixed(new s("clef="+e.type,0,0,void 0,{type:"debug"}))}if(n){var c=a.symbolHeightInPitches(n),l=function(e){switch(e){case"clefs.G":return-5;case"clefs.C":case"clefs.F":return-4;case"clefs.perc":return-2;default:return 0}}(n);if(o.addRight(new s(n,5,a.getSymbolWidth(n),e.clefPos,{top:c+e.clefPos+l,bottom:e.clefPos+l})),0!==r){var h=(a.getSymbolWidth(n)-a.getSymbolWidth("8")*(2/3))/2,u=r>0?o.top+3:o.bottom-1,d=r>0?o.top+3:o.bottom-3,f=d-2;"bass-8"===e.type&&(u=3,h=0),o.addRight(new s("8",5+h,a.getSymbolWidth("8")*(2/3),u,{scalex:2/3,scaley:2/3,top:d,bottom:f}))}}return o}}(),e.exports=r},function(e,t,n){var r,i=n(6),a=n(5),s=n(2),o=n(0);!function(){"use strict";r=function(e,t){if(!e.accidentals||0===e.accidentals.length)return null;e.el_type="keySignature";var n=new i(e,0,10,"staff-extra key-signature",t);n.isKeySig=!0;var r=0;return o.each(e.accidentals,(function(e){var t,i=0;switch(e.acc){case"sharp":t="accidentals.sharp",i=-3;break;case"natural":t="accidentals.nat";break;case"flat":t="accidentals.flat",i=-1.2;break;case"quartersharp":t="accidentals.halfsharp",i=-2.5;break;case"quarterflat":t="accidentals.halfflat",i=-1.2;break;default:t="accidentals.flat"}n.addRight(new s(t,r,a.getSymbolWidth(t),e.verticalPos,{thickness:a.symbolHeightInPitches(t),top:e.verticalPos+a.symbolHeightInPitches(t)+i,bottom:e.verticalPos+i})),r+=a.getSymbolWidth(t)+2}),this),n}}(),e.exports=r},function(e,t,n){var r,i=n(5),a=n(2);r=function(e,t,n,r,s,o,c,l,h,u,d,f){var p,m=n.verticalPos,g=0,v=0,b=0;if(void 0===t)e.addFixed(new a("pitch is undefined",0,0,0,{type:"debug"}));else if(""===t)p=new a(null,0,0,m);else{var y=s;if(n.printer_shift){var w="same"===n.printer_shift?1:0;y="down"===r?-i.getSymbolWidth(t)*u+w:i.getSymbolWidth(t)*u-w}var x={scalex:u,scaley:u,thickness:i.symbolHeightInPitches(t)*u};if((p=new a(t,y,i.getSymbolWidth(t)*u,m,x)).stemDir=r,c){var k=m+("down"===r?-7:7)*u;f&&("down"===r&&k>6&&(k=6),"up"===r&&k<6&&(k=6));var A="down"===r?s:s+p.w-.6;e.addRight(new a(c,A,i.getSymbolWidth(c)*u,k,{scalex:u,scaley:u}))}for(v=p.w+h-2+5*l;l>0;l--){var T=1-Math.abs(m)%2;e.addRight(new a("dots.dot",p.w+h-2+5*l,i.getSymbolWidth("dots.dot"),m+T))}}if(p&&(p.highestVert=n.highestVert),n.accidental){var S;switch(n.accidental){case"quartersharp":S="accidentals.halfsharp";break;case"dblsharp":S="accidentals.dblsharp";break;case"sharp":S="accidentals.sharp";break;case"quarterflat":S="accidentals.halfflat";break;case"flat":S="accidentals.flat";break;case"dblflat":S="accidentals.dblflat";break;case"natural":S="accidentals.nat"}for(var M=!1,N=o,C=0;C<d.length;C++)if(m-d[C][0]>=6){d[C][0]=m,N=d[C][1],M=!0;break}!1===M&&(N-=i.getSymbolWidth(S)*u+2,d.push([m,N]),g=i.getSymbolWidth(S)*u+2);var E=i.symbolHeightInPitches(S);e.addExtra(new a(S,N,i.getSymbolWidth(S),m,{scalex:u,scaley:u,top:m+E/2,bottom:m-E/2})),b=i.getSymbolWidth(S)/2}return{notehead:p,accidentalshiftx:g,dotshiftx:v,extraLeft:b}},e.exports=r},function(e,t,n){var r,i=n(6),a=n(5),s=n(2);!function(){"use strict";r=function(e,t){e.el_type="timeSignature";var n=new i(e,0,10,"staff-extra time-signature",t);if("specified"===e.type)for(var r=0,o=0;o<e.value.length;o++)if(0!==o&&(n.addRight(new s("+",r+1,a.getSymbolWidth("+"),6,{thickness:a.symbolHeightInPitches("+")})),r+=a.getSymbolWidth("+")+2),e.value[o].den){for(var c=0,l=0;l<e.value[o].num.length;l++)c+=a.getSymbolWidth(e.value[o].num.charAt(l));var h=0;for(l=0;l<e.value[o].num.length;l++)h+=a.getSymbolWidth(e.value[o].den.charAt(l));var u=Math.max(c,h);n.addRight(new s(e.value[o].num,r+(u-c)/2,c,8,{thickness:a.symbolHeightInPitches(e.value[o].num.charAt(0))})),n.addRight(new s(e.value[o].den,r+(u-h)/2,h,4,{thickness:a.symbolHeightInPitches(e.value[o].den.charAt(0))})),r+=u}else{for(var d=0,f=0;f<e.value[o].num.length;f++)d+=a.getSymbolWidth(e.value[o].num.charAt(f));n.addRight(new s(e.value[o].num,r,d,6,{thickness:a.symbolHeightInPitches(e.value[o].num.charAt(0))})),r+=d}else"common_time"===e.type?n.addRight(new s("timesig.common",0,a.getSymbolWidth("timesig.common"),6,{thickness:a.symbolHeightInPitches("timesig.common")})):"cut_time"===e.type?n.addRight(new s("timesig.cut",0,a.getSymbolWidth("timesig.cut"),6,{thickness:a.symbolHeightInPitches("timesig.cut")})):"tempus_imperfectum"===e.type?n.addRight(new s("timesig.imperfectum",0,a.getSymbolWidth("timesig.imperfectum"),6,{thickness:a.symbolHeightInPitches("timesig.imperfectum")})):"tempus_imperfectum_prolatio"===e.type?n.addRight(new s("timesig.imperfectum2",0,a.getSymbolWidth("timesig.imperfectum2"),6,{thickness:a.symbolHeightInPitches("timesig.imperfectum2")})):"tempus_perfectum"===e.type?n.addRight(new s("timesig.perfectum",0,a.getSymbolWidth("timesig.perfectum"),6,{thickness:a.symbolHeightInPitches("timesig.perfectum")})):"tempus_perfectum_prolatio"===e.type?n.addRight(new s("timesig.perfectum2",0,a.getSymbolWidth("timesig.perfectum2"),6,{thickness:a.symbolHeightInPitches("timesig.perfectum2")})):console.log("time signature:",e);return n}}(),e.exports=r},function(e,t,n){var r,i=n(46),a=n(47),s=n(5),o=n(2),c=n(19);!function(){"use strict";var e=function(e,t,n,r,i){function a(e,t){var a="down"===i?function(){if(0===r.heads.length)return 2;for(var e=r.heads[0].pitch,t=1;t<r.heads.length;t++)e=Math.min(e,r.heads[t].pitch);return e}()+1:function(){if(0===r.heads.length)return 10;for(var e=r.heads[0].pitch,t=1;t<r.heads.length;t++)e=Math.max(e,r.heads[t].pitch);return e}()+9;"down"!==i&&1===t&&a--;var c=n/2;c+="down"===i?-5:3;for(var l=0;l<t;l++)a-=1,r.addFixedX(new o(e,c,s.getSymbolWidth(e),a))}for(var c=0;c<e.length;c++)switch(e[c]){case"/":a("flags.ugrace",1);break;case"//":a("flags.ugrace",2);break;case"///":a("flags.ugrace",3);break;case"////":a("flags.ugrace",4)}};(r=function(){this.startDiminuendoX=void 0,this.startCrescendoX=void 0,this.minTop=12,this.minBottom=0}).prototype.dynamicDecoration=function(e,t,n,r){for(var i,s,o=0;o<t.length;o++)switch(t[o]){case"diminuendo(":this.startDiminuendoX=n,i=void 0;break;case"diminuendo)":i={start:this.startDiminuendoX,stop:n},this.startDiminuendoX=void 0;break;case"crescendo(":this.startCrescendoX=n,s=void 0;break;case"crescendo)":s={start:this.startCrescendoX,stop:n},this.startCrescendoX=void 0}i&&e.addOther(new a(i.start,i.stop,">",r)),s&&e.addOther(new a(s.start,s.stop,"<",r))},r.prototype.createDecoration=function(t,n,r,a,l,h,u,d,f,p){f||(f={ornamentPosition:"above",volumePosition:p?"above":"below",dynamicPosition:p?"above":"below"}),function(e,t,n,r){for(var a=0;a<t.length;a++)switch(t[a]){case"p":case"mp":case"pp":case"ppp":case"pppp":case"f":case"ff":case"fff":case"ffff":case"sfz":case"mf":var s=new i(n,t[a],r);e.addOther(s)}}(t,n,l,f.volumePosition),this.dynamicDecoration(t,n,l,f.dynamicPosition),e(n,0,a,l,u);var m=function(e,t,n,r,i,a,l,h){for(var u,d=0;d<t.length;d++){if("staccato"===t[d]||"tenuto"===t[d]||"accent"===t[d]){var f="scripts."+t[d];if("accent"===t[d]&&(f="scripts.sforzato"),u=void 0===u?"down"===l?n+2:h-2:"down"===l?u+2:u-2,"accent"===t[d])"up"===l?u--:u++;else switch(u){case 2:case 4:case 6:case 8:case 10:"up"===l?u--:u++}n>9&&u++;var p=r/2;"center"!==s.getSymbolAlign(f)&&(p-=s.getSymbolWidth(f)/2),i.addFixedX(new o(f,p,s.getSymbolWidth(f),u))}if("slide"===t[d]&&i.heads[0]){var m=i.heads[0].pitch,g=new o("",-a-15,0,(m-=2)-1),v=new o("",-a-5,0,m+1);i.addFixedX(g),i.addFixedX(v),e.addOther(new c({anchor1:g,anchor2:v,fixedY:!0}))}}return void 0===u&&(u=n),{above:u,below:i.bottom}}(t,n,r,a,l,h,u,d);m.above=Math.max(m.above,this.minTop);!function(e,t,n,r,i,a,c){function l(e,t){"above"===e?r.above+=t:r.below-=t}function h(e){var t;return"above"===e?(t=r.above)<a&&(t=a):(t=r.below)>c&&(t=c),t}function u(e,r){var i=h(r);n.addFixedX(new o(e,t/2,0,i+2,{type:"decoration",klass:"ornament",thickness:3})),l(r,5)}function d(e,r){var i=t/2;"center"!==s.getSymbolAlign(e)&&(i-=s.getSymbolWidth(e)/2);var a=s.symbolHeightInPitches(e)+1,c=h(r);c="above"===r?c+a/2:c-a/2,n.addFixedX(new o(e,i,s.getSymbolWidth(e),c,{klass:"ornament",thickness:s.symbolHeightInPitches(e)})),l(r,a)}for(var f={"+":"scripts.stopped",open:"scripts.open",snap:"scripts.snap",wedge:"scripts.wedge",thumb:"scripts.thumb",shortphrase:"scripts.shortphrase",mediumphrase:"scripts.mediumphrase",longphrase:"scripts.longphrase",trill:"scripts.trill",roll:"scripts.roll",irishroll:"scripts.roll",marcato:"scripts.umarcato",dmarcato:"scripts.dmarcato",umarcato:"scripts.umarcato",turn:"scripts.turn",uppermordent:"scripts.prall",pralltriller:"scripts.prall",mordent:"scripts.mordent",lowermordent:"scripts.mordent",downbow:"scripts.downbow",upbow:"scripts.upbow",fermata:"scripts.ufermata",invertedfermata:"scripts.dfermata",breath:",",coda:"scripts.coda",segno:"scripts.segno"},p=!1,m=0;m<e.length;m++)switch(e[m]){case"0":case"1":case"2":case"3":case"4":case"5":case"D.C.":case"D.S.":u(e[m],i),p=!0;break;case"fine":u("FINE",i),p=!0;break;case"+":case"open":case"snap":case"wedge":case"thumb":case"shortphrase":case"mediumphrase":case"longphrase":case"trill":case"roll":case"irishroll":case"marcato":case"dmarcato":case"turn":case"uppermordent":case"pralltriller":case"mordent":case"lowermordent":case"downbow":case"upbow":case"fermata":case"breath":case"umarcato":case"coda":case"segno":d(f[e[m]],i),p=!0;break;case"invertedfermata":d(f[e[m]],"below"),p=!0;break;case"mark":n.klass="mark"}}(n,a,l,m,f.ornamentPosition,this.minTop,this.minBottom);!function(e,t,n){for(var r=0;r<e.length;r++)switch(e[r]){case"arpeggio":for(var i=t.abcelem.minpitch-1;i<=t.abcelem.maxpitch;i+=2)t.addExtra(new o("scripts.arpeggio",2*-s.getSymbolWidth("scripts.arpeggio")-n,0,i+2,{klass:"ornament",thickness:s.symbolHeightInPitches("scripts.arpeggio")}))}}(n,l,h)}}(),e.exports=r},function(e,t){e.exports=function(e,t,n){this.type="DynamicDecoration",this.anchor=e,this.dec=t,"below"===n?this.volumeHeightBelow=6:this.volumeHeightAbove=6,this.pitch=void 0}},function(e,t){e.exports=function(e,t,n,r){this.type="CrescendoElem",this.anchor1=e,this.anchor2=t,this.dir=n,"above"===r?this.dynamicHeightAbove=6:this.dynamicHeightBelow=6,this.pitch=void 0}},function(e,t){e.exports=function(e,t,n){this.type="EndingElem",this.text=e,this.anchor1=t,this.anchor2=n,this.endingHeightAbove=5,this.pitch=void 0}},function(e,t,n){var r=n(20),i=function(e){this.getTextSize=e,this.voices=[],this.staffs=[],this.brace=void 0,this.bracket=void 0};i.prototype.setLimit=function(e,t){t.specialY[e]&&(t.staff.specialY[e]?t.staff.specialY[e]=Math.max(t.staff.specialY[e],t.specialY[e]):t.staff.specialY[e]=t.specialY[e])},i.prototype.addVoice=function(e,t,n){var r=this.voices.length;this.voices[r]=e,this.staffs[t]?this.staffs[t].voices.push(r):this.staffs[this.staffs.length]={top:10,bottom:2,lines:n,voices:[r],specialY:{tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0}},e.staff=this.staffs[t]},i.prototype.setHeight=function(){this.height=r(this)},i.prototype.setWidth=function(e){this.w=e;for(var t=0;t<this.voices.length;t++)this.voices[t].setWidth(e)},i.prototype.setStaffLimits=function(e){e.staff.top=Math.max(e.staff.top,e.top),e.staff.bottom=Math.min(e.staff.bottom,e.bottom),this.setLimit("tempoHeightAbove",e),this.setLimit("partHeightAbove",e),this.setLimit("volumeHeightAbove",e),this.setLimit("dynamicHeightAbove",e),this.setLimit("endingHeightAbove",e),this.setLimit("chordHeightAbove",e),this.setLimit("lyricHeightAbove",e),this.setLimit("lyricHeightBelow",e),this.setLimit("chordHeightBelow",e),this.setLimit("volumeHeightBelow",e),this.setLimit("dynamicHeightBelow",e)},e.exports=i},function(e,t,n){var r,i=n(6),a=n(2);!function(){"use strict";(r=function(e,t,n){this.type="TempoElement",this.tempo=e,this.tempo.type="tempo",this.tuneNumber=t,this.totalHeightInPitches=6,this.tempoHeightAbove=this.totalHeightInPitches,this.pitch=void 0,this.tempo.duration&&!this.tempo.suppressBpm&&(this.note=this.createNote(n,e,t))}).prototype.setX=function(e){this.x=e},r.prototype.createNote=function(e,t,n){var r,s,o,c=t.duration[0],l=new i(t,c,1,"tempo",n);c<=1/32?(o="noteheads.quarter",s="flags.u32nd",r=0):c<=1/16?(o="noteheads.quarter",s="flags.u16th",r=0):c<=3/32?(o="noteheads.quarter",s="flags.u16nd",r=1):c<=1/8?(o="noteheads.quarter",s="flags.u8th",r=0):c<=3/16?(o="noteheads.quarter",s="flags.u8th",r=1):c<=1/4?(o="noteheads.quarter",r=0):c<=3/8?(o="noteheads.quarter",r=1):c<=.5?(o="noteheads.half",r=0):c<=3/4?(o="noteheads.half",r=1):c<=1?(o="noteheads.whole",r=0):c<=1.5?(o="noteheads.whole",r=1):c<=2?(o="noteheads.dbl",r=0):(o="noteheads.dbl",r=1);var h,u=e(l,o,{verticalPos:0},"up",0,0,s,r,0,.75,[],!1).notehead;if(l.addHead(u),"noteheads.whole"!==o&&"noteheads.dbl"!==o){var d=u.dx+u.w;h=new a(null,d,0,.25,{type:"stem",pitch2:3.75,linewidth:-.6}),l.addRight(h)}return l}}(),e.exports=r},function(e,t){var n;!function(){"use strict";(n=function(e,t,n){this.type="TripletElem",this.anchor1=t,this.number=e,this.durationClass=("d"+Math.round(1e3*t.parent.durationClass)/1e3).replace(/\./,"-"),this.middleElems=[],this.flatBeams=n.flatBeams}).prototype.isClosed=function(){return!!this.anchor2},n.prototype.middleNote=function(e){this.middleElems.push(e)},n.prototype.setCloseAnchor=function(e){this.anchor2=e,this.anchor1.parent.beam&&(this.endingHeightAbove=4)}}(),e.exports=n},function(e,t){var n=function(e,t){this.children=[],this.beams=[],this.otherchildren=[],this.w=0,this.duplicate=!1,this.voicenumber=e,this.voicetotal=t,this.bottom=7,this.top=7,this.specialY={tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0}};n.prototype.addChild=function(e){if("bar"===e.type){for(var t=!0,n=0;t&&n<this.children.length;n++)this.children[n].type.indexOf("staff-extra")<0&&"tempo"!==this.children[n].type&&(t=!1);t||(this.beams.push("bar"),this.otherchildren.push("bar"))}this.children[this.children.length]=e,this.setRange(e)},n.prototype.setLimit=function(e,t){var n=t.specialY;n||(n=t),n[e]&&(this.specialY[e]?this.specialY[e]=Math.max(this.specialY[e],n[e]):this.specialY[e]=n[e])},n.prototype.adjustRange=function(e){void 0!==e.bottom&&(this.bottom=Math.min(this.bottom,e.bottom)),void 0!==e.top&&(this.top=Math.max(this.top,e.top))},n.prototype.setRange=function(e){this.adjustRange(e),this.setLimit("tempoHeightAbove",e),this.setLimit("partHeightAbove",e),this.setLimit("volumeHeightAbove",e),this.setLimit("dynamicHeightAbove",e),this.setLimit("endingHeightAbove",e),this.setLimit("chordHeightAbove",e),this.setLimit("lyricHeightAbove",e),this.setLimit("lyricHeightBelow",e),this.setLimit("chordHeightBelow",e),this.setLimit("volumeHeightBelow",e),this.setLimit("dynamicHeightBelow",e)},n.prototype.addOther=function(e){this.otherchildren.push(e),this.setRange(e)},n.prototype.addBeam=function(e){this.beams.push(e)},n.prototype.setWidth=function(e){this.w=e},e.exports=n},function(e,t,n){var r,i=n(2),a=n(1);!function(){"use strict";r=function(e,t,n,r,s,o){for(var c=0;c<n.chord.length;c++)for(var l=n.chord[c].position,h=n.chord[c].rel_position,u=n.chord[c].name.split("\n"),d=u.length-1;d>=0;d--){var f,p,m,g=u[d],v=0;"left"===l||"right"===l||"below"===l||"above"===l?(p="annotationfont",m="annotation"):(p="gchordfont",m="chord");var b=e.attr(p,m),y=e.calc(g,p,m),w=y.width,x=y.height/a.STEP;switch(l){case"left":v=-(r+=w+7),f=n.averagepitch,t.addExtra(new i(g,v,w+4,f,{type:"text",height:x,dim:b,position:"left"}));break;case"right":v=s+=4,f=n.averagepitch,t.addRight(new i(g,v,w+4,f,{type:"text",height:x,dim:b,position:"right"}));break;case"below":t.addRight(new i(g,0,0,void 0,{type:"text",position:"below",height:x,dim:b,realWidth:w}));break;case"above":t.addRight(new i(g,0,0,void 0,{type:"text",position:"above",height:x,dim:b,realWidth:w}));break;default:if(h){var k=h.y+3*a.STEP;t.addRight(new i(g,v+h.x,0,n.minpitch+k/a.STEP,{position:"relative",type:"text",height:x,dim:b}))}else{var A="above";n.positioning&&n.positioning.chordPosition&&(A=n.positioning.chordPosition),"hidden"!==A&&t.addCentered(new i(g,o/2,w,void 0,{type:"chord",position:A,height:x,dim:b,realWidth:w}))}}}return{roomTaken:r,roomTakenRight:s}}}(),e.exports=r},function(e,t,n){var r=n(1),i=n(55),a=(n(6),function(e){this.paper=new i(e),this.controller=null,this.space=3*r.SPACE,this.padding={},this.reset()});a.prototype.reset=function(){this.paper.clear(),this.y=0,this.abctune=null,this.path=null,this.isPrint=!1,this.initVerticalSpace()},a.prototype.newTune=function(e){this.abctune=e,this.setVerticalSpace(e.formatting),this.isPrint="print"===e.media,this.setPadding(e)},a.prototype.setPaddingOverride=function(e){this.paddingOverride={top:e.paddingtop,bottom:e.paddingbottom,right:e.paddingright,left:e.paddingleft}},a.prototype.setPadding=function(e){function t(t,n,r,i,a){void 0!==e.formatting[r]?t.padding[n]=e.formatting[r]:void 0!==t.paddingOverride[n]?t.padding[n]=t.paddingOverride[n]:t.isPrint?t.padding[n]=i:t.padding[n]=a}t(this,"top","topmargin",38,15),t(this,"bottom","botmargin",38,15),t(this,"left","leftmargin",68,15),t(this,"right","rightmargin",68,15)},a.prototype.adjustNonScaledItems=function(e){this.padding.top/=e,this.padding.bottom/=e,this.padding.left/=e,this.padding.right/=e,this.abctune.formatting.headerfont.size/=e,this.abctune.formatting.footerfont.size/=e},a.prototype.initVerticalSpace=function(){this.spacing={composer:7.56,graceBefore:8.67,graceInside:10.67,graceAfter:16,info:0,lineSkipFactor:1.1,music:7.56,paragraphSkipFactor:.4,parts:11.33,slurHeight:1,staffSeparation:61.33,stemHeight:36.67,subtitle:3.78,systemStaffSeparation:48,text:18.9,title:7.56,top:30.24,vocal:0,words:0}},a.prototype.setVerticalSpace=function(e){void 0!==e.staffsep&&(this.spacing.staffSeparation=4*e.staffsep/3),void 0!==e.composerspace&&(this.spacing.composer=4*e.composerspace/3),void 0!==e.partsspace&&(this.spacing.parts=4*e.partsspace/3),void 0!==e.textspace&&(this.spacing.text=4*e.textspace/3),void 0!==e.musicspace&&(this.spacing.music=4*e.musicspace/3),void 0!==e.titlespace&&(this.spacing.title=4*e.titlespace/3),void 0!==e.sysstaffsep&&(this.spacing.systemStaffSeparation=4*e.sysstaffsep/3),void 0!==e.subtitlespace&&(this.spacing.subtitle=4*e.subtitlespace/3),void 0!==e.topspace&&(this.spacing.top=4*e.topspace/3),void 0!==e.vocalspace&&(this.spacing.vocal=4*e.vocalspace/3),void 0!==e.wordsspace&&(this.spacing.words=4*e.wordsspace/3)},a.prototype.calcY=function(e){return this.y-e*r.STEP},a.prototype.moveY=function(e,t){void 0===t&&(t=1),this.y+=e*t},e.exports=a},function(e,t){var n="http://www.w3.org/2000/svg";function r(e){this.svg=o(),e.appendChild(this.svg)}function i(e,t,n){var r=n-e;return"M "+e+" "+t+" l "+r+" 0 l 0 1 l "+-r+" 0 z "}function a(e,t,n){var r=n-t;return"M "+e+" "+t+" l 0 "+r+" l 1 0 l 0 "+-r+" z "}r.prototype.clear=function(){if(this.svg){var e=this.svg.parentNode;this.svg=o(),e&&(e.innerHTML="",e.appendChild(this.svg))}},r.prototype.setTitle=function(e){var t=document.createElement("title"),n=document.createTextNode(e);t.appendChild(n),this.svg.insertBefore(t,this.svg.firstChild)},r.prototype.setResponsiveWidth=function(e,t){if(this.svg.setAttribute("viewBox","0 0 "+e+" "+t),this.svg.setAttribute("preserveAspectRatio","xMinYMin meet"),this.svg.removeAttribute("height"),this.svg.removeAttribute("width"),this.svg.style.display="inline-block",this.svg.style.position="absolute",this.svg.style.top="0",this.svg.style.left="0",this.svg.parentNode){var n=this.svg.parentNode.getAttribute("class");n?n.indexOf("abcjs-container")<0&&this.svg.parentNode.setAttribute("class",n+" abcjs-container"):this.svg.parentNode.setAttribute("class","abcjs-container"),this.svg.parentNode.style.display="inline-block",this.svg.parentNode.style.position="relative",this.svg.parentNode.style.width="100%";var r=t/e*100;this.svg.parentNode.style["padding-bottom"]=r+"%",this.svg.parentNode.style["vertical-align"]="middle",this.svg.parentNode.style.overflow="hidden"}},r.prototype.setSize=function(e,t){this.svg.setAttribute("width",e),this.svg.setAttribute("height",t)},r.prototype.setScale=function(e){1!==e?(this.svg.style.transform="scale("+e+","+e+")",this.svg.style["-ms-transform"]="scale("+e+","+e+")",this.svg.style["-webkit-transform"]="scale("+e+","+e+")",this.svg.style["transform-origin"]="0 0",this.svg.style["-ms-transform-origin-x"]="0",this.svg.style["-ms-transform-origin-y"]="0",this.svg.style["-webkit-transform-origin-x"]="0",this.svg.style["-webkit-transform-origin-y"]="0"):(this.svg.style.transform="",this.svg.style["-ms-transform"]="",this.svg.style["-webkit-transform"]="")},r.prototype.insertStyles=function(e){var t=document.createElementNS(n,"style");t.textContent=e,this.svg.insertBefore(t,this.svg.firstChild)},r.prototype.setParentStyles=function(e){for(var t in e)e.hasOwnProperty(t)&&this.svg.parentNode&&(this.svg.parentNode.style[t]=e[t]);this.dummySvg&&(document.querySelector("body").removeChild(this.dummySvg),this.dummySvg=null)},r.prototype.rect=function(e){var t=[],n=e.x,r=e.y,s=e.x+e.width,o=e.y+e.height;return t.push(i(n,r,s)),t.push(i(n,o,s)),t.push(a(s,r,o)),t.push(a(n,o,r)),this.path({path:t.join(" "),stroke:"none"})},r.prototype.dottedLine=function(e){var t=document.createElementNS(n,"line");t.setAttribute("x1",e.x1),t.setAttribute("x2",e.x2),t.setAttribute("y1",e.y1),t.setAttribute("y2",e.y2),t.setAttribute("stroke",e.stroke),t.setAttribute("stroke-dasharray","5,5"),this.svg.insertBefore(t,this.svg.firstChild)},r.prototype.rectBeneath=function(e){var t=document.createElementNS(n,"rect");t.setAttribute("x",e.x),t.setAttribute("width",e.width),t.setAttribute("y",e.y),t.setAttribute("height",e.height),e.stroke&&t.setAttribute("stroke",e.stroke),e["stroke-opacity"]&&t.setAttribute("stroke-opacity",e["stroke-opacity"]),e.fill&&t.setAttribute("fill",e.fill),e["fill-opacity"]&&t.setAttribute("fill-opacity",e["fill-opacity"]),this.svg.insertBefore(t,this.svg.firstChild)},r.prototype.text=function(e,t,r){var i=document.createElementNS(n,"text");for(var a in t)t.hasOwnProperty(a)&&i.setAttribute(a,t[a]);for(var s=(""+e).split("\n"),o=0;o<s.length;o++){var c=document.createElementNS(n,"tspan");c.textContent=s[o],c.setAttribute("x",t.x?t.x:0),0!==o&&c.setAttribute("dy","1.2em"),i.appendChild(c)}return r?r.appendChild(i):this.append(i),i},r.prototype.guessWidth=function(e,t){var n,r=this.createDummySvg(),i=this.text(e,t,r);try{n=i.getBBox(),n=isNaN(n.height)||!n.height?{width:t["font-size"]/2,height:t["font-size"]+2}:{width:n.width,height:n.height}}catch(e){n={width:t["font-size"]/2,height:t["font-size"]+2}}return r.removeChild(i),n},r.prototype.createDummySvg=function(){if(!this.dummySvg){this.dummySvg=o();this.dummySvg.setAttribute("style",["display: block !important;","height: 1px;","width: 1px;","position: absolute;"].join("")),document.querySelector("body").appendChild(this.dummySvg)}return this.dummySvg};var s={};function o(){var e=document.createElementNS(n,"svg");return e.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),e.setAttribute("role","img"),e}r.prototype.getTextSize=function(e,t,n){if("number"==typeof e&&(e=""+e),!e||e.match(/^\s+$/))return{width:0,height:0};var r;if(e.length<20&&(r=e+JSON.stringify(t),s[r]))return s[r];var i,a=!n;n||(n=this.text(e,t));try{i=n.getBBox(),i=isNaN(i.height)||!i.height?this.guessWidth(e,t):{width:i.width,height:i.height}}catch(n){i=this.guessWidth(e,t)}return a&&(this.currentGroup?this.currentGroup.removeChild(n):this.svg.removeChild(n)),r&&(s[r]=i),i},r.prototype.openGroup=function(e){e=e||{};var t=document.createElementNS(n,"g");return e.klass&&t.setAttribute("class",e.klass),e.fill&&t.setAttribute("fill",e.fill),e.stroke&&t.setAttribute("stroke",e.stroke),e.prepend?this.svg.insertBefore(t,this.svg.firstChild):this.svg.appendChild(t),this.currentGroup=t,t},r.prototype.closeGroup=function(){var e=this.currentGroup;return this.currentGroup=null,e},r.prototype.path=function(e){var t=document.createElementNS(n,"path");for(var r in e)e.hasOwnProperty(r)&&("path"===r?t.setAttributeNS(null,"d",e.path):t.setAttributeNS(null,r,e[r]));return this.append(t),t},r.prototype.pathToBack=function(e){var t=document.createElementNS(n,"path");for(var r in e)e.hasOwnProperty(r)&&("path"===r?t.setAttributeNS(null,"d",e.path):t.setAttributeNS(null,r,e[r]));return this.prepend(t),t},r.prototype.append=function(e){this.currentGroup?this.currentGroup.appendChild(e):this.svg.appendChild(e)},r.prototype.prepend=function(e){this.currentGroup?this.currentGroup.appendChild(e):this.svg.insertBefore(e,this.svg.firstChild)},r.prototype.setAttributeOnElement=function(e,t){for(var n in t)t.hasOwnProperty(n)&&e.setAttributeNS(null,n,t[n])},r.prototype.moveElementToChild=function(e,t){e.appendChild(t)},e.exports=r},function(e,t){e.exports=function(e,t,n,r,i,a){var s;this.rows=[],t&&this.rows.push({move:t});var o=n.calc("textfont","defined-text");if(""===e)this.rows.push({move:2*o.attr["font-size"]});else if("string"==typeof e)this.rows.push({move:o.attr["font-size"]/2}),this.rows.push({left:r,text:e,font:"textfont",klass:"defined-text",anchor:"start",absElemType:"freeText"}),s=a.calc(e,"textfont","defined-text"),this.rows.push({move:s.height});else for(var c="textfont",l=!1,h=0;h<e.length;h++){c=e[h].font?e[h].font:"textfont",e[h].center&&(l=!0);var u=l?"middle":"start",d=l?i/2:r;this.rows.push({left:d,text:e[h].text,font:c,klass:"defined-text",anchor:u,absElemType:"freeText"}),s=a.calc(e[h].text,c,"defined-text"),this.rows.push({move:s.height})}}},function(e,t){e.exports=function(e,t,n){this.rows=[],e&&this.rows.push({move:e}),this.rows.push({separator:t}),n&&this.rows.push({move:n})}},function(e,t){e.exports=function(e,t,n,r,i,a){this.rows=[],e&&this.rows.push({move:e});var s=t.titleleft?"start":"middle";t.titleleft,this.rows.push({left:r,text:n,font:"subtitlefont",klass:"text subtitle",anchor:s});var o=a.calc(n,"subtitlefont","text subtitle");this.rows.push({move:o.height})}},function(e,t){function n(e,t,n,r,i,a,s,o){if(this.rows=[],e.header&&i){var c=o.calc("XXXX","headerfont","abcjs-header abcjs-meta-top").height;this.addTextIf(a,e.header.left,"headerfont","header meta-top",-c,0,"start",o),this.addTextIf(a+r/2,e.header.center,"headerfont","header meta-top",-c,null,"middle",o),this.addTextIf(a+r,e.header.right,"headerfont","header meta-top",-c,null,"end",o)}i&&this.rows.push({move:s.top});var l=t.titleleft?"start":"middle",h=t.titleleft?a:a+r/2;if(e.title&&this.addTextIf(h,e.title,"titlefont","title meta-top",s.title,0,l,o,"title"),n[0]&&n[0].subtitle&&this.addTextIf(h,n[0].subtitle,"subtitlefont","text meta-top subtitle",s.subtitle,0,l,o,"subtitle"),e.rhythm||e.origin||e.composer){if(this.rows.push({move:s.composer}),e.rhythm&&e.rhythm.length>0){var u=!(!e.composer&&!e.origin);this.addTextIf(a,e.rhythm,"infofont","meta-top rhythm",0,null,"start",o,"rhythm",u)}var d="";e.composer&&(d+=e.composer),e.origin&&(d+=" ("+e.origin+")"),d.length>0&&this.addTextIf(a+r,d,"composerfont","meta-top composer",0,null,"end",o,"composer")}e.author&&e.author.length>0&&this.addTextIf(a+r,e.author,"composerfont","meta-top author",0,0,"end",o,"author"),e.partOrder&&e.partOrder.length>0&&this.addTextIf(a,e.partOrder,"partsfont","meta-top part-order",0,0,"start",o,"partOrder")}n.prototype.addTextIf=function(e,t,n,r,i,a,s,o,c,l){if(t&&(i&&this.rows.push({move:i}),this.rows.push({left:e,text:t,font:n,klass:r,anchor:s,absElemType:c}),!l)){var h=o.calc(t,n,r);this.rows.push({move:h.height}),a&&this.rows.push({move:a})}},e.exports=n},function(e,t){function n(e,t,n,r,i,a){this.rows=[],e.unalignedWords&&e.unalignedWords.length>0&&this.unalignedWords(e.unalignedWords,r,i,a),this.extraText(e,r,i,a),e.footer&&n&&this.footer(e.footer,r,a)}n.prototype.unalignedWords=function(e,t,n,r){var i="meta-bottom unaligned-words";this.rows.push({startGroup:"unalignedWords",klass:"abcjs-meta-bottom abcjs-unaligned-words"});var a=r.calc("i","wordsfont",i);this.rows.push({move:n.words});for(var s=0;s<e.length;s++)if(""===e[s])this.rows.push({move:a.height});else if("string"==typeof e[s])this.addTextIf(t+50,e[s],"wordsfont",i,0,0,"start",r,null,!0);else{for(var o=0,c=0,l=0;l<e[s].length;l++){var h=e[s][l],u=h.font?h.font:"wordsfont";this.rows.push({left:t+50+c,text:h.text,font:u,anchor:"start"});var d=r.calc(h.text,"wordsfont",i);o=Math.max(o,d.height),c+=d.width," "===h.text[h.text.length-1]&&(c+=a.width)}this.rows.push({move:o})}this.rows.push({move:2*a.height}),this.rows.push({endGroup:"unalignedWords",absElemType:"unalignedWords"})},n.prototype.extraText=function(e,t,n,r){var i="";e.book&&(i+="Book: "+e.book+"\n"),e.source&&(i+="Source: "+e.source+"\n"),e.discography&&(i+="Discography: "+e.discography+"\n"),e.notes&&(i+="Notes: "+e.notes+"\n"),e.transcription&&(i+="Transcription: "+e.transcription+"\n"),e.history&&(i+="History: "+e.history+"\n"),e["abc-copyright"]&&(i+="Copyright: "+e["abc-copyright"]+"\n"),e["abc-creator"]&&(i+="Creator: "+e["abc-creator"]+"\n"),e["abc-edited-by"]&&(i+="Edited By: "+e["abc-edited-by"]+"\n"),i.length>0&&this.addTextIf(t,i,"historyfont","meta-bottom extra-text",n.info,0,"start",r,"extraText")},n.prototype.footer=function(e,t,n){var r="header meta-bottom",i="footerfont";this.rows.push({startGroup:"footer",klass:r}),this.addTextIf(paddingLeft,e.left,i,r,0,0,"start",n),this.addTextIf(paddingLeft+width/2,e.center,i,r,0,0,"middle",n),this.addTextIf(paddingLeft+width,e.right,i,r,0,0,"end",n)},n.prototype.addTextIf=function(e,t,n,r,i,a,s,o,c,l){if(t){i&&this.rows.push({move:i});var h={left:e,text:t,font:n,anchor:s};c&&(h.absElemType=c),l||(h.klass=r),this.rows.push(h);var u=o.calc("A",n,r),d=t.split("\n").length;"\n"===t[t.length-1]&&d--;var f=1.1*u.height*d;this.rows.push({move:Math.round(f)}),a&&this.rows.push({move:a})}},e.exports=n},function(e,t,n){var r=n(1);function i(e){"keyboard"===this.dragMechanism&&0!==this.dragYStep&&this.dragTarget&&d.bind(this)(this.dragTarget,this.dragYStep,this.selectables.length,this.dragIndex,e),this.dragYStep=0}function a(e){switch(e.keyCode){case 38:case 40:e.preventDefault()}}function s(e){var t=!1,n=e.target.dataset.index;switch(e.keyCode){case 13:case 32:t=!0,this.dragTarget=this.selectables[n],this.dragIndex=n,this.dragMechanism="keyboard",h.bind(this)();break;case 38:t=!0,this.dragTarget=this.selectables[n],this.dragIndex=n,this.dragTarget.isDraggable&&(this.dragging&&this.dragTarget.isDraggable&&this.dragTarget.absEl.highlight(void 0,this.dragColor),this.dragYStep--,this.dragTarget.svgEl.setAttribute("transform","translate(0,"+this.dragYStep*r.STEP+")"));break;case 40:t=!0,this.dragTarget=this.selectables[n],this.dragIndex=n,this.dragMechanism="keyboard",this.dragTarget.isDraggable&&(this.dragging&&this.dragTarget.isDraggable&&this.dragTarget.absEl.highlight(void 0,this.dragColor),this.dragYStep++,this.dragTarget.svgEl.setAttribute("transform","translate(0,"+this.dragYStep*r.STEP+")"));break;case 9:0!==this.dragYStep&&h.bind(this)()}t&&e.preventDefault()}function o(e,t){var n,r,i,a=function(e,t){for(var n=0;n<e.length;n++)if(t===e[n].svgEl)return n;return-1}(e.selectables,function(e){if("svg"===e.tagName)return e;for(var t=e.getAttribute("selectable");!t;)t="svg"===(e=e.parentElement).tagName||e.getAttribute("selectable");return e}(t.target));return a>=0?(n=(i=function(e,t){return e.x<=t.offsetX&&e.x+e.width>=t.offsetX&&e.y<=t.offsetY&&e.y+e.height>=t.offsetY?[t.offsetX,t.offsetY]:[t.layerX,t.layerY]}(e.selectables[a].svgEl.getBBox(),t))[0],r=i[1]):(i=function(e,t){var n,r,i=1,a=1;return t.viewBox.baseVal&&(0!==t.viewBox.baseVal.width&&(i=t.viewBox.baseVal.width/t.clientWidth),0!==t.viewBox.baseVal.height&&(a=t.viewBox.baseVal.height/t.clientHeight)),"svg"===e.target.tagName?(n=e.offsetX,r=e.offsetY):(n=e.layerX,r=e.layerY),[n*=i,r*=a]}(t,e.renderer.paper.svg),a=function(e,t,n){for(var r=9999999,i=-1,a=0;a<e.selectables.length&&r>0;a++){var s=e.selectables[a];if(e.getDim(s),s.dim.left<t&&s.dim.right>t&&s.dim.top<n&&s.dim.bottom>n)i=a,r=0;else if(s.dim.top<n&&s.dim.bottom>n){var o=Math.min(Math.abs(s.dim.left-t),Math.abs(s.dim.right-t));o<r&&(r=o,i=a)}else if(s.dim.left<t&&s.dim.right>t){var c=Math.min(Math.abs(s.dim.top-n),Math.abs(s.dim.bottom-n));c<r&&(r=c,i=a)}else{var l=Math.abs(t-s.dim.left)>Math.abs(t-s.dim.right)?Math.abs(t-s.dim.right):Math.abs(t-s.dim.left),h=Math.abs(n-s.dim.top)>Math.abs(n-s.dim.bottom)?Math.abs(n-s.dim.bottom):Math.abs(n-s.dim.top),u=Math.sqrt(l*l+h*h);u<r&&(r=u,i=a)}}return i>=0&&r<=12?i:-1}(e,n=i[0],r=i[1])),{x:n,y:r,clickedOn:a}}function c(e){var t=o(this,e);t.clickedOn>=0&&0===e.button&&(this.dragTarget=this.selectables[t.clickedOn],this.dragIndex=t.clickedOn,this.dragMechanism="mouse",this.dragMouseStart={x:t.x,y:t.y},this.dragging&&this.dragTarget.isDraggable&&(!function(e,t){if(e){var n=g(e.svg);n[t]=!0,v(e.svg,n)}}(this.renderer.paper,"abcjs-dragging-in-progress"),this.dragTarget.absEl.highlight(void 0,this.dragColor)))}function l(e){if(this.dragTarget&&this.dragging&&this.dragTarget.isDraggable&&"mouse"===this.dragMechanism){var t=o(this,e),n=Math.round((t.y-this.dragMouseStart.y)/r.STEP);n!==this.dragYStep&&(this.dragYStep=n,this.dragTarget.svgEl.setAttribute("transform","translate(0,"+n*r.STEP+")"))}}function h(e){this.dragTarget&&(p.bind(this)(),this.dragTarget.absEl&&this.dragTarget.absEl.highlight&&(this.selected=[this.dragTarget.absEl],this.dragTarget.absEl.highlight(void 0,this.selectionColor)),d.bind(this)(this.dragTarget,this.dragYStep,this.selectables.length,this.dragIndex,e),this.dragTarget.svgEl&&this.dragTarget.svgEl.focus&&(this.dragTarget.svgEl.focus(),this.dragTarget=null,this.dragIndex=-1),function(e,t){if(e){var n=g(e.svg);delete n[t],v(e.svg,n)}}(this.renderer.svg,"abcjs-dragging-in-progress"))}function u(e){e>=0&&e<this.selectables.length&&(this.dragTarget=this.selectables[e],this.dragIndex=e,this.dragMechanism="keyboard",h.bind(this)())}function d(e,t,n,r,i){var a=[];if(e.absEl.elemset){for(var s={},o=0;o<e.absEl.elemset.length;o++){var c=e.absEl.elemset[o];if(c)for(var l=c.getAttribute("class").split(" "),h=0;h<l.length;h++)s[l[h]]=!0}for(var d=0;d<Object.keys(s).length;d++)a.push(Object.keys(s)[d])}for(var p={},m=0;m<a.length;m++)f(a[m],"abcjs-v",p,"voice"),f(a[m],"abcjs-l",p,"line"),f(a[m],"abcjs-m",p,"measure");e.staffPos&&(p.staffPos=e.staffPos);for(var g=0;g<this.listeners.length;g++)this.listeners[g](e.absEl.abcelem,e.absEl.tuneNumber,a.join(" "),p,{step:t,max:n,index:r,setSelection:u.bind(this)},i)}function f(e,t,n,r){if(0===e.indexOf(t)){var i=e.replace(t,""),a=parseInt(i,10);""+a===i&&(n[r]=a)}}function p(){for(var e=0;e<this.selected.length;e++)this.selected[e].unhighlight();this.selected=[]}function m(e,t){p.bind(this)();for(var n=0;n<this.staffgroups.length;n++)for(var r=this.staffgroups[n].voices,i=0;i<r.length;i++)for(var a=r[i].children,s=0;s<a.length;s++){var o=a[s].abcelem.startChar,c=a[s].abcelem.endChar;(t>o&&e<c||t===e&&t===c)&&(this.selected[this.selected.length]=a[s],a[s].highlight(void 0,this.selectionColor))}}function g(e){var t=e.getAttribute("class");t||(t="");for(var n=t.split(" "),r={},i=0;i<n.length;i++)r[n[i]]=!0;return r}function v(e,t){var n=[];for(var r in t)t.hasOwnProperty(r)&&n.push(r);e.setAttribute("class",n.join(" "))}e.exports=function(e){if(e.rangeHighlight=m,e.dragging)for(var t=0;t<e.selectables.length;t++){var n=e.selectables[t];n.selectable&&(n.svgEl.setAttribute("tabindex",0),n.svgEl.setAttribute("data-index",t),n.svgEl.addEventListener("keydown",a.bind(e)),n.svgEl.addEventListener("keyup",s.bind(e)),n.svgEl.addEventListener("focus",i.bind(e)))}e.renderer.paper.svg.addEventListener("mousedown",c.bind(e)),e.renderer.paper.svg.addEventListener("mousemove",l.bind(e)),e.renderer.paper.svg.addEventListener("mouseup",h.bind(e))}},function(e,t,n){var r,i=n(63),a=n(66),s=n(67),o=n(69);!function(){"use strict";r=function(t,n,r,s){var o,c,l=r;for(o=0;o<n.lines.length;o++)(c=n.lines[o]).staff&&(e(t,r,s,c.staffGroup,n.formatting,o===n.lines.length-1,!1),c.staffGroup.w>l&&(l=c.staffGroup.w));for(o=0;o<n.lines.length;o++)if((c=n.lines[o]).staffGroup&&c.staffGroup.voices){for(var h=0;h<c.staffGroup.voices.length;h++)i(c.staffGroup.voices[h]);a(t,c.staffGroup)}for(o=0;o<n.lines.length;o++)(c=n.lines[o]).staffGroup&&c.staffGroup.setHeight();return l};var e=function(e,n,r,i,a,c,l){for(var h=o(e,i.getTextSize,i.voices,i.brace,i.bracket),u=r,d=0;d<8;d++){var f=s(u,e,l,i,h);if(u=t(c,!!a.stretchlast&&a.stretchlast,n+e.padding.left,i.w,u,f.spacingUnits,f.minSpace),l&&console.log("setXSpace",d,i.w,u,i.minspace),null===u)break}!function(e){for(var t=0;t<e.length;t++)for(var n=e[t],r=1;r<n.children.length-1;r++){var i=n.children[r];if(i.abcelem.rest&&("whole"===i.abcelem.rest.type||"multimeasure"===i.abcelem.rest.type)){var a=n.children[r-1],s=n.children[r+1];i.center(a,s)}}}(i.voices)};function t(e,t,n,r,i,a,s){return e&&r/n<.66&&!t||Math.abs(n-r)<2?null:a>0?((i=(n-(r-a*i))/a)*s>50&&(i=50/s),i):null}}(),e.exports=r},function(e,t,n){var r=n(64),i=n(12),a=n(65);function s(e){for(var t=0;t<e.elems.length;t++){var n=e.elems[t];if(n.top)for(var r=l(n,e),i=0;i<n.children.length;i++){var a=n.children[i];if("ornament"===a.klass&&a.bottom-1.5<r){var s=r-a.bottom+1.5;a.bottom+=s,a.top+=s,a.pitch+=s,r=n.top=a.top}}}}function o(e,t){var n=t.getChordDim();if(n){for(var r=0;r<e.length;r++){if(e[r]<n.left)return r>0&&t.putChordInLane(r),void(e[r]=n.right)}e.push(n.right),t.putChordInLane(e.length-1)}}function c(e){for(var t=0,n=0;n<e.children.length;n++){e.children[n].chordHeightBelow&&t++}return t}function l(e,t){return t=t.beams[0],i(t.startX,t.startY,t.endX,t.endY,e.x)}e.exports=function(e){for(var t=0;t<e.beams.length;t++)if("BeamElem"===e.beams[t].type){r(e.beams[t]),s(e.beams[t]);for(var n=0;n<e.beams[t].elems.length;n++)e.adjustRange(e.beams[t].elems[n])}for(e.staff.specialY.chordLines=function(e){var t,n,r,i=[0],a=[0];for(t=0;t<e.length;t++){for(n=0;n<e[t].children.length;n++)(r=e[t].children[n]).chordHeightAbove&&o(i,r);for(n=e[t].children.length-1;n>=0;n--)(r=e[t].children[n]).chordHeightBelow&&o(a,r)}(i.length>1||a.length>1)&&function(e,t,n){for(var r=0;r<e.length;r++){c(e[r]);for(var i=0;i<e[r].children.length;i++){var a=e[r].children[i];a.chordHeightAbove&&a.invertLane(t)}}}(e,i.length);return{above:i.length,below:a.length}}(e.children),t=0;t<e.otherchildren.length;t++){var i=e.otherchildren[t];"TripletElem"===i.type&&(a(i),e.adjustRange(i))}e.staff.top=Math.max(e.staff.top,e.top),e.staff.bottom=Math.min(e.staff.bottom,e.bottom)}},function(e,t,n){var r=n(2),i=n(1),a=n(12),s=function(e){return void 0===e?0:Math.floor(Math.log(e)/Math.log(2))};function o(e,t,n,r){if(!e.children)return r;for(var i=0;i<e.children.length;i++){var a=e.children[i];t&&void 0!==a.top&&"flags.ugrace"===a.c?r=Math.max(r,a.top-n):t||void 0===a.bottom||"flags.ugrace"!==a.c||(r=Math.max(r,n-a.bottom+7))}return r}function c(e,t,n){var r=t.heads[e?0:t.heads.length-1],i=n.heads[e?0:n.heads.length-1],a=r.x;e&&(a+=r.w-.6);var s=i.x;return[a,s+=e?i.w:.6]}e.exports=function(e){if(0!==e.elems.length&&!e.allrests){var t=function(e,t){var n=e?i.STEP:-i.STEP;t&&(n*=.4);return n}(e.stemsUp,e.isgrace),n=e.elems[0],l=e.elems[e.elems.length-1],h=0,u=e.stemsUp?n.abcelem.maxpitch:n.abcelem.minpitch;h=o(n,e.stemsUp,u,h),h=o(l,e.stemsUp,u,h),h=Math.max(e.stemHeight,h+3);var d=function(e,t,n,r,i,a,s,o,c,l){var h=n-2,u=n-2,d=Math.round(r?Math.max(e+h,c+u):Math.min(e-h,o-u)),f=function(e,t,n,r){if(r)return 0;var i=e-t,a=n/2;i>a&&(i=a);i<-a&&(i=-a);return i}(i,a,t,s),p=d+Math.floor(f/2),m=d+Math.floor(-f/2);l||(r&&d<6||!r&&d>6)&&(p=6,m=6);return[p,m]}(e.average,e.elems.length,h,e.stemsUp,n.abcelem.averagepitch,l.abcelem.averagepitch,e.isflat,e.min,e.max,e.isgrace),f=c(e.stemsUp,n,l);e.addBeam({startX:f[0],endX:f[1],startY:d[0],endY:d[1],dy:t});for(var p=function(e,t,n,r,i){for(var o=[],l=[],h=0;h<e.length;h++){var u=e[h];if(!u.abcelem.rest){var d=u.heads[t?0:u.heads.length-1],f=d.x+(t?d.w:0),p=a(n.startX,n.startY,n.endX,n.endY,f),m=t?-1.5:1.5;r&&(m=2*m/3);var g=u.abcelem.duration;0===g&&(g=.25);for(var v=s(g);v<-3;v++){var b=-4-v;if(l[b]?l[b].single=!1:l[b]={x:f+(t?-.6:0),y:p+m*(b+1),durlog:v,single:!0},h>0&&u.abcelem.beambr&&u.abcelem.beambr<=b+1){l[b].split||(l[b].split=[l[b].x]);var y=c(t,e[h-1],u);l[b].split[l[b].split.length-1]>=y[0]&&(y[0]+=u.w),l[b].split.push(y[0]),l[b].split.push(y[1])}}for(var w=l.length-1;w>=0;w--)if(h===e.length-1||s(e[h+1].abcelem.duration)>-w-4){var x=f,k=p+m*(w+1);l[w].single&&(x=0===h?f+5:f-5,k=a(n.startX,n.startY,n.endX,n.endY,x)+m*(w+1));var A={startX:l[w].x,endX:x,startY:l[w].y,endY:k,dy:i};if(void 0!==l[w].split){var T=l[w].split;A.endX<=T[T.length-1]&&(T[T.length-1]-=u.w),T.push(A.endX),A.split=l[w].split}o.push(A),l=l.slice(0,w)}}}return o}(e.elems,e.stemsUp,e.beams[0],e.isgrace,t),m=0;m<p.length;m++)e.addBeam(p[m]);!function(e,t,n,s,o){for(var c=0;c<e.length;c++){var l=e[c];if(!l.abcelem.rest){var h=!l.addExtra,u=h?o:l,d=l.heads[t?0:l.heads.length-1],f=d.pitch+(t?.2:-.2),p=t?d.w:0,m=d.x+p,g=a(n.startX,n.startY,n.endX,n.endY,m),v=t?-.6:.6;t||(g-=s/2/i.STEP),h&&(p+=l.heads[0].dx),"noteheads.slash.quarter"===d.c&&(t?f+=1:f-=1);var b=new r(null,p,0,f,{type:"stem",pitch2:g,linewidth:v});b.setX(u.x),u.addRight(b)}}}(e.elems,e.stemsUp,e.beams[0],t,e.mainNote)}}},function(e,t,n){var r=n(12);function i(e){return e.stemsUp}e.exports=function(e){if(e.anchor1&&e.anchor2){e.hasBeam=!!e.anchor1.parent.beam&&e.anchor1.parent.beam===e.anchor2.parent.beam;var t=e.anchor1.parent.beam;if(!e.hasBeam||t.elems[0]===e.anchor1.parent&&t.elems[t.elems.length-1]===e.anchor2.parent||(e.hasBeam=!1),e.hasBeam){var n=i(t)?e.anchor1.x+e.anchor1.w:e.anchor1.x;e.yTextPos=function(e,t,n){if(0===n.beams.length)return 0;n=n.beams[0];var i=e+(t-e)/2;return r(n.startX,n.startY,n.endX,n.endY,i)}(n,e.anchor2.x,t),e.yTextPos+=i(t)?3:-2,e.xTextPos=(o=n,c=e.anchor2.x,o+(c-o)/2),e.top=e.yTextPos+1,e.bottom=e.yTextPos-2,i(t)&&(e.endingHeightAbove=4)}else{e.startNote=Math.max(e.anchor1.parent.top,9)+4,e.endNote=Math.max(e.anchor2.parent.top,9)+4,"rest"===e.anchor1.parent.type&&"rest"!==e.anchor2.parent.type?e.startNote=e.endNote:"rest"===e.anchor2.parent.type&&"rest"!==e.anchor1.parent.type&&(e.endNote=e.startNote);for(var a=0,s=0;s<e.middleElems.length;s++)a=Math.max(a,e.middleElems[s].top);((a+=4)>e.startNote||a>e.endNote)&&(e.startNote=a,e.endNote=a),e.flatBeams&&(e.startNote=Math.max(e.startNote,e.endNote),e.endNote=Math.max(e.startNote,e.endNote)),e.yTextPos=e.startNote+(e.endNote-e.startNote)/2,e.xTextPos=e.anchor1.x+(e.anchor2.x+e.anchor2.w-e.anchor1.x)/2,e.top=e.yTextPos+1}}var o,c;delete e.middleElems,delete e.flatBeams}},function(e,t,n){var r=n(1),i=1;function a(e,t,n,r){if(e.specialY[n]){var a=e.specialY[n];r&&(a*=r),e.top+=a+i,t[n]=e.top}}function s(e,t,n){var r,i;for(r=0;r<t.children.length;r++)o(e,i=t.children[r],n);for(r=0;r<t.otherchildren.length;r++)switch((i=t.otherchildren[r]).type){case"CrescendoElem":c(e,i);break;case"DynamicDecoration":l(e,i);break;case"EndingElem":h(e,i)}}function o(e,t,n){for(var r=0;r<t.children.length;r++){var i=t.children[r];for(var a in t.specialY)t.specialY.hasOwnProperty(a)&&i[a]&&(i.pitch=e[a],void 0===i.top&&("TempoElement"===i.type?u(e,i):d(e,i,n),t.pushTop(i.top),t.pushBottom(i.bottom)))}}function c(e,t){t.dynamicHeightAbove?t.pitch=e.dynamicHeightAbove:t.pitch=e.dynamicHeightBelow}function l(e,t){t.volumeHeightAbove?t.pitch=e.volumeHeightAbove:t.pitch=e.volumeHeightBelow}function h(e,t){t.pitch=e.endingHeightAbove-2}function u(e,t){if(t.pitch=e.tempoHeightAbove,t.top=e.tempoHeightAbove,t.bottom=e.tempoHeightAbove,t.note){var n=t.pitch-t.totalHeightInPitches+1;t.note.top=n,t.note.bottom=n;for(var r=0;r<t.note.children.length;r++){var i=t.note.children[r];i.top+=n,i.bottom+=n,i.pitch+=n,void 0!==i.pitch2&&(i.pitch2+=n)}}}function d(e,t,n){switch(t.type){case"part":t.top=e.partHeightAbove+t.height,t.bottom=e.partHeightAbove;break;case"text":case"chord":t.chordHeightAbove?(t.top=e.chordHeightAbove,t.bottom=e.chordHeightAbove):(t.top=e.chordHeightBelow,t.bottom=e.chordHeightBelow);break;case"lyric":t.lyricHeightAbove?(t.top=e.lyricHeightAbove,t.bottom=e.lyricHeightAbove):(t.top=e.lyricHeightBelow+n.vocal/r.STEP,t.bottom=e.lyricHeightBelow+n.vocal/r.STEP,t.pitch-=n.vocal/r.STEP);break;case"debug":t.top=e.chordHeightAbove,t.bottom=e.chordHeightAbove}void 0!==t.pitch&&void 0!==t.top||console.error("RelativeElement position not set.",t.type,t.pitch,t.top,e)}e.exports=function(e,t){for(var n,o=0;o<t.staffs.length;o++){var c=t.staffs[o],l={tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0};if(e.showDebug&&e.showDebug.indexOf("box")>=0&&(c.originalTop=c.top,c.originalBottom=c.bottom),a(c,l,"lyricHeightAbove"),a(c,l,"chordHeightAbove",c.specialY.chordLines.above),c.specialY.endingHeightAbove&&(c.specialY.chordHeightAbove?c.top+=2:c.top+=c.specialY.endingHeightAbove+i,l.endingHeightAbove=c.top),c.specialY.dynamicHeightAbove&&c.specialY.volumeHeightAbove?(c.top+=Math.max(c.specialY.dynamicHeightAbove,c.specialY.volumeHeightAbove)+i,l.dynamicHeightAbove=c.top,l.volumeHeightAbove=c.top):(a(c,l,"dynamicHeightAbove"),a(c,l,"volumeHeightAbove")),a(c,l,"partHeightAbove"),a(c,l,"tempoHeightAbove"),c.specialY.lyricHeightBelow&&(c.specialY.lyricHeightBelow+=e.spacing.vocal/r.STEP,l.lyricHeightBelow=c.bottom,c.bottom-=c.specialY.lyricHeightBelow+i),c.specialY.chordHeightBelow){l.chordHeightBelow=c.bottom;var h=c.specialY.chordHeightBelow;c.specialY.chordLines.below&&(h*=c.specialY.chordLines.below),c.bottom-=h+i}c.specialY.volumeHeightBelow&&c.specialY.dynamicHeightBelow?(l.volumeHeightBelow=c.bottom,l.dynamicHeightBelow=c.bottom,c.bottom-=Math.max(c.specialY.volumeHeightBelow,c.specialY.dynamicHeightBelow)+i):c.specialY.volumeHeightBelow?(l.volumeHeightBelow=c.bottom,c.bottom-=c.specialY.volumeHeightBelow+i):c.specialY.dynamicHeightBelow&&(l.dynamicHeightBelow=c.bottom,c.bottom-=c.specialY.dynamicHeightBelow+i),e.showDebug&&e.showDebug.indexOf("box")>=0&&(c.positionY=l);for(var u=0;u<c.voices.length;u++){s(l,t.voices[c.voices[u]],e.spacing)}if(void 0!==n){var d=n+(c.top-10),f=e.spacing.systemStaffSeparation/r.STEP-d;f>0&&(c.top+=f)}n=2-c.bottom}}},function(e,t,n){var r=n(68);function i(e){for(var t=0;t<e.length;t++)if(!r.layoutEnded(e[t]))return!1;return!0}function a(e){return e.durationindex-(e.children[e.i]&&e.children[e.i].duration>0?0:5e-7)}e.exports=function(e,t,n,s,o){var c,l=0,h=1e3,u=o;s.startx=u;var d=0;for(n&&console.log("init layout",e),c=0;c<s.voices.length;c++)r.beginLayout(u,s.voices[c]);for(var f=0;!i(s.voices);){for(d=null,c=0;c<s.voices.length;c++)r.layoutEnded(s.voices[c])||d&&!(a(s.voices[c])<d)||(d=a(s.voices[c]));var p=[],m=[];for(c=0;c<s.voices.length;c++){a(s.voices[c])-d>1e-7?m.push(s.voices[c]):p.push(s.voices[c])}f=0;var g=0;for(c=0;c<p.length;c++)r.getNextX(p[c])>u&&(u=r.getNextX(p[c]),f=r.getSpacingUnits(p[c]),g=p[c].spacingduration);for(l+=f,h=Math.min(h,f),n&&console.log("currentduration: ",d,l,h),c=0;c<p.length;c++){var v=r.layoutOneItem(u,e,p[c]),b=v-u;if(b>0){u=v;for(var y=0;y<c;y++)r.shiftRight(b,p[y])}}for(c=0;c<m.length;c++)m[c].spacingduration-=g,r.updateNextX(u,e,m[c]);for(c=0;c<p.length;c++){var w=p[c];r.updateIndices(w)}}for(c=0;c<s.voices.length;c++)r.getNextX(s.voices[c])>u&&(u=r.getNextX(s.voices[c]),f=r.getSpacingUnits(s.voices[c]));return l+=f,s.setWidth(u),{spacingUnits:l,minSpace:h}}},function(e,t){var n=function(){};n.beginLayout=function(e,t){t.i=0,t.durationindex=0,t.startx=e,t.minx=e,t.nextx=e,t.spacingduration=0},n.layoutEnded=function(e){return e.i>=e.children.length},n.getNextX=function(e){return Math.max(e.minx,e.nextx)},n.getSpacingUnits=function(e){return Math.sqrt(8*e.spacingduration)},n.layoutOneItem=function(e,t,n){var r=n.children[n.i];if(!r)return 0;var i=e-n.minx,a=function(e){return-e.extraw}(r);return i<a&&(0===n.i||"bar"!==r.type||"part"!==n.children[n.i-1].type&&"tempo"!==n.children[n.i-1].type)&&(e+=a-i),r.setX(e),n.spacingduration=r.duration,n.minx=e+function(e){return e.w}(r),n.i!==n.children.length-1&&(n.minx+=r.minspacing),this.updateNextX(e,t,n),e},n.shiftRight=function(e,t){var n=t.children[t.i];n&&(n.setX(n.x+e),t.minx+=e,t.nextx+=e)},n.updateNextX=function(e,t,n){n.nextx=e+t*Math.sqrt(8*n.spacingduration)},n.updateIndices=function(e){this.layoutEnded(e)||(e.durationindex+=e.children[e.i].duration,"bar"===e.children[e.i].type&&(e.durationindex=Math.round(64*e.durationindex)/64),e.i++)},e.exports=n},function(e,t){function n(e,t,n){if(e)for(var i=0;i<e.length;i++)r(t,e[i]),n=Math.max(n,e[i].getWidth());return n}function r(e,t){t.x=e}e.exports=function(e,t,r,i,a){var s,o,c=e.padding.left,l=0;for(s=0;s<r.length;s++)r[s].header&&(o=t.calc(r[s].header,"voicefont",""),l=Math.max(l,o.width));if(i)for(s=0;s<i.length;s++)i[s].header&&(o=t.calc(i[s].header,"voicefont",""),l=Math.max(l,o.width));if(a)for(s=0;s<a.length;s++)a[s].header&&(o=t.calc(a[s].header,"voicefont",""),l=Math.max(l,o.width));l&&(l+=t.calc("A","voicefont","").width);var h=0;return h=n(i,c+=l,h),c+(h=n(a,c,h))}},function(e,t){var n=function(e){this.shouldAddClasses=e.shouldAddClasses,this.reset()};n.prototype.reset=function(){this.lineNumber=null,this.voiceNumber=null,this.measureNumber=null,this.measureTotalPerLine=[],this.noteNumber=null},n.prototype.incrLine=function(){null===this.lineNumber?this.lineNumber=0:this.lineNumber++,this.voiceNumber=null,this.measureNumber=null,this.noteNumber=null},n.prototype.incrVoice=function(){null===this.voiceNumber?this.voiceNumber=0:this.voiceNumber++,this.measureNumber=null,this.noteNumber=null},n.prototype.isInMeasure=function(){return null!==this.measureNumber},n.prototype.newMeasure=function(){this.measureNumber&&(this.measureTotalPerLine[this.lineNumber]=this.measureNumber),this.measureNumber=null,this.noteNumber=null},n.prototype.startMeasure=function(){this.measureNumber=0,this.noteNumber=0},n.prototype.incrMeasure=function(){this.measureNumber++,this.noteNumber=0},n.prototype.incrNote=function(){this.noteNumber++},n.prototype.measureTotal=function(){for(var e=0,t=0;t<this.lineNumber;t++)e+=this.measureTotalPerLine[t]?this.measureTotalPerLine[t]:0;return this.measureNumber&&(e+=this.measureNumber),e},n.prototype.getCurrent=function(e){return{line:this.lineNumber,measure:this.measureNumber,measureTotal:this.measureTotal(),voice:this.voiceNumber,note:this.noteNumber}},n.prototype.generate=function(e){if(!this.shouldAddClasses)return"";var t=[];if(e&&e.length>0&&t.push(e),null!==this.lineNumber&&t.push("l"+this.lineNumber),null!==this.measureNumber&&t.push("m"+this.measureNumber),null!==this.measureNumber&&t.push("mm"+this.measureTotal()),null!==this.voiceNumber&&t.push("v"+this.voiceNumber),e&&(e.indexOf("note")>=0||e.indexOf("rest")>=0||e.indexOf("lyric")>=0)&&null!==this.noteNumber&&t.push("n"+this.noteNumber),t.length>0){t=(t=t.join(" ")).split(" ");for(var n=0;n<t.length;n++)0!==t[n].indexOf("abcjs-")&&t[n].length>0&&(t[n]="abcjs-"+t[n])}return t.join(" ")},e.exports=n},function(e,t){var n=function(e,t){this.formatting=e,this.classes=t};n.prototype.updateFonts=function(e){e.gchordfont&&(this.formatting.gchordfont=e.gchordfont),e.tripletfont&&(this.formatting.tripletfont=e.tripletfont),e.annotationfont&&(this.formatting.annotationfont=e.annotationfont),e.vocalfont&&(this.formatting.vocalfont=e.vocalfont)},n.prototype.calc=function(e,t){var n;n="string"==typeof e?(n=this.formatting[e])?{face:n.face,size:Math.round(4*n.size/3),decoration:n.decoration,style:n.style,weight:n.weight,box:n.box}:{face:"Arial",size:Math.round(16),decoration:"underline",style:"normal",weight:"normal"}:{face:e.face,size:Math.round(4*e.size/3),decoration:e.decoration,style:e.style,weight:e.weight,box:e.box};var r=this.formatting.fontboxpadding?this.formatting.fontboxpadding:.1;return n.padding=n.size*r,{font:n,attr:{"font-size":n.size,"font-style":n.style,"font-family":n.face,"font-weight":n.weight,"text-decoration":n.decoration,class:this.classes.generate(t)}}},e.exports=n},function(e,t){var n=function(e,t){this.getFontAndAttr=e,this.svg=t};n.prototype.updateFonts=function(e){this.getFontAndAttr.updateFonts(e)},n.prototype.attr=function(e,t){return this.getFontAndAttr.calc(e,t)},n.prototype.calc=function(e,t,n,r){var i;i="string"==typeof t?this.attr(t,n):{font:{face:t.face,size:t.size,decoration:t.decoration,style:t.style,weight:t.weight},attr:{"font-size":t.size,"font-style":t.style,"font-family":t.face,"font-weight":t.weight,"text-decoration":t.decoration,class:this.getFontAndAttr.classes.generate(n)}};var a=this.svg.getTextSize(e,i.attr,r);return i.font.box?{height:a.height+4*i.font.padding,width:a.width+4*i.font.padding}:a},n.prototype.baselineToCenter=function(e,t,n,r,i){return.5*this.calc(e,t,n).height+(i-r-2)*this.attr(t,n).font.size},e.exports=n},function(e,t,n){var r=n(74),i=n(87),a=n(88),s=n(1),o=n(90);function c(e,t,n){r(e,t,n);var i=t.height*s.STEP;return e.y+=i,t}function l(e,t,n,r){var i=-(n.staffs[n.staffs.length-1].bottom-2),a=(r.staffs[0].top-10+i)*s.STEP;a<t&&e.moveY(t-a)}e.exports=function(e,t,n,r,s,h,u,d,f){var p=new o(e.paper,d,f);e.moveY(e.padding.top),a(e,n.topText,p),e.moveY(e.spacing.music);for(var m=[],g=0;g<n.lines.length;g++){t.incrLine();var v=n.lines[g];if(v.staff){v.vskip&&e.moveY(v.vskip),m.length>=1&&l(e,e.spacing.staffSeparation,m[m.length-1],v.staffGroup);var b=c(e,v.staffGroup,p);b.line=g,m.push(b)}else v.nonMusic&&a(e,v.nonMusic,p)}return t.reset(),e.moveY(24),a(e,n.bottomText,p),i(e,s,u,h),{staffgroups:m,selectables:p.getElements()}}},function(e,t,n){var r=n(1),i=n(75),a=n(76),s=n(85),o=n(86),c=n(25);function l(e,t,n,a,s){if(n)for(var o=0;o<n.length;o++)n[o].isStartVoice(a)&&(n[o].startY=t-10*r.STEP,n[o].elemset=i(e,n[o],s))}function h(e,t,n){for(var i=0;i<n.length;i++)for(var a=t[n[i]].children,s=0;s<a.length;s++){var c=a[s],l=c.getFixedCoords();if(!c.invisible&&void 0!==l.t&&void 0!==l.b){var h=(l.t-l.b)*r.STEP;o(e,{x:l.x,y:e.calcY(l.t),width:l.w,height:h,fill:"#88e888","fill-opacity":.4,stroke:"#4aa93d","stroke-opacity":.8});for(var u=0;u<c.children.length;u++){var d=c.children[u],f=d.getChordDim();if(f){var p=e.calcY(d.pitch);p+=d.dim.font.size*d.getLane(),o(e,{x:f.left,y:p,width:f.right-f.left,height:d.dim.font.size,fill:"none",stroke:"#4aa93d","stroke-opacity":.8})}}}}}e.exports=function(e,t,n){var i;!function(e,t){var n=Math.round(e.y);e.paper.pathToBack({path:"M 0 "+n+" L 0 0",stroke:"none",fill:"none","stroke-opacity":0,"fill-opacity":0,class:e.controller.classes.generate(t),"data-vertical":n})}(e,"abcjs-top-of-system");for(var u,d,f=e.y,p=0;p<t.staffs.length;p++){var m=t.staffs[p];e.moveY(r.STEP,m.top),m.absoluteY=e.y,e.showDebug&&(e.showDebug.indexOf("box")>=0&&h(e,t.voices,m.voices),e.showDebug.indexOf("grid")>=0&&(e.paper.dottedLine({x1:e.padding.left,x2:e.padding.left+e.controller.width,y1:f,y2:f,stroke:"#0000ff"}),o(e,{x:e.padding.left,y:e.calcY(m.originalTop),width:e.controller.width,height:e.calcY(m.originalBottom)-e.calcY(m.originalTop),fill:"#000000",stroke:"#000000","fill-opacity":.1,"stroke-opacity":.1}),i=0,y(m,"chordHeightAbove"),y(m,"chordHeightBelow"),y(m,"dynamicHeightAbove"),y(m,"dynamicHeightBelow"),y(m,"endingHeightAbove"),y(m,"lyricHeightAbove"),y(m,"lyricHeightBelow"),y(m,"partHeightAbove"),y(m,"tempoHeightAbove"),y(m,"volumeHeightAbove"),y(m,"volumeHeightBelow"))),e.moveY(r.STEP,-m.bottom),e.showDebug&&e.showDebug.indexOf("grid")>=0&&e.paper.dottedLine({x1:e.padding.left,x2:e.padding.left+e.controller.width,y1:e.y,y2:e.y,stroke:"#0000aa"})}for(var g=0,v=0;v<t.voices.length;v++){var b=t.voices[v].staff;e.y=b.absoluteY,e.controller.classes.incrVoice(),t.voices[v].duplicate||(u||(u=e.calcY(10)),d=e.calcY(2),0!==b.lines&&(e.controller.classes.newMeasure(),s(e,t.startx,t.w,b.lines)),l(e,b.absoluteY,t.brace,v,n),l(e,b.absoluteY,t.bracket,v,n)),a(e,t.voices[v],g,n,{top:f,height:t.height*r.STEP}),e.controller.classes.newMeasure(),t.voices[v].duplicate||(g=e.calcY(2))}function y(t,n){var a=["rgb(207,27,36)","rgb(168,214,80)","rgb(110,161,224)","rgb(191,119,218)","rgb(195,30,151)","rgb(31,170,177)","rgb(220,166,142)"];if(t.positionY[n]){var s=t.specialY[n]*r.STEP;"chordHeightAbove"===n&&t.specialY.chordLines&&t.specialY.chordLines.above&&(s*=t.specialY.chordLines.above),"chordHeightBelow"===n&&t.specialY.chordLines&&t.specialY.chordLines.below&&(s*=t.specialY.chordLines.below),o(e,{x:e.padding.left,y:e.calcY(t.positionY[n]),width:e.controller.width,height:s,fill:a[i],stroke:a[i],"fill-opacity":.4,"stroke-opacity":.4},n.substr(0,4)),(i+=1)>6&&(i=0)}}e.controller.classes.newMeasure(),t.staffs.length>1&&c(e,t.startx,.6,u,d),e.y=f}},function(e,t,n){var r=n(7),i=n(1),a=n(4);var s=function(e,t,n,s,o,c,l){var h;if(c){e.paper.openGroup({klass:e.controller.classes.generate("staff-extra voice-name")});var u=n+(s-n)/2;u-=e.controller.getTextSize.baselineToCenter(c,"voicefont","staff-extra voice-name",0,1),a(e,{x:e.padding.left,y:u,text:c,type:"voicefont",klass:"staff-extra voice-name",anchor:"start",centerVertically:!0})}return"brace"===o?h=function(e,t,n,i,a){var s=i-n,o=[7.5,-8,21,0,18.5,-10.5,7.5],c=[0,s/5.5,s/3.14,s/2,s/2.93,s/4.88,0],l=r("M %f %f C %f %f %f %f %f %f C %f %f %f %f %f %f z",t+o[0],n+c[0],t+o[1],n+c[1],t+o[2],n+c[2],t+o[3],n+c[3],t+o[4],n+c[4],t+o[5],n+c[5],t+o[6],n+c[6]);return l+=r("M %f %f C %f %f %f %f %f %f C %f %f %f %f %f %f z",t+(o=[0,17.5,-7.5,6.6,-5,20,0])[0],n+(c=[s/2,s/1.46,s/1.22,s,s/1.19,s/1.42,s/2])[0],t+o[1],n+c[1],t+o[2],n+c[2],t+o[3],n+c[3],t+o[4],n+c[4],t+o[5],n+c[5],t+o[6],n+c[6]),e.paper.path({path:l,stroke:"#000000",fill:"#000000",class:e.controller.classes.generate(a)})}(e,t,n,s,o):"bracket"===o&&(h=function(e,t,n,a,s){t+=i.STEP;var o=.75*i.STEP,c=.75*i.STEP,l=a-n,h=r("M %f %f l %f %f l %f %f l %f %f z",t,n-c,0,l+2*c,o,0,0,-(l+2*c)),u=2*i.STEP,d=i.STEP;return h+=r("M %f %f q %f %f %f %f q %f %f %f %f z",t+o,n-c,.6*u,.2*d,u,-d,.1*-u,.3*d,-u,d+i.STEP),h+=r("M %f %f q %f %f %f %f q %f %f %f %f z",t+o,n+c+l,.6*u,.2*-d,u,d,.1*-u,.3*-d,-u,-d-i.STEP),e.paper.path({path:h,stroke:"#000000",fill:"#000000",class:e.controller.classes.generate(s)})}(e,t,n,s,o)),c&&(h=e.paper.closeGroup()),l.wrapSvgEl({el_type:o,startChar:-1,endChar:-1},h),h};e.exports=function(e,t,n){var r=t.startVoice.staff.absoluteY-10*i.STEP;return t.endVoice&&t.endVoice.staff?t.endY=t.endVoice.staff.absoluteY-2*i.STEP:t.lastContinuedVoice&&t.lastContinuedVoice.staff?t.endY=t.lastContinuedVoice.staff.absoluteY-2*i.STEP:t.endY=t.startVoice.staff.absoluteY-2*i.STEP,s(e,t.x,r,t.endY,t.type,t.header,n)}},function(e,t,n){var r=n(77),i=n(78),a=n(79),s=n(80),o=n(81),c=n(82),l=n(4),h=n(83);function u(e){return"rest"===e.type&&!(!e.abcelem||!e.abcelem.rest||"spacer"===e.abcelem.rest.type)}e.exports=function(e,t,n,d,f){var p,m,g=t.w-1;if(e.staffbottom=t.staff.bottom,t.header){var v=l(e,{x:e.padding.left,y:e.calcY(t.headerPosition),text:t.header,type:"voicefont",klass:"staff-extra voice-name",anchor:"start",centerVertically:!0});d.wrapSvgEl({el_type:"voiceName",startChar:-1,endChar:-1,text:t.header},v)}for(p=0;p<t.children.length;p++){var b=!1;"staff-extra"===(m=t.children[p]).type||e.controller.classes.isInMeasure()||(e.controller.classes.startMeasure(),b=!0),m.type,h(e,m,t.barto||p===t.children.length-1?n:0,d,f),("note"===m.type||u(m))&&e.controller.classes.incrNote(),"bar"!==m.type||b||e.controller.classes.incrMeasure()}for(e.controller.classes.startMeasure(),p=0;p<t.beams.length;p++){var y=t.beams[p];"bar"===y?e.controller.classes.incrMeasure():c(e,y,d)}for(e.controller.classes.startMeasure(),p=0;p<t.otherchildren.length;p++)if("bar"===(m=t.otherchildren[p]))e.controller.classes.incrMeasure();else switch(m.type){case"CrescendoElem":m.elemset=r(e,m,d);break;case"DynamicDecoration":m.elemset=i(e,m,d);break;case"TripletElem":a(e,m,d);break;case"EndingElem":m.elemset=s(e,m,t.startx+10,g,d);break;case"TieElem":m.elemset=o(e,m,t.startx+10,g,d);break;default:console.log(m),h(e,m,t.startx+10,g,d,f)}}},function(e,t,n){n(21),n(22);var r=n(7),i=n(9),a=n(3);var s=function(e,t,n,s,o,c,l){t=a(t),n=a(n),s=a(s),o=a(o),c=a(c),l=a(l);var h=r("M %f %f L %f %f M %f %f L %f %f",c,t,l,n,c,s,l,o);return i(e,{path:h,highlight:"stroke",stroke:"#000000",class:e.controller.classes.generate("dynamics decoration")})};e.exports=function(e,t,n){void 0===t.pitch&&window.console.error("Crescendo Element y-coordinate not set.");var r,i=e.calcY(t.pitch)+4,a=t.anchor1?t.anchor1.x:0,o=t.anchor2?t.anchor2.x:800;return r="<"===t.dir?s(e,i+4,i,i+4,i+8,a,o):s(e,i,i+4,i+8,i+4,a,o),n.wrapSvgEl({el_type:"dynamicDecoration",startChar:-1,endChar:-1},r),[r]}},function(e,t,n){var r=n(23);e.exports=function(e,t,n){void 0===t.pitch&&window.console.error("Dynamic Element y-coordinate not set.");var i=r(e,t.anchor.x,t.pitch,t.dec,1,1,e.controller.classes.generate("decoration dynamics"));return n.wrapSvgEl({el_type:"dynamicDecoration",startChar:-1,endChar:-1,decoration:t.dec},i),[i]}},function(e,t,n){var r=n(7),i=n(4),a=n(9),s=n(3);function o(e,t,n,i){return r("M %f %f L %f %f",s(e),s(t),s(n),s(i))}e.exports=function(e,t,n){e.paper.openGroup({klass:e.controller.classes.generate("triplet "+t.durationClass)}),t.hasBeam||function(e,t,n,r,i){n=e.calcY(n),i=e.calcY(i);var s="";s+=o(t,n,t,n+5),s+=o(r,i,r,i+5);var c=t+(r-t)/2,l=(i-n)/(r-t),h=c-8;s+=o(t,n,h,n+(h-t)*l);var u=c+8;s+=o(u,n+(u-t)*l,r,i),a(e,{path:s,stroke:"#000000"})}(e,t.anchor1.x,t.startNote,t.anchor2.x+t.anchor2.w,t.endNote),i(e,{x:t.xTextPos,y:e.calcY(t.yTextPos-1),text:""+t.number,type:"tripletfont",anchor:"middle",centerVertically:!0,noClass:!0});var r=e.paper.closeGroup();return n.wrapSvgEl({el_type:"triplet",startChar:-1,endChar:-1},r),r}},function(e,t,n){var r=n(7),i=n(4),a=n(9),s=n(3);e.exports=function(e,t,n,o,c){void 0===t.pitch&&window.console.error("Ending Element y-coordinate not set.");var l=s(e.calcY(t.pitch)),h="";t.anchor1&&(n=s(t.anchor1.x+t.anchor1.w),h+=r("M %f %f L %f %f ",n,l,n,s(l+20))),t.anchor2&&(o=s(t.anchor2.x),h+=r("M %f %f L %f %f ",o,l,o,s(l+20))),h+=r("M %f %f L %f %f ",n,l,o,l),e.paper.openGroup({klass:e.controller.classes.generate("ending")}),a(e,{path:h,stroke:"#000000",fill:"#000000"}),t.anchor1&&i(e,{x:s(n+5),y:s(e.calcY(t.pitch-.5)),text:t.text,type:"repeatfont",klass:"ending",anchor:"start",noClass:!0});var u=e.paper.closeGroup();return c.wrapSvgEl({el_type:"ending",startChar:-1,endChar:-1},u),[u]}},function(e,t,n){var r=n(7),i=n(3);var a=function(e,t,n){e.anchor1&&e.anchor2?e.anchor1.pitch===e.anchor2.pitch&&0===e.internalNotes.length?e.isTie=!0:e.isTie=!1:e.isTie=!0,e.isTie?(e.calcTieDirection(),e.calcX(t,n),e.calcTieY()):(e.calcSlurDirection(),e.calcX(t,n),e.calcSlurY()),e.avoidCollisionAbove()},s=function(e,t,n,a,s,o,c,l,h){var u=l?1.2:1.5;t=i(t+6),n=i(n+4),a+=o?u:-u,s+=o?u:-u;var d,f=i(e.calcY(a)),p=i(e.calcY(s)),m=n-t,g=p-f,v=Math.sqrt(m*m+g*g),b=m/v,y=g/v,w=v/3.5,x=l?10:25,k=(o?-1:1)*Math.min(x,Math.max(4,w)),A=i(t+w*b-k*y),T=i(f+w*y+k*b),S=i(n-w*b-k*y),M=i(p-w*y+k*b);if(c?c+=" slur":c="slur",c+=l?" tie":" legato",h){c+=" dotted";var N=r("M %f %f C %f %f %f %f %f %f",t,f,A,T,S,M,n,p);d=e.paper.path({path:N,stroke:"#000000",fill:"none","stroke-dasharray":"5 5",class:e.controller.classes.generate(c)})}else{var C=r("M %f %f C %f %f %f %f %f %f C %f %f %f %f %f %f z",t,f,A,T,S,M,n,p,i(S-2*y),i(M+2*b),i(A-2*y),i(T+2*b),t,f);d=e.paper.path({path:C,stroke:"none",fill:"#000000",class:e.controller.classes.generate(c)})}return d};e.exports=function(e,t,n,r,i){a(t,n,r);var o="";t.anchor1?o+="abcjs-start-m"+t.anchor1.parent.counters.measure+"-n"+t.anchor1.parent.counters.note:o+="abcjs-start-edge",t.anchor2?o+=" abcjs-end-m"+t.anchor2.parent.counters.measure+"-n"+t.anchor2.parent.counters.note:o+=" abcjs-end-edge",t.hint&&(o="abcjs-hint");var c=t.fixedY?1.5:0,l=s(e,t.startX,t.endX,t.startY+c,t.endY+c,t.above,o,t.isTie,t.dotted);return i.wrapSvgEl({el_type:"slur",startChar:-1,endChar:-1},l),[l]}},function(e,t,n){var r=n(9),i=n(3);function a(e,t,n,r,a,s){n=i(e.calcY(n)),a=i(e.calcY(a)),t=i(t),r=i(r);var o=i(n+s);return"M"+t+" "+n+" L"+r+" "+a+"L"+r+" "+i(a+s)+" L"+t+" "+o+"z"}function s(e,t,n,r,i){return(i-n)/(r-t)}function o(e,t,n,r){return t+(r-e)*n}e.exports=function(e,t){if(0!==t.beams.length){t.hint&&" abcjs-hint";for(var n="",i=0;i<t.beams.length;i++){var c=t.beams[i];if(c.split){for(var l=s(e,c.startX,c.startY,c.endX,c.endY),h=[],u=0;u<c.split.length;u+=2)h.push([c.split[u],c.split[u+1]]);for(u=0;u<h.length;u++){var d=o(c.startX,c.startY,l,h[u][0]),f=o(c.startX,c.startY,l,h[u][1]);n+=a(e,h[u][0],d,h[u][1],f,c.dy)}}else n+=a(e,c.startX,c.startY,c.endX,c.endY,c.dy)}var p=("abcjs-d"+t.duration).replace(/\./g,"-"),m=e.controller.classes.generate("beam-elem "+p);return[r(e,{path:n,stroke:"none",fill:"#000000",class:m})]}}},function(e,t,n){var r=n(84),i=n(24),a=n(1),s=n(8),o=n(13);e.exports=function(e,t,n,c,l){if(!t.invisible){var h=t.children.length>0&&"TempoElement"===t.children[0].type;t.elemset=[],o.beginGroup(e.paper,e.controller);for(var u=0;u<t.children.length;u++){var d,f=t.children[u];switch(f.type){case"TempoElement":(d=r(e,f,c))&&(t.elemset=t.elemset.concat(d));break;default:(d=i(e,f,n,c))&&t.elemset.push(d)}}var p=t.type;if(("note"===t.type||"rest"===t.type)&&(t.counters=e.controller.classes.getCurrent(),p=(p+=" d"+Math.round(1e3*t.durationClass)/1e3).replace(/\./g,"-"),t.abcelem.pitches))for(var m=0;m<t.abcelem.pitches.length;m++)p+=" p"+t.abcelem.pitches[m].pitch;var g=o.endGroup(p);g?h&&t.elemset.length>0?(e.paper.moveElementToChild(t.elemset[0],g),c.add(t,t.elemset[0],!1,l)):(t.elemset.push(g),c.add(t,g,"note"===t.type,l)):t.elemset.length>0&&c.add(t,t.elemset[0],"note"===t.type,l),t.klass&&s(t.elemset,"mark","","#00ff00"),t.hint&&s(t.elemset,"abcjs-hint","",null),t.abcelem.abselem=t;a.STEP}}},function(e,t,n){var r=n(24),i=n(4);e.exports=function(e,t,n){var a=t.x;void 0===t.pitch&&window.console.error("Tempo Element y-coordinate not set."),t.tempo.el_type="tempo",e.paper.openGroup({klass:e.controller.classes.generate("tempo")});var s,o=e.calcY(t.pitch)+2;if(t.tempo.preString){s=i(e,{x:a,y:o,text:t.tempo.preString,type:"tempofont",klass:"abcjs-tempo",anchor:"start",noClass:!0,"dominant-baseline":"ideographic"});var c=e.controller.getTextSize.calc(t.tempo.preString,"tempofont","tempo",s).width;a+=c+c/t.tempo.preString.length}if(t.note){t.note.setX(a);for(var l=0;l<t.note.children.length;l++)r(e,t.note.children[l],a,n);a+=t.note.w+5;var h="= "+t.tempo.bpm;s=i(e,{x:a,y:o,text:h,type:"tempofont",klass:"abcjs-tempo",anchor:"start",noClass:!0});var u=e.controller.getTextSize.calc(h,"tempofont","tempo",s).width;a+=u+u/h.length}return t.tempo.postString&&i(e,{x:a,y:o,text:t.tempo.postString,type:"tempofont",klass:"abcjs-tempo",anchor:"start",noClass:!0}),[e.paper.closeGroup()]}},function(e,t,n){var r=n(26);e.exports=function(e,t,n,i){var a="abcjs-top-line";if(e.paper.openGroup({prepend:!0,klass:e.controller.classes.generate("abcjs-staff")}),1===i)r(e,t,n,6,a);else for(var s=i-1;s>=0;s--)r(e,t,n,2*(s+1),a),a=void 0;e.paper.closeGroup()}},function(e,t){e.exports=function(e,t,n){var r=e.paper.rectBeneath(t);return n&&e.paper.text(n,{x:0,y:t.y+7,"text-anchor":"start","font-size":"14px",fill:"rgba(0,0,255,.4)",stroke:"rgba(0,0,255,.4)"}),r}},function(e,t){e.exports=function(e,t,n,r){var i=(t+e.padding.right)*n,a=(e.y+e.padding.bottom)*n;e.isPrint&&(a=Math.max(a,1056));var s="Sheet Music";e.abctune&&e.abctune.metaText&&e.abctune.metaText.title&&(s+=' for "'+e.abctune.metaText.title+'"'),e.paper.setTitle(s),e.paper.insertStyles(".abcjs-dragging-in-progress text, .abcjs-dragging-in-progress tspan {"+["-webkit-touch-callout: none;","-webkit-user-select: none;","-khtml-user-select: none;","-moz-user-select: none;","-ms-user-select: none;","user-select: none;"].join(" ")+"}");var o={overflow:"hidden"};"resize"===r?e.paper.setResponsiveWidth(i,a):(o.width="",o.height=a+"px",n<1?(o.width=i+"px",e.paper.setSize(i/n,a/n)):e.paper.setSize(i,a)),e.paper.setScale(n),e.paper.setParentStyles(o)}},function(e,t,n){var r=n(89),i=n(4);e.exports=function(e,t,n){for(var a=0;a<t.rows.length;a++){var s=t.rows[a];if(s.move)e.moveY(s.move);else if(s.text){var o=s.left?s.left:0,c=i(e,{x:o,y:e.y,text:s.text,type:s.font,klass:s.klass,anchor:s.anchor});s.absElemType&&n.wrapSvgEl({el_type:s.absElemType,startChar:-1,endChar:-1,text:s.text},c)}else if(s.separator)r(e,s.separator);else if(s.startGroup)e.paper.openGroup({klass:s.klass});else if(s.endGroup){var l=e.paper.closeGroup();s.absElemType&&n.wrapSvgEl({el_type:s.absElemType,startChar:-1,endChar:-1,text:""},l)}}}},function(e,t){e.exports=function(e,t){var n=Math.round(e.y),r=(e.controller.width-t)/2,i=r+t,a="M "+r+" "+n+" L "+i+" "+n+" L "+i+" "+(n+1)+" L "+r+" "+(n+1)+" L "+r+" "+n+" z";e.paper.pathToBack({path:a,stroke:"rgba(0,0,0,0)",fill:"rgba(0,0,0,255)",class:e.controller.classes.generate("defined-text")})}},function(e,t,n){var r=n(21),i=n(22);function a(e,t,n){this.elements=[],this.paper=e,this.tuneNumber=n,this.selectTypes=t}a.prototype.getElements=function(){return this.elements},a.prototype.add=function(e,t,n,r){if(this.canSelect(e)){var i;i=void 0===this.selectTypes?{selectable:!1,"data-index":this.elements.length}:{selectable:!0,tabindex:0,"data-index":this.elements.length},this.paper.setAttributeOnElement(t,i);var a={absEl:e,svgEl:t,isDraggable:n};void 0!==r&&(a.staffPos=r),this.elements.push(a)}},a.prototype.canSelect=function(e){return!1!==this.selectTypes&&(!(!e||!e.abcelem)&&(!0===this.selectTypes||(void 0===this.selectTypes?"note"===e.abcelem.el_type:this.selectTypes.indexOf(e.abcelem.el_type)>=0)))},a.prototype.wrapSvgEl=function(e,t){var n={tuneNumber:this.tuneNumber,abcelem:e,elemset:[t],highlight:r,unhighlight:i};this.add(n,t,!1)},e.exports=a},function(e,t,n){var r=n(14),i=n(92),a=n(105);e.exports=function(e,t,n,s,o){var c,l={};if(n)for(c in n)n.hasOwnProperty(c)&&(l[c]=n[c]);if(s)for(c in s)s.hasOwnProperty(c)&&("listener"===c?l.midiListener=s[c]:"transpose"===c?l.midiTranspose=s[c]:l[c]=s[c]);if(o)for(c in o)o.hasOwnProperty(c)&&(l[c]=o[c]);return void 0===l.generateInline&&(l.generateInline=!0),l.inlineControls&&(l.inlineControls.selectionToggle=!1),r.renderEngine((function(e,t,n,r){var s="",o=a(t,l);if(l.generateInline){var c=o.inline?o.inline:o,h=e.innerHTML.indexOf("abcjs-midi-current")>=0;s+=i.generateMidiControls(t,l,c,n,h)}if(l.generateDownload){var u=o.download?o.download:o;s+=i.generateMidiDownloadLink(t,l,u,n)}e.innerHTML=s,l.generateInline&&i.attachListeners(e);var d=function(e,t){var n=e.getElementsByClassName(t);return 0===n.length?null:n[0]};if(l.generateInline&&(l.animate||l.midiListener)){var f=d(e,"abcjs-inline-midi");if(f.abcjsTune=t,f.abcjsListener=l.midiListener,f.abcjsQpm=l.qpm,f.abcjsContext=l.context,l.animate){var p=l.drumIntro?l.drumIntro:0;f.abcjsAnimate=l.animate.listener,f.abcjsTune=l.animate.target,f.abcjsTune.setTiming(l.qpm,p)}}if(l.generateInline&&l.inlineControls&&l.inlineControls.startPlaying){var m=d(e,"abcjs-midi-start");i.startPlaying(m)}}),e,t,l)}},function(e,t,n){function r(){return"performance"in window&&"now"in window.performance}r()&&("galactic"in window||(window.galactic={}),window.galactic.loc={isLocalUrl:function(){return!1}},n(93),n(94)(window.galactic),n(95),n(96),n(97),n(98),n(99),n(100),n(101),n(102),n(103),n(104));var i={};!function(){"use strict";function e(e,t){return e.replace(/%T/g,t)}i.generateMidiDownloadLink=function(e,t,n,r){var i=["abcjs-download-midi","abcjs-midi-"+r];t.downloadClass&&i.push(t.downloadClass);var a='<div class="'+i.join(" ")+'">';t.preTextDownload&&(a+=t.preTextDownload);var s,o,c=e.metaText&&e.metaText.title?e.metaText.title:"Untitled";return s=t.downloadLabel&&((o=t.downloadLabel)&&"[object Function]"==={}.toString.call(o))?t.downloadLabel(e,r):t.downloadLabel?t.downloadLabel.replace(/%T/,c):'Download MIDI for "'+c+'"',a+='<a download="'+(c=c.toLowerCase().replace(/'/g,"").replace(/\W/g,"_").replace(/__/g,"_"))+'.midi" href="'+n+'">'+s+"</a>",t.postTextDownload&&(a+=t.postTextDownload),a+"</div>"},i.deviceSupportsMidi=function(){return!!r()&&"not loaded"!==i.midiInlineInitialized},i.generateMidiControls=function(t,n,i,a,s){if(!r())return'<div class="abcjs-inline-midi abcjs-midi-'+a+"\">ERROR: this browser doesn't support window.performance</div>";if("not loaded"===i.midiInlineInitialized)return'<div class="abcjs-inline-midi abcjs-midi-'+a+'">MIDI NOT PRESENT</div>';s&&g();var o=t.metaText&&t.metaText.title?t.metaText.title:"Untitled",c=n.inlineControls||{};void 0===c.standard&&(c.standard=!0),void 0===c.tooltipSelection&&(c.tooltipSelection="Click to toggle play selection/play all."),void 0===c.tooltipLoop&&(c.tooltipLoop="Click to toggle play once/repeat."),void 0===c.tooltipReset&&(c.tooltipReset="Click to go to beginning."),void 0===c.tooltipPlay&&(c.tooltipPlay="Click to play/pause."),void 0===c.tooltipProgress&&(c.tooltipProgress="Click to change the playback position."),void 0===c.tooltipTempo&&(c.tooltipTempo="Change the playback speed.");var l="";c.hide&&(l='style="display:none;"');var h='<div class="abcjs-inline-midi abcjs-midi-'+a+'" '+l+">";if(h+='<span class="abcjs-data" style="display:none;">'+JSON.stringify(i)+"</span>",n.preTextInline&&(h+='<span class="abcjs-midi-pre">'+e(n.preTextInline,o)+"</span>"),c.selectionToggle&&(h+='<button type="button" class="abcjs-midi-selection abcjs-btn" title="'+c.tooltipSelection+'"></button>'),c.loopToggle&&(h+='<button type="button" class="abcjs-midi-loop abcjs-btn" title="'+c.tooltipLoop+'"></button>'),c.standard&&(h+='<button type="button" class="abcjs-midi-reset abcjs-btn" title="'+c.tooltipReset+'"></button><button type="button" class="abcjs-midi-start abcjs-btn" title="'+c.tooltipPlay+'"></button><button type="button" class="abcjs-midi-progress-background" title="'+c.tooltipProgress+'"><span class="abcjs-midi-progress-indicator"></span></button><span class="abcjs-midi-clock"> 0:00</span>'),c.tempo){var u=t&&t.metaText&&t.metaText.tempo&&t.metaText.tempo.bpm?t.metaText.tempo.bpm:180;h+='<span class="abcjs-tempo-wrapper"><input class="abcjs-midi-tempo" value="100" type="number" min="1" max="300" data-start-tempo="'+u+'" title="'+c.tooltipTempo+'" />% (<span class="abcjs-midi-current-tempo">'+u+"</span> BPM)</span>"}return n.postTextInline&&(h+='<span class="abcjs-midi-post">'+e(n.postTextInline,o)+"</span>"),h+"</div>"};var t="https://paulrosen.github.io/midi-js-soundfonts/FluidR3_GM/";i.setSoundFont=function(e){t=e};var n=!0;function a(e,t){return!!e&&(" "+e.className+" ").indexOf(" "+t+" ")>-1}function s(e,t){e&&(a(e,t)||(e.className=e.className+" "+t))}function o(e,t){e&&(e.className=e.className.replace(t,"").trim().replace(" "," "))}function c(e,t){e&&(a(e,t)?o(e,t):s(e,t))}function l(e,t){if(!e)return null;for(;e!==document.body;){if(a(e,t))return e;e=e.parentNode}return null}function h(e,t){if(!e)return null;var n=e.getElementsByClassName(t);return 0===n.length?null:n[0]}i.setInteractiveProgressBar=function(e){n=e};var u,d=!1;function f(e,t,n){MIDI.player.currentTime=0,MIDI.player.warp=e,MIDI.player.load({events:t}),n()}function p(e){for(var t=[],n=0;n<e.length;n++)e[n][0]&&e[n][0].event&&e[n][0].event.programNumber&&t.push(e[n][0].event.programNumber);return t}function m(){MIDI.player.start(MIDI.player.currentTime)}function g(){MIDI.player.stop()}function v(){MIDI.player.pause()}function b(e,t,n){var r=t/n,i=MIDI.player.duration;if(e&&v(),MIDI.player.currentTime=i*r,e)m();else if(x){var a=MIDI.player,s=a.currentTime/a.duration;x({currentTime:a.currentTime/1e3,duration:a.duration/1e3,progress:s})}}function y(e,n){var r=h(e,"abcjs-data"),i=JSON.parse(r.innerHTML),a=1,s=h(e,"abcjs-midi-tempo");if(s){var o=parseInt(s.value,10);o>0&&(a=100/o)}!function(e,n,r){d?f(e,n,r):MIDI.setup({debug:!1,soundfontUrl:t,instruments:p(n)}).then((function(){d=!0,f(e,n,r)})).catch((function(e){console.log("MIDI.setup failed:",e.message)}))}(a,i,n)}function w(){var e=h(document,"abcjs-midi-current");e&&(g(),o(e,"abcjs-midi-current"),o(h(e,"abcjs-midi-start"),"abcjs-pushed"))}function x(e){var t;if(e.duration>0&&u!==e.progress&&(u=e.progress,(t=h(document,"abcjs-midi-current"))&&a(h(t,"abcjs-midi-start"),"abcjs-loaded"))){if(!O){var n=h(t,"abcjs-midi-progress-background").offsetWidth,r=h(t,"abcjs-midi-progress-indicator"),i=n*u;r.style.left=i+"px"}var s=h(t,"abcjs-midi-clock");if(s){var o=Math.floor(e.currentTime),c=Math.floor(o/60);(o%=60)<10&&(o="0"+o),c<10&&(c=" "+c),s.innerHTML=c+":"+o}var l=t.abcjsQpm;!l&&t.abcjsTune&&t.abcjsTune.metaText&&t.abcjsTune.metaText.tempo&&(l=t.abcjsTune.metaText.tempo.bpm),l||(l=180);var d=parseInt(l,10)/60,f=e.currentTime;if(t.abcjsListener){var p=Math.floor(f*d);e.newBeat=p!==t.abcjsLastBeat,e.thisBeat=p,t.abcjsLastBeat=p,t.abcjsListener(t,e,t.abcjsContext)}if(t.abcjsAnimate){var m=d/64,g=function(e,t,n){for(var r,i,a=0,s=e.length-1;a<=s;)if((i=e[r=Math.floor((a+s)/2)]).milliseconds/1e3-n<t)a=r+1;else{if(!(i.milliseconds/1e3-n>t))return r;s=r-1}for(;e[r].milliseconds/1e3-n>=t&&r>0;)r--;return 0===r&&e[r].milliseconds/1e3-n>=t?-1:r}(t.abcjsTune.noteTimings,f,m);if(g!==t.abcjsLastIndex){var v=t.abcjsLastIndex>=0?t.abcjsTune.noteTimings[t.abcjsLastIndex]:null;t.abcjsAnimate(v,t.abcjsTune.noteTimings[g],t.abcjsContext),t.abcjsLastIndex=g}}}if(1===e.progress){t=h(document,"abcjs-midi-current");var b=h(t,"abcjs-midi-loop"),y=function(){b&&a(b,"abcjs-pushed")&&k(h(t,"abcjs-midi-start"))};setTimeout((function(){C(t,y),t&&t.abcjsAnimate&&t.abcjsAnimate(t.abcjsTune.noteTimings[t.abcjsLastIndex],null,t.abcjsContext)}),1)}}function k(e){var t=l(e,"abcjs-inline-midi");if(a(e,"abcjs-pushed"))return v(),void o(e,"abcjs-pushed");a(t,"abcjs-midi-current")?m():(w(),T(e,t,(function(){m()}))),s(e,"abcjs-pushed")}function A(e){for(var t=document.querySelectorAll(".abcjs-midi-current"),n=0;n<t.length;n++)o(t[n],"abcjs-midi-current");s(e,"abcjs-midi-current")}function T(e,t,n){s(e,"abcjs-loading"),y(t,(function(){o(e,"abcjs-loading"),A(t),s(e,"abcjs-loaded"),n&&n()})),t.abcjsLastBeat=-1,t.abcjsLastIndex=-1,function(e){e?MIDI.player.setAnimation(e):MIDI.player.clearAnimation()}(x)}function S(e){h(e,"abcjs-midi-progress-indicator").style.left="0px",h(e,"abcjs-midi-clock").innerHTML=" 0:00"}function M(e){c(e,"abcjs-pushed")}function N(e){c(e,"abcjs-pushed")}function C(e,t){var n=l(e,"abcjs-inline-midi");w(),n&&y(n,(function(){A(n),S(n),t&&t()}))}function E(e){var t=l(e,"abcjs-inline-midi"),n=h(t,"abcjs-midi-start"),r=a(n,"abcjs-pushed");a(t,"abcjs-midi-current")&&C(e,(function(){r&&(m(),s(n,"abcjs-pushed"))}))}function I(e,t){var n=0,r=e.offsetWidth;do{n+=e.offsetLeft-e.scrollLeft,e=e.offsetParent}while(e);var i=t.pageX-n;return i<0&&(i=0),i>r&&(i=r-1),i}function _(e){var t=l(e,"abcjs-inline-midi"),n=h(t,"abcjs-midi-start");return!!a(t,"abcjs-midi-current")&&a(n,"abcjs-pushed")}function B(e,t){var n=l(e,"abcjs-inline-midi"),r=h(n,"abcjs-midi-start"),i=e.offsetWidth,s=I(e,t);a(n,"abcjs-midi-current")?b(_(e),s,i):T(r,n,(function(){b(!1,s,i)}))}function P(e){for(var t=parseInt(e.value,10),n=parseInt(e.getAttribute("data-start-tempo"),10);e&&!a(e,"abcjs-midi-current-tempo");)e=e.nextSibling;e.innerHTML=Math.floor(t*n/100),function(e){MIDI.player.warp=e>0?100/e:1}(t)}i.startPlaying=function(e){var t=e;a(e,"abcjs-inline-midi")&&(t=e.querySelector(".abcjs-midi-start")),k(t)},i.stopPlaying=function(){g();var e=document.querySelector(".abcjs-midi-current");if(e){S(e);var t=h(e,"abcjs-midi-start");t&&o(t,"abcjs-pushed")}},i.restartPlaying=function(){E(document.querySelector(".abcjs-midi-current"))},i.setLoop=function(e,t){var n=e.querySelector(".abcjs-midi-loop");n&&(t?s(n,"abcjs-pushed"):o(n,"abcjs-pushed"))},i.setRandomProgress=function(e){var t=a(h(document.querySelector(".abcjs-midi-current"),"abcjs-midi-start"),"abcjs-pushed"),n=MIDI.player.duration;t&&v(),MIDI.player.currentTime=n*e,t&&m()};var D,L,O=!1,H=!1;i.attachListeners=function(e){for(var t=e.querySelectorAll(".abcjs-inline-midi"),r=0;r<t.length;r++){var s=t[r];s.addEventListener("click",(function(e){for(var t=(e=e||window.event).target||e.srcElement;t&&t!==document.body;){if(a(t,"abcjs-midi-start"))return void k(t);if(a(t,"abcjs-midi-selection"))return void M(t);if(a(t,"abcjs-midi-loop"))return void N(t);if(a(t,"abcjs-midi-reset"))return void E(t);if(a(t,"abcjs-midi-progress-background"))return void(n&&B(t,e));t=t.parentNode}})),s.addEventListener("change",(function(e){for(var t=(e=e||window.event).target||e.srcElement;t!==document.body;)a(t,"abcjs-midi-tempo")&&P(t),t=t.parentNode})),s.addEventListener("mousedown",(function(e){if(n){var t=(e=e||window.event).target||e.srcElement;a(t,"abcjs-midi-progress-indicator")&&(D=t,O=!0,L=l(t,"abcjs-midi-progress-background"))}}))}if(H||(H=!0,document.body.addEventListener("mousemove",(function(e){if(O){(e=e||window.event).preventDefault();var t=I(L,e);D.style.left=t+"px"}}),!0),document.body.addEventListener("mouseup",(function(e){if(O){(e=e||window.event).preventDefault();var t=I(L,e),n=L.offsetWidth;b(_(L),t,n),B(L,e),O=!1,D=null,L=null}}))),void 0===window.MIDI){i.midiInlineInitialized="not loaded";for(var o=document.getElementsByClassName("abcjs-inline-midi"),c=0;c<o.length;c++)o[c].innerHTML="MIDI NOT PRESENT"}}}(),e.exports=i},function(e,t,n){"undefined"==typeof galactic&&(galactic={}),function(t){"use strict";t.request=function(e,n,r,i){"string"==typeof e&&(e={url:e});var a=e.data,s=e.url,o=e.method||(e.data?"POST":"GET"),c=e.format,l=e.headers,h=e.mimeType,u=e.responseType,d=e.withCredentials||!1;i=i||e.onprogress,n=n||e.onsuccess,r=r||e.onerror;if("undefined"==typeof NodeFS||!t.loc.isLocalUrl(s)){var f=new XMLHttpRequest;if(f.open(o,s,!0),l)for(var p in l)f.setRequestHeader(p,l[p]);else a&&f.setRequestHeader("Content-type","application/x-www-form-urlencoded");return h&&f.overrideMimeType(h),u&&(f.responseType=u),d&&(f.withCredentials=!0),r&&"onerror"in f&&(f.onerror=r),i&&f.upload&&"onprogress"in f.upload&&(a?f.upload.onprogress=function(e){i.call(f,e,event.loaded/event.total)}:f.addEventListener("progress",(function(e){var t=0;if(e.lengthComputable)t=e.total;else if(f.totalBytes)t=f.totalBytes;else{var n=parseInt(f.getResponseHeader("Content-Length-Raw"));if(!isFinite(n))return;f.totalBytes=t=n}i.call(f,e,e.loaded/t)}),!1)),f.onreadystatechange=function(e){if(4===f.readyState)if(200===f.status||304===f.status||308===f.status||0===f.status&&window.top.cordova){if(n){var t;if("json"===c)try{t=JSON.parse(e.target.response)}catch(t){r&&r.call(f,e)}else t="xml"===c?e.target.responseXML:"text"===c?e.target.responseText:e.target.response;n.call(f,e,t)}}else r&&r.call(f,e)},f.send(a),f}NodeFS.readFile(s,"utf8",(function(e,t){e?r&&r(e):n&&n({responseText:t},t)}))},e.exports&&(e.exports=t.request)}(galactic)},function(e,t,n){"undefined"==typeof galactic&&(galactic={}),function(t){"use strict";t.module=t.module||{},t.module.DOMMisc=function(e){var t,n,r,i=e.util||(e.util={});i.inherits=function(e,t){function n(){}n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e},i.errorHandler=function(e){return function(){console.warn(e,arguments)}},i.requestKioskMode=function(){e.client.nodewebkit&&win.enterKioskMode()},i.diff=function(e,t,n){if(e!==t){var r=new e.constructor,a=new t.constructor,s=!0;for(var o in e)if(n&&-1!==n.indexOf(o))r[o]=e[o],a[o]=t[o];else if(o in t){if(e[o]!==t[o])if("object"==typeof e[o]&&"object"==typeof t[o]){var c=i.diff(e[o],t[o],n);void 0!==c&&(s=!1,r[o]=c.from,a[o]=c.to)}else s=!1,r[o]=e[o],a[o]=t[o]}else s=!1,r[o]=e[o],a[o]=t[o];for(var o in t)o in e||(s=!1,r[o]=e[o],a[o]=t[o]);return s?void 0:{from:r,to:a}}},i.sort=function(e){var t,n=i.sort[e.fn]||e.fn,r=e.data||e,a=e.param;return Array.isArray(r)?t=a?r.sort((function(e,t){return n(e[a],t[a])})):r.sort(n):(t={},Object.keys(r).sort(n).forEach((function(e){t[e]=r[e]}))),t},i.sort.numeric=function(e,t){return e-t},i.sort.natural=function(e,t){var n=/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,r=/(^[ ]*|[ ]*$)/g,i=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,a=/^0x[0-9a-f]+$/i,s=/^0/,o=e.toString().replace(r,"")||"",c=t.toString().replace(r,"")||"",l=o.replace(n,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),h=c.replace(n,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),u=parseInt(o.match(a))||1!=l.length&&o.match(i)&&Date.parse(o),d=parseInt(c.match(a))||u&&c.match(i)&&Date.parse(c)||null;if(d){if(u<d)return-1;if(u>d)return 1}for(var f=0,p=Math.max(l.length,h.length);f<p;f++){var m=!(l[f]||"").match(s)&&parseFloat(l[f])||l[f]||0,g=!(h[f]||"").match(s)&&parseFloat(h[f])||h[f]||0;if(isNaN(m)!==isNaN(g))return isNaN(m)?1:-1;if(typeof m!=typeof g&&(m+="",g+=""),m<g)return-1;if(m>g)return 1}return 0},i.getItems=function(e,t){var n=e.length,r={};i.each(e,(function(e){i.getItem(e,(function(i){r[e]=i,--n||t(r)}))}))},i.getItem=function(t,n){n=n||function(e){console.log(e)};var r=function(e){if(e)try{e=JSON.parse(e)}catch(e){}n(e)};if(i.exists("chrome.storage.local"))chrome.storage.local.get(t,(function(e){r(e[t])}));else{var a=(e.feature&&e.feature.prefix||"")+"/"+t,s=localStorage.getItem(a)||"";r(s)}},i.setItem=function(t,n){if(i.exists("chrome.storage.local")){var r={};r[t]=n,chrome.storage.local.set(r)}else{var a=(e.feature&&e.feature.prefix||"")+"/"+t;localStorage.setItem(a,n)}},i.Canvas=function(t,n,r){if("undefined"==typeof document){if(void 0===Canvas)return{ctx:{}};var i=new Canvas}else{i=document.createElement("canvas");"function"==typeof FlashCanvas&&(i.onload=e.client.fn.detect)}return i.ctx=i.getContext(r||"2d"),isFinite(t)&&(i.width=t||1),isFinite(n)&&(i.height=n||1),i},i.Canvas.resize=function(e,t,n){t&&n?(e.width=t,e.height=n):e.width=e.width},i.Canvas.clear=function(e){e.ctx.clearRect(0,0,e.width,e.height)},i.Context3d=function(e,t){return i.Canvas(e,t,"webgl").ctx},i.Context2d=function(e,t){return i.Canvas(e,t,"2d").ctx},i.json={},i.json.pretty=function(e){return JSON.stringify(e,null,"\t")},i.json.stringify=function(e){return JSON.stringify(e,(function(e,t){if("object"==typeof t){if(null===t)return;if(t.nodeName)return;if(t.tagName)return}return t}))},i.timestamp=function(){if("object"==typeof window){var e=window.performance;if(e&&e.now)return e.now.bind(e)}return Date.now}(),i.perf=function(e,t,n){if(!t||!e){var r=i.timestamp();return function(e,t){var n=i.timestamp(),a=Math.round(n-r);return e&&console.log(a+"ms",e),t&&(r=n),a}}for(var a=i.perf(),s=0;s<t;s++)e();console.log(a()+"ms",n||"")},i.exists=function(e,t){try{for(var n=e.split("."),r=t||window,i=0,a=n.length;i<a;i++){var s=n[i];if(null==r[s])return!1;r=r[s]}return!0}catch(e){return!1}},i.copy=(t="function"==typeof CanvasPattern,n=function(e){if(!e||"object"!=typeof e)return e;if(!(e.nodeType||t&&e instanceof CanvasPattern)){if(e.clone&&"function"==typeof e.clone)return e.clone();if(e.constructor){var r=new e.constructor;for(var i in e){var a=e[i];r[i]=a&&"object"==typeof a?n(a):a}return r}}}),i.copyInto=r=function(e,t,n){if(n=n||{},e&&"object"==typeof e)for(var i in e){var a=t[i],s=e[i],o=n.filter;if(!o||!o(s,a)){var c=typeof s;if(s&&"object"===c)if(s.nodeType){if(!n.referenceNodes)continue;t[i]=s}else t[i]=r(s,typeof a===c?a:new s.constructor,n);else t[i]=s}}return t},i.count=function(e,t,n){if(!e)return 0;if(isFinite(e.length))return e.length;if("object"==typeof e){var r=0,i=void 0!==t;if(i&&void 0!==n)for(var a in e)e[a]&&e[a][t]===n&&++r;else if(i)for(var a in e)void 0!==e[a]&&++r;else for(var a in e)++r;return r}},i.isEmpty=function(e){if(null==e)return!0;if(e.length>=0)return!e.length;for(var t in e)return!1;return!0},i.isNotEmpty=function(e){return!i.isEmpty(e)},i.clamp=function(e,t,n){return n<e?e:n>t?t:n},i.clampFinite=function(e){var t=i.INFINITY;return e>+t&&(e=+t),e<-t&&(e=-t),e},i.arrayEmpty=function(e){e.splice(0,e.length)},i.arrayIntersects=function(e,t){return t.some((function(t){return-1!==e.indexOf(t)}))},i.inArray=function(e,t){return-1!==e.indexOf(t)},i.isArray=function(e){return Array.isArray(e)||e instanceof NodeList},i.each=function(e,t){if(i.isArray(e))for(var n=0;n<e.length;n++)t(e[n],n);else for(var r in e)t(e[r],r)},i.equals=function(e,t){return"object"==typeof e?"object"==typeof t&&i.json.stringify(e)===i.json.stringify(t):e===t},i.objectToArray=function(e){var t=[];for(var n in e)t.push(e[n]);return t},i.arrayToObject=function(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n]]=!0;return t},i.addFileInput=function(t,n){e.uploader.addFileInput({target:t,onchange:function(t){t.fileInput.value="",t.addMedia({openAsNew:n,self:e.uploader})}})},i.bytesToSize=function(e,t){if(e){t=t||1;var n=Math.floor(Math.log(Math.abs(e))/Math.log(1024));return(e/Math.pow(1024,n)).toFixed(t)+["Bytes","kb","mb","gb","tb"][n]}return"0Bytes"},i.getTimeFormat=function(e,t){var n=(e/=1e3)/3600>>0,r=(e-3600*n)/60>>0,i=e-3600*n-60*r>>0;return t?(n<10&&(n="0"+n),r<10&&(r="0"+r),i<10&&(i="0"+i),n+":"+r+":"+i):{hours:n,minutes:r,seconds:i}},i.require=function(e){"string"==typeof e&&(e={url:e});var t=e.url,n=e.type||(-1!==t.indexOf(".css")?"css":"js"),r=e.async||!1,i=e.onsuccess;if("css"===n)r?setTimeout(o,0):o();else{var a=document.createElement("script");if(a.src=t,a.async=r,i){var s=!1;a.onload=a.onreadystatechange=function(){if(!1===s){var e=a.readyState;e&&!/loaded|complete/.test(e)||(s=!0,i(),a.onload=a.onreadystatechange=null)}}}document.head.appendChild(a)}function o(){var e=document.createElement("link");e.href=t,e.setAttribute("type","text/css"),e.setAttribute("rel","stylesheet"),document.head.appendChild(e)}},i.isEditingText=function(){var e=document.activeElement;if(!e)return!1;var t=e.nodeName;return("INPUT"===t||"TEXTAREA"===t||"true"===e.contentEditable)&&!e.classList.contains("sk-canvas-dummy")},i.pending=function(e,t){var n=e;return{add:function(e){n+=e||1},next:function(){--n||t()}}}},e.exports?e.exports=t.module.DOMMisc:t.module.DOMMisc(galactic)}(galactic)},function(e,t){!function(){"use strict";var e,t={},n={};function r(n){return new Promise((function(r,c){var l=n.format,h=n.codec,u=n.base64,d="audio/"+l+'; codecs="'+h+'"',f="data:"+d+";base64,"+u,p=new Audio;function m(n){function a(e,n,r,i){!t[n]&&(t[n]=i),!t[r]&&(t[r]=i),!e[n]&&(e[n]=i),e[r]=i}a(t.audio,l,h,n),t.audioapi?function(t){return new Promise((function(n,r){(e=e||new i).decodeAudioData(o(t),n,r).then((function(e){})).catch((function(e){})),setTimeout(r,250)}))}(f).then((function(){a(t.audioapi,l,h,!0),r()}),(function(e){a(t.audioapi,l,h,!1),r()})):r()}p.canPlayType(d).replace(/no/i,"")?(p.id="audio",p.controls=!1,p.setAttribute("autobuffer",!0),p.setAttribute("preload","auto"),p.addEventListener("error",(function e(t){var n;a&&!p.testedBlobURL?(p.testedBlobURL=!0,p.src=a((n=f,new Blob([o(n)],{type:s(n)})))):(p.removeEventListener("error",e),m(!1))})),p.addEventListener("canplaythrough",(function e(){p.removeEventListener("canplaythrough",e),m(!0)})),p.src=f,p.load()):m(!1)}))}var i=self.AudioContext||self.mozAudioContext||self.webkitAudioContext,a=(self.URL||self.webkitURL||{}).createObjectURL;function s(e){return(e=e.split(","))[0].split(":")[1].split(";")[0]}function o(e){e=e.split(",");for(var t=atob(e[1]),n=new ArrayBuffer(t.length),r=new Uint8Array(n),i=0;i<t.length;i++)r[i]=t.charCodeAt(i);return n}function c(e,t,r){n[e+"_"+t]={format:e,codec:t,base64:r}}c("mpeg","mp3","//MUxAAB6AXgAAAAAPP+c6nf//yi/6f3//MUxAMAAAIAAAjEcH//0fTX6C9Lf//0//MUxA4BeAIAAAAAAKX2/6zv//+IlR4f//MUxBMCMAH8AAAAABYWalVMQU1FMy45//MUxBUB0AH0AAAAADkuM1VVVVVVVVVV//MUxBgBUATowAAAAFVVVVVVVVVVVVVV"),c("ogg","opus","T2dnUwACAAAAAAAAAAAAAAAAAAAAAEVP7KoBE09wdXNIZWFkAQEAD0SsAAAAAABPZ2dTAAAAAAAAAAAAAAAAAAABAAAAVewFUgEYT3B1c1RhZ3MIAAAAUmVjb3JkZXIAAAAAT2dnUwAEwAMAAAAAAAAAAAAAAgAAAHSiY8oBA/j//g=="),c("ogg","vorbis","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lFJKKaWUUkoppZRSSimllFJKKaWUUkqppJRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoplVJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSCgCQinAAkHowoQwUGrISAEgFAACMUUopxpyDEDHmGGPQSSgpYsw5xhyUklLlHIQQUmktt8o5CCGk1FJtmXNSWosx5hgz56SkFFvNOYdSUoux5ppr7qS0VmuuNedaWqs115xzzbm0FmuuOdecc8sx15xzzjnnGHPOOeecc84FAOA0OACAHtiwOsJJ0VhgoSErAYBUAAACGaUYc8456BBSjDnnHIQQIoUYc845CCFUjDnnHHQQQqgYc8w5CCGEkDnnHIQQQgghcw466CCEEEIHHYQQQgihlM5BCCGEEEooIYQQQgghhBA6CCGEEEIIIYQQQgghhFJKCCGEEEIJoZRQAABggQMAQIANqyOcFI0FFhqyEgAAAgCAHJagUs6EQY5Bjw1BylEzDUJMOdGZYk5qMxVTkDkQnXQSGWpB2V4yCwAAgCAAIMAEEBggKPhCCIgxAABBiMwQCYVVsMCgDBoc5gHAA0SERACQmKBIu7iALgNc0MVdB0IIQhCCWBxAAQk4OOGGJ97whBucoFNU6iAAAAAAAAwA4AEA4KAAIiKaq7C4wMjQ2ODo8AgAAAAAABYA+AAAOD6AiIjmKiwuMDI0Njg6PAIAAAAAAAAAAICAgAAAAAAAQAAAAICAT2dnUwAE7AwAAAAAAAD/QwAAAgAAADuydfsFAQEBAQEACg4ODg=="),self.AudioSupports=function(){return t.audio=!!self.Audio&&{},function(){if(navigator.requestMIDIAccess){if(-1!==Function.prototype.toString.call(navigator.requestMIDIAccess).indexOf("[native code]"))return t.midiapi={};for(var e=0;navigator.plugins.length>e;e++){if(navigator.plugins[e].name.indexOf("Jazz-Plugin")>=0)return t.midiapi={}}}t.midiapi=!1}(),t.audioapi=!!i&&{},new Promise((function(e,i){if(!t.audio)return e();setTimeout(e,5e3),Promise.all([r(n.mpeg_mp3),r(n.ogg_opus),r(n.ogg_vorbis)]).then(e)})).then((function(){return t}))},self.AudioSupports.register=c}()},function(e,t){"undefined"==typeof galactic&&(galactic={}),function(e){"use strict";galactic.EventEmitter=function(e){var t=1;function n(e,n){if("function"==typeof n)return e+"."+(n.uniqueId||(n.uniqueId=t++));console.warn(e,"listener does not exist")}function r(t){return e.on[t]?e.on[t]:e.on[t]=function(t){var r={};function i(){var t=!1;for(var n in r)r[n].apply(e,arguments)&&(t=!0);return t}return i.add=function(e){var i=n(t,e);if(void 0===r[i]&&e)return r[i]=e,{add:function(){r[i]=e},remove:function(){delete r[i]}}},i.remove=function(e){var i=n(t,e);void 0!==r[i]&&e&&delete r[i]},i.stack=r,i}(t)}e.on=function(e,t){return r(e).add(t)},e.off=function(t,n){n?r(t).remove(n):delete e.on[t]},e.emit=function(t){var n=e.on[t];if(n){var r=Array.prototype.slice.call(arguments).slice(1);return n.apply(e,r)}}}}()},function(e,t){"undefined"==typeof MIDI&&(MIDI={}),function(e){"use strict";e.DEBUG=!1,e.USE_XHR=!0,e.PATH="./soundfont/",e.DEBUG&&console&&console.log&&console.log("%c♥ MIDI.js 0.4.2 ♥","color: red;");var t={midiapi:0,audioapi:1,audio:2},n={ogg:0,mp3:1};e.setup=function(r){return new Promise((function(i,a){"function"==typeof(r=r||{})&&(r={onsuccess:r}),isFinite(r.debug)&&(e.DEBUG=!!r.debug),r.soundfontUrl&&(e.PATH=r.soundfontUrl),AudioSupports().then((function(s){function o(n){n=n.toLowerCase();var c=e.adaptor.format;function l(e){var r=parseInt(t[n])+1,i=Object.keys(t)[r];i?o(i):a&&a({message:"All plugins failed."})}s[n][c]?(r.tech=n,e.loadProgram(r).then((function(){i()})).catch((function(t){e.DEBUG&&console.error(n,t),l(t)}))):l()}!function(){for(var t in e.adaptor)delete e.adaptor[t];for(var r in n)if(s[r])return e.adaptor.format=r,!0}()?a({message:"MIDIJS: Browser does not have necessary audio support."}):s[location.hash.substr(1)]?o(location.hash.substr(1)):s.midi_api?o("midiapi"):window.AudioContext?o("audioapi"):window.Audio&&o("Audio")}),a)}))},e.loadProgram=function(t){return t||(t={}),"object"==typeof t||(t={instrument:t}),t.instruments=function(){var n=t.instruments||t.instrument||e.channels[0].program;"object"==typeof n?Array.isArray(n)||(n=Object.keys(n)):n=void 0===n?[]:[n];for(var r=0;r<n.length;r++){var i=n[r];if(i>=0){var a=e.getProgram(i);a&&(n[r]=a.nameId)}}0===n.length&&(n=["acoustic_grand_piano"]);return n}(),t.tech=t.tech||e.adaptor.id,e.adaptors._load(t)}}(MIDI)},function(e,t){"undefined"==typeof MIDI&&(MIDI={}),function(e){"use strict";var t=e.adaptor={},n=e.adaptors={},r=n._requests={};n._load=function(a){return i(),"midiapi"===a.tech?n.midiapi.connect(a):function(i){return new Promise((function(e,s){for(var o=t.format.split("_").shift(),c=i.instruments,l=i.onprogress,h=i.tech,u=c.length,d=0;d<u;d++){var f=c[d],p=r[f]||(r[f]={});p.loaded?m([f]):p.loading?p.queue.push(e):(p.queue=[e],p.loading=!0,a(f,o).then((function(e){m(e)})).catch(s))}function m(e){r[e].loading=!1;var t=!1;for(var a in r)r.hasOwnProperty(a)&&r[a].loading&&(t=!0);t||(!function e(t,n){e.progress!==t&&(e.progress=t,l&&l("load",t,n))}(1),n[h].connect(i).then((function(){c.forEach((function(e){for(var t,n=r[e];t=n.queue.pop();)t()}))})).catch(s))}}));function a(t,n,r){return new Promise((function(i,a){var s=e.PATH+t+"-"+n+".js";e.USE_XHR?galactic.request({url:s,format:"text",onerror:a,onprogress:r,onsuccess:function(e,n){var r=document.createElement("script");r.language="javascript",r.type="text/javascript",r.text=n,document.body.appendChild(r),i(t)}}):dom.loadScript.add({url:s,verify:'MIDI.Soundfont["'+t+'"]',onerror:a,onsuccess:i})}))}}(a)};function i(){var n;function r(t,n,r){e.adaptor.id&&(e.player.playing?e.loadProgram(n).then(e.player.start):e.loadProgram(n))}function i(e,t){return{configurable:!0,get:function(){return t},set:function(n){t=n,a(e)}}}function a(n){e.DEBUG&&console.warn("The "+t.id+' adaptor does not support "'+n+'".')}function s(e){return function(){a(e)}}n=performance.now(),Object.defineProperties(e,{currentTime:{configurable:!0,get:function(){return performance.now()-n}}}),e.set=function(t,n,r){if(r)return setTimeout((function(){e[t]=n}),1e3*r);e[t]=n},e.messageHandler={},e.programChange=function(t,n,i){var a=e.getProgram(n);if(a&&Number.isFinite(n=a.id)){var s=e.channels[t];if(s&&s.program!==n){i?setTimeout((function(){s.program=n}),i):s.program=n;var o=e.messageHandler.program||r;o&&o(t,n,i)}}},Object.defineProperties(e,{context:i(null),detune:i("detune",0),fx:i("fx",null),mute:i("mute",!1),volume:i("volume",1)}),e.send=s("send"),e.noteOn=s("noteOn"),e.noteOff=s("noteOff"),e.cancelNotes=s("cancelNotes"),e.setController=s("setController"),e.setEffects=s("setEffects"),e.setPitchBend=s("setPitchBend"),e.setProperty=s("setProperty"),e.setVolume=s("setVolume"),e.iOSUnlock=s("iOSUnlock")}i()}(MIDI)},function(e,t){window.Audio&&function(){"use strict";var e=MIDI.adaptors.audio={},t=[],n=-1,r=[],i={};function a(e,t,n,r){var i,a=MIDI.getNoteName(t);return r?i=setTimeout((function(){l(e,a,n)}),1e3*r):l(e,a,n),{cancel:function(){clearTimeout(i)}}}function s(e,t,n){return{cancel:function(){clearTimeout(void 0)}}}function o(e,t,n,r){for(var i=0;i<t.length;i++){var a=t[i],s=MIDI.getNoteName(a);if(s){if(r)return setTimeout((function(){l(e,s,n)}),1e3*r);l(e,s,n)}}}function c(e,t,n){for(var r=0;r<t.length;r++){var i=t[r],a=MIDI.getNoteName(i);if(a){if(n)return setTimeout((function(){h(e,a)}),1e3*n);h(e,a)}}}function l(e,a,s){var o=MIDI.channels[e];if(o){var c=o.program,l=MIDI.getProgram(c).nameId,h=l+""+a,u=(n+1)%t.length,d=MIDI.Soundfont[l];if(d){var f=t[u];f.src=d[a],f._channel=o,f._volume=s,f._id=h,i.volume(f),f.play(),n=u,r[u]=f}else MIDI.DEBUG&&console.log("404",l)}}function h(e,i){var a=MIDI.channels[e];if(a)for(var s=a.program,o=MIDI.getProgram(s).nameId+""+i,c=0,l=t.length;c<l;c++){var h=(c+n+1)%l,u=r[h];if(u&&u._id===o)return t[h].pause(),void(r[h]=null)}}e.connect=function(e){MIDI.adaptor.id="audio";for(var n=0;n<12;n++)t[n]||(t[n]=new Audio);return function(){function e(e,t,n){return{configurable:!0,get:function(){return t},set:function(r){typeof r===e&&(t=r,n&&n())}}}function t(e){return function(){for(var t in r)i[e](r[t])}}Object.defineProperties(MIDI,{mute:e("boolean",!1,t("volume")),volume:e("number",1,t("volume"))})}(),i.volume=function(e){var t=e._channel;if(MIDI.mute||t.mute)e.volume=0;else{var n=MIDI.volume*t.volume*e._volume;e.volume=Math.min(1,Math.max(-1,2*n))}},MIDI.noteOn=function(e,t,n,r){switch(typeof t){case"number":return a.apply(null,arguments);case"string":break;case"object":return o.apply(null,arguments)}},MIDI.noteOff=function(e,t,n){switch(typeof t){case"number":return s.apply(null,arguments);case"string":break;case"object":return c.apply(null,arguments)}},MIDI.stopAllNotes=function(e){if(isFinite(e));else for(var n=0,r=t.length;n<r;n++)t[n].pause()},new Promise((function(e,t){var n=MIDI.adaptors._requests,r=MIDI.Soundfont;for(var i in r){var a=n[i]||(n[i]={});a.loaded=!0,a.loading=!1}e()}))}}()},function(e,t){window.AudioContext&&function(){"use strict";var e=MIDI.adaptors,t=e.audioapi={},n=((n=new(window.AudioContext||window.webkitAudioContext)).hasDetune=function(){n.createBuffer(1,1,44100);var e=n.createBufferSource();try{return e.detune.value=1200,!0}catch(e){return!1}}(),n),r={},i=e._requests,a={},s={};function o(e,t){var n=s[e];for(var r in n)for(var i=n[r],a=0;a<i.length;a++)t(i,i[a])}t.connect=function(e){return MIDI.adaptor.id="audioapi",function(){function e(e,t,n){return{configurable:!0,get:function(){return t},set:function(r){typeof r===e&&(t=r,n&&n())}}}function t(e){return function(){MIDI.setProperty(e)}}Object.defineProperties(MIDI,{context:{configurable:!0,get:function(){return n},set:function(e){n=e}},detune:e("number",0,t("detune")),fx:e("object",null,t("fx")),mute:e("boolean",!1,t("volume")),volume:e("number",1,t("volume"))}),MIDI.setProperty=function(e,t){if(a[e])if(isFinite(t))"fx"===e&&i(MIDI.channels[t]),r();else for(var t in"fx"===e&&i(MIDI),s)r();function r(){o(t,(function(t,n){a[e](n)}))}function i(e){var t=e.fxNodes||(e.fxNodes={});for(var r in t)t[r].disconnect(n.destination),delete t[r];if(n.tunajs)for(var i=e.fx,a=0;a<i.length;a++){var s=i[a],o=s.type,c=new n.tunajs[o](s);c.connect(n.destination),t[o]=c}else MIDI.DEBUG&&console.error("fx not installed.",arguments)}}}(),a.volume=function(e){var t=e.gainNode.gain,r=e._channel;if(MIDI.mute||r.mute)t.value=0;else{var i=MIDI.volume*r.volume*e._volume;t.value=Math.min(2,Math.max(0,i))}t._fadeout&&(t.cancelScheduledValues(n.currentTime),t.linearRampToValueAtTime(t.value,t._startAt),t.linearRampToValueAtTime(0,t._startAt+.3))},a.detune=function(e){if(n.hasDetune){var t=e._channel,r=MIDI.detune+t.detune;r&&(e.detune.value=r)}},a.fx=function(e){var t=e._channel,n=e.gainNode;function r(e){if(e)for(var t in e){var r=e[t];n.connect(r.input),n=r}}e.disconnect(0),e.connect(n),r(MIDI.fxNodes),r(t.fxNodes)},MIDI.noteOn=function(e,n,r,i){switch(typeof n){case"number":return t.apply(null,arguments);case"string":break;case"object":return l.apply(null,arguments)}},MIDI.noteOff=function(e,t,n){switch(typeof t){case"number":return c.apply(null,arguments);case"string":break;case"object":return h.apply(null,arguments)}},MIDI.cancelNotes=function(e){if(isFinite(e))t(e);else for(var e in s)t(e);function t(e){o(e,(function(e,t){u(e,t)}))}},MIDI.iOSUnlock=function(){if(!0!==n.unlocked){n.unlocked=!0;var e=n.createBuffer(1,1,44100),t=n.createBufferSource();t.buffer=e,t.connect(n.destination),t.start(0)}},"suspended"===n.state&&n.resume(),new Promise((function(e,t){window.Tuna&&(n.tunajs instanceof Tuna||(n.tunajs=new Tuna(n)));var a=MIDI.Soundfont,s=Object.keys(a);for(var o in a){var c=MIDI.getProgram(o);if(c){var l=i[o]||(i[o]={});if(l.loaded)continue;if(l.decoding)l.queue.push(e);else{l.decoding=!0,l.queue.push(e),l.pending=0;var h=a[o];for(var u in h)f(o,c.id,u)}}}function d(){for(var e=0;e<s.length;e++){var t=s[e];if((r=i[t]).pending)return}for(e=0;e<s.length;e++){t=s[e];for(var n,r=i[t];n=r.queue.pop();)n()}}function f(e,t,s){var o=i[e],c=a[e][s];c&&(o.pending++,function(e){return new Promise((function(t,r){if(0===e.indexOf("data:audio"))a(function(e){e=e.split(",");for(var t=atob(e[1]),n=(e[0].split(":")[1].split(";")[0],new ArrayBuffer(t.length)),r=new Uint8Array(n),i=0;i<t.length;i++)r[i]=t.charCodeAt(i);return n}(e));else{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){a(i.response)},i.send()}function a(e){n.decodeAudioData(e,t,r)}}))}(c).then((function(n){n.id=s;var i=MIDI.getNoteNumber(s);r[t+"x"+i]=n,--o.pending||(o.decoding=!1,o.loading=!1,o.loaded=!0,MIDI.DEBUG&&console.log("loaded: ",e),d())})).catch((function(e){MIDI.DEBUG&&console.error("audio could not load",arguments)})))}setTimeout(d,0)}));function t(e,t,i,o){var c;o=o||0;var l=MIDI.volume;if(l){var h=MIDI.channels[e],u=h.program,d=u+"x"+t,f=r[d];f?((c=n.createBufferSource()).buffer=f,c.gainNode=n.createGain(),c.gainNode.connect(n.destination),c._channel=h,c._volume=i,a.volume(c),a.detune(c),a.fx(c),c.start(o+n.currentTime),s[e]=s[e]||{},s[e][t]=s[e][t]||[],s[e][t].push(c),s[e][t].active=c):MIDI.DEBUG&&console.error(["no buffer",arguments])}return{cancel:function(){c&&c.disconnect(0)}}}function c(e,t,n){n=n||0;var r=s[e];if(r){var i=r[t];if(i){var a=i.active;a&&u(i,a,n)}}return{cancel:function(){a&&a.disconnect(0)}}}function l(e,t,n,r){for(var i,a={},s=0,o=t.length;s<o;s++)a[i=t[s]]=MIDI.noteOn(e,i,n,r);return a}function h(e,t,n){for(var r,i={},a=0,s=t.length;a<s;a++)i[r=t[a]]=MIDI.noteOff(e,r,n);return i}function u(e,t,r){var i=(r||0)+n.currentTime,a=t.gainNode.gain;a._fadeout=!0,a._startAt=i,a.linearRampToValueAtTime(a.value,i),a.linearRampToValueAtTime(0,i+.3),t.stop(i+.5),setTimeout((function(){e.shift()}),1e3*r)}}}()},function(e,t){!function(){"use strict";var e,t=MIDI.adaptors.midiapi={},n={},r={};function i(t,r,i,a){return e.send([144+t,r,127*i>>0],1e3*(a||0)),n[t+"x"+r]={_channel:MIDI.channels[t],_volume:i},{cancel:function(){}}}function a(t,r,i){return e.send([128+t,r,0],1e3*(i||0)),delete n[t+"x"+r],{cancel:function(){}}}function s(t,n,r,i){for(var a=0;a<n.length;a++)e.send([144+t,n[a],r],1e3*(i||0))}function o(t,n,r){for(var i=0;i<n.length;i++)e.send([128+t,n[i],0],1e3*(r||0))}function c(t,n,r,i){e.send([t,n,r],1e3*(i||0))}function l(t,n,r){e.send([224+t,n],1e3*(r||0))}function h(t,n,r){e.send([176+t,7,n],1e3*(r||0))}t.connect=function(t){return MIDI.adaptor.id="midiapi",function(){function t(e,t,n){return{configurable:!0,get:function(){return t},set:function(r){typeof r===e&&(t=r,n&&n())}}}function i(e){return function(){for(var t in n)r[e](n[t])}}Object.defineProperties(MIDI,{context:{configurable:!0,set:function(t){e=t},get:function(){return e}},detune:t("number",0,i("detune")),mute:t("boolean",!1,i("volume")),volume:t("number",1,i("volume"))})}(),r.volume=function(e){var t=e._channel;if(MIDI.mute||t.mute)h(t.id,0);else{var n=MIDI.volume*t.volume*e._volume;h(t.id,Math.min(1,Math.max(-1,2*n)))}},r.detune=function(e){var t=e._channel,n=MIDI.detune+t.detune;n&&l(t.id,n)},MIDI.setController=c,MIDI.setPitchBend=l,MIDI.setVolume=h,MIDI.messageHandler.program=function(t,n,r){e.send([192+t,n],1e3*(r||0))},MIDI.send=function(t,n){e.send(t,1e3*(n||0))},MIDI.noteOn=function(e,t,n,r){switch(typeof t){case"number":return i.apply(null,arguments);case"string":break;case"object":return s.apply(null,arguments)}},MIDI.noteOff=function(e,t,n){switch(typeof t){case"number":return a.apply(null,arguments);case"string":break;case"object":return o.apply(null,arguments)}},MIDI.cancelNotes=function(t){if(isFinite(t))e.send([176+t,123,0]);else{e.cancel();for(t=0;t<16;t++)e.send([176+t,123,0])}},new Promise((function(t,n){function r(e){n&&n(e)}navigator.requestMIDIAccess().then((function(n){var i=n.outputs;i.size&&i.forEach((function(t){"connected"===t.state&&"input"===t.type&&(e=t)})),null==e?r({message:"No available outputs."}):t()}),r)}))}}()},function(e,t){"undefined"==typeof MIDI&&(MIDI={}),function(e){"use strict";e.channels=function(t){for(var n=0;n<=15;n++)r(n);return t;function r(r){var i=t[r]={};function a(t,n,i){return{configurable:!0,enumerable:!0,get:function(){return i},set:function(a){typeof a===t&&(i=a,e.setProperty(n,r))}}}i.noteOn=function(t,n,i){return e.noteOn(r,t,n,i)},i.noteOff=function(t,n){return e.noteOff(r,t,n)},i.cancelNotes=function(){return e.cancelNotes(r)},i.set=function(){},Object.defineProperties(i,{id:{value:n,enumerable:!0,writable:!0},program:{value:n,enumerable:!0,writable:!0},volume:a("number","volume",1),mute:a("boolean","volume",!1),mono:a("boolean","*",!1),omni:a("boolean","*",!1),solo:a("boolean","*",!1),detune:a("number","detune",0),fx:a("object","fx",null)})}}({})}(MIDI)},function(e,t){"undefined"==typeof MIDI&&(MIDI={}),function(e){"use strict";function t(e){return e.replace(/[^a-z0-9_ ]/gi,"").replace(/[ ]/g,"_").toLowerCase()}e.getProgram=function(n){return"string"==typeof n?e.getProgram.byName[t(n)]:e.getProgram.byId[n]},function(n){var r=e.GM={},i=e.getProgram.byId={},a=e.getProgram.byName={};for(var s in n)for(var o=n[s],c=0,l=o.length;c<l;c++){var h=o[c];if(h){var u=parseInt(h.substr(0,h.indexOf(" ")),10),d=h.replace(u+" ",""),f=t(d),p=t(s),m={id:--u,name:d,nameId:f,category:s};i[u]=m,a[f]=m,r[p]=r[p]||[],r[p].push(m)}}}({Piano:["1 Acoustic Grand Piano","2 Bright Acoustic Piano","3 Electric Grand Piano","4 Honky-tonk Piano","5 Electric Piano 1","6 Electric Piano 2","7 Harpsichord","8 Clavinet"],"Chromatic Percussion":["9 Celesta","10 Glockenspiel","11 Music Box","12 Vibraphone","13 Marimba","14 Xylophone","15 Tubular Bells","16 Dulcimer"],Organ:["17 Drawbar Organ","18 Percussive Organ","19 Rock Organ","20 Church Organ","21 Reed Organ","22 Accordion","23 Harmonica","24 Tango Accordion"],Guitar:["25 Acoustic Guitar (nylon)","26 Acoustic Guitar (steel)","27 Electric Guitar (jazz)","28 Electric Guitar (clean)","29 Electric Guitar (muted)","30 Overdriven Guitar","31 Distortion Guitar","32 Guitar Harmonics"],Bass:["33 Acoustic Bass","34 Electric Bass (finger)","35 Electric Bass (pick)","36 Fretless Bass","37 Slap Bass 1","38 Slap Bass 2","39 Synth Bass 1","40 Synth Bass 2"],Strings:["41 Violin","42 Viola","43 Cello","44 Contrabass","45 Tremolo Strings","46 Pizzicato Strings","47 Orchestral Harp","48 Timpani"],Ensemble:["49 String Ensemble 1","50 String Ensemble 2","51 Synth Strings 1","52 Synth Strings 2","53 Choir Aahs","54 Voice Oohs","55 Synth Choir","56 Orchestra Hit"],Brass:["57 Trumpet","58 Trombone","59 Tuba","60 Muted Trumpet","61 French Horn","62 Brass Section","63 Synth Brass 1","64 Synth Brass 2"],Reed:["65 Soprano Sax","66 Alto Sax","67 Tenor Sax","68 Baritone Sax","69 Oboe","70 English Horn","71 Bassoon","72 Clarinet"],Pipe:["73 Piccolo","74 Flute","75 Recorder","76 Pan Flute","77 Blown Bottle","78 Shakuhachi","79 Whistle","80 Ocarina"],"Synth Lead":["81 Lead 1 (square)","82 Lead 2 (sawtooth)","83 Lead 3 (calliope)","84 Lead 4 (chiff)","85 Lead 5 (charang)","86 Lead 6 (voice)","87 Lead 7 (fifths)","88 Lead 8 (bass + lead)"],"Synth Pad":["89 Pad 1 (new age)","90 Pad 2 (warm)","91 Pad 3 (polysynth)","92 Pad 4 (choir)","93 Pad 5 (bowed)","94 Pad 6 (metallic)","95 Pad 7 (halo)","96 Pad 8 (sweep)"],"Synth Effects":["97 FX 1 (rain)","98 FX 2 (soundtrack)","99 FX 3 (crystal)","100 FX 4 (atmosphere)","101 FX 5 (brightness)","102 FX 6 (goblins)","103 FX 7 (echoes)","104 FX 8 (sci-fi)"],Ethnic:["105 Sitar","106 Banjo","107 Shamisen","108 Koto","109 Kalimba","110 Bagpipe","111 Fiddle","112 Shanai"],Percussive:["113 Tinkle Bell","114 Agogo","115 Steel Drums","116 Woodblock","117 Taiko Drum","118 Melodic Tom","119 Synth Drum","129 Percussion"],"Sound effects":["120 Reverse Cymbal","121 Guitar Fret Noise","122 Breath Noise","123 Seashore","124 Bird Tweet","125 Telephone Ring","126 Helicopter","127 Applause","128 Gunshot"]}),function(){for(var t=["C","Db","D","Eb","E","F","Gb","G","Ab","A","Bb","B"],n={},r={},i=21;i<=108;i++){var a=t[i%12]+((i-12)/12>>0);n[a]=i,r[i]=a}e.getNoteName=function(e){return e in n?e:e in r?r[e]:void 0},e.getNoteNumber=function(e){return e in r?e:e in n?n[e]:void 0}}()}(MIDI)},function(e,t){"undefined"==typeof MIDI&&(MIDI={}),MIDI.player=new function(){"use strict";var e=this;galactic.EventEmitter(e);var t,n,r,i={},a=[],s={};function o(r,h){if(!(r>e.duration)){if(h){e.playing?c():e.playing=!0;var d=(v=function(e){for(var t=0,n=s.length,r=0;r<n;r++){var i=s[r][1];if(!(t+i<e))break;t+=i}return{idx:r,time:t}}(r)).idx,f=n=v.time}else d=t,f=n;for(var p=r-e.currentTime,m=0,g=s.length;d<g&&m<=20;){var v=s[d];t=++d,n+=v[1],r=n-f;var b=v[0].event,y=b.type,w=b.subtype;if(u[w])switch(y){case"channel":k();break;case"meta":x()}}}function x(){w}function k(){var t=b.channel,i=MIDI.channels[t],s=Math.max(0,(r+p)/1e3);switch(w){case"controller":MIDI.setController(t,b.controllerType,b.value,s);break;case"programChange":var o=b.programNumber;(function(t){var n=MIDI.getProgram(t);return n&&e.instruments[n.nameId]})(o)&&MIDI.programChange(t,o,s);break;case"pitchBend":var c=b.value;MIDI.setPitchBend(t,c,s);break;case"noteOn":var l=T(b.noteNumber);a.push({promise:i.noteOn(l,b.velocity/127,s),timeout:A(b,l,n,s)}),m++;break;case"noteOff":l=T(b.noteNumber);a.push({promise:i.noteOff(l,s),timeout:A(b,l,n,s)}),m++}}function A(t,r,s,c){return setTimeout((function(){var s=galactic.util.copy(t);s.noteNumber=r,e.emit("event",s),a.shift();var c=s.channel+"x"+s.noteNumber;switch(s.subtype){case"noteOn":i[c]=s;break;case"noteOff":delete i[c]}a.length<=100&&o(n)}),1e3*c)}function T(t){return l(0,127,t+e.transpose)}}function c(){if(e.playing){for(e.playing=!1;a.length;){var t=a.pop();t&&(t.promise&&t.promise.cancel(),clearTimeout(t.timeout))}for(var n in i){var r=i[n];e.emit("event",{channel:r.channel,noteNumber:r.noteNumber,status:r.status-16,subtype:"noteOff",type:"channel"})}}}function l(e,t,n){return n<e?e:n>t?t:n}function h(){r&&(s=Replayer(MidiFile(r),e.bpm)),e.duration=function(){for(var e=s.length,t=0,n=0;n<e;n++)t+=s[n][1];return t}()}!function(){var t=0,n=!1,i=0;function a(t,n){return{get:function(){return t},set:function(i){Number.isFinite(i)&&(t=i,n&&r&&(e.stop(),h(),o(0,!0)))}}}function s(n){i=performance.now(),t=l(0,e.duration,n)}Object.defineProperties(e,{bpm:a(null,!0),warp:a(1,!0),transpose:a(0,!0),currentTime:{get:function(){return e.playing?t+(performance.now()-i):t},set:function(e){Number.isFinite(e)&&s(e)}},duration:a(0,!1),playing:{get:function(){return n},set:function(t){s(e.currentTime),n=t}}})}(),e.start=function(t){c(),e.currentTime=t,o(e.currentTime,!0)},e.stop=function(){c(),e.currentTime=0},e.pause=function(){c()},e.setAnimation=function(t){var n=0,r=0,i=0;e.clearAnimation(),requestAnimationFrame((function a(){if(e.frameId=requestAnimationFrame(a),e.duration){e.playing?(n=i===e.currentTime?r-Date.now():0,n=0===e.currentTime?0:e.currentTime-n,i!==e.currentTime&&(r=Date.now(),i=e.currentTime)):n=e.currentTime;var s=e.duration,o=n/1e3,c=o/60,l=60*c+(o-60*c),h=s/1e3;if(h-l<-1)return;var u=Math.min(1,l/h);u!==t.progress&&(t.progress=u,t({progress:u,currentTime:l,duration:h}))}}))},e.clearAnimation=function(){e.frameId&&cancelAnimationFrame(e.frameId)};var u={controller:!0,noteOff:!0,noteOn:!0,pitchBend:!0,setTempo:!0,programChange:!0};e.handleEvent=function(e,t){u[e]=t},e.load=function(t){return new Promise((function(n,i){"string"==typeof t&&(t={src:t});var a=t.src,o=t.onprogress;function c(){try{h(),e.instruments=function(){for(var e={},t={},n=0;n<s.length;n++){var r=s[n][0].event;if("channel"===r.type){var i=r.channel;switch(r.subtype){case"programChange":t[i]=r.programNumber;break;case"noteOn":var a=t[i];if(Number.isFinite(a)){if(u.programChange)var o=MIDI.getProgram(a);else i=MIDI.channels[i],o=MIDI.getProgram(i.program);e[o.nameId]=!0}}}}return e}(),MIDI.setup({instruments:e.instruments,onprogress:o}).then((function(e){n(e)})).catch((function(e){i(e)}))}catch(e){i&&i(e)}}e.stop(),t.events?(s=t.events,r=void 0,c()):-1!==a.indexOf("base64,")?(r=atob(a.split(",")[1]),c()):galactic.request({url:a,mimeType:"text/plain; charset=x-user-defined",onerror:function(){i&&i("Unable to load MIDI file: "+a)},onsuccess:function(e,t){r=function(e){for(var t=[],n=String.fromCharCode,r=0,i=e.length;r<i;r++)t[r]=n(255&e.charCodeAt(r));return t.join("")}(t),c()}})}))}}},function(e,t,n){var r,i=n(106),a=n(107);!function(){"use strict";function e(e,t,n,r){for(var i=Object.keys(n),a=0;a<i.length;a++)i[a]=parseFloat(i[a]);i.sort((function(e,t){return e-t}));for(var s=0,o=0;o<i.length;o++){var c=n[i[o]];if(i[o]>s){var l=(i[o]-s)*r;e.addRest(l),t.addRest(l),s=i[o]}for(var h=0;h<c.length;h++){var u=c[h];u.volume?(e.startNote(u.pitch,u.volume),t.startNote(u.pitch,u.volume)):(e.endNote(u.pitch),t.endNote(u.pitch))}}}r=function(t,n){void 0===n&&(n={});var r=t.setUpAudio(n),s=a(),o=new i,c=t.metaText?t.metaText.title:void 0;c&&c.length>128&&(c=c.substring(0,124)+"...");var l=t.getKeySignature(),h=t.getMeterFraction();s.setGlobalInfo(r.tempo,c,l,h),o.setGlobalInfo(r.tempo,c);for(var u=0;u<r.tracks.length;u++){s.startTrack(),o.startTrack();for(var d={},f=0;f<r.tracks[u].length;f++){var p=r.tracks[u][f];switch(p.cmd){case"text":s.setText(p.type,p.text);break;case"program":var m=0;n.pan&&n.pan.length>u&&(m=n.pan[u]),s.setChannel(p.channel,m),s.setInstrument(p.instrument),o.setChannel(p.channel),o.setInstrument(p.instrument);break;case"note":var g=p.start,v=g+p.duration;d[g]||(d[g]=[]),d[g].push({pitch:p.pitch,volume:p.volume}),d[v]||(d[v]=[]),d[v].push({pitch:p.pitch,volume:0});break;default:console.log("MIDI create Unknown: "+p.cmd)}}e(s,o,d,1920),s.endTrack(),o.endTrack()}var b=s.getData(),y=o.getData();return void 0===n.generateInline&&(n.generateInline=!0),n.generateInline&&n.generateDownload?{download:b,inline:y}:n.generateInline?y:b}}(),e.exports=r},function(e,t){var n;!function(){"use strict";(n=function(){this.tempo=0,this.timeFactor=0,this.output=[],this.currentChannel=0,this.currentInstrument=0,this.track=0,this.nextDuration=0,this.tracks=[[]]}).prototype.setInstrument=function(e){this.currentInstrument=e;var t=[{ticksToEvent:0,track:this.track,event:{channel:this.currentChannel,deltaTime:0,programNumber:this.currentInstrument,subtype:"programChange",type:"channel"}},this.nextDuration*this.timeFactor];this.tracks[this.track].push(t)},n.prototype.setChannel=function(e){this.currentChannel=e},n.prototype.startTrack=function(){this.track++,this.tracks[this.track]=[],this.nextDuration=0},n.prototype.setGlobalInfo=function(e,t){this.tempo=e;var n=Math.round(1/e*6e7);this.timeFactor=n/48e4;this.track,this.nextDuration,this.timeFactor;this.track,this.nextDuration,this.timeFactor,this.track,this.nextDuration,this.timeFactor},n.prototype.startNote=function(e,t){var n=5*Math.floor(this.nextDuration/5),r=[{ticksToEvent:n,track:this.track,event:{deltaTime:n,channel:this.currentChannel,type:"channel",noteNumber:e,velocity:t,subtype:"noteOn"}},this.nextDuration*this.timeFactor];this.tracks[this.track].push(r),this.nextDuration=0},n.prototype.endNote=function(e){var t=5*Math.floor(this.nextDuration/5),n=[{ticksToEvent:t,track:this.track,event:{deltaTime:t,channel:this.currentChannel,type:"channel",noteNumber:e,velocity:0,subtype:"noteOff"}},this.nextDuration*this.timeFactor];this.tracks[this.track].push(n),this.nextDuration=0},n.prototype.addRest=function(e){this.nextDuration+=e},n.prototype.endTrack=function(){this.track},n.prototype.getData=function(){return function(e){!function(e){for(var t=0;t<e.length;t++)for(var n=0,r=0;r<e[t].length;r++)n+=e[t][r][1],e[t][r].absTime=n}(e);var t=function(e){for(var t=[],n=0;n<e.length;n++)for(var r=0;r<e[n].length;r++)t.push(e[n][r]);return t}(e);return function(e){for(var t=0,n=0;n<e.length;n++){var r=e[n].absTime;e[n][1]=r-t,t=r}}(t=function(e){return e.sort((function(e,t){if(e.absTime>t.absTime)return 1;if(e.absTime===t.absTime&&e.length>0&&t.length>0&&e[0].event&&t[0].event){var n=e[0].event.channel,r=t[0].event.channel;if(n>r)return 1;if(n<r)return-1;if("programChange"===t[0].event.subtype)return 1}return-1}))}(t)),t}(this.tracks)}}(),e.exports=n},function(e,t){var n;!function(){"use strict";function e(e,t){for(var n in t)t.hasOwnProperty(n)&&e.setAttribute(n,t[n]);return e}function t(){this.trackstrings="",this.trackcount=0,this.noteOnAndChannel="%90",this.noteOffAndChannel="%80"}function r(e,t){for(var n="",r=0;r<e.length;r++)n+=i(e.charCodeAt(r),2);return"%00%FF"+t+i(n.length/3,2)+n}function i(e,t){for(var n=e.toString(16);n.length<t;)n="0"+n;return function(e){for(var t="",n=0;n<e.length;n+=2)t+="%",t+=e.substr(n,2);return t}(n)}function a(e){var t=0,n=[];for(e=Math.round(e);0!==e;)n.push(127&e),e>>=7;for(var r=n.length-1;r>=0;r--){t<<=8;var a=n[r];0!==r&&(a|=128),t|=a}var s=t.toString(16).length;return i(t,s+=s%2)}t.prototype.setTempo=function(e){0===this.trackcount&&(this.startTrack(),this.track+="%00%FF%51%03"+i(Math.round(6e7/e),6),this.endTrack())},t.prototype.setGlobalInfo=function(e,t,n,a){if(0===this.trackcount){this.startTrack();var s=Math.round(6e7/e);this.track+="%00%FF%51%03"+i(s,6),n&&(this.track+=function(e){if(!e||!e.accidentals)return"";for(var t=0,n=256,r=0;r<e.accidentals.length;r++)"sharp"===e.accidentals[r].acc?t++:"flat"===e.accidentals[r].acc&&n--;var a=i(256!==n?n:t,2),s="m"===e.mode?"%01":"%00";return"%00%FF%59%02"+a+s}(n)),a&&(this.track+=function(e){var t,n="%00%FF%58%04"+i(e.num,2),r={1:0,2:1,4:2,8:3,16:4,32:5}[e.den];if(!r)return"";switch(n+=i(r,2),e.num+"/"+e.den){case"2/4":case"3/4":case"4/4":case"5/4":t=24;break;case"6/4":t=72;break;case"2/2":case"3/2":case"4/2":t=48;break;case"3/8":case"6/8":case"9/8":case"12/8":t=36}return t?(n+=i(t,2))+"%08":""}(a)),t&&(this.track+=r(t,"%01")),this.endTrack()}},t.prototype.startTrack=function(){this.track="",this.trackName="",this.trackInstrument="",this.silencelength=0,this.trackcount++,this.instrument&&this.setInstrument(this.instrument)},t.prototype.endTrack=function(){this.track=this.trackName+this.trackInstrument+this.track;var e=i(this.track.length/3+4,8);this.track="MTrk"+e+this.track+"%00%FF%2F%00",this.trackstrings+=this.track},t.prototype.setText=function(e,t){switch(e){case"name":this.trackName=r(t,"%03")}},t.prototype.setInstrument=function(e){this.trackInstrument="%00%C0"+i(e,2),this.instrument=e},t.prototype.setChannel=function(e,t){this.channel=e;var n="%00%B"+this.channel.toString(16);this.track+=n+"%79%00",this.track+=n+"%40%00",this.track+=n+"%5B%30",t||(t=0),t=Math.round(64*(t+1)),this.track+=n+"%0A"+i(t,2),this.track+=n+"%07%64",this.noteOnAndChannel="%9"+this.channel.toString(16),this.noteOffAndChannel="%8"+this.channel.toString(16)},t.prototype.startNote=function(e,t){this.track+=a(this.silencelength),this.silencelength=0,this.track+=this.noteOnAndChannel,this.track+="%"+e.toString(16)+i(t,2)},t.prototype.endNote=function(e){this.track+=a(this.silencelength),this.silencelength=0,this.track+=this.noteOffAndChannel,this.track+="%"+e.toString(16)+"%00"},t.prototype.addRest=function(e){this.silencelength+=e,this.silencelength<0&&(this.silencelength=0)},t.prototype.getData=function(){return"data:audio/midi,MThd%00%00%00%06%00%01"+i(this.trackcount,4)+"%01%e0"+this.trackstrings},t.prototype.embed=function(t,n){var r=this.getData(),i=e(document.createElement("a"),{href:r});if(i.innerHTML="download midi",t.insertBefore(i,t.firstChild),!n){var a=e(document.createElement("embed"),{src:r,type:"video/quicktime",controller:"true",autoplay:"false",loop:"false",enablejavascript:"true",style:"display:block; height: 20px;"});t.insertBefore(a,t.firstChild)}},n=function(){return new t}}(),e.exports=n}])})); method in e