graojs
Version:
graoJS - A full stack MVC NodeJS framework
117 lines • 860 kB
JavaScript
/*
* GoJS v1.4.27 JavaScript Library for HTML Canvas Diagrams
* Northwoods Software, http://www.nwoods.com/
* GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation.
* Copyright (C) 1998-2015 by Northwoods Software Corporation. All Rights Reserved.
* THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: http://www.gojs.net/1.4.27/doc/license.html.
*/
(function(window) { var aa,ba={};if(void 0===document.createElement("canvas").getContext)throw window.console&&window.console.log("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode."),Error("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode.");if(!Object.prototype.__defineGetter__&&!Object.defineProperty)throw Error("GoJS requires a newer version of JavaScript");
Object.prototype.__defineGetter__&&!Object.defineProperty&&(Object.defineProperty=function(a,b,c){c.get&&a.__defineGetter__(b,c.get);c.set&&a.__defineSetter__(b,c.set)});Object.prototype.__lookupGetter__&&!Object.getOwnPropertyDescriptor&&(Object.getOwnPropertyDescriptor=function(a,b){return{get:a.__lookupGetter__(b),set:a.__lookupSetter__(b)}});Object.getPrototypeOf||(Object.getPrototypeOf=function(a){return a.__proto__});Object.isFrozen||(Object.isFrozen=function(a){return!0===a.KH});
Object.freeze||(Object.freeze=function(a){a.KH=!0});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return g.apply(a,f.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,f=d.call(arguments,1),g=this;c.prototype=this.prototype;b.prototype=new c;return b});
(function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c<b.length&&!window.requestAnimationFrame;++c)window.requestAnimationFrame=window[b[c]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[b[c]+"CancelAnimationFrame"]||window[b[c]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(b){var c=(new Date).getTime(),g=Math.max(8,16-(c-a)),h=window.setTimeout(function(){b(c+g)},g);a=c+g;return h});window.cancelAnimationFrame||(window.cancelAnimationFrame=
function(a){clearTimeout(a)})})();
var e={hj:!1,sA:!1,ZE:!1,$I:!1,bJ:!1,fG:!1,sF:!1,oE:!1,assert:function(a,b){if(!a&&e.oE)throw window&&(t.trace(b),window.alert(b)),Error(b);},mt:null,enableBoundsInfo:function(a){e.hj=!0;a&&a.$t()},disableBoundsInfo:function(a){e.hj=!1;a&&(ca(a),a.$t())},WE:function(a,b){void 0===a&&(a=e.mt);void 0===b&&(b=a.tl("").lb);var c=b.length,d=a.Za.getContext("2d");d.fillStyle="rgba(255,255,0,.3)";for(var f=0;f<c;f++){var g=b.wa(f),h=g.na;if(null!==g.va)e.WE(a,g.va);else{var k=g.Ch.copy();k.YA(g.Rc);d.save();
d.transform(k.m11,k.m12,k.m21,k.m22,k.dx,k.dy);d.fillRect(h.x,h.y,h.width,h.height);d.restore()}}},XE:function(a,b){a||(a=e.mt);b||(b=a.tl("").lb);var c=a.Za.getContext("2d"),d=b.length;c.fillStyle="rgba(0,0,255,.3)";for(var f=0;f<d;f++){var g=b.wa(f),h=g.Ja,k=g.Ch;null!==g.va?e.XE(a,g.va):(c.save(),c.transform(k.m11,k.m12,k.m21,k.m22,k.dx,k.dy),c.fillRect(h.x,h.y,h.width,h.height),c.restore())}},VI:function(a,b){a||(a=e.mt);b||(b=a.tl("").lb);var c=a.Za.getContext("2d"),d=b.length;c.fillStyle="rgba(0,0,255,.3)";
for(var f=0;f<d;f++){var g=b.wa(f),h=g.Ia,k=g.Ch;null!==g.va?e.VI(a,g.va):(c.save(),c.transform(k.m11,k.m12,k.m21,k.m22,k.dx,k.dy),c.fillRect(h.x||0,h.y||0,h.width,h.height),c.restore())}},JK:function(){e.XE();e.WE()},KK:function(a){a||(a=e.mt);var b=a.Mc;a=a.Za.getContext("2d");a.strokeStyle="rgba(0,255,0,.9)";a.strokeRect(b.x,b.y,b.width,b.height)},YE:function(a,b){b.fillStyle="red";b.fillRect(0,0,8,8);b.lineWidth=8;b.strokeStyle="rgba(255,255,0,.6)";var c=a.yb;b.strokeRect(c.x,c.y,c.width,c.height);
b.fillStyle="rgba(0,255,0,.2)";b.fillRect(a.Mc.x,a.Mc.y,a.Mc.width,a.Mc.height)},WI:function(a,b){b instanceof da||(a.lineWidth=2,a.strokeStyle="rgba(255,0,0,.5)",a.strokeRect(b.Rb.x,b.Rb.y,b.Rb.width,b.Rb.height),void 0!==b.stroke&&(a.strokeStyle=b.stroke),void 0!==b.se&&(a.lineWidth=b.se),null!==b.ia&&b.ia.type===ea&&(a.lineWidth=1,a.strokeStyle="rgba(10,200,10,.6)",void 0!==b.stroke&&(a.strokeStyle=b.stroke),void 0!==b.se&&(a.lineWidth=b.se)))},XI:function(a,b){a.lineWidth=1;a.strokeStyle="rgba(0,0,255,.5)";
a.strokeRect(b.Ja.x,b.Ja.y,b.Ja.width,b.Ja.height);void 0!==b.stroke&&(a.strokeStyle=b.stroke);void 0!==b.se&&(a.lineWidth=b.se)},rA:function(a,b,c){a.setTransform(c.m11,c.m12,c.m21,c.m22,c.dx,c.dy);c=b.Mb.length;for(var d=0;d<c;d++)for(var f=b.Mb.wa(d),g=f.lb.length,h=0;h<g;h++){var k=f.lb.wa(h);if(void 0!==k.location&&null!==k.location){if(k.location.N()){var l=k.location.x,m=k.location.y;a.beginPath();a.strokeStyle="limegreen";a.lineWidth=2;a.moveTo(l,m+6);a.lineTo(l,m);a.lineTo(l+6,m);a.moveTo(l,
m);a.lineTo(l+10,m+20);a.stroke()}l=k.position.x;m=k.position.y;a.beginPath();a.strokeStyle="red";a.lineWidth=2;a.moveTo(l,m+6);a.lineTo(l,m);a.lineTo(l+6,m);a.moveTo(l,m);a.lineTo(l+20,m+10);a.stroke()}}a.setTransform(1,0,0,1,0,0)},aJ:function(a,b,c){var d=a.length;b.fillStyle="rgba(255,0,0,.1)";for(var f=0;f<d;f++){var g=fa(c,a[f]);b.fillRect(g[0],g[1],g[2],g[3])}},YI:function(a,b,c,d,f){a.fillStyle="rgba(0,255,0,.2)";a.fillRect(b,c,d,f)},ZI:function(a,b,c){a.save();var d=b.Rc;d.reset();1!==b.lc&&
d.scale(b.lc);b=b.Ta;0===b.x&&0===b.y||d.translate(-b.x,-b.y);a.setTransform(d.m11,d.m12,d.m21,d.m22,d.dx,d.dy);c=c.Cc.n;d=c.length;for(b=0;b<d;b++){var f=c[b];a.beginPath();a.moveTo(f.x-4,f.y);a.lineTo(f.x+4,f.y);a.moveTo(f.x,f.y-4);a.lineTo(f.x,f.y+4);a.lineWidth=2;a.strokeStyle="rgba(255,0,0,.9)";a.stroke()}a.restore()},IK:function(a){a||(a=e.mt);for(a=a.qn;a.next();)t.trace(a.value.toString())},cL:function(a,b){var c=b.gm(a),d=b.ec;d.Yd=b.KB(c);d.ea=c;return ga(b,d,a)},$K:function(a,b){b.fe(a.ea)&&
(b.Re.fillStyle="lime",b.Re.Tl="lime",b.Re.fillRect(a.Yd.x,a.Yd.y,1*b.scale,1*b.scale))},aL:function(a){var b=ha(a,!1,null);if(!b.Cp){a=a.Re;for(var c=0;c<=b.Om;c++)for(var d=0;d<=b.Pm;d++){var f=b.sc[c][d];if(f!==ia){var g=c*b.Hd+b.Sf,h=d*b.xd+b.Tf;0!==f&&(a.fillStyle="rgba(255, 0, 0, .2)",a.fillRect(g,h,b.Hd,b.xd));f>=ja||(f%=10,a.fillStyle="blue",a.fillText(f.toString(),g,h+b.xd))}}}},dJ:function(a){if(a instanceof v)for(a=a.qn;a.next();){var b=a.value;t.trace(b.toString());for(b=b.wj;b.next();)e.dJ(b.value)}else if(a instanceof
x){t.trace("References for "+a);a.layer&&t.trace(" "+a.layer.toString()+' LayerName: "'+a.Ne+'"');a.Bn!==a&&t.trace(" SelectionObject: "+a.Bn.toString()+' SelectionObjectName: "'+a.hu+'"');a.$b!==a&&t.trace(" LocationObject: "+a.$b.toString()+' LocationObjectName: "'+a.Lt+'"');if(a.Yg){for(var c="",b=a.Yg.k;b.next();)c+=b.key+" ";t.trace(" Adornments: "+c)}a.fb&&t.trace(" ContainingGroup: "+a.fb.toString());if(a instanceof y){if(a.Ad)for(b=a.Ad.k;b.next(););if(0<a.Vd.count){c="";for(b=a.Vd;b.next();)c+=
b.value.toString()+", ";t.trace(" Links: "+c)}a.Fd&&t.trace(" LabeledLink: "+a.Fd.toString());if(a instanceof z){t.trace(" Placeholder: "+a.placeholder);c="";for(b=a.Nc;b.next();)c+=b.value.toString()+", ";t.trace(" Members: "+c);c="";for(b=a.xm.k;b.next();)c+=b.value.toString()+", ";t.trace(" NestedGroups: "+c);t.trace(" Layout: "+a.ic)}}else if(a instanceof B){t.trace(" Path: "+a.path);t.trace(" From: "+a.ca+" "+a.sd+' "'+a.Cf+'"');t.trace(" To: "+a.fa+" "+a.Xd+' "'+a.hg+'"');c="";for(b=
a.tj;b.next();)c+=b.value.toString()+", ";t.trace(" LabelNodes: "+c)}}},eJ:function(a){if(a instanceof v)for(a=a.qn;a.next();){var b=a.value;t.trace(b.toString());for(b=b.wj;b.next();)e.eJ(b.value)}else a instanceof x&&(b=" ",a.mA&&(b+="c"),a.oA&&(b+="d"),a.EA&&(b+="g"),a.XA&&(b+="m"),a.pB&&(b+="h"),a.qB&&(b+="z"),a.rB&&(b+="o"),a.vk&&(b+="s"),a.EB&&(b+="t"),a.uB&&(b+="A"),a.Gt&&(b+="B"),a.mx&&(b+="L"),a.ib&&(b+="S"),a.pi&&(b+="H"),e.EC(a,1,b))},EC:function(a,b,c){for(var d="",f=0;f<b;f++)d+=" ";
d+=a.toString();c&&(d+=c);c=" ";c=a.visible?c+"v":c+"~";a.mf&&(c+="p");a.oi&&(c+="m");a.Ct&&(c+="a");d=d+c+(" "+a.na.toString());a.Ea.N()&&(d+=" d:"+a.Ea.toString());a.Ja.N()&&(d+=" n:"+a.Ja.toString());1!==a.scale&&(d+=" s:"+a.scale);0!==a.angle&&(d+=" a:"+a.angle);null!==a.background&&(d+=" b:"+a.background.toString());null!==a.gk&&(d+=" a:"+a.background.toString());a instanceof C&&(d+=" elts:"+a.va.count,0!==a.JB&&(d+=" top:"+a.JB),0!==a.PA&&(d+=" left:"+a.PA),null!==a.Jt&&(d+=" itemArray#:"+t.tb(a.Jt)),
a.EJ&&(d+=" cat:"+a.EJ),null!==a.data&&(d+=" data:"+a.data));t.trace(d);if(a instanceof C)for(a=a.elements;a.next();)e.EC(a.value,b+1,"")},LK:function(a){t.trace("DelayedReferences ("+a.lg.count+")");for(a=a.lg.k;a.next();){for(var b="",c=a.value.k;c.next();)b+=ka(c.value)+", ";t.trace(" "+a.key+": "+b)}}};ba.Debug=e;
var t={xi:Object.freeze([]),yA:{},fF:0,Zw:{},xA:0,pt:"...",zt:{},gx:0,LB:[],Cx:null,En:document.createElement("canvas").getContext("2d"),hq:"",GK:document.createElement("img"),pA:[],DB:"ontouchstart"in window,fL:"ongesturestart"in window,ME:!1,ht:null,it:null,gt:null,Ew:"",ln:window.navigator&&0<window.navigator.userAgent.indexOf("534.30")&&0<window.navigator.userAgent.indexOf("Android"),kx:window.navigator&&0<window.navigator.userAgent.indexOf("MSIE 10.0"),MA:window.navigator&&0<window.navigator.userAgent.indexOf("Trident/7"),
mn:0<=navigator.platform.toUpperCase().indexOf("MAC"),xJ:navigator.platform.match(/(iPhone|iPod|iPad)/i),nH:!1,qH:!1,pH:!1,oH:!1,NE:null,nq:!1,lH:!1,mH:!1,JE:function(a,b,c){var d;return function(){var f=this,g=arguments;clearTimeout(d);d=setTimeout(function(){d=null;c||a.apply(f,g)},b);c&&!d&&a.apply(f,g)}},m:function(a){e&&e.oE&&alert(a);throw Error(a);},J:function(a,b){if(a.sb){var c="The object is frozen, so its properties cannot be set: "+a.toString();void 0!==b&&(c+=" to value: "+b);t.m(c)}},
l:function(a,b,c,d){a instanceof b||(c=t.li(c),void 0!==d&&(c+="."+d),t.jc(a,b,c))},i:function(a,b,c,d){typeof a!==b&&(c=t.li(c),void 0!==d&&(c+="."+d),t.jc(a,b,c))},q:function(a,b,c){"number"===typeof a&&isFinite(a)||(b=t.li(b),void 0!==c&&(b+="."+c),t.m(b+" must be a real number type, and not NaN or Infinity: "+a))},Fa:function(a,b,c,d){a instanceof na&&a.Ye===b||(c=t.li(c),void 0!==d&&(c+="."+d),t.jc(a,"a constant of class "+t.Hg(b),c))},gp:function(a,b){"string"===typeof a?oa(a)||t.m('Color "'+
a+'" is not a valid color string for '+b):a instanceof qa||t.m("Value for "+b+" must be a color string or a Brush, not "+a)},jc:function(a,b,c,d){b=t.li(b);c=t.li(c);void 0!==d&&(c+="."+d);"string"===typeof a?t.m(c+" value is not an instance of "+b+': "'+a+'"'):t.m(c+" value is not an instance of "+b+": "+a)},ha:function(a,b,c,d){c=t.li(c);void 0!==d&&(c+="."+d);t.m(c+" is not in the range "+b+": "+a)},gd:function(a){t.m(t.Hg(a)+" constructor cannot take any arguments.")},Wb:function(a){t.m("Collection was modified during iteration: "+
a.toString()+"\n Perhaps you should iterate over a copy of the collection,\n or you could collect items to be removed from the collection after the iteration.")},trace:function(a){window&&window.console&&window.console.log(a)},wb:function(a){return"object"===typeof a&&null!==a},Ec:null,pn:function(a,b,c,d){for(b=0;b<a.length;b++){var f=a[b];t.wb(f)&&(f=t.Gf(f,c,d));a[b]=f}return d||t.Ec(a)?a:window.ko.observableArray(a)},Gf:function(a,b,c){if(a)for(var d in a)"__gohashid"!==d&&(a[d]=t.KJ(a,d,b,
c));return a},KJ:function(a,b,c,d){var f=a[b],g;g=t.Ec(f)?f:Array.isArray(f)?t.pn(f,b,c,d):window.ko.observable(f);if(d){if(d=g.cC){h=c.__gohashid;d[h]&&(d[h].dispose(),delete d[h]);var h=!1,k;for(k in d){h=!0;break}}!h&&g.Iu&&(g.Iu.dispose(),delete g.Iu)}else{g.Iu||(g.Iu=g.subscribe(function(a){g.Jo=a},null,"beforeChange"));d=g.cC;d||(g.cC=d={});var h=c.__gohashid;d[h]||(d[h]=g.subscribe(function(d){c.Dx(a,b,g.Jo,d)}))}return g},isArray:function(a){return Array.isArray(a)||t.Ec&&t.Ec(a)||a instanceof
NodeList||a instanceof HTMLCollection},zJ:function(a){return Array.isArray(a)||t.Ec&&t.Ec(a)},ft:function(a,b,c){t.isArray(a)||t.jc(a,"Array or NodeList or HTMLCollection",b,c)},tb:function(a){t.Ec&&t.Ec(a)&&(a=a());return a.length},qb:function(a,b){t.Ec&&t.Ec(a)&&(a=a());Array.isArray(a);return a[b]},mE:function(a,b,c){t.Ec&&t.Ec(a)&&(a=a());Array.isArray(a)?a[b]=c:t.m("Cannot replace an object in an HTMLCollection or NodeList at "+b)},dA:function(a,b){t.Ec&&t.Ec(a)&&(a=a());if(Array.isArray(a))return a.indexOf(b);
for(var c=a.length,d=0;d<c;d++)if(a[d]===b)return d;return-1},fj:function(a,b,c){t.Ec&&t.Ec(a)&&(a=a());Array.isArray(a)?b>=a.length?a.push(c):a.splice(b,0,c):t.m("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},gj:function(a,b){t.Ec&&t.Ec(a)&&(a=a());Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):t.m("Cannot remove an object from an HTMLCollection or NodeList at "+b)},uy:[],O:function(){var a=t.uy.pop();return void 0===a?new E:a},rc:function(a,b){var c=t.uy.pop();if(void 0===
c)return new E(a,b);c.x=a;c.y=b;return c},B:function(a){t.uy.push(a)},ZB:[],Ol:function(){var a=t.ZB.pop();return void 0===a?new ra:a},rk:function(a){t.ZB.push(a)},vy:[],Nf:function(){var a=t.vy.pop();return void 0===a?new F:a},xk:function(a,b,c,d){var f=t.vy.pop();if(void 0===f)return new F(a,b,c,d);f.x=a;f.y=b;f.width=c;f.height=d;return f},oc:function(a){t.vy.push(a)},$B:[],Ah:function(){var a=t.$B.pop();return void 0===a?new ta:a},cf:function(a){t.$B.push(a)},wy:null,u:function(){var a=t.wy;return null!==
a?(t.wy=null,a):new ua},v:function(a){a.reset();t.wy=a},YB:[],Hb:function(){var a=t.YB.pop();return void 0===a?[]:a},Ca:function(a){a.length=0;t.YB.push(a)},aC:1,Fc:function(a){a.__gohashid=t.aC++},yt:function(a){var b=a.__gohashid;void 0===b&&(b=t.aC++,a.__gohashid=b);return b},ud:function(a){return a.__gohashid},g:function(a,b,c){"name"!==b&&"length"!==b&&(a[b]=c)},ka:function(a,b){b.Ey=a;ba[a]=b},Pa:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},
ii:function(a){a.OH=!0},defineProperty:function(a,b,c,d,f){t.i(a,"function","Util.defineProperty:classfunc");t.i(b,"object","Util.defineProperty:propobj");t.i(c,"function","Util.defineProperty:getter");t.i(d,"function","Util.defineProperty:setter");for(var g in b){var h=b[g];b={get:c,set:d};if(void 0!==f)for(var k in f)b[k]=f[k];Object.defineProperty(a.prototype,g,b);f=Object.getOwnPropertyDescriptor(a.prototype,g);h&&f&&Object.defineProperty(a.prototype,h,f);if(e&&h){var l=h.charAt(0).toUpperCase()+
h.slice(1);h===l&&t.m('Defining capitalized property "'+l+'"!?');Object.defineProperty(a.prototype,l,{get:function(){t.kx||t.MA||t.trace('Getting the property "'+l+'" is probably not what you intended: it is capitalized but should be spelled "'+h+'"')},set:function(){t.m('Setting the property "'+l+'" is probably not what you intended: it is capitalized but should be spelled "'+h+'"')}})}break}},A:function(a,b,c,d){t.i(a,"function","Util.defineReadOnlyProperty:classfunc");t.i(b,"object","Util.defineReadOnlyProperty:propobj");
t.i(c,"function","Util.defineReadOnlyProperty:getter");for(var f in b){var g=b[f];b={get:c,set:function(a){t.m('The property "'+g+'" is read-only and cannot be set to '+a)}};if(void 0!==d)for(var h in d)b[h]=d[h];Object.defineProperty(a.prototype,f,b);d=Object.getOwnPropertyDescriptor(a.prototype,f);g&&d&&Object.defineProperty(a.prototype,g,d);if(e&&g){var k=g.charAt(0).toUpperCase()+g.slice(1);Object.defineProperty(a.prototype,k,{get:function(){t.kx||t.MA||t.trace('Getting the property "'+k+'" is probably not what you intended: it is capitalized but should be spelled "'+
g+'"')},set:function(){t.m('Setting the read-only property "'+k+'" is probably not what you intended: it is capitalized but should be spelled "'+g+'", and cannot be set anyway')}})}break}},ee:function(a,b){for(var c in b)b[c]=!0;a.prototype.wD=b},li:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?t.Hg(a):null===a?"*":""},Hg:function(a){if("function"===typeof a){if(a.Ey)return a.Ey;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("(");if(b=b.substring(9,c).trim())return a.Ey=
b}else if("object"===typeof a&&a.constructor)return t.Hg(a.constructor);return typeof a},w:function(a,b,c){t.i(a,"function","Util.defineEnumValue:classfunc");t.i(b,"string","Util.defineEnumValue:name");t.i(c,"number","Util.defineEnumValue:num");c=new na(a,b,c);Object.freeze(c);a[b]=c;var d=a.vu;d||(d=new va("string",na),a.vu=d);d.add(b,c);return c},fn:function(a,b){if(!b)return null;t.i(a,"function","Util.findEnumValueForName:classfunc");t.i(b,"string","Util.findEnumValueForName:name");var c=a.vu;
return c?c.Da(b):null},AI:function(a,b,c,d){var f={},g;for(g in a){for(var h=!1,k=1;k<arguments.length;k++)if(arguments[k]===g){h=!0;break}h||(f[g]=a[g])}return f},nb:function(a,b){if(!a||!b)return null;var c=void 0;try{"function"===typeof b?c=b(a):"function"===typeof a.getAttribute?(c=a.getAttribute(b),null===c&&(c=void 0)):(c=a[b],t.Ec&&t.Ec(c)&&(c=c()))}catch(d){e&&t.trace("property get error: "+d.toString())}return c},Va:function(a,b,c){if(a&&b)try{if("function"===typeof b)b(a,c);else if("function"===
typeof a.setAttribute)a.setAttribute(b,c);else if(t.Ec){var d=a[b];t.Ec(d)?d(c):a[b]=c}else a[b]=c}catch(f){e&&t.trace("property set error: "+f.toString())}},Ix:function(a,b){t.i(a,"object","Setting properties requires Objects as arguments");t.i(b,"object","Setting properties requires Objects as arguments");var c=e;c||(e=t);var d=a instanceof C,f=a instanceof v,g;for(g in b){g||t.m("Setting properties requires non-empty property names");var h=a,k=g;if(d||f){var l=g.indexOf(".");if(0<l){var m=g.substring(0,
l);d?h=a.we(m):(h=a[m])||(h=a.Cb[m]);h?k=g.substr(l+1):t.m("Unable to find object named: "+m+" in "+a.toString()+" when trying to set property: "+g)}}if("_"!==k[0]&&!t.bx(h,k))if(f&&t.bx(a.Cb,k))h=a.Cb;else if(f&&xa(a,k)){a.Yz(k,b[k]);continue}else t.m('Trying to set undefined property "'+k+'" on object: '+h.toString());h[k]=b[g];"_"===k[0]&&(l=h.Zl,l||(l=[],h.Zl=l),l.push(k))}e=c;return a},bx:function(a,b){for(var c=Object.getPrototypeOf(a);c&&c!==Function;){if(c.hasOwnProperty(b))return!0;var d=
c.wD;if(d&&d[b])return!0;c=Object.getPrototypeOf(c)}return!1},tE:function(a,b){if(!t.wb(b)||b instanceof Element||b instanceof CanvasRenderingContext2D)return"";var c="",d;for(d in b)if("string"!==typeof d)""===c&&(c=b+"\n"),c+=" "+d+" is not a string property\n";else if("_"!==d.charAt(0)&&!(2>=d.length)){var f=t.nb(b,d);null===f||"function"===typeof f||t.bx(b,d)||(""===c&&(c=b+"\n"),c+=' unknown property "'+d+'" has value: '+f+" at "+a+"\n")}return c},Cw:function(a,b){if(b&&"number"!==typeof b&&
"string"!==typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==t.ud(b)){if(!t.Zv.contains(b))if(t.Zv.add(b),t.zv.add(t.tE(a,b)),b instanceof H||b instanceof ya||b instanceof va)for(var c=b.k;c.next();)t.Cw(a+"["+c.key+"]",c.value);else for(c in b){var d=t.nb(b,c);if(void 0!==d&&null!==d&&t.wb(d)&&d!==b.wD){if(b instanceof za){if(d===b.Eo)continue}else if(b instanceof C){if("data"===c||d===b.am)continue;if("itemArray"===c||d===b.Li)continue;if(b instanceof x&&d===b.Tj)continue}else if(!(b instanceof
v))if(b instanceof Ba){if("archetypeGroupData"===c||d===b.zy)continue}else if(b instanceof Ca){if("archetypeLinkData"===c||d===b.By)continue;if("archetypeLabelNodeData"===c||d===b.Ay)continue}else if(b instanceof Da){if("archetypeNodeData"===c||d===b.Lk)continue}else if(b instanceof I){if("nodeDataArray"===c||d===b.Te)continue;if("linkDataArray"===c||d===b.ih||d===b.sm)continue;if(d===b.Gc)continue;if(d===b.lg)continue}else if(b instanceof Ea||b instanceof Fa||b instanceof Ha)continue;t.Cw(a+"."+
c,d)}}}else if(Array.isArray(b))for(c=0;c<b.length;c++)t.Cw(a+"["+c+"]",b[c]);else t.zv.add(t.tE(a,b))},vI:function(a){void 0===t.Zv?t.Zv=new ya:t.Zv.clear();t.zv=new Ka;t.Cw("",a);a=t.zv.toString();t.zv=null;return a},fK:function(a){for(var b=[],c=0;256>c;c++)b[c]=c;for(var d=0,f,c=0;256>c;c++)d=(d+b[c]+119)%256,f=b[c],b[c]=b[d],b[d]=f;for(var d=c=0,g="",h=0;h<a.length;h++)c=(c+1)%256,d=(d+b[c])%256,f=b[c],b[c]=b[d],b[d]=f,g+=String.fromCharCode(a.charCodeAt(h)^b[(b[c]+b[d])%256]);return g},qJ:function(a){for(var b=
[],c=0;256>c;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],f=0,c=0;c<a.length;c+=2)d[f++]=b[a.substr(c,2)];a=d.join("");return""===a?"0":a},Ma:function(a){return t.fK(t.qJ(a))},Sl:null,ww:"7da71ca0ad381e90",wI:"@COLOR1",xI:"@COLOR2"};
t.Sl=function(){var a=document.createElement("canvas"),b=a.getContext("2d");b[t.Ma("7ca11abfd022028846")]=t.Ma("398c3597c01238");for(var c=["5da73c80a3330d854f9e5e671d6633","32ab5ff3b26f42dc0ed90f22412913b54ae6247590da4bb21c324ba3a84e385776","54a702f3e53909c447824c6706603faf4cfb236cdfda5de14c134ba1a95a2d4c7cc6f93c1387","74bf19bce72555874c86"],d=1;5>d;d++)b[t.Ma("7ca11abfd7330390")](t.Ma(c[d-1]),10,15*d+0);b[t.Ma("7ca11abfd022028846")]=t.Ma("39f046ebb36e4b");for(d=1;5>d;d++)b[t.Ma("7ca11abfd7330390")](t.Ma(c[d-
1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])t.w=function(a,b){var c=new na(a,b,2);Object.freeze(c);a[b]=c;var d=a.vu;d||(d=new va("string",na),a.vu=d);d.add(b,c);return c};return a}();function na(a,b,c){t.Fc(this);this.iC=a;this.fc=b;this.TH=c}na.prototype.toString=function(){return t.Hg(this.iC)+"."+this.fc};t.A(na,{Ye:"classType"},function(){return this.iC});t.A(na,{name:"name"},function(){return this.fc});t.A(na,{value:"value"},function(){return this.TH});
function Ka(){this.hC=[]}Ka.prototype.toString=function(){return this.hC.join("")};Ka.prototype.add=function(a){a&&this.hC.push(a)};function La(){}t.A(La,{k:"iterator"},function(){return this});La.prototype.reset=La.prototype.reset=function(){};La.prototype.next=La.prototype.hasNext=La.prototype.next=function(){return!1};La.prototype.first=La.prototype.gb=function(){return null};La.prototype.any=function(){return!1};La.prototype.all=function(){return!0};La.prototype.each=function(){};
t.A(La,{count:"count"},function(){return 0});La.prototype.mg=function(){};La.prototype.toString=function(){return"EmptyIterator"};t.jg=new La;function Ma(a){this.key=-1;this.value=a}t.ee(Ma,{key:!0,value:!0});t.A(Ma,{k:"iterator"},function(){return this});Ma.prototype.reset=Ma.prototype.reset=function(){this.key=-1};Ma.prototype.next=Ma.prototype.hasNext=Ma.prototype.next=function(){return-1===this.key?(this.key=0,!0):!1};Ma.prototype.first=Ma.prototype.gb=function(){this.key=0;return this.value};
Ma.prototype.any=function(a){this.key=-1;return a(this.value)};Ma.prototype.all=function(a){this.key=-1;return a(this.value)};Ma.prototype.each=function(a){this.key=-1;a(this.value)};t.A(Ma,{count:"count"},function(){return 1});Ma.prototype.mg=function(){this.value=null};Ma.prototype.toString=function(){return"SingletonIterator("+this.value+")"};function Oa(a){this.Nd=a;this.Wj=null;this.reset()}t.ee(Oa,{key:!0,value:!0});t.A(Oa,{k:"iterator"},function(){return this});t.g(Oa,"predicate",Oa.prototype.Gl);
t.defineProperty(Oa,{Gl:"predicate"},function(){return this.Wj},function(a){this.Wj=a});Oa.prototype.reset=Oa.prototype.reset=function(){var a=this.Nd;a.Md=null;this.cb=a.Y;this.ad=-1};Oa.prototype.next=Oa.prototype.hasNext=Oa.prototype.next=function(){var a=this.Nd;a.Y!==this.cb&&t.Wb(a);var a=a.n,b=a.length,c=++this.ad,d=this.Wj;if(null!==d)for(;c<b;){var f=a[c];if(d(f))return this.key=this.ad=c,this.value=f,!0;c++}else{if(c<b)return this.key=c,this.value=a[c],!0;this.mg()}return!1};
Oa.prototype.first=Oa.prototype.gb=function(){var a=this.Nd;this.cb=a.Y;this.ad=0;var a=a.n,b=a.length,c=this.Wj;if(null!==c){for(var d=0;d<b;){var f=a[d];if(c(f))return this.key=this.ad=d,this.value=f;d++}return null}return 0<b?(f=a[0],this.key=0,this.value=f):null};Oa.prototype.any=function(a){var b=this.Nd;b.Md=null;var c=b.Y;this.ad=-1;for(var d=b.n,f=d.length,g=this.Wj,h=0;h<f;h++){var k=d[h];if(null===g||g(k)){if(a(k))return!0;b.Y!==c&&t.Wb(b)}}return!1};
Oa.prototype.all=function(a){var b=this.Nd;b.Md=null;var c=b.Y;this.ad=-1;for(var d=b.n,f=d.length,g=this.Wj,h=0;h<f;h++){var k=d[h];if(null===g||g(k)){if(!a(k))return!1;b.Y!==c&&t.Wb(b)}}return!0};Oa.prototype.each=function(a){var b=this.Nd;b.Md=null;var c=b.Y;this.ad=-1;for(var d=b.n,f=d.length,g=this.Wj,h=0;h<f;h++){var k=d[h];if(null===g||g(k))a(k),b.Y!==c&&t.Wb(b)}};t.A(Oa,{count:"count"},function(){var a=this.Wj;if(null!==a){for(var b=0,c=this.Nd.n,d=c.length,f=0;f<d;f++)a(c[f])&&b++;return b}return this.Nd.n.length});
Oa.prototype.mg=function(){this.key=-1;this.value=null;this.cb=-1;this.Wj=null;this.Nd.Md=this};Oa.prototype.toString=function(){return"ListIterator@"+this.ad+"/"+this.Nd.count};function Qa(a){this.Nd=a;this.reset()}t.ee(Qa,{key:!0,value:!0});t.A(Qa,{k:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){var a=this.Nd;a.yo=null;this.cb=a.Y;this.ad=a.n.length};
Qa.prototype.next=Qa.prototype.hasNext=Qa.prototype.next=function(){var a=this.Nd;a.Y!==this.cb&&t.Wb(a);var b=--this.ad;if(0<=b)return this.key=b,this.value=a.n[b],!0;this.mg();return!1};Qa.prototype.first=Qa.prototype.gb=function(){var a=this.Nd;this.cb=a.Y;var b=a.n;this.ad=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Qa.prototype.any=function(a){var b=this.Nd;b.yo=null;var c=b.Y,d=b.n,f=d.length;this.ad=f;for(f-=1;0<=f;f++){if(a(d[f]))return!0;b.Y!==c&&t.Wb(b)}return!1};
Qa.prototype.all=function(a){var b=this.Nd;b.yo=null;var c=b.Y,d=b.n,f=d.length;this.ad=f;for(f-=1;0<=f;f++){if(!a(d[f]))return!1;b.Y!==c&&t.Wb(b)}return!0};Qa.prototype.each=function(a){var b=this.Nd;b.yo=null;var c=b.Y,d=b.n,f=d.length;this.ad=f;for(f-=1;0<=f;f++)a(d[f]),b.Y!==c&&t.Wb(b)};t.A(Qa,{count:"count"},function(){return this.Nd.n.length});Qa.prototype.mg=function(){this.key=-1;this.value=null;this.cb=-1;this.Nd.yo=this};
Qa.prototype.toString=function(){return"ListIteratorBackwards("+this.ad+"/"+this.Nd.count+")"};
function H(a){t.Fc(this);this.sb=!1;this.n=[];this.Y=0;this.yo=this.Md=null;void 0===a||null===a?this.ga=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ga=a:t.ha(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ga=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:t.ha(a,"null, a primitive type name, or a class type",
"List constructor: type")}t.ka("List",H);H.prototype.$g=function(a){null!==this.ga&&("string"===typeof this.ga?typeof a===this.ga&&null!==a||t.jc(a,this.ga):a instanceof this.ga||t.jc(a,this.ga))};H.prototype.ae=function(){var a=this.Y;a++;999999999<a&&(a=0);this.Y=a};H.prototype.freeze=H.prototype.freeze=function(){this.sb=!0;return this};H.prototype.thaw=H.prototype.Ra=function(){this.sb=!1;return this};H.prototype.toString=function(){return"List("+t.li(this.ga)+")#"+t.ud(this)};
H.prototype.add=H.prototype.add=function(a){null!==a&&(e&&this.$g(a),t.J(this,a),this.n.push(a),this.ae())};H.prototype.addAll=H.prototype.Ve=function(a){if(null===a)return this;t.J(this);var b=this.n;if(t.isArray(a))for(var c=t.tb(a),d=0;d<c;d++){var f=t.qb(a,d);e&&this.$g(f);b.push(f)}else for(a=a.k;a.next();)f=a.value,e&&this.$g(f),b.push(f);this.ae();return this};H.prototype.clear=H.prototype.clear=function(){t.J(this);this.n.length=0;this.ae()};
H.prototype.contains=H.prototype.has=H.prototype.contains=function(a){if(null===a)return!1;e&&this.$g(a);return-1!==this.n.indexOf(a)};H.prototype.indexOf=H.prototype.indexOf=function(a){if(null===a)return-1;e&&this.$g(a);return this.n.indexOf(a)};H.prototype.elt=H.prototype.get=H.prototype.wa=function(a){e&&t.q(a,H,"elt:i");var b=this.n;(0>a||a>=b.length)&&t.ha(a,"0 <= i < length",H,"elt:i");return b[a]};
H.prototype.setElt=H.prototype.set=H.prototype.Wg=function(a,b){e&&(this.$g(b),t.q(a,H,"setElt:i"));var c=this.n;(0>a||a>=c.length)&&t.ha(a,"0 <= i < length",H,"setElt:i");t.J(this,a);c[a]=b};H.prototype.first=H.prototype.gb=function(){var a=this.n;return 0===a.length?null:a[0]};H.prototype.any=function(a){for(var b=this.n,c=this.Y,d=b.length,f=0;f<d;f++){if(a(b[f]))return!0;this.Y!==c&&t.Wb(this)}return!1};
H.prototype.all=function(a){for(var b=this.n,c=this.Y,d=b.length,f=0;f<d;f++){if(!a(b[f]))return!1;this.Y!==c&&t.Wb(this)}return!0};H.prototype.each=function(a){for(var b=this.n,c=this.Y,d=b.length,f=0;f<d;f++)a(b[f]),this.Y!==c&&t.Wb(this)};H.prototype.insertAt=H.prototype.Rd=function(a,b){e&&(this.$g(b),t.q(a,H,"insertAt:i"));0>a&&t.ha(a,">= 0",H,"insertAt:i");t.J(this,a);var c=this.n;a>=c.length?c.push(b):c.splice(a,0,b);this.ae();return!0};
H.prototype.remove=H.prototype["delete"]=H.prototype.remove=function(a){if(null===a)return!1;e&&this.$g(a);t.J(this,a);var b=this.n;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.ae();return!0};H.prototype.removeAt=H.prototype.wd=function(a){e&&t.q(a,H,"removeAt:i");var b=this.n;(0>a||a>=b.length)&&t.ha(a,"0 <= i < length",H,"removeAt:i");t.J(this,a);a===b.length-1?b.pop():b.splice(a,1);this.ae()};
H.prototype.removeRange=H.prototype.removeRange=function(a,b){e&&(t.q(a,H,"removeRange:from"),t.q(b,H,"removeRange:to"));var c=this.n;(0>a||a>=c.length)&&t.ha(a,"0 <= from < length",H,"elt:from");(0>b||b>=c.length)&&t.ha(b,"0 <= to < length",H,"elt:to");t.J(this,a);var d=c.slice((b||a)+1||c.length);c.length=0>a?c.length+a:a;c.push.apply(c,d);this.ae()};H.prototype.copy=function(){for(var a=new H(this.ga),b=this.n,c=this.count,d=0;d<c;d++)a.add(b[d]);return a};
H.prototype.toArray=H.prototype.Pe=function(){for(var a=this.n,b=this.count,c=Array(b),d=0;d<b;d++)c[d]=a[d];return c};H.prototype.toSet=function(){for(var a=new ya(this.ga),b=this.n,c=this.count,d=0;d<c;d++)a.add(b[d]);return a};H.prototype.sort=H.prototype.sort=function(a){e&&t.i(a,"function",H,"sort:sortfunc");t.J(this);this.n.sort(a);this.ae();return this};
H.prototype.sortRange=H.prototype.iq=function(a,b,c){var d=this.n,f=d.length;void 0===b&&(b=0);void 0===c&&(c=f);e&&(t.i(a,"function",H,"sortRange:sortfunc"),t.q(b,H,"sortRange:from"),t.q(c,H,"sortRange:to"));t.J(this);var g=c-b;if(1>=g)return this;(0>b||b>=f-1)&&t.ha(b,"0 <= from < length",H,"sortRange:from");if(2===g)return c=d[b],f=d[b+1],0<a(c,f)&&(d[b]=f,d[b+1]=c,this.ae()),this;if(0===b)if(c>=f)d.sort(a);else for(g=d.slice(0,c),g.sort(a),a=0;a<c;a++)d[a]=g[a];else if(c>=f)for(g=d.slice(b),g.sort(a),
a=b;a<f;a++)d[a]=g[a-b];else for(g=d.slice(b,c),g.sort(a),a=b;a<c;a++)d[a]=g[a-b];this.ae();return this};H.prototype.reverse=H.prototype.reverse=function(){t.J(this);this.n.reverse();this.ae();return this};t.A(H,{count:"count"},function(){return this.n.length});t.A(H,{size:"size"},function(){return this.n.length});t.A(H,{length:"length"},function(){return this.n.length});t.A(H,{k:"iterator"},function(){if(0>=this.n.length)return t.jg;var a=this.Md;return null!==a?(a.reset(),a):new Oa(this)});
t.A(H,{on:"iteratorBackwards"},function(){if(0>=this.n.length)return t.jg;var a=this.yo;return null!==a?(a.reset(),a):new Qa(this)});function Ra(a){this.p=a;this.reset()}t.ee(Ra,{key:!0,value:!0});t.A(Ra,{k:"iterator"},function(){return this});Ra.prototype.reset=Ra.prototype.reset=function(){var a=this.p;a.Md=null;this.cb=a.Y;this.Db=null};
Ra.prototype.next=Ra.prototype.hasNext=Ra.prototype.next=function(){var a=this.p;a.Y!==this.cb&&t.Wb(a);var b=this.Db,b=null===b?a.kb:b.Yb;if(null!==b)return this.Db=b,this.value=b.value,this.key=b.key,!0;this.mg();return!1};Ra.prototype.first=Ra.prototype.gb=function(){var a=this.p;this.cb=a.Y;a=a.kb;if(null!==a){this.Db=a;var b=a.value;this.key=a.key;return this.value=b}return null};
Ra.prototype.any=function(a){var b=this.p;b.Md=null;var c=b.Y;this.Db=null;for(var d=b.kb;null!==d;){if(a(d.value))return!0;b.Y!==c&&t.Wb(b);d=d.Yb}return!1};Ra.prototype.all=function(a){var b=this.p;b.Md=null;var c=b.Y;this.Db=null;for(var d=b.kb;null!==d;){if(!a(d.value))return!1;b.Y!==c&&t.Wb(b);d=d.Yb}return!0};Ra.prototype.each=function(a){var b=this.p;b.Md=null;var c=b.Y;this.Db=null;for(var d=b.kb;null!==d;)a(d.value),b.Y!==c&&t.Wb(b),d=d.Yb};t.A(Ra,{count:"count"},function(){return this.p.ld});
Ra.prototype.mg=function(){this.value=this.key=null;this.cb=-1;this.p.Md=this};Ra.prototype.toString=function(){return null!==this.Db?"SetIterator@"+this.Db.value:"SetIterator"};
function ya(a){t.Fc(this);this.sb=!1;void 0===a||null===a?this.ga=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ga=a:t.ha(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ga=a===Object?"object":a===String?"string":a===Number?"number":a:t.ha(a,"null, a primitive type name, or a class type","Set constructor: type");this.md={};this.ld=0;this.Md=null;this.Y=0;this.Uh=this.kb=null}t.ka("Set",ya);
ya.prototype.$g=function(a){null!==this.ga&&("string"===typeof this.ga?typeof a===this.ga&&null!==a||t.jc(a,this.ga):a instanceof this.ga||t.jc(a,this.ga))};ya.prototype.ae=function(){var a=this.Y;a++;999999999<a&&(a=0);this.Y=a};ya.prototype.freeze=ya.prototype.freeze=function(){this.sb=!0;return this};ya.prototype.thaw=ya.prototype.Ra=function(){this.sb=!1;return this};ya.prototype.toString=function(){return"Set("+t.li(this.ga)+")#"+t.ud(this)};
ya.prototype.add=ya.prototype.add=function(a){if(null===a)return!1;e&&this.$g(a);t.J(this,a);var b=a;t.wb(a)&&(b=t.yt(a));return void 0===this.md[b]?(this.ld++,a=new Sa(a,a),this.md[b]=a,b=this.Uh,null===b?this.kb=a:(a.Ko=b,b.Yb=a),this.Uh=a,this.ae(),!0):!1};ya.prototype.addAll=ya.prototype.Ve=function(a){if(null===a)return this;t.J(this);if(t.isArray(a))for(var b=t.tb(a),c=0;c<b;c++)this.add(t.qb(a,c));else for(a=a.k;a.next();)this.add(a.value);return this};
ya.prototype.contains=ya.prototype.has=ya.prototype.contains=function(a){if(null===a)return!1;e&&this.$g(a);var b=a;return t.wb(a)&&(b=t.ud(a),void 0===b)?!1:void 0!==this.md[b]};ya.prototype.containsAll=function(a){if(null===a)return!0;for(a=a.k;a.next();)if(!this.contains(a.value))return!1;return!0};ya.prototype.containsAny=function(a){if(null===a)return!0;for(a=a.k;a.next();)if(this.contains(a.value))return!0;return!1};
ya.prototype.first=ya.prototype.gb=function(){var a=this.kb;return null===a?null:a.value};ya.prototype.any=function(a){for(var b=this.Y,c=this.kb;null!==c;){if(a(c.value))return!0;this.Y!==b&&t.Wb(this);c=c.Yb}return!1};ya.prototype.all=function(a){for(var b=this.Y,c=this.kb;null!==c;){if(!a(c.value))return!1;this.Y!==b&&t.Wb(this);c=c.Yb}return!0};ya.prototype.each=function(a){for(var b=this.Y,c=this.kb;null!==c;)a(c.value),this.Y!==b&&t.Wb(this),c=c.Yb};
ya.prototype.remove=ya.prototype["delete"]=ya.prototype.remove=function(a){if(null===a)return!1;e&&this.$g(a);t.J(this,a);var b=a;if(t.wb(a)&&(b=t.ud(a),void 0===b))return!1;a=this.md[b];if(void 0===a)return!1;var c=a.Yb,d=a.Ko;null!==c&&(c.Ko=d);null!==d&&(d.Yb=c);this.kb===a&&(this.kb=c);this.Uh===a&&(this.Uh=d);delete this.md[b];this.ld--;this.ae();return!0};
ya.prototype.removeAll=function(a){if(null===a)return this;t.J(this);if(t.isArray(a))for(var b=t.tb(a),c=0;c<b;c++)this.remove(t.qb(a,c));else for(a=a.k;a.next();)this.remove(a.value);return this};ya.prototype.retainAll=function(a){if(null===a||0===this.count)return this;t.J(this);var b=new ya(this.ga);b.Ve(a);a=new H(this.ga);for(var c=this.k;c.next();)b.contains(c.value)||a.add(c.value);for(b=a.k;b.next();)this.remove(b.value);return this};
ya.prototype.clear=ya.prototype.clear=function(){t.J(this);this.md={};this.ld=0;this.Uh=this.kb=null;this.ae()};ya.prototype.copy=function(){var a=new ya(this.ga),b=this.md,c;for(c in b)a.add(b[c].value);return a};ya.prototype.toArray=ya.prototype.Pe=function(){var a=Array(this.ld),b=this.md,c=0,d;for(d in b)a[c]=b[d].value,c++;return a};ya.prototype.toList=function(){var a=new H(this.ga),b=this.md,c;for(c in b)a.add(b[c].value);return a};t.A(ya,{count:"count"},function(){return this.ld});
t.A(ya,{size:"size"},function(){return this.ld});t.A(ya,{k:"iterator"},function(){if(0>=this.ld)return t.jg;var a=this.Md;return null!==a?(a.reset(),a):new Ra(this)});function Ta(a){this.bb=a;this.reset()}t.ee(Ta,{key:!0,value:!0});t.A(Ta,{k:"iterator"},function(){return this});Ta.prototype.reset=Ta.prototype.reset=function(){this.cb=this.bb.Y;this.Db=null};
Ta.prototype.next=Ta.prototype.hasNext=Ta.prototype.next=function(){var a=this.bb;a.Y!==this.cb&&t.Wb(a);var b=this.Db,b=null===b?a.kb:b.Yb;if(null!==b)return this.Db=b,this.value=this.key=a=b.key,!0;this.mg();return!1};Ta.prototype.first=Ta.prototype.gb=function(){var a=this.bb;this.cb=a.Y;a=a.kb;return null!==a?(this.Db=a,this.value=this.key=a=a.key):null};Ta.prototype.any=function(a){var b=this.bb,c=b.Y;this.Db=null;for(var d=b.kb;null!==d;){if(a(d.key))return!0;b.Y!==c&&t.Wb(b);d=d.Yb}return!1};
Ta.prototype.all=function(a){var b=this.bb,c=b.Y;this.Db=null;for(var d=b.kb;null!==d;){if(!a(d.key))return!1;b.Y!==c&&t.Wb(b);d=d.Yb}return!0};Ta.prototype.each=function(a){var b=this.bb,c=b.Y;this.Db=null;for(var d=b.kb;null!==d;)a(d.key),b.Y!==c&&t.Wb(b),d=d.Yb};t.A(Ta,{count:"count"},function(){return this.bb.ld});Ta.prototype.mg=function(){this.value=this.key=null;this.cb=-1};Ta.prototype.toString=function(){return null!==this.Db?"MapKeySetIterator@"+this.Db.value:"MapKeySetIterator"};
function Va(a){t.Fc(this);this.sb=!0;this.bb=a}t.Pa(Va,ya);Va.prototype.freeze=function(){return this};Va.prototype.Ra=function(){return this};Va.prototype.toString=function(){return"MapKeySet("+this.bb.toString()+")"};Va.prototype.add=Va.prototype.set=Va.prototype.add=function(){t.m("This Set is read-only: "+this.toString());return!1};Va.prototype.contains=Va.prototype.has=Va.prototype.contains=function(a){return this.bb.contains(a)};
Va.prototype.remove=Va.prototype["delete"]=Va.prototype.remove=function(){t.m("This Set is read-only: "+this.toString());return!1};Va.prototype.clear=Va.prototype.clear=function(){t.m("This Set is read-only: "+this.toString())};Va.prototype.first=Va.prototype.gb=function(){var a=this.bb.kb;return null!==a?a.key:null};Va.prototype.any=function(a){for(var b=this.bb.kb;null!==b;){if(a(b.key))return!0;b=b.Yb}return!1};
Va.prototype.all=function(a){for(var b=this.bb.kb;null!==b;){if(!a(b.key))return!1;b=b.Yb}return!0};Va.prototype.each=function(a){for(var b=this.bb.kb;null!==b;)a(b.key),b=b.Yb};Va.prototype.copy=function(){return new Va(this.bb)};Va.prototype.toSet=function(){var a=new ya(this.bb.Th),b=this.bb.md,c;for(c in b)a.add(b[c].key);return a};Va.prototype.toArray=Va.prototype.Pe=function(){var a=this.bb.md,b=Array(this.bb.ld),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
Va.prototype.toList=function(){var a=new H(this.ga),b=this.bb.md,c;for(c in b)a.add(b[c].key);return a};t.A(Va,{count:"count"},function(){return this.bb.ld});t.A(Va,{size:"size"},function(){return this.bb.ld});t.A(Va,{k:"iterator"},function(){return 0>=this.bb.ld?t.jg:new Ta(this.bb)});function Wa(a){this.bb=a;this.reset()}t.ee(Wa,{key:!0,value:!0});t.A(Wa,{k:"iterator"},function(){return this});Wa.prototype.reset=Wa.prototype.reset=function(){var a=this.bb;a.zo=null;this.cb=a.Y;this.Db=null};
Wa.prototype.next=Wa.prototype.hasNext=Wa.prototype.next=function(){var a=this.bb;a.Y!==this.cb&&t.Wb(a);var b=this.Db,b=null===b?a.kb:b.Yb;if(null!==b)return this.Db=b,this.value=b.value,this.key=b.key,!0;this.mg();return!1};Wa.prototype.first=Wa.prototype.gb=function(){var a=this.bb;this.cb=a.Y;a=a.kb;if(null!==a){this.Db=a;var b=a.value;this.key=a.key;return this.value=b}return null};
Wa.prototype.any=function(a){var b=this.bb;b.zo=null;var c=b.Y;this.Db=null;for(var d=b.kb;null!==d;){if(a(d.value))return!0;b.Y!==c&&t.Wb(b);d=d.Yb}return!1};Wa.prototype.all=function(a){var b=this.bb;b.zo=null;var c=b.Y;this.Db=null;for(var d=b.kb;null!==d;){if(!a(d.value))return!1;b.Y!==c&&t.Wb(b);d=d.Yb}return!0};Wa.prototype.each=function(a){var b=this.bb;b.zo=null;var c=b.Y;this.Db=null;for(var d=b.kb;null!==d;)a(d.value),b.Y!==c&&t.Wb(b),d=d.Yb};t.A(Wa,{count:"count"},function(){return this.bb.ld});
Wa.prototype.mg=function(){this.value=this.key=null;this.cb=-1;this.bb.zo=this};Wa.prototype.toString=function(){return null!==this.Db?"MapValueSetIterator@"+this.Db.value:"MapValueSetIterator"};function Sa(a,b){this.key=a;this.value=b;this.Ko=this.Yb=null}t.ee(Sa,{key:!0,value:!0});Sa.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function ab(a){this.bb=a;this.reset()}t.ee(ab,{key:!0,value:!0});t.A(ab,{k:"iterator"},function(){return this});
ab.prototype.reset=ab.prototype.reset=function(){var a=this.bb;a.Md=null;this.cb=a.Y;this.Db=null};ab.prototype.next=ab.prototype.hasNext=ab.prototype.next=function(){var a=this.bb;a.Y!==this.cb&&t.Wb(a);var b=this.Db,b=null===b?a.kb:b.Yb;if(null!==b)return this.Db=b,this.key=b.key,this.value=b.value,!0;this.mg();return!1};ab.prototype.first=ab.prototype.gb=function(){var a=this.bb;this.cb=a.Y;a=a.kb;return null!==a?(this.Db=a,this.key=a.key,this.value=a.value,a):null};
ab.prototype.any=function(a){var b=this.bb;b.Md=null;var c=b.Y;this.Db=null;for(var d=b.kb;null!==d;){if(a(d))return!0;b.Y!==c&&t.Wb(b);d=d.Yb}return!1};ab.prototype.all=function(a){var b=this.bb;b.Md=null;var c=b.Y;this.Db=null;for(var d=b.kb;null!==d;){if(!a(d))return!1;b.Y!==c&&t.Wb(b);d=d.Yb}return!0};ab.prototype.each=function(a){var b=this.bb;b.Md=null;var c=b.Y;this.Db=null;for(var d=b.kb;null!==d;)a(d),b.Y!==c&&t.Wb(b),d=d.Yb};t.A(ab,{count:"count"},function(){return this.bb.ld});
ab.prototype.mg=function(){this.value=this.key=null;this.cb=-1;this.bb.Md=this};ab.prototype.toString=function(){return null!==this.Db?"MapIterator@"+this.Db:"MapIterator"};
function va(a,b){t.Fc(this);this.sb=!1;void 0===a||null===a?this.Th=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.Th=a:t.ha(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.Th=a===Object?"object":a===String?"string":a===Number?"number":a:t.ha(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.dj=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
b||"function"===b?this.dj=b:t.ha(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.dj=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:t.ha(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.md={};this.ld=0;this.zo=this.Md=null;this.Y=0;this.Uh=this.kb=null}t.ka("Map",va);
function cb(a,b){null!==a.Th&&("string"===typeof a.Th?typeof b===a.Th&&null!==b||t.jc(b,a.Th):b instanceof a.Th||t.jc(b,a.Th))}va.prototype.ae=function(){var a=this.Y;a++;999999999<a&&(a=0);this.Y=a};va.prototype.freeze=va.prototype.freeze=function(){this.sb=!0;return this};va.prototype.thaw=va.prototype.Ra=function(){this.sb=!1;return this};va.prototype.toString=function(){return"Map("+t.li(this.Th)+","+t.li(this.dj)+")#"+t.ud(this)};
va.prototype.add=va.prototype.set=va.prototype.add=function(a,b){e&&(cb(this,a),null!==this.dj&&("string"===typeof this.dj?typeof b===this.dj&&null!==b||t.jc(b,this.dj):b instanceof this.dj||t.jc(b,this.dj)));t.J(this,a);var c=a;t.wb(a)&&(c=t.yt(a));var d=this.md[c];if(void 0===d)return this.ld++,d=new Sa(a,b),this.md[c]=d,c=this.Uh,null===c?this.kb=d:(d.Ko=c,c.Yb=d),this.Uh=d,this.ae(),!0;d.value=b;return!1};
va.prototype.addAll=va.prototype.Ve=function(a){if(null===a)return this;if(t.isArray(a))for(var b=t.tb(a),c=0;c<b;c++){var d=t.qb(a,c);this.add(d.key,d.value)}else for(e&&t.l(a,va,va,"addAll:map"),a=a.k;a.next();)this.add(a.key,a.value);return this};va.prototype.first=va.prototype.gb=function(){return this.kb};va.prototype.any=function(a){for(var b=this.Y,c=this.kb;null!==c;){if(a(c))return!0;this.Y!==b&&t.Wb(this);c=c.Yb}return!1};
va.prototype.all=function(a){for(var b=this.Y,c=this.kb;null!==c;){if(!a(c))return!1;this.Y!==b&&t.Wb(this);c=c.Yb}return!0};va.prototype.each=function(a){for(var b=this.Y,c=this.kb;null!==c;)a(c),this.Y!==b&&t.Wb(this),c=c.Yb};va.prototype.contains=va.prototype.has=va.prototype.contains=function(a){e&&cb(this,a);var b=a;return t.wb(a)&&(b=t.ud(a),void 0===b)?!1:void 0!==this.md[b]};
va.prototype.getValue=va.prototype.get=va.prototype.Da=function(a){e&&cb(this,a);var b=a;if(t.wb(a)&&(b=t.ud(a),void 0===b))return null;a=this.md[b];return void 0===a?null:a.value};
va.prototype.remove=va.prototype["delete"]=va.prototype.remove=function(a){if(null===a)return!1;e&&cb(this,a);t.J(this,a);var b=a;if(t.wb(a)&&(b=t.ud(a),void 0===b))return!1;a=this.md[b];if(void 0===a)return!1;var c=a.Yb,d=a.Ko;null!==c&&(c.Ko=d);null!==d&&(d.Yb=c);this.kb===a&&(this.kb=c);this.Uh===a&&(this.Uh=d);delete this.md[b];this.ld--;this.ae();return!0};va.prototype.clear=va.prototype.clear=function(){t.J(this);this.md={};this.ld=0;this.Uh=this.kb=null;this.ae()};
va.prototype.copy=function(){var a=new va(this.Th,this.dj),b=this.md,c;for(c in b){var d=b[c];a.add(d.key,d.value)}return a};va.prototype.toArray=va.prototype.Pe=function(){var a=this.md,b=Array(this.ld),c=0,d;for(d in a){var f=a[d];b[c]=new Sa(f.key,f.value);c++}return b};va.prototype.toKeySet=va.prototype.Rl=function(){return new Va(this)};t.A(va,{count:"count"},function(){return this.ld});t.A(va,{size:"size"},function(){return this.ld});
t.A(va,{k:"iterator"},function(){if(0>=this.count)return t.jg;var a=this.Md;return null!==a?(a.reset(),a):new ab(this)});t.A(va,{QK:"iteratorKeys"},function(){return 0>=this.count?t.jg:new Ta(this)});t.A(va,{MF:"iteratorValues"},function(){if(0>=this.count)return t.jg;var a=this.zo;return null!==a?(a.reset(),a):new Wa(this)});function E(a,b){void 0===a?this.L=this.K=0:"number"===typeof a&&"number"===typeof b?(this.K=a,this.L=b):t.m("Invalid arguments to Point constructor")}t.ka("Point",E);t.ii(E);
t.ee(E,{x:!0,y:!0});E.prototype.assign=function(a){this.K=a.K;this.L=a.L};E.prototype.p=function(a,b){this.K=a;this.L=b};E.prototype.setTo=E.prototype.gq=function(a,b){e&&(t.i(a,"number",E,"setTo:x"),t.i(b,"number",E,"setTo:y"));t.J(this);this.K=a;this.L=b;return this};E.prototype.set=E.prototype.set=function(a){e&&t.l(a,E,E,"set:p");t.J(this);this.K=a.K;this.L=a.L;return this};E.prototype.copy=function(){var a=new E;a.K=this.K;a.L=this.L;return a};
E.prototype.Oa=function(){this.sb=!0;Object.freeze(this);return this};E.prototype.ba=function(){return Object.isFrozen(this)?this:this.copy().freeze()};E.prototype.freeze=function(){this.sb=!0;return this};E.prototype.Ra=function(){Object.isFrozen(this)&&t.m("cannot thaw constant: "+this);this.sb=!1;return this};
E.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var f=0;""===a[b];)b++;(d=a[b++])&&(f=parseFloat(d));return new E(c,f)}return new E};E.stringify=function(a){return a instanceof E?a.x.toString()+" "+a.y.toString():a.toString()};E.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};E.prototype.equals=E.prototype.P=function(a){return a instanceof E?this.K===a.x&&this.L===a.y:!1};
E.prototype.equalTo=function(a,b){return this.K===a&&this.L===b};E.prototype.equalsApprox=E.prototype.Af=function(a){return J.I(this.K,a.x)&&J.I(this.L,a.y)};E.prototype.add=E.prototype.add=function(a){e&&t.l(a,E,E,"add:p");t.J(this);this.K+=a.x;this.L+=a.y;return this};E.prototype.subtract=E.prototype.nu=function(a){e&&t.l(a,E,E,"subtract:p");t.J(this);this.K-=a.x;this.L-=a.y;return this};
E.prototype.offset=E.prototype.offset=function(a,b){e&&(t.q(a,E,"offset:dx"),t.q(b,E,"offset:dy"));t.J(this);this.K+=a;this.L+=b;return this};E.prototype.rotate=E.prototype.rotate=function(a){e&&t.q(a,E,"rotate:angle");t.J(this);if(0===a)return this;var b=this.K,c=this.L;if(0===b&&0===c)return this;var d;90===a?(a=0,d=1):180===a?(a=-1,d=0):270===a?(a=0,d=-1):(d=a*Math.PI/180,a=Math.cos(d),d=Math.sin(d));this.K=a*b-d*c;this.L=d*b+a*c;return this};
E.prototype.scale=E.prototype.scale=function(a,b){e&&(t.q(a,E,"scale:sx"),t.q(b,E,"scale:sy"));this.K*=a;this.L*=b;return this};E.prototype.distanceSquaredPoint=E.prototype.nk=function(a){e&&t.l(a,E,E,"distanceSquaredPoint:p");var b=a.x-this.K;a=a.y-this.L;return b*b+a*a};E.prototype.distanceSquared=E.prototype.ot=function(a,b){e&&(t.q(a,E,"distanceSquared:px"),t.q(b,E,"distanceSquared:py"));var c=a-this.K,d=b-this.L;return c*c+d*d};
E.prototype.normalize=E.prototype.normalize=function(){t.J(this);var a=this.K,b=this.L,c=Math.sqrt(a*a+b*b);0<c&&(this.K=a/c,this.L=b/c);return this};E.prototype.directionPoint=E.prototype.oj=function(a){e&&t.l(a,E,E,"directionPoint:p");return eb(a.x-this.K,a.y-this.L)};E.prototype.direction=E.prototype.direction=function(a,b){e&&(t.q(a,E,"direction:px"),t.q(b,E,"direction:py"));return eb(a-this.K,b-this.L)};
function eb(a,b){if(0===a)return 0<b?90:0>b?270:0;if(0===b)return 0<a?0:180;if(isNaN(a)||isNaN(b))return 0;var c=180*Math.atan(Math.abs(b/a))/Math.PI;0>a?c=0>b?c+180:180-c:0>b&&(c=360-c);return c}E.prototype.projectOntoLineSegment=function(a,b,c,d){e&&(t.q(a,E,"projectOntoLineSegment:px"),t.q(b,E,"projectOntoLineSegment:py"),t.q(c,E,"projectOntoLineSegment:qx"),t.q(d,E,"projectOntoLineSegment:qy"));J.wn(a,b,c,d,this.K,this.L,this);return this};
E.prototype.projectOntoLineSegmentPoint=function(a,b){e&&(t.l(a,E,E,"projectOntoLineSegmentPoint:p"),t.l(b,E,E,"projectOntoLineSegmentPoint:q"));J.wn(a.x,a.y,b.x,b.y,this.K,this.L,this);return this};E.prototype.snapToGrid=function(a,b,c,d){e&&(t.q(a,E,"snapToGrid:originx"),t.q(b,E,"snapToGrid:originy"),t.q(c,E,"snapToGrid:cellwidth"),t.q(d,E,"snapToGrid:cellheight"));J.st(this.K,this.L,a,b,c,d,this);return this};
E.prototype.snapToGridPoint=function(a,b){e&&(t.l(a,E,E,"snapToGridPoint:p"),t.l(b,ra,E,"snapToGridPoint:q"));J.st(this.K,this.L,a.x,a.y,b.width,b.height,this);return this};E.prototype.setRectSpot=E.prototype.iu=function(a,b){e&&(t.l(a,F,E,"setRectSpot:r"),t.l(b,L,E,"setRectSpot:spot"));t.J(this);this.K=a.x+b.x*a.width+b.offsetX;this.L=a.y+b.y*a.height+b.offsetY;return this};
E.prototype.setSpot=E.prototype.j