metamaps--metamaps/public/assets/application.js

31 lines
544 KiB
JavaScript
Raw Normal View History

2013-12-02 01:57:07 +00:00
/*!
* jQuery JavaScript Library v1.8.1
* http://jquery.com/
*
* Includes Sizzle.js
* http://sizzlejs.com/
*
* Copyright 2012 jQuery Foundation and other contributors
* Released under the MIT license
* http://jquery.org/license
*
* Date: Thu Aug 30 2012 17:17:22 GMT-0400 (Eastern Daylight Time)
*/
function BestInPlaceEditor(e){this.element=e,this.initOptions(),this.bindForm(),this.initNil(),jQuery(this.activator).bind("click",{editor:this},this.clickHandler)}function openAnalyze(){analyzeOpen=!0,findOpen&&closeFind(),organizeOpen&&closeOrganize(),$("#sideOptionFind").css("z-index","8"),$("#sideOptionAnalyze, #closeAnalyze").css("z-index","10"),$("#sideOptionOrganize").css("z-index","8"),$("#sideOptionAnalyze").animate({width:"100px",height:"76px"},100),$("#closeAnalyze").css("display","block"),$("#sideOptionAnalyze").css("cursor","default");var e=Object.keys(Mconsole.graph.nodes).length,t=0;Mconsole.graph.eachNode(function(e){e.eachAdjacency(function(){t++})}),t/=2,$(".analysis").html("<p>"+e+" topics</p><p>"+t+" synapses</p>")}function closeAnalyze(){analyzeOpen=!1,$("#closeAnalyze").css("display","none"),$("#sideOptionAnalyze").css("cursor","pointer"),$("#sideOptionAnalyze").animate({width:"64px",height:"32px"},100)}function switchVisible(e,t){categoryVisible[e]==1?hideCategory(e,t):categoryVisible[e]==0&&showCategory(e,t)}function hideCategory(e,t){t==null&&(t=500),Mconsole.graph.eachNode(function(t){t.getData("metacode")==e&&(t.setData("alpha",.4,"end"),t.eachAdjacency(function(e){e.setData("alpha",.4,"end")}))}),Mconsole.fx.animate({modes:["node-property:alpha","edge-property:alpha"],duration:t})}function showCategory(e,t){t==null&&(t=500),Mconsole.graph.eachNode(function(t){t.getData("metacode")==e&&(t.setData("alpha",1,"end"),t.eachAdjacency(function(e){e.setData("alpha",1,"end")}))}),Mconsole.fx.animate({modes:["node-property:alpha","edge-property:alpha"],duration:t})}function hideAll(e){e==null&&(e=500),Mconsole.graph.eachNode(function(e){!e.getData("greenCircle")&&!e.getData("whiteCircle")&&(e.setData("alpha",.4,"end"),e.eachAdjacency(function(e){e.setData("alpha",.4,"end")}))}),Mconsole.fx.animate({modes:["node-property:alpha","edge-property:alpha"],duration:e})}function showAll(e){e==null&&(e=500),Mconsole.graph.eachNode(function(e){e.setData("alpha",1,"end"),e.eachAdjacency(function(e){e.setData("alpha",1,"end")})}),Mconsole.fx.animate({modes:["node-property:alpha","edge-property:alpha"],duration:e})}function onCanvasSearch(e,t,n){e=name.toLowerCase(),Mconsole.graph.eachNode(function(r){nodeName=r.name.toLowerCase(),name!=null?nodeName.indexOf(e)!==-1&&e!=""?r.setData("whiteCircle",!0):r.setData("whiteCircle",!1):t!=null?r.getData("inmaps").indexOf(parseInt(t))!==-1?r.setData("whiteCircle",!0):r.setData("whiteCircle",!1):n!=null&&(r.getData("userid").toString()==n?r.setData("whiteCircle",!0):r.setData("whiteCircle",!1)),Mconsole.plot()})}function clearCanvas(){Mconsole.graph.eachNode(function(e){Mconsole.graph.removeNode(e.id),Mconsole.labels.disposeLabel(e.id),delete Mconsole.labels.labels[""+e.id]}),Mconsole.plot()}function clearCanvasExceptRoot(){var e=new Array;Mconsole.graph.eachNode(function(t){e.push(t.id)});var t=Mconsole.graph.nodes[Mconsole.root];e.forEach(function(e,n){e!=t.id&&(Mconsole.graph.removeNode(e),Mconsole.labels.hideLabel(e),$("#topic_"+e+"_label").hide())}),fetchRelatives(t)}function clearFoundData(){Mconsole.graph.eachNode(function(e){e.getData("greenCircle")===!0&&(Mconsole.graph.removeNode(e.id),Mconsole.labels.hideLabel(e.id),$("#topic_"+e.id+"_label").hide())}),Mconsole.plot()}function openFind(){findOpen=!0,analyzeOpen&&closeAnalyze(),organizeOpen&&closeOrganize(),$("#sideOptionFind, #closeFind").css("z-index","10"),$("#sideOptionAnalyze").css("z-index","9"),$("#sideOptionOrganize").css("z-index","8"),firstVal=$('#sideOptionFind option[value="name"]').attr("selected"),secondVal=$('#sideOptionFind option[value="metacode"]').attr("selected"),thirdVal=$('#sideOptionFind option[value="map (by name)"]').attr("selected"),fourthVal=$('#sideOptionFind option[value="mapper (by name)"]').attr("selected"),firstVal==="selected"||thirdVal==="selected"||fourthVal==="selected"?$("#sideOptionFind").animate({width:"305px",height:"76px"},100,function(){$("#topic_by_name_input").focus()}):secondVal==="selected"?$("#sideOptionFind").animate({width:"380px",height:"463px"},100,function(){}):th
(e),add_direction_form(e),add_name_form(e)}function add_name_form(e){var t='<span class="gray">Click to add description.</span>';$("#edit_synapse").append('<div id="edit_synapse_name"></div>'),$("#edit_synapse_name").attr("class","best_in_place best_in_place_desc"),$("#edit_synapse_name").attr("data-object","synapse"),$("#edit_synapse_name").attr("data-attribute","desc"),$("#edit_synapse_name").attr("data-type","input"),$("#edit_synapse_name").attr("data-nil",t),$("#edit_synapse_name").attr("data-url","/synapses/"+e.getData("id")),$("#edit_synapse_name").html(e.getData("desc")),$("#edit_synapse_name").html().trim()==""&&$("#edit_synapse_name").html(t),$("#edit_synapse_name").bind("ajax:success",function(){var n=$(this).html();n==t?e.setData("desc",""):e.setData("desc",n),selectEdge(e),Mconsole.plot()})}function add_perms_form(e){$("#edit_synapse").append('<div class="mapPerm"></div>'),$("#edit_synapse .mapPerm").html(mk_permission(e)),userid==e.getData("userid")&&($("#edit_synapse").append('<div class="permActivator" />'),$("#edit_synapse .permActivator").append('<div class="editSettings" />'),$("#edit_synapse .editSettings").append("<span>Permissions:</span>"),$("#edit_synapse .editSettings").append('<span class="click-to-edit" />'),$("#edit_synapse .click-to-edit").attr("title","Click to Edit"),$("#edit_synapse .click-to-edit").append(best_in_place_perms(e)),$("#edit_synapse .editSettings").append('<div class="clearfloat" />'),$("#edit_synapse").find(".best_in_place_permission").bind("ajax:success",function(){var e=$(this).html();switch(e){case"commons":$("#edit_synapse .mapPerm").html("co");break;case"public":$("#edit_synapse .mapPerm").html("pu");break;case"private":$("#edit_synapse .mapPerm").html("pr")}}),$("#edit_synapse .permActivator").bind("mouseover",function(){clearTimeout(MetamapsModel.edgePermTimer2),that=this,MetamapsModel.edgePermTimer1=setTimeout(function(){MetamapsModel.edgePermSliding||(MetamapsModel.edgePermSliding=!0,$(that).animate({width:"203px",height:"37px"},300,function(){MetamapsModel.edgePermSliding=!1}))},300)}),$("#edit_synapse .permActivator").bind("mouseout",function(){clearTimeout(MetamapsModel.edgePermTimer1),that=this,MetamapsModel.edgePermTimer2=setTimeout(function(){MetamapsModel.edgePermSliding||(MetamapsModel.edgePermSliding=!0,$(that).animate({height:"16px",width:"16px"},300,function(){MetamapsModel.edgePermSliding=!1}))},800)}))}function add_direction_form(e){$("#edit_synapse").append('<input type="checkbox" id="edit_synapse_left">'),$("#edit_synapse").append('<label class="left">&lt;</label>'),$("#edit_synapse").append('<input type="checkbox" id="edit_synapse_right">'),$("#edit_synapse").append('<label class="right">&gt;</label>');if(e.nodeFrom.pos.x<e.nodeTo.pos.x||e.nodeFrom.pos.x==e.nodeTo.pos.x&&e.nodeFrom.pos.y<e.nodeTo.pos.y)var t=e.nodeTo,n=e.nodeFrom;else var t=e.nodeFrom,n=e.nodeTo;var r=e.getData("category");if(r=="from-to"){var i=e.getData("direction");i[0]==t.id?$("#edit_synapse_left").prop("checked",!0):$("#edit_synapse_right").prop("checked",!0)}else r=="both"&&($("#edit_synapse_left").prop("checked",!0),$("#edit_synapse_right").prop("checked",!0));$("#edit_synapse_left, #edit_synapse_right").click(function(){var r=$("#edit_synapse_left").is(":checked"),i=$("#edit_synapse_right").is(":checked"),s=e.getData("direction"),o="none";r&&i?o="both":!r&&i?(o="from-to",s=[n.id,t.id]):r&&!i&&(o="from-to",s=[t.id,n.id]),$.ajax({type:"PUT",url:"/synapses/"+e.getData("id"),data:{synapse:{category:o},node1_id:{node1:s[0]},node2_id:{node2:s[1]}},success:function(t){updateEdgeDisplay(e,s,o)}})})}function updateEdgeDisplay(e,t,n){e.setData("category",n),e.setData("direction",t),Mconsole.plot()}function best_in_place_perms(e){var t='<span class="best_in_place best_in_place_permission" id="best_in_place_topic_$_id_$_permission" data-url="/synapses/$_id_$" data-object="synapse" data-collection=$_permission_choices_$
,a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||++v.uuid:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")===0&&(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";re
filter:{ID:i?function(e){return e=e.replace(z,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace(z,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace(z,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=x[d][e];return t||(t=x(e,new RegExp("(^|"+C+")"+e+"("+C+"|$)"))),function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")}},ATTR:function(e,t,n){return t?function(r){var i=Y.attr(r,e),s=i+"";if(i==null)return t==="!=";switch(t){case"=":return s===n;case"!=":return s!==n;case"^=":return n&&s.indexOf(n)===0;case"*=":return n&&s.indexOf(n)>-1;case"$=":return n&&s.substr(s.length-n.length)===n;case"~=":return(" "+s+" ").indexOf(n)>-1;case"|=":return s===n||s.substr(0,n.length+1)===n+"-"}}:function(t){return Y.attr(t,e)!=null}},CHILD:function(e,t,n,r){if(e==="nth"){var i=y++;return function(e){var t,s,o=0,u=e;if(n===1&&r===0)return!0;t=e.parentNode;if(t&&(t[d]!==i||!e.sizset)){for(u=t.firstChild;u;u=u.nextSibling)if(u.nodeType===1){u.sizset=++o;if(u===e)break}t[d]=i}return s=e.sizset-r,n===0?s===0:s%n===0&&s/n>=0}}return function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t,n,r){var i,o=s.pseudos[e]||s.pseudos[e.toLowerCase()];return o||Y.error("unsupported pseudo: "+e),o[d]?o(t,n,r):o.length>1?(i=[e,e,"",t],function(e){return o(e,0,i)}):o}},pseudos:{not:E(function(e,t,n){var r=f(e.replace(D,"$1"),t,n);return function(e){return!r(e)}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!s.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},contains:E(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),has:E(function(e){return function(t){return Y(e,t).length>0}}),header:function(e){return R.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:Z("radio"),checkbox:Z("checkbox"),file:Z("file"),password:Z("password"),image:Z("image"),submit:et("submit"),reset:et("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return U.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&(!!e.type||!!e.href)},active:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(e,t,n){return n?e.slice(1):[e[0]]},last:function(e,t,n){var r=e.pop();return n?e:[r]},even:function(e,t,n){var r=[],i=n?1:0,s=e.length;for(;i<s;i+=2)r.push(e[i]);return r},odd:function(e,t,n){var r=[],i=n?0:1,s=e.length;for(;i<s;i+=2)r.push(e[i]);return r},lt:function(e,t,n){return n?e.slice(+t):e.slice(0,+t)},gt:function(e,t,n){return n?e.slice(0,+t+1):e.slice(+t+1)},eq:function(e,t,n){var r=e.splice(+t,1);return n?e:r}}},l=g.compareDocumentPosition?function(e,t){return e===t?(c=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return c=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return tt(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return tt(i[f],s[f]);return f===n?tt(e,s[f],-1):tt(i[f],t,1)},[0,0].s
[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn("show"),slideUp:Zn("hide"),slideToggle:Zn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,t=v.timers,n=0;for(;n<t.length;n++)e=t[n],!e()&&t[n]===e&&t.splice(n--,1);t.length||v.fx.stop()},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f,l,c,h=this[0],p=h&&h.ownerDocument;if(!p)return;return(i=p.body)===h?v.offset.bodyOffset(h):(r=p.documentElement,v.contains(r,h)?(n=h.getBoundingClientRect(),s=tr(p),o=r.clientTop||i.clientTop||0,u=r.clientLeft||i.clientLeft||0,a=s.pageYOffset||r.scrollTop,f=s.pageXOffset||r.scrollLeft,l=n.top+a-o,c=n.left+f-u,{top:l,left:c}):{top:0,left:0})},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=nul
[2][0])&&isFinite(e[2][1])}function V(e,t,n){if(!X(t))return;e.m_=t;if(n){var r=t[0][0]*t[1][1]-t[0][1]*t[1][0];e.lineScale_=s(i(r))}}function $(e){this.type_=e,this.x0_=0,this.y0_=0,this.r0_=0,this.x1_=0,this.y1_=0,this.r1_=0,this.colors_=[]}function J(e,t){Q(e);switch(t){case"repeat":case null:case"":this.repetition_="repeat";break;case"repeat-x":case"repeat-y":case"no-repeat":this.repetition_=t;break;default:K("SYNTAX_ERR")}this.src_=e.src,this.width_=e.width,this.height_=e.height}function K(e){throw new G(e)}function Q(e){(!e||e.nodeType!=1||e.tagName!="IMG")&&K("TYPE_MISMATCH_ERR"),e.readyState!="complete"&&K("INVALID_STATE_ERR")}function G(e){this.code=this[e],this.message=e+": DOM Exception "+this.code}var e=Math,t=e.round,n=e.sin,r=e.cos,i=e.abs,s=e.sqrt,o=10,u=o/2,a=+navigator.userAgent.match(/MSIE ([\d.]+)?/)[1],l=Array.prototype.slice;d(document);var v={init:function(e){var t=e||document;t.createElement("canvas"),t.attachEvent("onreadystatechange",c(this.init_,this,t))},init_:function(e){var t=e.getElementsByTagName("canvas");for(var n=0;n<t.length;n++)this.initElement(t[n])},initElement:function(e){if(!e.getContext){e.getContext=f,d(e.ownerDocument),e.innerHTML="",e.attachEvent("onpropertychange",m),e.attachEvent("onresize",g);var t=e.attributes;t.width&&t.width.specified?e.style.width=t.width.nodeValue+"px":e.width=e.clientWidth,t.height&&t.height.specified?e.style.height=t.height.nodeValue+"px":e.height=e.clientHeight}return e}};v.init();var y=[];for(var b=0;b<16;b++)for(var w=0;w<16;w++)y[b*16+w]=b.toString(16)+w.toString(16);var T={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",grey:"#808080",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",oldlace:"#FDF5E6",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4
:!0,injectInto:"id",width:!1,height:!1,useCanvas:!1,withLabels:!0,background:!1},i.Tree={$extend:!0,orientation:"left",subtreeOffset:8,siblingOffset:5,indent:10,multitree:!1,align:"center"},i.Node={$extend:!1,overridable:!1,type:"circle",color:"#ccb",alpha:1,dim:3,height:20,width:90,autoHeight:!1,autoWidth:!1,lineWidth:1,transform:!0,align:"center",angularWidth:1,span:1,CanvasStyles:{}},i.Edge={$extend:!1,overridable:!1,type:"line",color:"#ccb",lineWidth:1,dim:15,alpha:1,epsilon:7,CanvasStyles:{}},i.Fx={$extend:!0,fps:40,duration:2500,transition:$jit.Trans.Quart.easeInOut,clearCanvas:!0},i.Label={$extend:!1,overridable:!1,type:"HTML",style:" ",size:10,family:"sans-serif",textAlign:"center",textBaseline:"alphabetic",color:"#fff"},i.Tips={$extend:!1,enable:!1,type:"auto",offsetX:20,offsetY:20,force:!1,onShow:e.empty,onHide:e.empty},i.NodeStyles={$extend:!1,enable:!1,type:"auto",stylesHover:!1,stylesClick:!1},i.Events={$extend:!1,enable:!1,enableForEdges:!1,type:"auto",onClick:e.empty,onRightClick:e.empty,onMouseMove:e.empty,onMouseEnter:e.empty,onMouseLeave:e.empty,onDragStart:e.empty,onDragMove:e.empty,onDragCancel:e.empty,onDragEnd:e.empty,onTouchStart:e.empty,onTouchMove:e.empty,onTouchEnd:e.empty,onMouseWheel:e.empty},i.Navigation={$extend:!1,enable:!1,type:"auto",panning:!1,zooming:!1},i.Controller={$extend:!0,onBeforeCompute:e.empty,onAfterCompute:e.empty,onCreateLabel:e.empty,onPlaceLabel:e.empty,onComplete:e.empty,onBeforePlotLine:e.empty,onAfterPlotLine:e.empty,onBeforePlotNode:e.empty,onAfterPlotNode:e.empty,request:!1};var s={initialize:function(e,t){this.viz=t,this.canvas=t.canvas,this.config=t.config[e],this.nodeTypes=t.fx.nodeTypes;var n=this.config.type;this.dom=n=="auto"?t.config.Label.type!="Native":n!="Native",this.labelContainer=this.dom&&t.labels.getLabelContainer(),this.isEnabled()&&this.initializePost()},initializePost:e.empty,setAsProperty:e.lambda(!1),isEnabled:function(){return this.config.enable},isLabel:function(t,n){t=e.event.get(t,n);var r=this.labelContainer,i=t.target||t.srcElement;return i&&i.parentNode==r?i:!1}},o={onMouseUp:e.empty,onMouseDown:e.empty,onMouseMove:e.empty,onMouseOver:e.empty,onMouseOut:e.empty,onMouseWheel:e.empty,onTouchStart:e.empty,onTouchMove:e.empty,onTouchEnd:e.empty,onTouchCancel:e.empty},u=new t({initialize:function(e){this.viz=e,this.canvas=e.canvas,this.node=!1,this.edge=!1,this.registeredObjects=[],this.attachEvents()},attachEvents:function(){var t=this.canvas.getElement(),n=this;t.oncontextmenu=e.lambda(!1),e.addEvents(t,{mouseup:function(t,r){var i=e.event.get(t,r);n.handleEvent("MouseUp",t,r,n.makeEventObject(t,r),e.event.isRightClick(i))},mousedown:function(t,r){var i=e.event.get(t,r);n.handleEvent("MouseDown",t,r,n.makeEventObject(t,r),e.event.isRightClick(i))},mousemove:function(e,t){n.handleEvent("MouseMove",e,t,n.makeEventObject(e,t))},mouseover:function(e,t){n.handleEvent("MouseOver",e,t,n.makeEventObject(e,t))},mouseout:function(e,t){n.handleEvent("MouseOut",e,t,n.makeEventObject(e,t))},touchstart:function(e,t){n.handleEvent("TouchStart",e,t,n.makeEventObject(e,t))},touchmove:function(e,t){n.handleEvent("TouchMove",e,t,n.makeEventObject(e,t))},touchend:function(e,t){n.handleEvent("TouchEnd",e,t,n.makeEventObject(e,t))}});var r=function(t,r){var i=e.event.get(t,r),s=e.event.getWheel(i);n.handleEvent("MouseWheel",t,r,s)};!document.getBoxObjectFor&&window.mozInnerScreenX==null?e.addEvent(t,"mousewheel",r):t.addEventListener("DOMMouseScroll",r,!1)},register:function(e){this.registeredObjects.push(e)},handleEvent:function(){var e=Array.prototype.slice.call(arguments),t=e.shift();for(var n=0,r=this.registeredObjects,i=r.length;n<i;n++)r[n]["on"+t].apply(r[n],e)},makeEventObject:function(t,n){var r=this,i=this.viz.graph,s=this.viz.fx,o=s.nodeTypes,u=s.edgeTypes;return{pos:!1,node:!1,edge:!1,contains:!1,getNodeCalled:!1,getEdgeCalled:!1,getPos:function(){var i=r.viz.canvas,s=i.getSize(),o=i.getPos(),u=i.translateOffsetX,a=i.translateOffsetY,f=i.scaleOffsetX,l=i.scaleOffsetY,c=e.event.getPos(t,n);return this.pos={x:(c.x-o.x-s.width/2-u)*1/f,y:(c.y-o.y-s.height/
r?":"+e.splat(r["edge-property"]).join(":"):""),r&&"label-property"in r&&c.push("label-property:"+e.splat(r["label-property"]).join(":")),i.reposition(),i.graph.eachNode(function(e){e.id!=o&&e.pos.getp().equals(l.KER)&&(e.pos.set(e.endPos),e.startPos.set(e.endPos))}),i.fx.animate(e.merge(s,{modes:["polar"].concat(c),onComplete:function(){i.graph.eachNode(function(e){e.ignore&&i.graph.removeNode(e.id)}),i.graph.eachNode(function(e){e.eachAdjacency(function(e){e.ignore&&i.graph.removeAdjacence(e.nodeFrom.id,e.nodeTo.id)})}),s.onComplete()}}));break;default:}},contract:function(t,n){var r=this.viz;if(t.collapsed||!t.anySubnode(e.lambda(!0)))return;n=e.merge(this.options,r.config,n||{},{modes:["node-property:alpha:span","linear"]}),t.collapsed=!0,function i(e){e.eachSubnode(function(e){e.ignore=!0,e.setData("alpha",0,n.type=="animate"?"end":"current"),i(e)})}(t),n.type=="animate"?(r.compute("end"),r.rotated&&r.rotate(r.rotated,"none",{property:"end"}),function s(e){e.eachSubnode(function(e){e.setPos(t.getPos("end"),"end"),s(e)})}(t),r.fx.animate(n)):n.type=="replot"&&r.refresh()},expand:function(t,n){if(!("collapsed"in t))return;var r=this.viz;n=e.merge(this.options,r.config,n||{},{modes:["node-property:alpha:span","linear"]}),delete t.collapsed,function i(e){e.eachSubnode(function(e){delete e.ignore,e.setData("alpha",1,n.type=="animate"?"end":"current"),i(e)})}(t),n.type=="animate"?(r.compute("end"),r.rotated&&r.rotate(r.rotated,"none",{property:"end"}),r.fx.animate(n)):n.type=="replot"&&r.refresh()},preprocessSum:function(e){var t=this.viz;e.eachNode(function(e){if(!t.graph.hasNode(e.id)){t.graph.addNode(e);var n=t.graph.getNode(e.id);n.setData("alpha",0),n.setData("alpha",0,"start"),n.setData("alpha",1,"end")}});var n=!1;return e.eachNode(function(e){e.eachAdjacency(function(e){var r=t.graph.getNode(e.nodeFrom.id),i=t.graph.getNode(e.nodeTo.id);if(!r.adjacentTo(i)){var e=t.graph.addAdjacence(r,i,e.data);r.startAlpha==r.endAlpha&&i.startAlpha==i.endAlpha&&(n=!0,e.setData("alpha",0),e.setData("alpha",0,"start"),e.setData("alpha",1,"end"))}})}),n}};var m={none:{render:e.empty,contains:e.lambda(!1)},circle:{render:function(e,t,n,r){var i=r.getCtx();i.beginPath(),i.arc(t.x,t.y,n,0,Math.PI*2,!0),i.closePath(),i[e]()},contains:function(e,t,n){var r=e.x-t.x,i=e.y-t.y,s=r*r+i*i;return s<=n*n}},ellipse:{render:function(e,t,n,r,i){var s=i.getCtx();r/=2,n/=2,s.save(),s.scale(n/r,r/n),s.beginPath(),s.arc(t.x*(r/n),t.y*(n/r),r,0,Math.PI*2,!0),s.closePath(),s[e](),s.restore()},contains:function(e,t,n,r){n/=2,r/=2;var i=(n+r)/2,s=e.x-t.x,o=e.y-t.y,u=s*s+o*o;return u<=i*i}},square:{render:function(e,t,n,r){r.getCtx()[e+"Rect"](t.x-n,t.y-n,2*n,2*n)},contains:function(e,t,n){return Math.abs(t.x-e.x)<=n&&Math.abs(t.y-e.y)<=n}},rectangle:{render:function(e,t,n,r,i){i.getCtx()[e+"Rect"](t.x-n/2,t.y-r/2,n,r)},contains:function(e,t,n,r){return Math.abs(t.x-e.x)<=n/2&&Math.abs(t.y-e.y)<=r/2}},triangle:{render:function(e,t,n,r){var i=r.getCtx(),s=t.x,o=t.y-n,u=s-n,a=t.y+n,f=s+n,l=a;i.beginPath(),i.moveTo(s,o),i.lineTo(u,a),i.lineTo(f,l),i.closePath(),i[e]()},contains:function(e,t,n){return m.circle.contains(e,t,n)}},star:{render:function(e,t,n,r){var i=r.getCtx(),s=Math.PI/5;i.save(),i.translate(t.x,t.y),i.beginPath(),i.moveTo(n,0);for(var o=0;o<9;o++)i.rotate(s),o%2==0?i.lineTo(n/.525731*.200811,0):i.lineTo(n,0);i.closePath(),i[e](),i.restore()},contains:function(e,t,n){return m.circle.contains(e,t,n)}}},g={line:{render:function(e,t,n){var r=n.getCtx();r.beginPath(),r.moveTo(e.x,e.y),r.lineTo(t.x,t.y),r.stroke()},contains:function(e,t,n,r){var i=Math.min,s=Math.max,o=i(e.x,t.x),u=s(e.x,t.x),a=i(e.y,t.y),f=s(e.y,t.y);if(n.x>=o&&n.x<=u&&n.y>=a&&n.y<=f){if(Math.abs(t.x-e.x)<=r)return!0;var l=(t.y-e.y)/(t.x-e.x)*(n.x-e.x)+e.y;return Math.abs(l-n.y)<=r}return!1}},arrow:{render:function(e,t,n,r,i){var s=i.getCtx();if(r){var o=e;e=t,t=o}var u=new h(t.x-e.x,t.y-e.y);u.$scale(n/u.norm());var a=new h(t.x-u.x,t.y-u.y),f=new h(-u.y/2,u.x/2),l=a.add(f),c=a.$add(f.$scale(-1));s.beginPath(),s.moveTo(e.x,e.y),s.lineTo(t.x,t.y),s.stroke(),s.beginPath(),s.moveTo(
,$jit.ST.Plot.NodeTypes=new t({none:{render:e.empty,contains:e.lambda(!1)},circle:{render:function(e,t){var n=e.getData("dim"),r=this.getAlignedPos(e.pos.getc(!0),n,n),i=n/2;this.nodeHelper.circle.render("fill",{x:r.x+i,y:r.y+i},i,t)},contains:function(e,t){var n=e.getData("dim"),r=this.getAlignedPos(e.pos.getc(!0),n,n),i=n/2;this.nodeHelper.circle.contains({x:r.x+i,y:r.y+i},i)}},square:{render:function(e,t){var n=e.getData("dim"),r=n/2,i=this.getAlignedPos(e.pos.getc(!0),n,n);this.nodeHelper.square.render("fill",{x:i.x+r,y:i.y+r},r,t)},contains:function(e,t){var n=e.getData("dim"),r=this.getAlignedPos(e.pos.getc(!0),n,n),i=n/2;this.nodeHelper.square.contains({x:r.x+i,y:r.y+i},i)}},ellipse:{render:function(e,t){var n=e.getData("width"),r=e.getData("height"),i=this.getAlignedPos(e.pos.getc(!0),n,r);this.nodeHelper.ellipse.render("fill",{x:i.x+n/2,y:i.y+r/2},n,r,t)},contains:function(e,t){var n=e.getData("width"),r=e.getData("height"),i=this.getAlignedPos(e.pos.getc(!0),n,r);this.nodeHelper.ellipse.contains({x:i.x+n/2,y:i.y+r/2},n,r,canvas)}},rectangle:{render:function(e,t){var n=e.getData("width"),r=e.getData("height"),i=this.getAlignedPos(e.pos.getc(!0),n,r);this.nodeHelper.rectangle.render("fill",{x:i.x+n/2,y:i.y+r/2},n,r,t)},contains:function(e,t){var n=e.getData("width"),r=e.getData("height"),i=this.getAlignedPos(e.pos.getc(!0),n,r);this.nodeHelper.rectangle.contains({x:i.x+n/2,y:i.y+r/2},n,r,canvas)}}}),$jit.ST.Plot.EdgeTypes=new t({none:e.empty,line:{render:function(e,t){var n=this.getOrientation(e),r=e.nodeFrom,i=e.nodeTo,s=r._depth<i._depth,o=this.viz.geom.getEdge(s?r:i,"begin",n),u=this.viz.geom.getEdge(s?i:r,"end",n);this.edgeHelper.line.render(o,u,t)},contains:function(e,t){var n=this.getOrientation(e),r=e.nodeFrom,i=e.nodeTo,s=r._depth<i._depth,o=this.viz.geom.getEdge(s?r:i,"begin",n),u=this.viz.geom.getEdge(s?i:r,"end",n);return this.edgeHelper.line.contains(o,u,t,this.edge.epsilon)}},arrow:{render:function(e,t){var n=this.getOrientation(e),r=e.nodeFrom,i=e.nodeTo,s=e.getData("dim"),o=this.viz.geom.getEdge(r,"begin",n),u=this.viz.geom.getEdge(i,"end",n),a=e.data.$direction,f=a&&a.length>1&&a[0]!=r.id;this.edgeHelper.arrow.render(o,u,s,f,t)},contains:function(e,t){var n=this.getOrientation(e),r=e.nodeFrom,i=e.nodeTo,s=r._depth<i._depth,o=this.viz.geom.getEdge(s?r:i,"begin",n),u=this.viz.geom.getEdge(s?i:r,"end",n);return this.edgeHelper.arrow.contains(o,u,t,this.edge.epsilon)}},"quadratic:begin":{render:function(e,t){var n=this.getOrientation(e),r=e.nodeFrom,i=e.nodeTo,s=r._depth<i._depth,o=this.viz.geom.getEdge(s?r:i,"begin",n),u=this.viz.geom.getEdge(s?i:r,"end",n),a=e.getData("dim"),f=t.getCtx();f.beginPath(),f.moveTo(o.x,o.y);switch(n){case"left":f.quadraticCurveTo(o.x+a,o.y,u.x,u.y);break;case"right":f.quadraticCurveTo(o.x-a,o.y,u.x,u.y);break;case"top":f.quadraticCurveTo(o.x,o.y+a,u.x,u.y);break;case"bottom":f.quadraticCurveTo(o.x,o.y-a,u.x,u.y)}f.stroke()}},"quadratic:end":{render:function(e,t){var n=this.getOrientation(e),r=e.nodeFrom,i=e.nodeTo,s=r._depth<i._depth,o=this.viz.geom.getEdge(s?r:i,"begin",n),u=this.viz.geom.getEdge(s?i:r,"end",n),a=e.getData("dim"),f=t.getCtx();f.beginPath(),f.moveTo(o.x,o.y);switch(n){case"left":f.quadraticCurveTo(u.x-a,u.y,u.x,u.y);break;case"right":f.quadraticCurveTo(u.x+a,u.y,u.x,u.y);break;case"top":f.quadraticCurveTo(u.x,u.y-a,u.x,u.y);break;case"bottom":f.quadraticCurveTo(u.x,u.y+a,u.x,u.y)}f.stroke()}},bezier:{render:function(e,t){var n=this.getOrientation(e),r=e.nodeFrom,i=e.nodeTo,s=r._depth<i._depth,o=this.viz.geom.getEdge(s?r:i,"begin",n),u=this.viz.geom.getEdge(s?i:r,"end",n),a=e.getData("dim"),f=t.getCtx();f.beginPath(),f.moveTo(o.x,o.y);switch(n){case"left":f.bezierCurveTo(o.x+a,o.y,u.x-a,u.y,u.x,u.y);break;case"right":f.bezierCurveTo(o.x-a,o.y,u.x+a,u.y,u.x,u.y);break;case"top":f.bezierCurveTo(o.x,o.y+a,u.x,u.y-a,u.x,u.y);break;case"bottom":f.bezierCurveTo(o.x,o.y-a,u.x,u.y+a,u.x,u.y)}f.stroke()}}}),$jit.ST.Plot.NodeTypes.implement({"areachart-stacked":{render:function(t,n){var r=t.pos.getc(!0),i=t.getData("width"),s=t.getData("height"),o=this.getAlignedP
:function(e,t){var n=e.nodeFrom.pos.getc(),r=e.nodeTo.pos.getc(),i=Math.max(n.norm(),r.norm());this.edgeHelper.hyperline.render(n.$scale(1/i),r.$scale(1/i),i,t)},contains:e.lambda(!1)}})}($jit.Sunburst),$jit.Sunburst.Plot.NodeTypes.implement({"piechart-stacked":{render:function(t,n){var r=t.pos.getp(!0),i=t.getData("dimArray"),s=t.getData("valueArray"),o=t.getData("colorArray"),u=o.length,a=t.getData("stringArray"),f=t.getData("span")/2,c=t.pos.theta,h=c-f,p=c+f,d=new l,v=n.getCtx(),m={},g=t.getData("gradient"),y=t.getData("border"),b=t.getData("config"),w=b.showLabels,E=b.resizeLabels,S=b.Label,x=b.sliceOffset*Math.cos((h+p)/2),T=b.sliceOffset*Math.sin((h+p)/2);if(o&&i&&a){for(var N=0,C=i.length,k=0,L=0;N<C;N++){var A=i[N],O=o[N%u];if(A<=0)continue;v.fillStyle=v.strokeStyle=O;if(g&&A){var M=v.createRadialGradient(x,T,k+b.sliceOffset,x,T,k+A+b.sliceOffset),_=e.hexToRgb(O),D=e.map(_,function(e){return e*.8>>0}),P=e.rgbToHex(D);M.addColorStop(0,O),M.addColorStop(.5,O),M.addColorStop(1,P),v.fillStyle=M}d.rho=k+b.sliceOffset,d.theta=h;var H=d.getc(!0);d.theta=p;var B=d.getc(!0);d.rho+=A;var j=d.getc(!0);d.theta=h;var F=d.getc(!0);v.beginPath(),v.arc(x,T,k+.01,h,p,!1),v.arc(x,T,k+A+.01,p,h,!0),v.fill(),y&&y.name==a[N]&&(m.acum=k,m.dimValue=i[N],m.begin=h,m.end=p),k+=A||0,L+=s[N]||0}if(y){v.save(),v.globalCompositeOperation="source-over",v.lineWidth=2,v.strokeStyle=y.color;var I=h<p?1:-1;v.beginPath(),v.arc(x,T,m.acum+.01+1,m.begin,m.end,!1),v.arc(x,T,m.acum+m.dimValue+.01-1,m.end,m.begin,!0),v.closePath(),v.stroke(),v.restore()}if(w&&S.type=="Native"){v.save(),v.fillStyle=v.strokeStyle=S.color;var q=E?t.getData("normalizedDim"):1,R=S.size*q>>0;R=R<+E?+E:R,v.font=S.style+" "+R+"px "+S.family,v.textBaseline="middle",v.textAlign="center",d.rho=k+b.labelOffset+b.sliceOffset,d.theta=t.pos.theta;var U=d.getc(!0);v.fillText(t.name,U.x,U.y),v.restore()}}},contains:function(e,t){if(this.nodeTypes.none.anglecontains.call(this,e,t)){var n=Math.sqrt(t.x*t.x+t.y*t.y),r=this.config.levelDistance,i=e._depth,s=e.getData("config");if(n<=r*i+s.sliceOffset){var o=e.getData("dimArray");for(var u=0,a=o.length,f=s.sliceOffset;u<a;u++){var l=o[u];if(n>=f&&n<=f+l)return{name:e.getData("stringArray")[u],color:e.getData("colorArray")[u],value:e.getData("valueArray")[u],label:e.name};f+=l}}return!1}return!1}}}),$jit.PieChart=new t({sb:null,colors:["#416D9C","#70A35E","#EBB056","#C74243","#83548B","#909291","#557EAA"],selected:{},busy:!1,initialize:function(t){this.controller=this.config=e.merge(i("Canvas","PieChart","Label"),{Label:{type:"Native"}},t),this.initializeViz()},initializeViz:function(){var e=this.config,t=this,n=e.type.split(":")[0],r=new $jit.Sunburst({injectInto:e.injectInto,useCanvas:e.useCanvas,withLabels:e.Label.type!="Native",Label:{type:e.Label.type},Node:{overridable:!0,type:"piechart-"+n,width:1,height:1},Edge:{type:"none"},Tips:{enable:e.Tips.enable,type:"Native",force:!0,onShow:function(t,n,r){var i=r;e.Tips.onShow(t,i,n)}},Events:{enable:!0,type:"Native",onClick:function(t,n,r){if(!e.Events.enable)return;var i=n.getContains();e.Events.onClick(i,n,r)},onMouseMove:function(n,r,i){if(!e.hoveredColor)return;if(n){var s=r.getContains();t.select(n.id,s.name,s.index)}else t.select(!1,!1,!1)}},onCreateLabel:function(t,n){var r=e.Label;if(e.showLabels){var i=t.style;i.fontSize=r.size+"px",i.fontFamily=r.family,i.color=r.color,i.textAlign="center",t.innerHTML=n.name}},onPlaceLabel:function(n,r){if(!e.showLabels)return;var i=r.pos.getp(!0),s=r.getData("dimArray"),o=r.getData("span")/2,u=r.pos.theta,a=u-o,f=u+o,c=new l,h=e.showLabels,p=e.resizeLabels,d=e.Label;if(s){for(var v=0,m=s.length,g=0;v<m;v++)g+=s[v];var y=p?r.getData("normalizedDim"):1,b=d.size*y>>0;b=b<+p?+p:b,n.style.fontSize=b+"px",c.rho=g+e.labelOffset+e.sliceOffset,c.theta=(a+f)/2;var i=c.getc(!0),w=t.canvas.getSize(),E={x:Math.round(i.x+w.width/2),y:Math.round(i.y+w.height/2)};n.style.left=E.x+"px",n.style.top=E.y+"px"}}}),i=r.canvas.getSize(),s=Math.min;r.config.levelDistance=s(i.width,i.height)/2-e.offset-e.sliceOffset,this.sb=r,this.canvas=this.sb.canvas,this.canvas.getCt
:function(e,t){if(this.viz.clickedNode&&!e.isDescendantOf(this.viz.clickedNode.id)||e.ignore)return!1;var n=e.pos.getc(!0),r=e.getData("width"),i=this.viz.leaf(e),s=i?e.getData("height"):this.config.titleHeight;return this.nodeHelper.rectangle.contains({x:n.x+r/2,y:n.y+s/2},t,r,s)}}}),E.Plot.EdgeTypes=new t({none:e.empty}),E.SliceAndDice=new t({Implements:[y,a,E.Base,b.TM.SliceAndDice]}),E.Squarified=new t({Implements:[y,a,E.Base,b.TM.Squarified]}),E.Strip=new t({Implements:[y,a,E.Base,b.TM.Strip]}),$jit.RGraph=new t({Implements:[y,a,b.Radial],initialize:function(t){var n=$jit.RGraph,r={interpolation:"linear",levelDistance:100};this.controller=this.config=e.merge(i("Canvas","Node","Edge","Fx","Controller","Tips","NodeStyles","Events","Navigation","Label"),r,t);var s=this.config;s.useCanvas?(this.canvas=s.useCanvas,this.config.labelContainer=this.canvas.id+"-label"):(s.background&&(s.background=e.merge({type:"Circles"},s.background)),this.canvas=new f(this,s),this.config.labelContainer=(typeof s.injectInto=="string"?s.injectInto:s.injectInto.id)+"-label"),this.graphOptions={complex:!1,Node:{selected:!1,exist:!0,drawn:!0}},this.graph=new d(this.graphOptions,this.config.Node,this.config.Edge),this.labels=new n.Label[s.Label.type](this),this.fx=new n.Plot(this,n),this.op=new n.Op(this),this.json=null,this.root=null,this.busy=!1,this.parent=!1,this.initializeExtras()},createLevelDistanceFunc:function(){var e=this.config.levelDistance;return function(t){return(t._depth+1)*e}},refresh:function(){this.compute(),this.plot()},reposition:function(){this.compute("end")},plot:function(){this.fx.plot()},getNodeAndParentAngle:function(e){var t=!1,n=this.graph.getNode(e),r=n.getParents(),i=r.length>0?r[0]:!1;if(i){var s=i.pos.getc(),o=n.pos.getc(),u=s.add(o.scale(-1));t=Math.atan2(u.y,u.x),t<0&&(t+=2*Math.PI)}return{parent:i,theta:t}},tagChildren:function(e,t){if(e.angleSpan){var n=[];e.eachAdjacency(function(e){n.push(e.nodeTo)},"ignore");var r=n.length;for(var i=0;i<r&&t!=n[i].id;i++);for(var s=(i+1)%r,o=0;t!=n[s].id;s=(s+1)%r)n[s].dist=o++}},onClick:function(t,n){if(this.root!=t&&!this.busy){this.busy=!0,this.root=t,that=this,this.controller.onBeforeCompute(this.graph.getNode(t));var r=this.getNodeAndParentAngle(t);this.tagChildren(r.parent,t),this.parent=r.parent,this.compute("end");var i=r.theta-r.parent.endPos.theta;this.graph.eachNode(function(e){e.endPos.set(e.endPos.getp().add(c(i,0)))});var s=this.config.interpolation;n=e.merge({onComplete:e.empty},n||{}),this.fx.animate(e.merge({hideLabels:!0,modes:[s]},n,{onComplete:function(){that.busy=!1,n.onComplete()}}))}}}),$jit.RGraph.$extend=!0,function(n){n.Op=new t({Implements:d.Op}),n.Plot=new t({Implements:d.Plot}),n.Label={},n.Label.Native=new t({Implements:d.Label.Native}),n.Label.SVG=new t({Implements:d.Label.SVG,initialize:function(e){this.viz=e},placeLabel:function(e,t,n){var r=t.pos.getc(!0),i=this.viz.canvas,s=i.translateOffsetX,o=i.translateOffsetY,u=i.scaleOffsetX,a=i.scaleOffsetY,f=i.getSize(),l={x:Math.round(r.x*u+s+f.width/2),y:Math.round(r.y*a+o+f.height/2)};e.setAttribute("x",l.x),e.setAttribute("y",l.y),n.onPlaceLabel(e,t)}}),n.Label.HTML=new t({Implements:d.Label.HTML,initialize:function(e){this.viz=e},placeLabel:function(e,t,n){var r=t.pos.getc(!0),i=this.viz.canvas,s=i.translateOffsetX,o=i.translateOffsetY,u=i.scaleOffsetX,a=i.scaleOffsetY,f=i.getSize(),l={x:Math.round(r.x*u+s+f.width/2),y:Math.round(r.y*a+o+f.height/2)},c=e.style;c.left=l.x+"px",c.top=l.y+"px",c.display=this.fitsInCanvas(l,i)?"":"none",n.onPlaceLabel(e,t)}}),n.Plot.NodeTypes=new t({none:{render:e.empty,contains:e.lambda(!1)},circle:{render:function(e,t){var n=e.pos.getc(!0),r=e.getData("dim");this.nodeHelper.circle.render("fill",n,r,t)},contains:function(e,t){var n=e.pos.getc(!0),r=e.getData("dim");return this.nodeHelper.circle.contains(n,t,r)}},ellipse:{render:function(e,t){var n=e.pos.getc(!0),r=e.getData("width"),i=e.getData("height");this.nodeHelper.ellipse.render("fill",n,r,i,t)},contains:function(e,t){var n=e.pos.getc(!0),r=e.getData("width"),i=e.getData("height");return this.nodeHelper.e
.pressed=!0,!MetamapsModel.boxStartCoordinates&&e.shiftKey&&(MetamapsModel.boxStartCoordinates=n.getPos()),MetamapsModel.didPan=!1,this.pos=n.getPos();var r=this.canvas,i=r.translateOffsetX,s=r.translateOffsetY,o=r.scaleOffsetX,u=r.scaleOffsetY;this.pos.x*=o,this.pos.x+=i,this.pos.y*=u,this.pos.y+=s},onMouseMove:function(e,t,n){if(!this.config.panning)return;if(!this.pressed)return;if(this.config.panning=="avoid nodes"&&n.getNode())return;if(!MetamapsModel.boxStartCoordinates&&e.shiftKey){Mconsole.busy=!0,MetamapsModel.boxStartCoordinates=n.getPos();return}if(MetamapsModel.boxStartCoordinates&&e.shiftKey){Mconsole.busy=!0,drawSelectBox(n,e);return}if(e.target.id!="infovis-canvas"){this.pressed=!1;return}MetamapsModel.didPan=!0;var r=this.pos,i=n.getPos(),s=this.canvas,o=s.translateOffsetX,u=s.translateOffsetY,a=s.scaleOffsetX,f=s.scaleOffsetY;i.x*=a,i.y*=f,i.x+=o,i.y+=u;var l=i.x-r.x,c=i.y-r.y;this.pos=i,this.canvas.translate(l*1/a,c*1/f)},onMouseUp:function(e,t,n,r){if(!this.config.panning)return;this.pressed=!1}});var f;(function(){function i(t,n){var i=document.createElement(t);for(var s in n)typeof n[s]=="object"?e.extend(i[s],n[s]):i[s]=n[s];return t=="canvas"&&!r&&G_vmlCanvasManager&&(i=G_vmlCanvasManager.initElement(document.body.appendChild(i))),i}var n=typeof HTMLCanvasElement,r=n=="object"||n=="function";$jit.Canvas=f=new t({canvases:[],pos:!1,element:!1,labelContainer:!1,translateOffsetX:0,translateOffsetY:0,scaleOffsetX:1,scaleOffsetY:1,initialize:function(t,n){this.viz=t,this.opt=n;var r=e.type(n.injectInto)=="string"?n.injectInto:n.injectInto.id,s=r+"-label",o=e(r),u=n.width||o.offsetWidth,a=n.height||o.offsetHeight;this.id=r;var l={injectInto:r,width:u,height:a};this.element=i("div",{id:r+"-canvaswidget",style:{position:"relative",width:u+"px",height:a+"px"}}),this.labelContainer=this.createLabelContainer(n.Label.type,s,l),this.canvases.push(new f.Base({config:e.extend({idSuffix:"-canvas"},l),plot:function(e){t.fx.plot()},resize:function(){t.refresh()}}));var c=n.background;if(c){var h=new f.Background[c.type](t,e.extend(c,l));this.canvases.push(new f.Base(h))}var p=this.canvases.length;while(p--)this.element.appendChild(this.canvases[p].canvas),p>0&&this.canvases[p].plot();this.element.appendChild(this.labelContainer),o.appendChild(this.element);var d=null,v=this;e.addEvent(window,"scroll",function(){clearTimeout(d),d=setTimeout(function(){v.getPos(!0)},500)})},getCtx:function(e){return this.canvases[e||0].getCtx()},getConfig:function(){return this.opt},getElement:function(){return this.element},getSize:function(e){return this.canvases[e||0].getSize()},resize:function(e,t){this.getPos(!0),this.translateOffsetX=this.translateOffsetY=0,this.scaleOffsetX=this.scaleOffsetY=1;for(var n=0,r=this.canvases.length;n<r;n++)this.canvases[n].resize(e,t);var i=this.element.style;i.width=e+"px",i.height=t+"px",this.labelContainer&&(this.labelContainer.style.width=e+"px")},translate:function(e,t,n){this.translateOffsetX+=e*this.scaleOffsetX,this.translateOffsetY+=t*this.scaleOffsetY;for(var r=0,i=this.canvases.length;r<i;r++)this.canvases[r].translate(e,t,n)},scale:function(e,t,n){var r=this.scaleOffsetX*e,i=this.scaleOffsetY*t,s=this.translateOffsetX*(e-1)/r,o=this.translateOffsetY*(t-1)/i;this.scaleOffsetX=r,this.scaleOffsetY=i;for(var u=0,a=this.canvases.length;u<a;u++)this.canvases[u].scale(e,t,!0);this.translate(s,o,!1)},getPos:function(t){return t||!this.pos?this.pos=e.getPos(this.getElement()):this.pos},clear:function(e){this.canvases[e||0].clear()},path:function(e,t){var n=this.canvases[0].getCtx();n.beginPath(),t(n),n[e](),n.closePath()},createLabelContainer:function(e,t,n){var r="http://www.w3.org/2000/svg";if(e=="HTML"||e=="Native")return i("div",{id:t,style:{overflow:"visible",position:"absolute",top:0,left:0,width:n.width+"px",height:0}});if(e=="SVG"){var s=document.createElementNS(r,"svg:svg");s.setAttribute("width",n.width),s.setAttribute("height",n.height);var o=s.style;o.position="absolute",o.left=o.top="0px";var u=document.createElementNS(r,"svg:g");return u.setAttribute("width",n.width),u.setAttribut
t.getLabelData("textBaseline"),r.fillStyle="rgba(255, 255, 255, 0.7)";var s=5,o=16+s,u=o/2,a=r.measureText(t.name).width+2*s-2*u,f=i.x-a/2-s+u/2,l=i.y+t.getData("height");r.fillRect(f,l,a,o),r.beginPath(),r.arc(f,l+u,u,.5*Math.PI,1.5*Math.PI,!1),r.closePath(),r.fill(),r.beginPath(),r.arc(f+a,l+u,u,1.5*Math.PI,.5*Math.PI,!1),r.closePath(),r.fill(),r.fillStyle=r.strokeStyle=t.getLabelData("color"),this.renderLabel(e,t,n)},renderLabel:function(e,t,n){var r=e.getCtx(),i=t.pos.getc(!0);r.fillText(t.name,i.x,i.y+t.getData("height"))},hideLabel:e.empty,hideLabels:e.empty}),d.Label.DOM=new t({labelsHidden:!1,labelContainer:!1,labels:{},getLabelContainer:function(){return this.labelContainer?this.labelContainer:this.labelContainer=document.getElementById(this.viz.config.labelContainer)},getLabel:function(e){return e in this.labels&&this.labels[e]!=null?this.labels[e]:this.labels[e]=document.getElementById(e)},hideLabels:function(e){var t=this.getLabelContainer();e?t.style.display="none":t.style.display="",this.labelsHidden=e},clearLabels:function(e){for(var t in this.labels)if(e||!this.viz.graph.hasNode(t))this.disposeLabel(t),delete this.labels[t]},disposeLabel:function(e){var t=this.getLabel(e);t&&t.parentNode&&t.parentNode.removeChild(t)},hideLabel:function(t,n){t=e.splat(t);var r=n?"":"none",i,s=this;e.each(t,function(e){var t=s.getLabel(e.id);t&&(t.style.display=r)})},fitsInCanvas:function(e,t){var n=t.getSize();return e.x>=n.width||e.x<0||e.y>=n.height||e.y<0?!1:!0}}),d.Label.HTML=new t({Implements:d.Label.DOM,plotLabel:function(e,t,n){var r=t.id,i=this.getLabel(r);if(!i&&!(i=document.getElementById(r))){i=document.createElement("div");var s=this.getLabelContainer();i.id=r,i.className="node",i.style.position="absolute",n.onCreateLabel(i,t),s.appendChild(i),this.labels[t.id]=i}this.placeLabel(i,t,n)}}),d.Label.SVG=new t({Implements:d.Label.DOM,plotLabel:function(e,t,n){var r=t.id,i=this.getLabel(r);if(!i&&!(i=document.getElementById(r))){var s="http://www.w3.org/2000/svg";i=document.createElementNS(s,"svg:text");var o=document.createElementNS(s,"svg:tspan");i.appendChild(o);var u=this.getLabelContainer();i.setAttribute("id",r),i.setAttribute("class","node"),u.appendChild(i),n.onCreateLabel(i,t),this.labels[t.id]=i}this.placeLabel(i,t,n)}}),d.Geom=new t({initialize:function(e){this.viz=e,this.config=e.config,this.node=e.config.Node,this.edge=e.config.Edge},translate:function(t,n){n=e.splat(n),this.viz.graph.eachNode(function(r){e.each(n,function(e){r.getPos(e).$add(t)})})},setRightLevelToShow:function(t,n,r){var i=this.getRightLevelToShow(t,n),s=this.viz.labels,o=e.merge({execShow:!0,execHide:!0,onHide:e.empty,onShow:e.empty},r||{});t.eachLevel(0,this.config.levelsToShow,function(e){var n=e._depth-t._depth;n>i?(o.onHide(e),o.execHide&&(e.drawn=!1,e.exist=!1,s.hideLabel(e,!1))):(o.onShow(e),o.execShow&&(e.exist=!0))}),t.drawn=!0},getRightLevelToShow:function(e,t){var n=this.config,r=n.levelsToShow,i=n.constrained;if(!i)return r;while(!this.treeFitsInCanvas(e,t,r)&&r>1)r--;return r}});var y={construct:function(t){var n=e.type(t)=="array",r=new d(this.graphOptions,this.config.Node,this.config.Edge,this.config.Label);return n?function(t,n){var r=function(e){for(var r=0,i=n.length;r<i;r++)if(n[r].id==e)return n[r];var s={id:e,name:e};return t.addNode(s)};for(var i=0,s=n.length;i<s;i++){t.addNode(n[i]);var o=n[i].adjacencies;if(o)for(var u=0,a=o.length;u<a;u++){var f=o[u],l={};typeof o[u]!="string"&&(l=e.merge(f.data,{}),f=f.nodeTo),t.addAdjacence(n[i],r(f),l)}}}(r,t):function(e,t){e.addNode(t);if(t.children)for(var n=0,r=t.children;n<r.length;n++)e.addAdjacence(t,r[n]),arguments.callee(e,r[n])}(r,t),r},loadJSON:function(t,n){this.json=t,this.labels&&this.labels.clearLabels&&this.labels.clearLabels(!0),this.graph=this.construct(t),e.type(t)!="array"?this.root=t.id:this.root=t[n?n:0].id},toJSON:function(e){e=e||"tree";if(e=="tree"){var t={},n=this.graph.getNode(this.root),t=function i(e){var t={};t.id=e.id,t.name=e.name,t.data=e.data;var n=[];return e.eachSubnode(function(e){n.push(i(e))}),t.children=n,t}(n);return t}var t=[],r=!!t
v(e)+"};"}function y(e){return'_.b(_.rp("'+p(e.n)+'",c,p,"'+(e.indent||"")+'"));'}function b(e,t){return"_.b(_.t(_."+t+'("'+p(e)+'",c,p,0)));'}function w(e,t){return"_.b(_.v(_."+t+'("'+p(e)+'",c,p,0)));'}function E(e){return"_.b("+e+");"}var t=/\S/,n=/\"/g,r=/\n/g,i=/\r/g,s=/\\/g,o={"#":1,"^":2,"/":3,"!":4,">":5,"<":6,"=":7,_v:8,"{":9,"&":10};e.scan=function(n,r){function S(){v.length>0&&(m.push(new String(v)),v="")}function x(){var e=!0;for(var n=b;n<m.length;n++){e=m[n].tag&&o[m[n].tag]<o._v||!m[n].tag&&m[n].match(t)===null;if(!e)return!1}return e}function T(e,t){S();if(e&&x())for(var n=b,r;n<m.length;n++)m[n].tag||((r=m[n+1])&&r.tag==">"&&(r.indent=m[n].toString()),m.splice(n,1));else t||m.push({tag:"\n"});g=!1,b=m.length}function N(e,t){var n="="+E,r=e.indexOf(n,t),i=a(e.substring(e.indexOf("=",t)+1,r)).split(" ");return w=i[0],E=i[1],r+n.length-1}var i=n.length,s=0,l=1,c=2,h=s,p=null,d=null,v="",m=[],g=!1,y=0,b=0,w="{{",E="}}";r&&(r=r.split(" "),w=r[0],E=r[1]);for(y=0;y<i;y++)h==s?f(w,n,y)?(--y,S(),h=l):n.charAt(y)=="\n"?T(g):v+=n.charAt(y):h==l?(y+=w.length-1,d=o[n.charAt(y+1)],p=d?n.charAt(y+1):"_v",p=="="?(y=N(n,y),h=s):(d&&y++,h=c),g=y):f(E,n,y)?(m.push({tag:p,n:a(v),otag:w,ctag:E,i:p=="/"?g-E.length:y+w.length}),v="",y+=E.length-1,h=s,p=="{"&&(E=="}}"?y++:u(m[m.length-1]))):v+=n.charAt(y);return T(g,!0),m},e.generate=function(t,n,r){var i='var _=this;_.b(i=i||"");'+v(t)+"return _.fl();";return r.asString?"function(c,p,i){"+i+";}":new e.Template(new Function("c","p","i",i),n,e,r)},e.parse=function(e,t,n){return n=n||{},l(e,"",[],n.sectionTags||[])},e.cache={},e.compile=function(e,t){t=t||{};var n=e+"||"+!!t.asString,r=this.cache[n];return r?r:(r=this.generate(this.parse(this.scan(e,t.delimiters),e,t),e,t),this.cache[n]=r)}}(typeof exports!="undefined"?exports:Hogan),function(){}.call(this),function(){}.call(this),function(){window.app.addTopicToMap=function(e){var t,n;return Mconsole.graph.addNode(e),n=Mconsole.graph.getNode(e.id),n.setData("dim",1,"start"),n.setData("dim",25,"end"),t=new $jit.Complex,t.x=n.data.$xloc,t.y=n.data.$yloc,n.setPos(t,"start"),n.setPos(t,"current"),n.setPos(t,"end"),Mconsole.fx.plotNode(n,Mconsole.canvas),Mconsole.labels.plotLabel(Mconsole.canvas,n,Mconsole.config)},window.app.updateTopicOnMap=function(e){var t,n;return n=Mconsole.graph.getNode(e.id),n.data=e.data,n.name=e.name,$("#topic_"+e.id+"_label").find(".label").html(e.name),MetamapsModel.showcardInUse===e.id&&populateShowCard(n),t=new $jit.Complex,t.x=n.data.$xloc,t.y=n.data.$yloc,n.setPos(t,"start"),n.setPos(t,"current"),n.setPos(t,"end"),Mconsole.fx.animate({modes:["linear","node-property:dim","edge-property:lineWidth"],transition:$jit.Trans.Quad.easeInOut,duration:500})},window.app.addSynapseToMap=function(e){var t,n,r;return t=Mconsole.graph.getNode(e.data.$direction[0]),n=Mconsole.graph.getNode(e.data.$direction[1]),Mconsole.graph.addAdjacence(t,n,{}),r=Mconsole.graph.getAdjacence(t.id,n.id),r.setDataset("start",{lineWidth:.4}),r.setDataset("end",{lineWidth:2}),r.data=e.data,Mconsole.fx.plotLine(r,Mconsole.canvas),Mconsole.fx.animate({modes:["linear","node-property:dim","edge-property:lineWidth"],transition:$jit.Trans.Quad.easeInOut,duration:500})},window.app.updateSynapseOnMap=function(e){var t,n,r,i,s;n=Mconsole.graph.getAdjacence(e.data.$direction[0],e.data.$direction[1]),i=n.data.$showDesc,s=e.data;for(t in s)r=s[t],n.data[t]=r;return n.data.$showDesc=i,MetamapsModel.edgecardInUse===e.data.$id&&editEdge(n,!1),Mconsole.plot()}}.call(this),function(){}.call(this),function(){window.app.realtime={connect:function(){}}}.call(this),function(e,t){function n(t,n){var i=t.nodeName.toLowerCase();if("area"===i){var s=t.parentNode,o=s.name,u;return!t.href||!o||s.nodeName.toLowerCase()!=="map"?!1:(u=e("img[usemap=#"+o+"]")[0],!!u&&r(u))}return(/input|select|textarea|button|object/.test(i)?!t.disabled:"a"==i?t.href||n:n)&&r(t)}function r(t){return!e(t).parents().andSelf().filter(function(){return e.curCSS(this,"visibility")==="hidden"||e.expr.filters.hidden(this)}).length}e.ui=e.ui||{};if(e.ui.version)return;e.extend(e.ui,{version
).scrollTop())<i.scrollSensitivity&&(s=e(document).scrollTop(e(document).scrollTop()+i.scrollSpeed));if(!i.axis||i.axis!="y")t.pageX-e(document).scrollLeft()<i.scrollSensitivity?s=e(document).scrollLeft(e(document).scrollLeft()-i.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<i.scrollSensitivity&&(s=e(document).scrollLeft(e(document).scrollLeft()+i.scrollSpeed))}s!==!1&&e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(r,t)}}),e.ui.plugin.add("draggable","snap",{start:function(t,n){var r=e(this).data("draggable"),i=r.options;r.snapElements=[],e(i.snap.constructor!=String?i.snap.items||":data(draggable)":i.snap).each(function(){var t=e(this),n=t.offset();this!=r.element[0]&&r.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:n.top,left:n.left})})},drag:function(t,n){var r=e(this).data("draggable"),i=r.options,s=i.snapTolerance,o=n.offset.left,u=o+r.helperProportions.width,f=n.offset.top,l=f+r.helperProportions.height;for(var c=r.snapElements.length-1;c>=0;c--){var h=r.snapElements[c].left,p=h+r.snapElements[c].width,d=r.snapElements[c].top,v=d+r.snapElements[c].height;if(!(h-s<o&&o<p+s&&d-s<f&&f<v+s||h-s<o&&o<p+s&&d-s<l&&l<v+s||h-s<u&&u<p+s&&d-s<f&&f<v+s||h-s<u&&u<p+s&&d-s<l&&l<v+s)){r.snapElements[c].snapping&&r.options.snap.release&&r.options.snap.release.call(r.element,t,e.extend(r._uiHash(),{snapItem:r.snapElements[c].item})),r.snapElements[c].snapping=!1;continue}if(i.snapMode!="inner"){var m=Math.abs(d-l)<=s,g=Math.abs(v-f)<=s,y=Math.abs(h-u)<=s,b=Math.abs(p-o)<=s;m&&(n.position.top=r._convertPositionTo("relative",{top:d-r.helperProportions.height,left:0}).top-r.margins.top),g&&(n.position.top=r._convertPositionTo("relative",{top:v,left:0}).top-r.margins.top),y&&(n.position.left=r._convertPositionTo("relative",{top:0,left:h-r.helperProportions.width}).left-r.margins.left),b&&(n.position.left=r._convertPositionTo("relative",{top:0,left:p}).left-r.margins.left)}var w=m||g||y||b;if(i.snapMode!="outer"){var m=Math.abs(d-f)<=s,g=Math.abs(v-l)<=s,y=Math.abs(h-o)<=s,b=Math.abs(p-u)<=s;m&&(n.position.top=r._convertPositionTo("relative",{top:d,left:0}).top-r.margins.top),g&&(n.position.top=r._convertPositionTo("relative",{top:v-r.helperProportions.height,left:0}).top-r.margins.top),y&&(n.position.left=r._convertPositionTo("relative",{top:0,left:h}).left-r.margins.left),b&&(n.position.left=r._convertPositionTo("relative",{top:0,left:p-r.helperProportions.width}).left-r.margins.left)}!r.snapElements[c].snapping&&(m||g||y||b||w)&&r.options.snap.snap&&r.options.snap.snap.call(r.element,t,e.extend(r._uiHash(),{snapItem:r.snapElements[c].item})),r.snapElements[c].snapping=m||g||y||b||w}}}),e.ui.plugin.add("draggable","stack",{start:function(t,n){var r=e(this).data("draggable").options,i=e.makeArray(e(r.stack)).sort(function(t,n){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(n).css("zIndex"),10)||0)});if(!i.length)return;var s=parseInt(i[0].style.zIndex)||0;e(i).each(function(e){this.style.zIndex=s+e}),this[0].style.zIndex=s+i.length}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,n){var r=e(n.helper),i=e(this).data("draggable").options;r.css("zIndex")&&(i._zIndex=r.css("zIndex")),r.css("zIndex",i.zIndex)},stop:function(t,n){var r=e(this).data("draggable").options;r._zIndex&&e(n.helper).css("zIndex",r._zIndex)}})}(jQuery),jQuery.effects||function(e,t){function n(t){var n;return t&&t.constructor==Array&&t.length==3?t:(n=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(t))?[parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10)]:(n=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(t))?[parseFloat(n[1])*2.55,parseFloat(n[2])*2.55,parseFloat(n[3])*2.55]:(n=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(t))?[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]:(n=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(t))?[parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16)]:(n=/rgba\(0, 0, 0, 0\)/.exec(t))?f.transparent:f[e.trim(t).toLowerCase()]}function r(t,r){
s<o;s++)i[s].apply(this,r)}return!0}}("undefined"!=typeof io?io:module.exports,"undefined"!=typeof io?io:module.parent.exports),function(exports,nativeJSON){"use strict";function f(e){return e<10?"0"+e:e}function date(e,t){return isFinite(e.valueOf())?e.getUTCFullYear()+"-"+f(e.getUTCMonth()+1)+"-"+f(e.getUTCDate())+"T"+f(e.getUTCHours())+":"+f(e.getUTCMinutes())+":"+f(e.getUTCSeconds())+"Z":null}function quote(e){return escapable.lastIndex=0,escapable.test(e)?'"'+e.replace(escapable,function(e){var t=meta[e];return typeof t=="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function str(e,t){var n,r,i,s,o=gap,u,a=t[e];a instanceof Date&&(a=date(e)),typeof rep=="function"&&(a=rep.call(t,e,a));switch(typeof a){case"string":return quote(a);case"number":return isFinite(a)?String(a):"null";case"boolean":case"null":return String(a);case"object":if(!a)return"null";gap+=indent,u=[];if(Object.prototype.toString.apply(a)==="[object Array]"){s=a.length;for(n=0;n<s;n+=1)u[n]=str(n,a)||"null";return i=u.length===0?"[]":gap?"[\n"+gap+u.join(",\n"+gap)+"\n"+o+"]":"["+u.join(",")+"]",gap=o,i}if(rep&&typeof rep=="object"){s=rep.length;for(n=0;n<s;n+=1)typeof rep[n]=="string"&&(r=rep[n],i=str(r,a),i&&u.push(quote(r)+(gap?": ":":")+i))}else for(r in a)Object.prototype.hasOwnProperty.call(a,r)&&(i=str(r,a),i&&u.push(quote(r)+(gap?": ":":")+i));return i=u.length===0?"{}":gap?"{\n"+gap+u.join(",\n"+gap)+"\n"+o+"}":"{"+u.join(",")+"}",gap=o,i}}if(nativeJSON&&nativeJSON.parse)return exports.JSON={parse:nativeJSON.parse,stringify:nativeJSON.stringify};var JSON=exports.JSON={},cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;JSON.stringify=function(e,t,n){var r;gap="",indent="";if(typeof n=="number")for(r=0;r<n;r+=1)indent+=" ";else typeof n=="string"&&(indent=n);rep=t;if(!t||typeof t=="function"||typeof t=="object"&&typeof t.length=="number")return str("",{"":e});throw new Error("JSON.stringify")},JSON.parse=function(text,reviver){function walk(e,t){var n,r,i=e[t];if(i&&typeof i=="object")for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(r=walk(i,n),r!==undefined?i[n]=r:delete i[n]);return reviver.call(e,t,i)}var j;text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),typeof reviver=="function"?walk({"":j},""):j;throw new SyntaxError("JSON.parse")}}("undefined"!=typeof io?io:module.exports,typeof JSON!="undefined"?JSON:undefined),function(e,t){var n=e.parser={},r=n.packets=["disconnect","connect","heartbeat","message","json","event","ack","error","noop"],i=n.reasons=["transport not supported","client not handshaken","unauthorized"],s=n.advice=["reconnect"],o=t.JSON,u=t.util.indexOf;n.encodePacket=function(e){var t=u(r,e.type),n=e.id||"",a=e.endpoint||"",f=e.ack,l=null;switch(e.type){case"error":var c=e.reason?u(i,e.reason):"",h=e.advice?u(s,e.advice):"";if(c!==""||h!=="")l=c+(h!==""?"+"+h:"");break;case"message":e.data!==""&&(l=e.data);break;case"event":var p={name:e.name};e.args&&e.args.length&&(p.args=e.args),l=o.stringify(p);break;case"json":l=o.stringify(e.data);break;case"connect":e.qs&&(l=e.qs);break;case"ack":l=e.ackId+(e.args&&e.args.length?"+"+o.stringify(e.args):"")}var d=[t,n+(f=="data"?"+":""),a];return l!==null&&l!==undefined&&d.push(l),d.join(":")},n.encodePayload=function(e){var t="";if(e.length==1)return e[0];for(var n=0,r=e.length;n<r;n++){var i=e[n];t+="<22>"+i.length+"<22>"+e[n]}return t};var a=/([^:]+):([0-9]+)?(\+)?:([^:]+)?:?([\s\S]*)?/;n.decodePacket=function(e){var t=e.match(a);if(!t)return{
("onload",function(){WebSocket.__initialize()}))})(),function(e,t,n){function r(e){if(!e)return;t.Transport.apply(this,arguments),this.sendBuffer=[]}function i(){}e.XHR=r,t.util.inherit(r,t.Transport),r.prototype.open=function(){return this.socket.setBuffer(!1),this.onOpen(),this.get(),this.setCloseTimeout(),this},r.prototype.payload=function(e){var n=[];for(var r=0,i=e.length;r<i;r++)n.push(t.parser.encodePacket(e[r]));this.send(t.parser.encodePayload(n))},r.prototype.send=function(e){return this.post(e),this},r.prototype.post=function(e){function r(){this.readyState==4&&(this.onreadystatechange=i,t.posting=!1,this.status==200?t.socket.setBuffer(!1):t.onClose())}function s(){this.onload=i,t.socket.setBuffer(!1)}var t=this;this.socket.setBuffer(!0),this.sendXHR=this.request("POST"),n.XDomainRequest&&this.sendXHR instanceof XDomainRequest?this.sendXHR.onload=this.sendXHR.onerror=s:this.sendXHR.onreadystatechange=r,this.sendXHR.send(e)},r.prototype.close=function(){return this.onClose(),this},r.prototype.request=function(e){var n=t.util.request(this.socket.isXDomain()),r=t.util.query(this.socket.options.query,"t="+ +(new Date));n.open(e||"GET",this.prepareUrl()+r,!0);if(e=="POST")try{n.setRequestHeader?n.setRequestHeader("Content-type","text/plain;charset=UTF-8"):n.contentType="text/plain"}catch(i){}return n},r.prototype.scheme=function(){return this.socket.options.secure?"https":"http"},r.check=function(e,r){try{var i=t.util.request(r),s=n.XDomainRequest&&i instanceof XDomainRequest,o=e&&e.options&&e.options.secure?"https:":"http:",u=n.location&&o!=n.location.protocol;if(i&&(!s||!u))return!0}catch(a){}return!1},r.xdomainCheck=function(e){return r.check(e,!0)}}("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports,this),function(e,t){function n(e){t.Transport.XHR.apply(this,arguments)}e.htmlfile=n,t.util.inherit(n,t.Transport.XHR),n.prototype.name="htmlfile",n.prototype.get=function(){this.doc=new(window[["Active"].concat("Object").join("X")])("htmlfile"),this.doc.open(),this.doc.write("<html></html>"),this.doc.close(),this.doc.parentWindow.s=this;var e=this.doc.createElement("div");e.className="socketio",this.doc.body.appendChild(e),this.iframe=this.doc.createElement("iframe"),e.appendChild(this.iframe);var n=this,r=t.util.query(this.socket.options.query,"t="+ +(new Date));this.iframe.src=this.prepareUrl()+r,t.util.on(window,"unload",function(){n.destroy()})},n.prototype._=function(e,t){this.onData(e);try{var n=t.getElementsByTagName("script")[0];n.parentNode.removeChild(n)}catch(r){}},n.prototype.destroy=function(){if(this.iframe){try{this.iframe.src="about:blank"}catch(e){}this.doc=null,this.iframe.parentNode.removeChild(this.iframe),this.iframe=null,CollectGarbage()}},n.prototype.close=function(){return this.destroy(),t.Transport.XHR.prototype.close.call(this)},n.check=function(e){if(typeof window!="undefined"&&["Active"].concat("Object").join("X")in window)try{var n=new(window[["Active"].concat("Object").join("X")])("htmlfile");return n&&t.Transport.XHR.check(e)}catch(r){}return!1},n.xdomainCheck=function(){return!1},t.transports.push("htmlfile")}("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports),function(e,t,n){function r(){t.Transport.XHR.apply(this,arguments)}function i(){}e["xhr-polling"]=r,t.util.inherit(r,t.Transport.XHR),t.util.merge(r,t.Transport.XHR),r.prototype.name="xhr-polling",r.prototype.heartbeats=function(){return!1},r.prototype.open=function(){var e=this;return t.Transport.XHR.prototype.open.call(e),!1},r.prototype.get=function(){function t(){this.readyState==4&&(this.onreadystatechange=i,this.status==200?(e.onData(this.responseText),e.get()):e.onClose())}function r(){this.onload=i,this.onerror=i,e.retryCounter=1,e.onData(this.responseText),e.get()}function s(){e.retryCounter++,!e.retryCounter||e.retryCounter>3?e.onClose():e.get()}if(!this.isOpen)return;var e=this;this.xhr=this.request(),n.XDomainRequest&&this.xhr instanceof XDomainRequest?(this.xhr.onload=r,this.xhr.onerror=s):this.xhr.onreadystatechange=t
$(this).html();$(this).parents(".CardOnGraph").find(".go-link").attr("href",e)}),$("#saveLayout").click(function(e){e.preventDefault(),saveLayoutAll()}),$("body").bind("keyup",function(e){switch(e.which){case 13:enterKeyHandler();break;case 27:escKeyHandler();break;default:}})});