=0||T.fillRect(b,s(-y),1,g-s(-y))}}T.restore()}function f(e){null==e&&(e=o-1);var t=w.valueAt(e);D.datum(t).text(isNaN(t)?null:d)}var m,v,y=this,b=++g,w="function"==typeof l?l.call(y,e,u):l,C="function"==typeof h?h.call(y,e,u):h,_="function"==typeof c?c.call(y,e,u):c,k=-(1/0),S=n.step(),T=d3.select(y).select("canvas"),D=d3.select(y).select(".value"),E=C.length>>1;T.datum({id:b,metric:w}),T=T.node().getContext("2d"),n.on("change.horizon-"+b,p),n.on("focus.horizon-"+b,f),w.on("change.horizon-"+b,function(e,n){p(e,n),f(),v&&w.on("change.horizon-"+b,t)})})}var n=this,i="offset",r=document.createElement("canvas"),o=r.width=n.size(),a=r.height=30,s=d3.scale.linear().interpolate(d3.interpolateRound),l=t,c=null,u=t,d=d3.format(".2s"),h=["#08519c","#3182bd","#6baed6","#bdd7e7","#bae4b3","#74c476","#31a354","#006d2c"];return e.remove=function(e){function t(e){e.metric.on("change.horizon-"+e.id,null),n.on("change.horizon-"+e.id,null),n.on("focus.horizon-"+e.id,null)}e.on("mousemove.horizon",null).on("mouseout.horizon",null),e.selectAll("canvas").each(t).remove(),e.selectAll(".title,.value").remove()},e.mode=function(t){return arguments.length?(i=t+"",e):i},e.height=function(t){return arguments.length?(r.height=a=+t,e):a},e.metric=function(t){return arguments.length?(l=t,e):l},e.scale=function(t){return arguments.length?(s=t,e):s},e.extent=function(t){return arguments.length?(c=t,e):c},e.title=function(t){return arguments.length?(u=t,e):u},e.format=function(t){return arguments.length?(d=t,e):d},e.colors=function(t){return arguments.length?(h=t,e):h},e},m.comparison=function(){function e(e){e.on("mousemove.comparison",function(){n.focus(Math.round(d3.mouse(this)[0]))}).on("mouseout.comparison",function(){n.focus(null)}),e.append("canvas").attr("width",i).attr("height",r),e.append("span").attr("class","title").text(c),e.append("span").attr("class","value primary"),e.append("span").attr("class","value change"),e.each(function(e,c){function v(e,t){D.save(),D.clearRect(0,0,i,r);var a=_.extent(),s=k.extent(),l=null==S?a:S;o.domain(l).range([r,0]),x=a.concat(s).every(isFinite);var c=e/n.step()&1?d:u;D.fillStyle=f[2];for(var h=0,p=i;hv&&D.fillRect(c(h),v,1,g-v)}for(D.fillStyle=f[3],h=0;h
v&&D.fillRect(c(h),g-m,1,m)}D.restore()}function y(e){null==e&&(e=i-1);var t=_.valueAt(e),n=k.valueAt(e),r=(t-n)/n;E.datum(t).text(isNaN(t)?null:h),A.datum(r).text(isNaN(r)?null:p).attr("class","value change "+(r>0?"positive":r<0?"negative":""))}function b(e,n){v(e,n),y(),x&&(_.on("change.comparison-"+C,t),k.on("change.comparison-"+C,t))}var x,w=this,C=++g,_="function"==typeof a?a.call(w,e,c):a,k="function"==typeof s?s.call(w,e,c):s,S="function"==typeof l?l.call(w,e,c):l,T=d3.select(w),D=T.select("canvas"),E=T.select(".value.primary"),A=T.select(".value.change");D.datum({id:C,primary:_,secondary:k}),D=D.node().getContext("2d"),_.on("change.comparison-"+C,b),k.on("change.comparison-"+C,b),n.on("change.comparison-"+C,v),n.on("focus.comparison-"+C,y)})}var n=this,i=n.size(),r=120,o=d3.scale.linear().interpolate(d3.interpolateRound),a=function(e){return e[0]},s=function(e){return e[1]},l=null,c=t,h=C,p=_,f=["#9ecae1","#225b84","#a1d99b","#22723a"],m=1.5;return e.remove=function(e){function t(e){e.primary.on("change.comparison-"+e.id,null),e.secondary.on("change.comparison-"+e.id,null),n.on("change.comparison-"+e.id,null),n.on("focus.comparison-"+e.id,null)}e.on("mousemove.comparison",null).on("mouseout.comparison",null),e.selectAll("canvas").each(t).remove(),e.selectAll(".title,.value").remove()},e.height=function(t){return arguments.length?(r=+t,e):r},e.primary=function(t){return arguments.length?(a=t,e):a},e.secondary=function(t){return arguments.length?(s=t,e):s},e.scale=function(t){return arguments.length?(o=t,e):o},e.extent=function(t){return arguments.length?(l=t,e):l},e.title=function(t){return arguments.length?(c=t,e):c},e.formatPrimary=function(t){return arguments.length?(h=t,e):h},e.formatChange=function(t){return arguments.length?(p=t,e):p},e.colors=function(t){return arguments.length?(f=t,e):f},e.strokeWidth=function(t){return arguments.length?(m=t,e):m},e};var C=d3.format(".2s"),_=d3.format("+.0%");m.axis=function(){function e(r){var a,s=++g,l=r.append("svg").datum({id:s}).attr("width",t.size()).attr("height",Math.max(28,-e.tickSize())).append("g").attr("transform","translate(0,"+("top"===i.orient()?27:4)+")").call(i);t.on("change.axis-"+s,function(){l.call(i),a||(a=d3.select(l.node().appendChild(l.selectAll("text").node().cloneNode(!0))).style("display","none").text(null))}),t.on("focus.axis-"+s,function(e){if(a)if(null==e)a.style("display","none"),l.selectAll("text").style("fill-opacity",null);else{a.style("display",null).attr("x",e).text(o(n.invert(e)));var t=a.node().getComputedTextLength()+6;l.selectAll("text").style("fill-opacity",function(i){return Math.abs(n(i)-e)2&&e.isPlainObject(arguments[arguments.length-1])&&(i=arguments[arguments.length-1],o=arguments.length-1),o>2){for(var a=[],s=2;s0?e[c-1].time:void 0;if(!c||re[0].time+o;)s.unshift(NaN),l-=o;for(;l>=i&&l>=d;){for(;e[u].time>l;)u++;s.unshift(e[u].value),l-=o}for(;l>=i;)s.unshift(NaN),l-=o;if(c>n)if(t){for(var p=e[n].time-t,f=n;fp;)f++;e.length=f}else e.length=n;a(null,s)}}var o={},a=this,s=i(e,n),l=5e3;try{a.on("start",function(){s.start()}),a.on("stop",function(){s.stop()})}catch(e){}return o.metric=function(){var e,t=[],n=arguments.length,i={},o=arguments.length-1,l=arguments[o];"string"==typeof l&&(e=l,n=o),"object"!=typeof l||l.type||(i=l,e=i.name,n=o),e||"function"==typeof arguments[0]||(e=arguments[0].mbean);var c=a.metric(r(t,i.keepDelay,a.width),e);if(i.delta){var u=c.shift(-i.delta);c=c.subtract(u),e&&(c.toString=function(){return e})}if("function"==typeof arguments[0]){for(var d=arguments[0],h=function(e){for(var n=!1,i=0;i0&&m.start(n.updateRate),e.windowJolokia=m,m}var v={isDummy:!0,running:!1,request:function(e,t){return null},register:function(e,t){return null},list:function(e,t){return null},search:function(e,t){return null},getAttribute:function(e,t,n,i){return null},setAttribute:function(e,t,n,i,r){},version:function(e){return null},execute:function(e,t){for(var n=[],i=2;i0?(n[0]=e.substr(0,t),n[1]=e.substr(t+1)):n[0]=e;var i=n[0],r=n[1]||i;d[i]=r;var o=!1,a=i.toLowerCase();"type"===a&&(m=r,h.map[r]&&(o=!0)),"service"===a&&(v=r),o?g.splice(0,0,r):g.push(r)});var y=function(t,n){t.domain=s,t.key||(t.key=i+r+p.join(r)),this.keyToNodeMap[t.key]=t,t.folderNames=_.clone(p);var o="",a=t.entries,c=_.filter(_.keys(a),function(e){return e.toLowerCase().indexOf("type")>=0});if(c.length)angular.forEach(c,function(e){var n=a[e];t.ancestorHasEntry(e,n)||(o+=" "+l+r+n)});else{var u=_.last(p);u===n&&(u+="-folder"),u&&(o+=" "+l+r+u)}return t.addClass=e.escapeTreeCssStyles(o),t},b=g.pop(),x=this;g.forEach(function(e){h=x.folderGetOrElse(h,e),h&&(p.push(e),angular.bind(x,y,h,e)())});var w=i+r+p.join(r)+r+b,C=s+":"+u;if(h){if(h=this.folderGetOrElse(h,b)){h.entries=d,h.key=w,angular.bind(this,y,h,b)(),h.title=e.trimQuotes(b),h.objectName=C,h.mbean=c[u],h.typeName=m;var k=function(e,t){var n=e[t];n||(n={},e[t]=n);var i=n[s];if(i){var r=null;angular.isArray(i)?r=i:(r=[i],n[s]=r),r.push(h)}else n[s]=h};v&&angular.bind(this,k,this.mbeanServicesToDomain,v)(),m&&angular.bind(this,k,this.mbeanTypesToDomain,m)()}}else t.info("No folder found for lastPath: "+b)}}o.sortChildren(!0),this.enableLazyLoading(o),this.tree=o;var S=this.treePostProcessors;_.forIn(S,function(e,n){t.debug("Running tree post processor: ",n),e(o)}),this.maybeMonitorPlugins();var T=this.$rootScope;T&&(T.$broadcast("jmxTreeUpdated"),e.$apply(T))},n.prototype.enableLazyLoading=function(e){var t=this,n=e.children;if(n&&n.length)angular.forEach(n,function(e){t.enableLazyLoading(e)});else{var i=Jmx.findLazyLoadingFunction(this,e);i&&(e.isLazy=!0)}},n.prototype.hash=function(){var t=this.$location.search(),n=e.hashToString(t);return n?"?"+n:""},n.prototype.getActiveTab=function(){var e=this;return this.topLevelTabs.find(function(t){return angular.isDefined(t.isActive)?t.isActive(e):e.isLinkActive(t.href())})},n.prototype.getStrippedPathName=function(){var t=e.trimLeading(this.$location.path()||"/","#");return t=t.replace(/^\//,"")},n.prototype.linkContains=function(){for(var e=[],t=0;t=0&&(i=i.substring(0,r)),n.length?_.startsWith(n,i):i===n},n.prototype.isLinkPrefixActive=function(t){var n=this.getStrippedPathName(),i=e.trimLeading(t,"#");i=i.replace(/^\//,"");var r=i.indexOf("?");return r>=0&&(i=i.substring(0,r)),_.startsWith(n,i)},n.prototype.isTopTabActive=function(e){var t=this.$location.search().tab;return angular.isString(t)?t.startsWith(e):this.isLinkActive(e)},n.prototype.getSelectedMBeanName=function(){var e=this.selection;return e?e.objectName:null},n.prototype.getSelectedMBean=function(){if(this.selection)return this.selection;t.debug("Location: ",this.$location);var e=this.$location.search().nid;if(e&&this.tree){var n=this.tree.findDescendant(function(t){return e===t.id});return this.selection||(this.selection=n),n}return null},n.prototype.validSelection=function(e){return!0},n.prototype.removeAndSelectParentNode=function(){var e=this.selection;if(e){var t=e.parent;if(t){var n=t.children.indexOf(e);n<0&&(n=_.findIndex(t.children,function(t){return t.key===e.key})),n>=0&&t.children.splice(n,1),this.updateSelectionNode(t)}}},n.prototype.selectParentNode=function(){var e=this.selection;if(e){var t=e.parent;t&&this.updateSelectionNode(t)}},n.prototype.selectionViewConfigKey=function(){return this.selectionConfigKey("view/")},n.prototype.selectionConfigKey=function(e){void 0===e&&(e="");var t=null,n=this.selection;if(n){t=e+n.domain;var i=n.typeName;i||(i=n.title),t+="/"+i,n.isFolder()&&(t+="/folder")}return t},n.prototype.moveIfViewInvalid=function(){var n=this,i=e.trimLeading(this.$location.path(),"/");if(this.selection){var r=this.selectionViewConfigKey();if(this.validSelection(i))return this.setLocalStorage(r,i),!1;t.info("the uri '"+i+"' is not valid for this selection");var o=this.getLocalStorage(r);return o&&this.validSelection(o)||(o=null,angular.forEach(this.subLevelTabs,function(e){var t=e.isValid;!o&&e.href&&angular.isDefined(t)&&t(n)&&(o=e.href())})),o||(o="#/jmx/help"),t.info("moving the URL to be "+o),o.startsWith("#")&&(o=o.substring(1)),this.$location.path(o),!0}return!1},n.prototype.updateSelectionNode=function(e){this.selection;this.selection=e;var t=null;if(e&&(t=e.key),t){var n=this.$location,i=n.search();i.nid=t,n.search(i)}},n.prototype.redrawTree=function(){var e=this.treeElement;if(e&&angular.isDefined(e.dynatree)&&angular.isFunction(e.dynatree)){var t=e.dynatree("getTree");if(angular.isDefined(t))try{t.reload()}catch(e){}}},n.prototype.expandSelection=function(e){var t=this.treeElement;if(t&&angular.isDefined(t.dynatree)&&angular.isFunction(t.dynatree)){var n=t.dynatree("getActiveNode");angular.isDefined(n)&&n.expand(e)}},n.prototype.matchesProperties=function(e,t){if(!e)return!1;for(var n in t){var i=t[n];if(!i||e[n]!==i)return!1}return!0},n.prototype.hasInvokeRightsForName=function(n){for(var i=[],r=1;r0)){var s=a.opByString,l=a.op;s&&l&&n.forEach(function(e){if(r){var n=null;return(n=_.endsWith(e,")")?s[e]:l[e])?void(angular.isDefined(n.canInvoke)&&(r=n.canInvoke)):void t.debug("Could not find method:",e," to check permissions, skipping")}})}}return r},n.prototype.treeContainsDomainAndProperties=function(e,t){var n=this;void 0===t&&(t=null);var i=this,r=i.tree;if(r){var o=r.get(e);if(o){if(t){var a=o.children||[],s=function(i){return!!n.matchesProperties(i.entries,t)||!!(i.domain===e&&i.children&&i.children.length>0)&&i.children.some(s)};return a.some(s)}return!0}}return!1},n.prototype.matches=function(e,t,n){if(e){var i=e.entries;if(t){if(!i)return!1;for(var r in t){var o=t[r];if(!o||i[r]!==o)return!1}}return!n||i&&Object.keys(i).length===n}return!1},n.prototype.hasDomainAndProperties=function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=null);var i=this.selection;return!!i&&(this.matches(i,t,n)&&i.domain===e)},n.prototype.findMBeanWithProperties=function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=null);var i=this.tree;return i?this.findChildMBeanWithProperties(i.get(e),t,n):null},n.prototype.findChildMBeanWithProperties=function(e,t,n){var i=this;void 0===t&&(t=null),void 0===n&&(n=null);var r=this;if(e){var o=e.children;if(o){var a=o.find(function(e){return i.matches(e,t,n)});return a?a:o.map(function(e){return r.findChildMBeanWithProperties(e,t,n)}).find(function(e){return e})}}return null},n.prototype.selectionHasDomainAndLastFolderName=function(e,t){function n(e){return(e||"").toLowerCase()===i}var i=(t||"").toLowerCase(),r=this.selection;if(r&&e===r.domain){var o=r.folderNames;if(o){var a=_.last(o);return(n(a)||n(r.title))&&r.isFolder()&&!r.objectName}}return!1},n.prototype.selectionHasDomain=function(e){var t=this.selection;return!!t&&e===t.domain},n.prototype.selectionHasDomainAndType=function(e,t){var n=this.selection;return!!n&&(e===n.domain&&t===n.typeName)},n.prototype.hasMBeans=function(){var e=!1,t=this.tree;if(t){var n=t.children;angular.isArray(n)&&n.length>0&&(e=!0)}return e},n.prototype.hasFabricMBean=function(){return this.hasDomainAndProperties("io.fabric8",{type:"Fabric"})},n.prototype.isFabricFolder=function(){return this.hasDomainAndProperties("io.fabric8")},n.prototype.isCamelContext=function(){return this.hasDomainAndProperties("org.apache.camel",{type:"context"})},n.prototype.isCamelFolder=function(){return this.hasDomainAndProperties("org.apache.camel")},n.prototype.isEndpointsFolder=function(){return this.selectionHasDomainAndLastFolderName("org.apache.camel","endpoints")},n.prototype.isEndpoint=function(){return this.hasDomainAndProperties("org.apache.camel",{type:"endpoints"})},n.prototype.isRoutesFolder=function(){return this.selectionHasDomainAndLastFolderName("org.apache.camel","routes")},n.prototype.isRoute=function(){return this.hasDomainAndProperties("org.apache.camel",{type:"routes"})},n.prototype.isComponentsFolder=function(){return this.selectionHasDomainAndLastFolderName("org.apache.camel","components")},n.prototype.isComponent=function(){return this.hasDomainAndProperties("org.apache.camel",{type:"components"})},n.prototype.isDataformatsFolder=function(){return this.selectionHasDomainAndLastFolderName("org.apache.camel","dataformats")},n.prototype.isDataformat=function(){return this.hasDomainAndProperties("org.apache.camel",{type:"dataformats"})},n.prototype.isOsgiFolder=function(){return this.hasDomainAndProperties("osgi.core")},n.prototype.isKarafFolder=function(){return this.hasDomainAndProperties("org.apache.karaf")},n.prototype.isOsgiCompendiumFolder=function(){return this.hasDomainAndProperties("osgi.compendium")},n}();e.Workspace=n}(Core||(Core={}));var Workspace=function(e){function t(){e.apply(this,arguments)}return __extends(t,e),t}(Core.Workspace),Core;!function(e){function t(e,t,n){if(e){var i=e.mbeanTypesToDomain||{},r=i[n]||{},o=r[t];return angular.isArray(o)&&o.length?o[0]:o}return null}function n(t,n,i){var r=e.getMBeanTypeFolder(t,n,i);return e.pathGet(r,["objectName"])}function i(t,n,i,r,o,a,s,l){void 0===r&&(r=null),void 0===o&&(o=null),void 0===a&&(a=null),void 0===s&&(s=null),void 0===l&&(l=null);var c={xhr:null},u=e.lazyLoaders,d=new e.Workspace(t,c,u,n,o,a,i,r,s,l);return e.log.info("Loading the profile using jolokia: "+t),d.loadTree(),d}e.getMBeanTypeFolder=t,e.getMBeanTypeObjectName=n,e.createRemoteWorkspace=i}(Core||(Core={}));var Jmx;!function(e){function t(e,t,n,i){var r=new URI(e);return r.segment(t).segment(n).segment(i),r.toString()}function n(e,t,n,i){void 0===i&&(i="jmx");var r=e.id(i+"-attributes").title(function(){return' Attributes'}).tooltip(function(){return"List the attributes on the MBean"}).href(function(){return"/jmx/attributes"+t.hash()}).build(),o=e.id(i+"-operations").title(function(){return' Operations'}).tooltip(function(){return"List the operations on the MBean"}).href(function(){return"/jmx/operations"+t.hash()}).build(),a=e.id(i+"-chart").title(function(){return' Charts'}).tooltip(function(){return"Real time chart of the attributes from the MBean"}).href(function(){return"/jmx/charts"+t.hash()}).build(),s=e.id(i+"-edit-chart").title(function(){return' Edit Chart'}).tooltip(function(){return"Edit the chart to choose which attributes to show from the MBean"}).href(function(){return"/jmx/chartEdit"+t.hash()}).build(),l=e.id(i+"-add-dashboard").title(function(){return' '}).tooltip(function(){return"Add current view to dashboard"}).attributes({class:"pull-right"}).show(function(){if(!HawtioCore.injector)return!0;var e=HawtioCore.injector.get("HawtioDashboard");return e&&e.hasDashboard}).click(function(){if(HawtioCore.injector){var e=HawtioCore.injector.get("HawtioDashboard");if(e){var n=2,i=2,r=t.getSelectedMBeanName(),o=t.$location;o.path().has("/jmx/charts")&&(n=4,i=3);var a=e.getAddLink(r,n,i);t.$location.url(a.toString()),Core.$apply(t.$rootScope)}return!1}}).href(function(){return""}).build();return s.show=function(){return t.isLinkActive("jmx/chart")},[r,o,a,s,l]}function i(e,t){var n=e.jmxTreeLazyLoadRegistry[t.domain],i=null;return n&&n.length&&angular.forEach(n,function(e){i||(i=e(t))}),i}function r(e,t){Core.lazyLoaders||(Core.lazyLoaders={});var n=Core.lazyLoaders[e];n||(n=[],Core.lazyLoaders[e]=n),n.push(t)}function o(e,t){if(Core.lazyLoaders){var n=Core.lazyLoaders[e];n&&n.remove(t)}}function a(e,t,n){var i=h[t];i||(i=[],h[t]=i),i.push(n)}function s(t,n){n||(n=UrlHelpers.join(e.templatePath,"attributeToolBar.html"));var i=null,r=t?t.domain:null;if(r){var o=h[r];if(o)for(var a=0;a
{{row.entity.name}} '},{field:"value",displayName:"Value",width:"70%",cellTemplate:'
'}],e.foldersColumnDefs=[{displayName:"Name",cellTemplate:''}],e.AttributesController=e._module.controller("Jmx.AttributesController",["$scope","$element","$location","workspace","jolokia","jolokiaUrl","jmxWidgets","jmxWidgetTypes","$templateCache","localStorage","$browser","HawtioDashboard",function(t,n,i,r,o,a,s,l,c,u,d,h){function p(){f()}function f(){Core.unregister(o,t),t.gridData?t.gridData.length=0:t.gridData=[],t.mbeanIndex=null;var n=r.getSelectedMBeanName(),a=null,s=r.getSelectedMBean();if(null===s||angular.isUndefined(s)||s.key!==t.lastKey){if(t.attributesInfoCache=null,null==n){var l=i.search().nid,c=r.keyToNodeMap[l];c&&(n=c.objectName)}if(n){var u=function(e){var t=Core.escapeMBeanPath(e),n={type:"LIST",method:"post",path:t,ignoreErrors:!0};return n},d=u(n);o.request(d,Core.onSuccess(function(i){t.attributesInfoCache=i.value,e.log.debug("Updated attributes info cache for mbean "+n)}))}}if(n)a={type:"read",mbean:n},(null===s||angular.isUndefined(s)||s.key!==t.lastKey)&&(t.gridOptions.columnDefs=e.propertiesColumnDefs,t.gridOptions.enableRowClickSelection=!1,t.gridOptions.enableRowSelection=!1,t.gridOptions.displaySelectionCheckbox=!1,t.gridOptions.canSelectRows=!1);else if(s){s.key!==t.lastKey&&(t.gridOptions.columnDefs=[],t.gridOptions.enableRowClickSelection=!0,t.gridOptions.enableRowClickSelection=!0,t.gridOptions.enableRowSelection=!0,t.gridOptions.displaySelectionCheckbox=!0,t.gridOptions.canSelectRows=!0);var h=s.children;if(h){var p=h.map(function(e){return e.objectName}),f=p.filter(function(e){return void 0!==e});if(f){var v=e.getUniqueTypeNames(h);if(v.length<=1){var y=f.map(function(e){return{type:"READ",mbean:e,ignoreErrors:!0}});y.length>0&&(a=y,t.mbeanIndex={},t.mbeanRowCounter=0,t.mbeanCount=f.length)}else console.log("Too many type names "+v)}}}var b=Core.onSuccess(g);a?(t.request=a,Core.register(o,t,a,b)):s&&(s.key!==t.lastKey&&(t.gridOptions.columnDefs=e.foldersColumnDefs,t.gridOptions.enableRowClickSelection=!0),t.gridData=s.children,m(t.gridData),Core.$apply(t)),s&&(t.lastKey=s.key)}function g(n){var i=n.value,o=t.mbeanIndex,a=n.request.mbean;if(a&&(i._id=a),o)if(a){var s=o[a];if(angular.isDefined(s)||(s=t.mbeanRowCounter,o[a]=s,t.mbeanRowCounter+=1),0===s&&(t.selectedIndices=t.selectedItems.map(function(e){return t.gridData.indexOf(e)}),t.gridData=[],!t.gridOptions.columnDefs.length)){var l=r.selectionConfigKey(),c=r.attributeColumnDefs[l]||[],u=c.length,d={};angular.forEach(c,function(e,t){var n=e.field;n&&(d[n]=e)});var h=[];angular.forEach(i,function(e,t){x(t,e)&&(d[t]||h.push({field:t,displayName:"_id"===t?"Object name":Core.humanizeValue(t),visible:0===u}))}),h=h.sort(function(e,t){return e.field.startsWith("_")?1:t.field.startsWith("_")?-1:e.field.localeCompare(t.field)}),h.forEach(function(e){c.push(e)}),c=_.filter(c,function(e){return!angular.isDefined(e.visible)||null==e.visible||e.visible}),t.gridOptions.columnDefs=c,t.gridOptions.enableRowClickSelection=!0}t.gridData[s]=i,m(t.gridData);var p=t.mbeanCount;if(!p||s+1>=p){var f=t.selectedIndices.map(function(e){return t.gridData[e]}).filter(function(e){return e});t.selectedItems.splice(0,t.selectedItems.length),t.selectedItems.push.apply(t.selectedItems,f),Core.$apply(t)}}else console.log("No mbean name in request "+JSON.stringify(n.request));else{t.gridOptions.columnDefs=e.propertiesColumnDefs,t.gridOptions.enableRowClickSelection=!1;var g=!0;if(angular.isObject(i)){var w=Array();if(angular.forEach(i,function(e,t){if((g||x(t,e))&&!t.startsWith("_")){"ObjectName"===t&&(e=v(e)),angular.isArray(e)&&(e=e.map(function(e){return v(e)}));var n=b(t),i={key:t,name:Core.humanizeValue(t),value:Core.safeNullAsString(e,n)};y(t,i),w.push(i)}}),!_.any(w,function(e){return"ObjectName"===e.key})){var C={key:"ObjectName",name:"Object Name",value:a};y(C.key,C),w.push(C)}w=_.sortBy(w,"name"),t.selectedItems=[i],i=w}t.gridData=i,m(t.gridData),Core.$apply(t)}}function m(e){e.forEach(function(e){e.inDashboard=t.inDashboard,e.getDashboardWidgets=function(){return t.getDashboardWidgets(e)},e.onViewAttribute=function(){t.onViewAttribute(e)},e.folderIconClass=function(e){return t.folderIconClass(e)},e.folderHref=function(e){return t.folderHref(e)}})}function v(e){if(!angular.isObject(e))return e;var t=Object.keys(e);return 1===t.length&&"objectName"===t[0]?e.objectName:e}function y(e,n){var i=n.value;if(!angular.isArray(i)&&angular.isObject(i)){var r="",o="",a=i,s=Object.keys(i).sort();angular.forEach(s,function(e){var t=a[e];r+=""+Core.humanizeValue(e)+" "+t+" ",o+=""+Core.humanizeValue(e)+": "+t+" "}),r+="
",n.summary=o,n.detailHtml=r,n.tooltip=o}else{var l=i;if(""===l?(l=" ",n.tooltip=""):n.tooltip=l,n.summary=""+l,n.detailHtml=""+l+" ",angular.isArray(i)){var c="";angular.forEach(i,function(e){c+=""+e+" "}),c+=" ",n.detailHtml=c}}if(n.rw=!1,n.attrDesc=n.name,n.type="string",null!=t.attributesInfoCache&&"attr"in t.attributesInfoCache){var u=t.attributesInfoCache.attr[e];angular.isDefined(u)&&(n.rw=u.rw,n.attrDesc=u.desc,n.type=u.type)}}function b(e){if(null!=t.attributesInfoCache&&"attr"in t.attributesInfoCache){var n=t.attributesInfoCache.attr[e];if(angular.isDefined(n))return n.type}return null}function x(e,t){return!angular.isObject(t)}t.searchText="",t.nid="empty",t.selectedItems=[],t.lastKey=null,t.attributesInfoCache={},t.workspace=r,t.entity={},t.attributeSchema={},t.gridData=[],t.attributes="",t.inDashboard=h.inDashboard,t.$watch("gridData.length",function(e,n){e!==n&&(e>0?t.attributes=c.get("gridTemplate"):t.attributes="")});var w={style:HawtioForms.FormStyle.STANDARD,mode:HawtioForms.FormMode.VIEW,hideLegend:!0,properties:{key:{label:"Key",tooltip:"Attribute key",type:"static"},attrDesc:{label:"Description",type:"static"},type:{label:"Type",tooltip:"Attribute type",type:"static"},jolokia:{label:"Jolokia URL",tooltip:"Jolokia REST URL",type:"string","input-attributes":{readonly:!0}}}};t.gridOptions={scope:t,selectedItems:[],showFilter:!1,canSelectRows:!1,enableRowSelection:!1,enableRowClickSelection:!1,keepLastSelected:!0,multiSelect:!0,showColumnMenu:!0,displaySelectionCheckbox:!1,filterOptions:{filterText:""},data:"gridData",columnDefs:e.propertiesColumnDefs},t.$watch(function(e){return e.gridOptions.selectedItems.map(function(e){return e})},function(n,i){n!==i&&(e.log.debug("Selected items: ",n),t.selectedItems=n)},!0);var C=_.debounce(f,100,{trailing:!0});t.$on("$routeChangeSuccess",function(e,n,r){t.nid=i.search().nid,setTimeout(function(){C()},10)}),t.$watch("workspace.selection",function(){return r.moveIfViewInvalid()?void Core.unregister(o,t):void setTimeout(function(){C()},10)}),C(),t.hasWidget=function(e){return!0},t.onCancelAttribute=function(){t.entity={}},t.onUpdateAttribute=function(){var e=t.entity.value,n=t.entity.key;t.entity={};var i=r.getSelectedMBeanName();i&&o.setAttribute(i,n,e,Core.onSuccess(function(e){Core.notification("success","Updated attribute "+n)}))},t.onViewAttribute=function(n){if(n.summary){var i=t.entity=_.cloneDeep(n),o=t.attributeSchema=_.cloneDeep(w);"ObjectName"===i.key?delete o.properties.jolokia:i.jolokia=e.getUrlForThing(a,"read",r.getSelectedMBeanName(),i.key),o.properties.value={formTemplate:''},t.showAttributeDialog=!0}},t.getDashboardWidgets=function(n){var i=r.getSelectedMBeanName();if(!i)return"";var o=_.filter(s,function(e){return i===e.mbean});if(0===o.length)return"";if(o=_.filter(o,function(e){return e.attribute===n.key||e.total===n.key}),0===o.length)return"";n.addChartToDashboard=function(e){t.addChartToDashboard(n,e)};var a=[];return o.forEach(function(t){var n=e.getWidgetType(t);a.push(' ")}),a.join()+" "},t.addChartToDashboard=function(t,n){var o=r.getSelectedMBeanName(),a=s.filter(function(e){return o===e.mbean});a=a.filter(function(e){return e.attribute===t.key||e.total===t.key}),a=a.filter(function(e){return e.type===n});var l=_.first(a),c=e.getWidgetType(l);i.url(e.createDashboardLink(c,l))},t.toolBarTemplate=function(){var t=e.getAttributeToolBar(r.selection);return t},t.invokeSelectedMBeans=function(e,n){void 0===n&&(n=null);var i=[];if(angular.forEach(t.selectedItems||[],function(t){var n=t._id;if(n){var r=e;angular.isFunction(e)&&(r=e(t)),i.push({type:"exec",operation:r,mbean:n})}}),i.length){var r=function(){n?n():p()};o.request(i,Core.onSuccess(r,{error:r}))}},t.folderHref=function(e){if(!e.getProperty)return"";var t=e.getProperty("key");return t?Core.createHref(i,"#"+i.path()+"?nid="+t,["nid"]):""},t.folderIconClass=function(e){return e.getProperty?e.getProperty("objectName")?"fa fa-cog":"fa fa-folder-close":""}}])}(Jmx||(Jmx={}));var Jmx;!function(e){e._module.controller("Jmx.ChartEditController",["$scope","$location","workspace","jolokia",function(e,t,n,i){function r(){var r=n.selection;if(angular.isDefined(r)){e.selectedAttributes=[],e.selectedMBeans=[],e.metrics={},e.mbeans={};var o=0,a=0,s=r.children;s&&s.length&&!r.objectName||(s=[r]),s&&s.forEach(function(n){var r=n.objectName,s=n.title;if(s&&r){o++,e.mbeans[s]=s;var l=function(e){var t=Core.escapeMBeanPath(e),n={type:"list",path:t,ignoreErrors:!0};return n},c=l(r);i.request(c,Core.onSuccess(function(n){var i=n.value.attr;if(i){for(var r in i){var s=i[r];if(s){var l=s.type;Core.isNumberTypeName(l)&&(e.metrics[r]||(e.metrics[r]=r))}}if(++a>=o){var c=t.search(),u=Core.toSearchArgumentArray(c.att),d=Core.toSearchArgumentArray(c.el);if(u&&u.length&&u.forEach(function(t){e.metrics[t]&&e.selectedAttributes.push(t)}),d&&d.length&&d.forEach(function(t){e.mbeans[t]&&e.selectedMBeans.push(t)}),e.selectedMBeans.length<1&&(e.selectedMBeans=_.keys(e.mbeans)),e.selectedAttributes.length<1){var h=_.keys(e.metrics).sort();e.selectedMBeans.length>1?e.selectedAttributes=[_.first(h)]:e.selectedAttributes=h}$("#attributes").attr("size",_.keys(e.metrics).length),$("#mbeans").attr("size",_.keys(e.mbeans).length),Core.$apply(e)}}Core.$apply(e)},{method:"post"}))}})}}e.selectedAttributes=[],e.selectedMBeans=[],e.metrics={},e.mbeans={},e.size=function(e){return angular.isObject(e)?_.keys(e).length:angular.isArray(e)?e.length:1},e.canViewChart=function(){return e.selectedAttributes.length&&e.selectedMBeans.length&&e.size(e.mbeans)>0&&e.size(e.metrics)>0},e.showAttributes=function(){return e.canViewChart()&&e.size(e.metrics)>1},e.showElements=function(){return e.canViewChart()&&e.size(e.mbeans)>1},e.viewChart=function(){var n=t.search();e.selectedAttributes.length===e.size(e.metrics)?delete n.att:n.att=e.selectedAttributes,e.selectedMBeans.length===e.size(e.mbeans)&&1===e.size(e.mbeans)?delete n.el:n.el=e.selectedMBeans,t.search(n),t.path("jmx/charts")},e.$watch("workspace.selection",r),e.$on("$routeChangeSuccess",function(e,t,n){setTimeout(r,50)})}])}(Jmx||(Jmx={}));var Jmx;!function(e){e._module.controller("Jmx.ChartController",["$scope","$element","$location","workspace","localStorage","jolokiaUrl","jolokiaParams",function(e,t,n,i,r,o,a){function s(){var r=i.selection||i.getSelectedMBean();if(null!=r){if(!angular.isDefined(r)||!angular.isDefined(e.updateRate)||0===e.updateRate)return setTimeout(c,500),void Core.$apply(e);var o=594,s=t.find("#charts");if(!s)return setTimeout(c,500),void Core.$apply(e);o=s.width(),e.reset(),e.charts=s,e.jolokia=new Jolokia(a),e.jolokia.start(e.updateRate);var u=r.objectName;e.metrics=[];var d=cubism.context().serverDelay(e.updateRate).clientDelay(e.updateRate).step(e.updateRate).size(o);e.context=d,e.jolokiaContext=d.jolokia(e.jolokia);var h=n.search(),p=Core.toSearchArgumentArray(h.att);if(u){var f=function(e){var t=Core.escapeMBeanPath(e),n={type:"list",path:t,ignoreErrors:!0};return n},g=f(u),m=e.jolokia.request(g,{method:"post"});if(m){Core.defaultJolokiaErrorHandler(m,{});var v=m.value?m.value.attr:null;if(v){var y=[];for(var b in v){var x=v[b];if(x){var w=x.type;Core.isNumberTypeName(w)&&y.push(b)}}if(p.length){var C=y.filter(function(e){return p.indexOf(e)>=0});C.length&&(y=C)}y=y.sort(),angular.forEach(y,function(t){var n=e.jolokiaContext.metric({type:"read",mbean:u,attribute:t},Core.humanizeValue(t));n&&e.metrics.push(n)})}}}else{var k=Core.toSearchArgumentArray(h.el);if(p&&p.length&&k&&k.length){var S={};k.forEach(function(e){var t=r.get(e);if(!t&&r.children&&(t=_.find(r.children,function(t){return e===t.title})),t){var n=t.objectName;n&&(S[e]=n)}}),p=p.sort(),p.forEach(function(t){angular.forEach(S,function(n,i){var r=Core.humanizeValue(t),o=i+": "+r,a=e.jolokiaContext.metric({type:"read",mbean:n,attribute:t},o);a&&e.metrics.push(a)})})}r.children.length&&!e.metrics.length&&n.path("jmx/chartEdit")}if(e.metrics.length>0){var T=d3.select(s.get(0)),D=T.selectAll(".axis"),E=!1;if(D.data(["top","bottom"]).enter().append("div").attr("class",function(e){return e+" axis"}).each(function(e){if(!E)try{d3.select(this).call(d.axis().ticks(12).orient(e))}catch(e){E||(E=!0)}}),E)return e.reset(),setTimeout(c,500),void Core.$apply(e);T.append("div").attr("class","rule").call(d.rule()),d.on("focus",function(e){try{T.selectAll(".value").style("right",null===e?null:d.size()-e+"px")}catch(e){l.info("error: ",e)}}),e.metrics.forEach(function(e){T.call(function(t){t.append("div").data([e]).attr("class","horizon").call(d.horizon())})})}else e.reset();Core.$apply(e)}}var l=Logger.get("JMX");e.metrics=[],e.updateRate=1e3,e.context=null,e.jolokia=null,e.charts=null,e.reset=function(){e.context&&(e.context.stop(),e.context=null),e.jolokia&&(e.jolokia.stop(),e.jolokia=null),e.charts&&(e.charts.empty(),e.charts=null)},e.$on("$destroy",function(){try{e.deregRouteChange()}catch(e){}try{e.dereg()}catch(e){}e.reset()}),e.errorMessage=function(){return 0===e.updateRate?"updateRate":0===e.metrics.length?"metrics":void 0};var c=_.debounce(s,200,{trailing:!0});e.deregRouteChange=e.$on("$routeChangeSuccess",function(e,t,n){c()}),e.dereg=e.$watch("workspace.selection",function(){i.moveIfViewInvalid()||c()}),c()}])}(Jmx||(Jmx={}));var Jmx;!function(e){e.DonutChartController=e._module.controller("Jmx.DonutChartController",["$scope","$routeParams","jolokia","$templateCache",function(e,t,n,i){if(e.mbean=t.mbean,e.total=t.total,e.attribute=t.attribute,e.terms=t.terms,e.remainder=t.remaining,e.template="",e.termsArray=e.terms.split(","),e.data={total:0,terms:[]},e.attribute){var r=e.termsArray.include(e.total);e.reqs=[{type:"read",mbean:e.mbean,attribute:e.attribute,paths:r.join(",")}],e.termsArray.forEach(function(t){e.data.terms.push({term:t,count:0})})}else e.reqs=[{type:"read",mbean:e.mbean,attribute:e.total}],e.termsArray.forEach(function(t){e.reqs.push({type:"read",mbean:e.mbean,attribute:t}),e.data.terms.push({term:t,count:0})});e.remainder&&"-"!==e.remainder&&e.data.terms.push({term:e.remainder,count:0}),e.render=function(t){var n=null;if(e.remainder&&"-"!==e.remainder&&(n=e.data.terms.find(function(t){return t.term===e.remainder})),e.attribute)t.request.attribute===e.attribute&&(e.data.total=t.value[e.total.toLowerCase()],e.data.terms.forEach(function(n){n.term!==e.remainder&&(n.count=t.value[n.term.toLowerCase()])}),n&&(n.count=e.data.total,e.data.terms.forEach(function(t){t.term!==e.remainder&&(n.count=n.count-t.count)})));else if(t.request.attribute===e.total)e.data.total=t.value;else{var r=e.data.terms.find(function(e){return e.term===t.request.attribute});r&&(r.count=t.value),n&&(n.count=e.data.total,e.data.terms.forEach(function(t){t.term!==e.remainder&&(n.count=n.count-t.count)}))}""===e.template&&(e.template=i.get("donut")),e.data=_.clone(e.data),Core.$apply(e)},Core.register(n,e,e.reqs,Core.onSuccess(e.render))}])}(Jmx||(Jmx={}));var Core;!function(e){function t(e,t,n,i){e.graphForce&&e.graphForce.stop(),i||(i=$("#canvas")[0]);var r=$(i);if(r.children("svg").remove(),t.length){var o=r.parent().width(),a=r.parent().height();if(a<100){var s=r.offset();a=$(document).height()-5,s&&(a-=s.top)}var l=d3.select(r[0]).append("svg").attr("width",o).attr("height",a),c=d3.layout.force().distance(100).charge(-1200).linkDistance(50).size([o,a]);e.graphForce=c,l.append("svg:defs").selectAll("marker").data(["from"]).enter().append("svg:marker").attr("id",String).attr("viewBox","0 -5 10 10").attr("refX",25).attr("refY",-1.5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("svg:path").attr("d","M0,-5L10,0L0,5"),c.nodes(t).links(n).start();var u=l.selectAll(".link").data(n).enter().append("line").attr("class","link");u.attr("class","link from"),u.attr("marker-end","url(#from)");var d=l.selectAll(".node").data(t).enter().append("g").attr("class","node").call(c.drag);d.append("image").attr("xlink:href",function(e){return e.imageUrl}).attr("x",-15).attr("y",-15).attr("width",30).attr("height",30),d.append("text").attr("dx",20).attr("dy",".35em").text(function(e){return e.label}),c.on("tick",function(){u.attr("x1",function(e){return e.source.x}).attr("y1",function(e){return e.source.y}).attr("x2",function(e){return e.target.x}).attr("y2",function(e){return e.target.y}),d.attr("transform",function(e){return"translate("+e.x+","+e.y+")"})})}}function n(e,t,n){var i={};e.forEach(function(e){var t=e.id;void 0===t?console.log("No node found for node "+JSON.stringify(e)):(void 0===e.edges&&(e.edges=[]),e.label||(e.label="node "+t),i[t]=e)});var r=d3.values(i);return t.forEach(function(e){var t=i[e.source],r=i[e.target];if(void 0===t||void 0===r)console.log("Bad link! "+t+" target "+r+" for "+e);else{var o={source:t,target:r};n.push(o),t.edges.push(o),r.edges.push(o)}}),r}function i(t,n,i,r,s,l,c){function u(e){var t=e.dagre.points.slice(0),n=dagre.util.intersectRect(e.source.dagre,t.length>0?t[0]:e.source.dagre),i=dagre.util.intersectRect(e.target.dagre,t.length>0?t[t.length-1]:e.source.dagre);return t.unshift(n),t.push(i),d3.svg.line().x(function(e){return e.x}).y(function(e){return e.y}).interpolate("linear")(t)}function d(e,t,n){e.dagre.points.forEach(function(e){e.x=Math.max(0,Math.min(S.width,e.x+t)),e.y=Math.max(0,Math.min(S.height,e.y+n))})}void 0===l&&(l=!1),void 0===c&&(c=null);var h=10,p=[],f=e.createGraphStates(t,n,p),g=s?d3.select(s):d3.select("svg");s&&$(s).children("g").remove(),$(g).children("g").remove();var m=g.append("g").attr("transform","translate(5, 5)"),t=m.selectAll("g .node").data(f).enter().append("g").attr("class","node").attr("data-cid",function(e){return e.cid}).attr("id",function(e){return"node-"+e.label});t.append("title").text(function(e){return e.tooltip||""});var v=m.selectAll("path .edge").data(p).enter().append("path").attr("class","edge").attr("marker-end","url(#arrowhead)"),y=t.append("rect").attr("rx","4").attr("ry","4").attr("class",function(e){return e.type}),b=t.append("image").attr("xlink:href",function(e){return e.imageUrl}).attr("x",-12).attr("y",-20).attr("height",24).attr("width",24),x=t.append("text").attr("text-anchor","end").attr("class","counter").attr("x",0).attr("dy",0).text(o),w=(t.append("text").attr("text-anchor","middle").attr("class","inflight").attr("x",10).attr("dy",-32).text(a),t.append("text").attr("text-anchor","middle").attr("x",0));w.append("tspan").attr("x",0).attr("dy",28).text(function(e){return e.label});var C=12,_=80;w.each(function(e){var t=this.getBBox();e.bbox=t,t.width<_&&(t.width=_),e.width=t.width+2*h,e.height=t.height+2*h+C}),y.attr("x",function(e){return-(e.bbox.width/2+h)}).attr("y",function(e){return-(e.bbox.height/2+h+C/2)}).attr("width",function(e){return e.width}).attr("height",function(e){return e.height}),null!=c&&y.on("click",c),b.attr("x",function(e){return-e.bbox.width/2}),w.attr("x",function(e){return-e.bbox.width/2}).attr("y",function(e){return-e.bbox.height/2}),x.attr("x",function(e){var t=e.bbox.width;return t/2}),dagre.layout().nodeSep(50).edgeSep(10).rankSep(50).nodes(f).edges(p).debugLevel(1).run(),t.attr("transform",function(e){return"translate("+e.dagre.x+","+e.dagre.y+")"}),v.attr("id",function(e){return e.dagre.id}).attr("d",function(e){return u(e)});var k=g.node();if(k){var S=k.getBBox();S&&(g.attr("width",S.width+10),g.attr("height",S.height+10))}if(l){var T=d3.behavior.drag().origin(function(e){return e.pos?{x:e.pos.x,y:e.pos.y}:{x:e.dagre.x,y:e.dagre.y}}).on("drag",function(e,t){var n=e.dagre.x,i=e.dagre.y;e.dagre.x=Math.max(e.width/2,Math.min(S.width-e.width/2,d3.event.x)),e.dagre.y=Math.max(e.height/2,Math.min(S.height-e.height/2,d3.event.y)),d3.select(this).attr("transform","translate("+e.dagre.x+","+e.dagre.y+")");var r=e.dagre.x-n,o=e.dagre.y-i;e.edges.forEach(function(e){d(e,r,o),d3.select("#"+e.dagre.id).attr("d",u(e))})}),D=d3.behavior.drag().on("drag",function(e,t){d(e,d3.event.dx,d3.event.dy),d3.select(this).attr("d",u(e))});t.call(T),v.call(D)}return f}function r(e){var t=d3.select("svg");t.selectAll("text.counter").text(o),t.selectAll("text.inflight").text(a),t.selectAll("g .node title").text(function(e){return e.tooltip||""})}function o(e){return e.counter||""}function a(e){return e.inflight||""}e.d3ForceGraph=t,e.createGraphStates=n,e.dagreLayoutGraph=i,e.dagreUpdateGraphData=r}(Core||(Core={}));var Jmx;!function(e){e._module.controller("Jmx.TreeHeaderController",["$scope",function(e){e.expandAll=function(){Tree.expandAll("#jmxtree")},e.contractAll=function(){Tree.contractAll("#jmxtree")}}]),e._module.controller("Jmx.MBeansController",["$scope","$location","workspace",function(t,n,i){function r(){e.updateTreeSelectionFromURL(n,$("#jmxtree"))}t.num=1,t.$on("$routeChangeSuccess",function(e,t,n){setTimeout(r,50)}),t.select=function(e){t.workspace.updateSelectionNode(e),Core.$apply(t)},t.populateTree=function(){var o=$("#jmxtree");t.tree=i.tree,e.enableTree(t,n,i,o,t.tree.children,!0),setTimeout(r,50)},t.$on("jmxTreeUpdated",t.populateTree),t.populateTree()}])}(Jmx||(Jmx={}));var Jmx;!function(e){e.NavBarController=e._module.controller("Jmx.NavBarController",["$scope","$location","workspace","$route","jolokia","localStorage",function(t,n,i,r,o,a){t.hash=i.hash(),t.topLevelTabs=[],t.subLevelTabs=i.subLevelTabs,t.currentPerspective=null,t.localStorage=a,t.recentConnections=[],t.goTo=function(e){n.url(e)},t.$watch("hash",function(t,n){t!==n&&e.log.debug("hash changed from ",n," to ",t)}),t.$on("$routeChangeSuccess",function(){t.hash=i.hash()}),t.isValid=function(e){return!("isValid"in e)||e.isValid(i)},t.link=function(e,t){void 0===t&&(t=!1);var i;i=angular.isString(e)?e:angular.isObject(e)?e.href():null,i=i||"";var r=["tab","nid","chapter","pref","q"];return!t&&i&&(i.indexOf("?p=")>=0||i.indexOf("&p=")>=0)&&r.push("p"),Core.createHref(n,i,r)},t.fullScreenLink=function(){var e="#"+n.path()+"?tab=notree";return Core.createHref(n,e,["tab"])},t.addToDashboardLink=function(){var e="#"+n.path()+i.hash(),t="#/dashboard/add?tab=dashboard&href="+encodeURIComponent(e);if(n.url().indexOf("/jmx/charts")!==-1){var r={size_x:4,size_y:3};t+="&size="+encodeURIComponent(angular.toJson(r))}return t},t.isActive=function(e){if(angular.isString(e))return i.isLinkActive(e);var t=e.isActive;return t?t(i):i.isLinkActive(e.href())},t.isTopTabActive=function(e){if(angular.isString(e))return i.isTopTabActive(e);var t=e.isActive;return t?t(i):i.isTopTabActive(e.href())},t.activeLink=function(){var e=t.topLevelTabs();if(!e)return"Loading...";var n=e.find(function(e){return t.isActive(e)});return n?n.content:""}}])}(Jmx||(Jmx={}));var Jmx;!function(e){e._module.controller("Jmx.OperationController",["$scope","workspace","jolokia","jolokiaUrl","$timeout","$location","localStorage","$browser",function(t,n,i,r,o,a,s,l){t.item=t.selectedOperation,t.title=t.item.humanReadable,t.desc=t.item.desc,t.operationResult="",t.executeIcon="fa fa-ok",t.mode="text",t.entity={},t.formConfig={hideLegend:!0,properties:{}},t.jolokiaUrl=e.getUrlForThing(r,"exec",n.getSelectedMBeanName(),t.item.name),t.item.args.forEach(function(e){var n={type:e.type,tooltip:e.desc,description:"Type: "+e.type};"java.util.list"!==e.type.toLowerCase()&&"[j"!==e.type.toLowerCase()||(n.type="array",n.items={type:"string"}),"java.util.map"===e.type.toLowerCase()&&(n.type="map",n.items={key:{type:"string"},value:{type:"string"}}),t.formConfig.properties[e.name]=n}),e.log.debug("Form config: ",t.formConfig),o(function(){$("html, body").animate({scrollTop:0},"medium")},250),t.dump=function(e){console.log(e)},t.ok=function(){t.operationResult=""},t.reset=function(){t.entity={}},t.close=function(){t.$parent.showInvoke=!1},t.handleResponse=function(e){t.executeIcon="fa fa-ok",t.operationStatus="success",null===e||"null"===e?t.operationResult="Operation Succeeded!":"string"==typeof e?t.operationResult=e:t.operationResult=angular.toJson(e,!0),t.mode=CodeEditor.detectTextFormat(t.operationResult),Core.$apply(t)},t.onSubmit=function(){var n=t.entity;e.log.debug("onSubmit: json:",n),e.log.debug("$scope.item.args: ",t.item.args),angular.forEach(n,function(e,n){t.item.args.find(function(e){return e.name===n}).value=e}),t.execute()},t.execute=function(){var e=n.selection;if(e){var r=e.objectName;if(r){var o=[r,t.item.name];t.item.args&&t.item.args.forEach(function(e){o.push(e.value)}),o.push(Core.onSuccess(t.handleResponse,{error:function(e){t.executeIcon="fa fa-ok",t.operationStatus="error";var n=e.error;t.operationResult=n;var i=e.stacktrace;i&&(t.operationResult=i),Core.$apply(t)}})),t.executeIcon="fa fa-spinner fa fa-spin";var a=i.execute;a.apply(i,o)}}}}]),e._module.controller("Jmx.OperationsController",["$scope","workspace","jolokia","rbacACLMBean","$templateCache",function(t,n,i,r,o){function a(e){return"("+e.map(function(e){return e.type}).join()+")"}function s(e){for(var t in e)t=""+t,e[t].name=t,e[t].humanReadable=Core.humanizeValue(t);return e}function l(n,o){var a={};a[n]=[],angular.forEach(o,function(e,t){a[n].push(e.name)}),r.then(function(r){i.request({type:"exec",mbean:r,operation:"canInvoke(java.util.Map)",arguments:[a]},Core.onSuccess(function(i){var r=i.value;angular.forEach(r[n],function(e,t){o[t].canInvoke=e.CanInvoke}),e.log.debug("Got operations: ",t.operations),Core.$apply(t)},{error:function(n){e.log.debug("Failed to fetch ACL for operations: ",n),Core.$apply(t)}}))})}function c(e){t.fetched=!0;var n=e.value.op,i={};angular.forEach(n,function(e,t){angular.isArray(e)?angular.forEach(e,function(e,n){i[t+a(e.args)]=e}):i[t+a(e.args)]=e}),t.operations=s(i),t.isOperationsEmpty()?Core.$apply(t):(l(t.objectName,t.operations),Core.$apply(t))}t.fetched=!1,t.operations={},t.objectName="",t.methodFilter="",t.workspace=n,t.selectedOperation=null,t.showInvoke=!1,t.template="",t.invokeOp=function(e){t.canInvoke(e)&&(t.selectedOperation=e,t.showInvoke=!0)},t.getJson=function(e){return angular.toJson(e,!0)},t.cancel=function(){t.selectedOperation=null,t.showInvoke=!1},t.$watch("showInvoke",function(e,n){e!==n&&(e?t.template=o.get("operationTemplate"):t.template="")});var u=_.debounce(function(){var e=n.selection||n.getSelectedMBean();e&&(t.objectName=e.objectName,t.objectName&&i.request({type:"list",path:Core.escapeMBeanPath(t.objectName)},Core.onSuccess(c)))},100,{trailing:!0});t.isOperationsEmpty=function(){return $.isEmptyObject(t.operations)},t.doFilter=function(e){return!!Core.isBlank(t.methodFilter)||!(!e.name.toLowerCase().has(t.methodFilter.toLowerCase())&&!e.humanReadable.toLowerCase().has(t.methodFilter.toLowerCase()))},t.canInvoke=function(e){return!("canInvoke"in e)||e.canInvoke},t.getClass=function(e){return t.canInvoke(e)?"can-invoke":"cant-invoke"},t.$watch("workspace.selection",function(e,t){n.moveIfViewInvalid()||u()})}])}(Jmx||(Jmx={}));var Jmx;!function(e){e.ViewController=e._module.controller("Jmx.ViewController",["$scope","$route","$location","layoutTree","layoutFull","viewRegistry",function(t,n,i,r,o,a){function s(t){var n=void 0;return _.forIn(a,function(i,r){if(!n)if(_.startsWith(r,"/")&&_.endsWith(r,"/")){var o=r.substring(1,r.length-1);try{var a=new RegExp(o,"");a.exec(t)&&(n=i)}catch(t){e.log.debug("Invalid RegExp "+o+" for viewRegistry value: "+i)}}else t.startsWith(r)&&(n=i)}),n}function l(){var n=null,o=i.search(),a=o.tab;if(angular.isString(a)&&(n=s(a)),!n){var l=i.path();l&&(_.startsWith(l,"/")&&(l=l.substring(1)),n=s(l))}return n||(n=r),t.viewPartial=n,e.log.debug("Using view partial: "+n),n}l(),t.$on("$routeChangeSuccess",function(e,t,n){l()})}])}(Jmx||(Jmx={}));var JVM;!function(e){e.ConnectController=e._module.controller("JVM.ConnectController",["$scope","$location","localStorage","workspace","$http",function(t,n,i,r,o){function a(){return Core.createConnectOptions({
+scheme:"http",host:"localhost",path:"jolokia",port:8181,userName:"",password:"",useProxy:!t.disableProxy})}e.configureScope(t,n,r),t.forms={},o.get("proxy").then(function(e){200===e.status&&Core.isBlank(e.data)?t.disableProxy=!1:t.disableProxy=!0});var s=!1;if(r.addNamedTreePostProcessor("ConnectTab",function(e){s=r&&r.tree&&r.tree.children&&r.tree.children.length>0,t.disableProxy=!s||Core.isChromeApp(),Core.$apply(t)}),t.lastConnection="",e.connectControllerKey in i)try{t.lastConnection=angular.fromJson(i[e.connectControllerKey])}catch(n){t.lastConnection="",delete i[e.connectControllerKey]}t.connectionConfigs=Core.loadConnectionMap(),Core.isBlank(t.lastConnection)?t.currentConfig=a():t.currentConfig=t.connectionConfigs[t.lastConnection],t.formConfig={properties:{name:{type:"java.lang.String",tooltip:"Name for this connection",required:!0,"input-attributes":{placeholder:"Unnamed..."}},scheme:{type:"java.lang.String",tooltip:"HTTP or HTTPS",enum:["http","https"],required:!0},host:{type:"java.lang.String",tooltip:"Target host to connect to",required:!0},port:{type:"java.lang.Integer",tooltip:"The HTTP port used to connect to the server","input-attributes":{min:"0"},required:!0},path:{type:"java.lang.String",tooltip:"The URL path used to connect to Jolokia on the remote server"},userName:{type:"java.lang.String",tooltip:"The user name to be used when connecting to Jolokia"},password:{type:"password",tooltip:"The password to be used when connecting to Jolokia"},useProxy:{type:"java.lang.Boolean",tooltip:"Whether or not we should use a proxy. See more information in the panel to the left.","control-attributes":{"ng-hide":"disableProxy"}}}},t.newConnection=function(){t.lastConnection=""},t.deleteConnection=function(){delete t.connectionConfigs[t.lastConnection],Core.saveConnectionMap(t.connectionConfigs);var e=_.keys(t.connectionConfigs);0===e.length?t.lastConnection="":t.lastConnection=e[0]},t.$watch("lastConnection",function(n,r){e.log.debug("lastConnection: ",n),n!==r&&(Core.isBlank(n)?t.currentConfig=a():t.currentConfig=t.connectionConfigs[n],i[e.connectControllerKey]=angular.toJson(n))},!0),t.save=function(){t.gotoServer(t.currentConfig,null,!0)},t.gotoServer=function(e,n,r){e||(e=Core.getConnectOptions(t.lastConnection));var o=e.name;return t.connectionConfigs[o]=e,t.lastConnection=o,r===!0?(Core.saveConnectionMap(t.connectionConfigs),t.connectionConfigs=Core.loadConnectionMap(),angular.extend(t.currentConfig,t.connectionConfigs[t.lastConnection]),void Core.$apply(t)):(Core.connectToServer(i,e),t.connectionConfigs=Core.loadConnectionMap(),angular.extend(t.currentConfig,t.connectionConfigs[t.lastConnection]),void Core.$apply(t))}}])}(JVM||(JVM={}));var JVM;!function(e){e._module.controller("JVM.DiscoveryController",["$scope","localStorage","jolokia",function(t,n,i){function r(e){if(!e.url)return void Core.notification("warning","No URL available to connect to agent");var t=Core.createConnectOptions();t.name=e.agent_description;var i=Core.parseUrl(e.url);angular.extend(t,i),t.userName=e.username,t.password=e.password,Core.connectToServer(n,t)}t.discovering=!0,t.agents=void 0,t.$watch("agents",function(e,n){e!==n&&(t.selectedAgent=t.agents.find(function(e){return e.selected}))},!0),t.closePopover=function(e){$(e.currentTarget).parents(".popover").prev().popover("hide")},t.connectWithCredentials=function(e,n){t.closePopover(e),r(n)},t.gotoServer=function(e,t){t.secured?$(e.currentTarget).popover("show"):r(t)},t.getElementId=function(e){return e.agent_id.dasherize().replace(/\./g,"-")},t.getLogo=function(t){return t.server_product?e.logoRegistry[t.server_product]:e.logoRegistry.generic},t.filterMatches=function(e){if(Core.isBlank(t.filter))return!0;var n=t.filter.toLowerCase(),i=angular.toJson(e).toLowerCase();return 0!==i.indexOf(n)},t.getAgentIdClass=function(e){return t.hasName(e)?"":"strong"},t.hasName=function(e){return!!(e.server_vendor&&e.server_product&&e.server_version)},t.render=function(e){if(t.discovering=!1,e){var n=angular.toJson(e,!0);t.responseJson!==n&&(t.responseJson=n,t.agents=e)}Core.$apply(t)},t.fetch=function(){t.discovering=!0,i.execute("jolokia:type=Discovery","lookupAgentsWithTimeout(int)",1e4,Core.onSuccess(t.render))},t.fetch()}])}(JVM||(JVM={}));var JVM;!function(e){e.HeaderController=e._module.controller("JVM.HeaderController",["$scope","ConnectOptions",function(e,t){t&&(e.containerName=t.name||"",t.returnTo&&(e.goBack=function(){window.location.href=t.returnTo}))}])}(JVM||(JVM={}));var JVM;!function(e){e._module.controller("JVM.JolokiaPreferences",["$scope","localStorage","jolokiaParams","$window",function(t,n,i,r){var o={properties:{updateRate:{type:"number",description:"The period between polls to jolokia to fetch JMX data",enum:{Off:0,"5 Seconds":"5000","10 Seconds":"10000","30 Seconds":"30000","60 seconds":"60000"}},maxDepth:{type:"number",description:"The number of levels jolokia will marshal an object to json on the server side before returning"},maxCollectionSize:{type:"number",description:"The maximum number of elements in an array that jolokia will marshal in a response"}}};t.entity=t,t.config=o,Core.initPreferenceScope(t,n,{updateRate:{value:5e3,post:function(e){t.$emit("UpdateRate",e)}},maxDepth:{value:e.DEFAULT_MAX_DEPTH,converter:parseInt,formatter:parseInt,post:function(e){i.maxDepth=e,n.jolokiaParams=angular.toJson(i)}},maxCollectionSize:{value:e.DEFAULT_MAX_COLLECTION_SIZE,converter:parseInt,formatter:parseInt,post:function(e){i.maxCollectionSize=e,n.jolokiaParams=angular.toJson(i)}}}),t.reboot=function(){r.location.reload()}}])}(JVM||(JVM={}));var JVM;!function(e){e._module.controller("JVM.JVMsController",["$scope","$window","$location","localStorage","workspace","jolokia","mbeanName",function(t,n,i,r,o,a,s){function l(e){t.initDone=!0,t.data=e.value,0===t.data.length&&(t.status="Could not discover local JVM processes"),Core.$apply(t)}e.configureScope(t,i,o),t.data=[],t.deploying=!1,t.status="",t.initDone=!1,t.filter="",t.filterMatches=function(e){return!!Core.isBlank(t.filter)||e.alias.toLowerCase().has(t.filter.toLowerCase())},t.fetch=function(){a.request({type:"exec",mbean:s,operation:"listLocalJVMs()",arguments:[]},{success:l,error:function(e){t.data=[],t.initDone=!0,t.status="Could not discover local JVM processes: "+e.error,Core.$apply(t)}})},t.stopAgent=function(e){a.request({type:"exec",mbean:s,operation:"stopAgent(java.lang.String)",arguments:[e]},Core.onSuccess(function(){t.fetch()}))},t.startAgent=function(e){a.request({type:"exec",mbean:s,operation:"startAgent(java.lang.String)",arguments:[e]},Core.onSuccess(function(){t.fetch()}))},t.connectTo=function(n,i,o,a,s){var l={};l.scheme=i,l.host=o,l.port=a,l.path=s,l.userName="",l.password="";var c=Core.createConnectToServerOptions(l);c.name="local",e.log.debug("Connecting to local JVM agent: "+n),Core.connectToServer(r,c),Core.$apply(t)},t.fetch()}])}(JVM||(JVM={}));var JVM;!function(e){e._module.controller("JVM.NavController",["$scope","$location","workspace",function(t,n,i){e.configureScope(t,n,i)}])}(JVM||(JVM={}));var JVM;!function(e){e._module.controller("JVM.ResetController",["$scope","localStorage",function(t,n){t.doClearConnectSettings=function(){var t=function(){delete n[e.connectControllerKey],delete n[e.connectionSettingsKey],setTimeout(function(){window.location.reload()},10)};t()}}])}(JVM||(JVM={}));var Threads;!function(e){e.pluginName="threads",e.templatePath="plugins/threads/html/",e.log=Logger.get("Threads"),e.jmxDomain="java.lang",e.mbeanType="Threading",e.mbean=e.jmxDomain+":type="+e.mbeanType,e._module=angular.module(e.pluginName,[]),e._module.config(["$routeProvider",function(t){t.when("/threads",{templateUrl:UrlHelpers.join(e.templatePath,"index.html")})}]),e._module.run(["$templateCache","workspace","viewRegistry","layoutFull","helpRegistry","HawtioNav",function(t,n,i,r,o,a){i.threads=r,o.addUserDoc("threads","plugins/threads/doc/help.md");var s=a.builder(),l=s.id("threads-toolbar").href(function(){return"#"}).template(function(){return t.get(UrlHelpers.join(e.templatePath,"toolbar.html"))}).build(),c=s.id("threads").href(function(){return"/threads"}).isValid(function(){return n.treeContainsDomainAndProperties(e.jmxDomain,{type:e.mbeanType})}).title(function(){return"Threads"}).tooltip(function(){return"View information about the threads in the JVM"}).isSelected(function(){return n.isTopTabActive("threads")}).tabs(l).build();a.add(c)}]),hawtioPluginLoader.addModule(e.pluginName)}(Threads||(Threads={}));var Threads;!function(e){e._module.controller("Threads.ToolbarController",["$scope","$rootScope","jolokia",function(e,t,n){e.$on("ThreadControllerSupport",function(t,n){e.support=n}),e.$on("ThreadControllerThreads",function(t,n){e.unfilteredThreads=n,e.totals={},n.forEach(function(t){var n=t.threadState;n in e.totals?e.totals[n]++:e.totals[n]=1}),e.threads=n}),e.stateFilter="NONE",e.filterOn=function(n){e.stateFilter=n,t.$broadcast("ThreadsToolbarState",n)},e.selectedFilterClass=function(t){return t===e.stateFilter?"active":""},e.getMonitorClass=function(e,t){return t.toString()},e.getMonitorName=function(e){return e=e.replace("Supported",""),_.startCase(e)}}]),e._module.controller("Threads.ThreadsController",["$scope","$rootScope","$routeParams","$templateCache","jolokia","$element",function(t,n,i,r,o,a){function s(e){var i=angular.toJson(e.value,!0);if(t.getThreadInfoResponseJson!==i){t.getThreadInfoResponseJson=i;var r=_.without(e.value,null);t.unfilteredThreads=r,r=t.filterThreads(t.stateFilter,r),t.threads=r,n.$broadcast("ThreadControllerThreads",r),Core.$apply(t)}}function l(n){e.log.info("Disabled contention monitoring: ",n),Core.$apply(t)}function c(n){a.on("$destroy",function(){o.setAttribute(e.mbean,"ThreadContentionMonitoringEnabled",!1,Core.onSuccess(l))}),e.log.info("Enabled contention monitoring"),Core.$apply(t)}t.selectedRowJson="",t.lastThreadJson="",t.getThreadInfoResponseJson="",t.threads=[],t.totals={},t.support={},t.row={},t.threadSelected=!1,t.selectedRowIndex=-1,t.stateFilter="NONE",t.showRaw={expanded:!1},t.addToDashboardLink=function(){var e="#/threads",t=angular.toJson({size_x:8,size_y:2}),n="Threads";return"#/dashboard/add?tab=dashboard&href="+encodeURIComponent(e)+"&title="+encodeURIComponent(n)+"&size="+encodeURIComponent(t)},t.isInDashboardClass=function(){return angular.isDefined(t.inDashboard&&t.inDashboard)?"threads-dashboard":"threads logbar"},t.$watch("searchFilter",function(e,n){e!==n&&(t.threadGridOptions.filterOptions.filterText=e)}),t.$watch("stateFilter",function(e,n){e!==n&&("NONE"===t.stateFilter?t.threads=t.unfilteredThreads:t.threads=t.filterThreads(t.stateFilter,t.unfilteredThreads))}),t.threadGridOptions={selectedItems:[],data:"threads",showSelectionCheckbox:!1,enableRowClickSelection:!0,multiSelect:!1,primaryKeyFn:function(e,t){return e.threadId},filterOptions:{filterText:""},sortInfo:{sortBy:"threadId",ascending:!1},columnDefs:[{field:"threadId",displayName:"ID"},{field:"threadState",displayName:"State",cellTemplate:r.get("threadStateTemplate")},{field:"threadName",displayName:"Name"},{field:"waitedTime",displayName:"Waited Time",cellTemplate:'{{row.entity.waitedTime | humanizeMs}}
'},{field:"blockedTime",displayName:"Blocked Time",cellTemplate:'{{row.entity.blockedTime | humanizeMs}}
'},{field:"inNative",displayName:"Native",cellTemplate:'(in native)
'},{field:"suspended",displayName:"Suspended",cellTemplate:'(suspended)
'}]},t.$watch("threadGridOptions.selectedItems",function(e,n){e!==n&&(0===e.length?(t.row={},t.threadSelected=!1,t.selectedRowIndex=-1):(t.row=_.first(e),t.threadSelected=!0,t.selectedRowIndex=Core.pathGet(t,["hawtioSimpleTable","threads","rows"]).findIndex(function(e){return e.entity.threadId===t.row.threadId})),t.selectedRowJson=angular.toJson(t.row,!0))},!0),t.$on("ThreadsToolbarState",function(e,n){t.filterOn(n)}),t.filterOn=function(e){t.stateFilter=e},t.filterThreads=function(t,n){return e.log.debug("Filtering threads by: ",t),"NONE"===t?n:n.filter(function(e){return e&&e.threadState===t})},t.deselect=function(){t.threadGridOptions.selectedItems=[]},t.selectThreadById=function(e){t.threadGridOptions.selectedItems=t.threads.filter(function(t){return t.threadId===e})},t.selectThreadByIndex=function(e){var n=Core.pathGet(t,["hawtioSimpleTable","threads","rows"])[e];t.threadGridOptions.selectedItems=t.threads.filter(function(e){return e&&e.threadId==n.entity.threadId})},t.init=function(){o.request([{type:"read",mbean:e.mbean,attribute:"ThreadContentionMonitoringSupported"},{type:"read",mbean:e.mbean,attribute:"ObjectMonitorUsageSupported"},{type:"read",mbean:e.mbean,attribute:"SynchronizerUsageSupported"}],{method:"post",success:[function(i){t.support.threadContentionMonitoringSupported=i.value,n.$broadcast("ThreadControllerSupport",t.support),e.log.debug("ThreadContentionMonitoringSupported: ",t.support.threadContentionMonitoringSupported),t.maybeRegister()},function(i){t.support.objectMonitorUsageSupported=i.value,n.$broadcast("ThreadControllerSupport",t.support),e.log.debug("ObjectMonitorUsageSupported: ",t.support.objectMonitorUsageSupported),t.maybeRegister()},function(i){t.support.synchronizerUsageSupported=i.value,n.$broadcast("ThreadControllerSupport",t.support),e.log.debug("SynchronizerUsageSupported: ",t.support.synchronizerUsageSupported),t.maybeRegister()}],error:function(t){e.log.error("Failed to query for supported usages: ",t.error)}})};var u=Core.throttled(t.init,500);t.maybeRegister=function(){"objectMonitorUsageSupported"in t.support&&"synchronizerUsageSupported"in t.support&&"threadContentionMonitoringSupported"in t.support&&(e.log.debug("Registering dumpAllThreads polling"),Core.register(o,t,{type:"exec",mbean:e.mbean,operation:"dumpAllThreads",arguments:[t.support.objectMonitorUsageSupported,t.support.synchronizerUsageSupported]},Core.onSuccess(s)),t.support.threadContentionMonitoringSupported&&o.request({type:"read",mbean:e.mbean,attribute:"ThreadContentionMonitoringEnabled"},Core.onSuccess(t.maybeEnableThreadContentionMonitoring)))},t.maybeEnableThreadContentionMonitoring=function(n){n.value===!1?(e.log.info("Thread contention monitoring not enabled, enabling"),o.setAttribute(e.mbean,"ThreadContentionMonitoringEnabled",!0,Core.onSuccess(c))):e.log.info("Thread contention monitoring already enabled"),Core.$apply(t)},u()}])}(Threads||(Threads={})),angular.module("hawtio-jmx-templates",[]).run(["$templateCache",function(e){e.put("plugins/jvm/html/connect.html",'\n\n
\n
\n
\n
\n This page allows you to connect to remote processes which already have a jolokia agent running inside them . You will need to know the\n host name, port and path of the jolokia agent to be able to connect.\n
\n\n
\n If the process you wish to connect to does not have a jolokia agent inside, please refer to the jolokia documentation for how to add a JVM, servlet or OSGi\n based agent inside it.\n
\n\n
\n If you are using Fabric8 , JBoss Fuse , or Apache ActiveMQ ;\n then a jolokia agent is included by default. Or you can always just deploy hawtio inside the process (which includes the jolokia agent).\n
\n\n
\n Use Proxy :\n hawtio is running in your browser; usually due to CORS; you cannot open a different host or port from your browser (due to browse security restrictions);\n so we have to use a proxy servlet inside the hawtio web app to proxy all requests for a different jolokia server - so we can communicate with a different jolokia agent.\n If you use the hawtio Chrome Extension this isn’t required; since Chrome Extensions are allowed to connect to any host/port.\n
\n\n
\n Use the Local Tab to connect to processes locally on this machine (which will install a jolokia agent automatically if required).\n
\n\n
\n The Local Tab is not currently enabled because either the server side hawtio-local-jvm-mbean plugin is not installed or this\n JVM cannot find the com.sun.tools.attach.VirtualMachine API usually found in the tool.jar .\n Please see the FAQ entry for more details.\n
\n
\n
\n\n
\n
\n Saved Connections \n \n \n \n \n\n
\n Connection Settings \n \n
\n\n \n Connect to remote server \n Save \n
\n \n \n\n
\n\n
\n\n
\n'),e.put("plugins/jvm/html/discover.html",'\n\n
\n\n
\n \n
\n
\n \n
\n\n \n\n
\n\n
\n\n
\n
\n\n
\n Please wait, discovering agents ...\n
\n
\n\n
\n
\n
\n\n
\n No agents discovered.\n
\n
\n
\n
\n \n\n \n
\n
\n\n \n
\n \n {{agent.server_vendor}} {{_.startCase(agent.server_product)}} {{agent.server_version}}\n \n
\n
\n Agent ID: {{agent.agent_id}} \n Agent Version: Version: {{agent.agent_version}} \n
Agent Description: Description: {{agent.agent_description}}
\n\n
Agent URL: {{agent.url}} \n
\n
\n\n \n \n
\n\n \n\n \n \n
\n
\n
\n
\n'),e.put("plugins/jvm/html/jolokiaError.html",'\n\n
\n
The connection to jolokia has failed with the following error, also check the javascript console for more details.
\n
\n
\n
\n
The connection to jolokia has failed for an unknown reason, check the javascript console for more details.
\n
\n
\n\n'),e.put("plugins/jvm/html/jolokiaPreferences.html",'\n
\n\n
\n
\n Apply \n Restart hawtio with the new values in effect \n
\n
\n\n
\n'),e.put("plugins/jvm/html/layoutConnect.html",'\n\n'),e.put("plugins/jvm/html/local.html",'\n\n
\n\n
\n
\n Please wait, discovering local JVM processes ...\n
\n
\n\n
0\' class=\'row\'>\n {{status}}\n
\n\n
0\' class="row">\n
\n \n \n PID \n Name \n Agent URL \n \n \n \n \n \n {{jvm.id}} \n {{jvm.alias}} \n {{jvm.agentUrl}} \n \n \n \n \n \n\n \n
\n\n
\n\n\n
\n'),e.put("plugins/jvm/html/navbarHeaderExtension.html",'\n\n'),e.put("plugins/jvm/html/reset.html",'\n\n'),e.put("plugins/jmx/html/areaChart.html",'\n'),e.put("plugins/jmx/html/attributeToolBar.html",'\n \n
\n'),e.put("plugins/jmx/html/attributes.html",'\n\n\n'),e.put("plugins/jmx/html/chartEdit.html",'\n'),e.put("plugins/jmx/html/charts.html",'\n
No valid metrics to show for this mbean.
\n
Charts aren\'t available when the update rate is set to "No refreshes", go to the
Preferences panel and set a refresh rate to enable charts
\n
\n
\n\n'),e.put("plugins/jmx/html/donutChart.html",'\n'),e.put("plugins/jmx/html/layoutTree.html",'\n\n\n \n \n\n\n\n\n'),
+e.put("plugins/jmx/html/operations.html",' \n\n\n'),e.put("plugins/jmx/html/subLevelTabs.html",'\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n'),e.put("plugins/threads/html/index.html",'\n\n
\n
\n \n
\n\n
\n\n
\n\n
\n
\n \n
\n\n
\n Waited Count: {{row.waitedCount}} \n Waited Time: {{row.waitedTime}}ms \n
\n\n
\n Blocked Count: {{row.blockedCount}} \n Blocked Time: {{row.blockedTime}}ms \n
\n\n
\n Lock Name: {{row.lockName}} \n Lock Class Name: {{row.lockInfo.className}} \n Lock Identity Hash Code: {{row.lockInfo.identityHashCode}} \n
\n\n
\n\n
\n Locked Synchronizers \n \n \n \n Class Name: {{synchronizer.className}} \n Identity Hash Code: {{synchronizer.identityHashCode}} \n \n \n \n \n\n
\n Locked Monitors \n \n \n \n Frame: {{monitor.lockedStackDepth}} \n {{monitor.lockedStackFrame.className}} \n . \n {{monitor.lockedStackFrame.methodName}} \n ({{monitor.lockedStackFrame.fileName}}:{{monitor.lockedStackFrame.lineNumber}} )\n (Native) \n \n \n \n \n\n \n
\n Stack Trace \n \n \n \n {{frame.className}} \n . \n {{frame.methodName}} \n ({{frame.fileName}}:{{frame.lineNumber}} )\n (Native) \n \n \n \n \n\n \n\n
\n
\n
\n\n
\n
\n\n\n\n'),e.put("plugins/threads/html/toolbar.html",'\n \n\n
\n
\n \n Total: {{unfilteredThreads.length}}\n \n \n {{state | humanize}}: {{total}}\n \n \n
\n\n
\n
\n \n {{getMonitorName(name)}} \n \n \n \n \n \n \n \n
\n\n
\n\n')}]),hawtioPluginLoader.addModule("hawtio-jmx-templates"),function(e,t){"use strict";function n(e){return null!=e&&""!==e&&"hasOwnProperty"!==e&&a.test("."+e)}function i(e,i){if(!n(i))throw o("badmember",'Dotted member path "@{0}" is invalid.',i);for(var r=i.split("."),a=0,s=r.length;a"+e.title+"
";n.html(i)}function c(e,n){var i=e.getMetricNode(e.className,e.metricName,n),o=r(i.count,e.getMax(n));t("#"+e.divId+" div.progress div.progress-bar").css("width",o+"%"),t("#"+e.divId+" div.progress div.progress-bar").html(i.count+"/"+e.getMax(n))}function u(e){var n=t("#"+e.divId),i=e.isNested?" nested":"",r=""+(e.isNested?"":"
")+e.title+"
";n.html(r),b(e.getMeterInfo()),d(e),h(e)}function d(e){var n="
Duration
"+x("Min","min")+x("Mean","mean")+x("Max","max")+x("Std Dev","stddev")+"
",i=t(e.getTimerStatsDivId());i.html(n)}function h(e){var n="
"+(e.isNested?"Histogram":e.getSubTitle())+"
Percentiles
"+x("99.9%","p999")+x("99%","p99")+x("98%","p98")+x("95%","p95")+x("75%","p75")+x("50%","p50")+"
",i=t(e.getTimerHistogramDivId());i.html(n)}function p(e,t){w(e.getMeterInfo(),t),f(e,t),m(e,t)}function f(e,n){var i=e.getMetricNode(e.className,e.metricName,n);if(i){var r=t(e.getTimerStatsDivId()+" div.timeUnit");r.html(a(i.duration_units)),g(e.getTimerStatsDivId(),i,"min",e.durationMax),g(e.getTimerStatsDivId(),i,"mean",e.durationMax),g(e.getTimerStatsDivId(),i,"max",e.durationMax),g(e.getTimerStatsDivId(),i,"stddev",e.durationMax)}}function g(e,n,i,a){t(e+" tr."+i+" td.progressValue").html(o(n[i])),t(e+" tr."+i+" td.progressBar div.progress div.progress-bar").css("width",r(n[i],a)+"%")}function m(e,t){var n=e.getMetricNode(e.className,e.metricName,t);n&&(g(e.getTimerHistogramDivId(),n,"p999",e.durationMax),g(e.getTimerHistogramDivId(),n,"p99",e.durationMax),g(e.getTimerHistogramDivId(),n,"p98",e.durationMax),g(e.getTimerHistogramDivId(),n,"p95",e.durationMax),g(e.getTimerHistogramDivId(),n,"p75",e.durationMax),g(e.getTimerHistogramDivId(),n,"p50",e.durationMax))}function v(e){var n=t("#"+e.divId),i="
"+(e.isNested?"Histogram":e.title)+"
Percentiles
"+x("99.9%","p999")+x("99%","p99")+x("98%","p98")+x("95%","p95")+x("75%","p75")+x("50%","p50")+"
";n.html(i)}function y(e,n){var i=e.getMetricNode(e.className,e.metricName,n);t("#"+e.divId+" td.countVal").html(o(i.count,0)),t("#"+e.divId+" td.minVal").html(o(i.min,0)),t("#"+e.divId+" td.maxVal").html(o(i.max,0)),t("#"+e.divId+" td.meanVal").html(o(i.mean,0)),_(e,i,"p999","p999",e.max),_(e,i,"p99","p99",e.max),_(e,i,"p98","p98",e.max),_(e,i,"p95","p95",e.max),_(e,i,"p75","p75",e.max),_(e,i,"p50","p50",e.max)}function b(e){var n=t("#"+e.divId),i="
"+e.title+"
"+x("1 min","onemin")+x("5 min","fivemin")+x("15 min","fifteenmin")+x("Mean","mean")+"
";n.html(i)}function x(e,t){return"
"+e+" 0 "}function w(e,t){var n=e.getMetricNode(e.className,e.metricName,t);n&&C(e,n)}function C(e,n){var i=t("#"+e.divId+" div.counterVal");i.html(n.rate_units+" ("+n.count+" total)");var r=Math.max(n.mean_rate,n.m1_rate,n.m5_rate,n.m15_rate);_(e,n,"mean_rate","mean",r),_(e,n,"m1_rate","onemin",r),_(e,n,"m5_rate","fivemin",r),_(e,n,"m15_rate","fifteenmin",r)}function _(e,t,n,i){_(e,t,n,i,e.max)}function _(e,n,i,a,s){t("#"+e.divId+" tr."+a+" td.progressValue").html(o(n[i])),t("#"+e.divId+" tr."+a+" td.progressBar div.progress div.progress-bar").css("width",r(n[i],s)+"%")}function k(e){var n=t("#"+e.divId),i="
";n.html(i)}function S(e,t){var n=e.getMetricNode(e.className,e.metricName,t);n&&T(e,n)}function T(e,n){var i=t("#"+e.divId+" div.gaugeDataVal");i.html(n.value)}function D(e,n,i){var r=t("#"+e),o="
";r.html(o)}function E(e,n,i){for(var r=t("#"+e+" table"),o="",a=n.length,s=0;s
"+l.title+" "+l.getMetricNode(l.className,l.metricName,i).value+" "}r.html(o)}function A(e){var n=t("#"+e.divId),i="
";n.html(i);for(var r=e.components.gauges.length,o=0;o
"+e.title+"
";n.html(i)}function $(e,n){var i=t("#"+e.divId+"Vm"),r=n.gauges,a="
Memory Total Init "+r["jvm.memory.total.init"].value+" Total Used "+r["jvm.memory.total.used"].value+" Total Max "+r["jvm.memory.total.max"].value+" Total Committed "+r["jvm.memory.total.committed"].value+" Heap Init "+r["jvm.memory.heap.init"].value+" Heap Used "+r["jvm.memory.heap.used"].value+" Heap Max "+r["jvm.memory.heap.max"].value+" Heap Committed "+r["jvm.memory.heap.committed"].value+" Non Heap Init "+r["jvm.memory.non-heap.init"].value+" Non Heap Used "+r["jvm.memory.non-heap.used"].value+" Non Heap Max "+r["jvm.memory.non-heap.max"].value+" Non Heap Committed "+r["jvm.memory.non-heap.committed"].value+"
Memory Usage Heap Usage "+(100*r["jvm.memory.heap.usage"].value).toFixed(2)+" Non Heap Usage "+(100*r["jvm.memory.non-heap.usage"].value).toFixed(2)+" "+(r["jvm.memory.pools.JIT-code-cache.usage"]?"JIT Code Cache Usage "+(100*r["jvm.memory.pools.JIT-code-cache.usage"].value).toFixed(2)+" ":"")+(r["jvm.memory.pools.Code-Cache.usage"]?"JIT Code Cache Usage "+(100*r["jvm.memory.pools.Code-Cache.usage"].value).toFixed(2)+" ":"")+(r["jvm.memory.pools.JIT-data-cache.usage"]?"JIT Data Cache Usage "+(100*r["jvm.memory.pools.JIT-data-cache.usage"].value).toFixed(2)+" ":"")+(r["jvm.memory.pools.Java-heap.usage"]?"Java Heap Usage "+(100*r["jvm.memory.pools.Java-heap.usage"].value).toFixed(2)+" ":"")+(r["jvm.memory.pools.class-storage.usage"]?"Class Storage Usage "+(100*r["jvm.memory.pools.class-storage.usage"].value).toFixed(2)+" ":"")+(r["jvm.memory.pools.Perm-Gen.usage"]?"Perm Gen Usage "+(100*r["jvm.memory.pools.Perm-Gen.usage"].value).toFixed(2)+" ":"")+(r["jvm.memory.pools.Tenured-Gen.usage"]?"Tenured Gen Usage "+(100*r["jvm.memory.pools.Tenured-Gen.usage"].value).toFixed(2)+" ":"")+(r["jvm.memory.pools.miscellaneous-non-heap-storage.usage"]?"Misc Non Heap Storage Usage "+(100*r["jvm.memory.pools.miscellaneous-non-heap-storage.usage"].value).toFixed(2)+" ":"")+(r["jvm.memory.pools.Survivor-Space.usage"]?"Survivor Space Usage "+(100*r["jvm.memory.pools.Survivor-Space.usage"].value).toFixed(2)+" ":"")+(r["jvm.memory.pools.Eden-Space.usage"]?"Eden Space Usage "+(100*r["jvm.memory.pools.Eden-Space.usage"].value).toFixed(2)+" ":"")+"
Garbage Collection PS Mark Sweep Runs "+r["jvm.gc.MarkSweepCompact.count"].value+" PS Mark Sweep Time "+r["jvm.gc.MarkSweepCompact.time"].value+" GC Copy Runs "+r["jvm.gc.Copy.count"].value+" GC Copy Time "+r["jvm.gc.Copy.time"].value+"
Threads FD Usage "+o(r["jvm.fd.usage"].value,2)+" Daemon Threads "+r["jvm.thread-states.daemon.count"].value+" Threads "+r["jvm.thread-states.count"].value+" Deadlocks "+r["jvm.thread-states.deadlocks"].value+"
Thread States Terminated "+r["jvm.thread-states.terminated.count"].value+" Timed Waiting "+r["jvm.thread-states.timed_waiting.count"].value+" Blocked "+r["jvm.thread-states.blocked.count"].value+" Waiting "+r["jvm.thread-states.waiting.count"].value+" Runnable "+r["jvm.thread-states.runnable.count"].value+" New "+r["jvm.thread-states.new.count"].value+"
";i.html(a)}function M(e){var n=t("#"+e.divId),i="
";n.html(i),u(e.components.requestsInfo),l(e.components.activeRequestsInfo);for(var r=e.components.meters.length,o=0;o
"+e.title+"
";
+n.html(i);for(var r=e.components.meters.length,o=0;o=0&&i=0&&n0){var i=t[n];t.splice(n,1),t.splice(0,0,i)}})}})})}function v(e){if(e){var t=e.parent,n=e.entries;if(t&&!t.typeName&&n){var i=n.endpoint;"Consumer"!==i&&"Producer"!==i||(t.typeName=i);var r=n.connectorName;r&&!e.icon&&(e.icon=UrlHelpers.join(g,"/img/icons/activemq/connector.png"))}angular.forEach(e.children,function(e){return v(e)})}}d['{ "main-tab": "activemq" }']="plugins/activemq/html/layoutActiveMQTree.html",h.addUserDoc("activemq","plugins/activemq/doc/help.md",function(){return u.treeContainsDomainAndProperties("org.apache.activemq")}),p.addTab("ActiveMQ","plugins/activemq/html/preferences.html",function(){return u.treeContainsDomainAndProperties("org.apache.activemq")}),u.addTreePostProcessor(m);var y=u.attributeColumnDefs;y[e.jmxDomain+"/Broker/folder"]=[{field:"BrokerName",displayName:"Name",width:"**"},{field:"TotalProducerCount",displayName:"Producer"},{field:"TotalConsumerCount",displayName:"Consumer"},{field:"StorePercentUsage",displayName:"Store %"},{field:"TempPercentUsage",displayName:"Temp %"},{field:"MemoryPercentUsage",displayName:"Memory %"},{field:"TotalEnqueueCount",displayName:"Enqueue"},{field:"TotalDequeueCount",displayName:"Dequeue"}],y[e.jmxDomain+"/Queue/folder"]=[{field:"Name",displayName:"Name",width:"***"},{field:"QueueSize",displayName:"Queue Size"},{field:"ProducerCount",displayName:"Producer"},{field:"ConsumerCount",displayName:"Consumer"},{field:"EnqueueCount",displayName:"Enqueue"},{field:"DequeueCount",displayName:"Dequeue"},{field:"MemoryPercentUsage",displayName:"Memory %"},{field:"DispatchCount",displayName:"Dispatch",visible:!1}],y[e.jmxDomain+"/Topic/folder"]=[{field:"Name",displayName:"Name",width:"****"},{field:"ProducerCount",displayName:"Producer"},{field:"ConsumerCount",displayName:"Consumer"},{field:"EnqueueCount",displayName:"Enqueue"},{field:"DequeueCount",displayName:"Dequeue"},{field:"MemoryPercentUsage",displayName:"Memory %"},{field:"DispatchCount",displayName:"Dispatch",visible:!1}],y[e.jmxDomain+"/Consumer/folder"]=[{field:"ConnectionId",displayName:"Name",width:"**"},{field:"PrefetchSize",displayName:"Prefetch Size"},{field:"Priority",displayName:"Priority"},{field:"DispatchedQueueSize",displayName:"Dispatched Queue #"},{field:"SlowConsumer",displayName:"Slow ?"},{field:"Retroactive",displayName:"Retroactive"},{field:"Selector",displayName:"Selector"}],y[e.jmxDomain+"/networkConnectors/folder"]=[{field:"Name",displayName:"Name",width:"**"},{field:"UserName",displayName:"User Name"},{field:"PrefetchSize",displayName:"Prefetch Size"},{field:"ConduitSubscriptions",displayName:"Conduit Subscriptions?"},{field:"Duplex",displayName:"Duplex"},{field:"DynamicOnly",displayName:"Dynamic Only"}],y[e.jmxDomain+"/PersistenceAdapter/folder"]=[{field:"IndexDirectory",displayName:"Index Directory",width:"**"},{field:"LogDirectory",displayName:"Log Directory",width:"**"}];var b="/jmx/attributes",x=l.builder(),w=x.id("activemq").title(function(){return"ActiveMQ"}).defaultPage({rank:15,isValid:function(t,n){var i="ActiveMQDefaultPage";u.addNamedTreePostProcessor(i,function(r){u.removeNamedTreePostProcessor(i),u.treeContainsDomainAndProperties(e.jmxDomain)?t():n()})}}).href(function(){return b}).isValid(function(){return u.treeContainsDomainAndProperties(e.jmxDomain)}).build();w.tabs=Jmx.getNavItems(x,u,f,"activemq"),w.tabs.push({id:"activemq-browse",title:function(){return' Browse'},tooltip:function(){return"Browse the messages on the queue"},show:function(){return n(u)&&u.hasInvokeRights(u.selection,"browse()")},href:function(){return"/activemq/browseQueue"+u.hash()}}),w.tabs.push({id:"activemq-send",title:function(){return' Send'},tooltip:function(){return"Send a message to this destination"},show:function(){return(n(u)||i(u))&&u.hasInvokeRights(u.selection,"sendTextMessage(java.util.Map,java.lang.String,java.lang.String,java.lang.String)")},href:function(){return"/activemq/sendMessage"+u.hash()}}),w.tabs.push({id:"activemq-durable-subscribers",title:function(){return' Durable Subscribers'},tooltip:function(){return"Manage durable subscribers"},show:function(){return s(u)},href:function(){return"/activemq/durableSubscribers"+u.hash()}}),w.tabs.push({id:"activemq-jobs",title:function(){return' Jobs'},tooltip:function(){return"Manage jobs"},show:function(){return a(u)},href:function(){return"/activemq/jobs"+u.hash()}}),w.tabs.push({id:"activemq-create-destination",title:function(){return' Create'},tooltip:function(){return"Create a new destination"},show:function(){return(s(u)||r(u)||o(u)||n(u)||i(u))&&u.hasInvokeRights(t(u),"addQueue","addTopic")},href:function(){return"/activemq/createDestination"+u.hash()}}),w.tabs.push({id:"activemq-delete-topic",title:function(){return' Delete'},tooltip:function(){return"Delete this topic"},show:function(){return i(u)&&u.hasInvokeRights(t(u),"removeTopic")},href:function(){return"/activemq/deleteTopic"+u.hash()}}),w.tabs.push({id:"activemq-delete-queue",title:function(){return' Delete'},tooltip:function(){return"Delete or purge this queue"},show:function(){return n(u)&&u.hasInvokeRights(t(u),"removeQueue")},href:function(){return"/activemq/deleteQueue"+u.hash()}}),l.add(w)}]),hawtioPluginLoader.addModule(e.pluginName),e.getBroker=t,e.isQueue=n,e.isTopic=i,e.isQueuesFolder=r,e.isTopicsFolder=o,e.isJobScheduler=a,e.isBroker=s}(ActiveMQ||(ActiveMQ={}));var ActiveMQ;!function(e){e.BrowseQueueController=e._module.controller("ActiveMQ.BrowseQueueController",["$scope","workspace","jolokia","localStorage","$location","activeMQMessage","$timeout","$dialog","$templateCache",function(t,n,i,r,o,a,s,l,c){function u(e){var n=e.value;angular.isArray(n)?t.allMessages=n:(t.allMessages=[],angular.forEach(n,function(e,n){t.allMessages.push(e)})),angular.forEach(t.allMessages,function(e){e.openMessageDialog=t.openMessageDialog,e.headerHtml=h(e),e.bodyText=d(e)}),x(t.gridOptions.filterOptions.filterText),Core.$apply(t)}function d(e){if(e.Text){var t=e.Text,n=""+t.length;return e.textMode="text ("+n+" chars)",t}if(e.BodyPreview){var t,i=Core.parseIntValue(r.activemqBrowseBytesMessages||"1","browse bytes messages");if(e.textMode="bytes (turned off)",99!=i){var o=[],a=[];e.BodyPreview.forEach(function(e){if(1!==i&&2!==i||a.push(String.fromCharCode(e)),1===i||4===i){var t=e.toString(16);1===t.length&&(t="0"+t),o.push(t)}else{var t=e.toString(10);o.push(t)}});var s=o.join(" "),l=a.join("");if(1===i||2===i){var c=e.BodyPreview.length,n=""+a.length;t="bytes:\n"+s+"\n\ntext:\n"+l,e.textMode="bytes ("+c+" bytes) and text ("+n+" chars)"}else{var c=e.BodyPreview.length;t=s,e.textMode="bytes ("+c+" bytes)"}}return t}return e.textMode="unsupported","Unsupported message body type which cannot be displayed by hawtio"}function h(e){function t(e,t){return e>t?1:eHeader - '+e+''+t+" ")}function i(e){var t=o[e];null===t&&(t=""),u.push(''+e+' '+t+" ")}var r=p(e),o=f(e),a=_.keys(r),s=_.keys(o).sort(t),l=_.filter(a,function(e){return _.startsWith(e,"JMS")}).sort(t),c=_.difference(a,l.concat(s)).sort(t),u=[];return l.forEach(n),c.forEach(n),s.forEach(i),u.join("\n")}function p(e){var t={};return angular.forEach(e,function(e,n){_.some(T,function(e){return e===n})||_.some(D,function(e){return e===n})||(t[_.escape(n)]=_.escape(e))}),t}function f(e){var t={};return angular.forEach(e,function(e,n){!_.some(T,function(e){return e===n})&&_.some(D,function(e){return e===n})&&angular.forEach(e,function(e,i){t[''+n.replace("Properties"," Property")+" - "+_.escape(i)]=_.escape(e)})}),t}function g(){var e;if(n.selection)e=n.selection.objectName;else{var r=o.search().nid,a=n.keyToNodeMap[r];e=a.objectName}e&&(t.dlq=!1,i.getAttribute(e,"DLQ",Core.onSuccess(m,{silent:!0})),i.request({type:"exec",mbean:e,operation:"browse()"},Core.onSuccess(u)))}function m(e){t.dlq=e,Core.$apply(t)}function v(){}function y(){t.gridOptions.selectedItems.splice(0),Core.notification("success",t.message),setTimeout(g,50)}function b(){y(),n.loadTree()}function x(e){var t=S(e);w(t)}function w(n){n&&0!==n.length?(e.log.debug("Filtering conditions:",n),t.messages=t.allMessages.filter(function(t){e.log.debug("Message:",t);var i=!0;return $.each(n,function(e,n){i=n.column?i&&t[n.column]&&n.regex.test(t[n.column])||t.StringProperties&&t.StringProperties[n.column]&&n.regex.test(t.StringProperties[n.column]):i&&C(t,n.regex)}),i})):t.messages=t.allMessages}function C(e,t){for(var n=["JMSDestination","JMSDeliveryMode","JMSExpiration","JMSPriority","JMSMessageID","JMSTimestamp","JMSCorrelationID","JMSReplyTo","JMSType","JMSRedelivered"],i=0;i|\[|\]|\{|\}|\\|\||\.|\*|\+|\?)/g,"\\$1"))}}function S(e){var t,n=[];if(t=$.trim(e)){for(var i=t.split(";"),r=0;r1){var a=$.trim(o[0]),s=$.trim(o[1]);a&&s&&n.push({column:a,columnDisplay:a.replace(/\s+/g,"").toLowerCase(),regex:k(s,"i")})}else{var l=$.trim(o[0]);l&&n.push({column:"",regex:k(l,"i")})}}return n}}t.searchText="",t.workspace=n,t.allMessages=[],t.messages=[],t.headers={},t.mode="text",t.gridOptions={selectedItems:[],data:"messages",displayFooter:!1,showFilter:!1,showColumnMenu:!0,enableColumnResize:!0,enableColumnReordering:!0,enableHighlighting:!0,filterOptions:{filterText:"",useExternalFilter:!0},selectWithCheckboxOnly:!0,showSelectionCheckbox:!0,maintainColumnRatios:!1,columnDefs:[{field:"JMSMessageID",displayName:"Message ID",cellTemplate:'',width:"34%"},{field:"JMSType",displayName:"Type",width:"10%"},{field:"JMSPriority",displayName:"Priority",width:"7%"},{field:"JMSTimestamp",displayName:"Timestamp",width:"19%"},{field:"JMSExpiration",displayName:"Expires",width:"10%"},{field:"JMSReplyTo",displayName:"Reply To",width:"10%"},{field:"JMSCorrelationID",displayName:"Correlation ID",width:"10%"}],primaryKeyFn:function(e){return e.JMSMessageID}},t.showMessageDetails=!1;var T=["PropertiesText","BodyPreview","Text","openMessageDialog"],D=["BooleanProperties","ByteProperties","ShortProperties","IntProperties","LongProperties","FloatProperties","DoubleProperties","StringProperties"];t.$watch("workspace.selection",function(){n.moveIfViewInvalid()||setTimeout(g,50)}),t.$watch("gridOptions.filterOptions.filterText",function(e){x(e)}),t.openMessageDialog=function(n){e.selectCurrentMessage(n,"JMSMessageID",t),t.row&&(t.mode=CodeEditor.detectTextFormat(t.row.Text),t.showMessageDetails=!0)},t.refresh=g,e.decorate(t),t.moveMessages=function(){var e=n.selection,r=e.objectName;if(r&&e){var o=t.gridOptions.selectedItems;l.dialog({resolve:{selectedItems:function(){return o},gridOptions:function(){return t.gridOptions},queueNames:function(){return t.queueNames},parent:function(){return t}},template:c.get("activemqMoveMessageDialog.html"),controller:["$scope","dialog","selectedItems","gridOptions","queueNames","parent",function(e,t,n,o,a,s){e.selectedItems=n,e.gridOptions=o,e.queueNames=a,e.queueName="",e.close=function(o){if(t.close(),o){s.message="Moved "+Core.maybePlural(n.length,"message")+" to "+e.queueName;var a="moveMessageTo(java.lang.String, java.lang.String)";angular.forEach(n,function(t,o){var s=t.JMSMessageID;if(s){var l=o+11&&(i=a.objectName,!i&&a&&(i=a.parent.objectName),i||(i=""+o[0]+":BrokerName="+o[1]+",Type=Broker")),i}t.workspace=n,t.message="",t.destinationName="",t.destinationTypeName=t.queueType?"Queue":"Topic",t.deleteDialog=!1,t.purgeDialog=!1,o(),t.$watch("queueType",function(){o()}),t.$watch("workspace.selection",function(){n.moveIfViewInvalid(),t.queueType=e.isTopicsFolder(n)||e.isTopic(n)?"false":"true",t.name=Core.pathGet(n,["selection","title"])}),t.createDestination=function(e,n){var i=l(r);if(i){var o;"true"===n?(o="addQueue(java.lang.String)",t.message="Created queue "+e):(o="addTopic(java.lang.String)",t.message="Created topic "+e),i?r.execute(i,o,e,Core.onSuccess(a)):Core.notification("error","Could not find the Broker MBean!")}},t.deleteDestination=function(){var e=l(r),i=n.selection,o=i.entries;if(e&&i&&r&&o){var a=(i.domain,o.Destination||o.destinationName||i.title);a=_.unescape(a);var c,u="Topic"!==(o.Type||o.destinationType);u?(c="removeQueue(java.lang.String)",t.message="Deleted queue "+a):(c="removeTopic(java.lang.String)",t.message="Deleted topic "+a),r.execute(e,c,a,Core.onSuccess(s))}},t.purgeDestination=function(){var e=n.getSelectedMBeanName(),i=n.selection,o=i.entries;if(e&&i&&r&&o){var s=o.Destination||o.destinationName||i.title;s=_.unescape(s);var l="purge()";t.message="Purged queue "+s,r.execute(e,l,Core.onSuccess(a))}}}])}(ActiveMQ||(ActiveMQ={}));var ActiveMQ;!function(e){e._module.controller("ActiveMQ.DurableSubscriberController",["$scope","workspace","jolokia",function(t,n,i){function r(){var e=a(i);e&&(t.durableSubscribers=[],i.request({type:"read",mbean:e,attribute:["DurableTopicSubscribers"]},Core.onSuccess(function(e){return o(e,"DurableTopicSubscribers","Active")})),i.request({type:"read",mbean:e,attribute:["InactiveDurableTopicSubscribers"]},Core.onSuccess(function(e){return o(e,"InactiveDurableTopicSubscribers","Offline")})))}function o(n,i,r){var o=n.value;e.log.debug("Got data: ",o),t.durableSubscribers.push.apply(t.durableSubscribers,o[i].map(function(e){var t=e.objectName,n=Core.objectNameProperties(t);return"objectName"in e||("canonicalName"in e&&(t=e.canonicalName),n=_.cloneDeep(e.keyPropertyList)),n._id=t,n.status=r,n})),Core.$apply(t)}function a(t){var i=null,r=n.selection;if(r&&e.isBroker(n)&&r.objectName)return r.objectName;var o=r.folderNames,a=r?r.parent:null;return r&&a&&t&&o&&o.length>1&&(i=a.objectName,!i&&a&&(i=a.parent.objectName),i||(i=""+o[0]+":BrokerName="+o[1]+",Type=Broker")),i}t.refresh=r,t.durableSubscribers=[],t.tempData=[],t.createSubscriberDialog=new UI.Dialog,t.deleteSubscriberDialog=new UI.Dialog,t.showSubscriberDialog=new UI.Dialog,t.topicName="",t.clientId="",t.subscriberName="",t.subSelector="",t.gridOptions={selectedItems:[],data:"durableSubscribers",displayFooter:!1,showFilter:!1,showColumnMenu:!0,enableCellSelection:!1,enableColumnResize:!0,enableColumnReordering:!0,selectWithCheckboxOnly:!1,showSelectionCheckbox:!1,multiSelect:!1,displaySelectionCheckbox:!1,filterOptions:{filterText:""},maintainColumnRatios:!1,columnDefs:[{field:"destinationName",displayName:"Topic",width:"30%"},{field:"clientId",displayName:"Client ID",width:"30%"},{field:"consumerId",displayName:"Consumer ID",cellTemplate:'{{row.entity.consumerId}} {{row.entity.consumerId}} ',width:"30%"},{field:"status",displayName:"Status",width:"10%"}],primaryKeyFn:function(e){return e.destinationName+"/"+e.clientId+"/"+e.consumerId}},t.doCreateSubscriber=function(e,n,o,s){t.createSubscriberDialog.close(),t.clientId=e,t.subscriberName=n,t.topicName=o,t.subSelector=s,Core.isBlank(t.subSelector)&&(t.subSelector=null);var l=a(i);l?i.execute(l,"createDurableSubscriber(java.lang.String, java.lang.String, java.lang.String, java.lang.String)",t.clientId,t.subscriberName,t.topicName,t.subSelector,Core.onSuccess(function(){Core.notification("success","Created durable subscriber "+e),t.clientId="",t.subscriberName="",t.topicName="",t.subSelector="",r()})):Core.notification("error","Could not find the Broker MBean!")},t.deleteSubscribers=function(){var e=t.gridOptions.selectedItems[0]._id;i.execute(e,"destroy()",Core.onSuccess(function(){t.showSubscriberDialog.close(),Core.notification("success","Deleted durable subscriber"),r(),t.gridOptions.selectedItems.splice(0,t.gridOptions.selectedItems.length)}))},t.openSubscriberDialog=function(e){i.request({type:"read",mbean:e.entity._id},Core.onSuccess(function(n){t.showSubscriberDialog.subscriber=n.value,t.showSubscriberDialog.subscriber.Status=e.entity.status,console.log("Subscriber is now "+t.showSubscriberDialog.subscriber),Core.$apply(t),setTimeout(function(){t.showSubscriberDialog.open(),Core.$apply(t)},100)}))},t.topicNames=function(t){var i=e.getSelectionTopicsFolder(n);return i?i.children.map(function(e){return e.title}):[]},t.$watch("workspace.selection",function(){n.moveIfViewInvalid()||setTimeout(r,50)})}])}(ActiveMQ||(ActiveMQ={}));var ActiveMQ;!function(e){e._module.controller("ActiveMQ.JobSchedulerController",["$scope","workspace","jolokia",function(e,t,n){function i(){var i=t.selection;if(i){var o=i.objectName;o&&n.request({type:"read",mbean:o,attribute:"AllJobs"},Core.onSuccess(r))}Core.$apply(e)}function r(t){var n=t.value;angular.isArray(n)?e.jobs=n:(e.jobs=[],angular.forEach(n,function(t,n){e.jobs.push(t)})),Core.$apply(e)}function o(){}function a(){e.gridOptions.selectedItems.splice(0),Core.notification("success",e.message),setTimeout(i,50)}e.refresh=i,e.jobs=[],e.deleteJobsDialog=new UI.Dialog,e.gridOptions={selectedItems:[],data:"jobs",displayFooter:!1,showFilter:!1,showColumnMenu:!0,enableColumnResize:!0,enableColumnReordering:!0,filterOptions:{filterText:""},selectWithCheckboxOnly:!0,showSelectionCheckbox:!0,maintainColumnRatios:!1,columnDefs:[{field:"jobId",displayName:"Job ID",width:"25%"},{field:"cronEntry",displayName:"Cron Entry",width:"10%"},{field:"delay",displayName:"Delay",width:"5%"},{field:"repeat",displayName:"repeat",width:"5%"},{field:"period",displayName:"period",width:"5%"},{field:"start",displayName:"Start",width:"25%"},{field:"next",displayName:"Next",width:"25%"}],primaryKeyFn:function(e){return e.jobId}},e.$watch("workspace.selection",function(){t.moveIfViewInvalid()||setTimeout(i,50)}),e.deleteJobs=function(){var i=t.selection,r=i.objectName;if(r&&i){var s=e.gridOptions.selectedItems;e.message="Deleted "+Core.maybePlural(s.length,"job");var l="removeJob(java.lang.String)";angular.forEach(s,function(e,t){var i=e.jobId;if(i){var c=t+10){var o=t[n],a="ActiveMQ-allTopics-"+e.title,s=_.clone(o.children);i.mapData[a]=s;var l=Core.parseBooleanValue(r.activemqFilterAdvisoryTopics);if(l){if(o&&o.children){var c=_.filter(o.children,function(e){return!_.startsWith(e.title,"ActiveMQ.Advisory")});o.children=c}}else s&&(o.children=s)}}});var h=$("#activemqtree");Jmx.enableTree(t,n,i,h,o,!0),setTimeout(a,50)}}function a(){Jmx.updateTreeSelectionFromURLAndAutoSelect(n,$("#activemqtree"),function(e){var t=e.getChildren()[0];return t&&"Queue"===t.data.title?(e=t,e.expand(!0),e):null},!0)}t.$on("$routeChangeSuccess",function(e,t,n){setTimeout(a,50)}),t.$watch("workspace.tree",function(){o()}),t.$on("jmxTreeUpdated",function(){o()})}])}(ActiveMQ||(ActiveMQ={}));var Camel;!function(e){function t(e,t){if(null!==we)return we;var n=q(e);return n&&t.request({type:"read",mbean:n,attribute:["NumberOfRestServices"]},Core.onSuccess(function(e){var t=e.value;we=t>0})),!0}function n(e,t,n,i){function r(e){var t=null,n=e?e.value:null;if(n){var r=$.parseXML(n),a=$(r).find("route[id='"+o+"']");a&&a.length&&(t=a[0])}i(t)}var o=Y(e,n),a=O(e);a&&o?t.request({type:"exec",mbean:a,operation:"dumpRoutesAsXml()"},Core.onSuccess(r,{error:r})):(o||console.log("No selectedRouteId when trying to lazy load the route!"),i(null))}function i(e){var t=null;if(e&&(t=e.getAttribute("uri"),!t)){var n=e.getAttribute("ref");if(n){var i=e.getAttribute("method");t=i?n+"."+i+"()":"ref:"+n}}return t}function r(t,n){void 0===n&&(n={});var i=t.camelNodeData;if(!i){var r=t.routeXmlNode;r&&(i=e.getRouteNodeJSON(r)),i||(i=n),t.camelNodeData=i}return i}function o(t,n){if(void 0===n&&(n={}),
+t){angular.forEach(t.attributes,function(e){n[e.name]=e.value});var i=t.localName;"route"!==i&&"routes"!==i&&"camelContext"!==i&&"rests"!==i&&$(t).children("*").each(function(t,i){var r=i.localName,a=e.camelLanguageSettings(r);if(a)n.expression={language:r,expression:i.textContent};else if(!g(r)){var s=o(i);s&&(s.expression&&(s=s.expression),"completionSize"===r?r="completionSizeExpression":"completionTimeout"===r&&(r="completionTimeoutExpression"),n[r]=s)}})}return n}function a(e,t){return void 0===t&&(t=" "),e+t}function s(e,t,n){function i(t,n,o){if(void 0===o&&(o=!1),angular.isArray(t))$(e).children(n).remove(),angular.forEach(t,function(e){i(e,n,!0)});else if(angular.isObject(t)){var a=null;if("expression"===n){var l=t.language;l&&(n=l,a=t.expression,t=angular.copy(t),delete t.expression,delete t.language)}var c=$(e).children(n),u=null;if(!o&&c&&c.length)u=c[0];else{var d=e.ownerDocument||document;e.appendChild(d.createTextNode("\n"+r)),u=d.createElementNS(e.namespaceURI,n),a&&u.appendChild(d.createTextNode(a)),e.appendChild(u)}s(u,t,r),a&&c.text(a)}else if(t)if(_.startsWith(n,"_"));else{var h=t.toString();e.setAttribute(n,h)}else e.removeAttribute(n)}if(e){var r=a(n);angular.forEach(t,function(e,t){return i(e,t,!1)})}}function l(e){var t=null;if(e){var n=e.localName;t=n?f(n):e}if(t){var i=t.icon||"generic24.png";return UrlHelpers.join("img/icons/camel/",i)}return null}function c(e){var t=e.selection;if(t&&t.objectName&&t.typeName&&"endpoints"===t.typeName){var n=Core.parseMBean(t.objectName);if(!n)return null;var i=n.attributes;if(!i)return null;if(!("name"in i))return null;var r=i.name;return r=r.replace("\\?","?"),_.startsWith(r,'"')&&(r=r.substr(1)),_.endsWith(r,'"')&&(r=r.substr(0,r.length-1)),r}return null}function u(e){if(angular.isString(e)){var t=e.replace("?","\\?");return t=t.replace(/\:(\/[^\/])/,"://$1"),t=t.replace(/\:([^\/])/,"://$1")}return e}function d(t){return{uri:e.getSelectedEndpointName(t),mbean:e.getSelectionCamelContextMBean(t)}}function h(t){var n=t.selection||t.getSelectedMBean();return n&&e.jmxDomain===n.domain?n.routeXmlNode:null}function p(t){var n=t.selection;n&&e.jmxDomain===n.domain&&delete n.routeXmlNode}function f(t){return angular.isObject(t)?t:Forms.lookupDefinition(t,e._apacheCamelModel)}function g(t){return null!=Forms.lookupDefinition(t,e._apacheCamelModel)}function m(e){var t=f(e);return t?t.nextSiblingAddedAsChild||!1:null}function v(e){var t=f(e);return t?t.acceptInput||!1:null}function y(e){var t=f(e);return t?t.acceptOutput||!1:null}function b(t){return e._apacheCamelModel.languages[t]}function x(e){return!(!b(e)&&"expression"!==e)}function w(t,n){var i=t;angular.isString(t)&&(i=$.parseXML(t));var r="camelContext",o=new Folder(r);o.addClass="org-apache-camel-context",o.domain=e.jmxDomain,o.typeName="context",o.key=Core.toSafeDomID(n);var a=$(i).find("camelContext");return a&&a.length||(a=$(i).find("routes")),a&&a.length&&(o.xmlDocument=i,o.routeXmlNode=a,$(a).children("route").each(function(t,n){var i=n.getAttribute("id");i||(i="route"+t,n.setAttribute("id",i));var r=new Folder(i);r.addClass="org-apache-camel-route",r.typeName="routes",r.domain=e.jmxDomain,r.key=o.key+"_"+Core.toSafeDomID(i),r.parent=o;var a=f("route");if(a){var s=l(a);r.tooltip=a.tooltip||a.description||i,r.icon=s}o.children.push(r),C(r,n)})),o}function C(e,t){e.children=[],e.routeXmlNode=t,t.setAttribute("_cid",e.key),$(t).children("*").each(function(t,n){k(e,n)})}function k(t,n){var i=n.localName;if(i){var r=f(i);if(r){var o=l(r),a=new Folder(i);a.domain=e.jmxDomain,a.typeName="routeNode",N(a,n,r),a.parent=t,a.folderNames=t.folderNames;for(var s=n.getAttribute("id")||i,c=t.key+"_"+Core.toSafeDomID(s),u=1,d=!0;d;){var h=c+u;t.children.indexOf({key:h})!==-1?u+=1:(d=!1,c=h)}return a.key=c,a.icon=o,a.routeXmlNode=n,t.children||(t.children=[]),t.children.push(a),C(a,n),a}}return null}function S(t){var n=t?t.tree:null;return n?n.get(e.jmxDomain):null}function T(e,t){var n=null,i=S(e);return i&&t&&angular.forEach(i.children,function(e){n||t!==e.title||(n=e)}),n}function D(e,t){var n=T(e,t);if(n){var i=n.navigate("context");if(i&&i.children&&i.children.length){var r=i.children[0];return r.objectName}}return null}function E(e){var t=null,n=e.selection;if(n){var i=n.entries;if(i){var r=i.context,o=i.name,a=i.type;if("endpoints"===a)return A(r,o);if("routes"===a)return P(r,o)}}return t}function A(e,t){var n=null;return e&&t&&(n="#/camel/endpoint/browse/"+e+"/"+t),n}function P(e,t){var n=null;return e&&t&&(n="#/camel/route/diagram/"+e+"/"+t),n}function I(e){var t=Core.pathGet(e,["routeXmlNode","localName"]);return"from"===t||"to"===t?"endpoint":t}function M(t,n,i){void 0===i&&(i=e.increaseIndent(""));var r=t.data||t,o=0,a=I(r);if(r){if(!n){n=document.createElement(a);var s=e.getRouteFolderJSON(r);s&&e.setRouteNodeJSON(n,s,i)}var l=n.ownerDocument||document,c=n.namespaceURI,u="route"!==a,d=e.increaseIndent(i);angular.forEach(t.children||t.getChildren(),function(t){var i=t.data||t,r=e.getFolderCamelNodeId(i),a=e.getRouteFolderJSON(i);if(r&&a){var s=!1;if("endpoint"===r&&(u?r="to":(r="from",u=!0)),"expression"===r){var h=a.language;h&&(r=h,s=!0)}n.appendChild(l.createTextNode("\n"+d));var p=l.createElementNS(c,r);e.setRouteNodeJSON(p,a,d),n.appendChild(p),o+=1,M(t,p,d)}}),o&&n.appendChild(l.createTextNode("\n"+i))}return n}function N(t,n,r){var o=n.localName,a=n.getAttribute("id"),s=r.title||o,l=r.tooltip||r.description||s;if(a)s=a;else{var c=i(n);if(c){s=c;var u=c.split("?");u&&u.length>1&&(s=u[0]),l+=" "+c}else{var d=$(n).children("*");if(d&&d.length){var h=d[0],p=h.localName,f=null;e.isCamelLanguage(p)&&(f=h.textContent,f||(f=h.getAttribute("expression"))),f&&(s+=" "+f,l+=" "+p+" expression")}}}return t.title=s,t.tooltip=l,s}function O(e){if(e){var t=z(e),n=e.selection,i=e.tree;if(i&&n){var r=n.domain;if(r&&t){var o=i.navigate(r,t,"context");if(o&&o.children){var a=_.first(o.children);if(a.title){var s=a.title;return""+r+":context="+t+',type=context,name="'+s+'"'}}}}}return null}function L(e){if(e){var t=z(e),n=e.selection,i=e.tree;if(i&&n){var r=n.domain;if(r&&t)return i.navigate(r,t,"endpoints")}}return null}function j(e){if(e){var t=z(e),n=e.selection,i=e.tree;if(i&&n){var r=n.domain;if(r&&t){var o=i.navigate(r,t,"tracer");if(o&&o.children){var a=o.children.find(function(e){return _.startsWith(e.title,"BacklogTracer")});if(a)return a.objectName}}}}return null}function R(e){if(e){var t=z(e),n=e.selection,i=e.tree;if(i&&n){var r=n.domain;if(r&&t){var o=i.navigate(r,t,"tracer");if(o&&o.children){var a=o.children.find(function(e){return _.startsWith(e.title,"BacklogDebugger")});if(a)return a.objectName}}}}return null}function F(e){if(e){var t=z(e),n=e.selection,i=e.tree;if(i&&n){var r=n.domain;if(r&&t){var o=i.navigate(r,t,"services");if(o&&o.children){var a=o.children.find(function(e){return _.startsWith(e.title,"DefaultTypeConverter")});if(a)return a.objectName}}}}return null}function q(e){if(e){var t=z(e),n=e.selection,i=e.tree;if(i&&n){var r=n.domain;if(r&&t){var o=i.navigate(r,t,"services");if(o&&o.children){var a=o.children.find(function(e){return _.startsWith(e.title,"DefaultRestRegistry")});if(a)return a.objectName}}}}return null}function H(e){if(e){var t=z(e),n=e.selection,i=e.tree;if(i&&n){var r=n.domain;if(r&&t){var o=i.navigate(r,t,"services");if(o&&o.children){var a=o.children.find(function(e){return _.startsWith(e.title,"DefaultRuntimeEndpointRegistry")});if(a)return a.objectName}}}}return null}function V(e){if(e){var t=z(e),n=e.selection,i=e.tree;if(i&&n){var r=n.domain;if(r&&t){var o=i.navigate(r,t,"services");if(o&&o.children){var a=o.children.find(function(e){return _.startsWith(e.title,"DefaultInflightRepository")});if(a)return a.objectName}}}}return null}function B(e){if(e){var t=z(e),n=e.selection,i=e.tree;if(i&&n){var r=n.domain;if(r&&t){var o=i.navigate(r,t,"services");if(o&&o.children){var a=o.children.find(function(e){return _.startsWith(e.title,"DefaultAsyncProcessorAwaitManager")});if(a)return a.objectName}}}}return null}function U(e){if(e){var t=z(e),n=e.selection,i=e.tree;if(i&&n){var r=n.domain;if(r&&t){var o=i.navigate(r,t,"services");if(o&&o.children){var a=o.children.find(function(e){return _.startsWith(e.title,"MetricsRegistryService")});if(a)return a.objectName}}}}return null}function z(e){var t=e.selection;if(t&&(t=t.findAncestor(function(e){return"context"===e.title||null!=e.parent&&"org.apache.camel"===e.parent.title}))){var n,i=e.tree,r=t.folderNames,o=t.entries;i&&(r&&r.length>1?n=r[1]:o&&(n=o.context))}return n}function W(e,t){var n=(e.State||"").toLowerCase();return angular.isArray(t)?t.some(function(e){return _.startsWith(n,e)}):_.startsWith(n,t)}function G(e){if(e)switch(e.toLowerCase()){case"started":return"green fa fa-play-circle";case"suspended":return"fa fa-pause"}return"orange fa fa-off"}function Y(e,t){void 0===t&&(t=null);var n=t||e.selection,i=null;if(n&&n&&n.entries){var r=n.entries.type,o=n.entries.name;"routes"===r&&o&&(i=Core.trimQuotes(o))}return i}function X(e,t){if(e){var n=z(e),i=e.selection,r=e.tree;if(r&&i){var o=i.domain;if(o&&n){var a=r.navigate(o,n,"routes");if(a&&a.children){var s=_.find(a.children,function(e){return e.title===t});if(s)return s.objectName}}}}return null}function J(e,t){if(e){var n=z(e),i=e.selection,r=e.tree;if(r&&i){var o=i.domain;if(o&&n){var a=r.navigate(o,n,"context");if(a&&a.children){var s=_.first(a.children);return s.version}}}}return null}function K(e){var t=$(e),n=t.children("uid").text(),i=t.children("timestamp").text(),r={headers:{},headerTypes:{},id:null,uid:n,timestamp:i,headerHtml:""},o=t.children("message")[0];o||(o=e);var a=$(o),s=a.find("header"),l="";s.each(function(e,t){var n=t.getAttribute("key"),i=t.getAttribute("type"),o=t.textContent;n&&(o&&(r.headers[n]=o),i&&(r.headerTypes[n]=i),l+=""+n+" "+Q(i)+" "+(o||"")+" ")}),r.headerHtml=l;var c=r.headers.breadcrumbId;if(!c){var u=["MessageID","ID","Path","Name"];angular.forEach(u,function(e){c||angular.forEach(r.headers,function(t,n){!c&&_.endsWith(n,e)&&(c=t)})}),angular.forEach(r.headers,function(e,t){c||(c=e)})}r.id=c;var d=a.children("body")[0];if(d){var h=d.textContent,p=d.getAttribute("type");r.body=h,r.bodyType=Q(p)}return r}function Q(e){return e?_.startsWith(e,"java.lang")?e.substr(10):e:""}function Z(){return{selectedItems:[],data:"messages",displayFooter:!1,showFilter:!1,showColumnMenu:!0,enableColumnResize:!0,enableColumnReordering:!0,filterOptions:{filterText:""},selectWithCheckboxOnly:!0,showSelectionCheckbox:!0,maintainColumnRatios:!1,columnDefs:[{field:"id",displayName:"ID",cellTemplate:''}]}}function ee(t,n,i,r,o,a){var s=$(n).find("route"),l=a/s.length,c=0;s.each(function(n,a){var s=a.getAttribute("id");i&&s&&i!==s||(e.addRouteXmlChildren(t,a,r,o,null,c,0),c+=l)})}function te(t,n,r,o,a,s,c,u){void 0===u&&(u=null);var d=150,h=s,p=c+d,g=n.getAttribute("id"),m=[],v=n.localName;return $(n).children().each(function(n,s){var c=r.length,y=s.localName;"from"!==y||a||(a=c);var b=f(y),x=null;if(b){var w=b.title||y,C=i(s);C&&(w+=" "+C.split("?")[0]);var _=b.tooltip||b.description||w;C&&(_+=" "+C);var k=s.getAttribute("id"),S=w;if(k){var T=s.getAttribute("customId");t.camelIgnoreIdForLabel||!T||"false"===T?S="id: "+k:w=k}var D=t.camelMaximumLabelWidth||e.defaultMaximumLabelWidth,E=w.length;E>D&&(S=w+"\n\n"+S,w=w.substring(0,D)+"..");var A=l(b);if(("from"===y||"to"===y)&&C){var P=C.indexOf(":");if(P>0){var I=C.substring(0,P);if(I){var $=e.getEndpointIcon(I);$&&(A=Core.url($))}}}var M=s.getAttribute("_cid")||s.getAttribute("id");x={name:O,label:w,labelSummary:S,group:1,id:c,elementId:k,x:h,"y:":p,imageUrl:A,cid:M,tooltip:_,type:y},g&&(x.rid=g,t.routeNodes||(t.routeNodes={}),t.routeNodes[g]=x),M||(M=y+(r.length+1)),M&&(x.cid=M,t.nodes||(t.nodes={}),t.nodes[M]=x),g=null,r.push(x),null!==a&&a!==c&&(0===m.length||"choice"===v?o.push({source:a,target:c,value:1}):(m.forEach(function(e){o.push({source:e,target:c,value:1})}),m.length=0))}else{var N=e.camelLanguageSettings(y);if(N&&u){var O=N.name||y,L=s.textContent;L?(u.tooltip=u.label+" "+O+" "+L,u.label=L):u.label=u.label+" "+O}}var j=te(t,s,r,o,c,h,p,x);"choice"===v?(m=m.concat(j),h+=d):"choice"===y?(m=j,p+=d):(m=[r.length-1],p+=d)}),m}function ne(e){var t=e.height();if(t<300){console.log("browse thinks the height is only "+t+" so calculating offset from doc height");var n=e.offset();if(t=$(document).height()-5,n){var i=n.top;i&&(t-=i)}}return t}function ie(e,t){if(void 0===t&&(t={}),e){var n=e.key;n&&(t[n]=e),angular.forEach(e.children,function(e){return ie(e,t)})}return t}function re(t){var n=t&&t.data?t.data:t;if(!n)return null;var i=n.xmlDocument,r=n.routeXmlNode;if(r&&r.length){for(var o=r[0],a=o.childNodes,s=[],l=0;l=0;l--){var c=o.childNodes[l];if(!Core.isTextNode(c))break;o.removeChild(c)}}e.createFolderXmlTree(t,r[0])}return i}function oe(t){var n={},i=t.tree;if(i){var r=i.navigate(e.jmxDomain);r&&angular.forEach(r.children,function(e){var t=e.navigate("context");if(t&&t.children&&t.children.length){var i=t.children[0],r=Core.pathGet(i,["entries","name"])||i.key;r&&(n[r]={folder:i,mbean:i.objectName})}})}return n}function ae(e){return le(e,"components")}function se(e){return le(e,"routes")}function le(t,n){var i={},r=t.tree;if(r){var o=r.navigate(e.jmxDomain);o&&angular.forEach(o.children,function(e){var t=e.navigate("context"),r=e.navigate(n);if(t&&r&&t.children&&t.children.length){var o=t.children[0],a=o.objectName;if(a){var s={folder:o,mbean:a};angular.forEach(r.children,function(e){var t=e.title;t&&(i[t]=s)})}}})}return i}function ce(t){var n={},i=t.tree;if(i){var r=i.navigate(e.jmxDomain);r&&angular.forEach(r.children,function(e){var t=e.navigate("processors");t&&t.children&&t.children.length&&angular.forEach(t.children,function(e){var i=e.title;if(i){var r={folder:t,key:e.key};n[i]=r}})})}return n}function ue(e){var t=e.camelIgnoreIdForLabel;return Core.parseBooleanValue(t)}function de(t){var n=t.camelMaximumLabelWidth;return angular.isString(n)&&(n=parseInt(n)),n||(n=e.defaultMaximumLabelWidth),n}function he(t){var n=t.camelMaximumTraceOrDebugBodyLength;return angular.isString(n)&&(n=parseInt(n)),n||(n=e.defaultCamelMaximumTraceOrDebugBodyLength),n}function pe(t){var n=t.camelTraceOrDebugIncludeStreams;return console.log('localStorage["camelTraceOrDebugIncludeStreams"] = '+n),Core.parseBooleanValue(n,e.defaultCamelTraceOrDebugIncludeStreams)}function fe(e){var t=e.camelShowInflightCounter;return Core.parseBooleanValue(t,!0)}function ge(t){var n=t.camelRouteMetricMaxSeconds;return angular.isString(n)&&(n=parseInt(n)),n||(n=e.defaultCamelRouteMetricMaxSeconds),n}function me(t){var n=t.camelHideOptionDocumentation;return Core.parseBooleanValue(n,e.defaultHideOptionDocumentation)}function ve(t){var n=t.camelHideOptionDefaultValue;return Core.parseBooleanValue(n,e.defaultHideOptionDefaultValue)}function ye(t){var n=t.camelHideOptionUnusedValue;return Core.parseBooleanValue(n,e.defaultHideOptionUnusedValue)}function be(e,t){e.attr("class","node"),e.filter(function(e){if(e){var n=e.cid,i=e.rid,r=e.type,o=e.elementId;return"from"===r?t===i:o?t===o:n?t===n:t===i}return null}).attr("class","node selected")}function xe(e,t,n,i){var r=J(n,i);if(r){r+="camel-";var o=Core.parseVersionNumbers(r);return Core.compareVersionNumberArrays(o,[e,t])>=0}return!1}e.log=Logger.get("Camel"),e.jmxDomain="org.apache.camel",e.defaultMaximumLabelWidth=34,e.defaultCamelMaximumTraceOrDebugBodyLength=5e3,e.defaultCamelTraceOrDebugIncludeStreams=!1,e.defaultCamelRouteMetricMaxSeconds=10,e.defaultHideOptionDocumentation=!1,e.defaultHideOptionDefaultValue=!1,e.defaultHideOptionUnusedValue=!1,e._apacheCamelModel=void 0,hawtioPluginLoader.registerPreBootstrapTask(function(t){e._apacheCamelModel=window._apacheCamelModel,e.log.debug("Setting apache camel model: ",e._apacheCamelModel),t()});var we=null;e.hasRestServices=t,e.processRouteXml=n,e.getRouteNodeUri=i,e.getRouteFolderJSON=r,e.getRouteNodeJSON=o,e.increaseIndent=a,e.setRouteNodeJSON=s,e.getRouteNodeIcon=l,e.getSelectedEndpointName=c,e.escapeEndpointUriNameForJmx=u,e.getContextAndTargetEndpoint=d,e.getSelectedRouteNode=h,e.clearSelectedRouteNode=p,e.getCamelSchema=f,e.isCamelPattern=g,e.isNextSiblingAddedAsChild=m,e.acceptInput=v,e.acceptOutput=y,e.camelLanguageSettings=b,e.isCamelLanguage=x,e.loadCamelTree=w,e.addRouteChildren=C,e.addRouteChild=k,e.getRootCamelFolder=S,e.getCamelContextFolder=T,e.getCamelContextMBean=D,e.linkToFullScreenView=E,e.linkToBrowseEndpointFullScreen=A,e.linkToRouteDiagramFullScreen=P,e.getFolderCamelNodeId=I,e.createFolderXmlTree=M,e.updateRouteNodeLabelAndTooltip=N,e.getSelectionCamelContextMBean=O,e.getSelectionCamelContextEndpoints=L,e.getSelectionCamelTraceMBean=j,e.getSelectionCamelDebugMBean=R,e.getSelectionCamelTypeConverter=F,e.getSelectionCamelRestRegistry=q,e.getSelectionCamelEndpointRuntimeRegistry=H,e.getSelectionCamelInflightRepository=V,e.getSelectionCamelBlockedExchanges=B,e.getSelectionCamelRouteMetrics=U,e.getContextId=z,e.isState=W,e.iconClass=G,e.getSelectedRouteId=Y,e.getSelectionRouteMBean=X,e.getCamelVersion=J,e.createMessageFromXml=K,e.humanizeJavaType=Q,e.createBrowseGridOptions=Z,e.loadRouteXmlNodes=ee,e.addRouteXmlChildren=te,e.getCanvasHeight=ne,e.addFoldersToIndex=ie,e.generateXmlFromFolder=re,e.camelContextMBeansById=oe,e.camelContextMBeansByComponentName=ae,e.camelContextMBeansByRouteId=se,e.camelProcessorMBeansById=ce,e.ignoreIdForLabel=ue,e.maximumLabelWidth=de,e.maximumTraceOrDebugBodyLength=he,e.traceOrDebugIncludeStreams=pe,e.showInflightCounter=fe,e.routeMetricMaxSeconds=ge,e.hideOptionDocumentation=me,e.hideOptionDefaultValue=ve,e.hideOptionUnusedValue=ye,e.highlightSelectedNode=be,e.isCamelVersionEQGT=xe}(Camel||(Camel={}));var Camel;!function(e){var t=Jmx;e.pluginName="camel";var n="plugins/camel/html/attributeToolBarRoutes.html",i="plugins/camel/html/attributeToolBarContext.html";e._module=angular.module(e.pluginName,[]),e._module.config(["$routeProvider",function(e){e.when("/camel/browseEndpoint",{templateUrl:"plugins/camel/html/browseEndpoint.html"}).when("/camel/endpoint/browse/:contextId/*endpointPath",{templateUrl:"plugins/camel/html/browseEndpoint.html"}).when("/camel/createEndpoint",{templateUrl:"plugins/camel/html/createEndpoint.html"}).when("/camel/route/diagram/:contextId/:routeId",{templateUrl:"plugins/camel/html/routes.html"}).when("/camel/routes",{templateUrl:"plugins/camel/html/routes.html"}).when("/camel/typeConverter",{templateUrl:"plugins/camel/html/typeConverter.html",reloadOnSearch:!1}).when("/camel/restRegistry",{templateUrl:"plugins/camel/html/restRegistry.html",reloadOnSearch:!1}).when("/camel/endpointRuntimeRegistry",{templateUrl:"plugins/camel/html/endpointRuntimeRegistry.html",reloadOnSearch:!1}).when("/camel/routeMetrics",{templateUrl:"plugins/camel/html/routeMetrics.html",reloadOnSearch:!1}).when("/camel/inflight",{templateUrl:"plugins/camel/html/inflight.html",reloadOnSearch:!1}).when("/camel/blocked",{templateUrl:"plugins/camel/html/blocked.html",reloadOnSearch:!1}).when("/camel/sendMessage",{templateUrl:"plugins/camel/html/sendMessage.html",reloadOnSearch:!1}).when("/camel/source",{templateUrl:"plugins/camel/html/source.html"}).when("/camel/traceRoute",{templateUrl:"plugins/camel/html/traceRoute.html"}).when("/camel/debugRoute",{templateUrl:"plugins/camel/html/debug.html"}).when("/camel/profileRoute",{templateUrl:"plugins/camel/html/profileRoute.html"}).when("/camel/properties",{templateUrl:"plugins/camel/html/properties.html"}).when("/camel/propertiesComponent",{templateUrl:"plugins/camel/html/propertiesComponent.html"}).when("/camel/propertiesDataFormat",{templateUrl:"plugins/camel/html/propertiesDataFormat.html"}).when("/camel/propertiesEndpoint",{templateUrl:"plugins/camel/html/propertiesEndpoint.html"})}]),e._module.factory("tracerStatus",function(){return{jhandle:null,messages:[]}}),e._module.filter("camelIconClass",function(){return e.iconClass}),e._module.factory("activeMQMessage",function(){return{message:null}}),e._module.factory("metricsWatcher",["$window",function(e){var t=e.metricsWatcher;return t||(t={},e.metricsWatcher=t),t}]),e._module.run(["HawtioNav","workspace","jolokia","viewRegistry","layoutFull","helpRegistry","preferencesRegistry","$templateCache","$location","$rootScope",function(t,r,o,a,s,l,c,u,d,h){a["camel/endpoint/"]=s,a["camel/route/"]=s,a['{ "main-tab": "camel" }']="plugins/camel/html/layoutCamelTree.html",l.addUserDoc("camel","plugins/camel/doc/help.md",function(){return r.treeContainsDomainAndProperties(e.jmxDomain)}),c.addTab("Camel","plugins/camel/html/preferences.html",function(){return r.treeContainsDomainAndProperties(e.jmxDomain)}),Jmx.addAttributeToolBar(e.pluginName,e.jmxDomain,function(t){var r=t.typeName;if(r){if(_.startsWith(r,"context"))return i;if(_.startsWith(r,"route"))return n}var o=t.folderNames;if(o&&t.domain===e.jmxDomain){var a=_.last(o);if("routes"===a)return n;if("context"===a)return i}return null});var p="State",f='",g={field:p,displayName:p,cellTemplate:f,width:56,minWidth:56,maxWidth:56,resizable:!1,defaultSort:!1},m=r.attributeColumnDefs;m[e.jmxDomain+"/context/folder"]=[g,{field:"CamelId",displayName:"Context"},{field:"Uptime",displayName:"Uptime",visible:!1},{field:"CamelVersion",displayName:"Version",visible:!1},{field:"ExchangesCompleted",displayName:"Completed"},{field:"ExchangesFailed",displayName:"Failed"},{field:"FailuresHandled",displayName:"Failed Handled",visible:!1},{field:"ExchangesTotal",displayName:"Total",visible:!1},{field:"Redeliveries",displayName:"Redelivery",visible:!1},{field:"ExchangesInflight",displayName:"Inflight"},{field:"OldestInflightDuration",displayName:"Oldest Inflight Time",visible:!1},{field:"MeanProcessingTime",displayName:"Mean Time"},{field:"MinProcessingTime",displayName:"Min Time"},{field:"MaxProcessingTime",displayName:"Max Time"},{field:"TotalProcessingTime",displayName:"Total Time",visible:!1},{field:"DeltaProcessingTime",displayName:"Delta Time",visible:!1},{field:"LastProcessingTime",displayName:"Last Time",visible:!1},{field:"LastExchangeCompletedTimestamp",displayName:"Last completed",visible:!1},{field:"LastExchangeFailedTimestamp",displayName:"Last failed",visible:!1},{field:"ExternalRedeliveries",displayName:"External Redelivery",visible:!1},{field:"StartedRoutes",displayName:"Started Routes"},{field:"TotalRoutes",displayName:"Total Routes"}],m[e.jmxDomain+"/routes/folder"]=[g,{field:"CamelId",displayName:"Context"},{field:"RouteId",displayName:"Route"},{field:"ExchangesCompleted",displayName:"Completed"},{field:"ExchangesFailed",displayName:"Failed"},{field:"FailuresHandled",displayName:"Failed Handled",visible:!1},{field:"Redeliveries",displayName:"Redelivery",visible:!1},{field:"ExchangesTotal",displayName:"Total",visible:!1},{field:"ExchangesInflight",displayName:"Inflight"},{field:"OldestInflightDuration",displayName:"Oldest Inflight Time",visible:!1},{field:"MeanProcessingTime",displayName:"Mean Time"},{field:"MinProcessingTime",displayName:"Min Time"},{field:"MaxProcessingTime",displayName:"Max Time"},{field:"TotalProcessingTime",displayName:"Total Time",visible:!1},{field:"DeltaProcessingTime",displayName:"Delta Time",visible:!1},{field:"LastProcessingTime",displayName:"Last Time",visible:!1},{field:"LastExchangeCompletedTimestamp",displayName:"Last completed",visible:!1},{field:"LastExchangeFailedTimestamp",displayName:"Last failed",visible:!1},{field:"Redeliveries",displayName:"Redelivery",visible:!1},{field:"ExternalRedeliveries",displayName:"External Redelivery",visible:!1}],m[e.jmxDomain+"/processors/folder"]=[g,{field:"CamelId",displayName:"Context"},{field:"RouteId",displayName:"Route"},{field:"ProcessorId",displayName:"Processor"},{field:"ExchangesCompleted",displayName:"Completed"},{field:"ExchangesFailed",displayName:"Failed"},{field:"FailuresHandled",displayName:"Failed Handled",visible:!1},{field:"Redeliveries",displayName:"Redelivery",visible:!1},{field:"ExchangesTotal",displayName:"Total",visible:!1},{field:"ExchangesInflight",displayName:"Inflight"},{field:"OldestInflightDuration",displayName:"Oldest Inflight Time",visible:!1},{field:"MeanProcessingTime",displayName:"Mean Time"},{field:"MinProcessingTime",displayName:"Min Time"},{field:"MaxProcessingTime",displayName:"Max Time"},{field:"TotalProcessingTime",displayName:"Total Time",visible:!1},{field:"DeltaProcessingTime",displayName:"Delta Time",visible:!1},{field:"LastProcessingTime",displayName:"Last Time",visible:!1},{field:"LastExchangeCompletedTimestamp",displayName:"Last completed",visible:!1},{field:"LastExchangeFailedTimestamp",displayName:"Last failed",visible:!1},{field:"ExternalRedeliveries",displayName:"External Redelivery",visible:!1}],m[e.jmxDomain+"/components/folder"]=[g,{field:"CamelId",displayName:"Context"},{field:"ComponentName",displayName:"Name"}],m[e.jmxDomain+"/consumers/folder"]=[g,{field:"CamelId",displayName:"Context"},{field:"RouteId",displayName:"Route"},{field:"EndpointUri",displayName:"Endpoint URI",width:"**"},{field:"Suspended",displayName:"Suspended",resizable:!1},{field:"InflightExchanges",displayName:"Inflight"}],m[e.jmxDomain+"/producers/folder"]=[g,{field:"CamelId",displayName:"Context"},{field:"RouteId",displayName:"Route"},{field:"EndpointUri",displayName:"Endpoint URI",width:"**"},{field:"Suspended",displayName:"Suspended",resizable:!1}],m[e.jmxDomain+"/services/folder"]=[g,{field:"CamelId",displayName:"Context"},{field:"RouteId",displayName:"Route"},{field:"Suspended",displayName:"Suspended",resizable:!1},{field:"SupportsSuspended",displayName:"Can Suspend",resizable:!1}],m[e.jmxDomain+"/endpoints/folder"]=[g,{field:"CamelId",displayName:"Context"},{field:"EndpointUri",displayName:"Endpoint URI",width:"***"},{field:"Singleton",displayName:"Singleton",resizable:!1}],m[e.jmxDomain+"/threadpools/folder"]=[{field:"Id",displayName:"Id",width:"**"},{field:"ActiveCount",displayName:"Active"},{field:"PoolSize",displayName:"Pool Size"},{field:"CorePoolSize",displayName:"Core Pool Size"},{field:"TaskQueueSize",displayName:"Task Queue Size"},{field:"TaskCount",displayName:"Task"},{field:"CompletedTaskCount",displayName:"Completed Task"}],m[e.jmxDomain+"/errorhandlers/folder"]=[{field:"CamelId",displayName:"Context"},{field:"DeadLetterChannel",displayName:"Dead Letter"},{field:"DeadLetterChannelEndpointUri",displayName:"Endpoint URI",width:"**",resizable:!0},{field:"MaximumRedeliveries",displayName:"Max Redeliveries"},{field:"RedeliveryDelay",displayName:"Redelivery Delay"},{field:"MaximumRedeliveryDelay",displayName:"Max Redeliveries Delay"}];var v="/jmx/attributes?main-tab=camel&sub-tab=camel-attributes",y=t.builder(),b=y.id("camel").title(function(){return"Camel"}).defaultPage({rank:20,isValid:function(t,n){var i="CamelDefaultPage";r.addNamedTreePostProcessor(i,function(o){r.removeNamedTreePostProcessor(i),r.treeContainsDomainAndProperties(e.jmxDomain)?t():n()})}}).href(function(){return v}).isValid(function(){return r.treeContainsDomainAndProperties(e.jmxDomain)}).build();b.tabs=Jmx.getNavItems(y,r,u,"camel"),b.tabs.push({id:"camel-route-diagram",title:function(){return' Route Diagram'},tooltip:function(){return"View a diagram of the Camel routes"},show:function(){return(r.isRoute()||r.isRoutesFolder())&&r.hasInvokeRightsForName(e.getSelectionCamelContextMBean(r),"dumpRoutesAsXml")},isSelected:function(){return r.isLinkActive("camel/routes")},href:function(){return"/camel/routes"+r.hash()},index:-2}),b.tabs.push({id:"camel-route-source",title:function(){return' Source'},tooltip:function(){return"View the source of the Camel routes"},show:function(){return!r.isEndpointsFolder()&&!r.isEndpoint()&&(r.isRoute()||r.isRoutesFolder())&&r.hasInvokeRightsForName(e.getSelectionCamelContextMBean(r),"dumpRoutesAsXml")},isSelected:function(){return r.isLinkActive("camel/source")},href:function(){return"/camel/source"+r.hash()}}),b.tabs.push({id:"camel-route-properties",title:function(){return' Properties'},tooltip:function(){return"View the pattern properties"},show:function(){return e.getSelectedRouteNode(r)},href:function(){return"/camel/properties"+r.hash()}}),b.tabs.push({id:"camel-endpoint-properties",title:function(){return' Properties'},tooltip:function(){return"Show the endpoint properties"},show:function(){return r.isEndpoint()&&e.isCamelVersionEQGT(2,15,r,o)&&r.hasInvokeRights(r.selection,"explainEndpointJson")},href:function(){return"/camel/propertiesEndpoint"+r.hash()}}),b.tabs.push({id:"camel-component-properties",title:function(){return' Properties'},tooltip:function(){return"Show the component properties"},show:function(){return r.isComponent()&&e.isCamelVersionEQGT(2,15,r,o)&&r.hasInvokeRights(r.selection,"explainComponentJson")},href:function(){return"/camel/propertiesComponent"+r.hash()}}),b.tabs.push({id:"camel-dataformat-properties",title:function(){return' Properties'},tooltip:function(){return"Show the dataformat properties"},show:function(){return r.isDataformat()&&e.isCamelVersionEQGT(2,16,r,o)&&r.hasInvokeRights(r.selection,"explainDataFormatJson")},href:function(){return"/camel/propertiesDataFormat"+r.hash()}}),b.tabs.push({id:"camel-inflight-exchanges",title:function(){return' Inflight'},tooltip:function(){return"View the entire JVMs Camel inflight exchanges"},show:function(){return!r.isEndpointsFolder()&&!r.isEndpoint()&&!r.isComponentsFolder()&&!r.isComponent()&&(r.isCamelContext()||r.isRoutesFolder()||r.isRoute())&&e.isCamelVersionEQGT(2,15,r,o)&&r.hasInvokeRightsForName(e.getSelectionCamelInflightRepository(r),"browse")},href:function(){return"/camel/inflight"+r.hash()}}),b.tabs.push({id:"camel-blocked-exchanges",title:function(){return' Blocked'},tooltip:function(){return"View the entire JVMs Camel blocked exchanges"},show:function(){return!r.isEndpointsFolder()&&(r.isRoute()||r.isRoutesFolder())&&e.isCamelVersionEQGT(2,15,r,o)&&r.hasInvokeRightsForName(e.getSelectionCamelBlockedExchanges(r),"browse")},href:function(){return"/camel/blocked"+r.hash()}}),b.tabs.push({id:"camel-route-metrics",title:function(){return' Route Metrics'},tooltip:function(){return"View the entire JVMs Camel route metrics"},show:function(){return!r.isEndpointsFolder()&&!r.isEndpoint()&&(r.isCamelContext()||r.isRoutesFolder())&&e.isCamelVersionEQGT(2,14,r,o)&&e.getSelectionCamelRouteMetrics(r)&&r.hasInvokeRightsForName(e.getSelectionCamelRouteMetrics(r),"dumpStatisticsAsJson")},href:function(){return"/camel/routeMetrics"+r.hash()}}),b.tabs.push({id:"camel-rest-services",title:function(){return' Rest Services'},tooltip:function(){return"List all the REST services registered in the context"},show:function(){return!r.isEndpointsFolder()&&!r.isEndpoint()&&!r.isComponentsFolder()&&!r.isComponent()&&(r.isCamelContext()||r.isRoutesFolder())&&e.isCamelVersionEQGT(2,14,r,o)&&e.getSelectionCamelRestRegistry(r)&&e.hasRestServices(r,o)&&r.hasInvokeRightsForName(e.getSelectionCamelRestRegistry(r),"listRestServices")},href:function(){return"/camel/restRegistry"+r.hash()}}),b.tabs.push({id:"camel-endpoint-runtime-registry",title:function(){return' Endpoints (in/out)'},tooltip:function(){return"List all the incoming and outgoing endpoints in the context";
+},show:function(){return!r.isEndpointsFolder()&&!r.isEndpoint()&&!r.isComponentsFolder()&&!r.isComponent()&&(r.isCamelContext()||r.isRoutesFolder())&&e.isCamelVersionEQGT(2,16,r,o)&&e.getSelectionCamelEndpointRuntimeRegistry(r)&&r.hasInvokeRightsForName(e.getSelectionCamelEndpointRuntimeRegistry(r),"endpointStatistics")},href:function(){return"/camel/endpointRuntimeRegistry"+r.hash()}}),b.tabs.push({id:"camel-type-converters",title:function(){return' Type Converters'},tooltip:function(){return"List all the type converters registered in the context"},show:function(){return!r.isEndpointsFolder()&&!r.isEndpoint()&&!r.isComponentsFolder()&&!r.isComponent()&&(r.isCamelContext()||r.isRoutesFolder())&&e.isCamelVersionEQGT(2,13,r,o)&&r.hasInvokeRightsForName(e.getSelectionCamelTypeConverter(r),"listTypeConverters")},href:function(){return"/camel/typeConverter"+r.hash()}}),b.tabs.push({id:"camel-route-profile",title:function(){return' Profile'},tooltip:function(){return"Profile the messages flowing through the Camel route"},show:function(){return r.isRoute()&&e.getSelectionCamelTraceMBean(r)&&r.hasInvokeRightsForName(e.getSelectionCamelTraceMBean(r),"dumpAllTracedMessagesAsXml")},href:function(){return"/camel/profileRoute"+r.hash()}}),b.tabs.push({id:"camel-route-debug",title:function(){return' Debug'},tooltip:function(){return"Debug the Camel route"},show:function(){return r.isRoute()&&e.getSelectionCamelDebugMBean(r)&&r.hasInvokeRightsForName(e.getSelectionCamelDebugMBean(r),"getBreakpoints")},href:function(){return"/camel/debugRoute"+r.hash()}}),b.tabs.push({id:"camel-route-trace",title:function(){return' Trace'},tooltip:function(){return"Trace the messages flowing through the Camel route"},show:function(){return r.isRoute()&&e.getSelectionCamelTraceMBean(r)&&r.hasInvokeRightsForName(e.getSelectionCamelTraceMBean(r),"dumpAllTracedMessagesAsXml")},href:function(){return"/camel/traceRoute"+r.hash()}}),b.tabs.push({id:"camel-endpoint-browser",title:function(){return' Browse'},tooltip:function(){return"Browse the messages on the endpoint"},show:function(){return r.isEndpoint()&&r.hasInvokeRights(r.selection,"browseAllMessagesAsXml")},href:function(){return"/camel/browseEndpoint"+r.hash()}}),b.tabs.push({id:"camel-endpoint-send",title:function(){return' Send'},show:function(){return r.isEndpoint()&&r.hasInvokeRights(r.selection,"org.apache.camel"===r.selection.domain?"sendBodyAndHeaders":"sendTextMessage")},href:function(){return"/camel/sendMessage"+r.hash()}}),b.tabs.push({id:"camel-endpoint-create",title:function(){return' Endpoint'},tooltip:function(){return"Create a new endpoint"},show:function(){return r.isEndpointsFolder()&&r.hasInvokeRights(r.selection,"createEndpoint")},href:function(){return"/camel/createEndpoint"+r.hash()}}),t.add(b),r.addNamedTreePostProcessor("camel",function(t){var n=[],i=e.jmxDomain;if(t){var r=new Folder("Camel Contexts");r.addClass="org-apache-camel-context-folder",r.children=n,r.typeName="context",r.key="camelContexts",r.domain=i;var a=t.get(i);a&&(angular.forEach(a.children,function(e,t){var a=e.map;if(a){var s=a.context,l=a.routes,c=a.endpoints,u=a.components,d=a.dataformats;if(s){var p=s.children[0];if(p){var f=p.title,g=!0;if(g){var m=new Folder(f);if(m.addClass="org-apache-camel-context",m.domain=i,m.objectName=p.objectName,m.entries=p.entries,m.typeName=p.typeName,m.key=p.key,m.version=p.version,o.request({type:"read",mbean:p.objectName,attribute:"CamelVersion"},Core.onSuccess(function(e){p.version=e.value,Core.$apply(h)})),l){var v=new Folder("Routes");v.addClass="org-apache-camel-routes-folder",v.parent=s,v.children=l.children,angular.forEach(v.children,function(e){return e.addClass="org-apache-camel-routes"}),m.children.push(v),v.typeName="routes",v.key=l.key,v.domain=l.domain}if(c){var y=new Folder("Endpoints");y.addClass="org-apache-camel-endpoints-folder",y.parent=s,y.children=c.children,angular.forEach(y.children,function(e){e.addClass="org-apache-camel-endpoints"}),m.children.push(y),y.entries=p.entries,y.typeName="endpoints",y.key=c.key,y.domain=c.domain}if(u){var b=new Folder("Components");b.addClass="org-apache-camel-components-folder",b.parent=s,b.children=u.children,angular.forEach(b.children,function(e){e.addClass="org-apache-camel-components"}),m.children.push(b),b.entries=p.entries,b.typeName="components",b.key=u.key,b.domain=u.domain}if(d){var x=new Folder("Dataformats");x.addClass="org-apache-camel-dataformats-folder",x.parent=s,x.children=d.children,angular.forEach(x.children,function(e){e.addClass="org-apache-camel-dataformats"}),m.children.push(x),x.entries=p.entries,x.typeName="dataformats",x.key=d.key,x.domain=d.domain}var w=new Folder("MBeans");angular.forEach(a,function(e,t){"context"!==t&&"routes"!==t&&"endpoints"!==t&&"components"!==t&&"dataformats"!==t&&w.children.push(e)}),w.children.length>0&&(w.sortChildren(!1),m.children.push(w)),m.parent=r,n.push(m)}}}}}),a.children.splice(0,0,r))}})}]),hawtioPluginLoader.addModule(e.pluginName),hawtioPluginLoader.registerPreBootstrapTask(function(n){t.registerLazyLoadHandler(e.jmxDomain,function(t){return e.jmxDomain===t.domain&&"routes"===t.typeName?function(t,n,i){"routes"===n.typeName?e.processRouteXml(t,t.jolokia,n,function(t){t&&e.addRouteChildren(n,t),i()}):i()}:null}),n()})}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.AttributesToolBarController",["$scope","workspace","jolokia",function(t,n,i){t.deleteDialog=!1,t.start=function(){t.invokeSelectedMBeans(function(t){return e.isState(t,"suspend")?"resume()":"start()"})},t.pause=function(){t.invokeSelectedMBeans("suspend()")},t.stop=function(){t.invokeSelectedMBeans("stop()",function(){n.removeAndSelectParentNode()})},t.delete=function(){t.invokeSelectedMBeans("remove()",function(){t.workspace.operationCounter+=1,n.loadTree()})},t.anySelectionHasState=function(n){var i=t.selectedItems||[];return i.some(function(t){return e.isState(t,n)})},t.everySelectionHasState=function(n){var i=t.selectedItems||[];return i.every(function(t){return e.isState(t,n)})}}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.BlockedExchangesController",["$scope","$location","workspace","jolokia",function(t,n,i,r){function o(){Core.notification("success","Thread unblocked")}function a(e){var n=e.value;if(n){var i=[];for(var r in n){var o=n[r];i.push({exchangeId:o.exchangeId,routeId:o.routeId,nodeId:o.nodeId,duration:o.duration,threadId:o.id,threadName:o.name})}i=_.sortBy(i,"exchangeId"),t.data=i,t.selectedMBean=e.request.mbean}else t.data=[];t.initDone="true",Core.$apply(t)}function s(){l.info("Loading blocked exchanges data...");var n=e.getSelectedRouteId(i);null!=n&&(t.gridOptions.filterOptions.filterText=n);var o=e.getSelectionCamelBlockedExchanges(i);if(o){var s={type:"exec",mbean:o,operation:"browse()"};r.request(s,Core.onSuccess(a)),Core.scopeStoreJolokiaHandle(t,r,r.register(Core.onSuccess(a),s))}}var l=Logger.get("Camel");t.data=[],t.initDone=!1,t.mbeanAttributes={};var c=[{field:"exchangeId",displayName:"Exchange Id",cellFilter:null,width:"*",resizable:!0},{field:"routeId",displayName:"Route Id",cellFilter:null,width:"*",resizable:!0},{field:"nodeId",displayName:"Node Id",cellFilter:null,width:"*",resizable:!0},{field:"duration",displayName:"Duration (ms)",cellFilter:null,width:"*",resizable:!0},{field:"threadId",displayName:"Thread id",cellFilter:null,width:"*",resizable:!0},{field:"threadName",displayName:"Thread name",cellFilter:null,width:"*",resizable:!0}];t.gridOptions={data:"data",displayFooter:!0,displaySelectionCheckbox:!0,multiSelect:!1,canSelectRows:!0,enableSorting:!0,columnDefs:c,selectedItems:[],filterOptions:{filterText:""},primaryKeyFn:function(e){return e.exchangeId}},t.doUnblock=function(){var n=e.getSelectionCamelBlockedExchanges(i),a=t.gridOptions.selectedItems;if(n&&a&&1===a.length){var s=a[0].exchangeId,c=a[0].threadId,u=a[0].threadName;l.info("Unblocking thread ("+c+"/"+u+") for exchangeId: "+s),r.execute(n,"interrupt(java.lang.String)",s,Core.onSuccess(o))}},s()}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.BreadcrumbBarController",["$scope","$routeParams","workspace","jolokia",function(t,n,i,r){function o(){var n=[],r=e.getRootCamelFolder(i);return r&&angular.forEach(r.children,function(e){var i=e.title;if(i&&i!==t.contextId){var r=i,o=l(i,s());n.push({name:r,tooltip:"Camel Context",link:o})}}),n}function a(e){var t=[];return angular.forEach(["endpoints","routes"],function(n){if(n&&n!==s()){var i=l(e,n);t.push({name:n,tooltip:"Entity inside a Camel Context",link:i})}}),t}function s(){var e=Core.pathGet(t,["breadcrumbs","childEntity"]);return e||f}function l(t,n){var i=c(t,n),r=i.length>0?i[0].link:e.linkToBrowseEndpointFullScreen(t,"noEndpoints");return r}function c(e,t){return"endpoints"===t?u(e):d(e)}function u(t){var n=[],r=e.getCamelContextFolder(i,t);if(r){var o=(r.children||[]).find(function(e){return"endpoints"===e.title});o&&angular.forEach(o.children,function(i){var r=i?i.entries:null;if(r){var o=r.name;if(o){var a=p(o),s=e.linkToBrowseEndpointFullScreen(t,o);n.push({contextId:t,path:o,name:a,tooltip:"Endpoint",link:s})}}})}return n}function d(t){var n=[],r=e.getCamelContextFolder(i,t);if(r){var o=(r.children||[]).find(function(e){return"routes"===e.title});o&&angular.forEach(o.children,function(i){var r=i?i.entries:null;if(r){var o=r.name;if(o){var a=p(o),s=e.linkToRouteDiagramFullScreen(t,o);n.push({contextId:t,path:o,name:a,tooltip:"Camel Route",link:s})}}})}return n}function h(){var n=null;if(t.contextId){var r=null,o=null;t.endpointPath?(o="browseEndpoint",r=i.findMBeanWithProperties(e.jmxDomain,{context:t.contextId,type:"endpoints",name:t.endpointPath})):t.routeId&&(o="routes",r=i.findMBeanWithProperties(e.jmxDomain,{context:t.contextId,type:"routes",name:t.routeId}));var a=r?r.key:null;a&&o&&(n="#/camel/"+o+"?tab=camel&nid="+a)}return n}function p(e){return e?Core.trimQuotes(e):e}t.workspace=i,null!=n&&(t.contextId=n.contextId,t.endpointPath=n.endpointPath,t.endpointName=p(t.endpointPath),t.routeId=n.routeId),t.treeViewLink=h();var f=t.endpointPath?"endpoints":"routes",g={endpoints:"Camel Endpoint",routes:"Camel Route"};t.breadcrumbs=[{name:t.contextId,items:o(),tooltip:"Camel Context"},{name:f,items:a(t.contextId),tooltip:"Entity inside a Camel Context"},{name:t.endpointName||p(t.routeId),items:c(t.contextId,s()),tooltip:g[f]}]}])}(Camel||(Camel={}));var Camel;!function(e){e.BrowseEndpointController=e._module.controller("Camel.BrowseEndpointController",["$scope","$routeParams","workspace","jolokia",function(t,n,i,r){function o(){}function a(){t.messageDialog&&t.messageDialog.close(),t.gridOptions.selectedItems.splice(0),Core.notification("success",t.message),setTimeout(s,50)}function s(){var n=null;if(t.contextId&&t.endpointPath){var o=i.findMBeanWithProperties(e.jmxDomain,{context:t.contextId,type:"endpoints",name:t.endpointPath});o&&(n=o.objectName)}if(n||(n=i.getSelectedMBeanName()),n){e.log.info("MBean: "+n);var a=Core.onSuccess(l);r.execute(n,"browseAllMessagesAsXml(java.lang.Boolean)",!0,a)}}function l(n){var i=[];if(angular.isString(n)){var r=$.parseXML(n),o=$(r).find("message");o.each(function(n,r){var o=e.createMessageFromXml(r);o.openMessageDialog=t.openMessageDialog,i.push(o)})}t.messages=i,Core.$apply(t)}t.workspace=i,t.forwardDialog=new UI.Dialog,t.showMessageDetails=!1,t.mode="text",t.gridOptions=e.createBrowseGridOptions(),t.contextId=n.contextId,t.endpointPath=n.endpointPath,t.isJmxTab=!n.contextId||!n.endpointPath,t.$watch("workspace.selection",function(){t.isJmxTab&&i.moveIfViewInvalid()||s()}),t.openMessageDialog=function(e){ActiveMQ.selectCurrentMessage(e,"id",t),t.row&&(t.mode=CodeEditor.detectTextFormat(t.row.body),t.showMessageDetails=!0)},ActiveMQ.decorate(t),t.forwardMessagesAndCloseForwardDialog=function(){var n=e.getSelectionCamelContextMBean(i),s=t.gridOptions.selectedItems,l=t.endpointUri;n&&l&&s&&s.length&&(r.execute(n,"createEndpoint(java.lang.String)",l,Core.onSuccess(o)),t.message="Forwarded "+Core.maybePlural(s.length,"message to "+l),angular.forEach(s,function(e,t){var i=t+1 "+n),t.messages=[],n){var r=n;if(angular.isString(r)){var o=$.parseXML(r),a=$(o).find("fabricTracerEventMessage");a&&a.length||(a=$(o).find("backlogTracerEventMessage")),a.each(function(n,i){var r=e.createMessageFromXml(i),o=$(i).find("toNode").text();o&&(r.toNode=o),r.openMessageDialog=t.openMessageDialog,t.messages.push(r)})}}else S.warn("WARNING: dumpTracedMessagesAsXml() returned no results!");p(),C(),s(),S.debug("has messages "+t.messages.length+" selected row "+t.row+" index "+t.rowIndex),Core.$apply(t)}function p(){if(t.messages.length>0){t.row=t.messages[0];var e=t.row.body;t.mode=angular.isString(e)?CodeEditor.detectTextFormat(e):"text","javascript"==t.mode&&(t.mode="text")}else t.row={headers:{},body:"",bodyType:""},t.mode="text"}function f(){t.messages=[],t.suspendedBreakpoints=[],t.stopped=!1,p(),C(),s(),Core.$apply(t)}function g(){var e=null,n=t.suspendedBreakpoints;return n&&n.length&&(e=n[0],n.length>1&&m(t.selectedDiagramNodeId)&&(e=t.selectedDiagramNodeId)),e}function m(e){return x(t.suspendedBreakpoints,e)}function v(e){t.breakpoints=e,b();var n=w();n.length&&C(n),Core.$apply(t)}function y(e){return x(t.breakpoints,e)}function b(){t.hasBreakpoint=y(t.selectedDiagramNodeId)}function x(e,t){return t&&e&&e.indexOf(t)!==-1}function w(){var e=d3.select("svg");return e.selectAll("g .node")}function C(e){void 0===e&&(e=w()),e.each(function(e){var t=e.cid,n=d3.select(this),i=n.selectAll("image.breakpoint"),r=m(t),o=y(t);if(o||r){var a=r?D:T;i.length&&i[0].length?i.attr("xlink:href",function(e){return a}):n.append("image").attr("xlink:href",function(e){return a}).attr("class","breakpoint").attr("x",-12).attr("y",-20).attr("height",24).attr("width",24)}else i.remove()})}function _(e){l(),Core.$apply(t)}function k(t){var n=e.getSelectionCamelDebugMBean(i);if(n){var a=t?"enableDebugger":"disableDebugger",s=e.maximumTraceOrDebugBodyLength(o),l=e.traceOrDebugIncludeStreams(o);r.setAttribute(n,"BodyMaxChars",s),r.setAttribute(n,"BodyIncludeStreams",l),r.setAttribute(n,"BodyIncludeFiles",l),r.execute(n,a,Core.onSuccess(_))}}var S=Logger.get("CamelDebugger");t.debugging=!1,t.stopped=!1,t.ignoreRouteXmlNode=!0,t.messages=[],t.mode="text",t.showMessageDetails=!0,t.startDebugging=function(){S.info("Start debugging"),k(!0)},t.stopDebugging=function(){S.info("Stop debugging"),k(!1)},t.$on("$routeChangeSuccess",function(e,t,n){setTimeout(l,50)}),t.$on("camel.diagram.selectedNodeId",function(e,n){t.selectedDiagramNodeId=n,b()}),t.$on("camel.diagram.layoutComplete",function(e,i){C(),$(n).find("g.node").dblclick(function(e){var n=this.getAttribute("data-cid");t.toggleBreakpoint(n)})}),t.$watch("workspace.selection",function(){i.moveIfViewInvalid()||l()}),t.toggleBreakpoint=function(t){S.info("Toggle breakpoint");var n=e.getSelectionCamelDebugMBean(i);if(n&&t){var o=y(t)?"removeBreakpoint":"addBreakpoint";r.execute(n,o,t,Core.onSuccess(_))}},t.addBreakpoint=function(){S.info("Add breakpoint");var n=e.getSelectionCamelDebugMBean(i);n&&t.selectedDiagramNodeId&&r.execute(n,"addBreakpoint",t.selectedDiagramNodeId,Core.onSuccess(_))},t.removeBreakpoint=function(){S.info("Remove breakpoint");var n=e.getSelectionCamelDebugMBean(i);n&&t.selectedDiagramNodeId&&r.execute(n,"removeBreakpoint",t.selectedDiagramNodeId,Core.onSuccess(_))},t.resume=function(){S.info("Resume");var t=e.getSelectionCamelDebugMBean(i);t&&r.execute(t,"resumeAll",Core.onSuccess(f))},t.suspend=function(){S.info("Suspend");var t=e.getSelectionCamelDebugMBean(i);t&&r.execute(t,"suspendAll",Core.onSuccess(f))},t.step=function(){S.info("Step");var t=e.getSelectionCamelDebugMBean(i),n=g();t&&n&&r.execute(t,"stepBreakpoint(java.lang.String)",n,Core.onSuccess(f))};var T=UrlHelpers.join(a,"/img/icons/camel/breakpoint.gif"),D=UrlHelpers.join(a,"/img/icons/camel/breakpoint-suspended.gif")}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.EndpointController",["$scope","$location","localStorage","workspace","jolokia",function(t,n,i,r,o){function a(){t.endpointName="",t.workspace.operationCounter+=1,Core.$apply(t),Core.notification("success",t.message)}function s(){if(r.selection){var e=Core.pathGet(r,["selection","parent"]);e&&t.workspace.updateSelectionNode(e)}t.workspace.operationCounter+=1,Core.$apply(t),Core.notification("success",t.message)}e.initEndpointChooserScope(t,n,i,r,o),t.workspace=r,t.message="",t.createEndpoint=function(n){var i=r.jolokia;if(i){var o=e.getSelectionCamelContextMBean(r);if(o){t.message="Creating endpoint "+n;var s="createEndpoint(java.lang.String)";i.execute(o,s,n,Core.onSuccess(a))}else Core.notification("error","Could not find the CamelContext MBean!")}},t.createEndpointFromData=function(){if(t.selectedComponentName&&t.endpointPath){var e=t.selectedComponentName+"://"+t.endpointPath;console.log("Have endpoint data "+JSON.stringify(t.endpointParameters));var n="";angular.forEach(t.endpointParameters,function(e,t){var i=n?"&":"";n+=i+t+"="+e}),n&&(e+="?"+n),t.createEndpoint(e)}},t.deleteEndpoint=function(){var e=r.jolokia,n=r.selection,i=n.entries;if(n&&e&&i){var o=n.domain,a=i.BrokerName,l=i.Destination,c="Topic"!==i.Type;if(o&&a){var u=""+o+":BrokerName="+a+",Type=Broker";t.message="Deleting "+(c?"queue":"topic")+" "+l;var d="removeEndpoint(java.lang.String)";e.execute(u,d,l,Core.onSuccess(s))}}}}])}(Camel||(Camel={}));var Camel;!function(e){function t(t){var n=e.getEndpointConfig(t,null),r=Core.pathGet(n,["icon"]);if(!r){var o=i(t);r=Core.pathGet(o,["endpointIcon"])}return r=r||e.endpointIcon}function n(t,n){var i=e.endpointConfigurations[t];return i||(i={},e.endpointConfigurations[t]=i),i.label||(i.label=t),i.icon||(i.icon=Core.pathGet(n,["endpointIcon"])||e.endpointIcon),i.category||(i.category=n),i}function i(t){return e.endpointToCategory[t]||e.endpointCategories.core}function r(){var t=e._apacheCamelModel,n=t.definitions;return n&&angular.forEach(a,function(e,t){var i=n[t];i&&(i.tabs||(i.tabs=e))}),t}function o(t,n,i,r,o){function a(n){t.componentNames=n,e.log.info("onComponents: "+n),t.hasComponentNames=!!t.componentNames,Core.$apply(t)}function s(e){if(e)try{var n=JSON.parse(e),i=t.selectedComponentName;l(i,n),t.endpointSchema=n,t.schema.definitions[i]=n,t.loadedEndpointSchema=i,Core.$apply(t)}catch(t){console.log("Failed to parse JSON "+t),console.log("JSON: "+e)}}function l(t,n){console.log("======== configuring schema for "+t);var i=e.endpointForms[t];i&&n&&i.tabs&&(n.tabs=i.tabs)}function c(){var o=t.profileWorkspace;if(!o){var a=t.jolokia;a&&(o=Core.createRemoteWorkspace(a,n,i),t.profileWorkspace=o)}o||(e.log.info("No profileWorkspace found so defaulting it to workspace for now"),o=r);var s,l,c=t.selectedComponentName;angular.isDefined(t.camelSelectionDetails)&&(s=t.camelSelectionDetails.selectedCamelContextId,l=t.camelSelectionDetails.selectedRouteId),console.log("==== componentName "+c+" selectedCamelContextId: "+s+" selectedRouteId: "+l);var u=e.camelContextMBeansById(o);if(s){var d=Core.pathGet(u,[s,"mbean"]);if(d)return d}if(l){var h=e.camelContextMBeansByRouteId(o),d=Core.pathGet(h,[l,"mbean"]);if(d)return d}if(c){var h=e.camelContextMBeansByComponentName(o),d=Core.pathGet(h,[c,"mbean"]);if(d)return d}var p=null;return angular.forEach(u,function(e,t){var n=e.mbean;!p&&n&&(p=n)}),p}t.selectedComponentName=null,t.endpointParameters={},t.endpointPath="",t.schema={definitions:{}},t.jolokia=o;var u={silent:!0};t.$watch("workspace.selection",function(){t.loadEndpointNames()}),t.$watch("selectedComponentName",function(){t.selectedComponentName!==t.loadedComponentName&&(t.endpointParameters={},t.loadEndpointSchema(t.selectedComponentName),t.loadedComponentName=t.selectedComponentName)}),t.endpointCompletions=function(e){var n=null,i=c(),r=t.selectedComponentName,o={};return i&&r&&e&&(n=t.jolokia.execute(i,"completeEndpointPath",r,o,e,Core.onSuccess(null,u))),n||[]},t.loadEndpointNames=function(){t.componentNames=null;var e=c();e?t.jolokia.execute(e,"findComponentNames",Core.onSuccess(a,{silent:!0})):console.log("WARNING: No camel context mbean so cannot load component names")},t.loadEndpointSchema=function(e){var n=c();n&&e&&e!==t.loadedEndpointSchema&&(t.selectedComponentName=e,t.jolokia.execute(n,"componentParameterJsonSchema",e,Core.onSuccess(s,u)))}}e.endpointCategories={bigdata:{label:"Big Data",endpoints:["hdfs","hbase","lucene","solr"],endpointIcon:"img/icons/camel/endpointRepository24.png"},database:{label:"Database",endpoints:["couchdb","elasticsearch","hbase","jdbc","jpa","hibernate","mongodb","mybatis","sql"],endpointIcon:"img/icons/camel/endpointRepository24.png"},cloud:{label:"Cloud",endpoints:["aws-cw","aws-ddb","aws-sdb","aws-ses","aws-sns","aws-sqs","aws-s3","gauth","ghhtp","glogin","gtask","jclouds"]},core:{label:"Core",endpoints:["bean","direct","seda"]},messaging:{label:"Messaging",endpoints:["jms","activemq","amqp","cometd","cometds","mqtt","netty","vertx","websocket"],endpointIcon:"img/icons/camel/endpointQueue24.png"},mobile:{label:"Mobile",endpoints:["apns"]},sass:{label:"SaaS",endpoints:["salesforce","sap-netweaver"]},social:{label:"Social",endpoints:["atom","facebook","irc","ircs","rss","smpp","twitter","weather"]},storage:{label:"Storage",endpointIcon:"img/icons/camel/endpointFolder24.png",endpoints:["file","ftp","sftp","scp","jsch"]},template:{label:"Templating",endpoints:["freemarker","velocity","xquery","xslt","scalate","string-template"]}},e.endpointToCategory={},e.endpointIcon="img/icons/camel/endpoint24.png",e.endpointConfigurations={drools:{icon:"img/icons/camel/endpointQueue24.png"},quartz:{icon:"img/icons/camel/endpointTimer24.png"},facebook:{icon:"img/icons/camel/endpoints/facebook24.jpg"},salesforce:{icon:"img/icons/camel/endpoints/salesForce24.png"},sap:{icon:"img/icons/camel/endpoints/SAPe24.png"},"sap-netweaver":{icon:"img/icons/camel/endpoints/SAPNetweaver24.jpg"},timer:{icon:"img/icons/camel/endpointTimer24.png"},twitter:{icon:"img/icons/camel/endpoints/twitter24.png"},weather:{icon:"img/icons/camel/endpoints/weather24.jpg"}},e.endpointForms={file:{tabs:{Options:["*"]}},activemq:{tabs:{Connection:["clientId","transacted","transactedInOut","transactionName","transactionTimeout"],Producer:["timeToLive","priority","allowNullBody","pubSubNoLocal","preserveMessageQos"],Consumer:["concurrentConsumers","acknowledgementModeName","selector","receiveTimeout"],Reply:["replyToDestination","replyToDeliveryPersistent","replyToCacheLevelName","replyToDestinationSelectorName"],Options:["*"]}}},e.endpointForms.jms=e.endpointForms.activemq,angular.forEach(e.endpointCategories,function(t,n){t.id=n,angular.forEach(t.endpoints,function(n){e.endpointToCategory[n]=t})});var a={route:{Overview:["id","description"],Advanced:["*"]}};e.getEndpointIcon=t,e.getEndpointConfig=n,e.getEndpointCategory=i,e.getConfiguredCamelModel=r,e.initEndpointChooserScope=o}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.EndpointRuntimeRegistryController",["$scope","$location","workspace","jolokia",function(t,n,i,r){function o(e){var n=e.value;if(n){var i=[];for(var r in n){var o=n[r];i.push({url:o.url,routeId:o.routeId,direction:o.direction,static:o.static,dynamic:o.dynamic,hits:o.hits})}i=_.sortBy(i,"url"),t.data=i,t.selectedMBean=e.request.mbean}else t.selectedMBean="true";Core.$apply(t)}function a(){console.log("Loading EndpointRuntimeRegistry data...");var t=e.getSelectionCamelEndpointRuntimeRegistry(i);t&&r.request({type:"exec",mbean:t,operation:"endpointStatistics"},Core.onSuccess(o))}t.data=[],t.selectedMBean=null,t.mbeanAttributes={};var s=[{field:"url",displayName:"Url",cellFilter:null,width:"*",resizable:!0},{field:"routeId",displayName:"Route Id",cellFilter:null,width:"*",resizable:!0},{field:"direction",displayName:"Direction",cellFilter:null,width:"*",resizable:!0},{field:"static",displayName:"Static",cellFilter:null,width:"*",resizable:!0},{field:"dynamic",displayName:"Dynamic",cellFilter:null,width:"*",resizable:!0},{field:"hits",displayName:"Hits",cellFilter:null,width:"*",resizable:!0}];t.gridOptions={data:"data",displayFooter:!0,displaySelectionCheckbox:!1,canSelectRows:!1,enableSorting:!0,columnDefs:s,selectedItems:[],filterOptions:{filterText:""},primaryKeyFn:function(e){return e.routeId}},t.renderIcon=function(t){return e.iconClass(t)},a()}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.InflightController",["$scope","$location","workspace","jolokia",function(t,n,i,r){function o(e){var n=e.value;if(n){var i=[];for(var r in n){var o=n[r];i.push({exchangeId:o.exchangeId,routeId:o.routeId,nodeId:o.nodeId,duration:o.duration,elapsed:o.elapsed})}i=_.sortBy(i,"exchangeId"),t.data=i,t.selectedMBean=e.request.mbean}else t.data=[];t.initDone="true",Core.$apply(t)}function a(){console.log("Loading inflight data...");var n=e.getSelectedRouteId(i);null!=n&&(t.gridOptions.filterOptions.filterText=n);var a=e.getSelectionCamelInflightRepository(i);if(a){var s={type:"exec",mbean:a,operation:"browse()"};Core.scopeStoreJolokiaHandle(t,r,r.register(o,s))}}t.data=[],t.initDone=!1,t.mbeanAttributes={};var s=[{field:"exchangeId",
+displayName:"Exchange Id",cellFilter:null,width:"*",resizable:!0},{field:"routeId",displayName:"Route Id",cellFilter:null,width:"*",resizable:!0},{field:"nodeId",displayName:"Node Id",cellFilter:null,width:"*",resizable:!0},{field:"duration",displayName:"Duration (ms)",cellFilter:null,width:"*",resizable:!0},{field:"elapsed",displayName:"Elapsed (ms)",cellFilter:null,width:"*",resizable:!0}];t.gridOptions={data:"data",displayFooter:!0,displaySelectionCheckbox:!1,canSelectRows:!1,enableSorting:!0,columnDefs:s,selectedItems:[],filterOptions:{filterText:""},primaryKeyFn:function(e){return e.exchangeId}},t.renderIcon=function(t){return e.iconClass(t)},a()}])}(Camel||(Camel={}));var Camel;!function(e){e.jmsHeaderSchema={definitions:{headers:{properties:{JMSCorrelationID:{type:"java.lang.String"},JMSDeliveryMode:{type:"string",enum:["PERSISTENT","NON_PERSISTENT"]},JMSDestination:{type:"javax.jms.Destination"},JMSExpiration:{type:"long"},JMSPriority:{type:"int"},JMSReplyTo:{type:"javax.jms.Destination"},JMSType:{type:"java.lang.String"},JMSXGroupId:{type:"java.lang.String"},AMQ_SCHEDULED_CRON:{type:"java.lang.String"},AMQ_SCHEDULED_DELAY:{type:"java.lang.String"},AMQ_SCHEDULED_PERIOD:{type:"java.lang.String"},AMQ_SCHEDULED_REPEAT:{type:"java.lang.String"}}},"javax.jms.Destination":{type:"java.lang.String"}}}}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.PreferencesController",["$scope","localStorage",function(t,n){var i={properties:{camelHideOptionDocumentation:{type:"boolean",default:e.defaultHideOptionDocumentation,description:"Whether to hide documentation in the properties view and Camel route editor"},camelHideOptionDefaultValue:{type:"boolean",default:e.defaultHideOptionDefaultValue,description:"Whether to hide options that are using a default value in the properties view"},camelHideOptionUnusedValue:{type:"boolean",default:e.defaultHideOptionUnusedValue,description:"Whether to hide unused/empty options in the properties view"},camelTraceOrDebugIncludeStreams:{type:"boolean",default:e.defaultCamelTraceOrDebugIncludeStreams,description:"Whether to include stream based message body when using the tracer and debugger"},camelMaximumTraceOrDebugBodyLength:{type:"number",default:e.defaultCamelMaximumTraceOrDebugBodyLength,description:"The maximum length of the body before its clipped when using the tracer and debugger"},camelMaximumLabelWidth:{type:"number",description:"The maximum length of a label in Camel diagrams before it is clipped"},camelIgnoreIdForLabel:{type:"boolean",default:!1,description:"If enabled then we will ignore the ID value when viewing a pattern in a Camel diagram; otherwise we will use the ID value as the label (the tooltip will show the actual detail)"},camelShowInflightCounter:{type:"boolean",default:!0,description:"Whether to show inflight counter in route diagram"},camelRouteMetricMaxSeconds:{type:"number",min:"1",max:"100",description:"The maximum value in seconds used by the route metrics duration and histogram charts"}}};t.entity=t,t.config=i,Core.initPreferenceScope(t,n,{camelIgnoreIdForLabel:{value:!1,converter:Core.parseBooleanValue},camelShowInflightCounter:{value:!0,converter:Core.parseBooleanValue},camelMaximumLabelWidth:{value:e.defaultMaximumLabelWidth,converter:parseInt},camelMaximumTraceOrDebugBodyLength:{value:e.defaultCamelMaximumTraceOrDebugBodyLength,converter:parseInt},camelTraceOrDebugIncludeStreams:{value:e.defaultCamelTraceOrDebugIncludeStreams,converter:Core.parseBooleanValue},camelRouteMetricMaxSeconds:{value:e.defaultCamelRouteMetricMaxSeconds,converter:parseInt},camelHideOptionDocumentation:{value:e.defaultHideOptionDocumentation,converter:Core.parseBooleanValue},camelHideOptionDefaultValue:{value:e.defaultHideOptionDefaultValue,converter:Core.parseBooleanValue},camelHideOptionUnusedValue:{value:e.defaultHideOptionUnusedValue,converter:Core.parseBooleanValue}})}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.ProfileRouteController",["$scope","$location","workspace","jolokia",function(t,n,i,r){function o(e){var n=[],i=e.value;if(angular.isString(i)){var r=$.parseXML(i),o=$(r).find("routeStat");o.each(function(e,t){var i={id:{},count:{},last:{},delta:{},mean:{},min:{},max:{},total:{},self:{}};i.id=t.getAttribute("id");var r=0;r+=+t.getAttribute("exchangesCompleted"),r+=+t.getAttribute("exchangesFailed"),i.count=r,i.last=t.getAttribute("lastProcessingTime");var o=t.getAttribute("deltaProcessingTime");o?i.delta=o:i.delta=0,i.mean=t.getAttribute("meanProcessingTime"),i.min=t.getAttribute("minProcessingTime"),i.max=t.getAttribute("maxProcessingTime"),i.total=t.getAttribute("totalProcessingTime"),i.self=t.getAttribute("selfProcessingTime"),n.push(i)});var a=$(r).find("processorStat");a.each(function(e,t){var i={id:{},count:{},last:{},delta:{},mean:{},min:{},max:{},total:{},self:{}};i.id=t.getAttribute("id");var r=0;r+=+t.getAttribute("exchangesCompleted"),r+=+t.getAttribute("exchangesFailed"),i.count=r,i.last=t.getAttribute("lastProcessingTime");var o=t.getAttribute("deltaProcessingTime");o?i.delta=o:i.delta=0,i.mean=t.getAttribute("meanProcessingTime"),i.min=t.getAttribute("minProcessingTime"),i.max=t.getAttribute("maxProcessingTime");var a=t.getAttribute("accumulatedProcessingTime");a?i.total=a:i.total="0",i.self=t.getAttribute("totalProcessingTime"),n.push(i)})}t.data=n,t.initDone=!0,Core.$apply(t)}function a(){console.log("Loading Camel route profile data...");var n=e.getSelectedRouteId(i),a=e.getSelectionRouteMBean(i,n);if(a){var s={type:"exec",mbean:a,operation:"dumpRouteStatsAsXml(boolean,boolean)",arguments:[!1,!0]};Core.scopeStoreJolokiaHandle(t,r,r.register(o,s))}}t.initDone=!1,t.data=[];var s=[{field:"id",displayName:"Id",cellFilter:null,width:"**",resizable:!0},{field:"count",displayName:"Count",cellFilter:null,width:"*",resizable:!0},{field:"last",displayName:"Last",cellFilter:null,width:"*",resizable:!0},{field:"delta",displayName:"Delta",cellFilter:null,width:"*",resizable:!0},{field:"mean",displayName:"Mean",cellFilter:null,width:"*",resizable:!0},{field:"min",displayName:"Min",cellFilter:null,width:"*",resizable:!0},{field:"max",displayName:"Max",cellFilter:null,width:"*",resizable:!0},{field:"total",displayName:"Total",cellFilter:null,width:"*",resizable:!0},{field:"self",displayName:"Self",cellFilter:null,width:"*",resizable:!0}];t.rowIcon=function(e){var n=t.icons[e];return n?n.img+" "+e:e},t.gridOptions={data:"data",selectedItems:[],displayFooter:!0,displaySelectionCheckbox:!1,canSelectRows:!1,enableSorting:!1,columnDefs:s,filterOptions:{filterText:""}},a()}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.PropertiesController",["$scope","workspace","localStorage","jolokia",function(t,n,i,r){function o(e){var n=Core.pathGet(t.model,["properties",e,"defaultValue"]);if(angular.isDefined(n)){var i=Core.pathGet(t.nodeData,e);if(angular.isDefined(i)){var r=i.toString();return 0===r.localeCompare(n)}}return!1}function a(e){var n=Core.pathGet(t.nodeData,e);return!angular.isUndefined(n)&&!Core.isBlank(n)&&(!angular.isString(n)||!Core.isBlank(n))}function s(){var i=e.getSelectedRouteNode(n);if(t.nodeData=e.getRouteNodeJSON(i),i&&(t.model=e.getCamelSchema(i.nodeName),t.model)){l.enabledFor(Logger.DEBUG)&&(l.debug("Properties - data: "+JSON.stringify(t.nodeData,null," ")),l.debug("Properties - schema: "+JSON.stringify(t.model,null," ")));var r=[];t.model.group&&(r=t.model.group.split(",")),t.labels=r,t.nodeData=e.getRouteNodeJSON(i),t.icon=e.getRouteNodeIcon(i),t.viewTemplate="plugins/camel/html/nodePropertiesView.html",Core.$apply(t)}}var l=Logger.get("Camel");t.hideHelp=e.hideOptionDocumentation(i),t.hideUnused=e.hideOptionUnusedValue(i),t.hideDefault=e.hideOptionDefaultValue(i),t.viewTemplate=null,t.schema=e._apacheCamelModel,t.model=null,t.labels=[],t.nodeData=null,t.icon=null,t.$watch("hideHelp",function(e,t){e!==t&&s()}),t.$watch("hideUnused",function(e,t){e!==t&&s()}),t.$watch("hideDefault",function(e,t){e!==t&&s()}),t.$on("$routeChangeSuccess",function(e,t,n){setTimeout(s,50)}),t.$watch("workspace.selection",function(){n.moveIfViewInvalid()||s()}),t.showEntity=function(e){return(!t.hideDefault||!o(e))&&!(t.hideUnused&&!a(e))}}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.PropertiesComponentController",["$scope","workspace","localStorage","jolokia","documentBase",function(t,n,i,r,o){function a(e){var n=Core.pathGet(t.model,["properties",e,"defaultValue"]);if(angular.isDefined(n)){var i=Core.pathGet(t.nodeData,e);if(angular.isDefined(i)){var r=i.toString();return 0===r.localeCompare(n)}}return!1}function s(e){var n=Core.pathGet(t.nodeData,e);return!angular.isUndefined(n)&&!Core.isBlank(n)&&(!angular.isString(n)||!Core.isBlank(n))}function l(){var i=e.getSelectionCamelContextMBean(n),o=null;if(o||(o=n.getSelectedMBeanName()),o&&i){var a=r.request({type:"read",mbean:o,attribute:["ComponentName"]}),s=a.value.ComponentName;if(s){t.componentName=s,u.info("Calling explainComponentJson for name: "+s);var l={type:"exec",mbean:i,operation:"explainComponentJson(java.lang.String,boolean)",arguments:[s,!0]};r.request(l,Core.onSuccess(c))}}}function c(e){u.debug("Populate data "+e);var n=e.value;if(n){t.model=JSON.parse(n),t.model.title=t.componentName,t.model.description=t.model.component.description,t.icon=UrlHelpers.join(o,"/img/icons/camel/endpoint24.png"),t.nodeData={},t.model.properties=t.model.componentProperties,angular.forEach(t.model.componentProperties,function(e,n){var i=e.value||e.defaultValue;angular.isDefined(i)&&null!==i&&(t.nodeData[n]=i),delete e.label});var i=[];t.model.component.label&&(i=t.model.component.label.split(",")),t.labels=i,t.viewTemplate="plugins/camel/html/nodePropertiesView.html",Core.$apply(t)}}var u=Logger.get("Camel");t.hideHelp=e.hideOptionDocumentation(i),t.hideUnused=e.hideOptionUnusedValue(i),t.hideDefault=e.hideOptionDefaultValue(i),t.viewTemplate=null,t.schema=null,t.model=null,t.labels=[],t.nodeData=null,t.icon=null,t.componentName=null,t.$watch("hideHelp",function(e,t){e!==t&&l()}),t.$watch("hideUnused",function(e,t){e!==t&&l()}),t.$watch("hideDefault",function(e,t){e!==t&&l()}),t.$on("$routeChangeSuccess",function(e,t,n){setTimeout(l,50)}),t.$watch("workspace.selection",function(){n.moveIfViewInvalid()||l()}),t.showEntity=function(e){return(!t.hideDefault||!a(e))&&!(t.hideUnused&&!s(e))}}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.PropertiesDataFormatController",["$scope","workspace","localStorage","jolokia","documentBase",function(t,n,i,r,o){function a(e){var n=Core.pathGet(t.model,["properties",e,"defaultValue"]);if(angular.isDefined(n)){var i=Core.pathGet(t.nodeData,e);if(angular.isDefined(i)){var r=i.toString();return 0===r.localeCompare(n)}}return!1}function s(e){var n=Core.pathGet(t.nodeData,e);return!angular.isUndefined(n)&&!Core.isBlank(n)&&(!angular.isString(n)||!Core.isBlank(n))}function l(){var e=null;if(e||(e=n.getSelectedMBeanName()),e){u.info("Calling informationJson");var t={type:"exec",mbean:e,operation:"informationJson"};r.request(t,Core.onSuccess(c))}}function c(e){u.debug("Populate data "+e);var n=e.value;if(n){t.model=JSON.parse(n),t.model.title=t.model.dataformat.title+" ("+t.model.dataformat.name+")",t.model.description=t.model.dataformat.description,t.icon=UrlHelpers.join(o,"/img/icons/camel/marshal24.png"),t.nodeData={},angular.forEach(t.model.properties,function(e,n){var i=e.value||e.defaultValue;angular.isDefined(i)&&null!==i&&(t.nodeData[n]=i),delete e.label}),delete t.model.properties.id;var i=[];t.model.dataformat.label&&(i=t.model.dataformat.label.split(",")),t.labels=i,t.viewTemplate="plugins/camel/html/nodePropertiesView.html",Core.$apply(t)}}var u=Logger.get("Camel");t.hideHelp=e.hideOptionDocumentation(i),t.hideUnused=e.hideOptionUnusedValue(i),t.hideDefault=e.hideOptionDefaultValue(i),t.viewTemplate=null,t.schema=null,t.model=null,t.labels=[],t.nodeData=null,t.icon=null,t.dataFormatName=null,t.$watch("hideHelp",function(e,t){e!==t&&l()}),t.$watch("hideUnused",function(e,t){e!==t&&l()}),t.$watch("hideDefault",function(e,t){e!==t&&l()}),t.$on("$routeChangeSuccess",function(e,t,n){setTimeout(l,50)}),t.$watch("workspace.selection",function(){n.moveIfViewInvalid()||l()}),t.showEntity=function(e){return(!t.hideDefault||!a(e))&&!(t.hideUnused&&!s(e))}}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.PropertiesEndpointController",["$scope","workspace","localStorage","jolokia","documentBase",function(t,n,i,r,o){function a(e){var n=Core.pathGet(t.model,["properties",e,"defaultValue"]);if(angular.isDefined(n)){var i=Core.pathGet(t.nodeData,e);if(angular.isDefined(i)){var r=i.toString();return 0===r.localeCompare(n)}}return!1}function s(e){var n=Core.pathGet(t.nodeData,e);return!angular.isUndefined(n)&&!Core.isBlank(n)&&(!angular.isString(n)||!Core.isBlank(n))}function l(){var i=e.getSelectionCamelContextMBean(n),o=null;if(t.contextId&&t.endpointPath){var a=n.findMBeanWithProperties(e.jmxDomain,{context:t.contextId,type:"endpoints",name:t.endpointPath});a&&(o=a.objectName)}if(o||(o=n.getSelectedMBeanName()),o&&i){var s=r.request({type:"read",mbean:o,attribute:["EndpointUri"]}),l=s.value.EndpointUri;if(l){t.endpointUrl=l,u.info("Calling explainEndpointJson for url: "+l);var d={type:"exec",mbean:i,operation:"explainEndpointJson(java.lang.String,boolean)",arguments:[l,!0]};r.request(d,Core.onSuccess(c))}}}function c(e){u.debug("Populate data "+e);var n=e.value;if(n){t.model=JSON.parse(n),t.model.title=t.endpointUrl,t.model.description=t.model.component.description,t.icon=UrlHelpers.join(o,"/img/icons/camel/endpoint24.png"),t.nodeData={},angular.forEach(t.model.properties,function(e,n){var i=e.value||e.defaultValue;angular.isDefined(i)&&null!==i&&(t.nodeData[n]=i),delete e.label});var i=[];t.model.component.label&&(i=t.model.component.label.split(",")),t.labels=i,t.viewTemplate="plugins/camel/html/nodePropertiesView.html",Core.$apply(t)}}var u=Logger.get("Camel");t.hideHelp=e.hideOptionDocumentation(i),t.hideUnused=e.hideOptionUnusedValue(i),t.hideDefault=e.hideOptionDefaultValue(i),t.viewTemplate=null,t.schema=null,t.model=null,t.labels=[],t.nodeData=null,t.icon=null,t.endpointUrl=null,t.$watch("hideHelp",function(e,t){e!==t&&l()}),t.$watch("hideUnused",function(e,t){e!==t&&l()}),t.$watch("hideDefault",function(e,t){e!==t&&l()}),t.$on("$routeChangeSuccess",function(e,t,n){setTimeout(l,50)}),t.$watch("workspace.selection",function(){n.moveIfViewInvalid()||l()}),t.showEntity=function(e){return(!t.hideDefault||!a(e))&&!(t.hideUnused&&!s(e))}}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.RestServiceController",["$scope","$location","workspace","jolokia",function(t,n,i,r){function o(e){var n=e.value;if(n){var i=[];for(var r in n){var o=n[r];for(var a in o){var s=o[a];i.push({url:s.url,baseUrl:s.baseUrl,basePath:s.basePath,uriTemplate:s.uriTemplate,method:s.method,consumes:s.consumes,produces:s.produces,inType:s.inType,outType:s.outType,state:s.state,routeId:s.routeId,description:s.description})}}i=_.sortBy(i,"url"),t.data=i,t.selectedMBean=e.request.mbean}else t.selectedMBean="true";Core.$apply(t)}function a(){console.log("Loading RestRegistry data...");var t=e.getSelectionCamelRestRegistry(i);t&&r.request({type:"exec",mbean:t,operation:"listRestServices"},Core.onSuccess(o))}t.data=[],t.selectedMBean=null,t.mbeanAttributes={};var s=[{field:"url",displayName:"Absolute Url",cellFilter:null,width:"*",resizable:!0},{field:"baseUrl",displayName:"Base Url",cellFilter:null,width:"*",resizable:!0},{field:"basePath",displayName:"Base Path",cellFilter:null,width:"*",resizable:!0},{field:"uriTemplate",displayName:"Uri Template",cellFilter:null,width:"*",resizable:!0},{field:"method",displayName:"Method",cellFilter:null,width:"*",resizable:!0},{field:"consumes",displayName:"Consumes",cellFilter:null,width:"*",resizable:!0},{field:"produces",displayName:"Produces",cellFilter:null,width:"*",resizable:!0},{field:"inType",displayName:"Input Type",cellFilter:null,width:"*",resizable:!0},{field:"outType",displayName:"Output Type",cellFilter:null,width:"*",resizable:!0},{field:"state",displayName:"State",cellFilter:null,width:"*",resizable:!0},{field:"routeId",displayName:"Route Id",cellFilter:null,width:"*",resizable:!0},{field:"description",displayName:"Description",cellFilter:null,width:"*",resizable:!0}];t.gridOptions={data:"data",displayFooter:!0,displaySelectionCheckbox:!1,canSelectRows:!1,enableSorting:!0,columnDefs:s,selectedItems:[],filterOptions:{filterText:""},primaryKeyFn:function(e){return e.routeId}},t.renderIcon=function(t){return e.iconClass(t)},a()}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.RouteMetricsController",["$scope","$location","workspace","jolokia","metricsWatcher",function(t,n,i,r,o){function a(e){var n=e.value;if(n){var i=JSON.parse(n);if(!t.initDone){var r=i.timers,a=0;if(null!=r){for(var s in r){var c=s,u=c.lastIndexOf("."),d=c.substr(0,u),h=c.substr(u+1),p=c.indexOf(":"),f=c.substr(p+1);u=f.lastIndexOf("."),u>0&&(f=f.substr(0,u));var g=(r[s],"timer-"+a);t.metricDivs.push({id:g,routeId:f}),a++,l.info("Added timer: "+g+" ("+d+"."+h+") for route: "+f+" with max seconds: "+t.maxSeconds),o.addTimer(g,d,h,t.maxSeconds,f,"Histogram",1e3*t.maxSeconds)}l.info("Pre-init graphs"),Core.$apply(t)}l.info("Init graphs"),o.initGraphs()}t.initDone=!0,l.debug("Updating graphs: "+i),o.updateGraphs(i)}t.initDone=!0,Core.$apply(t)}function s(){l.info("Loading RouteMetrics data...");var n=e.getSelectedRouteId(i);null!=n&&(t.filterText=n);var o=e.getSelectionCamelRouteMetrics(i);if(o){var s={type:"exec",mbean:o,operation:"dumpStatisticsAsJson"};Core.scopeStoreJolokiaHandle(t,r,r.register(a,s))}else t.initDone=!0,Core.$apply(t)}var l=Logger.get("Camel");t.maxSeconds=e.routeMetricMaxSeconds(localStorage),t.filterText=null,t.initDone=!1,t.metricDivs=[],t.filterByRoute=function(e){l.debug("Filter by route "+e);var n=Core.matchFilterIgnoreCase(e.routeId,t.filterText);return n?"":"display: none;"},t.onResponse=function(e){s()},t.$watch("workspace.tree",function(){setTimeout(s,50)})}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.RouteController",["$scope","$routeParams","$element","$timeout","workspace","$location","jolokia","localStorage",function(t,n,i,r,o,a,s,l){function c(){var n=null;if(!t.ignoreRouteXmlNode&&(n=e.getSelectedRouteNode(o),n||(n=t.nodeXmlNode),n&&"route"!==n.localName)){var i=document.createElement("route");i.appendChild(n.cloneNode(!0)),n=i}if(t.mbean=e.getSelectionCamelContextMBean(o),!t.mbean&&t.contextId&&(t.mbean=e.getCamelContextMBean(o,t.contextId)),n){t.nodes={};var r=[],a=[];t.processorTree=e.camelProcessorMBeansById(o),e.addRouteXmlChildren(t,n,r,a,null,0,0),h(r,a)}else t.mbean?s.request({type:"exec",mbean:t.mbean,operation:"dumpRoutesAsXml()"},Core.onSuccess(y)):m.info("No camel context bean! Selection: "+o.selection)}function u(e){if(e){var t=e.getAttribute("class");return t&&_.endsWith(t,b)}return!1}function d(e,t){var n=!1;if(e){var i=e.getAttribute("class"),r=i&&_.endsWith(i,b);if(r)i=i.substring(0,i.length-b.length);else{if(!t)return n;i+=b,n=!0}e.setAttribute("class",i)}return n}function h(e,n){var r,o=i,l=p(),c=f(),h=o.children("svg")[0],m=a.path();r=_.startsWith(m,"/camel/debugRoute")||_.startsWith(m,"/camel/traceRoute")?null:x,t.graphData=Core.dagreLayoutGraph(e,n,l,c,h,!1,r);var v=o.find("g.node");return v.click(function(){var e=u(this);v.each(function(e,t){d(t,!1)});var n=null;e||(n=this.getAttribute("data-cid"),d(this,!0)),t.$emit("camel.diagram.selectedNodeId",n),Core.$apply(t)}),t.mbean&&Core.register(s,t,{type:"exec",mbean:t.mbean,operation:"dumpRoutesStatsAsXml",arguments:[!0,!0]},Core.onSuccess(g,{silent:!0,error:!1})),t.$emit("camel.diagram.layoutComplete"),l}function p(){var e=i;return e.width()}function f(){var t=i;return e.getCanvasHeight(t)}function g(e){function n(e,n){var i=n.getAttribute("id"),r=n.getAttribute("exchangesCompleted"),o=n.hasAttribute("exchangesInflight")?n.getAttribute("exchangesInflight"):0,a="";if(i&&r){var s=e?t.routeNodes:t.nodes,l=s[i];if(l||angular.forEach(s,function(e,t){l||i!==e.elementId||(l=e)}),l){var c=0+parseInt(r),u=n.getAttribute("exchangesFailed");u&&(c+=parseInt(u));var d=n.getAttribute("lastProcessingTime"),h=n.getAttribute("meanProcessingTime"),p=n.getAttribute("minProcessingTime"),f=n.getAttribute("maxProcessingTime");a="total: "+c+"\ninflight:"+o+"\nlast: "+d+" (ms)\nmean: "+h+" (ms)\nmin: "+p+" (ms)\nmax: "+f+" (ms)",l.counter=c,t.camelShowInflightCounter&&(l.inflight=o);var g=l.labelSummary;g&&(a=g+"\n\n"+a),l.tooltip=a}}}var i=e.value;if(i){var r=$.parseXML(i),o=$(r).find("routeStat");o.each(function(e,t){n(!0,t)});var o=$(r).find("processorStat");o.each(function(e,t){n(!1,t)}),Core.dagreUpdateGraphData(t.graphData)}}var m=Logger.get("Camel");t.routes=[],t.routeNodes={},null!=n&&(t.contextId=n.contextId,t.routeId=Core.trimQuotes(n.routeId),t.isJmxTab=!n.contextId||!n.routeId),t.camelIgnoreIdForLabel=e.ignoreIdForLabel(l),t.camelMaximumLabelWidth=e.maximumLabelWidth(l),t.camelShowInflightCounter=e.showInflightCounter(l);var v=_.debounce(c,300,{trailing:!0});t.$on("$routeChangeSuccess",function(e,t,n){v()}),t.$watch("workspace.selection",function(){t.isJmxTab&&o.moveIfViewInvalid()||v()}),t.$on("jmxTreeUpdated",function(){v()}),t.$watch("nodeXmlNode",function(){t.isJmxTab&&o.moveIfViewInvalid()||v()});var y=function(n){var i=n.value;t.routes=i,t.nodes={},t.routeNodes={};var r=[],a=[],s=t.routeId;if(s||(s=e.getSelectedRouteId(o)),i){var l=$.parseXML(i);t.processorTree=e.camelProcessorMBeansById(o),e.loadRouteXmlNodes(t,l,s,r,a,p()),h(r,a)}else console.log("No data from route XML!");Core.$apply(t)},b=" selected",x=function(e){m.debug("Clicked on Camel Route Diagram node: "+e.cid),a.path("/camel/properties").search({"main-tab":"camel","sub-tab":"camel-route-properties",nid:e.cid})}}])}(Camel||(Camel={}));var Camel;!function(e){var t="2";e._module.controller("Camel.SendMessageController",["$route","$scope","$element","$timeout","workspace","jolokia","localStorage","$location","activeMQMessage","PreferencesLastPath",function(n,i,r,o,a,s,l,c,u,d){function h(n,r){var o=a.selection;if(o){var c=o.objectName;if(c){var u=null;i.headers.length&&(u={},angular.forEach(i.headers,function(e){var t=e.name;t&&(u[t]=e.value)}),g.info("About to send headers: "+JSON.stringify(u)));var d=Core.onSuccess(r);if("org.apache.camel"===o.domain){var h=e.getContextAndTargetEndpoint(a),p=h.uri;if(c=h.mbean,c&&p){var f=!0;if(e.isCamelVersionEQGT(2,14,a,s)){var m=s.execute(c,"canSendToEndpoint(java.lang.String)",p);m||(Core.notification("warning","Camel does not support sending to this endpoint."),f=!1)}f&&(u?s.execute(c,"sendBodyAndHeaders(java.lang.String, java.lang.Object, java.util.Map)",p,n,u,d):s.execute(c,"sendStringBody(java.lang.String, java.lang.String)",p,n,d))}else c?Core.notification("error","Failed to determine endpoint name!"):Core.notification("error","Could not find CamelContext MBean!"),g.debug("Parsed context and endpoint: ",h)}else{var v=l.activemqUserName,y=l.activemqPassword;u||(u={}),u.JMSDeliveryMode||(u.JMSDeliveryMode=t),s.execute(c,"sendTextMessage(java.util.Map, java.lang.String, java.lang.String, java.lang.String)",u,n,v,y,d)}}}}function p(){return!0}function f(){return!0}var g=Logger.get("Camel");if(i.noCredentials=!1,i.container={},i.message="\n\n\n\n",i.headers=[],Core.bindModelToSearchParam(i,c,"tab","subtab","compose"),Core.bindModelToSearchParam(i,c,"searchText","q",""),Core.reloadWhenParametersChange(n,i,c),i.checkCredentials=function(){i.noCredentials=Core.isBlank(l.activemqUserName)||Core.isBlank(l.activemqPassword)},c.path().indexOf("activemq")>-1){if(i.localStorage=l,i.$watch("localStorage.activemqUserName",i.checkCredentials),i.$watch("localStorage.activemqPassword",i.checkCredentials),null!==u.message&&(i.message=u.message.bodyText,null!==u.message.PropertiesText))for(var m in u.message.StringProperties)i.headers.push({name:m,value:u.message.StringProperties[m]});u.message=null}i.openPrefs=function(){d.lastPath=c.path(),d.lastSearch=c.search(),c.path("/preferences").search({pref:"ActiveMQ"})};var v="defaultLanguageFormat",y=a.getLocalStorage(v)||"javascript";i.codeMirror=void 0;var b={mode:{name:y},onChange:function(e){i.codeMirror||(i.codeMirror=e)}};i.codeMirrorOptions=CodeEditor.createEditorSettings(b),i.addHeader=function(){i.headers.push({name:"",value:""}),r&&o(function(){var e=r.find("input.headerName").last();e.focus()},100)},i.removeHeader=function(e){var t=i.headers.indexOf(e);i.headers.splice(t,1)},i.defaultHeaderNames=function(){function t(e){angular.forEach(e.definitions.headers.properties,function(e,t){n.push(t)})}var n=[];return f()&&t(e.jmsHeaderSchema),p()&&t(e.camelHeaderSchema),n},i.$watch("workspace.selection",function(){a.moveIfViewInvalid()}),i.$watch("codeMirrorOptions.mode.name",function(e,t){a.setLocalStorage(v,e)});var x=function(){i.message="",Core.notification("success","Message sent!")};i.autoFormat=function(){setTimeout(function(){CodeEditor.autoFormatEditor(i.codeMirror)},50)},i.sendMessage=function(){var e=i.message;h(e,x)}}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.SourceController",["$scope","workspace",function(t,n){function i(e){function t(e,t){var n=t.getAttribute("customId");"route"===t.nodeName&&(n="true"),n&&"true"===n||t.removeAttribute("id"),t.removeAttribute("customId"),t.removeAttribute("_cid"),t.removeAttribute("group")}var n=$(e).clone();n.each(t),n.find("*").each(t);var i=n&&n.length?n[0]:e;return Core.xmlNodeToString(i)}function r(){var r=e.getSelectedRouteNode(n);if(r)t.source=i(r),t.showUpdateButton="route"===r.nodeName,Core.$apply(t);else{if(t.mbean=e.getSelectionCamelContextMBean(n),!t.mbean){var a=Core.pathGet(n,["selection","parent"]);a&&"context"===a.title&&(t.mbean=a.children[0].objectName)}if(t.mbean){var s=n.jolokia;s.request({type:"exec",mbean:t.mbean,operation:"dumpRoutesAsXml()"},Core.onSuccess(o))}}}t.$on("$routeChangeSuccess",function(e,t,n){setTimeout(r,50)}),t.$watch("workspace.selection",function(){n.moveIfViewInvalid()||r()}),t.mode="xml",t.showUpdateButton=!0;var o=function(r){var o=r.value,a=e.getSelectedRouteId(n);if(o&&a){var s=$.parseXML(o),l=$(s).find('route[id="'+a+'"]');if(l&&l.length){var c=l[0],u=c.parentNode;u&&"routes"===u.nodeName&&u.attributes&&angular.forEach(u.attributes,function(e){if(e.name.startsWith("xmlns")){var t=s.createAttribute(e.name);t.value=e.value,c.attributes.setNamedItem(t)}});var d=i(c);d&&(o=d)}}t.source=o,Core.$apply(t)},a=function(){Core.notification("success","Route updated!"),n.loadTree()};t.saveRouteXml=function(){var i=t.source;if(i){var r=decodeURIComponent(i);e.log.debug("addOrUpdateRoutesFromXml xml decoded: "+r);var o=n.jolokia,s=e.getSelectionCamelContextMBean(n);s?o.execute(s,"addOrUpdateRoutesFromXml(java.lang.String)",r,Core.onSuccess(a)):Core.notification("error","Could not find CamelContext MBean!")}}}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.TraceRouteController",["$scope","workspace","jolokia","localStorage","tracerStatus",function(t,n,i,r,o){function a(){t.tracing=!1,null!=o.jhandle&&(d.debug("Unregistering jolokia handle"),i.unregister(o.jhandle),o.jhandle=null);var r=e.getSelectionCamelTraceMBean(n);if(r)if(t.tracing=i.getAttribute(r,"Enabled",Core.onSuccess(null)),t.tracing){var a=r;a&&null===o.jhandle&&(d.debug("Registering jolokia handle"),o.jhandle=i.register(s,{type:"exec",mbean:a,operation:"dumpAllTracedMessagesAsXml()",ignoreErrors:!0,arguments:[]})),t.graphView="plugins/camel/html/routes.html"}else o.messages=[],t.messages=[],t.graphView=null,t.showMessageDetails=!1}function s(i){d.debug("Populating response "+i);var r=e.getSelectedRouteId(n),a=i.value;if(angular.isString(a)){var s=$.parseXML(a),l=$(s).find("fabricTracerEventMessage");l&&l.length||(l=$(s).find("backlogTracerEventMessage")),l.each(function(n,i){var o=$(i).find("routeId").text();if(o===r){var a=e.createMessageFromXml(i),s=$(i).find("toNode").text();s&&(a.toNode=s),a.openMessageDialog=t.openMessageDialog,d.debug("Adding new message to trace table with id "+a.id),t.messages.push(a)}}),o.messages=t.messages,Core.$apply(t)}}function l(){angular.forEach(t.gridOptions.selectedItems,function(t){if(t){var n=t.toNode;if(n){var i=d3.select("svg").selectAll("g .node");e.highlightSelectedNode(i,n)}}})}function c(e){a(),Core.$apply(t)}function u(t){var o=e.getSelectionCamelTraceMBean(n);if(o){if(_.endsWith(o.toString(),"BacklogTracer")){var a=e.maximumTraceOrDebugBodyLength(r),s=e.traceOrDebugIncludeStreams(r);i.setAttribute(o,"BodyMaxChars",a),i.setAttribute(o,"BodyIncludeStreams",s),i.setAttribute(o,"BodyIncludeFiles",s)}i.setAttribute(o,"Enabled",t,Core.onSuccess(c))}}var d=Logger.get("CamelTracer");t.tracing=!1,t.messages=[],t.graphView=null,t.mode="text",t.showMessageDetails=!1,t.gridOptions=e.createBrowseGridOptions(),t.gridOptions.selectWithCheckboxOnly=!1,t.gridOptions.showSelectionCheckbox=!1,t.gridOptions.multiSelect=!1,t.gridOptions.afterSelectionChange=l,t.gridOptions.columnDefs.push({field:"toNode",displayName:"To Node"}),t.startTracing=function(){d.info("Start tracing"),u(!0)},t.stopTracing=function(){d.info("Stop tracing"),u(!1)},t.clear=function(){d.debug("Clear messages"),o.messages=[],t.messages=[],Core.$apply(t)},t.$watch("workspace.selection",function(){n.moveIfViewInvalid()||(t.messages=o.messages,a())}),t.openMessageDialog=function(e){if(ActiveMQ.selectCurrentMessage(e,"id",t),t.row){var n=t.row.body;t.mode=angular.isString(n)?CodeEditor.detectTextFormat(n):"text","javascript"==t.mode&&(t.mode="text"),t.showMessageDetails=!0}else t.showMessageDetails=!1;Core.$apply(t)},ActiveMQ.decorate(t,l),d.info("Re-activating tracer with "+o.messages.length+" existing messages"),t.messages=o.messages,t.tracing=null!=o.jhandle}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.TreeHeaderController",["$scope","$location",function(e,t){e.contextFilterText="",e.$watch("contextFilterText",function(t,n){t!==n&&e.$emit("camel-contextFilterText",t)}),e.expandAll=function(){Tree.expandAll("#cameltree")},e.contractAll=function(){Tree.contractAll("#cameltree")}}]),e._module.controller("Camel.TreeController",["$scope","$location","$timeout","workspace","$rootScope",function(t,n,i,r,o){function a(o){void 0===o&&(o=null),t.fullScreenViewLink=e.linkToFullScreenView(r);var a=(e.jmxDomain,r.tree);if(a){var l=a.findDescendant(function(e){return"camelContexts"===e.id});l&&i(function(){var e=$("#cameltree");Jmx.enableTree(t,n,r,e,[l],!0),s(),angular.isFunction(o)&&o()},10)}}function s(){Jmx.updateTreeSelectionFromURLAndAutoSelect(n,$("#cameltree"),function(e){var t=e.getChildren();if(t&&1===t.length){e=t[0],e.expand(!0);var n=e.getChildren();if(n&&n.length){var i=n[0];if("routes"===i.data.typeName)return e=i}}return null},!0),t.fullScreenViewLink=e.linkToFullScreenView(r)}t.contextFilterText=n.search().cq,t.fullScreenViewLink=e.linkToFullScreenView(r),t.$on("$routeChangeSuccess",function(e,t,n){i(s,50,!1)}),t.$watch("workspace.tree",function(){a()}),t.$on("jmxTreeUpdated",function(){a()})}])}(Camel||(Camel={}));var Camel;!function(e){e._module.controller("Camel.TypeConverterController",["$scope","$location","workspace","jolokia",function(t,n,i,r){function o(e){var n=e.value;n&&(t.mbeanAttributes=n,Core.$apply(t))}function a(e){var n=e.value;if(n){var i=[];for(var r in n){var o=n[r];for(var a in o)i.push({from:r,to:a})}i=_.sortBy(i,"from"),t.data=i,t.selectedMBean=e.request.mbean,Core.$apply(t)}}function s(){console.log("Loading TypeConverter data...");var n=e.getSelectionCamelTypeConverter(i);if(n){var s={type:"read",mbean:n,attribute:["AttemptCounter","FailedCounter","HitCounter","MissCounter","NumberOfTypeConverters","StatisticsEnabled"]};r.request(s,Core.onSuccess(o)),Core.scopeStoreJolokiaHandle(t,r,r.register(o,s)),r.request({type:"exec",mbean:n,operation:"listTypeConverters"},Core.onSuccess(a))}}t.data=[],
+t.selectedMBean=null,t.mbeanAttributes={};var l=[{field:"from",displayName:"From",cellFilter:null,width:"*",resizable:!0},{field:"to",displayName:"To",cellFilter:null,width:"*",resizable:!0}];t.gridOptions={data:"data",displayFooter:!0,displaySelectionCheckbox:!1,canSelectRows:!1,enableSorting:!0,columnDefs:l,selectedItems:[],filterOptions:{filterText:""},primaryKeyFn:function(e){return e.from+"/"+e.to}},t.renderIcon=function(t){return e.iconClass(t)},t.disableStatistics=function(){t.selectedMBean&&r.setAttribute(t.selectedMBean,"StatisticsEnabled",!1)},t.enableStatistics=function(){t.selectedMBean&&r.setAttribute(t.selectedMBean,"StatisticsEnabled",!0)},t.resetStatistics=function(){t.selectedMBean&&r.request({type:"exec",mbean:t.selectedMBean,operation:"resetTypeConversionCounters"},Core.onSuccess(null,{silent:!0}))},s()}])}(Camel||(Camel={}));var Karaf;!function(e){function t(e,t){if(!angular.isDefined(e))return t[0];var n=t.findIndex(function(t){return t.id===e.id});return n!==-1?t[n]:t[0]}function n(t,n,i,r,o){e.log.info("installing URI: ",i),n.request({type:"exec",mbean:k(t),operation:"addRepository(java.lang.String)",arguments:[i]},Core.onSuccess(r,{error:o}))}function i(t,n,i,r,o){e.log.info("uninstalling URI: ",i),n.request({type:"exec",mbean:k(t),operation:"removeRepository(java.lang.String)",arguments:[i]},Core.onSuccess(r,{error:o}))}function r(e,t,n,i,r,o){t.request({type:"exec",mbean:k(e),operation:"installFeature(java.lang.String, java.lang.String)",arguments:[n,i]},Core.onSuccess(r,{error:o}))}function o(e,t,n,i,r,o){t.request({type:"exec",mbean:k(e),operation:"uninstallFeature(java.lang.String, java.lang.String)",arguments:[n,i]},Core.onSuccess(r,{error:o}))}function a(e){var t=e;return angular.isArray(e)||(t=[e]),t}function s(e,t,n){return""+n+" "}function l(e,t,n){var i=[],r=[];return p(e,i,r),_.find(i,function(e){return e.Name==t&&e.Version==n})}function c(e){return D.test(e)}function u(e){return M.test(e)}function d(e){return A.test(e)}function h(e){return I.test(e)}function p(e,t,n){var i=e.Features;angular.forEach(e.Repositories,function(e){n.push({id:e.Name,uri:e.Uri}),i&&angular.forEach(e.Features,function(n){angular.forEach(n,function(n){if(void 0!==i[n.Name]){var r=_.cloneDeep(i[n.Name][n.Version]);r.Id=n.Name+"/"+n.Version,r.RepositoryName=e.Name,r.RepositoryURI=e.Uri,t.push(r)}})})})}function f(e,t,n){var i=[];return angular.forEach(n,function(n){i.push({Name:n,State:g(b(e,t,n))})}),i}function g(e){switch(e){case 2:return"Enabled";case 4:return"Unsatisfied";case 8:return"Activating";case 16:return"Active";case 32:return"Registered";case 64:return"Factory";case 128:return"Deactivating";case 256:return"Destroying";case 1024:return"Disabling";case 2048:return"Disposing"}return"Unknown"}function m(e,t){var n=S(e),i=t.request({type:"read",mbean:n,arguments:[]});return"Components"in i.value?i.value.Components.values:(i=t.request({type:"exec",mbean:n,operation:"listComponents()"}),f(e,t,i.value))}function v(e,t,n){var i=m(e,t);return i.find(function(e){return e.Name==n})}function y(e,t,n){var i=t.request({type:"exec",mbean:S(e),operation:"isComponentActive(java.lang.String)",arguments:[n]});return i.value}function b(e,t,n){var i=t.request({type:"exec",mbean:S(e),operation:"componentState(java.lang.String)",arguments:[n]});return i.value}function x(e,t,n,i,r){t.request({type:"exec",mbean:S(e),operation:"activateComponent(java.lang.String)",arguments:[n]},Core.onSuccess(i,{error:r}))}function w(e,t,n,i,r){t.request({type:"exec",mbean:S(e),operation:"deactiveateComponent(java.lang.String)",arguments:[n]},Core.onSuccess(i,{error:r}))}function C(e,t,n){angular.forEach(t,function(t){angular.forEach(t,function(t){var i=l(e,t.Name,t.Version);i.id=t.Name+"/"+t.Version,n.push(i)})})}function k(e){if(e){var t=e.mbeanTypesToDomain.features||e.mbeanTypesToDomain.feature||{},n=t["org.apache.karaf"]||{},i=n.objectName;if(i)return i;var r=e.tree.navigate("org.apache.karaf","features");if(!r&&(r=e.tree.navigate("org.apache.karaf"))){var o=r.children;r=null,angular.forEach(o,function(e){r||(r=e.navigate("features"))})}if(r){var o=r.children;if(o){var a=o[0];if(a)return a.objectName}return r.objectName}}return null}function S(e){if(e){var t=e.mbeanTypesToDomain.scr||{},n=t["org.apache.karaf"]||{},i=n.objectName;if(i)return i;var r=e.tree.navigate("org.apache.karaf","scr");if(!r&&(r=e.tree.navigate("org.apache.karaf"))){var o=r.children;r=null,angular.forEach(o,function(e){r||(r=e.navigate("scr"))})}if(r){var o=r.children;if(o){var a=o[0];if(a)return a.objectName}return r.objectName}}return null}e.log=Logger.get("Karaf"),e.setSelect=t,e.installRepository=n,e.uninstallRepository=i,e.installFeature=r,e.uninstallFeature=o,e.toCollection=a,e.featureLinks=s,e.extractFeature=l;var T=["^org.apache.aries","^org.apache.karaf","^activemq-karaf","^org.apache.commons","^org.apache.felix","^io.fabric8","^io.fabric8.fab","^io.fabric8.insight","^io.fabric8.mq","^io.fabric8.patch","^io.fabric8.runtime","^io.fabric8.security","^org.apache.geronimo.specs","^org.apache.servicemix.bundles","^org.objectweb.asm","^io.hawt","^javax.mail","^javax","^org.jvnet","^org.mvel2","^org.apache.mina.core","^org.apache.sshd.core","^org.apache.neethi","^org.apache.servicemix.specs","^org.apache.xbean","^org.apache.santuario.xmlsec","^biz.aQute.bndlib","^groovy-all","^com.google.guava","jackson-\\w+-asl","^com.fasterxml.jackson","^org.ops4j","^org.springframework","^bcprov$","^jline$","scala-library$","^org.scala-lang","^stax2-api$","^woodstox-core-asl","^org.jboss.amq.mq-fabric","^gravia-","^joda-time$","^org.apache.ws","-commands$","patch.patch","org.fusesource.insight","activeio-core","activemq-osgi","^org.eclipse.jetty","org.codehaus.jettison.jettison","org.jledit.core","org.fusesource.jansi","org.eclipse.equinox.region"],D=new RegExp(T.join("|")),E=["^org.apache.camel","camel-karaf-commands$","activemq-camel$"],A=new RegExp(E.join("|")),P=["^org.apache.cxf"],I=new RegExp(P.join("|")),$=["^org.apache.activemq","activemq-camel$"],M=new RegExp($.join("|"));e.isPlatformBundle=c,e.isActiveMQBundle=u,e.isCamelBundle=d,e.isCxfBundle=h,e.populateFeaturesAndRepos=p,e.createScrComponentsView=f,e.getComponentStateDescription=g,e.getAllComponents=m,e.getComponentByName=v,e.isComponentActive=y,e.getComponentState=b,e.activateComponent=x,e.deactivateComponent=w,e.populateDependencies=C,e.getSelectionFeaturesMBean=k,e.getSelectionScrMBean=S}(Karaf||(Karaf={}));var Karaf;!function(e){var t="karaf";e._module=angular.module(t,["ngResource","hawtio-core"]),e._module.config(["$routeProvider",function(e){e.when("/osgi/server",{templateUrl:"plugins/karaf/html/server.html"}).when("/osgi/features",{templateUrl:"plugins/karaf/html/features.html",reloadOnSearch:!1}).when("/osgi/scr-components",{templateUrl:"plugins/karaf/html/scr-components.html"}).when("/osgi/scr-component/:name",{templateUrl:"plugins/karaf/html/scr-component.html"}).when("/osgi/feature/:name/:version",{templateUrl:"plugins/karaf/html/feature.html"})}]),e._module.run(["workspace","viewRegistry","helpRegistry",function(e,t,n){n.addUserDoc("karaf","plugins/karaf/doc/help.md",function(){return e.treeContainsDomainAndProperties("org.apache.karaf")})}]),hawtioPluginLoader.addModule(t)}(Karaf||(Karaf={}));var Karaf;!function(e){e._module.controller("Karaf.FeatureController",["$scope","jolokia","workspace","$routeParams",function(t,n,i,r){function o(n){if(t.row=e.extractFeature(n.value,t.name,t.version),t.row){l(t.row);var i=[];angular.forEach(t.row.Dependencies,function(e,t){angular.forEach(e,function(e,n){i.push({Name:t,Version:n})})}),t.row.Dependencies=i}Core.$apply(t)}function a(e){Osgi.defaultBundleValues(i,t,e.values),angular.forEach(e.value,function(e){var n=e.Location;t.bundlesByLocation[n]=e})}function s(){var t=e.getSelectionFeaturesMBean(i),n=Osgi.getSelectionBundleMBean(i),r=i.jolokia;n&&a(r.request({type:"exec",mbean:n,operation:"listBundles()"})),t&&r.request({type:"read",mbean:t},Core.onSuccess(o))}function l(e){var n=[];angular.forEach(e.Bundles,function(e){var i=t.bundlesByLocation[e];i?(i.Installed=!0,n.push(i)):n.push({Location:e,Installed:!1})}),e.BundleDetails=n}t.name=r.name,t.version=r.version,t.bundlesByLocation={},t.props="properties",s(),t.install=function(){e.installFeature(i,n,t.name,t.version,function(){Core.notification("success","Installed feature "+t.name)},function(e){Core.notification("error","Failed to install feature "+t.name+" due to "+e.error)})},t.uninstall=function(){e.uninstallFeature(i,n,t.name,t.version,function(){Core.notification("success","Uninstalled feature "+t.name)},function(e){Core.notification("error","Failed to uninstall feature "+t.name+" due to "+e.error)})},t.toProperties=function(e){var t="";return angular.forEach(e,function(e,n){t+=e.Key+" = "+e.Value+"\n"}),t.trim()}}])}(Karaf||(Karaf={}));var Karaf;!function(e){e._module.controller("Karaf.FeaturesController",["$scope","$location","workspace","jolokia",function(t,n,i,r){function o(n){var i=angular.toJson(n.value);if(t.responseJson!==i){t.responseJson=i,null===n.value.Features?t.featuresError=!0:t.featuresError=!1,t.features=[],t.repositories=[];var r=[],o=[];e.populateFeaturesAndRepos(n.value,r,o);var a=r.filter(function(e){return Core.parseBooleanValue(e.Installed)}),s=r.filter(function(e){return!Core.parseBooleanValue(e.Installed)});if(t.installedFeatures=_.sortBy(a,function(e){return e.Name}),s=_.sortBy(s,function(e){return e.Name}),_.sortBy(o,"id").forEach(function(e){t.repositories.push({repository:e.id,uri:e.uri,features:_.filter(s,function(t){return t.RepositoryName===e.id})})}),!Core.isBlank(t.newRepositoryURI)){var l=_.find(o,function(e){return e.uri===t.newRepositoryURI});l&&(t.selectedRepositoryId=l.id),t.newRepositoryURI=""}Core.isBlank(t.selectedRepositoryId)?t.selectedRepository=_.first(t.repositories):t.selectedRepository=_.find(t.repositories,function(e){return e.repository===t.selectedRepositoryId}),Core.$apply(t)}}t.responseJson="",t.filter="",t.installedFeatures=[],t.features=[],t.repositories=[],t.selectedRepositoryId="",t.selectedRepository={},t.newRepositoryURI="",t.init=function(){var e=n.search().repositoryId;e&&(t.selectedRepositoryId=e);var i=n.search().filter;i&&(t.filter=i)},t.init(),t.$watch("selectedRepository",function(e,i){e!==i&&(e?t.selectedRepositoryId=e.repository:t.selectedRepositoryId="",n.search("repositoryId",t.selectedRepositoryId))},!0),t.$watch("filter",function(e,t){e!==t&&n.search("filter",e)});var a=e.getSelectionFeaturesMBean(i);e.log.debug("Features mbean: ",a),a&&Core.register(r,t,{type:"read",mbean:a},Core.onSuccess(o)),t.inSelectedRepository=function(e){return t.selectedRepository&&"repository"in t.selectedRepository&&e&&"RepositoryName"in e&&e.RepositoryName===t.selectedRepository.repository?"in-selected-repository":""},t.isValidRepository=function(){return Core.isBlank(t.newRepositoryURI)},t.installRepository=function(){var n=t.newRepositoryURI;Core.notification("info","Adding feature repository URL"),e.installRepository(i,r,n,function(){Core.notification("success","Added feature repository URL"),t.selectedRepository={},t.selectedRepositoryId="",t.responseJson=null,t.triggerRefresh()},function(i){e.log.error("Failed to add feature repository URL ",n," due to ",i.error),e.log.info("stack trace: ",i.stacktrace),Core.$apply(t)})},t.uninstallRepository=function(){var n=t.selectedRepository.uri;Core.notification("info","Removing feature repository "+n),e.uninstallRepository(i,r,n,function(){Core.notification("success","Removed feature repository "+n),t.responseJson=null,t.selectedRepositoryId="",t.selectedRepository={},t.triggerRefresh()},function(i){e.log.error("Failed to remove feature repository ",n," due to ",i.error),e.log.info("stack trace: ",i.stacktrace),Core.$apply(t)})},t.triggerRefresh=function(){r.request({type:"read",method:"POST",mbean:a},Core.onSuccess(o))},t.install=function(n){Core.notification("info","Installing feature "+n.Name),e.installFeature(i,r,n.Name,n.Version,function(){Core.notification("success","Installed feature "+n.Name),t.installedFeatures.add(n),t.responseJson=null,t.triggerRefresh()},function(i){e.log.error("Failed to install feature ",n.Name," due to ",i.error),e.log.info("stack trace: ",i.stacktrace),Core.$apply(t)})},t.uninstall=function(n){Core.notification("info","Uninstalling feature "+n.Name),e.uninstallFeature(i,r,n.Name,n.Version,function(){Core.notification("success","Uninstalled feature "+n.Name),t.installedFeatures.remove(n),t.responseJson=null,t.triggerRefresh()},function(i){e.log.error("Failed to uninstall feature ",n.Name," due to ",i.error),e.log.info("stack trace: ",i.stacktrace),Core.$apply(t)})},t.filteredRows=["Bundles","Configurations","Configuration Files","Dependencies"],t.showRow=function(e,n){return t.filteredRows.indexOf(e)===-1&&((!angular.isArray(n)||0!==n.length)&&((!angular.isString(n)||!Core.isBlank(n))&&!(angular.isObject(n)&&(!n||angular.equals(n,{})))))},t.installed=function(e){var t=Core.parseBooleanValue(e);return t},t.showValue=function(e){if(angular.isArray(e)){var t=[''];return e.forEach(function(e){t.push(""+e+" ")}),t.push(" "),t.join("\n")}if(angular.isObject(e)){var t=['',""];return angular.forEach(e,function(e,n){t.push(""),t.push(""+n+" "),t.push(""+e+" "),t.push(" ")}),t.push(" "),t.push("
"),t.join("\n")}return""+e},t.getStateStyle=function(e){return Core.parseBooleanValue(e.Installed)?"badge badge-success":"badge"},t.filterFeature=function(e){return!!Core.isBlank(t.filter)||!!e.Id.has(t.filter)}}])}(Karaf||(Karaf={}));var Karaf;!function(e){e._module.controller("Karaf.NavBarController",["$scope","workspace",function(t,n){t.hash=n.hash(),t.isKarafEnabled=n.treeContainsDomainAndProperties("org.apache.karaf"),t.isFeaturesEnabled=e.getSelectionFeaturesMBean(n),t.isScrEnabled=e.getSelectionScrMBean(n),t.$on("$routeChangeSuccess",function(){t.hash=n.hash()}),t.isActive=function(e){return n.isLinkActive(e)},t.isPrefixActive=function(e){return n.isLinkPrefixActive(e)}}])}(Karaf||(Karaf={}));var Karaf;!function(e){e._module.controller("Karaf.ScrComponentController",["$scope","$location","workspace","jolokia","$routeParams",function(t,n,i,r,o){function a(){t.row=e.getComponentByName(i,r,t.name),Core.$apply(t)}t.name=o.name,a(),t.activate=function(){e.activateComponent(i,r,t.row.Name,function(){console.log("Activated!")},function(){console.log("Failed to activate!")})},t.deactivate=function(){e.deactivateComponent(i,r,t.row.Name,function(){console.log("Deactivated!")},function(){console.log("Failed to deactivate!")})}}])}(Karaf||(Karaf={}));var Karaf;!function(e){e._module.controller("Karaf.ScrComponentsController",["$scope","$location","workspace","jolokia",function(t,n,i,r){function o(){return[{Name:"",Status:!1}]}function a(e){angular.equals(t.result,e)||(t.components=e,t.result=t.components,Core.$apply(t))}t.component=o(),t.result=[],t.components=[],t.selectedComponents=[],t.scrOptions={data:"components",showFilter:!1,showColumnMenu:!1,filterOptions:{useExternalFilter:!1},sortInfo:{fields:["Name"],directions:["asc"]},selectedItems:t.selectedComponents,rowHeight:32,selectWithCheckboxOnly:!0,columnDefs:[{field:"Name",displayName:"Name",cellTemplate:'',width:400},{field:"State",displayName:"State",cellTemplate:'{{row.getProperty(col.field)}}
',width:200}],primaryKeyFn:function(e){return e.Name}};var s=e.getSelectionScrMBean(i);s&&a(e.getAllComponents(i,r)),t.activate=function(){t.selectedComponents.forEach(function(t){e.activateComponent(i,r,t.Name,function(){console.log("Activated!")},function(){console.log("Failed to activate!")})})},t.deactivate=function(){t.selectedComponents.forEach(function(t){e.deactivateComponent(i,r,t.Name,function(){console.log("Deactivated!")},function(){console.log("Failed to deactivate!")})})}}])}(Karaf||(Karaf={}));var Karaf;!function(e){e._module.controller("Karaf.ServerController",["$scope","$location","workspace","jolokia",function(e,t,n,i){function r(){setTimeout(o,50)}function o(){console.log("Loading Karaf data..."),i.search("org.apache.karaf:type=admin,*",Core.onSuccess(a))}function a(e){if(angular.isArray(e)){var t=e[0];t&&i.getAttribute(t,"Instances",Core.onSuccess(function(e){s(e,t)}))}}function s(t,n){if(t){var r=Core.parseMBean(n),o="root";"attributes"in r&&"name"in r.attributes&&(o=r.attributes.name);var a=t[o];e.data.name=a.Name,e.data.state=a.State,e.data.root=a["Is Root"],e.data.location=a.Location,e.data.sshPort=a["SSH Port"],e.data.rmiRegistryPort=a["RMI Registry Port"],e.data.rmiServerPort=a["RMI Server Port"],e.data.pid=a.Pid,e.data.version="?",e.data.startLevel="?",e.data.framework="?",e.data.frameworkVersion="?";var s="org.apache.karaf:type=system,name="+a.Name,l=i.request({type:"read",mbean:s,attribute:["StartLevel","Framework","Version"]},Core.onSuccess(null)),c=l.value;c&&(e.data.version=c.Version,e.data.startLevel=c.StartLevel,e.data.framework=c.Framework);var u=i.search("osgi.core:type=bundleState,*",Core.onSuccess(null));if(angular.isArray(u)){var n=u[0];if(n){var d=i.request({type:"exec",mbean:n,operation:"getVersion(long)",arguments:[0]},Core.onSuccess(null)),h=d.value;h&&(e.data.frameworkVersion=h)}}}Core.$apply(e)}e.data={name:"",version:"",state:"",root:"",startLevel:"",framework:"",frameworkVersion:"",location:"",sshPort:"",rmiRegistryPort:"",rmiServerPort:"",pid:""},e.$on("jmxTreeUpdated",r),e.$watch("workspace.tree",r)}])}(Karaf||(Karaf={}));var Osgi;!function(e){function t(e,t,i){var r=i;return angular.forEach(i,function(t){t.ImportData=a(t.ImportedPackages),t.ExportData=a(t.ExportedPackages),t.IdentifierLink=d(e,t.Identifier),t.Hosts=u(e,t.Hosts,r),t.Fragments=u(e,t.Fragments,r),t.ImportedPackages=_.uniq(t.ImportedPackages),t.StateStyle=n("label",t.State),t.RequiringBundles=u(e,t.RequiringBundles,r)}),i}function n(e,t){switch(t){case"INSTALLED":return e+"-important";case"RESOLVED":return e+"-inverse";case"STARTING":return e+"-warning";case"ACTIVE":return e+"-success";case"STOPPING":return e+"-info";case"UNINSTALLED":return"";default:return e+"-important"}}function i(e,t,n){return angular.forEach(n,function(t){t.BundleIdentifier=d(e,t.BundleIdentifier)}),n}function r(e,t,n){function i(t,n){n||(n=t);var i=t.Name,o=t.Version;if(i&&!_.startsWith(i,"#")){t.VersionUrl=Core.url("/osgi/package/"+i+"/"+o+e.hash());var a=n.ImportingBundles||t.ImportingBundles,s=n.ExportingBundles||t.ExportingBundles;t.ImportingBundleUrls=h(e,a),t.ExportingBundleUrls=h(e,s),r.push(t)}}var r=[],o=n.values;return o&&angular.forEach(o,i),angular.forEach(n,function(e){angular.forEach(e,function(t){angular.forEach(t,function(t){i(t,e)})})}),r}function o(e,t,n){var i=[];return angular.forEach(n,function(t){var n={};n.Pid=t[0],n.PidLink=""+t[0]+" ",n.Bundle=t[1],i.push(n)}),i}function a(e){for(var t={},n=0;n0){var o=i.substring(0,r),a=i.substring(r+1),s=t[o];void 0===s&&(s={},t[o]=s),s.ReportedVersion=a}}return t}function s(e,t){var n={},i={},r=e[t];if(void 0===r)return n;for(var o=r.Value,a=!0,s=!1,c="",u="",d=0;d0)return void(e["D"+t.substring(0,n)]=t.substring(n+2));var i=t.indexOf("=");return i>0?void(e["A"+t.substring(0,i)]=t.substring(i+1)):void 0}function c(e){var t=e;return angular.isArray(e)||(t=[e]),t}function u(e,t,n){var i="",r=c(t).sort(function(e,t){return e-t});return angular.forEach(r,function(t,r){var o="";i.length>0&&(o=" ");var a=n[t]||{},s=a.SymbolicName;i+=o+""+s+" "}),i}function d(e,t){var n="",i=c(t).sort(function(e,t){return e-t});return angular.forEach(i,function(t,i){var r="";n.length>0&&(r=" "),n+=r+""+t+" "}),n}function h(e,t){var n=[];return angular.forEach(t,function(t,i){n.push(Core.url("/osgi/bundle/"+t+e.hash()))}),n}function p(e,t){var n="";return angular.forEach(c(t),function(t,i){var r="";n.length>0&&(r=" "),n+=r+""+t+" "}),n}function f(e,t){var n="";return angular.forEach(t,function(t){var i=t.Identifier;if(e===i.toString())return n=t}),n}function g(t){if(t){var n=t.tree.navigate("osgi.core","bundleState");return e.findFirstObjectName(n)}return null}function m(e){if(e){var t=e.objectName;if(t)return t;var n=e.children;if(n&&n.length)return m(n[0])}return null}function v(t){if(t){var n=t.tree.navigate("osgi.core","framework");return e.findFirstObjectName(n)}return null}function y(t){if(t){var n=t.tree.navigate("osgi.core","serviceState");return e.findFirstObjectName(n)}return null}function b(t){if(t){var n=t.tree.navigate("osgi.core","packageState");return e.findFirstObjectName(n)}return null}function x(t){if(t){var n=t.tree.navigate("osgi.compendium","cm");return e.findFirstObjectName(n)}return null}function w(e){if(e){var t=e.mbeanTypesToDomain,n=t.MetaTypeFacade||{},i=n["io.fabric8"]||{};return i.objectName}return null}function C(e){if(e){var t=e.mbeanTypesToDomain,n=t.ProfileMetadata||{},i=n["io.fabric8"]||{};return i.objectName}return null}function k(e){if(e){var t=e.mbeanTypesToDomain,n=t.OSGiTools||{},i=n.hawtio||{};return i.objectName}return null}function S(e){if(e){var t=e.mbeanTypesToDomain,n=t.ConfigAdmin||{},i=n.hawtio||{};return i.objectName}return null}function T(e,t,n,i){return void 0===i&&(i=!1),Core.url(D(e,n,i)+t.hash())}function D(e,t,n){void 0===n&&(n=!1);var i=t,r=e.versionId;e.profileId;if(r&&r){var o=n?"/newConfiguration/":"/configuration/";return"/wiki/branch/"+r+o+i+"/"+e.pageId}return"/osgi/pid/"+i}function E(e,t,n,i){var r=x(e),o=null;return t&&r&&(o=t.execute(r,"getProperties",n,Core.onSuccess(i))),o}function A(e,t){if(e&&t){if(_.startsWith(e,t))return e.substring(t.length+1);var n=t.lastIndexOf(".");if(n>0){var i=t.substring(0,n+1);return Core.trimLeading(e,i)}}return e}e.log=Logger.get("OSGi"),e.defaultBundleValues=t,e.getStateStyle=n,e.defaultServiceValues=i,e.defaultPackageValues=r,e.defaultConfigurationValues=o,e.parseActualPackages=a,e.parseManifestHeader=s,e.toCollection=c,e.labelBundleLinks=u,e.bundleLinks=d,e.bundleUrls=h,e.pidLinks=p,e.findBundle=f,e.getSelectionBundleMBean=g,e.findFirstObjectName=m,e.getSelectionFrameworkMBean=v,e.getSelectionServiceMBean=y,e.getSelectionPackageMBean=b,e.getSelectionConfigAdminMBean=x,e.getMetaTypeMBean=w,e.getProfileMetadataMBean=C,e.getHawtioOSGiToolsMBean=k,e.getHawtioConfigAdminMBean=S,e.createConfigPidLink=T,e.createConfigPidPath=D,e.getConfigurationProperties=E,e.removeFactoryPidPrefix=A}(Osgi||(Osgi={}));var Osgi;!function(e){var t=function(){function t(e,t){this.jolokia=t,this.workspace=e}return t.prototype.getBundles=function(){var t={},n=this.jolokia.request({type:"exec",mbean:e.getSelectionBundleMBean(this.workspace),operation:"listBundles()"},Core.onSuccess(null));return angular.forEach(n.value,function(e,n){var i={Identifier:e.Identifier,Name:"",SymbolicName:e.SymbolicName,Fragment:e.Fragment,State:e.State,Version:e.Version,LastModified:new Date(Number(e.LastModified)),Location:e.Location,StartLevel:void 0,RegisteredServices:e.RegisteredServices,ServicesInUse:e.ServicesInUse};e.Headers["Bundle-Name"]&&(i.Name=e.Headers["Bundle-Name"].Value),t[e.Identifier]=i}),t},t.prototype.getServices=function(){var t={},n=this.jolokia.request({type:"exec",mbean:e.getSelectionServiceMBean(this.workspace),operation:"listServices()"},Core.onSuccess(null)),i=n.value;return angular.forEach(i,function(e,n){t[e.Identifier]=e}),t},t.prototype.getPackages=function(){var t={},n=this.jolokia.request({type:"exec",mbean:e.getSelectionPackageMBean(this.workspace),operation:"listPackages()"},Core.onSuccess(null)),i=n.value.values;return i.forEach(function(e){t[e.Name+"-"+e.Version]=e}),t},t}();e.OsgiDataService=t}(Osgi||(Osgi={}));var Osgi;!function(e){e.pluginName="osgi",e._module=angular.module(e.pluginName,[]),e._module.config(["$routeProvider",function(e){e.when("/osgi",{redirectTo:"/osgi/bundle-list"}).when("/osgi/bundle-list",{templateUrl:"plugins/osgi/html/bundle-list.html"}).when("/osgi/bundles",{templateUrl:"plugins/osgi/html/bundles.html"}).when("/osgi/bundle/:bundleId",{templateUrl:"plugins/osgi/html/bundle.html"}).when("/osgi/services",{templateUrl:"plugins/osgi/html/services.html"}).when("/osgi/packages",{templateUrl:"plugins/osgi/html/packages.html"}).when("/osgi/package/:package/:version",{templateUrl:"plugins/osgi/html/package.html"}).when("/osgi/configurations",{templateUrl:"plugins/osgi/html/configurations.html"}).when("/osgi/pid/:pid/:factoryPid",{templateUrl:"plugins/osgi/html/pid.html"}).when("/osgi/pid/:pid",{templateUrl:"plugins/osgi/html/pid.html"}).when("/osgi/fwk",{templateUrl:"plugins/osgi/html/framework.html"}).when("/osgi/dependencies",{templateUrl:"plugins/osgi/html/svc-dependencies.html",reloadOnSearch:!1})}]),e._module.run(["HawtioNav","workspace","viewRegistry","helpRegistry",function(e,t,n,i){i.addUserDoc("osgi","plugins/osgi/doc/help.md",function(){return t.treeContainsDomainAndProperties("osgi.core")});var r=e.builder(),o=r.id("osgi-configuration").href(function(){return"/osgi/configurations"+t.hash()}).title(function(){return"Configuration"}).isSelected(function(){return t.isLinkPrefixActive("/osgi/configuration")||t.isLinkPrefixActive("/osgi/pid")}).build(),a=r.id("osgi-bundles").href(function(){return"/osgi/bundle-list"+t.hash()}).title(function(){return"Bundles"}).isSelected(function(){return t.isLinkPrefixActive("/osgi/bundle")}).build(),s=r.id("osgi-features").href(function(){return"/osgi/features"+t.hash()}).title(function(){return"Features"}).show(function(){return!Core.isBlank(Karaf.getSelectionFeaturesMBean(t))}).isSelected(function(){return t.isLinkPrefixActive("/osgi/feature")}).build(),l=r.id("osgi-packages").href(function(){return"/osgi/packages"+t.hash()}).title(function(){return"Packages"}).isSelected(function(){return t.isLinkPrefixActive("/osgi/package")}).build(),c=r.id("osgi-services").href(function(){return"/osgi/services"+t.hash()}).title(function(){return"Services"}).isSelected(function(){return t.isLinkPrefixActive("/osgi/service")}).build(),u=r.id("osgi-scr-components").href(function(){return"/osgi/scr-components"+t.hash()}).title(function(){return"Declarative Services"}).show(function(){return!Core.isBlank(Karaf.getSelectionScrMBean(t))}).isSelected(function(){return t.isLinkPrefixActive("/osgi/scr-component")}).build(),d=r.id("osgi-server").href(function(){return"/osgi/server"+t.hash()}).title(function(){return"Server"}).isSelected(function(){return t.isLinkPrefixActive("/osgi/server")}).build(),h=r.id("osgi-fwk").href(function(){return"/osgi/fwk"+t.hash()}).title(function(){return"Framework"}).isSelected(function(){return t.isLinkPrefixActive("/osgi/fwk")}).build(),p=r.id("osgi-dependencies").href(function(){return"/osgi/dependencies"+t.hash()}).title(function(){return"Dependencies"}).isSelected(function(){return t.isLinkPrefixActive("/osgi/dependencies")}).build(),f=r.id("osgi").title(function(){return"OSGi"}).href(function(){return"/osgi"}).isValid(function(){return t.treeContainsDomainAndProperties("osgi.core")}).isSelected(function(){return t.isLinkActive("osgi")}).tabs(o,a,s,l,c,u,d,h,p).build();e.add(f)}]),e._module.factory("osgiDataService",["workspace","jolokia",function(t,n){return new e.OsgiDataService(t,n)}]),hawtioPluginLoader.addModule(e.pluginName)}(Osgi||(Osgi={}));var Osgi;!function(e){e._module.controller("Osgi.BundleListController",["$scope","workspace","jolokia","localStorage",function(t,n,i,r){function o(r){var o=r.value,a=angular.toJson(o);t.responseJson!==a&&(t.responseJson=a,t.bundles=[],angular.forEach(o,function(e,i){var r={Identifier:e.Identifier,Name:"",SymbolicName:e.SymbolicName,Fragment:e.Fragment,State:e.State,Version:e.Version,LastModified:new Date(Number(e.LastModified)),Location:e.Location,StartLevel:void 0,Url:Core.url("/osgi/bundle/"+e.Identifier+n.hash())};e.Headers["Bundle-Name"]&&(r.Name=e.Headers["Bundle-Name"].Value),t.bundles.push(r)}),t.bundles=_.sortBy(t.bundles,t.display.sortField),Core.$apply(t),setTimeout(function(){for(var r=[],o=0;o0&&e.StartLevel15&&(c=c.replace(/[,]/g,", ")),n+=""+a.substring(1)+" "+l+c+" "}}return n}function i(e){if(angular.isArray(e))return r(e);var t=e.toString(),n=t.lastIndexOf(".");return t.substring(n+1)}function r(e){for(var t=[],n=0;n× The hawtio.OSGiTools MBean is not available. Please contact technical support. "}function u(e){var t=document.getElementById("loadClassResult");t.innerHTML+="× Problem invoking hawtio.OSGiTools MBean. "+e+"
"}function d(n){var i=n.value;r.bundles=i,e.defaultBundleValues(a,r,i),r.row=e.findBundle(r.bundleId,i),Core.$apply(r),$(".accordion-body.collapse").hover(function(){$(this).css("overflow","visible")},function(){$(this).css("overflow","hidden")}),$("#bsn").tooltip({title:t(r.row.Headers["Bundle-SymbolicName"].Value),placement:"right"}),h(),p(),f()}function h(){var t=e.parseManifestHeader(r.row.Headers,"Import-Package");for(var i in r.row.ImportData){var o=t[i],a="Imported Version= "+r.row.ImportData[i].ReportedVersion+" ";if(void 0!==o)a+=n(o,!1),"optional"!==t[i].Dresolution&&$(document.getElementById("import."+i)).addClass("badge-info");else{$(document.getElementById("import."+i)).addClass("badge-important");var s=r.row.Headers["DynamicImport-Package"];void 0!==s&&(s=s.Value,a+="Dynamic Import. Imported due to: ",a+="DynamicImport-Package= "+s+" ")}a+="
",$(document.getElementById("import."+i)).popover({title:"attributes and directives",content:a,trigger:"hover",html:!0}),t[i]=void 0}var l="";for(var i in t)void 0!==t[i]&&void 0===r.row.ExportData[i]&&(l+=""+i+"
");""!==l&&(l="
The following optional imports were not satisfied:
",document.getElementById("unsatisfiedOptionalImports").innerHTML=l);for(var i in t)if(void 0!==t[i]){var a=" ",$(document.getElementById("unsatisfied."+i)).popover({title:"attributes and directives",content:a,trigger:"hover",html:!0})}}function p(){var t=e.parseManifestHeader(r.row.Headers,"Export-Package");for(var i in r.row.ExportData){var o="Exported Version= "+r.row.ExportData[i].ReportedVersion+" ";o+=n(t[i],!0),o+="
",$(document.getElementById("export."+i)).popover({title:"attributes and directives",content:o,trigger:"hover",html:!0})}}function f(){if(void 0!==r.row.RegisteredServices&&0!==r.row.RegisteredServices.length||void 0!==r.row.ServicesInUse&&0!==r.row.ServicesInUse){var t=e.getSelectionServiceMBean(a);t&&l.request({type:"exec",mbean:t,operation:"listServices()"},Core.onSuccess(g))}}function g(t){var n=t.value;for(var o in n){var s=document.getElementById("registers.service."+o),c=document.getElementById("uses.service."+o);(void 0!==s&&null!==s||void 0!==c&&null!==c)&&l.request({type:"exec",mbean:e.getSelectionServiceMBean(a),operation:"getProperties",arguments:[o]},Core.onSuccess(function(e,t,o){return function(a){for(var s=a.value,l=Object.keys(s).sort(),c="",u=0;u15&&(h=h.replace(/[,]/g,", ")),c+=""+l[u]+" "+h+" "}}var p=n[e].BundleIdentifier;c+="Registered by Bundle "+p+" "+r.bundles[p].SymbolicName+"
",c+="
",void 0!==t&&null!==t&&(t.innerText=" "+i(n[e].objectClass),$(t).popover({title:"service properties",content:c,trigger:"hover",html:!0})),void 0!==o&&null!==o&&(o.innerText=" "+i(n[e].objectClass),$(o).popover({title:"service properties",content:c,trigger:"hover",html:!0}))}}(o,s,c)))}}function m(){var t=e.getSelectionBundleMBean(a);t&&l.request({type:"exec",mbean:t,operation:"listBundles()"},Core.onSuccess(d))}r.bundleId=s.bundleId,m(),r.showValue=function(e){switch(e){case"Bundle-Name":case"Bundle-SymbolicName":case"Bundle-Version":case"Export-Package":case"Import-Package":return!1;default:return!0}},r.executeLoadClass=function(t){var n=e.getHawtioOSGiToolsMBean(a);n?l.request({type:"exec",mbean:n,operation:"getLoadClassOrigin",arguments:[r.bundleId,t]},{success:function(n){var i,o,s=document.getElementById("loadClassResult"),l=n.value;l===-1?(i="",o="Class can not be loaded from this bundle."):(i="alert-success",o="Class is served from Bundle "+e.bundleLinks(a,l)),s.innerHTML+="× Loading class "+t+" in Bundle "+r.bundleId+". "+o+"
"},error:function(e){u(e)}}):c()},r.executeFindResource=function(t){var n=e.getHawtioOSGiToolsMBean(a);n?l.request({type:"exec",mbean:n,operation:"getResourceURL",arguments:[r.bundleId,t]},{success:function(e){var n,i,o=document.getElementById("loadClassResult"),a=e.value;null===a?(n="",i="Resource can not be found from this bundle."):(n="alert-success",i="Resource is available from: "+a),o.innerHTML+="× Finding resource "+t+" in Bundle "+r.bundleId+". "+i+"
"},error:function(e){u(e)}}):c()},r.startBundle=function(t){l.request([{type:"exec",mbean:e.getSelectionFrameworkMBean(a),operation:"startBundle",arguments:[t]}],Core.onSuccess(m))},r.stopBundle=function(t){l.request([{type:"exec",mbean:e.getSelectionFrameworkMBean(a),operation:"stopBundle",arguments:[t]}],Core.onSuccess(m))},r.updatehBundle=function(t){l.request([{type:"exec",mbean:e.getSelectionFrameworkMBean(a),operation:"updateBundle",arguments:[t]}],Core.onSuccess(m))},r.refreshBundle=function(t){l.request([{type:"exec",mbean:e.getSelectionFrameworkMBean(a),operation:"refreshBundle",arguments:[t]}],Core.onSuccess(m))},r.uninstallBundle=function(t){l.request([{type:"exec",mbean:e.getSelectionFrameworkMBean(a),operation:"uninstallBundle",arguments:[t]}],Core.onSuccess(function(){o.path("/osgi/bundle-list"),Core.$apply(r)}))}}])}(Osgi||(Osgi={}));var Osgi;!function(e){e._module.controller("Osgi.BundlesController",["$scope","workspace","jolokia",function(t,n,i){function r(e){angular.equals(t.result,e.value)||(t.selected.length=0,t.result=e.value,t.bundles=[],angular.forEach(t.result,function(e,i){var r={Identifier:e.Identifier,Name:"",SymbolicName:e.SymbolicName,State:e.State,Version:e.Version,LastModified:e.LastModified,Location:e.Location,Url:Core.url("/osgi/bundle/"+e.Identifier+n.hash())};e.Headers["Bundle-Name"]&&(r.Name=e.Headers["Bundle-Name"].Value),t.bundles.push(r)}),t.loading=!1,Core.$apply(t))}t.result={},t.bundles=[],t.selected=[],t.loading=!0,t.bundleUrl="",t.listViewUrl=Core.url("/osgi/bundle-list"+n.hash()),t.tableViewUrl=Core.url("/osgi/bundles"+n.hash()),t.installDisabled=function(){return""===t.bundleUrl};var o=[{field:"Identifier",displayName:"Identifier",width:"48",headerCellTemplate:''},{field:"State",displayName:"Bundle State",width:"24",headerCellTemplate:'',cellTemplate:'
'},{field:"Name",displayName:"Name",width:"***",cellTemplate:''},{field:"SymbolicName",displayName:"Symbolic Name",width:"***",cellTemplate:''},{field:"Version",displayName:"Version",width:"**"},{field:"Location",displayName:"Update Location",width:"***"}];t.gridOptions={data:"bundles",showFilter:!1,selectedItems:t.selected,selectWithCheckboxOnly:!0,columnDefs:o,filterOptions:{filterText:""},primaryKeyFn:function(e){return e.Identifier}},t.onResponse=function(){i.request({type:"exec",mbean:e.getSelectionBundleMBean(n),operation:"listBundles()"},{success:r,error:r})},t.controlBundles=function(r){var o=t.selected.map(function(e){return e.Identifier});angular.isArray(o)||(o=[o]),i.request({type:"exec",mbean:e.getSelectionFrameworkMBean(n),operation:r,arguments:[o]},{success:t.onResponse,error:t.onResponse})},t.stop=function(){t.controlBundles("stopBundles([J)")},t.start=function(){t.controlBundles("startBundles([J)")},t.update=function(){t.controlBundles("updateBundles([J)")},t.refresh=function(){t.controlBundles("refreshBundles([J)")},t.uninstall=function(){t.controlBundles("uninstallBundles([J)")},t.install=function(){i.request({type:"exec",mbean:e.getSelectionFrameworkMBean(n),operation:"installBundle(java.lang.String)",arguments:[t.bundleUrl]},{success:function(r){console.log("Got: ",r),t.bundleUrl="",i.request({type:"exec",mbean:e.getSelectionFrameworkMBean(n),operation:"startBundle(long)",arguments:[r.value]},{success:t.onResponse,error:t.onResponse})},error:function(e){t.bundleUrl="",t.onResponse()}})},Core.register(i,t,{type:"exec",mbean:e.getSelectionBundleMBean(n),operation:"listBundles()"},Core.onSuccess(r))}])}(Osgi||(Osgi={}));var Osgi;!function(e){e._module.controller("Osgi.ConfigurationsController",["$scope","$routeParams","$location","workspace","jolokia",function(t,n,i,r,o){function a(n){var i={};angular.forEach(n,function(e){var t=e[0],n=e[1],r=m(t,n);v(t)||(r.hasValue=!0,r.kind=k.pid,i[t]=r)}),t.pids=i;var o=e.getSelectionConfigAdminMBean(r);o&&t.jolokia.execute(o,"getConfigurations","(service.factoryPid=*)",Core.onSuccess(s,C("Failed to load factory PID configurations: "))),d()}function s(n){var i=e.getSelectionConfigAdminMBean(r),o=t.pids;o&&i&&angular.forEach(n,function(n){var a=n[0],s=n[1];if(a&&!v(a)){var l=o[a];l&&(l.isFactoryInstance=!0,t.jolokia.execute(i,"getFactoryPid",a,Core.onSuccess(function(n){if(l.factoryPid=n,l.name=e.removeFactoryPidPrefix(a,n),n){var i=y(n,s,o);i&&(b(a,i,l),t.inFabricProfile&&e.getConfigurationProperties(r,t.jolokia,a,function(i){var r=Core.pathGet(i,["fabric.zookeeper.pid","Value"]);r&&(l.name=e.removeFactoryPidPrefix(r,n),l.zooKeeperPid=r,Core.$apply(t))}),Core.$apply(t))}})))}}),u()}function l(e){t.metaType=e,u()}function c(){var e=t.pids,n=[];angular.forEach(e,function(e,t){e.isFactoryInstance||n.push(e)}),t.configurations=_.sortBy(n,"name"),Core.$apply(t)}function u(n){void 0===n&&(n=!0);var i=t.metaType;if(i){var r=e.configuration.pidMetadata,o=t.pids||{};angular.forEach(i.pids,function(e,t){var i=null,a=n?y(t,i):o[t];if(a){var s=e.factoryPidBundleIds;s&&s.length&&x(a),a.name=Core.pathGet(r,[t,"name"])||f(e.name)||t;var l=Core.pathGet(r,[t,"description"])||e.description;a.description=l}})}c()}function d(){if(t.pids)if(t.profileNotRunning&&t.profileMetadataMBean&&t.versionId&&t.profileId)o.execute(t.profileMetadataMBean,"metaTypeSummary",t.versionId,t.profileId,Core.onSuccess(l));else{var n=e.getMetaTypeMBean(r);n&&t.jolokia.execute(n,"metaTypeSummary",Core.onSuccess(l))}}function h(){if(t.configurations=[],t.profileNotRunning&&t.profileMetadataMBean&&t.versionId&&t.profileId)o.execute(t.profileMetadataMBean,"metaTypeSummary",t.versionId,t.profileId,Core.onSuccess(p,{silent:!0}));else if(t.jolokia){var n=e.getSelectionConfigAdminMBean(r);n&&t.jolokia.execute(n,"getConfigurations","(service.pid=*)",Core.onSuccess(a,C("Failed to load PID configurations: ")))}}function p(e){var n=e;if(n){var i={};angular.forEach(n.pids,function(e,t){if(e&&!v(t)){var n="mvn:"+t,r={pid:t,name:e.name,class:"pid",description:e.description,bundle:n,kind:k.pid,pidLink:w(t)};i[t]=r}}),angular.forEach(i,function(e,t){var n=t.indexOf("-");if(n>0){var r=t.substring(0,n),o=t.substring(n+1,t.length),a=i[r];if(!a){var s=e.bundle;a=y(r,s,i)}a&&(b(t,a,e,r),e.name=o,i[r]=a,delete i[t])}}),t.pids=i}t.metaType=n,u(!1)}function f(e){return angular.forEach(["Fabric8 ","Apache "],function(t){e&&_.startsWith(e,t)&&e.length>t.length&&(e=e.substring(t.length))}),e}function g(t,n){var i=e.configuration.pidMetadata;return Core.pathGet(i,[t,"description"])||"pid: "+t+"\nbundle: "+n}function m(t,n){var i=e.configuration.pidMetadata,r={pid:t,name:Core.pathGet(i,[t,"name"])||t,class:"pid",description:Core.pathGet(i,[t,"description"])||g(t,n),bundle:n,kind:k.pidNoValue,pidLink:w(t)};return r}function v(t){var n=!1;return angular.forEach(e.configuration.ignorePids,function(e){_.startsWith(t,e)&&(n=!0)}),n}function y(n,i,r){if(void 0===r&&(r=null),v(n))return e.log.info("ignoring pid "+n),null;r||(r=t.pids);var o=r[n];return o||(o=m(n,i),r[n]=o,c()),o}function b(e,t,n,i){void 0===i&&(i=null),x(t,i,e);var r=t.children;i&&(t.pidLink=w(i,!0)),r||(r={},t.children=r),r[e]=n}function x(e,t,n){void 0===t&&(t=null),void 0===n&&(n=null),e.isFactory=!0,e.class="factoryPid",e.kind=k.factory,t||(t=e.factoryPid||""),n||(n=e.pid||""),t||(t=n,n=null),e.pidLink=w(t)}function w(n,i){return void 0===i&&(i=!1),e.createConfigPidLink(t,r,n,i)}function C(e){return{error:function(t){Core.notification("error",e+t.error||t),Core.defaultJolokiaErrorHandler(t)}}}t.selectedItems=[],t.jolokia=o,t.grid={data:"configurations",showFilter:!1,showColumnMenu:!1,multiSelect:!1,filterOptions:{filterText:"",useExternalFilter:!1},selectedItems:t.selectedItems,showSelectionCheckbox:!1,displaySelectionCheckbox:!1,columnDefs:[{field:"Pid",displayName:"Configuration",cellTemplate:''}],primaryKeyFn:function(e){return e.Pid}};var k={factory:{class:"badge badge-info",title:"Configuration factory used to create separate instances of the configuration"},pid:{class:"badge badge-success",title:"Configuration which has a set of properties associated with it"},pidNoValue:{class:"badge badge-warning",title:"Configuration which does not yet have any bound values"}};t.addPidDialog=new UI.Dialog,t.addPid=function(n){if(t.configurations.some(function(e){return e.pid==n}))return void Core.notification("error",'pid "'+n+'" already exists.');t.addPidDialog.close();var i=e.getHawtioConfigAdminMBean(r);if(i&&n){var o=JSON.stringify({});t.jolokia.execute(i,"configAdminUpdate",n,o,Core.onSuccess(function(e){Core.notification("success","Successfully created pid: "+n),h()}))}},t.$on("$routeChangeSuccess",function(e,t,n){setTimeout(h,50)}),h()}])}(Osgi||(Osgi={}));var Osgi;!function(e){e._module.controller("Osgi.FrameworkController",["$scope","$dialog","workspace",function(t,n,i){function r(e,t){Core.notification(e,t),a()}function o(e){t.startLevel=e.value.FrameworkStartLevel,t.initialBundleStartLevel=e.value.InitialBundleStartLevel,Core.$apply(t)}function a(){var t=e.getSelectionFrameworkMBean(i);if(t){var n=i.jolokia;n.request({type:"read",mbean:t},Core.onSuccess(o))}}t.editDialog=new UI.Dialog,a(),t.edit=function(e,n){t.editAttr=e,t.editDisplayName=n,t.editDialog.open()},t.edited=function(n,o,a){if(t.editDialog.close(),angular.isNumber(a)){var s=e.getSelectionFrameworkMBean(i);if(s){var l=i.jolokia;l.request({type:"write",mbean:s,attribute:n,value:a},{error:function(e){r("error",e.error)},success:function(e){r("success",o+" changed to "+a)}})}}}}])}(Osgi||(Osgi={}));var Osgi;!function(e){e.configuration={pidMetadata:{"io.fabric8.container.java":{name:"Java Container"},"io.fabric8.container.process":{name:"Process Container"},"io.fabric8.container.process.overlay.resources":{name:"Container Overlay Resources",description:"The resources overlaid over the distribution of the process",schemaExtensions:{disableHumanizeLabel:!0}},"io.fabric8.dosgi":{name:"Fabric8 DOSGi",description:"The configuration for the Distributed OSGi implementation in Fabric8"},"io.fabric8.environment":{name:"Environment Variables",description:"The operating system Environment Variables which are exported into any child processes",schemaExtensions:{disableHumanizeLabel:!0}},"io.fabric8.fab.osgi.url":{name:"FAB URL",description:"Configures the 'fab:' URL handler for deploying JARs as bundles"},"io.fabric8.mq.fabric.server":{name:"ActiveMQ Broker",description:"The configuration of the Apache ActiveMQ server configured via the fabric"},"io.fabric8.openshift":{name:"OpenShift"},"io.fabric8.ports":{name:"Ports",description:"The network ports exported by the container",schemaExtensions:{disableHumanizeLabel:!0}},"io.fabric8.system":{name:"System Properties",description:"The Java System Properties which are exported into any child Java processes",schemaExtensions:{disableHumanizeLabel:!0}},"io.fabric8.version":{name:"Versions",schemaExtensions:{disableHumanizeLabel:!0}},"org.ops4j.pax.logging":{name:"Logging",description:"The configuration of the logging subsystem"},"org.ops4j.pax.url.mvn":{name:"Maven URL",description:"Configures the Maven 'mvn:' URL handler for referencing maven artifacts"},"org.ops4j.pax.url.war":{name:"WAR URL",description:"Configures the 'war:' URL handler for referencing WAR deployments"},"org.ops4j.pax.url.wrap":{name:"Wrap URL",description:"Configures the 'wrap:' URL handler for wrapping JARs as bundles"}},ignorePids:["jmx.acl","io.fabric8.agent","io.fabric8.git","io.fabric8.mq.fabric.template","io.fabric8.openshift.agent","io.fabric8.service.ZkDataStoreImpl","org.apache.felix.fileinstall","org.apache.karaf.command.acl.","org.apache.karaf.service.acl."],tabs:{fabric8:{label:"Fabric8",description:"Configuration options for the Fabric8 services",pids:["io.fabric8"]},karaf:{label:"Karaf",description:"Configuration options for the Apache Karaf container and subsystem",pids:["org.apache.karaf"]}}}}(Osgi||(Osgi={}));var Osgi;!function(e){var t=function(){function e(e,t,n,i,r,o,a){this.filteredBundles={},this.bundles=null,this.services=null,this.packages=null,this.PREFIX_BUNDLE="Bundle-",this.PREFIX_SVC="Service-",this.PREFIX_PKG="Package-",this.osgiDataService=e,this.workspace=t,this.bundleFilter=n,this.packageFilter=i,this.showServices=r,this.showPackages=o,this.hideUnused=a,this.graphBuilder=new ForceGraph.GraphBuilder}return e.prototype.getBundles=function(){return null==this.bundles&&(this.bundles=this.osgiDataService.getBundles()),this.bundles},e.prototype.getServices=function(){return null==this.services&&(this.services=this.osgiDataService.getServices()),this.services},e.prototype.getPackages=function(){return null==this.packages&&(this.packages=this.osgiDataService.getPackages()),this.packages},e.prototype.bundleNodeId=function(e){return this.PREFIX_BUNDLE+e.Identifier},e.prototype.serviceNodeId=function(e){return this.PREFIX_SVC+e.Identifier},e.prototype.pkgNodeId=function(e){return this.PREFIX_PKG+e.Name+"-"+e.Version},e.prototype.buildSvcNode=function(e){return{id:this.serviceNodeId(e),name:""+e.Identifier,type:"service",used:!1,popup:{title:"Service ["+e.Identifier+"]",content:function(){var t="";return null!=e&&e.objectClass.forEach(function(e){t.length>0&&(t+=" "),t+=e}),t}}}},e.prototype.buildBundleNode=function(e){return{id:this.bundleNodeId(e),name:e.SymbolicName,type:"bundle",used:!1,navUrl:Core.url("/osgi/bundle/"+e.Identifier+this.workspace.hash()),popup:{title:"Bundle ["+e.Identifier+"]",content:""+e.SymbolicName+" Version "+e.Version+"
"}}},e.prototype.buildPackageNode=function(e){return{id:this.pkgNodeId(e),name:e.Name,type:"package",used:!1,popup:{title:"Package ["+e.Name+"]",content:""+e.Version+"
"}}},e.prototype.exportingBundle=function(e){var t=this,n=null;return e.ExportingBundles.forEach(function(e){null!=t.filteredBundles[t.PREFIX_BUNDLE+e]&&(n=e)}),n},e.prototype.addFilteredBundles=function(){var e=this;d3.values(this.getBundles()).forEach(function(t){if(null==e.bundleFilter||""==e.bundleFilter||_.startsWith(t.SymbolicName,e.bundleFilter.toString())){var n=e.buildBundleNode(t);if(e.filteredBundles[n.id]=t,n.used=!0,e.graphBuilder.addNode(n),e.showServices){var i=e.getServices();t.RegisteredServices.forEach(function(t){var r=i[t];if(r){var o=e.buildSvcNode(i[t]);e.graphBuilder.addNode(o),e.graphBuilder.addLink(n.id,o.id,"registered")}})}}})},e.prototype.addFilteredServices=function(){var e=this;this.showServices&&d3.values(this.getBundles()).forEach(function(t){t.ServicesInUse.forEach(function(n){var i=e.PREFIX_SVC+n;if(null!=e.graphBuilder.getNode(i)){e.graphBuilder.getNode(i).used=!0;var r=e.graphBuilder.getNode(e.bundleNodeId(t))||e.buildBundleNode(t);r.used=!0,e.graphBuilder.addNode(r),e.graphBuilder.addLink(i,r.id,"inuse")}})})},e.prototype.addFilteredPackages=function(){var e=this;this.showPackages&&d3.values(this.getPackages()).forEach(function(t){if(null==e.packageFilter||""==e.packageFilter||_.startsWith(t.Name,e.packageFilter.toString())){var n=e.exportingBundle(t);if(null!=n){var i=e.graphBuilder.getNode(e.PREFIX_BUNDLE+n);i.used=!0;var r=e.buildPackageNode(t);e.graphBuilder.addNode(r),e.graphBuilder.addLink(i.id,r.id,"registered"),t.ImportingBundles.forEach(function(t){var n=e.graphBuilder.getNode(e.PREFIX_BUNDLE+t)||e.buildBundleNode(e.getBundles()[t]);n.used=!0,r.used=!0,e.graphBuilder.addNode(n),e.graphBuilder.addLink(n.id,r.id,"inuse")})}}})},e.prototype.buildGraph=function(){var e=this;return this.addFilteredBundles(),this.addFilteredServices(),this.addFilteredPackages(),this.hideUnused&&(this.graphBuilder.filterNodes(function(e){return e.used}),this.graphBuilder.filterNodes(function(t){return e.graphBuilder.hasLinks(t.id)})),this.graphBuilder.buildGraph()},e}();e.OsgiGraphBuilder=t}(Osgi||(Osgi={}));var Osgi;!function(e){e.TopLevelController=e._module.controller("Osgi.TopLevelController",["$scope","workspace",function(t,n){t.frameworkMBean=e.getSelectionFrameworkMBean(n),t.bundleMBean=e.getSelectionBundleMBean(n),t.serviceMBean=e.getSelectionServiceMBean(n),t.packageMBean=e.getSelectionPackageMBean(n),t.configAdminMBean=e.getSelectionConfigAdminMBean(n),t.metaTypeMBean=e.getMetaTypeMBean(n),t.osgiToolsMBean=e.getHawtioOSGiToolsMBean(n),t.hawtioConfigAdminMBean=e.getHawtioConfigAdminMBean(n),t.scrMBean=Karaf.getSelectionScrMBean(n),t.featuresMBean=Karaf.getSelectionFeaturesMBean(n)}])}(Osgi||(Osgi={}));var Osgi;!function(e){e._module.controller("Osgi.PackageController",["$scope","$filter","workspace","$routeParams",function(t,n,i,r){function o(n){var r=e.defaultPackageValues(i,t,n.value);t.row=_.filter(r,{Name:t.package,Version:t.version})[0],Core.$apply(t)}function a(){var t=e.getSelectionPackageMBean(i);if(t){var n=i.jolokia;n.request({type:"exec",mbean:t,operation:"listPackages"},Core.onSuccess(o))}}t.package=r.package,t.version=r.version,a()}])}(Osgi||(Osgi={}));var Osgi;!function(e){e.PackagesController=e._module.controller("Osgi.PackagesController",["$scope","$filter","workspace","$templateCache","$compile",function(t,n,i,r,o){function a(n){var r=e.defaultPackageValues(i,t,n.value);s(r)}function s(n){var r={},o=function(e){angular.forEach(e.value,function(e,t){var n={Identifier:e.Identifier,Name:"",SymbolicName:e.SymbolicName,State:e.State,Version:e.Version,LastModified:e.LastModified,Location:e.Location,Url:Core.url("/osgi/bundle/"+e.Identifier+i.hash())};e.Headers["Bundle-Name"]&&(n.Name=e.Headers["Bundle-Name"].Value),r[n.Identifier]=n}),angular.forEach(n,function(e,t){angular.forEach(e.ExportingBundles,function(t,n){e.ExportingBundles[n]=r[t]}),angular.forEach(e.ImportingBundles,function(t,n){e.ImportingBundles[n]=r[t]})}),t.packages=n,Core.$apply(t)};i.jolokia.request({type:"exec",mbean:e.getSelectionBundleMBean(i),operation:"listBundles()"},{success:o,error:o})}function l(){var t=e.getSelectionPackageMBean(i);if(t){var n=i.jolokia;n.request({type:"exec",mbean:t,operation:"listPackages"},Core.onSuccess(a))}}n("date");t.packages=[],t.selectedItems=[],t.mygrid={data:"packages",showFilter:!1,showColumnMenu:!1,filterOptions:{filterText:"",useExternalFilter:!1},selectedItems:t.selectedItems,rowHeight:32,selectWithCheckboxOnly:!0,columnDefs:[{field:"Name",displayName:"Name"},{field:"VersionLink",displayName:"Version",width:"***",cellTemplate:'\n '},{field:"ExportingBundles",displayName:"Exporting Bundles",cellTemplate:'\n '},{field:"ImportingBundles",displayName:"Importing Bundles",cellTemplate:'\n '},{field:"RemovalPending",displayName:"Removal Pending"}],primaryKeyFn:function(e){return e.Name}},t.$watch("workspace.selection",function(){l()})}])}(Osgi||(Osgi={}));var Osgi;!function(e){e._module.controller("Osgi.PidController",["$scope","$timeout","$routeParams","$location","workspace","jolokia",function(t,n,i,r,o,a){function s(n,i,o){var a=function(n){if(Core.notification("success","Successfully updated pid: "+i),i&&t.factoryPid&&t.newPid){var o=e.createConfigPidPath(t,i);r.path(o)}else t.setEditMode(!1),t.canSave=!1,t.saved=!0},s=Core.onSuccess(a,l("Failed to update: "+i)),c=JSON.stringify(o);t.jolokia.execute(n,"configAdminUpdate",i,c,s)}function l(e){return{error:function(t){Core.notification("error",e+"\n"+t.error||t),Core.defaultJolokiaErrorHandler(t)}}}function c(){t.editMode&&(t.canSave=!0)}function u(e){t.modelLoaded=!0;var n=e||{};t.configValues=n,t.zkPid=Core.pathGet(n,["fabric.zookeeper.pid","Value"]),t.zkPid&&t.saved||d()}function d(){p();var n=t.configValues;if(n)if(t.profileNotRunning&&t.profileMetadataMBean&&t.versionId&&t.profileId){var i=t.factoryPid||t.pid;a.execute(t.profileMetadataMBean,"getPidMetaTypeObject",t.versionId,t.profileId,i,Core.onSuccess(h))}else{var r=null,i=null,o=n["service.factoryPid"];o&&!i&&(i=o.Value);var s=e.getMetaTypeMBean(t.workspace);s&&t.jolokia.execute(s,"getPidMetaTypeObject",i,r,Core.onSuccess(h))}Core.$apply(t)}function h(e){t.metaType=e,p(),Core.$apply(t)}function p(){var n={},i=[];t.defaultValues={};var r={type:"object",required:i,properties:n},o="span12",a="control-label",s="",l=a,c=t.metaType;if(c){var u=e.configuration.pidMetadata,d=c.id;r.id=d,r.name=Core.pathGet(u,[d,"name"])||c.name,r.description=Core.pathGet(u,[d,"description"])||c.description;var h=Core.pathGet(u,[d,"schemaExtensions","disableHumanizeLabel"]);angular.forEach(c.attributes,function(e){var r=e.id;if(g(r)){var c=m(r,d),u=y(e.typeName,e.id),p={title:e.name,tooltip:e.description,"input-attributes":{class:o},"label-attributes":{class:a},type:u};h&&(p.title=r),"char"===e.typeName&&(p.maxLength=1,p.minLength=1);var f=e.cardinality;f&&(p["input-attributes"].class=null,p.type="array",p.items={"input-attributes":{class:s},"label-attributes":{class:l},type:u}),e.required&&i.push(r);var v=e.defaultValue;v&&(angular.isArray(v)&&1===v.length&&(v=v[0]),t.defaultValues[c]=v);var b=e.optionLabels,x=e.optionValues;if(b&&b.length&&x&&x.length){for(var w={},C=0;C0&&(t.factoryPid=t.pid.substring(0,x),t.factoryInstanceName=t.pid.substring(x+1,t.pid.length))}t.selectValues={},t.modelLoaded=!1,t.canSave=!1,t.setEditMode=function(e){t.editMode=e,t.formMode=e?"edit":"view",e&&t.entity||(t.entity={},b())};var w=t.factoryPid&&!i.pid;t.setEditMode(w),t.$on("hawtio.form.modelChange",function(){t.modelLoaded&&(c(),Core.$apply(t))}),t.pidSave=function(){var n={};angular.forEach(t.entity,function(e,i){var r=void 0;angular.isString(e)?r=e:angular.isDefined(e)&&(r=e.toString()),angular.isDefined(r)&&(n[v(i,t.pid)]=r)});var i=e.getHawtioConfigAdminMBean(o);if(i||t.inFabricProfile){var r=e.getSelectionConfigAdminMBean(t.workspace),a=t.pid,c=t.zkPid,u=t.factoryPid;if(!t.inFabricProfile&&u&&r&&!c)t.jolokia.execute(r,"createFactoryConfiguration",u,Core.onSuccess(function(e){a=e,a&&s(i,a,n)},l("Failed to create new PID: ")));else{if(t.newPid){var d=t.createForm.pidInstanceName;if(!d||!u)return;a=u+"-"+d}else c&&(a=c);s(i,a,n)}}},t.addPropertyConfirmed=function(e,n){t.addPropertyDialog.close(),t.configValues[e]={Key:e,Value:n,Type:"String"},c(),p()},t.deletePidProp=function(e){t.deleteKey=e.Key,t.deletePropDialog.open()},t.deletePidPropConfirmed=function(){t.deletePropDialog.close();var e=document.getElementById("pid."+t.deleteKey);e.parentElement.remove(),c()},t.deletePidConfirmed=function(){function n(e){Core.notification("error",e.error)}function i(e){Core.notification("success","Successfully deleted pid: "+t.pid),r.path(t.configurationsLink)}t.deletePidDialog.close();var o=e.getSelectionConfigAdminMBean(t.workspace);o&&t.jolokia.request({type:"exec",mbean:o,operation:"delete",arguments:[t.pid]},{error:n,success:i})};var C=["service.pid","service.factoryPid","fabric.zookeeper.pid"];b()}])}(Osgi||(Osgi={}));var Osgi;!function(e){e.ServiceController=e._module.controller("Osgi.ServiceController",["$scope","$filter","workspace","$templateCache","$compile",function(t,n,i,r,o){function a(n){var r={},o=function(e){angular.forEach(e.value,function(e,t){
+var n={Identifier:e.Identifier,Name:"",SymbolicName:e.SymbolicName,State:e.State,Version:e.Version,LastModified:e.LastModified,Location:e.Location,Url:Core.url("/osgi/bundle/"+e.Identifier+i.hash())};e.Headers["Bundle-Name"]&&(n.Name=e.Headers["Bundle-Name"].Value),r[n.Identifier]=n});var o=[];angular.forEach(n,function(e,t){e.Url=Core.url("/osgi/bundle/"+e.Identifier+i.hash()),angular.forEach(e.UsingBundles,function(t,n){e.UsingBundles[n]=r[t]}),o.push(e)}),t.services=o,Core.$apply(t)};i.jolokia.request({type:"exec",mbean:e.getSelectionBundleMBean(i),operation:"listBundles()"},{success:o,error:o})}n("date");t.workspace=i,t.services=[],t.selectedItems=[],t.mygrid={data:"services",showFilter:!1,showColumnMenu:!1,filterOptions:{filterText:"",useExternalFilter:!1},selectedItems:[],rowHeight:32,selectWithCheckboxOnly:!0,columnDefs:[{field:"BundleIdentifier",displayName:"Bundle",cellTemplate:'\n '},{field:"objectClass",displayName:"Object Class(es)",cellTemplate:'\n \n
\n \n {{clazz}}\n \n
\n
'},{field:"UsingBundles",displayName:"Used by",cellTemplate:'\n '}],primaryKeyFn:function(e){return e.BundleIdentifier}},t.selectedItems=t.mygrid.selectedItems,t.$watch("workspace.selection",function(){var t=e.getSelectionServiceMBean(i);if(t){var n=i.jolokia;n.request({type:"exec",mbean:t,operation:"listServices()"},Core.onSuccess(s))}});var s=function(n){var r=e.defaultServiceValues(i,t,n.value);a(r)}}])}(Osgi||(Osgi={}));var Osgi;!function(e){e._module.controller("Osgi.ServiceDependencyController",["$scope","$location","$routeParams","workspace","osgiDataService",function(t,n,i,r,o){t.init=function(){i.bundleFilter?t.bundleFilter=i.bundleFilter:t.bundleFilter="",i.pkgFilter?t.packageFilter=i.pkgFilter:t.packageFilter="","packages"==i.view?t.selectView="packages":t.selectView="services",i.hideUnused?t.hideUnused="true"==i.hideUnused:t.hideUnused=!0},t.updateLink=function(){var e=n.search();t.bundleFilter&&""!=t.bundleFilter?e.bundleFilter=t.bundleFilter:delete e.bundleFilter,t.packageFilter&&""!=t.packageFilter?e.pkgFilter=t.packageFilter:delete e.pkgFilter,e.view=t.selectView,t.hideUnused?e.hideUnused="true":e.hideUnused="false",n.search(e)},t.$on("$routeUpdate",function(){var e=n.search;e.bundleFilter?t.bundleFilter=i.bundleFilter:t.bundleFilter="",e.pkgFilter?t.packageFilter=i.pkgFilter:t.packageFilter="","packages"==e.view?t.selectView="packages":t.selectView="services",e.hideUnused?t.hideUnused="true"==i.hideUnused:t.hideUnused=!0,t.updateLink(),t.updateGraph()}),t.updateGraph=function(){t.updateLink(),t.updatePkgFilter();var n=new e.OsgiGraphBuilder(o,r,t.bundleFilter,t.packageFilter,"services"==t.selectView,"packages"==t.selectView,t.hideUnused);t.graph=n.buildGraph(),Core.$apply(t)},t.updatePkgFilter=function(){null==t.packageFilter||""==t.packageFilter?(t.selectView="services",t.disablePkg=!0):t.disablePkg=!1},t.init(),t.updateGraph()}])}(Osgi||(Osgi={})),angular.module("hawtio-integration-templates",[]).run(["$templateCache",function(e){e.put("plugins/camel/html/attributeToolBarContext.html",'\n
\n
\n Start\n \n \n Pause\n \n Destroy\n \n
\n\n
\n
\n
You are about to delete this Camel Context.
\n
This operation cannot be undone so please be careful.
\n
\n
\n\n
\n
\n
\n'),e.put("plugins/camel/html/attributeToolBarRoutes.html",'\n
\n
\n Start \n Pause \n Stop \n Delete \n
\n
\n
\n
\n'),e.put("plugins/camel/html/blocked.html",'\n\n
\n\n
\n\n
\n \n
\n\n
\n
\n
You are about to unblock the selected thread.
\n
This operation cannot be undone so please be careful.
\n
\n
\n\n
\n\n'),e.put("plugins/camel/html/breadcrumbBar.html",'\n'),e.put("plugins/camel/html/browseEndpoint.html",'\n
\n \n
\n
\n
\n\n\n
\n\n
\n
\n\n
\n\n
\n
\n
\n Headers\n
\n
\n
\n \n \n Header \n Type \n Value \n \n \n \n
\n
\n
\n\n
\n\n
\n\n
\n
\n
\n\n
\n
\n'),e.put("plugins/camel/html/browseRoute.html",' \n\n\n'),e.put("plugins/camel/html/createEndpoint.html",'\n
\n
\n \n \n \n \n \n \n \n
\n
\n \n
\n
\n'),e.put("plugins/camel/html/createEndpointURL.html",'\n'),e.put("plugins/camel/html/createEndpointWizard.html",'\n'),e.put("plugins/camel/html/debug.html",'\n
\n
\n\n \n
\n
\n\n
\n {{row.id}}\n
\n\n
\n
\n
\n Headers\n
\n
\n
\n \n \n Header \n Type \n Value \n \n \n \n
\n
\n
\n\n
\n\n
\n\n
\n
\n\n
\n
\n
'),e.put("plugins/camel/html/endpointRuntimeRegistry.html",'\n\n'),e.put("plugins/camel/html/inflight.html",'\n\n'),e.put("plugins/camel/html/layoutCamelTree.html",'\n\n\n\n \n \n\n'),e.put("plugins/camel/html/nodePropertiesEdit.html",'\n\n \n \n\n
\n {{model.title}}\n {{label}} \n \n\n
\n
\n'),e.put("plugins/camel/html/nodePropertiesView.html",'\n\n \n \n\n
\n {{model.title}}\n {{label}} \n \n\n
\n
\n'),e.put("plugins/camel/html/preferences.html",'\n'),e.put("plugins/camel/html/profileRoute.html",'\n\n'),e.put("plugins/camel/html/properties.html",'\n'),e.put("plugins/camel/html/propertiesComponent.html",'\n'),e.put("plugins/camel/html/propertiesDataFormat.html",'\n'),e.put("plugins/camel/html/propertiesEndpoint.html",'\n'),e.put("plugins/camel/html/restRegistry.html",'\n\n'),e.put("plugins/camel/html/routeMetrics.html",'\n\n
\n\n
\n\n
\n \n
\n\n \n
\n\n
\n\n'),e.put("plugins/camel/html/routes.html",'\n\n \n
\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n'),
+e.put("plugins/camel/html/sendMessage.html",'\n\n
\n\n
\n
\n
\n No credentials set for endpoint! Please set your username and password in the Preferences page\n \n\n
\n
\n\n
\n\n
\n\n
\n
\n\n
\n
\n'),e.put("plugins/camel/html/source.html",'\n'),e.put("plugins/camel/html/traceRoute.html",'\n
\n
\n\n
\n
\n
\n\n
\n
\n\n \n
\n\n
\n
\n\n
\n\n
\n
\n
\n Headers\n
\n
\n
\n \n \n Header \n Type \n Value \n \n \n \n
\n
\n
\n\n
\n\n
\n\n
\n
\n\n
\n\n
\n'),e.put("plugins/camel/html/typeConverter.html",'\n\n \n \n\n
\n\n
\n\n
\n
\n
\n Number of Type Converters \n {{mbeanAttributes.NumberOfTypeConverters}} \n # Attempts \n {{mbeanAttributes.AttemptCounter}} \n # Hit \n {{mbeanAttributes.HitCounter}} \n # Miss \n {{mbeanAttributes.MissCounter}} \n # Failed \n {{mbeanAttributes.FailedCounter}} \n Statistics Enabled \n {{mbeanAttributes.StatisticsEnabled}} \n \n
\n\n
\n\n
\n\n
\n
\n\n
\n\n
\n\n'),e.put("plugins/karaf/html/feature-details.html",'\n
\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n Name: \n {{row.Name}} \n \n \n Version: \n {{row.Version}} \n \n \n Repository: \n {{row.RepositoryName}} \n \n \n Repository URI: \n {{row.RepositoryURI}} \n \n \n State: \n \n \n
Installed
\n\n
Not Installed
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n {{value.Pid}}
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n
\n \n {{file.Files}} \n \n
\n
\n
\n
\n \n \n
\n
\n'),e.put("plugins/karaf/html/feature.html",'\n\n'),e.put("plugins/karaf/html/features.html",'\n\n
\n \n \n
\n\n \n\n
\n
\n
\n
Installed Features \n
\n The feature list returned by the server was null, please check the logs and Karaf console for errors.\n
\n
\n
\n\n
\n
Available Features \n
\n \n \n \n \n
\n
\n
\n\n
\n\n
\n'),e.put("plugins/karaf/html/scr-component-details.html",'\n
\n \n \n \n \n \n Activate\n \n \n Deactivate\n \n
\n \n \n \n Id: \n {{row.Id}}\n \n \n \n Name: \n {{row.Name}}\n \n \n \n State: \n {{row.State}}\n \n \n \n \n \n \n \n
\n
\n
\n
\n \n {{key}} \n {{value.Value}} \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n Name \n Availability \n Cardinality \n Policy \n Bound Services \n \n \n \n \n {{value.Name}} \n {{value.Availability}} \n {{value.Cardinality}} \n {{value.Policy}} \n \n \n \n \n \n
\n
\n
\n
\n \n \n
\n
\n'),e.put("plugins/karaf/html/scr-component.html",'\n'),e.put("plugins/karaf/html/scr-components.html",'\n'),e.put("plugins/karaf/html/server.html",'\n\n
\n Name \n {{data.name}} \n Version \n {{data.version}} \n State \n {{data.state}} \n Is root \n {{data.root}} \n Start Level \n {{data.startLevel}} \n Framework \n {{data.framework}} \n Framework Version \n {{data.frameworkVersion}} \n Location \n {{data.location}} \n SSH Port \n {{data.sshPort}} \n RMI Registry Port \n {{data.rmiRegistryPort}} \n RMI Server Port \n {{data.rmiServerPort}} \n PID \n {{data.pid}} \n \n\n
\n\n'),e.put("plugins/activemq/html/browseQueue.html",'\n
\n
\n
\n \n
\n
\n
\n \n Retry\n \n \n Resend\n \n\n \n Move\n \n \n Delete\n \n \n \n \n
\n
\n
\n\n
\n
\n\n
\n
\n
\n Back \n
\n
\n
\n\n \n Move\n \n\n \n Delete\n \n\n
\n
\n\n
\n
\n
\n Headers & Properties\n
\n
\n
\n \n \n Header \n Value \n \n \n \n
\n
\n
\n
\n\n
\n
Displaying body as
\n
\n
\n\n
\n\n \n\n
\n\n'),
+e.put("plugins/activemq/html/createDestination.html",'\n'),e.put("plugins/activemq/html/deleteQueue.html",'\n
\n\n
\n\n
\n \n \n \n \n Warning: these operations cannot be undone. Please be careful!\n
\n
\n
\n\n
\n
\n
\n Delete queue\n \'{{name}}\'\n \n This will remove the queue completely. \n
\n
\n
\n
\n Purge queue\n \'{{name}}\'\n \n Purges all the current messages on the queue. \n
\n
\n
\n\n
\n
\n
You are about to delete the {{name}} queue
\n
This operation cannot be undone so please be careful.
\n
\n
\n\n
\n
\n
You are about to purge the {{name}} queue
\n
This operation cannot be undone so please be careful.
\n
\n
\n\n
\n'),e.put("plugins/activemq/html/deleteTopic.html",'\n
\n
\n
\n \n \n \n \n Warning: this operation cannot be undone. Please be careful!\n
\n
\n
\n\n
\n
\n
\n Delete topic\n \'{{name}}\'\n \n This will remove the topic completely. \n
\n
\n
\n\n
\n
\n
You are about to delete the {{name}} topic
\n
This operation cannot be undone so please be careful.
\n
\n
\n\n
\n'),e.put("plugins/activemq/html/durableSubscribers.html",'\n\n
\n\n
\n\n
\n\n
\n
\n\n
\n\n
\n
\n
\n \n \n Property \n Value \n \n \n \n \n Client Id \n {{showSubscriberDialog.subscriber["ClientId"]}} \n \n \n Subscription Name \n {{showSubscriberDialog.subscriber["SubscriptionName"]}} \n \n \n Topic Name \n {{showSubscriberDialog.subscriber["DestinationName"]}} \n \n \n Selector \n {{showSubscriberDialog.subscriber["Selector"]}} \n \n \n Status \n {{showSubscriberDialog.subscriber.Status}} \n \n \n Enqueue Counter \n {{showSubscriberDialog.subscriber["EnqueueCounter"]}} \n \n \n Dequeue Counter \n {{showSubscriberDialog.subscriber["DequeueCounter"]}} \n \n \n Dispatched Counter \n {{showSubscriberDialog.subscriber["DispatchedCounter"]}} \n \n \n Pending Size \n {{showSubscriberDialog.subscriber["PendingQueueSize"]}} \n \n \n
\n
\n
\n\n
\n\n
\n\n
\n
\n
Are you sure you want to delete the subscriber
\n
\n
\n\n
'),e.put("plugins/activemq/html/jobs.html",'\n\n
\n\n
\n\n
\n
\n
Are you sure you want to delete the jobs
\n
\n
\n\n
'),e.put("plugins/activemq/html/layoutActiveMQTree.html",'\n\n\n \n \n\n'),e.put("plugins/activemq/html/preferences.html",'\n'),e.put("plugins/osgi/html/bundle-details.html",'\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n
\n \n \n \n \n
Fragment ID:
\n
Bundle ID:
\n
\n \n {{row.Identifier}}\n \n \n \n Bundle Name: \n {{row.Headers[\'Bundle-Name\'].Value}}\n \n \n \n Symbolic Name: \n \n {{row.SymbolicName}}
\n \n \n \n Version: \n {{row.Version}}\n \n \n \n Start Level: \n {{row.StartLevel}}\n \n \n \n Location: \n {{row.Location}}\n \n \n \n State: \n \n {{row.State}}
\n \n \n \n Last Modified: \n {{row.LastModified | date:\'medium\'}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n {{package}}
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n {{package}}
\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n Registered Services\n
\n
\n Services used by this Bundle\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n'),e.put("plugins/osgi/html/bundle-list.html",'\n'),e.put("plugins/osgi/html/bundle.html",'\n'),e.put("plugins/osgi/html/bundles.html",'\n
\n \n \n
\n
\n Please wait, loading...\n
\n
\n
\n
\n'),e.put("plugins/osgi/html/configurations.html",'\n\n\n
\n \n
\n\n
\n\n
\n\n
\n
\n\n'),
+e.put("plugins/osgi/html/framework.html",'\n
Framework Configuration \n
\n
\n \n Current Framework Start Level: \n {{startLevel}} \n Edit \n \n
\n \n Initial Bundle Start Level: \n {{initialBundleStartLevel}} \n Edit \n \n
\n
\n\n
\n
\n'),e.put("plugins/osgi/html/layoutOsgi.html",'\n\n\n\n'),e.put("plugins/osgi/html/package-details.html",'\n
\n \n Name: \n {{row.Name}}\n \n \n \n Version: \n {{row.Version}}\n \n \n \n Removal Pending: \n {{row.RemovalPending}}\n \n \n Exporting Bundles: \n \n \n \n \n \n Importing Bundles: \n \n \n \n \n
\n
'),e.put("plugins/osgi/html/package.html",'\n'),e.put("plugins/osgi/html/packages.html",'\n\n\n'),e.put("plugins/osgi/html/pid-details.html",'\n
{{zkPid || metaType.name || pid}}\n : {{factoryInstanceName}} \n \n\n
\n
\n Edit \n Delete \n
\n
\n
\n
\n
\n Create \n Save \n Cancel \n Property \n
\n
\n
\n\n
\n\n
\n\n
\n
\n'),e.put("plugins/osgi/html/pid.html",'\n'),e.put("plugins/osgi/html/services.html",'\n\n\n'),e.put("plugins/osgi/html/svc-dependencies.html",'\n\n\n')}]),hawtioPluginLoader.addModule("hawtio-integration-templates");var HawtioExtensionService;!function(e){e.pluginName="hawtio-extension-service",e.templatePath="plugins/hawtio-extension-service/html",e._module=angular.module(e.pluginName,[]),e._module.service("HawtioExtension",function(){this._registeredExtensions={},this.add=function(e,t){this._registeredExtensions[e]||(this._registeredExtensions[e]=[]),this._registeredExtensions[e].push(t)},this.render=function(e,t,n){var i=this._registeredExtensions[e];if(i)for(var r=0;r\n
\n\n'),e.put("plugins/preferences/html/menuItem.html",'\n Preferences \n \n'),e.put("plugins/preferences/html/preferences.html",'\n'),e.put("plugins/preferences/html/resetPreferences.html",'\n')}]),hawtioPluginLoader.addModule("hawtio-preferences-templates"),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],e):e(CodeMirror)}(function(e){function t(t){if(t.getOption("disableInput"))return e.Pass;for(var n=t.listSelections(),i=[],l=0;lc.ch&&(v=v.slice(0,v.length-u.end+c.ch));var y=v.toLowerCase();if(!v||"string"==u.type&&(u.end!=c.ch||!/[\"\']/.test(u.string.charAt(u.string.length-1))||1==u.string.length)||"tag"==u.type&&"closeTag"==h.type||u.string.indexOf("/")==u.string.length-1||g&&r(g,y)>-1||o(t,v,c,h,!0))return e.Pass;var b=m&&r(m,y)>-1;i[l]={indent:b,text:">"+(b?"\n\n":"")+""+v+">",newPos:b?e.Pos(c.line+1,0):e.Pos(c.line,c.ch+1)}}for(var l=n.length-1;l>=0;l--){var x=i[l];t.replaceRange(x.text,n[l].head,n[l].anchor,"+insert");var w=t.listSelections().slice(0);w[l]={head:x.newPos,anchor:x.newPos},t.setSelections(w),x.indent&&(t.indentLine(x.newPos.line,null,!0),t.indentLine(x.newPos.line+1,null,!0))}}function n(t,n){for(var i=t.listSelections(),r=[],a=n?"/":"",s=0;s"!=t.getLine(l.line).charAt(c.end)&&(h+=">"),r[s]=h}t.replaceSelections(r),i=t.listSelections();for(var s=0;s'"]=function(e){return t(e)}),n.addKeyMap(a)}});var a=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],s=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];e.commands.closeTag=function(e){return n(e)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";var t=/^(\s*)(>[> ]*|[*+-]\s|(\d+)([.)]))(\s*)/,n=/^(\s*)(>[> ]*|[*+-]|(\d+)[.)])(\s*)$/,i=/[*+-]\s/;e.commands.newlineAndIndentContinueMarkdownList=function(r){if(r.getOption("disableInput"))return e.Pass;for(var o=r.listSelections(),a=[],s=0;s")>=0?p[2]:parseInt(p[3],10)+1+p[4];a[s]="\n"+f+m+g}}r.replaceSelections(a)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){function t(e,t,i,r){var o=e.getLineHandle(t.line),l=t.ch-1,c=l>=0&&s[o.text.charAt(l)]||s[o.text.charAt(++l)];if(!c)return null;var u=">"==c.charAt(1)?1:-1;if(i&&u>0!=(l==t.ch))return null;var d=e.getTokenTypeAt(a(t.line,l+1)),h=n(e,a(t.line,l+(u>0?1:0)),u,d||null,r);return null==h?null:{from:a(t.line,l),to:h&&h.pos,match:h&&h.ch==c.charAt(0),forward:u>0}}function n(e,t,n,i,r){for(var o=r&&r.maxScanLineLength||1e4,l=r&&r.maxScanLines||1e3,c=[],u=r&&r.bracketRegex?r.bracketRegex:/[(){}[\]]/,d=n>0?Math.min(t.line+l,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-l),h=t.line;h!=d;h+=n){var p=e.getLine(h);if(p){var f=n>0?0:p.length-1,g=n>0?p.length:-1;if(!(p.length>o))for(h==t.line&&(f=t.ch-(n<0?1:0));f!=g;f+=n){var m=p.charAt(f);if(u.test(m)&&(void 0===i||e.getTokenTypeAt(a(h,f+1))==i)){var v=s[m];if(">"==v.charAt(1)==n>0)c.push(m);else{if(!c.length)return{pos:a(h,f),ch:m};c.pop()}}}}}return h-n!=(n>0?e.lastLine():e.firstLine())&&null}function i(e,n,i){for(var r=e.state.matchBrackets.maxHighlightLineLength||1e3,s=[],l=e.listSelections(),c=0;c",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},l=null;e.defineOption("matchBrackets",!1,function(t,n,i){i&&i!=e.Init&&(t.off("cursorActivity",r),l&&(l(),l=null)),n&&(t.state.matchBrackets="object"==typeof n?n:{},t.on("cursorActivity",r))}),e.defineExtension("matchBrackets",function(){i(this,!0)}),e.defineExtension("findMatchingBracket",function(e,n,i){return t(this,e,n,i)}),e.defineExtension("scanForBracket",function(e,t,i,r){return n(this,e,t,i,r)})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(t,r,o,a){function s(e){var n=l(t,r);if(!n||n.to.line-n.from.linet.firstLine();)r=e.Pos(r.line-1,0),u=s(!1);if(u&&!u.cleared&&"unfold"!==a){var d=n(t,o);e.on(d,"mousedown",function(t){h.clear(),e.e_preventDefault(t)});var h=t.markText(u.from,u.to,{replacedWith:d,clearOnEnter:i(t,o,"clearOnEnter"),__isFold:!0});h.on("clear",function(n,i){e.signal(t,"unfold",t,n,i)}),e.signal(t,"fold",t,u.from,u.to)}}function n(e,t){var n=i(e,t,"widget");if("string"==typeof n){var r=document.createTextNode(n);n=document.createElement("span"),n.appendChild(r),n.className="CodeMirror-foldmarker"}return n}function i(e,t,n){if(t&&void 0!==t[n])return t[n];var i=e.options.foldOptions;return i&&void 0!==i[n]?i[n]:r[n]}e.newFoldFunction=function(e,n){return function(i,r){t(i,r,{rangeFinder:e,widget:n})}},e.defineExtension("foldCode",function(e,n,i){t(this,e,n,i)}),e.defineExtension("isFolded",function(e){for(var t=this.findMarksAt(e),n=0;nt.lastLine())return null;var i=t.getTokenAt(e.Pos(n,1));if(/\S/.test(i.string)||(i=t.getTokenAt(e.Pos(n,i.end+1))),"keyword"!=i.type||"import"!=i.string)return null;for(var r=n,o=Math.min(t.lastLine(),n+10);r<=o;++r){var a=t.getLine(r),s=a.indexOf(";");if(s!=-1)return{startCh:i.end,end:e.Pos(r,s)}}}var r,o=n.line,a=i(o);if(!a||i(o-1)||(r=i(o-2))&&r.end.line==o-1)return null;for(var s=a.end;;){var l=i(s.line+1);if(null==l)break;s=l.end}return{from:t.clipPos(e.Pos(o,a.startCh+1)),to:s}}),e.registerHelper("fold","include",function(t,n){function i(n){if(nt.lastLine())return null;var i=t.getTokenAt(e.Pos(n,1));return/\S/.test(i.string)||(i=t.getTokenAt(e.Pos(n,i.end+1))),"meta"==i.type&&"#include"==i.string.slice(0,8)?i.start+8:void 0}var r=n.line,o=i(r);if(null==o||null!=i(r-1))return null;for(var a=r;;){var s=i(a+1);if(null==s)break;++a}return{from:e.Pos(r,o+1),to:t.clipPos(e.Pos(a))}})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t){return e.line-t.line||e.ch-t.ch}function n(e,t,n,i){this.line=t,this.ch=n,this.cm=e,this.text=e.getLine(t),this.min=i?Math.max(i.from,e.firstLine()):e.firstLine(),this.max=i?Math.min(i.to-1,e.lastLine()):e.lastLine()}function i(e,t){var n=e.cm.getTokenTypeAt(h(e.line,t));return n&&/\btag\b/.test(n)}function r(e){if(!(e.line>=e.max))return e.ch=0,e.text=e.cm.getLine(++e.line),!0}function o(e){if(!(e.line<=e.min))return e.text=e.cm.getLine(--e.line),e.ch=e.text.length,!0}function a(e){for(;;){var t=e.text.indexOf(">",e.ch);if(t==-1){if(r(e))continue;return}{if(i(e,t+1)){var n=e.text.lastIndexOf("/",t),o=n>-1&&!/\S/.test(e.text.slice(n+1,t));return e.ch=t+1,o?"selfClose":"regular"}e.ch=t+1}}}function s(e){for(;;){var t=e.ch?e.text.lastIndexOf("<",e.ch-1):-1;if(t==-1){if(o(e))continue;return}if(i(e,t+1)){g.lastIndex=t,e.ch=t;var n=g.exec(e.text);if(n&&n.index==t)return n}else e.ch=t}}function l(e){for(;;){g.lastIndex=e.ch;var t=g.exec(e.text);if(!t){if(r(e))continue;return}{if(i(e,t.index+1))return e.ch=t.index+t[0].length,t;e.ch=t.index+1}}}function c(e){for(;;){var t=e.ch?e.text.lastIndexOf(">",e.ch-1):-1;if(t==-1){if(o(e))continue;return}{if(i(e,t+1)){var n=e.text.lastIndexOf("/",t),r=n>-1&&!/\S/.test(e.text.slice(n+1,t));return e.ch=t+1,r?"selfClose":"regular"}e.ch=t}}}function u(e,t){for(var n=[];;){var i,r=l(e),o=e.line,s=e.ch-(r?r[0].length:0);if(!r||!(i=a(e)))return;if("selfClose"!=i)if(r[1]){for(var c=n.length-1;c>=0;--c)if(n[c]==r[2]){n.length=c;break}if(c<0&&(!t||t==r[2]))return{tag:r[2],from:h(o,s),to:h(e.line,e.ch)}}else n.push(r[2])}}function d(e,t){for(var n=[];;){var i=c(e);if(!i)return;if("selfClose"!=i){var r=e.line,o=e.ch,a=s(e);if(!a)return;if(a[1])n.push(a[2]);else{for(var l=n.length-1;l>=0;--l)if(n[l]==a[2]){n.length=l;break}if(l<0&&(!t||t==a[2]))return{tag:a[2],from:h(e.line,e.ch),to:h(r,o)}}}else s(e)}}var h=e.Pos,p="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",f=p+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",g=new RegExp("<(/?)(["+p+"]["+f+"]*)","g");e.registerHelper("fold","xml",function(e,t){for(var i=new n(e,t.line,0);;){var r,o=l(i);if(!o||i.line!=t.line||!(r=a(i)))return;if(!o[1]&&"selfClose"!=r){var s=h(i.line,i.ch),c=u(i,o[2]);return c&&{from:s,to:c.from}}}}),e.findMatchingTag=function(e,i,r){var o=new n(e,i.line,i.ch,r);if(o.text.indexOf(">")!=-1||o.text.indexOf("<")!=-1){var l=a(o),c=l&&h(o.line,o.ch),p=l&&s(o);if(l&&p&&!(t(o,i)>0)){var f={from:h(o.line,o.ch),to:c,tag:p[2]};return"selfClose"==l?{open:f,close:null,at:"open"}:p[1]?{open:d(o,p[2]),close:f,at:"close"}:(o=new n(e,c.line,c.ch,r),{open:f,close:u(o,p[2]),at:"open"})}}},e.findEnclosingTag=function(e,t,i){for(var r=new n(e,t.line,t.ch,i);;){var o=d(r);if(!o)break;var a=new n(e,t.line,t.ch,i),s=u(a,o.tag);if(s)return{open:o,close:s}}},e.scanForClosingTag=function(e,t,i,r){var o=new n(e,t.line,t.ch,r?{from:0,to:r}:null);return u(o,i)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t,n){return/^(?:operator|sof|keyword c|case|new|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}e.defineMode("javascript",function(n,i){function r(e){for(var t,n=!1,i=!1;null!=(t=e.next());){if(!n){if("/"==t&&!i)return;"["==t?i=!0:i&&"]"==t&&(i=!1)}n=!n&&"\\"==t}}function o(e,t,n){return _e=e,ke=n,t}function a(e,n){var i=e.next();if('"'==i||"'"==i)return n.tokenize=s(i),n.tokenize(e,n);if("."==i&&e.match(/^\d+(?:[eE][+\-]?\d+)?/))return o("number","number");if("."==i&&e.match(".."))return o("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(i))return o(i);if("="==i&&e.eat(">"))return o("=>","operator");if("0"==i&&e.eat(/x/i))return e.eatWhile(/[\da-f]/i),o("number","number");if("0"==i&&e.eat(/o/i))return e.eatWhile(/[0-7]/i),o("number","number");if("0"==i&&e.eat(/b/i))return e.eatWhile(/[01]/i),o("number","number");if(/\d/.test(i))return e.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),o("number","number");if("/"==i)return e.eat("*")?(n.tokenize=l,l(e,n)):e.eat("/")?(e.skipToEnd(),o("comment","comment")):t(e,n,1)?(r(e),e.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/),o("regexp","string-2")):(e.eatWhile($e),o("operator","operator",e.current()));if("`"==i)return n.tokenize=c,c(e,n);if("#"==i)return e.skipToEnd(),o("error","error");if($e.test(i))return e.eatWhile($e),o("operator","operator",e.current());if(Pe.test(i)){e.eatWhile(Pe);var a=e.current(),u=Ie.propertyIsEnumerable(a)&&Ie[a];return u&&"."!=n.lastType?o(u.type,u.style,a):o("variable","variable",a)}}function s(e){return function(t,n){var i,r=!1;if(De&&"@"==t.peek()&&t.match(Me))return n.tokenize=a,o("jsonld-keyword","meta");for(;null!=(i=t.next())&&(i!=e||r);)r=!r&&"\\"==i;return r||(n.tokenize=a),o("string","string")}}function l(e,t){for(var n,i=!1;n=e.next();){if("/"==n&&i){t.tokenize=a;break}i="*"==n}return o("comment","comment")}function c(e,t){for(var n,i=!1;null!=(n=e.next());){if(!i&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=a;break}i=!i&&"\\"==n}return o("quasi","string-2",e.current())}function u(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){for(var i=0,r=!1,o=n-1;o>=0;--o){var a=e.string.charAt(o),s=Ne.indexOf(a);if(s>=0&&s<3){if(!i){++o;break}if(0==--i){"("==a&&(r=!0);break}}else if(s>=3&&s<6)++i;else if(Pe.test(a))r=!0;else{if(/["'\/]/.test(a))return;if(r&&!i){++o;break}}}r&&!i&&(t.fatArrowAt=o)}}function d(e,t,n,i,r,o){this.indented=e,this.column=t,this.type=n,this.prev=r,this.info=o,null!=i&&(this.align=i)}function h(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var i=e.context;i;i=i.prev)for(var n=i.vars;n;n=n.next)if(n.name==t)return!0}function p(e,t,n,i,r){var o=e.cc;for(Le.state=e,Le.stream=r,Le.marked=null,Le.cc=o,Le.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;){var a=o.length?o.pop():Ee?_:C;if(a(n,i)){for(;o.length&&o[o.length-1].lex;)o.pop()();return Le.marked?Le.marked:"variable"==n&&h(e,i)?"variable-2":t}}}function f(){for(var e=arguments.length-1;e>=0;e--)Le.cc.push(arguments[e])}function g(){return f.apply(null,arguments),!0}function m(e){function t(t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}var n=Le.state;if(Le.marked="def",n.context){if(t(n.localVars))return;n.localVars={name:e,next:n.localVars}}else{if(t(n.globalVars))return;i.globalVars&&(n.globalVars={name:e,next:n.globalVars})}}function v(){Le.state.context={prev:Le.state.context,vars:Le.state.localVars},Le.state.localVars=je}function y(){Le.state.localVars=Le.state.context.vars,Le.state.context=Le.state.context.prev}function b(e,t){var n=function(){var n=Le.state,i=n.indented;if("stat"==n.lexical.type)i=n.lexical.indented;else for(var r=n.lexical;r&&")"==r.type&&r.align;r=r.prev)i=r.indented;n.lexical=new d(i,Le.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function x(){var e=Le.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function w(e){function t(n){return n==e?g():";"==e?f():g(t)}return t}function C(e,t){return"var"==e?g(b("vardef",t.length),Z,w(";"),x):"keyword a"==e?g(b("form"),S,C,x):"keyword b"==e?g(b("form"),C,x):"{"==e?g(b("}"),z,x):";"==e?g():"if"==e?("else"==Le.state.lexical.info&&Le.state.cc[Le.state.cc.length-1]==x&&Le.state.cc.pop()(),g(b("form"),S,C,x,re)):"function"==e?g(ue):"for"==e?g(b("form"),oe,C,x):"variable"==e?g(b("stat"),R):"switch"==e?g(b("form"),S,b("}","switch"),w("{"),z,x,x):"case"==e?g(_,w(":")):"default"==e?g(w(":")):"catch"==e?g(b("form"),v,w("("),de,w(")"),C,x,y):"class"==e?g(b("form"),he,x):"export"==e?g(b("stat"),me,x):"import"==e?g(b("stat"),ve,x):"module"==e?g(b("form"),ee,b("}"),w("{"),z,x,x):"type"==e?g(Y,w("operator"),Y,w(";")):"async"==e?g(C):f(b("stat"),_,w(";"),x)}function _(e){return T(e,!1)}function k(e){return T(e,!0)}function S(e){return"("!=e?f():g(b(")"),_,w(")"),x)}function T(e,t){if(Le.state.fatArrowAt==Le.stream.start){var n=t?N:M;if("("==e)return g(v,b(")"),B(ee,")"),x,w("=>"),n,y);if("variable"==e)return f(v,ee,w("=>"),n,y)}var i=t?P:A;return Oe.hasOwnProperty(e)?g(i):"function"==e?g(ue,i):"keyword c"==e||"async"==e?g(t?E:D):"("==e?g(b(")"),D,w(")"),x,i):"operator"==e||"spread"==e?g(t?k:_):"["==e?g(b("]"),we,x,i):"{"==e?U(q,"}",null,i):"quasi"==e?f(I,i):"new"==e?g(O(t)):g()}function D(e){return e.match(/[;\}\)\],]/)?f():f(_)}function E(e){return e.match(/[;\}\)\],]/)?f():f(k)}function A(e,t){return","==e?g(_):P(e,t,!1)}function P(e,t,n){var i=0==n?A:P,r=0==n?_:k;return"=>"==e?g(v,n?N:M,y):"operator"==e?/\+\+|--/.test(t)?g(i):"?"==t?g(_,w(":"),r):g(r):"quasi"==e?f(I,i):";"!=e?"("==e?U(k,")","call",i):"."==e?g(F,i):"["==e?g(b("]"),D,w("]"),x,i):void 0:void 0}function I(e,t){return"quasi"!=e?f():"${"!=t.slice(t.length-2)?g(I):g(_,$)}function $(e){if("}"==e)return Le.marked="string-2",Le.state.tokenize=c,g(I)}function M(e){return u(Le.stream,Le.state),f("{"==e?C:_)}function N(e){return u(Le.stream,Le.state),f("{"==e?C:k)}function O(e){return function(t){return"."==t?g(e?j:L):f(e?k:_)}}function L(e,t){if("target"==t)return Le.marked="keyword",g(A)}function j(e,t){if("target"==t)return Le.marked="keyword",g(P)}function R(e){return":"==e?g(x,C):f(A,w(";"),x)}function F(e){if("variable"==e)return Le.marked="property",g()}function q(e,t){return"async"==e?(Le.marked="property",g(q)):"variable"==e||"keyword"==Le.style?(Le.marked="property",g("get"==t||"set"==t?H:V)):"number"==e||"string"==e?(Le.marked=De?"property":Le.style+" property",g(V)):"jsonld-keyword"==e?g(V):"modifier"==e?g(q):"["==e?g(_,w("]"),V):"spread"==e?g(_):":"==e?f(V):void 0}function H(e){return"variable"!=e?f(V):(Le.marked="property",g(ue))}function V(e){return":"==e?g(k):"("==e?f(ue):void 0}function B(e,t){function n(i,r){if(","==i){var o=Le.state.lexical;return"call"==o.info&&(o.pos=(o.pos||0)+1),g(function(n,i){return n==t||i==t?f():f(e)},n)}return i==t||r==t?g():g(w(t))}return function(i,r){return i==t||r==t?g():f(e,n)}}function U(e,t,n){for(var i=3;i"==e)return g(Y)}function J(e){return"variable"==e||"keyword"==Le.style?(Le.marked="property",g(J)):":"==e?g(Y):void 0}function K(e){return"variable"==e?g(K):":"==e?g(Y):void 0}function Q(e,t){return"<"==t?g(B(Y,">"),Q):"["==e?g(w("]"),Q):void 0}function Z(){return f(ee,W,ne,ie)}function ee(e,t){return"modifier"==e?g(ee):"variable"==e?(m(t),g()):"spread"==e?g(ee):"["==e?U(ee,"]"):"{"==e?U(te,"}"):void 0}function te(e,t){return"variable"!=e||Le.stream.match(/^\s*:/,!1)?("variable"==e&&(Le.marked="property"),"spread"==e?g(ee):"}"==e?f():g(w(":"),ee,ne)):(m(t),g(ne))}function ne(e,t){if("="==t)return g(k)}function ie(e){if(","==e)return g(Z)}function re(e,t){if("keyword b"==e&&"else"==t)return g(b("form","else"),C,x)}function oe(e){if("("==e)return g(b(")"),ae,w(")"),x)}function ae(e){return"var"==e?g(Z,w(";"),le):";"==e?g(le):"variable"==e?g(se):f(_,w(";"),le)}function se(e,t){return"in"==t||"of"==t?(Le.marked="keyword",g(_)):g(A,le)}function le(e,t){return";"==e?g(ce):"in"==t||"of"==t?(Le.marked="keyword",g(_)):f(_,w(";"),ce)}function ce(e){")"!=e&&g(_)}function ue(e,t){return"*"==t?(Le.marked="keyword",g(ue)):"variable"==e?(m(t),g(ue)):"("==e?g(v,b(")"),B(de,")"),x,W,C,y):void 0}function de(e){return"spread"==e?g(de):f(ee,W,G)}function he(e,t){if("variable"==e)return m(t),g(pe)}function pe(e,t){return"extends"==t?g(Ae?Y:_,pe):"{"==e?g(b("}"),fe,x):void 0}function fe(e,t){return"variable"==e||"keyword"==Le.style?("static"==t||"get"==t||"set"==t||Ae&&("public"==t||"private"==t||"protected"==t))&&Le.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(Le.marked="keyword",g(fe)):(Le.marked="property",g(Ae?ge:ue,fe)):"*"==t?(Le.marked="keyword",g(fe)):";"==e?g(fe):"}"==e?g():void 0}function ge(e){return":"==e?g(Y):f(ue)}function me(e,t){return"*"==t?(Le.marked="keyword",g(xe,w(";"))):"default"==t?(Le.marked="keyword",g(_,w(";"))):f(C)}function ve(e){return"string"==e?g():f(ye,xe)}function ye(e,t){return"{"==e?U(ye,"}"):("variable"==e&&m(t),"*"==t&&(Le.marked="keyword"),g(be))}function be(e,t){if("as"==t)return Le.marked="keyword",g(ye)}function xe(e,t){if("from"==t)return Le.marked="keyword",g(_)}function we(e){return"]"==e?g():f(B(k,"]"))}function Ce(e,t){return"operator"==e.lastType||","==e.lastType||$e.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}var _e,ke,Se=n.indentUnit,Te=i.statementIndent,De=i.jsonld,Ee=i.json||De,Ae=i.typescript,Pe=i.wordCharacters||/[\w$\xa1-\uffff]/,Ie=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),i=e("keyword c"),r=e("operator"),o={type:"atom",style:"atom"},a={if:e("if"),while:t,with:t,else:n,do:n,try:n,finally:n,return:i,break:i,continue:i,new:e("new"),delete:i,throw:i,debugger:i,var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:r,typeof:r,instanceof:r,true:o,false:o,null:o,undefined:o,NaN:o,Infinity:o,this:e("this"),class:e("class"),super:e("atom"),yield:i,export:e("export"),import:e("import"),extends:i,await:i,async:e("async")};if(Ae){var s={type:"variable",style:"variable-3"},l={interface:e("class"),implements:i,namespace:i,module:e("module"),enum:e("module"),type:e("type"),public:e("modifier"),private:e("modifier"),protected:e("modifier"),abstract:e("modifier"),as:r,string:s,number:s,boolean:s,any:s};for(var c in l)a[c]=l[c]}return a}(),$e=/[+\-*&%=<>!?|~^]/,Me=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,Ne="([{}])",Oe={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0},Le={state:null,column:null,marked:null,cc:null},je={name:"this",next:{name:"arguments"}};return x.lex=!0,{startState:function(e){var t={tokenize:a,lastType:"sof",cc:[],lexical:new d((e||0)-Se,0,"block",!1),localVars:i.localVars,context:i.localVars&&{vars:i.localVars},indented:e||0};return i.globalVars&&"object"==typeof i.globalVars&&(t.globalVars=i.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),u(e,t)),t.tokenize!=l&&e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==_e?n:(t.lastType="operator"!=_e||"++"!=ke&&"--"!=ke?_e:"incdec",p(t,n,_e,ke,e))},indent:function(t,n){if(t.tokenize==l)return e.Pass;if(t.tokenize!=a)return 0;var r,o=n&&n.charAt(0),s=t.lexical;if(!/^\s*else\b/.test(n))for(var c=t.cc.length-1;c>=0;--c){var u=t.cc[c];if(u==x)s=s.prev;else if(u!=re)break}for(;("stat"==s.type||"form"==s.type)&&("}"==o||(r=t.cc[t.cc.length-1])&&(r==A||r==P)&&!/^[,\.=+\-*:?[\(]/.test(n));)s=s.prev;Te&&")"==s.type&&"stat"==s.prev.type&&(s=s.prev);var d=s.type,h=o==d;return"vardef"==d?s.indented+("operator"==t.lastType||","==t.lastType?s.info+1:0):"form"==d&&"{"==o?s.indented:"form"==d?s.indented+Se:"stat"==d?s.indented+(Ce(t,n)?Te||Se:0):"switch"!=s.info||h||0==i.doubleIndentSwitch?s.align?s.column+(h?0:1):s.indented+(h?0:Se):s.indented+(/^(?:case|default)\b/.test(n)?Se:2*Se)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:Ee?null:"/*",blockCommentEnd:Ee?null:"*/",lineComment:Ee?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:Ee?"json":"javascript",jsonldMode:De,jsonMode:Ee,expressionAllowed:t,skipExpression:function(e){var t=e.cc[e.cc.length-1];t!=_&&t!=k||e.cc.pop()}}}),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";var t={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},n={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,caseFold:!1};e.defineMode("xml",function(i,r){function o(e,t){function n(n){return t.tokenize=n,n(e,t)}var i=e.next();if("<"==i)return e.eat("!")?e.eat("[")?e.match("CDATA[")?n(l("atom","]]>")):null:e.match("--")?n(l("comment","-->")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),n(c(1))):null:e.eat("?")?(e.eatWhile(/[\w\._\-]/),t.tokenize=l("meta","?>"),"meta"):(T=e.eat("/")?"closeTag":"openTag",t.tokenize=a,"tag bracket");if("&"==i){var r;return r=e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";"),r?"atom":"error"}return e.eatWhile(/[^&<]/),null}function a(e,t){var n=e.next();if(">"==n||"/"==n&&e.eat(">"))return t.tokenize=o,T=">"==n?"endTag":"selfcloseTag","tag bracket";if("="==n)return T="equals",null;if("<"==n){t.tokenize=o,t.state=p,t.tagName=t.tagStart=null;var i=t.tokenize(e,t);return i?i+" tag error":"tag error"}return/[\'\"]/.test(n)?(t.tokenize=s(n),t.stringStartCol=e.column(),t.tokenize(e,t)):(e.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function s(e){var t=function(t,n){for(;!t.eol();)if(t.next()==e){n.tokenize=a;break}return"string"};return t.isInAttribute=!0,t}function l(e,t){return function(n,i){for(;!n.eol();){if(n.match(t)){i.tokenize=o;break}n.next()}return e}}function c(e){return function(t,n){for(var i;null!=(i=t.next());){if("<"==i)return n.tokenize=c(e+1),n.tokenize(t,n);if(">"==i){if(1==e){n.tokenize=o;break}return n.tokenize=c(e-1),n.tokenize(t,n)}}return"meta"}}function u(e,t,n){this.prev=e.context,this.tagName=t,this.indent=e.indented,this.startOfLine=n,(_.doNotIndent.hasOwnProperty(t)||e.context&&e.context.noIndent)&&(this.noIndent=!0)}function d(e){e.context&&(e.context=e.context.prev)}function h(e,t){for(var n;;){if(!e.context)return;if(n=e.context.tagName,!_.contextGrabbers.hasOwnProperty(n)||!_.contextGrabbers[n].hasOwnProperty(t))return;d(e)}}function p(e,t,n){return"openTag"==e?(n.tagStart=t.column(),f):"closeTag"==e?g:p}function f(e,t,n){return"word"==e?(n.tagName=t.current(),D="tag",y):(D="error",f)}function g(e,t,n){if("word"==e){var i=t.current();return n.context&&n.context.tagName!=i&&_.implicitlyClosed.hasOwnProperty(n.context.tagName)&&d(n),n.context&&n.context.tagName==i||_.matchClosing===!1?(D="tag",m):(D="tag error",v)}return D="error",v}function m(e,t,n){return"endTag"!=e?(D="error",m):(d(n),p)}function v(e,t,n){return D="error",m(e,t,n)}function y(e,t,n){if("word"==e)return D="attribute",b;if("endTag"==e||"selfcloseTag"==e){var i=n.tagName,r=n.tagStart;return n.tagName=n.tagStart=null,"selfcloseTag"==e||_.autoSelfClosers.hasOwnProperty(i)?h(n,i):(h(n,i),n.context=new u(n,i,r==n.indented)),p}return D="error",y}function b(e,t,n){return"equals"==e?x:(_.allowMissing||(D="error"),y(e,t,n))}function x(e,t,n){return"string"==e?w:"word"==e&&_.allowUnquoted?(D="string",y):(D="error",y(e,t,n))}function w(e,t,n){return"string"==e?w:y(e,t,n)}var C=i.indentUnit,_={},k=r.htmlMode?t:n;for(var S in k)_[S]=k[S];for(var S in r)_[S]=r[S];var T,D;return o.isInText=!0,{startState:function(e){var t={tokenize:o,state:p,indented:e||0,tagName:null,tagStart:null,context:null};return null!=e&&(t.baseIndent=e),t},token:function(e,t){if(!t.tagName&&e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;T=null;var n=t.tokenize(e,t);return(n||T)&&"comment"!=n&&(D=null,t.state=t.state(T||n,e,t),D&&(n="error"==D?n+" error":D)),n},indent:function(t,n,i){var r=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+C;if(r&&r.noIndent)return e.Pass;if(t.tokenize!=a&&t.tokenize!=o)return i?i.match(/^(\s*)/)[0].length:0;if(t.tagName)return _.multilineTagIndentPastTag!==!1?t.tagStart+t.tagName.length+2:t.tagStart+C*(_.multilineTagIndentFactor||1);if(_.alignCDATA&&/$/,blockCommentStart:"",configuration:_.htmlMode?"html":"xml",helperType:_.htmlMode?"html":"xml",skipAttribute:function(e){e.state==x&&(e.state=y)}}}),e.defineMIME("text/xml","xml"),e.defineMIME("application/xml","xml"),e.mimeModes.hasOwnProperty("text/html")||e.defineMIME("text/html",{name:"xml",htmlMode:!0})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e){for(var t={},n=0;n*\/]/.test(n)?i(null,"select-op"):"."==n&&e.match(/^-?[_a-z][_a-z0-9-]*/i)?i("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(n)?i(null,n):"u"==n&&e.match(/rl(-prefix)?\(/)||"d"==n&&e.match("omain(")||"r"==n&&e.match("egexp(")?(e.backUp(1),t.tokenize=a,i("property","word")):/[\w\\\-]/.test(n)?(e.eatWhile(/[\w\\\-]/),i("property","word")):i(null,null):/[\d.]/.test(e.peek())?(e.eatWhile(/[\w.%]/),i("number","unit")):e.match(/^-[\w\\\-]+/)?(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?i("variable-2","variable-definition"):i("variable-2","variable")):e.match(/^\w+-/)?i("meta","meta"):void 0}function o(e){return function(t,n){for(var r,o=!1;null!=(r=t.next());){if(r==e&&!o){")"==e&&t.backUp(1);break}o=!o&&"\\"==r}return(r==e||!o&&")"!=e)&&(n.tokenize=null),i("string","string")}}function a(e,t){return e.next(),e.match(/\s*[\"\')]/,!1)?t.tokenize=null:t.tokenize=o(")"),i(null,"(")}function s(e,t,n){this.type=e,this.indent=t,this.prev=n}function l(e,t,n,i){return e.context=new s(n,t.indentation()+(i===!1?0:m),e.context),n}function c(e){return e.context.prev&&(e.context=e.context.prev),e.context.type}function u(e,t,n){return P[n.context.type](e,t,n)}function d(e,t,n,i){for(var r=i||1;r>0;r--)n.context=n.context.prev;return u(e,t,n)}function h(e){var t=e.current().toLowerCase();g=D.hasOwnProperty(t)?"atom":T.hasOwnProperty(t)?"keyword":"variable"}var p=n.inline;n.propertyKeywords||(n=e.resolveMode("text/css"));var f,g,m=t.indentUnit,v=n.tokenHooks,y=n.documentTypes||{},b=n.mediaTypes||{},x=n.mediaFeatures||{},w=n.mediaValueKeywords||{},C=n.propertyKeywords||{},_=n.nonStandardPropertyKeywords||{},k=n.fontProperties||{},S=n.counterDescriptors||{},T=n.colorKeywords||{},D=n.valueKeywords||{},E=n.allowNested,A=n.supportsAtComponent===!0,P={};return P.top=function(e,t,n){if("{"==e)return l(n,t,"block");if("}"==e&&n.context.prev)return c(n);if(A&&/@component/.test(e))return l(n,t,"atComponentBlock");if(/^@(-moz-)?document$/.test(e))return l(n,t,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/.test(e))return l(n,t,"atBlock");if(/^@(font-face|counter-style)/.test(e))return n.stateArg=e,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/.test(e))return"keyframes";if(e&&"@"==e.charAt(0))return l(n,t,"at");if("hash"==e)g="builtin";else if("word"==e)g="tag";else{if("variable-definition"==e)return"maybeprop";if("interpolation"==e)return l(n,t,"interpolation");if(":"==e)return"pseudo";if(E&&"("==e)return l(n,t,"parens")}return n.context.type},P.block=function(e,t,n){if("word"==e){var i=t.current().toLowerCase();return C.hasOwnProperty(i)?(g="property","maybeprop"):_.hasOwnProperty(i)?(g="string-2","maybeprop"):E?(g=t.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(g+=" error","maybeprop")}return"meta"==e?"block":E||"hash"!=e&&"qualifier"!=e?P.top(e,t,n):(g="error","block")},P.maybeprop=function(e,t,n){return":"==e?l(n,t,"prop"):u(e,t,n)},P.prop=function(e,t,n){if(";"==e)return c(n);if("{"==e&&E)return l(n,t,"propBlock");if("}"==e||"{"==e)return d(e,t,n);if("("==e)return l(n,t,"parens");if("hash"!=e||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(t.current())){if("word"==e)h(t);else if("interpolation"==e)return l(n,t,"interpolation")}else g+=" error";return"prop"},P.propBlock=function(e,t,n){return"}"==e?c(n):"word"==e?(g="property","maybeprop"):n.context.type},P.parens=function(e,t,n){return"{"==e||"}"==e?d(e,t,n):")"==e?c(n):"("==e?l(n,t,"parens"):"interpolation"==e?l(n,t,"interpolation"):("word"==e&&h(t),"parens")},P.pseudo=function(e,t,n){return"word"==e?(g="variable-3",n.context.type):u(e,t,n)},P.documentTypes=function(e,t,n){return"word"==e&&y.hasOwnProperty(t.current())?(g="tag",n.context.type):P.atBlock(e,t,n)},P.atBlock=function(e,t,n){if("("==e)return l(n,t,"atBlock_parens");if("}"==e||";"==e)return d(e,t,n);if("{"==e)return c(n)&&l(n,t,E?"block":"top");if("interpolation"==e)return l(n,t,"interpolation");if("word"==e){var i=t.current().toLowerCase();g="only"==i||"not"==i||"and"==i||"or"==i?"keyword":b.hasOwnProperty(i)?"attribute":x.hasOwnProperty(i)?"property":w.hasOwnProperty(i)?"keyword":C.hasOwnProperty(i)?"property":_.hasOwnProperty(i)?"string-2":D.hasOwnProperty(i)?"atom":T.hasOwnProperty(i)?"keyword":"error"}return n.context.type},P.atComponentBlock=function(e,t,n){return"}"==e?d(e,t,n):"{"==e?c(n)&&l(n,t,E?"block":"top",!1):("word"==e&&(g="error"),n.context.type)},P.atBlock_parens=function(e,t,n){return")"==e?c(n):"{"==e||"}"==e?d(e,t,n,2):P.atBlock(e,t,n)},P.restricted_atBlock_before=function(e,t,n){return"{"==e?l(n,t,"restricted_atBlock"):"word"==e&&"@counter-style"==n.stateArg?(g="variable","restricted_atBlock_before"):u(e,t,n)},P.restricted_atBlock=function(e,t,n){return"}"==e?(n.stateArg=null,c(n)):"word"==e?(g="@font-face"==n.stateArg&&!k.hasOwnProperty(t.current().toLowerCase())||"@counter-style"==n.stateArg&&!S.hasOwnProperty(t.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},P.keyframes=function(e,t,n){return"word"==e?(g="variable","keyframes"):"{"==e?l(n,t,"top"):u(e,t,n)},P.at=function(e,t,n){return";"==e?c(n):"{"==e||"}"==e?d(e,t,n):("word"==e?g="tag":"hash"==e&&(g="builtin"),"at")},P.interpolation=function(e,t,n){return"}"==e?c(n):"{"==e||";"==e?d(e,t,n):("word"==e?g="variable":"variable"!=e&&"("!=e&&")"!=e&&(g="error"),"interpolation")},{startState:function(e){return{tokenize:null,state:p?"block":"top",stateArg:null,context:new s(p?"block":"top",e||0,null)}},token:function(e,t){if(!t.tokenize&&e.eatSpace())return null;var n=(t.tokenize||r)(e,t);return n&&"object"==typeof n&&(f=n[1],n=n[0]),g=n,t.state=P[t.state](f,e,t),g},indent:function(e,t){var n=e.context,i=t&&t.charAt(0),r=n.indent;return"prop"!=n.type||"}"!=i&&")"!=i||(n=n.prev),n.prev&&("}"!=i||"block"!=n.type&&"top"!=n.type&&"interpolation"!=n.type&&"restricted_atBlock"!=n.type?(")"!=i||"parens"!=n.type&&"atBlock_parens"!=n.type)&&("{"!=i||"at"!=n.type&&"atBlock"!=n.type)||(r=Math.max(0,n.indent-m),n=n.prev):(n=n.prev,r=n.indent)),r},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace"}});var i=["domain","regexp","url","url-prefix"],r=t(i),o=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],a=t(o),s=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover"],l=t(s),c=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive"],u=t(c),d=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],h=t(d),p=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],f=t(p),g=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],m=t(g),v=["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"],y=t(v),b=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],x=t(b),w=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","spell-out","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],C=t(w),_=i.concat(o).concat(s).concat(c).concat(d).concat(p).concat(b).concat(w);
+e.registerHelper("hintWords","css",_),e.defineMIME("text/css",{documentTypes:r,mediaTypes:a,mediaFeatures:l,mediaValueKeywords:u,propertyKeywords:h,nonStandardPropertyKeywords:f,fontProperties:m,counterDescriptors:y,colorKeywords:x,valueKeywords:C,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=n,n(e,t))}},name:"css"}),e.defineMIME("text/x-scss",{mediaTypes:a,mediaFeatures:l,mediaValueKeywords:u,propertyKeywords:h,nonStandardPropertyKeywords:f,colorKeywords:x,valueKeywords:C,fontProperties:m,allowNested:!0,tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=n,n(e,t)):["operator","operator"]},":":function(e){return!!e.match(/\s*\{/)&&[null,"{"]},$:function(e){return e.match(/^[\w-]+/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(e){return!!e.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),e.defineMIME("text/x-less",{mediaTypes:a,mediaFeatures:l,mediaValueKeywords:u,propertyKeywords:h,nonStandardPropertyKeywords:f,colorKeywords:x,valueKeywords:C,fontProperties:m,allowNested:!0,tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=n,n(e,t)):["operator","operator"]},"@":function(e){return e.eat("{")?[null,"interpolation"]:!e.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/,!1)&&(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),e.defineMIME("text/x-gss",{documentTypes:r,mediaTypes:a,mediaFeatures:l,propertyKeywords:h,nonStandardPropertyKeywords:f,fontProperties:m,counterDescriptors:y,colorKeywords:x,valueKeywords:C,supportsAtComponent:!0,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=n,n(e,t))}},name:"css",helperType:"gss"})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("../xml/xml"),require("../javascript/javascript"),require("../css/css")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../javascript/javascript","../css/css"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t,n){var i=e.current(),r=i.search(t);return r>-1?e.backUp(i.length-r):i.match(/<\/?$/)&&(e.backUp(i.length),e.match(t,!1)||e.match(i)),n}function n(e){var t=l[e];return t?t:l[e]=new RegExp("\\s+"+e+"\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*")}function i(e,t){var i=e.match(n(t));return i?/^\s*(.*?)\s*$/.exec(i[2])[1]:""}function r(e,t){return new RegExp((t?"^":"")+"