diff --git a/app/dist/css/app.5da079fa.css b/app/dist/css/app.61054b09.css similarity index 87% rename from app/dist/css/app.5da079fa.css rename to app/dist/css/app.61054b09.css index c67eeaef..b19a55bf 100644 --- a/app/dist/css/app.5da079fa.css +++ b/app/dist/css/app.61054b09.css @@ -1 +1 @@ -*{margin:0;padding:0}body{top:-10px!important;font-family:Open Sans,sans-serif;margin-bottom:0;height:99%;font-size:16px}#toolbar{padding:0 0 0}#toolbar>.v-toolbar__content{height:54px!important}.selected{stroke:#343838;stroke-width:1px}.unselected{stroke:#dbdbdb;stroke-width:3px}.big_text{font-size:32px}.ui.vis{height:98%!important}.tight{margin-left:-1em}.ui.segment.vis_container{margin-right:-1em}.v-chip__content{color:#fff;font-size:125%}.scroll{overflow-y:auto}.tooltip{padding-left:10px;font-size:14px;font-weight:500}.setting-button{border:0 solid!important;right:0!important;color:#009688!important;font-size:36px!important;background-color:#fff!important}.v-list{padding:8px}.splitpanes.default-theme .splitpanes__pane{background:#f7f7f7!important}.md-theme-default a:not(.md-button){color:#009687!important}.valueText{font-weight:700!important}.chip{font-weight:500!important}#footer{color:#fff}.my-app.v-application .primary--text{color:#fff!important;caret-color:#fff!important}.node rect[data-v-60940fc5]{stroke:#333;fill:#fff}.edgePath path[data-v-60940fc5]{stroke:#333;fill:#333;stroke-width:1.5px}.node circle[data-v-60940fc5]{stroke:#000;stroke-width:.5px}.node text[data-v-60940fc5]{font:12px sans-serif}.link[data-v-60940fc5]{fill:none;stroke:#000;stroke-width:5px}.cct-node[data-v-1976c798]{cursor:pointer}.white-text[data-v-1976c798]{color:#fff!important;text-align:center}.black-text[data-v-1976c798]{color:#000!important;text-align:center}.description[data-v-1976c798]{display:block}.highLight>circle[data-v-1976c798],.highLight>rect[data-v-1976c798]{stroke:red;stroke-width:2px}.white-text>.description[data-v-1976c798]{color:#c8c3c3 );font-size:10pt}.black-text>.description[data-v-1976c798]{color:#1a1a31;font-size:10pt}#callsite-information-overview{overflow:auto}.reveal-button{color:#009688!important}.callsite-information-node{padding:10px 0 5px 5px;margin:10px;border-width:1px;border-style:solid;border-color:#d0cccc}.information{margin-left:15px;font-size:16px}#auxiliary-function-overview{overflow:auto}.show-boxplot-btn{padding:1}.unselect-callsite{color:#009688!important;background:#fff!important;cursor:pointer}.select-callsite{color:#fff!important;background:#009688!important;cursor:pointer}.reveal-button{float:right;margin:1px;font-size:75%;padding:2px}.auxiliary-node{padding-left:10px;padding-top:0;margin:3px;border-width:1px;border-style:solid;border-color:#d0cccc}.box{font:10px sans-serif}.box circle,.box line,.box rect{stroke:#000;stroke-width:1.5px}.box .center{stroke-dasharray:3,3}.box .outlier{fill:none;stroke:#000}.component-info{color:#009688;padding:8px}.component-data{color:#009688;padding:0} \ No newline at end of file +*{margin:0;padding:0}body{top:-10px!important;font-family:Open Sans,sans-serif;margin-bottom:0;height:99%;font-size:16px}#toolbar{padding:0 0 0}#toolbar>.v-toolbar__content{height:54px!important}.selected{stroke:#343838;stroke-width:1px}.unselected{stroke:#dbdbdb;stroke-width:3px}.big_text{font-size:32px}.ui.vis{height:98%!important}.tight{margin-left:-1em}.ui.segment.vis_container{margin-right:-1em}.v-chip__content{color:#fff;font-size:125%}.scroll{overflow-y:auto}.tooltip{padding-left:10px;font-size:14px;font-weight:500}.setting-button{border:0 solid!important;right:0!important;color:#009688!important;font-size:36px!important;background-color:#fff!important}.v-list{padding:8px}.splitpanes.default-theme .splitpanes__pane{background:#f7f7f7!important}.md-theme-default a:not(.md-button){color:#009687!important}.valueText{font-weight:700!important}.chip{font-weight:500!important}#footer{color:#fff}.my-app.v-application .primary--text{color:#fff!important;caret-color:#fff!important}.node rect[data-v-595c6e5c]{stroke:#333;fill:#fff}.edgePath path[data-v-595c6e5c]{stroke:#333;fill:#333;stroke-width:1.5px}.node circle[data-v-595c6e5c]{stroke:#000;stroke-width:.5px}.node text[data-v-595c6e5c]{font:12px sans-serif}.link[data-v-595c6e5c]{fill:none;stroke:#000;stroke-width:5px}.cct-node[data-v-1976c798]{cursor:pointer}.white-text[data-v-1976c798]{color:#fff!important;text-align:center}.black-text[data-v-1976c798]{color:#000!important;text-align:center}.description[data-v-1976c798]{display:block}.highLight>circle[data-v-1976c798],.highLight>rect[data-v-1976c798]{stroke:red;stroke-width:2px}.white-text>.description[data-v-1976c798]{color:#c8c3c3 );font-size:10pt}.black-text>.description[data-v-1976c798]{color:#1a1a31;font-size:10pt}#callsite-information-overview{overflow:auto}.reveal-button{color:#009688!important}.callsite-information-node{padding:10px 0 5px 5px;margin:10px;border-width:1px;border-style:solid;border-color:#d0cccc}.information{margin-left:15px;font-size:16px}#auxiliary-function-overview{overflow:auto}.show-boxplot-btn{padding:1}.unselect-callsite{color:#009688!important;background:#fff!important;cursor:pointer}.select-callsite{color:#fff!important;background:#009688!important;cursor:pointer}.reveal-button{float:right;margin:1px;font-size:75%;padding:2px}.auxiliary-node{padding-left:10px;padding-top:0;margin:3px;border-width:1px;border-style:solid;border-color:#d0cccc}.box{font:10px sans-serif}.box circle,.box line,.box rect{stroke:#000;stroke-width:1.5px}.box .center{stroke-dasharray:3,3}.box .outlier{fill:none;stroke:#000}.component-info{color:#009688;padding:8px}.component-data{color:#009688;padding:0} \ No newline at end of file diff --git a/app/dist/index.html b/app/dist/index.html index 9f6b9d50..69ce8f1f 100644 --- a/app/dist/index.html +++ b/app/dist/index.html @@ -1 +1 @@ -Vue App
\ No newline at end of file +CallFlow
\ No newline at end of file diff --git a/app/dist/js/app.9576c760.js b/app/dist/js/app.9576c760.js deleted file mode 100644 index 38350af5..00000000 --- a/app/dist/js/app.9576c760.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(t){function e(e){for(var i,o,l=e[0],n=e[1],h=e[2],c=0,u=[];c1?s("v-btn",{attrs:{outlined:""}},[s("router-link",{attrs:{to:"/ensemble",replace:""}},[t._v("Ensemble")])],1):t._e()],1),s("router-view"),s("v-content",[s("v-layout",[s("v-container",{attrs:{fluid:""}},[s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" General Information ")])],1),s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" Experiment: "+t._s(t.data.experiment)+" ")])],1),s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" Data path: "+t._s(t.data.data_path)+" ")])],1),s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" .callflow save path: "+t._s(t.data.save_path)+" ")])],1),s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" Filter by attribute: "+t._s(t.data.filter_by)+" ")])],1),s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" Filter percentage: "+t._s(t.data.filter_perc)+" ")])],1),s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" Group by attribute: "+t._s(t.data.group_by)+" ")])],1)],1),s("v-container",[s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v("Runtime Information")]),s("v-data-table",{staticClass:"elevation-1",attrs:{dense:"",headers:t.runtimeHeaders,items:t.runtime,"items-per-page":5},scopedSlots:t._u([{key:"items",fn:function(e){return[s("tr",[s("td",{attrs:{nowrap:"true"}},[t._v(t._s(e.item.run))]),s("td",{attrs:{nowrap:"true"}},[t._v(" "+t._s(e.item.min_inclusive_runtime)+" ")]),s("td",{attrs:{nowrap:"true"}},[t._v(" "+t._s(e.item.max_inclusive_runtime)+" ")]),s("td",{attrs:{nowrap:"true"}},[t._v(" "+t._s(e.item.min_exclusive_runtime)+" ")]),s("td",{attrs:{nowrap:"true"}},[t._v(" "+t._s(e.item.max_exclusive_runtime)+" ")])])]}}])})],1)],1)],1)],1)],1)])}),u=[];class f{constructor(){this.url="http://localhost:5000/"}timeoutPromise(t,e){return new Promise((s,i)=>{const a=setTimeout(()=>{i(new Error("Promise times out"))},t);e.then(t=>{clearTimeout(a),s(t)},t=>{clearTimeout(a),i(t)})})}POSTRequest(t="",e={}){const s=this.url+t;console.log("[POST Request]",s,"body: ",e);const i=fetch(s,{method:"POST",cache:"default",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(t=>{switch(t.status){case 200:return t.json();case 401:return Promise.reject("unauthorized");case 500:return Promise.reject("not_allowed");default:return Promise.reject("unknown_error")}}).catch(t=>(console.error(t),Promise.reject(t)));return this.timeoutPromise(1e4,i)}GETRequest(t="",e={"Content-Type":"application/json"}){const s=this.url+t;console.debug("[GET Request]",s,e);const i=fetch(s,{method:"GET",headers:e,cache:"default",credentials:"same-origin"}).then(t=>{switch(t.status){case 200:return t.json();case 401:return Promise.reject("unauthorized");case 500:return Promise.reject("not_allowed");default:return Promise.reject("unknown_error")}}).catch(t=>(console.error(t),Promise.reject(t)));return this.timeoutPromise(1e4,i)}}var m=new f,p={name:"App",data:()=>({data:{},runCounts:0,runtimeHeaders:[{text:"Run",value:"run"},{text:"Min. Inclusive runtime (μs)",value:"min_inclusive_runtime"},{text:"Max. Inclusive runtime (μs)",value:"max_inclusive_runtime",sortable:!0},{text:"Min. Exclusive runtime (μs)",value:"min_exclusive_runtime"},{text:"Max. Exclusive runtime (μs)",value:"max_exclusive_runtime"}],runtime:[],expanded:[],singleExpand:!1,moduleHeaders:[{text:"Module",value:"module"},{text:"Inclusive runtime (μs)",value:"inclusive_runtime",sortable:!0},{text:"Exclusive runtime (μs)",value:"exclusive_runtime"},{text:"Imbalance perc (%)",value:"imbalance_perc"},{text:"Number of Callsites",value:"number_of_callsites"},{text:"",value:"data-table-expand"}],modules:[],auxiliarySortBy:"time (inc)",selectedRunBinCount:20,selectedMPIBinCount:20}),mounted(){this.fetchData()},methods:{async fetchData(){this.data=await m.GETRequest("init",{dataset_path:""}),this.runs=Object.keys(this.data.parameter_props.data_path),this.runCounts=this.runs.length,this.runtime_props=this.data.runtime_props,this.module_callsite_map=this.data.module_callsite_map,this.setStore(),this.init()},init(){this.runtimePropsTable(),this.moduleCallsiteTable()},setStore(){this.$store.selectedDatasets=this.runs,this.$store.numOfRuns=this.runs.length,this.$store.maxExcTime=this.data.runtime_props.maxExcTime,this.$store.minExcTime=this.data.runtime_props.minExcTime,this.$store.maxIncTime=this.data.runtime_props.maxIncTime,this.$store.minIncTime=this.data.runtime_props.minIncTime,this.$store.numOfRanks=this.data.runtime_props.numOfRanks},runtimePropsTable(){for(let t of this.runs)this.runtime.push({run:t,min_inclusive_runtime:this.runtime_props.minIncTime[t],max_inclusive_runtime:this.runtime_props.maxIncTime[t],min_exclusive_runtime:this.runtime_props.minExcTime[t],max_exclusive_runtime:this.runtime_props.maxExcTime[t]})},moduleCallsiteTable(){for(let t in this.module_callsite_map)this.modules.push({module:t,number_of_callsites:this.data.module_callsite_map[t].length})}}},g=p,x=(s("9993"),s("2877")),b=Object(x["a"])(g,c,u,!1,null,null,null),y=b.exports,v=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-app",{attrs:{id:"inspire"}},[s("v-toolbar",{attrs:{id:"toolbar",color:"teal",dark:"",fixed:"",app:"","clipped-right":""}},[s("v-toolbar-side-icon",{on:{click:function(e){e.stopPropagation(),t.left=!t.left}}},[s("v-icon",[t._v("settings")])],1),s("v-toolbar-title",{staticStyle:{"margin-right":"3em"}},[t._v(t._s(t.appName))]),s("v-flex",{staticClass:"ma-2",attrs:{xs3:""}},[s("v-select",{attrs:{label:"Select a run (Sorted by inclusive runtime)",items:t.datasets,"menu-props":{maxHeight:"400"},box:""},on:{change:function(e){return t.updateTargetDataset()}},scopedSlots:t._u([{key:"selection",fn:function(e){var s=e.item;return[t._v(" "+t._s(t.datasets.indexOf(s)+1)+". "+t._s(s)+" - "+t._s(t.formatRuntimeWithoutUnits(t.metricTimeMap[s]))+" ")]}},{key:"item",fn:function(e){var s=e.item;return[t._v(" "+t._s(t.datasets.indexOf(s)+1)+". "+t._s(s)+" - "+t._s(t.formatRuntimeWithoutUnits(t.metricTimeMap[s]))+" ")]}}]),model:{value:t.selectedTargetDataset,callback:function(e){t.selectedTargetDataset=e},expression:"selectedTargetDataset"}})],1),s("v-spacer"),s("v-flex",{staticClass:"ma-1",attrs:{xs2:""}},[s("v-select",{attrs:{label:"Graph to visualize",items:t.formats,"menu-props":{maxHeight:"400"},box:""},on:{change:function(e){return t.updateFormat()}},model:{value:t.selectedFormat,callback:function(e){t.selectedFormat=e},expression:"selectedFormat"}})],1)],1),s("v-navigation-drawer",{attrs:{temporary:"",fixed:""},model:{value:t.left,callback:function(e){t.left=e},expression:"left"}},[s("v-btn",{attrs:{slot:"activator",color:"primary",dark:""},slot:"activator"},[t._v("Open Dialog")]),s("v-card",{attrs:{flex:"","fill-height":"",id:"control-panel"}},[s("v-layout",{attrs:{row:"",wrap:""}},[s("v-btn",{attrs:{icon:""}},[s("v-icon",{on:{click:function(e){return t.reset()}}},[t._v("refresh")])],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",{staticClass:"teal lighten-4"},[t._v("Visual Encoding")])],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Metric",items:t.metrics,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateMetric()}},model:{value:t.selectedMetric,callback:function(e){t.selectedMetric=e},expression:"selectedMetric"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Number of bins for MPI Distribution",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateMPIBinCount()}},model:{value:t.selectedMPIBinCount,callback:function(e){t.selectedMPIBinCount=e},expression:"selectedMPIBinCount"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Scale",items:t.scales,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateScale()}},model:{value:t.selectedScale,callback:function(e){t.selectedScale=e},expression:"selectedScale"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",{staticClass:"teal lighten-4"},[t._v("Colors")])],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Runtime Color Map",items:t.runtimeColorMap,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedRuntimeColorMap,callback:function(e){t.selectedRuntimeColorMap=e},expression:"selectedRuntimeColorMap"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Color points (3-9)",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedColorPoint,callback:function(e){t.selectedColorPoint=e},expression:"selectedColorPoint"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Color minimum (in seconds)",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedColorMinText,callback:function(e){t.selectedColorMinText=e},expression:"selectedColorMinText"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Color maximum (in seconds)",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedColorMaxText,callback:function(e){t.selectedColorMaxText=e},expression:"selectedColorMaxText"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",{staticClass:"teal lighten-4"},[t._v("Call site Information")])],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Sort by",items:t.sortByModes,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateRuntimeSortBy()}},model:{value:t.selectedRuntimeSortBy,callback:function(e){t.selectedRuntimeSortBy=e},expression:"selectedRuntimeSortBy"}})],1)],1)],1)],1),"Single"==t.selectedMode?s("v-content",{staticClass:"pt-auto"},[s("v-layout",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}]},[s("splitpanes",{staticClass:"default-theme",attrs:{id:"callgraph-dashboard"}},[s("splitpanes",{attrs:{horizontal:"","splitpanes-size":25}},[s("SingleHistogram",{ref:"SingleHistogram"}),s("SingleScatterplot",{ref:"SingleScatterplot"})],1),s("splitpanes",{attrs:{horizontal:"","splitpanes-size":55}},[s("SuperGraph",{ref:"SingleSuperGraph"})],1),s("splitpanes",{attrs:{horizontal:"","splitpanes-size":20}},[s("CallsiteInformation",{ref:"CallsiteInformation"})],1)],1)],1),s("v-layout",{directives:[{name:"show",rawName:"v-show",value:"CCT"==t.selectedFormat,expression:"selectedFormat == 'CCT'"}]},[s("splitpanes",{attrs:{id:"single-cct-dashboard"}},[s("splitpanes",{attrs:{horizontal:"","splitpanes-size":100}},[s("CCT",{ref:"SingleCCT"})],1)],1)],1)],1):t._e(),s("v-footer",{attrs:{id:"footer",color:"teal",app:""}},[t._v(" Lawrence Livermore National Laboratory and VIDi Labs, University of California, Davis "),s("v-spacer"),s("span",[t._v("© 2020")])],1)],1)},$=[],C=s("5698"),M=s("6149");const _={0:[.31,.48,.65],1:[.94,.56,.22],2:[.87,.35,.36],3:[.47,.72,.7],4:[.36,.63,.32],5:[.93,.78,.33],6:[.69,.48,.63],7:[.99,.62,.66],8:[.61,.46,.38],9:[.73,.69,.67],blue:[.31,.48,.65],orange:[.94,.56,.22],red:[.87,.35,.36],teal:[.47,.72,.7],green:[.36,.63,.32],yellow:[.93,.78,.33],purple:[.69,.48,.63],pink:[.99,.62,.66],brown:[.61,.46,.38],gray:[.73,.69,.67]},T={coolwarm:[[.33479085,.28308437,.75649522],[.33899903,.290177126,.762712568],[.343207654,.297250671,.768868416],[.347417048,.304305324,.774961783],[.351627529,.311341308,.780991701],[.355839407,.31835875,.786957213],[.36005298,.325357701,.792857371],[.364268538,.332338134,.798691243],[.368486361,.339299959,.804457904],[.372706719,.346243025,.810156445],[.376929872,.353167127,.815785967],[.381156069,.360072011,.821345583],[.385385551,.366957379,.826834419],[.389618546,.373822891,.832251614],[.393855272,.380668171,.837596318],[.398095935,.387492809,.842867695],[.402340732,.394296365,.848064921],[.406589846,.401078368,.853187185],[.410843451,.407838324,.85823369],[.415101708,.414575715,.863203651],[.419364766,.42129,.868096298],[.423632761,.42798062,.872910872],[.42790582,.434646997,.877646629],[.432184055,.441288536,.882302838],[.436467566,.447904626,.886878783],[.440756441,.454494645,.891373761],[.445050754,.461057956,.895787081],[.449350569,.46759391,.900118069],[.453655933,.474101849,.904366064],[.457966884,.480581104,.908530419],[.462283444,.487030998,.912610501],[.466605623,.493450846,.916605692],[.470933417,.499839955,.920515388],[.475266811,.506197626,.924339],[.479605773,.512523155,.928075953],[.483950261,.51881583,.931725687],[.488300218,.525074937,.935287658],[.492655572,.531299757,.938761334],[.497016241,.537489567,.9421462],[.501382127,.543643642,.945441756],[.505753118,.549761254,.948647516],[.510129092,.555841671,.951763009],[.514509909,.561884161,.954787781],[.51889542,.56788799,.957721391],[.52328546,.573852423,.960563413],[.527679851,.579776725,.96331344],[.532078401,.58566016,.965971076],[.536480908,.591501991,.968535941],[.540887154,.597301482,.971007674],[.545296909,.603057899,.973385925],[.54970993,.608770507,.975670362],[.554125961,.614438572,.977860667],[.558544733,.620061363,.97995654],[.562965965,.625638149,.981957693],[.567389365,.631168202,.983863856],[.571814625,.636650795,.985674775],[.576241429,.642085204,.987390209],[.580669445,.647470707,.989009935],[.585098332,.652806586,.990533745],[.589527737,.658092124,.991961445],[.593957293,.663326609,.99329286],[.598386625,.668509332,.994527827],[.602815344,.673639585,.995666201],[.607243051,.678716668,.996707851],[.611669336,.683739881,.997652664],[.61609378,.688708529,.998500538],[.620515949,.693621923,.999251393],[.624935404,.698479377,.999905158],[.629351691,.70328021,1.000461782],[.633764351,.708023743,1.000921227],[.63817291,.712709307,1.001283473],[.64257689,.717336232,1.001548513],[.646975798,.721903859,1.001716355],[.651369136,.726411529,1.001787026],[.655756395,.730858592,1.001760564],[.660137059,.735244402,1.001637025],[.664510601,.739568319,1.00141648],[.668876488,.743829708,1.001099013],[.673234178,.74802794,1.000684725],[.67758312,.752162394,1.000173733],[.681922758,.756232453,.999566166],[.686252527,.760237507,.998862171],[.690571854,.764176951,.998061908],[.69488016,.76805019,.997165552],[.699176859,.771856631,.996173293],[.703461358,.775595691,.995085337],[.707733059,.779266794,.993901902],[.711991357,.782869367,.992623222],[.71623564,.786402849,.991249546],[.720465291,.789866684,.989781136],[.724679689,.793260321,.98821827],[.728878207,.79658322,.986561237],[.73306021,.799834846,.984810343],[.737225063,.803014673,.982965908],[.741372122,.806122181,.981028263],[.745500742,.80915686,.978997757],[.749610271,.812118205,.97687475],[.753700055,.81500572,.974659614],[.757769435,.817818918,.972352739],[.76181775,.820557319,.969954524],[.765844332,.823220451,.967465384],[.769848514,.825807851,.964885746],[.773829624,.828319063,.962216051],[.777786987,.83075364,.95945675],[.781719925,.833111145,.956608311],[.78562776,.835391146,.953671211],[.789509808,.837593223,.950645941],[.793365387,.839716962,.947533006],[.79719381,.84176196,.944332919],[.80099439,.843727822,.94104621],[.804766438,.84561416,.937673417],[.808509264,.847420597,.934215092],[.812222176,.849146765,.930671799],[.815904482,.850792304,.927044111],[.81955549,.852356864,.923332614],[.823174505,.853840103,.919537906],[.826760834,.855241688,.915660596],[.830313782,.856561298,.911701301],[.833832656,.857798619,.907660652],[.837316761,.858953345,.903539289],[.840765403,.860025183,.899337864],[.844177889,.861013847,.895057037],[.847553526,.861919061,.89069748],[.850891622,.862740559,.886259872],[.854191486,.863478084,.881744906],[.857452428,.864131388,.877153282],[.860673759,.864700235,.872485708],[.863854792,.865184396,.867742904],[.867330172,.864540194,.862606204],[.871070379,.862768866,.857104915],[.874730228,.860914529,.851568855],[.878309568,.858977443,.845998954],[.881808244,.856957876,.840396142],[.885226105,.854856108,.834761348],[.888562998,.852672423,.829095499],[.89181877,.850407119,.823399519],[.894993269,.848060498,.817674334],[.898086346,.845632873,.811920864],[.901097852,.843124565,.80614003],[.90402764,.840535903,.800332749],[.906875564,.837867225,.794499937],[.909641483,.835118874,.788642506],[.912325257,.832291206,.782761367],[.914926747,.829384579,.776857427],[.917445821,.826399364,.770931591],[.919882348,.823335935,.76498476],[.9222362,.820194675,.759017834],[.924507255,.816975975,.753031706],[.926695392,.813680232,.74702727],[.928800497,.810307851,.741005413],[.930822459,.806859241,.73496702],[.932761172,.803334821,.728912971],[.934616533,.799735013,.722844143],[.936388447,.796060247,.71676141],[.938076822,.792310959,.71066564],[.939681571,.78848759,.704557696],[.941202613,.784590588,.69843844],[.942639873,.780620404,.692308727],[.943993281,.776577495,.686169407],[.945262772,.772462324,.680021326],[.94644829,.768275358,.673865327],[.947549782,.764017068,.667702244],[.948567201,.75968793,.66153291],[.949500509,.755288422,.65535815],[.950349672,.750819028,.649178786],[.951114665,.746280235,.642995633],[.951795465,.741672531,.636809501],[.952392062,.736996408,.630621194],[.952904448,.732252362,.624431512],[.953332623,.727440889,.618241248],[.953676597,.722562488,.612051188],[.953936383,.717617658,.605862116],[.954112003,.7126069,.599674805],[.954203486,.707530716,.593490026],[.95421087,.702389608,.587308543],[.954134199,.697184077,.581131111],[.953973524,.691914624,.574958483],[.953728904,.686581749,.568791403],[.953400406,.68118595,.562630608],[.952988106,.675727722,.556476831],[.952492085,.670207559,.550330796],[.951912435,.664625951,.544193222],[.951249252,.658983382,.538064822],[.950502644,.653280336,.531946299],[.949672726,.647517287,.525838353],[.948759618,.641694704,.519741675],[.947763452,.635813053,.51365695],[.946684367,.629872786,.507584854],[.94552251,.623874352,.50152606],[.944278035,.617818187,.495481231],[.942951107,.611704718,.489451023],[.941541896,.60553436,.483436086],[.940050585,.599307515,.477437063],[.938477361,.593024572,.471454589],[.936822421,.586685904,.465489292],[.935085971,.580291867,.459541794],[.933268225,.573842799,.453612707],[.931369406,.567339019,.44770264],[.929389745,.560780821,.44181219],[.927329482,.554168481,.43594195],[.925188866,.547502243,.430092505],[.922968152,.540782329,.424264432],[.920667608,.534008926,.418458302],[.918287506,.52718219,.412674678],[.915828131,.520302242,.406914115],[.913289773,.513369162,.401177161],[.910672733,.506382987,.395464359],[.90797732,.499343711,.389776241],[.905203852,.492251274,.384113335],[.902352654,.485105562,.37847616],[.899424062,.477906402,.372865229],[.89641842,.470653555,.367281047],[.893336079,.463346707,.361724112],[.890177401,.455985471,.356194915],[.886942755,.448569368,.35069394],[.88363252,.441097828,.345221665],[.880247082,.433570174,.339778559],[.876786838,.425985617,.334365086],[.87325219,.418343238,.328981703],[.869643553,.410641979,.32362886],[.865961348,.402880625,.318306999],[.862206003,.395057791,.313016558],[.858377959,.387171894,.307757966],[.854477661,.379221139,.302531647],[.850505566,.371203487,.29733802],[.846462136,.363116629,.292177494],[.842347845,.354957949,.287050476],[.838163173,.346724482,.281957365],[.83390861,.338412871,.276898554],[.829584652,.330019309,.27187443],[.825191806,.321539471,.266885377],[.820730585,.312968442,.26193177],[.816201511,.304300615,.257013981],[.811605116,.295529586,.252132377],[.806941937,.286648013,.247287319],[.802212521,.277647446,.242479163],[.797417423,.268518124,.237708261],[.792557206,.259248713,.232974961],[.787632439,.249825977,.228279608],[.782643702,.24023436,.223622539],[.77759158,.230455444,.219004091],[.772476668,.220467236,.214424597],[.767299568,.210243209,.209884384],[.762060889,.199751005,.20538378],[.756761248,.188950611,.200923108],[.75140127,.177791763,.196502688],[.745981587,.166210104,.192122839],[.740502838,.154121318,.187783878],[.734965671,.14141175,.183486121],[.729370739,.127922592,.179229881],[.723718704,.113421308,.175015472],[.718010235,.097545076,.170843206],[.712246006,.079673653,.166713395],[.7064267,.058582625,.162626353],[.700553008,.031592475,.158582393],[.694625625,.00296461,.154581828]],viridis:[[.282364553,0,.331010194],[.284420163,0,.337034427],[.286408722,0,.34299986],[.288328018,0,.348901425],[.290179378,.002654874,.35473812],[.291960279,.007927574,.360508963],[.29367257,.013523701,.366210869],[.295314593,.019446928,.371841938],[.296885699,.025709273,.377402605],[.298386438,.032320043,.382889257],[.299815971,.039284989,.388299074],[.301173065,.046263605,.393633812],[.302457462,.052924483,.398887738],[.303669591,.059347679,.404062513],[.304807765,.065576775,.409154501],[.305872694,.071646986,.414162002],[.306863542,.077587483,.419085269],[.307780278,.083417867,.423919761],[.308622494,.08915478,.428667953],[.309390937,.094810863,.433324403],[.310084053,.100399347,.437890473],[.310702155,.105925447,.442362838],[.311245178,.111398995,.446741648],[.31171373,.116826841,.451025994],[.312107495,.122211059,.455213669],[.312426421,.12756,.45930581],[.312671026,.132871715,.463299323],[.312842848,.13815391,.467195234],[.312939857,.143406419,.470990554],[.312964756,.148633022,.474688209],[.312917276,.153833244,.478285325],[.31279806,.159008292,.481781833],[.312607967,.164161309,.485179603],[.312347642,.169291531,.488475883],[.312018787,.174399964,.491673367],[.311623294,.179485609,.494771427],[.311159847,.184551638,.497770623],[.310631264,.189595869,.500670447],[.310038598,.194617768,.503473667],[.309383825,.199620123,.50617997],[.308668394,.204599571,.508789973],[.307893026,.209558887,.511307017],[.30705867,.214494832,.513728818],[.306169637,.219410015,.516060621],[.305226907,.224301183,.518300247],[.304230908,.229169665,.520452297],[.303184327,.23401591,.522516303],[.30208911,.238838555,.52449521],[.300947275,.243638109,.526391045],[.299761321,.248411187,.528204854],[.298533409,.253162399,.529940558],[.297264904,.257887398,.531597292],[.295957559,.262587449,.533178503],[.294613881,.267263788,.534687595],[.293235389,.271914152,.536124789],[.29182587,.276539894,.537493845],[.29038714,.281137685,.538796077],[.288919537,.285713038,.540035142],[.287426163,.290260619,.541210432],[.285909075,.294782589,.542327277],[.284368457,.299280222,.54338595],[.282808854,.30375224,.544389916],[.281231181,.308198925,.545340709],[.279638204,.312619061,.546240852],[.278029366,.317014946,.54709281],[.276408749,.321385415,.547898161],[.2747762,.325731625,.548659129],[.273133607,.330054743,.549376904],[.271483073,.334352558,.550054129],[.269825453,.338628329,.55069316],[.268162615,.3428799,.551295679],[.266495079,.347108488,.551861999],[.264824946,.351315001,.552395838],[.263152656,.355499532,.552898352],[.261479291,.359663188,.553370667],[.2598069,.363804861,.553815549],[.258135127,.367926736,.554233229],[.256465488,.372027779,.554624491],[.254796664,.376110092,.554991545],[.253131545,.380173687,.5553352],[.251468935,.38421961,.555657646],[.249809319,.388246886,.555958715],[.248154519,.392256574,.556239496],[.246502819,.396250722,.556502059],[.244855438,.400228368,.556746262],[.243211275,.404191591,.556972229],[.241572085,.40813939,.557181851],[.239935321,.412073822,.557375231],[.238302445,.415993928,.557553271],[.236672664,.419901774,.557716013],[.235044688,.423797366,.557863499],[.233418402,.42768078,.557996644],[.23179415,.43155403,.558115514],[.23017062,.435415152,.558221055],[.228545837,.439268241,.558311286],[.226921796,.443110292,.558388185],[.225295059,.446944385,.558450748],[.223665357,.450770477,.5585],[.222033173,.454587707,.558533891],[.220395682,.458399026,.558554442],[.218753476,.462202555,.558559625],[.217103794,.466001277,.55854943],[.2154464,.469793276,.55852386],[.213781237,.473579536,.558482909],[.212104356,.477363125,.558424526],[.210416546,.481140084,.558348751],[.208715672,.48491544,.558254507],[.207002655,.488686237,.558142856],[.205274058,.492454453,.558011716],[.203529732,.496219216,.557860134],[.201769075,.499981516,.557687063],[.199990512,.503743321,.557493446],[.198194207,.507501758,.557276358],[.196378932,.511260752,.557037681],[.19454391,.515016431,.556773514],[.192687798,.518772751,.556483695],[.190809699,.522527822,.556167356],[.188910106,.52628262,.555823406],[.186988225,.530037105,.555450744],[.185044047,.533791419,.555048516],[.183076504,.537546494,.554614502],[.181087511,.541301431,.554148901],[.17907907,.54505611,.553651486],[.177048511,.548811719,.553119441],[.174998106,.552566177,.55255165],[.172927152,.556323508,.551946906],[.170840345,.560079758,.551305519],[.168735186,.563836905,.550623112],[.166617897,.56759401,.549902026],[.164486938,.571352034,.549137847],[.162350105,.575110037,.54833296],[.160206983,.57886796,.547482915],[.158062641,.582625896,.54658912],[.15592085,.58638281,.545648332],[.153785246,.590140667,.544660266],[.151663046,.593897574,.543623383],[.149559345,.597654419,.542537144],[.147481636,.601409324,.541399051],[.145437381,.605164162,.540210518],[.14343467,.60891604,.538969112],[.141480867,.61266593,.537672481],[.139587165,.616415793,.536320242],[.137763667,.620161689,.534912064],[.136020919,.623906545,.533446178],[.13437266,.627646426,.531922315],[.132832383,.631384239,.530339651],[.131410838,.635118107,.528695928],[.130125622,.638846942,.526990734],[.128989086,.642572693,.52522357],[.128017628,.646291446,.523393293],[.127225586,.650007125,.521497893],[.126630843,.653714779,.519538336],[.126246801,.657418325,.517512535],[.126089944,.661112834,.515420512],[.126172637,.664801273,.513260659],[.126511086,.668481527,.511032406],[.127114669,.672153753,.508734767],[.127995817,.675817772,.506367566],[.129165005,.679470699,.503930954],[.130626887,.683115418,.501421577],[.132387924,.686749032,.49884169],[.134452914,.690371463,.49618857],[.136822787,.693983608,.493462472],[.13949652,.697582617,.490662686],[.142474978,.7011703,.487788732],[.145750228,.70474282,.484838975],[.149321849,.708302973,.481813842],[.153179377,.711847929,.478713792],[.157318564,.715378589,.475536944],[.161730716,.718893812,.472282406],[.166406002,.722391787,.468951725],[.171338542,.725874284,.465543101],[.17651572,.729337518,.462055133],[.181930053,.732785241,.458487921],[.187571031,.736211639,.454843239],[.193429649,.739619614,.451117964],[.199499186,.743008988,.447313047],[.205767887,.746376001,.443429285],[.212229375,.749723376,.439463504],[.218873428,.753047369,.435417594],[.22569701,.756349669,.431288292],[.232688469,.759628568,.427078537],[.239843791,.7628837,.422786019],[.247153668,.766113396,.418412723],[.254613428,.769318467,.413957329],[.262218889,.772498701,.409418458],[.269962666,.77565145,.404798189],[.277841418,.778778314,.400092862],[.285848026,.781875674,.395303604],[.29398231,.784946086,.39042969],[.302235095,.787985957,.385473325],[.310604419,.790996053,.380432913],[.319087196,.793977129,.375305722],[.327678425,.796925609,.370097109],[.336377071,.799844013,.36480084],[.34517577,.80272881,.359421265],[.354076535,.805582464,.353955096],[.363072889,.808400495,.348402578],[.37216392,.811184613,.342763768],[.381347905,.813934495,.337037614],[.390618224,.816648721,.331226329],[.399976821,.81932765,.325327258],[.409415973,.821969907,.319342572],[.418938096,.824574796,.313270474],[.428536113,.82714301,.307110897],[.438211485,.829672159,.300864482],[.447961789,.832162866,.294529459],[.457781391,.83461486,.288106667],[.467672971,.837028362,.281594598],[.477628958,.839401127,.274993962],[.487651997,.841734348,.268301762],[.497733674,.844025807,.261523769],[.507875022,.846277099,.254656114],[.518075249,.848488769,.247698899],[.528325832,.850658669,.240654148],[.538630828,.852786888,.233517501],[.548980458,.854874335,.226295687],[.559378838,.856921058,.218982461],[.569817428,.858926,.211583929],[.580294553,.860889673,.204097969],[.590811638,.862813564,.196522789],[.601358084,.864696671,.188865211],[.611937091,.866539951,.181121292],[.622540157,.868342445,.173298674],[.633168288,.870107082,.165394846],[.643812988,.87183295,.15741903],[.654472815,.873520492,.149372194],[.665146187,.875172136,.141258413],[.675825719,.87678702,.133091913],[.686511527,.878367982,.12487704],[.697194143,.879914204,.116633111],[.707874818,.881428483,.108373929],[.718543932,.882912056,.100128072],[.729204,.884365666,.091925366],[.739843331,.885790592,.083809287],[.750462567,.887190215,.075839053],[.761059494,.888563872,.068090072],[.771623442,.889914889,.060669955],[.782157864,.891244958,.053711966],[.792653349,.892555409,.047401118],[.803110167,.893848926,.04195436],[.81352,.895126859,.03764563],[.823881496,.896391553,.034852646],[.834195319,.897645338,.033642701],[.844452225,.898889585,.034045498],[.854655562,.900125934,.036085859],[.864796013,.901357784,.039789107],[.874876944,.902585761,.044954025],[.884885947,.903815287,.051230115],[.894826973,.905044656,.058381191],[.90470253,.906278205,.066205641],[.91450577,.907515306,.074534887],[.924239732,.908759607,.083251002],[.933898589,.910011479,.092251508],[.943486439,.911272564,.101473717],[.952999453,.912545233,.110858769]],inferno:[[.002810891,239715e-9,.013984976],[.004019847,978214e-9,.018722507],[.005535928,.00187858,.024433316],[.007352275,.002928594,.031151042],[.009463158,.004122023,.038856908],[.011875164,.00544392,.047160074],[.014598821,.006882989,.05549261],[.017636359,.008432151,.063833581],[.021017968,.010065827,.072260641],[.024743935,.011784159,.080708378],[.028837804,.013566889,.089219815],[.033326247,.015396259,.097809251],[.038216424,.017268324,.106440143],[.043430971,.019154971,.115162139],[.048693764,.021040888,.123967748],[.054003412,.022919329,.132833018],[.05937446,.024767653,.141775321],[.064826084,.026549139,.150830309],[.070349827,.028263587,.159955322],[.075950411,.029888422,.169148722],[.081637827,.031404016,.17841319],[.087425459,.032773279,.187768133],[.093315577,.033979154,.197195807],[.099307652,.035007297,.206679544],[.105402262,.035836467,.216206467],[.11160571,.036444525,.225770396],[.117916762,.036813662,.235353395],[.124336908,.036927557,.244940257],[.130861794,.036773825,.254505012],[.137489231,.036346007,.264028401],[.144209431,.035642023,.273476467],[.151015433,.034667062,.28281847],[.157897349,.03343447,.292023612],[.164837843,.031964803,.301050012],[.171827177,.030285889,.309867094],[.178846632,.028428459,.318436221],[.185883931,.026431189,.326727546],[.192913861,.024349971,.334701716],[.199922206,.022233669,.342332673],[.206896794,.020130048,.349604188],[.213821188,.018085948,.356495421],[.220686239,.01614765,.36300284],[.227481223,.014355535,.369119105],[.234203612,.012742013,.374850293],[.240846275,.011335284,.380200563],[.247409605,.010157358,.385183383],[.25389244,.00922676,.389814002],[.260296425,.008548931,.394106082],[.26662827,.008128897,.398079916],[.272888184,.007967771,.401752554],[.279082984,.008062521,.405141928],[.285215144,.008411444,.408265426],[.291290587,.009006962,.411140969],[.297313415,.009846182,.41378732],[.303287625,.010914426,.416217169],[.309220747,.012204296,.418446847],[.31511472,.013704677,.420488274],[.320976396,.015407335,.422354544],[.32680655,.017302461,.42405678],[.33261022,.019380479,.425606502],[.33839282,.021633451,.427012121],[.344153787,.024052574,.428282941],[.349898892,.026629309,.429426665],[.35562785,.029355256,.43044874],[.361346591,.032224413,.431358727],[.367053482,.035230654,.432159193],[.372752567,.038365761,.4328564],[.3784468,.041595697,.433455535],[.384135533,.044788621,.433960296],[.389822923,.047944779,.434373977],[.395506485,.051063276,.434700381],[.401189511,.054146112,.434943693],[.4068728,.057192222,.435104814],[.412556166,.060199931,.435185819],[.418243957,.063171283,.435188731],[.423933314,.06610722,.435114544],[.429627404,.069008639,.434966249],[.435324174,.071876171,.434743925],[.441027491,.074713043,.43444847],[.446733669,.077518064,.434082054],[.452446383,.080294305,.433643485],[.458162952,.083041445,.433136016],[.463885774,.085763765,.432560539],[.469615152,.088460854,.431914896],[.475348183,.09113465,.431200416],[.481089526,.093787482,.430415748],[.486835457,.096418645,.429563306],[.49258791,.099031404,.428642651],[.498344739,.101627493,.427653271],[.504107463,.104208064,.426595937],[.50987656,.106775461,.425470369],[.515649029,.109331131,.424277141],[.521426769,.111875723,.423014653],[.527208676,.114410574,.421683562],[.532994806,.116939588,.42028318],[.538784144,.119462794,.418815247],[.544575216,.121981175,.417278404],[.550371412,.124498872,.415673254],[.556167707,.127014924,.41399861],[.561966129,.129532943,.412254628],[.567764629,.132053983,.410442205],[.573565191,.134579443,.408560423],[.579363842,.137111442,.40661025],[.585160178,.139651746,.404592207],[.590957491,.142202192,.40250478],[.596749843,.144763781,.400348019],[.602540203,.147339963,.398121837],[.608324672,.149931559,.395828373],[.614106177,.152539886,.393466468],[.619878803,.155167953,.39103732],[.62564502,.157816339,.388541343],[.631405276,.16048786,.385977888],[.637153672,.163184363,.383348244],[.642895026,.165908225,.380651089],[.648622504,.168659106,.377887791],[.654340024,.171441466,.375058945],[.660042722,.174255929,.372166993],[.665730985,.17710425,.369210216],[.671404338,.179990219,.366189835],[.677058916,.182912273,.363108386],[.682697502,.185876068,.359964293],[.688315275,.188880002,.356760156],[.693913094,.19192974,.353495316],[.699488019,.195022636,.350170452],[.705038579,.198163531,.346787702],[.710566106,.20135422,.343346184],[.716066836,.204595038,.339850629],[.721539555,.207888681,.336298229],[.726982448,.21123646,.332693775],[.73239625,.214641094,.329035403],[.737776233,.2181018,.325326951],[.743124048,.221622403,.32156649],[.748435031,.225202042,.317758905],[.75370943,.228844711,.313903188],[.75894657,.232551318,.309999301],[.764142757,.236320958,.306051185],[.769298574,.240158638,.302057753],[.774410361,.24406134,.298021999],[.77947869,.248033102,.293943781],[.784498961,.252072896,.289827098],[.789472323,.256183813,.28567083],[.794397096,.260364835,.281476823],[.799269603,.264617985,.277247087],[.804091318,.26894337,.27298138],[.808857686,.273339856,.26868175],[.813569116,.277811732,.264349842],[.818223052,.282355751,.259985752],[.822818703,.286973061,.255592213],[.82735609,.291664924,.251166929],[.831830811,.296431042,.246713936],[.836244108,.301270823,.242231798],[.840591599,.306183914,.237722542],[.844875422,.311171845,.23318565],[.849092282,.316232129,.228623159],[.853241223,.321365084,.224035636],[.857322167,.326571094,.21942059],[.861331902,.331848603,.21478101],[.865271396,.337198333,.210114175],[.869138558,.342616591,.205424062],[.872933212,.34810625,.200705817],[.876653352,.353663534,.195963343],[.88029782,.359288934,.191192908],[.883868435,.364982926,.18639468],[.887360283,.37074069,.181568458],[.890776984,.376566224,.176712017],[.894114775,.382452576,.171827069],[.897374185,.388403856,.166908161],[.900554463,.39441505,.161956811],[.903654355,.400486745,.156970616],[.90667454,.406618534,.151946006],[.909613336,.41280737,.146884076],[.91247216,.419054438,.141779605],[.915247473,.425354607,.136631311],[.917941576,.431711138,.13143639],[.920553003,.438118822,.126193019],[.92308235,.444578324,.12089804],[.925528158,.451090351,.115545644],[.927890089,.457649617,.11013577],[.930168274,.464258499,.104662026],[.932363432,.470912662,.099122862],[.934473651,.477613532,.093511016],[.936498751,.484357723,.087826678],[.93844068,.491146702,.082060883],[.940296388,.497977037,.076213354],[.942067334,.504847466,.070277474],[.943752836,.511760795,.06424713],[.945353009,.518710501,.058120676],[.946867593,.525700159,.051891455],[.948295769,.532725216,.04556084],[.949638198,.53978828,.039112476],[.950894169,.546884747,.032903658],[.952063015,.55401443,.027232246],[.953145915,.561180175,.0221163],[.954141311,.568376334,.017577226],[.955049698,.575605576,.01363671],[.955869597,.582863221,.010318691],[.956603366,.590152978,.007647565],[.957247693,.597469118,.005653645],[.957804685,.604814517,.004365192],[.958272553,.612188026,.003815359],[.958651994,.619586903,.004038404],[.958943236,.627013907,.005072597],[.959145208,.63446323,.00695773],[.95925702,.641938676,.009736864],[.959279647,.649436413,.013456641],[.959213225,.656956325,.018166728],[.959055721,.664501335,.023921376],[.958809389,.672064551,.030777952],[.958472175,.679649817,.038798466],[.958045344,.687253245,.047545867],[.957527869,.694876673,.05639001],[.956920137,.702516187,.065327227],[.956222221,.710172696,.074362977],[.955435128,.717847108,.083500802],[.954558502,.725534474,.092742519],[.953590125,.733238676,.102098349],[.952533796,.740954728,.111570461],[.95138945,.748682482,.121171091],[.950157939,.756419958,.130904998],[.948841532,.764165035,.140781309],[.947441335,.771919616,.150814361],[.945959663,.779676661,.161005763],[.944398407,.787439028,.171373044],[.942762103,.795200653,.181921587],[.941049699,.802964391,.192669999],[.939264076,.810723142,.203627758],[.937415841,.818475746,.214804757],[.935510862,.826217989,.226217167],[.933559455,.833942752,.237872127],[.93156307,.8416528,.249795364],[.929529596,.849338965,.262001658],[.927483114,.856994896,.274501251],[.925440807,.864610442,.287299789],[.923403333,.872186154,.300442835],[.921409474,.879705858,.31392195],[.919490918,.887156115,.327744186],[.917656842,.894536376,.341960845],[.915969564,.901820516,.35653516],[.914460404,.908999767,.37149754],[.913185926,.916052067,.386828249],[.912202301,.922961588,.402519028],[.911571271,.929705491,.418535415],[.911358961,.936266305,.434834633],[.911626842,.942626533,.451364946],[.912435288,.948769029,.468038546],[.913828005,.954687153,.484787691],[.915840127,.960372411,.501502204],[.91848121,.965832199,.51812067],[.921749977,.971070576,.534539304],[.925624725,.976102635,.550702793],[.930072492,.980946133,.566595441],[.9350529,.985618856,.58210261],[.940520965,.990140356,.597269626],[.946429162,.994525842,.612080146],[.952736995,.998796066,.626535043],[.959399507,1.002963285,.640626478]],cividis:[[0,.1262,.3015],[0,.1292,.3077],[0,.1321,.3142],[0,.135,.3205],[0,.1379,.3269],[0,.1408,.3334],[0,.1437,.34],[0,.1465,.3467],[0,.1492,.3537],[0,.1519,.3606],[0,.1546,.3676],[0,.1574,.3746],[0,.1601,.3817],[0,.1629,.3888],[0,.1657,.396],[0,.1685,.4031],[0,.1714,.4102],[0,.1743,.4172],[0,.1773,.4241],[0,.1798,.4307],[0,.1817,.4347],[0,.1834,.4363],[0,.1852,.4368],[0,.1872,.4368],[0,.1901,.4365],[0,.193,.4361],[0,.1958,.4356],[0,.1987,.4349],[0,.2015,.4343],[0,.2044,.4336],[0,.2073,.4329],[.0055,.2101,.4322],[.0236,.213,.4314],[.0416,.2158,.4308],[.0576,.2187,.4301],[.071,.2215,.4293],[.0827,.2244,.4287],[.0932,.2272,.428],[.103,.23,.4274],[.112,.2329,.4268],[.1204,.2357,.4262],[.1283,.2385,.4256],[.1359,.2414,.4251],[.1431,.2442,.4245],[.15,.247,.4241],[.1566,.2498,.4236],[.163,.2526,.4232],[.1692,.2555,.4228],[.1752,.2583,.4224],[.1811,.2611,.422],[.1868,.2639,.4217],[.1923,.2667,.4214],[.1977,.2695,.4212],[.203,.2723,.4209],[.2082,.2751,.4207],[.2133,.278,.4205],[.2183,.2808,.4204],[.2232,.2836,.4203],[.2281,.2864,.4202],[.2328,.2892,.4201],[.2375,.292,.42],[.2421,.2948,.42],[.2466,.2976,.42],[.2511,.3004,.4201],[.2556,.3032,.4201],[.2599,.306,.4202],[.2643,.3088,.4203],[.2686,.3116,.4205],[.2728,.3144,.4206],[.277,.3172,.4208],[.2811,.32,.421],[.2853,.3228,.4212],[.2894,.3256,.4215],[.2934,.3284,.4218],[.2974,.3312,.4221],[.3014,.334,.4224],[.3054,.3368,.4227],[.3093,.3396,.4231],[.3132,.3424,.4236],[.317,.3453,.424],[.3209,.3481,.4244],[.3247,.3509,.4249],[.3285,.3537,.4254],[.3323,.3565,.4259],[.3361,.3593,.4264],[.3398,.3622,.427],[.3435,.365,.4276],[.3472,.3678,.4282],[.3509,.3706,.4288],[.3546,.3734,.4294],[.3582,.3763,.4302],[.3619,.3791,.4308],[.3655,.3819,.4316],[.3691,.3848,.4322],[.3727,.3876,.4331],[.3763,.3904,.4338],[.3798,.3933,.4346],[.3834,.3961,.4355],[.3869,.399,.4364],[.3905,.4018,.4372],[.394,.4047,.4381],[.3975,.4075,.439],[.401,.4104,.44],[.4045,.4132,.4409],[.408,.4161,.4419],[.4114,.4189,.443],[.4149,.4218,.444],[.4183,.4247,.445],[.4218,.4275,.4462],[.4252,.4304,.4473],[.4286,.4333,.4485],[.432,.4362,.4496],[.4354,.439,.4508],[.4388,.4419,.4521],[.4422,.4448,.4534],[.4456,.4477,.4547],[.4489,.4506,.4561],[.4523,.4535,.4575],[.4556,.4564,.4589],[.4589,.4593,.4604],[.4622,.4622,.462],[.4656,.4651,.4635],[.4689,.468,.465],[.4722,.4709,.4665],[.4756,.4738,.4679],[.479,.4767,.4691],[.4825,.4797,.4701],[.4861,.4826,.4707],[.4897,.4856,.4714],[.4934,.4886,.4719],[.4971,.4915,.4723],[.5008,.4945,.4727],[.5045,.4975,.473],[.5083,.5005,.4732],[.5121,.5035,.4734],[.5158,.5065,.4736],[.5196,.5095,.4737],[.5234,.5125,.4738],[.5272,.5155,.4739],[.531,.5186,.4739],[.5349,.5216,.4738],[.5387,.5246,.4739],[.5425,.5277,.4738],[.5464,.5307,.4736],[.5502,.5338,.4735],[.5541,.5368,.4733],[.5579,.5399,.4732],[.5618,.543,.4729],[.5657,.5461,.4727],[.5696,.5491,.4723],[.5735,.5522,.472],[.5774,.5553,.4717],[.5813,.5584,.4714],[.5852,.5615,.4709],[.5892,.5646,.4705],[.5931,.5678,.4701],[.597,.5709,.4696],[.601,.574,.4691],[.605,.5772,.4685],[.6089,.5803,.468],[.6129,.5835,.4673],[.6168,.5866,.4668],[.6208,.5898,.4662],[.6248,.5929,.4655],[.6288,.5961,.4649],[.6328,.5993,.4641],[.6368,.6025,.4632],[.6408,.6057,.4625],[.6449,.6089,.4617],[.6489,.6121,.4609],[.6529,.6153,.46],[.657,.6185,.4591],[.661,.6217,.4583],[.6651,.625,.4573],[.6691,.6282,.4562],[.6732,.6315,.4553],[.6773,.6347,.4543],[.6813,.638,.4532],[.6854,.6412,.4521],[.6895,.6445,.4511],[.6936,.6478,.4499],[.6977,.6511,.4487],[.7018,.6544,.4475],[.706,.6577,.4463],[.7101,.661,.445],[.7142,.6643,.4437],[.7184,.6676,.4424],[.7225,.671,.4409],[.7267,.6743,.4396],[.7308,.6776,.4382],[.735,.681,.4368],[.7392,.6844,.4352],[.7434,.6877,.4338],[.7476,.6911,.4322],[.7518,.6945,.4307],[.756,.6979,.429],[.7602,.7013,.4273],[.7644,.7047,.4258],[.7686,.7081,.4241],[.7729,.7115,.4223],[.7771,.715,.4205],[.7814,.7184,.4188],[.7856,.7218,.4168],[.7899,.7253,.415],[.7942,.7288,.4129],[.7985,.7322,.4111],[.8027,.7357,.409],[.807,.7392,.407],[.8114,.7427,.4049],[.8157,.7462,.4028],[.82,.7497,.4007],[.8243,.7532,.3984],[.8287,.7568,.3961],[.833,.7603,.3938],[.8374,.7639,.3915],[.8417,.7674,.3892],[.8461,.771,.3869],[.8505,.7745,.3843],[.8548,.7781,.3818],[.8592,.7817,.3793],[.8636,.7853,.3766],[.8681,.7889,.3739],[.8725,.7926,.3712],[.8769,.7962,.3684],[.8813,.7998,.3657],[.8858,.8035,.3627],[.8902,.8071,.3599],[.8947,.8108,.3569],[.8992,.8145,.3538],[.9037,.8182,.3507],[.9082,.8219,.3474],[.9127,.8256,.3442],[.9172,.8293,.3409],[.9217,.833,.3374],[.9262,.8367,.334],[.9308,.8405,.3306],[.9353,.8442,.3268],[.9399,.848,.3232],[.9444,.8518,.3195],[.949,.8556,.3155],[.9536,.8593,.3116],[.9582,.8632,.3076],[.9628,.867,.3034],[.9674,.8708,.299],[.9721,.8746,.2947],[.9767,.8785,.2901],[.9814,.8823,.2856],[.986,.8862,.2807],[.9907,.8901,.2759],[.9954,.894,.2708],[1,.8979,.2655],[1,.9018,.26],[1,.9057,.2593],[1,.9094,.2634],[1,.9131,.268],[1,.9169,.2731]],green:[[.9686274509803922,.9882352941176471,.9607843137254902],[.9647058823529412,.9882352941176471,.9568627450980393],[.9647058823529412,.9882352941176471,.9568627450980393],[.9607843137254902,.984313725490196,.9529411764705882],[.9607843137254902,.984313725490196,.9490196078431372],[.9568627450980393,.984313725490196,.9490196078431372],[.9568627450980393,.984313725490196,.9450980392156862],[.9529411764705882,.9803921568627451,.9411764705882353],[.9490196078431372,.9803921568627451,.9411764705882353],[.9490196078431372,.9803921568627451,.9372549019607843],[.9450980392156862,.9803921568627451,.9333333333333333],[.9450980392156862,.9803921568627451,.9333333333333333],[.9411764705882353,.9764705882352941,.9294117647058824],[.9411764705882353,.9764705882352941,.9254901960784314],[.9372549019607843,.9764705882352941,.9254901960784314],[.9333333333333333,.9764705882352941,.9215686274509803],[.9333333333333333,.9725490196078431,.9176470588235294],[.9294117647058824,.9725490196078431,.9176470588235294],[.9254901960784314,.9725490196078431,.9137254901960784],[.9254901960784314,.9725490196078431,.9098039215686274],[.9215686274509803,.9686274509803922,.9058823529411765],[.9215686274509803,.9686274509803922,.9058823529411765],[.9176470588235294,.9686274509803922,.9019607843137255],[.9137254901960784,.9686274509803922,.8980392156862745],[.9137254901960784,.9647058823529412,.8941176470588236],[.9098039215686274,.9647058823529412,.8941176470588236],[.9058823529411765,.9647058823529412,.8901960784313725],[.9058823529411765,.9647058823529412,.8862745098039215],[.9019607843137255,.9607843137254902,.8823529411764706],[.8980392156862745,.9607843137254902,.8823529411764706],[.8941176470588236,.9607843137254902,.8784313725490196],[.8941176470588236,.9568627450980393,.8745098039215686],[.8901960784313725,.9568627450980393,.8705882352941177],[.8862745098039215,.9568627450980393,.8666666666666667],[.8823529411764706,.9568627450980393,.8627450980392157],[.8823529411764706,.9529411764705882,.8627450980392157],[.8784313725490196,.9529411764705882,.8588235294117647],[.8745098039215686,.9529411764705882,.8549019607843137],[.8705882352941177,.9490196078431372,.8509803921568627],[.8666666666666667,.9490196078431372,.8470588235294118],[.8666666666666667,.9490196078431372,.8431372549019608],[.8627450980392157,.9450980392156862,.8392156862745098],[.8588235294117647,.9450980392156862,.8352941176470589],[.8549019607843137,.9450980392156862,.8313725490196079],[.8509803921568627,.9411764705882353,.8274509803921568],[.8470588235294118,.9411764705882353,.8235294117647058],[.8431372549019608,.9372549019607843,.8196078431372549],[.8392156862745098,.9372549019607843,.8156862745098039],[.8352941176470589,.9372549019607843,.8117647058823529],[.8313725490196079,.9333333333333333,.807843137254902],[.8313725490196079,.9333333333333333,.807843137254902],[.8274509803921568,.9333333333333333,.803921568627451],[.8235294117647058,.9294117647058824,.796078431372549],[.8196078431372549,.9294117647058824,.792156862745098],[.8156862745098039,.9254901960784314,.788235294117647],[.8117647058823529,.9254901960784314,.7843137254901961],[.807843137254902,.9254901960784314,.7803921568627451],[.803921568627451,.9215686274509803,.7764705882352941],[.8,.9215686274509803,.7725490196078432],[.796078431372549,.9176470588235294,.7686274509803922],[.792156862745098,.9176470588235294,.7647058823529411],[.788235294117647,.9176470588235294,.7607843137254902],[.7843137254901961,.9137254901960784,.7568627450980392],[.7764705882352941,.9137254901960784,.7529411764705882],[.7725490196078432,.9098039215686274,.7490196078431373],[.7686274509803922,.9098039215686274,.7450980392156863],[.7647058823529411,.9058823529411765,.7411764705882353],[.7607843137254902,.9058823529411765,.7372549019607844],[.7568627450980392,.9019607843137255,.7333333333333333],[.7529411764705882,.9019607843137255,.7254901960784313],[.7490196078431373,.9019607843137255,.7215686274509804],[.7450980392156863,.8980392156862745,.7176470588235294],[.7411764705882353,.8980392156862745,.7137254901960784],[.7333333333333333,.8941176470588236,.7098039215686275],[.7294117647058823,.8941176470588236,.7058823529411765],[.7254901960784313,.8901960784313725,.7019607843137254],[.7215686274509804,.8901960784313725,.6980392156862745],[.7176470588235294,.8862745098039215,.6901960784313725],[.7137254901960784,.8862745098039215,.6862745098039216],[.7098039215686275,.8823529411764706,.6823529411764706],[.7019607843137254,.8823529411764706,.6784313725490196],[.6980392156862745,.8784313725490196,.6745098039215687],[.6941176470588235,.8784313725490196,.6705882352941176],[.6901960784313725,.8745098039215686,.6666666666666666],[.6823529411764706,.8745098039215686,.6588235294117647],[.6784313725490196,.8705882352941177,.6549019607843137],[.6745098039215687,.8705882352941177,.6509803921568628],[.6705882352941176,.8666666666666667,.6470588235294118],[.6666666666666666,.8627450980392157,.6431372549019608],[.6588235294117647,.8627450980392157,.6392156862745098],[.6549019607843137,.8588235294117647,.6352941176470588],[.6509803921568628,.8588235294117647,.6274509803921569],[.6470588235294118,.8549019607843137,.6235294117647059],[.6392156862745098,.8549019607843137,.6196078431372549],[.6352941176470588,.8509803921568627,.615686274509804],[.6313725490196078,.8509803921568627,.611764705882353],[.6235294117647059,.8470588235294118,.6078431372549019],[.6196078431372549,.8431372549019608,.6],[.615686274509804,.8431372549019608,.596078431372549],[.6078431372549019,.8392156862745098,.592156862745098],[.6039215686274509,.8392156862745098,.5882352941176471],[.6,.8352941176470589,.5843137254901961],[.592156862745098,.8313725490196079,.5803921568627451],[.5882352941176471,.8313725490196079,.5725490196078431],[.5843137254901961,.8274509803921568,.5686274509803921],[.5764705882352941,.8274509803921568,.5647058823529412],[.5725490196078431,.8235294117647058,.5607843137254902],[.5686274509803921,.8196078431372549,.5568627450980392],[.5607843137254902,.8196078431372549,.5529411764705883],[.5568627450980392,.8156862745098039,.5490196078431373],[.5490196078431373,.8117647058823529,.5411764705882353],[.5450980392156862,.8117647058823529,.5372549019607843],[.5411764705882353,.807843137254902,.5333333333333333],[.5333333333333333,.803921568627451,.5294117647058824],[.5294117647058824,.803921568627451,.5254901960784314],[.5215686274509804,.8,.5215686274509804],[.5176470588235295,.796078431372549,.5176470588235295],[.5098039215686274,.796078431372549,.5137254901960784],[.5058823529411764,.792156862745098,.5098039215686274],[.5019607843137255,.788235294117647,.5058823529411764],[.49411764705882355,.788235294117647,.5019607843137255],[.49019607843137253,.7843137254901961,.4980392156862745],[.4823529411764706,.7803921568627451,.49411764705882355],[.47843137254901963,.7803921568627451,.48627450980392156],[.47058823529411764,.7764705882352941,.4823529411764706],[.4666666666666667,.7725490196078432,.47843137254901963],[.4588235294117647,.7686274509803922,.4745098039215686],[.4549019607843137,.7686274509803922,.47058823529411764],[.4470588235294118,.7647058823529411,.47058823529411764],[.44313725490196076,.7607843137254902,.4666666666666667],[.43529411764705883,.7607843137254902,.4627450980392157],[.43137254901960786,.7568627450980392,.4588235294117647],[.4235294117647059,.7529411764705882,.4549019607843137],[.4196078431372549,.7490196078431373,.45098039215686275],[.4117647058823529,.7490196078431373,.4470588235294118],[.40784313725490196,.7450980392156863,.44313725490196076],[.4,.7411764705882353,.4392156862745098],[.396078431372549,.7372549019607844,.43529411764705883],[.38823529411764707,.7372549019607844,.43137254901960786],[.3843137254901961,.7333333333333333,.43137254901960786],[.3764705882352941,.7294117647058823,.42745098039215684],[.3686274509803922,.7254901960784313,.4235294117647059],[.36470588235294116,.7215686274509804,.4196078431372549],[.3568627450980392,.7215686274509804,.41568627450980394],[.35294117647058826,.7176470588235294,.4117647058823529],[.34509803921568627,.7137254901960784,.40784313725490196],[.3411764705882353,.7098039215686275,.40784313725490196],[.33725490196078434,.7058823529411765,.403921568627451],[.32941176470588235,.7058823529411765,.4],[.3254901960784314,.7019607843137254,.396078431372549],[.3176470588235294,.6980392156862745,.39215686274509803],[.3137254901960784,.6941176470588235,.39215686274509803],[.3058823529411765,.6901960784313725,.38823529411764707],[.30196078431372547,.6862745098039216,.3843137254901961],[.2980392156862745,.6862745098039216,.3803921568627451],[.2901960784313726,.6823529411764706,.3803921568627451],[.28627450980392155,.6784313725490196,.3764705882352941],[.2823529411764706,.6745098039215687,.37254901960784315],[.27450980392156865,.6705882352941176,.3686274509803922],[.27058823529411763,.6666666666666666,.36470588235294116],[.26666666666666666,.6627450980392157,.36470588235294116],[.25882352941176473,.6588235294117647,.3607843137254902],[.2549019607843137,.6549019607843137,.3568627450980392],[.25098039215686274,.6549019607843137,.35294117647058826],[.24705882352941178,.6509803921568628,.35294117647058826],[.24313725490196078,.6470588235294118,.34901960784313724],[.23529411764705882,.6431372549019608,.34509803921568627],[.23137254901960785,.6392156862745098,.3411764705882353],[.22745098039215686,.6352941176470588,.3411764705882353],[.2235294117647059,.6313725490196078,.33725490196078434],[.2196078431372549,.6274509803921569,.3333333333333333],[.21568627450980393,.6235294117647059,.32941176470588235],[.21176470588235294,.6196078431372549,.32941176470588235],[.20784313725490197,.615686274509804,.3254901960784314],[.20392156862745098,.611764705882353,.3215686274509804],[.2,.6078431372549019,.3176470588235294],[.19607843137254902,.6039215686274509,.3137254901960784],[.19215686274509805,.6,.3137254901960784],[.18823529411764706,.596078431372549,.30980392156862746],[.1843137254901961,.592156862745098,.3058823529411765],[.1803921568627451,.5882352941176471,.30196078431372547],[.17647058823529413,.5843137254901961,.30196078431372547],[.16862745098039217,.5803921568627451,.2980392156862745],[.16470588235294117,.5764705882352941,.29411764705882354],[.1607843137254902,.5725490196078431,.2901960784313726],[.1568627450980392,.5686274509803921,.2901960784313726],[.15294117647058825,.5647058823529412,.28627450980392155],[.14901960784313725,.5607843137254902,.2823529411764706],[.1450980392156863,.5607843137254902,.2784313725490196],[.1411764705882353,.5568627450980392,.2784313725490196],[.13725490196078433,.5529411764705883,.27450980392156865],[.13333333333333333,.5490196078431373,.27058823529411763],[.12941176470588237,.5450980392156862,.26666666666666666],[.12549019607843137,.5411764705882353,.2627450980392157],[.12156862745098039,.5372549019607843,.2627450980392157],[.11764705882352941,.5333333333333333,.25882352941176473],[.11372549019607843,.5294117647058824,.2549019607843137],[.10980392156862745,.5254901960784314,.25098039215686274],[.10588235294117647,.5215686274509804,.25098039215686274],[.10196078431372549,.5176470588235295,.24705882352941178],[.09803921568627451,.5137254901960784,.24313725490196078],[.09411764705882353,.5098039215686274,.23921568627450981],[.09019607843137255,.5058823529411764,.23921568627450981],[.08627450980392157,.5019607843137255,.23529411764705882],[.08235294117647059,.4980392156862745,.23137254901960785],[.0784313725490196,.49411764705882355,.22745098039215686],[.07450980392156863,.49019607843137253,.22745098039215686],[.07058823529411765,.48627450980392156,.2235294117647059],[.06666666666666667,.4823529411764706,.2196078431372549],[.06274509803921569,.47843137254901963,.21568627450980393],[.06274509803921569,.4745098039215686,.21568627450980393],[.058823529411764705,.47058823529411764,.21176470588235294],[.054901960784313725,.4666666666666667,.20784313725490197],[.050980392156862744,.4627450980392157,.20392156862745098],[.047058823529411764,.4588235294117647,.20392156862745098],[.043137254901960784,.4549019607843137,.2],[.043137254901960784,.45098039215686275,.19607843137254902],[.0392156862745098,.4470588235294118,.19607843137254902],[.03529411764705882,.44313725490196076,.19215686274509805],[.03137254901960784,.4392156862745098,.18823529411764706],[.03137254901960784,.43529411764705883,.1843137254901961],[.027450980392156862,.43137254901960786,.1843137254901961],[.023529411764705882,.4235294117647059,.1803921568627451],[.023529411764705882,.4196078431372549,.17647058823529413],[.0196078431372549,.41568627450980394,.17647058823529413],[.0196078431372549,.4117647058823529,.17254901960784313],[.01568627450980392,.40784313725490196,.16862745098039217],[.01568627450980392,.403921568627451,.16862745098039217],[.01568627450980392,.4,.16470588235294117],[.011764705882352941,.39215686274509803,.16470588235294117],[.011764705882352941,.38823529411764707,.1607843137254902],[.00784313725490196,.3843137254901961,.1568627450980392],[.00784313725490196,.3803921568627451,.1568627450980392],[.00784313725490196,.3764705882352941,.15294117647058825],[.00784313725490196,.3686274509803922,.15294117647058825],[.00392156862745098,.36470588235294116,.14901960784313725],[.00392156862745098,.3607843137254902,.1450980392156863],[.00392156862745098,.3568627450980392,.1450980392156863],[.00392156862745098,.35294117647058826,.1411764705882353],[.00392156862745098,.34509803921568627,.1411764705882353],[.00392156862745098,.3411764705882353,.13725490196078433],[0,.33725490196078434,.13725490196078433],[0,.3333333333333333,.13333333333333333],[0,.3254901960784314,.12941176470588237],[0,.3215686274509804,.12941176470588237],[0,.3176470588235294,.12549019607843137],[0,.3137254901960784,.12549019607843137],[0,.3058823529411765,.12156862745098039],[0,.30196078431372547,.12156862745098039],[0,.2980392156862745,.11764705882352941],[0,.2901960784313726,.11764705882352941],[0,.28627450980392155,.11372549019607843],[0,.2823529411764706,.11372549019607843],[0,.2784313725490196,.10980392156862745],[0,.27058823529411763,.10980392156862745],[0,.26666666666666666,.10588235294117647]],orange:[[1,.9607843137254902,.9215686274509803],[1,.9607843137254902,.9176470588235294],[1,.9568627450980393,.9137254901960784],[1,.9568627450980393,.9098039215686274],[1,.9529411764705882,.9058823529411765],[1,.9529411764705882,.9019607843137255],[1,.9490196078431372,.9019607843137255],[1,.9490196078431372,.8980392156862745],[1,.9450980392156862,.8941176470588236],[1,.9450980392156862,.8901960784313725],[1,.9411764705882353,.8862745098039215],[1,.9411764705882353,.8823529411764706],[1,.9372549019607843,.8784313725490196],[1,.9372549019607843,.8745098039215686],[1,.9333333333333333,.8705882352941177],[1,.9333333333333333,.8666666666666667],[.996078431372549,.9294117647058824,.8627450980392157],[.996078431372549,.9294117647058824,.8588235294117647],[.996078431372549,.9254901960784314,.8549019607843137],[.996078431372549,.9254901960784314,.8509803921568627],[.996078431372549,.9215686274509803,.8470588235294118],[.996078431372549,.9215686274509803,.8431372549019608],[.996078431372549,.9176470588235294,.8392156862745098],[.996078431372549,.9176470588235294,.8352941176470589],[.996078431372549,.9137254901960784,.8313725490196079],[.996078431372549,.9137254901960784,.8274509803921568],[.996078431372549,.9098039215686274,.8235294117647058],[.996078431372549,.9098039215686274,.8196078431372549],[.996078431372549,.9058823529411765,.8156862745098039],[.996078431372549,.9019607843137255,.8117647058823529],[.996078431372549,.9019607843137255,.807843137254902],[.996078431372549,.8980392156862745,.8],[.996078431372549,.8980392156862745,.796078431372549],[.996078431372549,.8941176470588236,.792156862745098],[.996078431372549,.8941176470588236,.788235294117647],[.996078431372549,.8901960784313725,.7843137254901961],[.996078431372549,.8862745098039215,.7803921568627451],[.996078431372549,.8862745098039215,.7725490196078432],[.996078431372549,.8823529411764706,.7686274509803922],[.996078431372549,.8823529411764706,.7647058823529411],[.996078431372549,.8784313725490196,.7607843137254902],[.996078431372549,.8745098039215686,.7529411764705882],[.996078431372549,.8745098039215686,.7490196078431373],[.996078431372549,.8705882352941177,.7450980392156863],[.996078431372549,.8666666666666667,.7411764705882353],[.996078431372549,.8666666666666667,.7333333333333333],[.996078431372549,.8627450980392157,.7294117647058823],[.996078431372549,.8588235294117647,.7254901960784313],[.996078431372549,.8549019607843137,.7176470588235294],[.9921568627450981,.8549019607843137,.7137254901960784],[.9921568627450981,.8509803921568627,.7058823529411765],[.9921568627450981,.8470588235294118,.7019607843137254],[.9921568627450981,.8470588235294118,.6980392156862745],[.9921568627450981,.8431372549019608,.6901960784313725],[.9921568627450981,.8392156862745098,.6862745098039216],[.9921568627450981,.8352941176470589,.6784313725490196],[.9921568627450981,.8313725490196079,.6745098039215687],[.9921568627450981,.8313725490196079,.6666666666666666],[.9921568627450981,.8274509803921568,.6627450980392157],[.9921568627450981,.8235294117647058,.6549019607843137],[.9921568627450981,.8196078431372549,.6509803921568628],[.9921568627450981,.8156862745098039,.6431372549019608],[.9921568627450981,.8156862745098039,.6392156862745098],[.9921568627450981,.8117647058823529,.6313725490196078],[.9921568627450981,.807843137254902,.6274509803921569],[.9921568627450981,.803921568627451,.6196078431372549],[.9921568627450981,.8,.615686274509804],[.9921568627450981,.796078431372549,.6078431372549019],[.9921568627450981,.792156862745098,.6],[.9921568627450981,.788235294117647,.596078431372549],[.9921568627450981,.7843137254901961,.5882352941176471],[.9921568627450981,.7803921568627451,.5843137254901961],[.9921568627450981,.7764705882352941,.5764705882352941],[.9921568627450981,.7725490196078432,.5686274509803921],[.9921568627450981,.7686274509803922,.5647058823529412],[.9921568627450981,.7647058823529411,.5568627450980392],[.9921568627450981,.7607843137254902,.5529411764705883],[.9921568627450981,.7568627450980392,.5450980392156862],[.9921568627450981,.7529411764705882,.5372549019607843],[.9921568627450981,.7490196078431373,.5333333333333333],[.9921568627450981,.7450980392156863,.5254901960784314],[.9921568627450981,.7411764705882353,.5176470588235295],[.9921568627450981,.7372549019607844,.5137254901960784],[.9921568627450981,.7333333333333333,.5058823529411764],[.9921568627450981,.7294117647058823,.4980392156862745],[.9921568627450981,.7254901960784313,.49411764705882355],[.9921568627450981,.7215686274509804,.48627450980392156],[.9921568627450981,.7176470588235294,.47843137254901963],[.9921568627450981,.7137254901960784,.4745098039215686],[.9921568627450981,.7098039215686275,.4666666666666667],[.9921568627450981,.7058823529411765,.4588235294117647],[.9921568627450981,.7019607843137254,.4549019607843137],[.9921568627450981,.6980392156862745,.4470588235294118],[.9921568627450981,.6941176470588235,.44313725490196076],[.9921568627450981,.6901960784313725,.43529411764705883],[.9921568627450981,.6862745098039216,.42745098039215684],[.9921568627450981,.6823529411764706,.4235294117647059],[.9921568627450981,.6784313725490196,.41568627450980394],[.9921568627450981,.6745098039215687,.4117647058823529],[.9921568627450981,.6705882352941176,.403921568627451],[.9921568627450981,.6666666666666666,.396078431372549],[.9921568627450981,.6627450980392157,.39215686274509803],[.9921568627450981,.6549019607843137,.3843137254901961],[.9921568627450981,.6509803921568628,.3803921568627451],[.9921568627450981,.6470588235294118,.37254901960784315],[.9921568627450981,.6431372549019608,.3686274509803922],[.9921568627450981,.6392156862745098,.3607843137254902],[.9921568627450981,.6352941176470588,.3568627450980392],[.9921568627450981,.6313725490196078,.34901960784313724],[.9921568627450981,.6274509803921569,.34509803921568627],[.9921568627450981,.6235294117647059,.33725490196078434],[.9921568627450981,.6196078431372549,.3333333333333333],[.9921568627450981,.615686274509804,.3254901960784314],[.9921568627450981,.611764705882353,.3215686274509804],[.9921568627450981,.6078431372549019,.3137254901960784],[.9921568627450981,.6039215686274509,.30980392156862746],[.9882352941176471,.6,.30196078431372547],[.9882352941176471,.596078431372549,.2980392156862745],[.9882352941176471,.592156862745098,.2901960784313726],[.9882352941176471,.5882352941176471,.28627450980392155],[.9882352941176471,.5843137254901961,.2823529411764706],[.9882352941176471,.5764705882352941,.27450980392156865],[.9882352941176471,.5725490196078431,.27058823529411763],[.9882352941176471,.5686274509803921,.2627450980392157],[.9882352941176471,.5647058823529412,.25882352941176473],[.984313725490196,.5607843137254902,.25098039215686274],[.984313725490196,.5568627450980392,.24705882352941178],[.984313725490196,.5529411764705883,.24313725490196078],[.984313725490196,.5490196078431373,.23529411764705882],[.984313725490196,.5450980392156862,.23137254901960785],[.9803921568627451,.5411764705882353,.22745098039215686],[.9803921568627451,.5372549019607843,.2196078431372549],[.9803921568627451,.5333333333333333,.21568627450980393],[.9803921568627451,.5294117647058824,.21176470588235294],[.9803921568627451,.5215686274509804,.20392156862745098],[.9764705882352941,.5176470588235295,.2],[.9764705882352941,.5137254901960784,.19607843137254902],[.9764705882352941,.5098039215686274,.18823529411764706],[.9725490196078431,.5058823529411764,.1843137254901961],[.9725490196078431,.5019607843137255,.1803921568627451],[.9725490196078431,.4980392156862745,.17254901960784313],[.9686274509803922,.49411764705882355,.16862745098039217],[.9686274509803922,.49019607843137253,.16470588235294117],[.9686274509803922,.4823529411764706,.1607843137254902],[.9647058823529412,.47843137254901963,.15294117647058825],[.9647058823529412,.4745098039215686,.14901960784313725],[.9607843137254902,.47058823529411764,.1450980392156863],[.9607843137254902,.4666666666666667,.1411764705882353],[.9607843137254902,.4627450980392157,.13725490196078433],[.9568627450980393,.4588235294117647,.13333333333333333],[.9568627450980393,.4549019607843137,.12549019607843137],[.9529411764705882,.45098039215686275,.12156862745098039],[.9529411764705882,.4470588235294118,.11764705882352941],[.9490196078431372,.4392156862745098,.11372549019607843],[.9490196078431372,.43529411764705883,.10980392156862745],[.9450980392156862,.43137254901960786,.10588235294117647],[.9450980392156862,.42745098039215684,.10196078431372549],[.9411764705882353,.4235294117647059,.09803921568627451],[.9411764705882353,.4196078431372549,.09411764705882353],[.9372549019607843,.41568627450980394,.09019607843137255],[.9372549019607843,.4117647058823529,.08627450980392157],[.9333333333333333,.40784313725490196,.08235294117647059],[.9294117647058824,.403921568627451,.0784313725490196],[.9294117647058824,.4,.0784313725490196],[.9254901960784314,.396078431372549,.07450980392156863],[.9254901960784314,.38823529411764707,.07058823529411765],[.9215686274509803,.3843137254901961,.06666666666666667],[.9176470588235294,.3803921568627451,.06274509803921569],[.9176470588235294,.3764705882352941,.06274509803921569],[.9137254901960784,.37254901960784315,.058823529411764705],[.9098039215686274,.3686274509803922,.054901960784313725],[.9098039215686274,.36470588235294116,.054901960784313725],[.9058823529411765,.3607843137254902,.050980392156862744],[.9019607843137255,.3568627450980392,.047058823529411764],[.8980392156862745,.35294117647058826,.047058823529411764],[.8941176470588236,.34901960784313724,.043137254901960784],[.8941176470588236,.34509803921568627,.043137254901960784],[.8901960784313725,.3411764705882353,.0392156862745098],[.8862745098039215,.33725490196078434,.03529411764705882],[.8823529411764706,.3333333333333333,.03529411764705882],[.8784313725490196,.32941176470588235,.03137254901960784],[.8745098039215686,.3254901960784314,.03137254901960784],[.8705882352941177,.3215686274509804,.03137254901960784],[.8666666666666667,.3215686274509804,.027450980392156862],[.8627450980392157,.3176470588235294,.027450980392156862],[.8588235294117647,.3137254901960784,.023529411764705882],[.8549019607843137,.30980392156862746,.023529411764705882],[.8509803921568627,.3058823529411765,.023529411764705882],[.8470588235294118,.30196078431372547,.0196078431372549],[.8431372549019608,.2980392156862745,.0196078431372549],[.8392156862745098,.2980392156862745,.0196078431372549],[.8352941176470589,.29411764705882354,.01568627450980392],[.8313725490196079,.2901960784313726,.01568627450980392],[.8235294117647058,.28627450980392155,.01568627450980392],[.8196078431372549,.2823529411764706,.01568627450980392],[.8156862745098039,.2823529411764706,.01568627450980392],[.8117647058823529,.2784313725490196,.011764705882352941],[.803921568627451,.27450980392156865,.011764705882352941],[.8,.27058823529411763,.011764705882352941],[.796078431372549,.27058823529411763,.011764705882352941],[.788235294117647,.26666666666666666,.011764705882352941],[.7843137254901961,.2627450980392157,.011764705882352941],[.7803921568627451,.2627450980392157,.011764705882352941],[.7725490196078432,.25882352941176473,.011764705882352941],[.7686274509803922,.2549019607843137,.011764705882352941],[.7607843137254902,.2549019607843137,.00784313725490196],[.7568627450980392,.25098039215686274,.00784313725490196],[.7490196078431373,.24705882352941178,.00784313725490196],[.7450980392156863,.24705882352941178,.00784313725490196],[.7411764705882353,.24313725490196078,.00784313725490196],[.7333333333333333,.24313725490196078,.00784313725490196],[.7294117647058823,.23921568627450981,.00784313725490196],[.7215686274509804,.23921568627450981,.00784313725490196],[.7176470588235294,.23529411764705882,.00784313725490196],[.7098039215686275,.23137254901960785,.00784313725490196],[.7058823529411765,.23137254901960785,.00784313725490196],[.6980392156862745,.22745098039215686,.011764705882352941],[.6941176470588235,.22745098039215686,.011764705882352941],[.6862745098039216,.2235294117647059,.011764705882352941],[.6823529411764706,.2235294117647059,.011764705882352941],[.6745098039215687,.2196078431372549,.011764705882352941],[.6705882352941176,.2196078431372549,.011764705882352941],[.6666666666666666,.21568627450980393,.011764705882352941],[.6588235294117647,.21568627450980393,.011764705882352941],[.6549019607843137,.21176470588235294,.011764705882352941],[.6470588235294118,.21176470588235294,.011764705882352941],[.6431372549019608,.20784313725490197,.011764705882352941],[.6392156862745098,.20784313725490197,.011764705882352941],[.6313725490196078,.20392156862745098,.011764705882352941],[.6274509803921569,.20392156862745098,.011764705882352941],[.6235294117647059,.2,.011764705882352941],[.615686274509804,.2,.011764705882352941],[.611764705882353,.19607843137254902,.011764705882352941],[.6078431372549019,.19607843137254902,.011764705882352941],[.6,.19215686274509805,.011764705882352941],[.596078431372549,.19215686274509805,.011764705882352941],[.592156862745098,.18823529411764706,.011764705882352941],[.5843137254901961,.18823529411764706,.011764705882352941],[.5803921568627451,.1843137254901961,.011764705882352941],[.5764705882352941,.1843137254901961,.011764705882352941],[.5725490196078431,.1803921568627451,.01568627450980392],[.5647058823529412,.1803921568627451,.01568627450980392],[.5607843137254902,.17647058823529413,.01568627450980392],[.5568627450980392,.17647058823529413,.01568627450980392],[.5529411764705883,.17254901960784313,.01568627450980392],[.5450980392156862,.17254901960784313,.01568627450980392],[.5411764705882353,.16862745098039217,.01568627450980392],[.5372549019607843,.16862745098039217,.01568627450980392],[.5333333333333333,.16470588235294117,.01568627450980392],[.5254901960784314,.16470588235294117,.01568627450980392],[.5215686274509804,.1607843137254902,.01568627450980392],[.5176470588235295,.1607843137254902,.01568627450980392],[.5137254901960784,.1568627450980392,.01568627450980392],[.5058823529411764,.1568627450980392,.01568627450980392],[.5019607843137255,.15294117647058825,.01568627450980392],[.4980392156862745,.15294117647058825,.01568627450980392]]},k={Default:{3:["#fffff","#6C8B9F","#023858"],4:["#fffff","#C3D0D8","#6C8B9F","#023858"],5:["#fffff","#C3D0D8","#88A1B1","#52778D","#023858"],6:["#fffff","#E1E7EB","#88A1B1","#52778D","#37627B","#023858"],7:["#fffff","#C3D0D8","#A6B9C4","#6C8B9F","#52778D","#37627B","#023858"],8:["#fffff","#E1E7EB","#C3D0D8","#A6B9C4","#6C8B9F","#52778D","#37627B","#023858"],9:["#fffff","#E1E7EB","#C3D0D8","#A6B9C4","#88A1B1","#6C8B9F","#52778D","#37627B","#023858"]},OrRd:{3:["#fee8c8","#fdbb84","#e34a33"],4:["#fef0d9","#fdcc8a","#fc8d59","#d7301f"],5:["#fef0d9","#fdcc8a","#fc8d59","#e34a33","#b30000"],6:["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#e34a33","#b30000"],7:["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],8:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],9:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"]},YlOrRd:{3:["#ffeda0","#feb24c","#f03b20"],4:["#ffffb2","#fecc5c","#fd8d3c","#e31a1c"],5:["#ffffb2","#fecc5c","#fd8d3c","#f03b20","#bd0026"],6:["#ffffb2","#fed976","#feb24c","#fd8d3c","#f03b20","#bd0026"],7:["#ffffb2","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],8:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],9:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"]},YlGn:{3:["#f7fcb9","#addd8e","#31a354"],4:["#ffffcc","#c2e699","#78c679","#238443"],5:["#ffffcc","#c2e699","#78c679","#31a354","#006837"],6:["#ffffcc","#d9f0a3","#addd8e","#78c679","#31a354","#006837"],7:["#ffffcc","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],8:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],9:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"]},YlGnBu:{3:["#edf8b1","#7fcdbb","#2c7fb8"],4:["#ffffcc","#a1dab4","#41b6c4","#225ea8"],5:["#ffffcc","#a1dab4","#41b6c4","#2c7fb8","#253494"],6:["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#2c7fb8","#253494"],7:["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],8:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],9:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"]},GnBu:{3:["#e0f3db","#a8ddb5","#43a2ca"],4:["#f0f9e8","#bae4bc","#7bccc4","#2b8cbe"],5:["#f0f9e8","#bae4bc","#7bccc4","#43a2ca","#0868ac"],6:["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#43a2ca","#0868ac"],7:["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],8:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],9:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"]},BuGn:{3:["#e5f5f9","#99d8c9","#2ca25f"],4:["#edf8fb","#b2e2e2","#66c2a4","#238b45"],5:["#edf8fb","#b2e2e2","#66c2a4","#2ca25f","#006d2c"],6:["#edf8fb","#ccece6","#99d8c9","#66c2a4","#2ca25f","#006d2c"],7:["#edf8fb","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],8:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],9:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"]},PuBuGn:{3:["#ece2f0","#a6bddb","#1c9099"],4:["#f6eff7","#bdc9e1","#67a9cf","#02818a"],5:["#f6eff7","#bdc9e1","#67a9cf","#1c9099","#016c59"],6:["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#1c9099","#016c59"],7:["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],8:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],9:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"]},PuBu:{3:["#ece7f2","#a6bddb","#2b8cbe"],4:["#f1eef6","#bdc9e1","#74a9cf","#0570b0"],5:["#f1eef6","#bdc9e1","#74a9cf","#2b8cbe","#045a8d"],6:["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#2b8cbe","#045a8d"],7:["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],8:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],9:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"]},BuPu:{3:["#e0ecf4","#9ebcda","#8856a7"],4:["#edf8fb","#b3cde3","#8c96c6","#88419d"],5:["#edf8fb","#b3cde3","#8c96c6","#8856a7","#810f7c"],6:["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8856a7","#810f7c"],7:["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],8:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],9:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"]},RdPu:{3:["#fde0dd","#fa9fb5","#c51b8a"],4:["#feebe2","#fbb4b9","#f768a1","#ae017e"],5:["#feebe2","#fbb4b9","#f768a1","#c51b8a","#7a0177"],6:["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#c51b8a","#7a0177"],7:["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],8:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],9:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"]},PuRd:{3:["#e7e1ef","#c994c7","#dd1c77"],4:["#f1eef6","#d7b5d8","#df65b0","#ce1256"],5:["#f1eef6","#d7b5d8","#df65b0","#dd1c77","#980043"],6:["#f1eef6","#d4b9da","#c994c7","#df65b0","#dd1c77","#980043"],7:["#f1eef6","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],8:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],9:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"]},YlOrBr:{3:["#fff7bc","#fec44f","#d95f0e"],4:["#ffffd4","#fed98e","#fe9929","#cc4c02"],5:["#ffffd4","#fed98e","#fe9929","#d95f0e","#993404"],6:["#ffffd4","#fee391","#fec44f","#fe9929","#d95f0e","#993404"],7:["#ffffd4","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],8:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],9:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"]},Purples:{3:["#efedf5","#bcbddc","#756bb1"],4:["#f2f0f7","#cbc9e2","#9e9ac8","#6a51a3"],5:["#f2f0f7","#cbc9e2","#9e9ac8","#756bb1","#54278f"],6:["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#756bb1","#54278f"],7:["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],8:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],9:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"]},Blues:{3:["#deebf7","#9ecae1","#3182bd"],4:["#eff3ff","#bdd7e7","#6baed6","#2171b5"],5:["#eff3ff","#bdd7e7","#6baed6","#3182bd","#08519c"],6:["#eff3ff","#c6dbef","#9ecae1","#6baed6","#3182bd","#08519c"],7:["#eff3ff","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],8:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],9:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"]},Greens:{3:["#e5f5e0","#a1d99b","#31a354"],4:["#edf8e9","#bae4b3","#74c476","#238b45"],5:["#edf8e9","#bae4b3","#74c476","#31a354","#006d2c"],6:["#edf8e9","#c7e9c0","#a1d99b","#74c476","#31a354","#006d2c"],7:["#edf8e9","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],8:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],9:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"]},Oranges:{3:["#fee6ce","#fdae6b","#e6550d"],4:["#feedde","#fdbe85","#fd8d3c","#d94701"],5:["#feedde","#fdbe85","#fd8d3c","#e6550d","#a63603"],6:["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#e6550d","#a63603"],7:["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],8:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],9:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"]},Reds:{3:["#fee0d2","#fc9272","#de2d26"],4:["#fee5d9","#fcae91","#fb6a4a","#cb181d"],5:["#fee5d9","#fcae91","#fb6a4a","#de2d26","#a50f15"],6:["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#de2d26","#a50f15"],7:["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],8:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],9:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]},Greys:{3:["#f0f0f0","#bdbdbd","#636363"],4:["#f7f7f7","#cccccc","#969696","#525252"],5:["#f7f7f7","#cccccc","#969696","#636363","#252525"],6:["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#636363","#252525"],7:["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],8:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],9:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"]},PuOr:{3:["#f1a340","#f7f7f7","#998ec3"],4:["#e66101","#fdb863","#b2abd2","#5e3c99"],5:["#e66101","#fdb863","#f7f7f7","#b2abd2","#5e3c99"],6:["#b35806","#f1a340","#fee0b6","#d8daeb","#998ec3","#542788"],7:["#b35806","#f1a340","#fee0b6","#f7f7f7","#d8daeb","#998ec3","#542788"],8:["#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788"],9:["#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788"],10:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],11:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"]},BrBG:{3:["#d8b365","#f5f5f5","#5ab4ac"],4:["#a6611a","#dfc27d","#80cdc1","#018571"],5:["#a6611a","#dfc27d","#f5f5f5","#80cdc1","#018571"],6:["#8c510a","#d8b365","#f6e8c3","#c7eae5","#5ab4ac","#01665e"],7:["#8c510a","#d8b365","#f6e8c3","#f5f5f5","#c7eae5","#5ab4ac","#01665e"],8:["#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e"],9:["#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e"],10:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],11:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"]},PRGn:{3:["#af8dc3","#f7f7f7","#7fbf7b"],4:["#7b3294","#c2a5cf","#a6dba0","#008837"],5:["#7b3294","#c2a5cf","#f7f7f7","#a6dba0","#008837"],6:["#762a83","#af8dc3","#e7d4e8","#d9f0d3","#7fbf7b","#1b7837"],7:["#762a83","#af8dc3","#e7d4e8","#f7f7f7","#d9f0d3","#7fbf7b","#1b7837"],8:["#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837"],9:["#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837"],10:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],11:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"]},PiYG:{3:["#e9a3c9","#f7f7f7","#a1d76a"],4:["#d01c8b","#f1b6da","#b8e186","#4dac26"],5:["#d01c8b","#f1b6da","#f7f7f7","#b8e186","#4dac26"],6:["#c51b7d","#e9a3c9","#fde0ef","#e6f5d0","#a1d76a","#4d9221"],7:["#c51b7d","#e9a3c9","#fde0ef","#f7f7f7","#e6f5d0","#a1d76a","#4d9221"],8:["#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221"],9:["#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221"],10:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],11:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"]},RdBu:{3:["#ef8a62","#f7f7f7","#67a9cf"],4:["#ca0020","#f4a582","#92c5de","#0571b0"],5:["#ca0020","#f4a582","#f7f7f7","#92c5de","#0571b0"],6:["#b2182b","#ef8a62","#fddbc7","#d1e5f0","#67a9cf","#2166ac"],7:["#b2182b","#ef8a62","#fddbc7","#f7f7f7","#d1e5f0","#67a9cf","#2166ac"],8:["#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac"],9:["#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac"],10:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],11:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"]},RdGy:{3:["#ef8a62","#ffffff","#999999"],4:["#ca0020","#f4a582","#bababa","#404040"],5:["#ca0020","#f4a582","#ffffff","#bababa","#404040"],6:["#b2182b","#ef8a62","#fddbc7","#e0e0e0","#999999","#4d4d4d"],7:["#b2182b","#ef8a62","#fddbc7","#ffffff","#e0e0e0","#999999","#4d4d4d"],8:["#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d"],9:["#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d"],10:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],11:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"]},RdYlBu:{3:["#fc8d59","#ffffbf","#91bfdb"],4:["#d7191c","#fdae61","#abd9e9","#2c7bb6"],5:["#d7191c","#fdae61","#ffffbf","#abd9e9","#2c7bb6"],6:["#d73027","#fc8d59","#fee090","#e0f3f8","#91bfdb","#4575b4"],7:["#d73027","#fc8d59","#fee090","#ffffbf","#e0f3f8","#91bfdb","#4575b4"],8:["#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4"],9:["#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4"],10:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],11:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"]},Spectral:{3:["#fc8d59","#ffffbf","#99d594"],4:["#d7191c","#fdae61","#abdda4","#2b83ba"],5:["#d7191c","#fdae61","#ffffbf","#abdda4","#2b83ba"],6:["#d53e4f","#fc8d59","#fee08b","#e6f598","#99d594","#3288bd"],7:["#d53e4f","#fc8d59","#fee08b","#ffffbf","#e6f598","#99d594","#3288bd"],8:["#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd"],9:["#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd"],10:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],11:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]},AntiSpectral:{3:["#99d594","#ffffbf","#fc8d59"],4:["#2b83ba","#abdda4","#fdae61","#d7191c"],5:["#d7191c","#fdae61","#ffffbf","#abdda4","#2b83ba"],6:["#d53e4f","#fc8d59","#fee08b","#e6f598","#99d594","#3288bd"],7:["#d53e4f","#fc8d59","#fee08b","#ffffbf","#e6f598","#99d594","#3288bd"],8:["#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd"],9:["#3288bd","#66c2a5","#abdda4","#ffffbf","#fee08b","#e6f598","#fdae61","#f46d43","#d53e4f"],10:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],11:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]},RdYlGn:{3:["#fc8d59","#ffffbf","#91cf60"],4:["#d7191c","#fdae61","#a6d96a","#1a9641"],5:["#d7191c","#fdae61","#ffffbf","#a6d96a","#1a9641"],6:["#d73027","#fc8d59","#fee08b","#d9ef8b","#91cf60","#1a9850"],7:["#d73027","#fc8d59","#fee08b","#ffffbf","#d9ef8b","#91cf60","#1a9850"],8:["#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850"],9:["#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850"],10:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],11:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"]},Accent:{3:["#7fc97f","#beaed4","#fdc086"],4:["#7fc97f","#beaed4","#fdc086","#ffff99"],5:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0"],6:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f"],7:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17"],8:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"]},Dark2:{3:["#1b9e77","#d95f02","#7570b3"],4:["#1b9e77","#d95f02","#7570b3","#e7298a"],5:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e"],6:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02"],7:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d"],8:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"]},Paired:{3:["#a6cee3","#1f78b4","#b2df8a"],4:["#a6cee3","#1f78b4","#b2df8a","#33a02c"],5:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99"],6:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c"],7:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f"],8:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00"],9:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6"],10:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a"],11:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99"],12:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"]},Pastel1:{3:["#fbb4ae","#b3cde3","#ccebc5"],4:["#fbb4ae","#b3cde3","#ccebc5","#decbe4"],5:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6"],6:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc"],7:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd"],8:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec"],9:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},Pastel2:{3:["#b3e2cd","#fdcdac","#cbd5e8"],4:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4"],5:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9"],6:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae"],7:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc"],8:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"]},Set1:{3:["#e41a1c","#377eb8","#4daf4a"],4:["#e41a1c","#377eb8","#4daf4a","#984ea3"],5:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00"],6:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33"],7:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628"],8:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf"],9:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"]},Set2:{3:["#66c2a5","#fc8d62","#8da0cb"],4:["#66c2a5","#fc8d62","#8da0cb","#e78ac3"],5:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854"],6:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f"],7:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494"],8:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"]},Set3:{3:["#8dd3c7","#ffffb3","#bebada"],4:["#8dd3c7","#ffffb3","#bebada","#fb8072"],5:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3"],6:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462"],7:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69"],8:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5"],9:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9"],10:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd"],11:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5"],12:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"]}};class w{constructor(){this.colorscale=null,this.grey="#252525",this.highlight="#AF9B90",this.ensemble="#C0C0C0",this.target=this.catColors=["#3366cc","#dc3912","#ff9900","#109618","#990099","#0099c6","#dd4477","#66aa00","#b82e2e","#316395","#994499","#22aa99","#aaaa11","#6633cc","#e67300","#8b0707","#651067","#329262","#5574a6","#3b3eac"],this.colorPadding=[],this.categoricalColors=_,this.colorbrewer=k,this.UniformColorMaps=T}getScale(){return this.colorscale}getColor(t,e){return this.colorscale(t[e])}getColorByValue(t){return this.rgbArrayToHex(this.colorscale(t))}setColorPadding(t){let e=[],s=1/t;for(let i=0;i128?"#000":"#fff"}getAllColors(){return Object.keys(this.colorbrewer)}getCatColor(t){return this.catColors[t]}hexToRgb(t){const e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}rgbToHex(t,e,s){return"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1)}rgbArrayToHex(t){t=t._rgb;let e=Math.floor(t[0]),s=Math.floor(t[1]),i=Math.floor(t[2]);return"#"+((1<<24)+(e<<16)+(s<<8)+i).toString(16).slice(1)}valToPercentColor(t,e){const s=Math.min(Math.max(0,Math.round(t*e.length)),e.length-1);return e[s]}percentColToD3Rgb(t){const e=t.map(t=>Math.round(255*t));return`rgb(${e[0]}, ${e[1]}, ${e[2]})`}valToD3Rgb(t,e){return this.percentColToD3Rgb(this.valToPercentColor(t,e))}}var S=s("512e"),D=s.n(S);s("c1ea");const P=new i["default"];var E=P,I=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("v-layout",{staticClass:"chip-container"},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.summaryChip)+" ")]),s("v-spacer"),s("span",{staticClass:"component-info"},[t._v(" Encoding = "+t._s(t.selectedMetric)+" runtime. ")])],1),s("v-layout",[s("svg",{attrs:{id:t.id}},[s("g",{attrs:{id:"container"}},[s("EnsembleEdges",{ref:"EnsembleEdges"}),s("EnsembleNodes",{ref:"EnsembleNodes"}),s("MiniHistograms",{ref:"MiniHistograms"}),s("EnsembleColorMap",{ref:"EnsembleColorMap"})],1)])])],1)},B=[],A=s("789b"),O=s("bc17");function H(){var t={},e=24,s=8,i=[1,1],a=[],r=[],o=10,l=0,n=0,h=1,d={},c="",u="",f={},m=[],p=!0,g=[],x=5;let b,y=0;function v(){let t=0;a.forEach((function(e){d[e.id]=e,p&&console.debug("[Assign Link ids] ",e.id,"with index: ",t),t+=1})),r.forEach((function(e){void 0==d[e.source]&&(d[e.source]=t,t+=1),void 0==d[e.target]&&(d[e.target]=t,t+=1),e.source_data=d[e.source],e.target_data=d[e.target]}))}function $(){a.forEach((function(t){t.sourceLinks=[],t.targetLinks=[],t["maxLinkVal"]=0,t["minLinkVal"]=1e15})),r.forEach((function(t){t.source_data.sourceLinks.push(t),t.source_data.maxLinkVal=Math.max(t.source_data.maxLinkVal,t["weight"]),t.source_data.minLinkVal=Math.min(t.source_data.minLinkVal,t["weight"]),t.target_data.targetLinks.push(t),t.target_data.minLinkVal=Math.min(t.target_data.minLinkVal,t["weight"]),t.target_data.maxLinkVal=Math.max(t.target_data.maxLinkVal,t["weight"])})),a.forEach((function(t){let e=Math.max(t.sourceLinks.length,t.targetLinks.length);0==t.sourceLinks.length&&(e=t.targetLinks.length),t["maxLinks"]=e}))}function M(){a.forEach((function(t){let e=Object(O["i"])(t.sourceLinks,t=>t.weight),s=Object(O["i"])(t.targetLinks,t=>t.weight),i=Object(O["i"])(t.sourceLinks,t=>t.targetWeight),a=Object(O["i"])(t.targetLinks,t=>t.targetWeight);t.max_flow=Math.max(e,s),"intermediate"==t.type||(t.value=t["actual_time"]["Exclusive"],t.targetValue=0,void 0!=t[f.selectedTargetDataset]&&(t.targetValue=t[f.selectedTargetDataset]["actual_time"]["Inclusive"])),t.value=Math.max(t.value,Math.max(e,s)),void 0!=t[f.selectedTargetDataset]&&(t.targetValue=Math.max(t.targetValue,Math.max(i,a))),console.debug("[Compute node values] Adjusted flow",t.id,": ",t.value),console.debug("[Compute node values] Adjusted target flow",t.id,": ",t.targetValue)}))}function _(t){a.forEach((function(t){let e=b(t.level);t.x=e}))}function T(){let t=a,s=[],r=0,o=0;while(t.length)s=[],t.forEach((function(t){t.level=r,t.dx=e,t.sourceLinks.forEach((function(t){s.push(t.target_data)}))})),t=s,r+=1,o+=1;console.debug("[Compute node breadths] Number of levels: ",r),y=2*e,b=Object(A["a"])().domain([0,r]).range([y,i[0]]),_((i[0]-e)/h)}function k(t){let e;for(let s=0;s{var e=0;return e=l>0?l:Object(O["i"])(t,t=>t.value),Math.abs(i[1]-x*s)/e});return t}function S(){let t=w(),e=0;g.forEach((function(s){"Minimal edge crossing"==f.selectedSuperNodePositionMode?console.log("TODO: Minimize edge crossing."):s.sort((function(t,e){return"Inclusive"==f.selectedSuperNodePositionMode?e["time (inc)"]-t["time (inc)"]:"Exclusive"==f.selectedSuperNodePositionMode?e["time"]-t["time"]:void 0})),s=k(s),s.forEach((function(e,s){let i=0;r.forEach((function(t){t["target"]==e&&null!=t["source"]&&null!=t["source"]["y"]&&(i=Math.max(i,t["source"]["y"]))})),e.y=Math.max(i,s),e.parY=e.y,console.debug("[Compute node depths] Node: ",e.id),console.debug("[Compute node depths] value: ",e.value),console.debug("[Compute node depths] minNodeScale: ",n),console.debug("[Compute node depths] Ensemble scaling: ",t),e.height=e.value*n*t,e.targetHeight=e.targetValue*n*t,console.debug("[Compute node depths] Node height: ",e.height)})),e+=1})),r.forEach((function(e){let s=e.source_data.value/e.source_data.max_flow;e.scaled_weight=e.weight*s,e.height=e.scaled_weight*t;let i=e.source_data.targetValue/e.source_data.value;e.targetWeight=e.weight*i,e.targetHeight=e.targetWeight*t;let a=e.targetHeight/e.height;a!=i&&console.log("Error: The target-ensemble link height ratio is incosistent with the link's value")}))}function D(t){function e(t){return R(t.source)*t.weight}g.forEach((function(s,i){s.forEach((function(s){if(s.targetLinks.length){var i=C["w"](s.targetLinks,e)/C["w"](s.targetLinks,G);s.y+=(i-R(s))*t}}))}))}function P(t){function e(t){return R(t.target)*t.weight}g.slice().reverse().forEach((function(s){s.forEach((function(s){if(s.sourceLinks.length){var i=C["w"](s.sourceLinks,e)/C["w"](s.sourceLinks,G);s.y+=(i+R(s))*t}}))}))}function E(){let t=0;return g.forEach((function(e){var a,r,o=0;for(a of(e.sort(I),e))r=o-a.y,r>0&&(a.y+=r),o=a.y+a.height+s;if(r=o-s-i[1],r>0){o=a.y-=r;for(let t=e.length-2;t>0;--t)a=e[t],r=a.y+a.height+s-o,r>0&&(a.y-=r),o=a.y}r=o-s-i[1],r>0&&(t=Math.max(r,t))})),t}function I(t,e){return t["y"]-e["y"]}function B(t){g=C["n"]().key((function(t){return t.level})).sortKeys(C["a"]).entries(a).map((function(t){let e=[];for(let s=0;s-1){let e=t.split(":");t=e[e.length-1]}return t=t.replace(//g,"proc "),t.length>e?t.substr(0,e-1)+"...":t}function V(t,e){const s=C["u"]("#"+t).append("svg");s.append("text").attrs({x:-99999,y:-99999}).text(t=>e);const i=s.node().getBBox();return s.remove(),{width:i.width,height:i.height}}function j(t,e){let s="",i={};return"super-node"==e.type&&void 0!=t.modules["ensemble"][e.module]?(s=e.module,i=t.modules["ensemble"][s][t.selectedMetric]["gradients"]):"component-node"==e.type?(s=e.name,i=t.callsites["ensemble"][s][t.selectedMetric]["gradients"]):"intermediate"==e.type&&(i={}),i}function Y(t){if(!t||0===t.length)return{height:0,width:0};const e=C["u"]("body").append("svg").attr("class","dummy");e.append("text").attrs({x:-1e3,y:-1e3}).text(t);const s=e.node().getBBox();return e.remove(),{height:s.height,width:s.width}}function X(t,e){t.each((function(){var t,s=C["u"](this),i=s.text().split(/\s+/).reverse(),a=[],r=0,o=1.1,l=s.attr("x"),n=s.attr("y"),h=0,d=s.text(null).append("tspan").attr("dy",h+"em");while(t=i.pop())a.push(t),d.text(a.join(" ")),d.node().getComputedTextLength()>e&&(a.pop(),d.text(a.join(" ")),a=[t],d=s.append("tspan").attr("x",l).attr("y",n).attr("dy",++r*o+h+"em").text(t))}))}var K=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},U=[],Q={name:"MeanGradients",data:()=>({strokeWidth:7,id:"mean-gradients"}),methods:{init(t,e){this.nodes=t,this.containerG=e,this.gradients(),this.visualize()},colorScale(){},gradients(){for(let t of this.nodes){const e=C["u"]("#"+this.id).append("defs"),s=e.append("linearGradient").attr("id","mean-gradient"+t.client_idx).attr("class","mean-gradient");s.attr("x1","0%").attr("y1","0%").attr("x2","0%").attr("y2","100%");let i=[],a=[];"super-node"==t.type&&void 0!=this.$store.modules.ensemble[t.module]?(i=this.$store.modules["ensemble"][t.module][this.$store.selectedMetric]["gradients"]["hist"]["x"],a=this.$store.modules["ensemble"][t.module][this.$store.selectedMetric]["gradients"]["hist"]["y"]):"component-node"==t.type?(i=this.$store.callsites["ensemble"][t.name][this.$store.selectedMetric]["gradients"]["hist"]["x"],a=this.$store.callsites["ensemble"][t.name][this.$store.selectedMetric]["gradients"]["hist"]["y"]):"intermediate"==t.type&&(i=[],a=[]);for(let t=0;t"intermediate"==t.type?"#f00":"#0f0",stroke:t=>{let e="",s=this.$store.runtimeColor.intermediate;return e="Inclusive"==this.$store.selectedMetric?"time (inc)":"time","component-node"==t.type?void 0!=this.$store.callsites[this.$store.selectedTargetDataset][t.id]&&(s=C["o"](this.$store.runtimeColor.getColor(t,e))):"super-node"==t.type&&void 0!=this.$store.modules[this.$store.selectedTargetDataset][t.id]&&(s=C["o"](this.$store.runtimeColor.getColor(t,e))),s},"stroke-width":t=>"intermediate"==t.type?1:this.strokeWidth,fill:t=>"intermediate"==t.type?this.$store.runtimeColor.intermediate:"super-node"==t.type?void 0==this.$store.modules[this.$store.selectedTargetDataset][t.id]?this.$store.runtimeColor.intermediate:"url(#mean-gradient"+t.client_idx+")":"component-node"==t.type?void 0==this.$store.callsites[this.$store.selectedTargetDataset][t.name]?this.$store.runtimeColor.intermediate:"url(#mean-gradient"+t.client_idx+")":void 0})},clear(){}}},Z=Q,J=Object(x["a"])(Z,K,U,!1,null,null,null),tt=J.exports,et=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},st=[],it={template:"",name:"Guides",components:{},data:()=>({id:"guides",nodes:[],svg:void 0,gradients:{},positionDatasetMap:{}}),methods:{init(t){this.nodes=t;for(let e of this.nodes)this.process(e)},update(t){this.new_nodes=[];for(let e of this.new_nodes)this.process(e)},process(t){if(this.gradients[t.id]=j(this.$store,t),void 0!=this.gradients[t.id]["dataset"]){let e=this.gradients[t.id]["dataset"]["position"];this.positionDatasetMap[t]={};for(let s in e){let i=e[s];void 0==this.positionDatasetMap[t][i]&&(this.positionDatasetMap[t][i]=[]),this.positionDatasetMap[t][i].push(s)}}},drawLines(t,e){let s=this.gradients[t.id]["hist"].x,i=t.height/s.length;for(let a=0;a({id:"target-line"}),methods:{init(t){this.nodes=t,this.ensemble_module_data=this.$store.modules["ensemble"],this.ensemble_callsite_data=this.$store.callsites["ensemble"];for(let e of t)this.visualize(e)},visualize(t){const e=j(this.$store,t);if(0!=Object.keys(e).length){let s=e["dataset"]["position"][this.$store.selectedTargetDataset]+1,i=t.height/this.$store.selectedRunBinCount,a=i*s-i/2;t.svg.append("line").attrs({class:"targetLines",id:"line-2-"+this.$store.selectedTargetDataset+"-"+t.client_idx,x1:0,y1:a,x2:this.$parent.nodeWidth,y2:a,"stroke-width":5,stroke:this.$store.distributionColor.target})}},clear(){C["v"](".targetLines").remove()}}},dt=ht,ct=Object(x["a"])(dt,lt,nt,!1,null,null,null),ut=ct.exports,ft=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:"tooltip"}})},mt=[],pt={template:"",name:"ToolTip",components:{},data:()=>({id:"supernode-tooltip",textCount:0,textxOffset:20,textyOffset:20,textPadding:15,height:200,margin:35,mousePosX:0,mousePosY:0,prevMousePosX:void 0,prevMousePosY:void 0}),methods:{init(t){this.id=t;const e=C["u"]("#"+this.id);this.toolTipG=e.append("g")},positionX(){let t=0;return this.mousePosX>=this.$store.viewWidth/2&&(t=this.mousePosX+this.textxOffset),t=this.mousePosX-this.textxOffset,t},positionY(){let t=0;return this.mousePosY>=this.$store.viewHeight/2&&(t=this.mousePosY+this.textyOffset),t=this.mousePosY-this.textyOffset,t},visualize(t,e){this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.clear(),this.render(t,e),this.prevMousePosX=this.mousePosX,this.prevMousePosY=this.mousePosY},render(t,e){this.xOffset=this.positionX()+40,this.yOffset=this.positionY()+40,this.nodeHeight=e.height;const s=C["q"]().domain([2,11]).range([50,150]);this.toolTipG.attr("height",s(10)+"px"),this.toolTipRect=this.toolTipG.append("rect").attrs({class:"tooltip-container",fill:"#fff",stroke:"black",rx:"10px","fill-opacity":1,width:"325",height:this.height}).attrs({x:this.xOffset,y:this.yOffset}),this.runtimeInformation(e),this.pathInformation(e)},addText(t){this.textCount+=1,this.toolTipText=this.toolTipG.append("text").style("font-family","sans-serif").style("font-size","").attrs({class:"tooltip-content",x:()=>this.xOffset+this.margin,y:()=>this.yOffset+this.textyOffset+this.textPadding*this.textCount+"px"}).text(t)},runtimeInformation(t){this.addText("Name: "+z(t.id,40)),this.addText("Inclusive Time: "+F(t["time (inc)"])),this.addText("Exclusive Time: "+F(t["time"]))},pathInformation(t){let e={};"Single"==this.$store.selectedMode?e=this.$store.modules[this.$store.selectedTargetDataset]:"Ensemble"==this.$store.selectedMode&&(e=this.$store.modules["ensemble"]);let s={};"Single"==this.$store.selectedMode?s=this.$store.callsites[this.$store.selectedTargetDataset]:"Ensemble"==this.$store.selectedMode&&(s=this.$store.callsites["ensemble"]);let i=t[this.$store.selectedTargetDataset]["entry_function"].split(",").map(String),a={};for(let l=0;l"),this.toolTipG.append("rect").attrs({width:this.rectWidth,height:this.rectWidth,x:l+140+"px",y:n-10+"px",class:"tooltip-content"}).style("fill",i),this.toolTipG.append("text").attrs({x:l+155+"px",y:n+"px",class:"tooltip-content"}).text(z(r,10))}let i=e.length-3;this.addText("and "+i+" call sites more.")},clear(){this.textCount=0,C["v"](".tooltip-container").remove(),C["v"](".tooltip-content").remove()}}},gt=pt,xt=Object(x["a"])(gt,ft,mt,!1,null,null,null),bt=xt.exports,yt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},vt=[],$t={name:"Mean",data:()=>({stroke_width:3,id:"mean"}),methods:{init(t,e){this.nodes=t,this.containerG=e,this.module_data=this.$store.modules[this.$store.selectedTargetDataset],this.callsite_data=this.$store.callsites[this.$store.selectedTargetDataset],this.visualize()},setColorScale(){let t=0,e=0;for(let s of this.nodes)"super-node"==s.type?(t=Math.min(t,this.module_data[s.module][this.$store.selectedMetric]["mean_time"]),e=Math.max(e,this.module_data[s.module][this.$store.selectedMetric]["mean_time"])):"component-node"==s.type&&(t=Math.min(t,this.ensemble_callsite_data[s.name][this.$store.selectedMetric]["gradients"]["hist"]["y_min"]),e=Math.max(e,this.ensemble_callsite_data[s.name][this.$store.selectedMetric]["gradients"]["hist"]["y_max"]));this.$store.color.setColorScale(this.$store.selectedMetric,t,e,this.$store.selectedRuntimeColorMap,this.$store.selectedColorPoint),this.$parent.$parent.$refs.EnsembleColorMap.update(this.$store.mode,t,e)},visualize(){this.containerG.selectAll(".callsite-rect").data(this.nodes).transition().duration(this.$parent.transitionDuration).attrs({opacity:t=>"intermediate"==t.type?0:1,height:t=>t.height,stroke:"#000","stroke-width":t=>"intermediate"==t.type?1:this.stroke_width,fill:t=>{let e="";return"intermediate"==t.type?e=this.$store.runtimeColor.intermediate:"Inclusive"==this.$store.selectedMetric?e=this.$store.runtimeColor.getColor(t,"time (inc)"):"Exclusive"==this.$store.selectedMetric&&(e=this.$store.runtimeColor.getColor(t,"time")),e}})},clear(){}}},Ct=$t,Mt=Object(x["a"])(Ct,yt,vt,!1,null,null,null),_t=Mt.exports,Tt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},kt=[],wt=s("8701"),St=s.n(wt),Dt={name:"MeanDiff",components:{},data:()=>({strokeWidth:7,id:"mean-diff-gradients",meanDiff:{}}),methods:{init(t,e,s){this.nodes=t,this.containerG=e,this.data=s,this.process(),this.colorScale(),this.visualize()},process(){this.renderZeroLine={},this.rank_min=0,this.rank_max=0,this.mean_min=0,this.mean_max=0,this.mean_diff_min=0,this.mean_diff_max=0;for(let s=0;s1,height:t=>t.height}).style("stroke",t=>1).style("fill",(t,e)=>{let s=C["o"](this.$store.diffColor.getColorByValue(this.meanDiff[t.module]));return s})},clear(){}}},Pt=Dt,Et=Object(x["a"])(Pt,Tt,kt,!1,null,null,null),It=Et.exports,Bt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},At=[],Ot={name:"MeanGradients",components:{},data:()=>({strokeWidth:7,id:"rank-diff-gradients",renderZeroLine:{}}),methods:{init(t,e,s){this.nodes=t,this.containerG=e,this.data=s,this.process(),this.colorScale(),this.gradients(),this.visualize()},process(){this.renderZeroLine={},this.rank_min=0,this.rank_max=0,this.mean_min=0,this.mean_max=0,this.mean_diff_min=0,this.mean_diff_max=0;for(let t=0;t0){let e=(t+t+3)/(2*a.length);this.zeroLine(s["name"],e)}this.diffGradient.append("stop").attrs({offset:100*e+"%","stop-color":this.$store.rankDiffColor.getColorByValue(r[t])})}}},clearZeroLine(){C["v"](".zeroLine").remove(),C["v"](".zeroLineText").remove()},zeroLine(t,e){void 0==this.renderZeroLine[t]&&(C["u"]("#ensemble-callsite-"+t.client_idx).append("line").attrs(t=>({class:"zeroLine",x1:0,y1:e*t.height,x2:this.$parent.nodeWidth,y2:e*t.height})).style("opacity",t=>1).style("stroke","#000").style("stroke-width",t=>5),C["u"]("#ensemble-callsite-"+this.$parent.nidNameMap[t]).append("text").attrs({class:"zeroLineText",dy:"0",x:this.$parent.nodeWidth/2-10,y:t=>e*t.height-5}).style("opacity",1).style("font-size","20px").text(t=>0),this.renderZeroLine[t]=!0)},visualize(){let t=this.containerG.selectAll("rect").data(this.nodes);t.transition().duration(this.$store.transitionDuration).attrs({opacity:t=>"intermediate"==t.type?0:1}).style("stroke",t=>{let e="";return"intermediate"==t.type?e=this.$store.color.ensemble:"component-node"==t.type?e=void 0!=this.$store.callsites[this.$store.selectedTargetDataset][t.id]?C["o"](this.$store.color.getColor(t)):this.$store.color.ensemble:"super-node"==t.type&&(e=void 0!=this.$store.modules[this.$store.selectedTargetDataset][t.id]?C["o"](this.$store.color.getColor(t)):this.$store.color.ensemble),e}).style("stroke-width",t=>"intermediate"==t.type?1:this.stroke_width).style("fill",(t,e)=>"url(#diff-gradient-"+t.client_idx+")")},clearGradients(){this.svg.selectAll(".diff-gradient").remove()},clear(){}}},Ht=Ot,Rt=Object(x["a"])(Ht,Bt,At,!1,null,null,null),Gt=Rt.exports,Ft={name:"EnsembleNodes",components:{Mean:_t,ToolTip:bt,MeanGradients:tt,Guides:ot,TargetLine:ut,MeanDiff:It,RankDiff:Gt},data:()=>({currentNodeLevel:{},nodeWidth:50,transitionDuration:500,nodeHeights:{},minHeightForText:15,textTruncForNode:25,id:"ensemble-nodes",graph:null,nidNameMap:{},intermediateColor:"#d9d9d9",drawGuidesMap:{}}),methods:{init(t){this.graph=t,this.containerG=C["u"]("#"+this.id),this.drag=C["e"]().subject(t=>t).on("start",(function(){this.parentNode.appendChild(this)})).on("drag",t=>{C["u"]("node_"+t.client_idx).attr("transform","translate("+(t.x=Math.max(0,Math.min(this.$parent.width-t.dx,C["f"].x)))+","+(t.y=Math.max(0,Math.min(this.$parent.height-t.dy,C["f"].y)))+")"),this.$parent.sankey.relayout()}),this.zoom=C["x"]().scaleExtent([.5,2]).on("zoom",()=>{let t=Math.min(0,Math.min(C["f"].transform.x,this.width*C["f"].transform.k)),e=Math.min(0,Math.min(C["f"].transform.y,this.height*C["f"].transform.k));this.sankeySVG.attr("transform","translate("+[t,e]+")scale("+C["f"].transform.k+")")}),this.ensemble_module_data=this.$store.modules["ensemble"],this.ensemble_callsite_data=this.$store.callsites["ensemble"],this.preVis(),this.visualize()},visualize(){this.rectangle(),this.postVis(),this.setEncoding(this.$store.encoding),this.ensemblePath(),this.text(),this.$store.showTarget&&"Ensemble"===this.$store.selectedMode&&(this.$refs.TargetLine.init(this.graph.nodes),0==this.$store.comparisonMode&&this.targetPath(),this.$refs.Guides.init(this.graph.nodes)),this.$refs.ToolTip.init(this.$parent.id)},preVis(){let t=0;for(let e of this.graph.nodes)this.nidNameMap[e.id]=t,e.client_idx=t,t+=1},postVis(){for(let t of this.graph.nodes)t.svg=this.containerG.select("#callsite-"+t.client_idx)},clearRectangle(){C["v"](".callsite").remove()},setEncoding(t,e){"MEAN"==t?this.$refs.Mean.init(this.graph.nodes,this.containerG):"MEAN_GRADIENTS"==t?this.$refs.MeanGradients.init(this.graph.nodes,this.containerG):"MEAN_DIFF"==t?this.$refs.MeanDiff.init(this.graph.nodes,this.containerG,e):"RANK_DIFF"==t&&this.$refs.RankDiff.init(this.graph.nodes,this.containerG,e)},rectangle(){this.nodesSVG=this.containerG.selectAll(".callsite").data(this.graph.nodes).enter().append("g").attrs({class:"callsite",id:t=>"callsite-"+t.client_idx,transform:t=>`translate(${t.x},${t.y+this.$parent.ySpacing})`,opacity:1}),this.nodesSVG.append("rect").attrs({id:t=>t.id+" callsite-rect"+t.client_idx,class:"callsite-rect",height:t=>t.height,width:this.nodeWidth,"fill-opacity":t=>"intermediate"==t.type?0:1}).style("shape-rendering","crispEdges").on("click",t=>this.click(t)).on("mouseover",t=>this.mouseover(t)).on("mouseout",t=>this.mouseout(t))},click(t){if(event.stopPropagation(),t!==this.$store.selectedNode){this.$store.selectedNode=t,this.$store.selectedModule=t.module,this.$store.selectedName=t.name;const e=this.containerG.select("#callsite-"+t.client_idx);"Ensemble"==this.$store.selectedMode?(this.drawGuidesMap[t.id]||(this.$refs.Guides.visualize(t,"permanent",e),this.drawGuidesMap[t.id]=!0),m.POSTRequest("module_hierarchy",{module:this.$store.selectedModule,name:this.$store.selectedName,datasets:this.$store.selectedDatasets}),E.$emit("ensemble-histogram",{module:this.$store.selectedModule,datasets:this.$store.selectedDatasets}),E.$emit("ensemble-scatterplot",{module:this.$store.selectedModule,dataset1:this.$store.selectedDatasets}),E.$emit("ensemble-select-module",{module:this.$store.selectedModule})):"Single"==this.$store.selectedMode&&(E.$emit("single-histogram",{module:this.$store.selectedModule,groupBy:this.$store.selectedGroupBy,dataset:this.$store.selectedTargetDataset}),E.$emit("single-scatterplot",{module:this.$store.selectedModule,dataset:this.$store.selectedTargetDataset}),E.$emit("single-select-module",{module:this.$store.selectedModule}))}},mouseover(t){this.$refs.ToolTip.visualize(self.graph,t),"Ensemble"==this.$store.selectedMode&&0==this.$store.comparisonMode&&this.$refs.Guides.visualize(t,"temporary")},mouseout(t){this.$refs.ToolTip.clear(),"Ensemble"==this.$store.selectedMode&&0==this.$store.comparisonMode&&(this.$refs.Guides.clear(t,"temporary"),0==this.permanentGuides&&C["v"](".ensemble-edge").style("opacity",1))},targetPath(){this.nodesSVG.append("path").attrs({class:"path",d:t=>{if("intermediate"==t.type)return"m0 0h "+this.nodeWidth+"v "+1*t.targetHeight+"h "+-1*this.nodeWidth},fill:t=>{if("intermediate"==t.type)return this.$store.distributionColor.target},stroke:t=>{if("intermediate"==t.type)return this.intermediateColor}}).style("opacity",.6).style("fill-opacity",0).style("stroke-opacity",0),this.nodesSVG.selectAll(".target-path").data(this.graph.nodes).transition().duration(this.transitionDuration).delay(this.transitionDuration/3).style("fill-opacity",1)},ensemblePath(){this.nodesSVG.append("path").attrs({class:"path",d:t=>{if("intermediate"==t.type)return"m0 0h "+this.nodeWidth+"v "+1*t.height+"h "+-1*this.nodeWidth},fill:t=>{if("intermediate"==t.type)return this.intermediateColor}}).style("opacity",t=>this.$store.showTarget&&0==this.$store.compareAnalysisMode?.5:1).style("fill-opacity",0).style("stroke",(function(t){if("intermediate"==t.type)return this.intermediateColor})).style("stroke-opacity","0.0"),this.nodesSVG.selectAll(".path").data(this.graph.nodes).transition().duration(this.transitionDuration).delay(this.transitionDuration/3).style("fill-opacity",1)},text(){this.nodesSVG.append("text").data(this.graph.nodes).attrs({class:"callsite-text",dy:"0.35em",transform:"rotate(90)",x:"5",y:"-10"}).style("opacity",1).style("fill",t=>{if("MEAN_GRADIENTS"==this.$store.encoding)return"#000";let e=null;"Inclusive"==this.$store.selectedMetric?e=this.$store.runtimeColor.getColor(t,"time (inc)"):"Exclusive"==this.$store.selectedMetric&&(e=this.$store.runtimeColor.getColor(t,"time"));let s=this.$store.runtimeColor.rgbArrayToHex(e);return this.$store.runtimeColor.setContrast(s)}).text(t=>{if("intermediate"!=t.type){if(t.height({transitionDuration:1e3,id:"",offset:4,precision:2}),watch:{},mounted(){this.id="edges"},methods:{init(t){this.graph=t,this.edges=C["u"]("#"+this.id),"Ensemble"==this.$store.selectedMode?(this.initEdges("ensemble"),this.drawEdges("ensemble"),this.$store.showTarget&&0==this.$store.comparisonMode&&(this.initEdges("target"),this.drawEdges("target"))):"Single"==this.$store.selectedMode&&(this.initEdges("single"),this.drawEdges("single"))},initEdges(t){this.edges.selectAll("#edge-"+t).data(this.graph.links).enter().append("path").attrs({class:"edge",id:"edge-"+t}).style("fill",e=>"ensemble"==t?this.$store.distributionColor.ensemble:this.$store.runtimeColor.intermediate).style("opacity",.5).on("mouseover",(function(t){C["u"](this).style("stroke-opacity","1.0")})).sort((function(t,e){return e.dy-t.dy}))},drawPath(t,e,s=0,i=0,a){const r=(t.source_data.x+t.source_data.dx+s).toFixed(this.precision),o=(t.target_data.x-i).toFixed(this.precision),l=C["i"](r,o),n=l(.4).toFixed(this.precision),h=l(.6).toFixed(this.precision),d=(t.source_data.y+this.$parent.ySpacing+t.sy).toFixed(this.precision),c=(t.target_data.y+this.$parent.ySpacing+t.ty).toFixed(this.precision),u=(t.source_data.x+t.source_data.dx+s).toFixed(this.precision),f=(t.target_data.x-i).toFixed(this.precision),m=C["i"](u,f),p=m(.4).toFixed(this.precision),g=m(.6).toFixed(this.precision);let x=(t.source_data.y+this.$parent.ySpacing+t.sy+e).toFixed(this.precision),b=(t.target_data.y+this.$parent.ySpacing+t.ty+e).toFixed(this.precision);const y=(b-c).toFixed(this.precision);return`M${r},${d}C${n},${d} ${h},${c} ${o},${c} v ${y}C${g},${b} ${p},${x} ${u},${x}`},drawMiddlePath(t,e,s,i,a){let r=t.source_data.x+t.source_data.dx+s,o=t.target_data.x-i,l=C["i"](r,o),n=l(.4),h=l(.6),d=t.source_data.y+this.$parent.ySpacing+t.sy+.5*(t.source_data.height-e),c=t.target_data.y+this.$parent.ySpacing+t.ty+.5*(t.target_data.height-e),u=t.source_data.x+t.source_data.dx+s,f=t.target_data.x-i,m=C["i"](u,f),p=m(.4),g=m(.6),x=0,b=0;x=t.source_data.y+this.$parent.ySpacing+t.sy+e,b=t.target_data.y+this.$parent.ySpacing+t.ty+e;let y=b-c;return`M${r},${d}C${n},${d} ${h},${c} ${o},${c} v ${y}C${g},${b} ${p},${x} ${u},${x}`},drawEdges(t){this.edges.selectAll("#edge-"+t).data(this.graph.links).attrs({d:e=>{let s=0;return"ensemble"==t||"single"==t?s=e.height:"target"==t&&(s=e.targetHeight),"Top"==this.$store.selectedEdgeAlignment?this.drawPath(e,s,0,0,t):"Middle"==this.$store.selectedEdgeAlignment?this.drawMiddlePath(e,s,0,0,t):void 0},fill:e=>"ensemble"==t?this.$store.distributionColor.ensemble:"target"==t?this.$store.distributionColor.target:"single"==t?this.$store.runtimeColor.intermediate:void 0,stroke:this.$store.runtimeColor.edgeStrokeColor}).on("mouseover",t=>{}).on("mouseout",t=>{})},fadeUnConnected(t){let e=this.graph.links.selectAll(".link");e.filter((function(e){return e.source!==t&&e.target!==t})).transition().duration(500).style("opacity",.05)},clear(){this.edges.selectAll(".edge").remove(),this.edges.selectAll(".edgelabel").remove(),this.edges.selectAll(".edgelabelText").remove()}}},jt=Vt,Yt=Object(x["a"])(jt,Wt,zt,!1,null,null,null),Xt=Yt.exports,Kt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},Ut=[],Qt=(s("883e"),{name:"MiniHistograms",components:{},props:[],data:()=>({view:{},xScale:[],yScale:[],vals:[],freq:{},data:[],minimapXScale:null,minimapYScale:null,padding:{top:0,left:0,right:0,bottom:10},nodeScale:.99,id:"",nodes:null,edges:null,offset:7,bandWidth:0}),mounted(){this.id="minihistogram-overview"},methods:{init(t,e){this.nodeMap=t.nodeMap,this.nodes=t.nodes,this.links=t.links,this.view=e,this.target_module_data=this.$store.modules[this.$store.selectedTargetDataset],this.target_callsite_data=this.$store.callsites[this.$store.selectedTargetDataset];for(const s of this.nodes){let t=s.module,e=s.name;if("super-node"==s.type&&void 0!=this.target_module_data[t]){let e=this.target_module_data[t][this.$store.selectedMetric]["prop_histograms"][this.$store.selectedProp];this.render(e,t)}else if("component-node"==s.type&&void 0!=this.target_callsite_data[e]){let t=this.target_callsite_data[e][this.$store.selectedMetric]["prop_histograms"][this.$store.selectedProp];this.render(t,e)}}},array_unique(t){return t.filter((function(t,e,s){return s.indexOf(t)===e}))},clear(){this.bandWidth=0,C["v"]("#histobars").remove()},histogram(t,e,s){let i="",a=[],r=[];"ensemble"==s?(i=this.$store.distributionColor.ensemble,a=t["ensemble"].x,r=t["ensemble"].y):"target"!=s&&"single"!=s||("target"==s?i=this.$store.distributionColor.target:"single"==s&&(i=this.$store.runtimeColor.intermediate),a=t["target"].x,r=t["target"].y),"Linear"==this.$store.selectedScale?this.minimapYScale=C["q"]().domain([0,C["k"](r)]).range([this.$parent.ySpacing-10,0]):"Log"==this.$store.selectedScale&&(this.minimapYScale=C["r"]().domain([.1,C["k"](r)]).range([this.$parent.ySpacing,0])),this.minimapXScale=C["p"]().domain(a).rangeRound([0,this.$parent.nodeWidth]),this.bandWidth=this.minimapXScale.bandwidth();for(let o=0;othis.bandWidth,height:t=>this.$parent.nodeWidth-this.minimapYScale(r[o]),x:t=>e.x+this.minimapXScale(a[o]),y:t=>e.y+this.minimapYScale(r[o])+this.offset,"stroke-width":"0.2px",stroke:"black",fill:i})},render(t,e){let s=this.nodes[this.nodeMap[e]];"Ensemble"==this.$store.selectedMode?(this.histogram(t,s,"ensemble"),this.$store.showTarget&&0==this.$store.comparisonMode&&this.histogram(t,s,"target")):"Single"==this.$store.selectedMode&&this.histogram(t,s,"single")}}}),Zt=Qt,Jt=Object(x["a"])(Zt,Kt,Ut,!1,null,null,null),te=Jt.exports,ee=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},se=[],ie={name:"EnsembleColorMap",components:{},props:[],data:()=>({transitionDuration:1e3,width:230,height:20,colorMin:0,colorMax:0,offset:30,padding:{bottom:30,right:400},id:"ensemble-colormap"}),mounted(){},methods:{init(t){this.color=t,this.colorMin=this.color.getScale().domain()[0],this.colorMax=this.color.getScale().domain()[1],this.containerWidth=this.$store.viewWidth/2,this.containerHeight=this.$store.viewHeight-this.$parent.margin.top-this.$parent.margin.bottom,this.svg=C["u"]("#"+this.$parent.id).append("g").attrs({id:"Colormap"}),this.render()},render(){this._legends(),this._color_map()},_legends(){this.clearLegends(),this.$store.showTarget&&!this.$store.comparisonMode&&"Ensemble"===this.$store.selectedMode&&"SuperGraph"==this.$store.selectedFormat&&this.drawLegend("Target run",this.containerWidth-this.padding.right,this.containerHeight-4*this.padding.bottom,this.$store.distributionColor.target),"Ensemble"==this.$store.selectedMode&&"SuperGraph"==this.$store.selectedFormat&&this.drawLegend("Ensemble of runs",this.containerWidth-this.padding.right,this.containerHeight-3*this.padding.bottom,this.$store.distributionColor.ensemble)},_color_map(){this.clearColorMap();let t="",e=1;"Exclusive"==this.color.type?t="Exc. Runtime colormap":"Inclusive"==this.color.type?t="Inc. Runtime colormap":"MeanGradients"==this.color.type?(t="Distribution colormap",e=2):"MeanDiff"==this.color.type?(t="Mean Difference colormap",e=2):"RankDiff"==this.color.type&&(t="Rank Difference colormap",e=2),"MeanGradients"!==this.color.type?(this.colorMinText=F(this.colorMin),this.colorMaxText=F(this.colorMax)):(this.colorMinText=this.colorMin,this.colorMaxText=this.colorMax),this.drawColorMap(t,this.containerWidth-this.padding.right,this.containerHeight-this.padding.bottom*e)},drawLegend(t,e,s,i){this.svg.append("circle").attrs({r:10,cx:10,cy:10,class:"legend",transform:`translate(${e}, ${s})`,fill:i}),this.svg.append("text").attrs({x:30,y:15,class:"legend-text",transform:`translate(${e}, ${s})`}).text(t).style("font-size",14).style("fill","#444444")},drawColorMap(t,e,s){let i=this.$store.selectedColorPoint,a=(this.colorMax-this.colorMin)/(i-1);for(let r=0;rt+e.weight,0)}reverse(){return this.getAllEdges().forEach(t=>{this.deleteEdge(t),t.reverse(),this.addEdge(t)}),this}getVerticesIndices(){const t={};return this.getAllVertices().forEach((e,s)=>{t[e.getKey()]=s}),t}getAdjacencyMatrix(){const t=this.getAllVertices(),e=this.getVerticesIndices(),s=Array(t.length).fill(null).map(()=>Array(t.length).fill(1/0));return t.forEach((t,i)=>{t.getNeighbors().forEach(a=>{const r=e[a.getKey()];s[i][r]=this.findEdge(t,a).weight})}),s}toString(){return Object.keys(this.vertices).toString()}}class ne{constructor(t,e=null){this.value=t,this.next=e}toString(t){return t?t(this.value):""+this.value}}class he{constructor(t){this.compare=t||he.defaultCompareFunction}static defaultCompareFunction(t,e){return t===e?0:t0}lessThanOrEqual(t,e){return this.lessThan(t,e)||this.equal(t,e)}greaterThanOrEqual(t,e){return this.greaterThan(t,e)||this.equal(t,e)}reverse(){const t=this.compare;this.compare=(e,s)=>t(s,e)}}class de{constructor(t){this.head=null,this.tail=null,this.compare=new he(t)}prepend(t){const e=new ne(t,this.head);return this.head=e,this.tail||(this.tail=e),this}append(t){const e=new ne(t);return this.head?(this.tail.next=e,this.tail=e,this):(this.head=e,this.tail=e,this)}delete(t){if(!this.head)return null;let e=null;while(this.head&&this.compare.equal(this.head.value,t))e=this.head,this.head=this.head.next;let s=this.head;if(null!==s)while(s.next)this.compare.equal(s.next.value,t)?(e=s.next,s.next=s.next.next):s=s.next;return this.compare.equal(this.tail.value,t)&&(this.tail=s),e}find({value:t,callback:e}){if(!this.head)return null;let s=this.head;while(s){if(e&&e(s.value))return s;if(void 0!==t&&this.compare.equal(s.value,t))return s;s=s.next}return null}deleteTail(){const t=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,t;let e=this.head;while(e.next)e.next.next?e=e.next:e.next=null;return this.tail=e,t}deleteHead(){if(!this.head)return null;const t=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),t}fromArray(t){return t.forEach(t=>this.append(t)),this}toArray(){const t=[];let e=this.head;while(e)t.push(e),e=e.next;return t}toString(t){return this.toArray().map(e=>e.toString(t)).toString()}reverse(){let t=this.head,e=null,s=null;while(t)s=t.next,t.next=e,e=t,t=s;return this.tail=this.head,this.head=e,this}}class ce{constructor(t){if(void 0===t)throw new Error("Graph vertex must have a value");const e=(t,e)=>t.getKey()===e.getKey()?0:t.getKey()t.value.startVertex===this?t.value.endVertex:t.value.startVertex;return t.map(e)}getEdges(){return this.edges.toArray().map(t=>t.value)}getDegree(){return this.edges.toArray().length}hasEdge(t){const e=this.edges.find({callback:e=>e===t});return!!e}hasNeighbor(t){const e=this.edges.find({callback:e=>e.startVertex===t||e.endVertex===t});return!!e}findEdge(t){const e=e=>e.startVertex===t||e.endVertex===t,s=this.edges.find({callback:e});return s?s.value:null}getKey(){return this.value}deleteAllEdges(){return this.getEdges().forEach(t=>this.deleteEdge(t)),this}toString(t){return t?t(this.value):""+this.value}}class ue{constructor(t,e,s=0){this.startVertex=t,this.endVertex=e,this.weight=s}getKey(){const t=this.startVertex.getKey(),e=this.endVertex.getKey();return`${t}_${e}`}reverse(){const t=this.startVertex;return this.startVertex=this.endVertex,this.endVertex=t,this}toString(){return this.getKey()}}function fe(t={}){const e=t,s=()=>{},i=(()=>{const t={};return({nextVertex:e})=>!t[e.getKey()]&&(t[e.getKey()]=!0,!0)})();return e.allowTraversal=t.allowTraversal||i,e.enterVertex=t.enterVertex||s,e.leaveVertex=t.leaveVertex||s,e}function me(t,e,s,i){i.enterVertex({currentVertex:e,previousVertex:s}),t.getNeighbors(e).forEach(a=>{i.allowTraversal({previousVertex:s,currentVertex:e,nextVertex:a})&&me(t,a,e,i)}),i.leaveVertex({currentVertex:e,previousVertex:s})}function pe(t,e,s){const i=null;me(t,e,i,fe(s))}function ge(t){let e=null;const s={},i={},a={},r={};t.getAllVertices().forEach(t=>{i[t.getKey()]=t});const o={enterVertex:({currentVertex:t,previousVertex:r})=>{if(a[t.getKey()]){e={};let i=t,a=r;while(a.getKey()!==t.getKey())e[i.getKey()]=a,i=a,a=s[a.getKey()];e[i.getKey()]=a}else a[t.getKey()]=t,delete i[t.getKey()],s[t.getKey()]=r},leaveVertex:({currentVertex:t})=>{r[t.getKey()]=t,delete a[t.getKey()]},allowTraversal:({nextVertex:t})=>!e&&!r[t.getKey()]};while(Object.keys(i).length){const e=Object.keys(i)[0],s=i[e];console.debug(e,s),pe(t,s,o)}return[e,a,r,i]}var xe={name:"SuperGraph",components:{EnsembleNodes:Nt,EnsembleEdges:Xt,MiniHistograms:te,EnsembleColorMap:oe},data:()=>({graph:null,id:"ensemble-supergraph-overview",dashboardID:"ensemble-supergraph-dashboard",nodeWidth:50,nodeScale:1,ySpacing:60,levelSpacing:50,margin:{top:10,right:10,bottom:20,left:10},width:null,height:null,treeHeight:null,data:null,message:"Summary Graph View",debug:!1,sankeyWidth:0,sankeyHeight:0,summaryChip:"SuperGraph",selectedMetric:""}),mounted(){this.id="ensemble-supergraph-overview";let t=this;E.$on("clear_summary_view",(function(){console.log("Clearing Summary view"),t.clear()})),E.$on("reveal-callsite",(function(){t.clear()})),E.$on("show_target_auxiliary",e=>{t.$refs.EnsembleNodes.$refs.TargetLine.clear(),t.$refs.MiniHistograms.clear()}),this.selectedMetric=this.$store.selectedMetric},methods:{async fetchData(){"Single"==this.$store.selectedMode?(this.data=await m.POSTRequest("single_supergraph",{dataset:this.$store.selectedTargetDataset,groupBy:"module"}),console.debug("[/single_supergraph]",this.data)):"Ensemble"==this.$store.selectedMode&&(this.data=await m.POSTRequest("ensemble_supergraph",{datasets:this.$store.selectedDatasets,groupBy:"module"}),console.debug("[/ensemble_supergraph]",this.data)),this.data=this.addNodeMap(this.data),this.data.graph=this.createGraphStructure(this.data);ge(this.data.graph);if(this.debug)for(let t=0;t1;p--){const d=t.length;let c={},g=n["actual_time"],x=n["max_flow"];void 0==this.existingIntermediateNodes[h.id]?(c={id:"intermediate_"+h.id,level:p-1,value:s[r].weight,targetValue:s[r].targetWeight,height:s[r].height,targetHeight:s[r].targetHeight,module:h.module,type:"intermediate",count:1},c[f]=h[f],m&&(console.log(c),t.push(c),m=!1),this.existingIntermediateNodes[h.id]=c):(void 0==a[s[r].source]?(a[s[r].source]=0,console.log(s[r].weight,s[r].source,s[r].target),this.existingIntermediateNodes[h.id].value+=s[r].weight):a[s[r].source]+=1,c=this.existingIntermediateNodes[h.id]);const b={type:"source_intermediate",source:n.id,target:c.id,weight:s[r].weight,targetWeight:s[r].targetWeight,actual_time:g,max_flow:x};e.push(b),this.debug&&console.log("[Ensemble SuperGraph] Adding intermediate source edge: ",b),p==u&&(e[r].original_target=l),e[r].target_data=t[d],this.debug&&console.log("[Ensemble SuperGraph] Updating this edge:",e[r]);const y={type:"target_intermediate",source:c.id,target:h.id,actual_time:g,weight:s[r].weight,targetWeight:s[r].targetWeight,max_flow:x};e.push(y),this.debug&&console.log("[Ensemble SuperGraph] Adding intermediate target edge: ",y),p==u&&(e[r].original_target=l),e[r].target_data=t[d],this.debug&&console.log("[Ensemble SuperGraph] Updating this edge:",e[r]),i.push({source:o,target:l})}}this.debug&&console.log("[Ensemble SuperGraph] Removing",i.length," edges.");for(let r=0;r({id:"cct-overview",margin:{top:0,right:0,bottom:0,left:0},width:null,height:null,zoom:null,HAS_DATA_COLUMNS:["module"],has_data_map:{}}),sockets:{single_cct(t){console.debug("Single CCT data: ",t),this.render(t)},ensemble_cct(t){console.debug("Ensemble CCT data: ",t),this.render(t)}},methods:{init(){"Single"===this.$store.selectedMode?this.$socket.emit("single_cct",{dataset:this.$store.selectedTargetDataset,functionsInCCT:this.$store.selectedFunctionsInCCT}):"Ensemble"===this.$store.selectedMode&&this.$socket.emit("ensemble_cct",{datasets:this.$store.selectedTargetDataset,functionsInCCT:this.$store.selectedFunctionsInCCT}),this.width=this.$store.viewWidth-this.margin.left-this.margin.right,this.height=this.$store.viewHeight-this.margin.bottom-this.margin.top,this.svg=C["u"]("#"+this.id).attrs({width:this.width,height:this.height}),this.g=this.createGraph()},createGraph(){const t=new St.a.graphlib.Graph({directed:!0,multigraph:!1,compound:!0});return t.setGraph({rankDir:"TD",rankSep:50,marginx:30,marginy:30}),t},setCallsiteName(t){return void 0==t["name"]?t["id"]:t["name"]},setCallsiteColor(t){let e="";"Inclusive"==this.$store.selectedMetric?e=this.$store.runtimeColor.getColor(t,"time (inc)"):"Exclusive"==this.$store.selectedMetric&&(e=this.$store.runtimeColor.getColor(t,"time"));const s=this.$store.runtimeColor.rgbArrayToHex(e),i=this.$store.runtimeColor.setContrast(s);return{node:s,text:i}},setCallsiteHTML(t,e){let s=t["name"],i="#fff"===e["text"]?'
'+s+"":'
'+s+"";if(this.has_data_map["module"]){let e=t["module"];i=i+'
Module : '+e+"
"}return i},nodes(t){t.forEach((t,e)=>{const s=this.setCallsiteName(t),i=this.setCallsiteColor(t),a=this.setCallsiteHTML(t,i),r={...t,class:"cct-node",labelType:"html",label:a,fillColor:i["node"]};this.g.setNode(s,r)});let e=this;this.g.nodes().forEach((function(t){let s=e.g.node(t);void 0!=s&&(s.style="fill:"+s.fillColor,s.rx=s.ry=4,s.id=s.name)}))},edges(t){for(let s=0;s{var s=e.g.edge(t);s.id="cct-edge"})},node_click_action(t){console.debug("click node : "+t);const e="fill: rgba(255,255,255, 0); stroke: #d5d5d5; stroke-width: 1.5px;",s="fill: #c5c5c5; stroke: #c5c5c5; stroke-width:4px;",i="fill: rgba(255,255,255, 0); stroke: #800080; stroke-width: 4px;",a="fill: #800080; stroke: #800080; stroke-width:1.5px;",r="fill: rgba(255,255,255, 0); stroke: #32CD32; stroke-width: 4px;",o="fill: #32CD32; stroke: #32CD32; stroke-width:1.5px;";let l=this.g.node(t).class,n=this;-1!=l.indexOf("highLight")?(this.g.node(t).class=l.toString().replace("highLight"," ").trim(),this.g.edges().forEach((function(t,i,a){let r=n.g.edge(t);r.style=e,r.arrowhead="vee",r.arrowheadStyle=s}))):(this.g.nodes().forEach((function(t){let e=n.g.node(t);l=e.class,"cct-node"!==l&&(e.class=l.replace("highLight"," ").trim())})),this.g.edges().forEach((function(l,h,d){let c=n.g.edge(l);c.style=e,c.arrowhead="vee",c.arrowheadStyle=s,l.v==t?(c.style=i,c.arrowhead="vee",c.arrowheadStyle=a):l.w==t&&(c.style=r,c.arrowhead="vee",c.arrowheadStyle=o)})),this.g.node(t).class+=" highLight")},zoomTranslate(){const t=this.g.graph().width+80,e=this.g.graph().height+40,s=parseInt(this.svg.style("width").replace(/px/,"")),i=parseInt(this.svg.style("height").replace(/px/,""));let a=Math.min(s/t,i/e);a>1.4&&(a-=.1);const r=[.5*(s-t*a),.5*(i-e*a)];this.svg.call(this.zoom.transform,C["y"].translate(r[0],r[1]).scale(a))},setHasDataMap(){this.has_data_map={};for(let t=0;t({id:"",textCount:0,textxOffset:20,textyOffset:20,textPadding:13,offset:10,fontSize:12}),sockets:{tooltip(t){this.render(t)}},watch:{},mounted(){},methods:{init(t){this.id=t,this.toolTipDiv=C["u"]("#"+this.id).append("svg").attr("class","toolTipSVG"),this.toolTipG=this.toolTipDiv.append("g"),this.height=document.getElementById(this.id).clientHeight/10,this.halfWidth=document.getElementById(this.id).clientWidth/2},render(t,e){this.clear(),this.width=t.length*this.fontSize+10*this.fontSize;var s=C["q"]().domain([2,11]).range([50,150]);this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipG.attr("height",s(10)+"px"),this.toolTipRect=this.toolTipG.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:this.width,height:this.height}).attrs({x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth-25?this.mousePosX-this.width+"px":this.mousePosX+"px",y:()=>this.mousePosY+"px"}),this.node=e,this.data=t,this.processes()},addText(t){this.textCount+=1,this.toolTipText=this.toolTipG.append("text").style("font-family","sans-serif").style("font-size",this.fontSize).attrs({class:"toolTipContent",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth-25?this.mousePosX-this.width+this.offset+"px":this.mousePosX+this.offset+"px",y:()=>this.mousePosY+2*this.offset+"px"}).text(t)},processes(){this.addText("Processes (MPI ranks): "+this.data)},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},Ie=Ee,Be=Object(x["a"])(Ie,De,Pe,!1,null,null,null),Ae=Be.exports,Oe={name:"SingleScatterplot",components:{ToolTip:Ae},data:()=>({padding:{top:10,right:10,bottom:10,left:15},xData:[],yData:[],xMin:0,xMax:0,yMin:0,yMax:0,firstRender:!0,boxHeight:0,boxWidth:0,id:"scatterplot-view",svgID:"scatterplot-view-svg",message:"MPI Runtime Scatterplot",boxOffset:20,superscript:"⁰¹²³⁴⁵⁶⁷⁸⁹",paddingFactor:3.5,x_max_exponent:0,y_max_exponent:0,corr_coef:0}),mounted(){let t=this;E.$on("single-scatterplot",(function(e){t.clear(),console.debug("Single Scatterplot: ",e["module"]),t.render(e["module"])}))},methods:{init(){this.width=.25*window.innerWidth,this.height=.45*this.$store.viewHeight,this.boxWidth=this.width-this.padding.right-this.padding.left,this.boxHeight=this.height-this.padding.top-this.padding.bottom,this.svg=C["u"]("#"+this.svgID).attr("width",this.boxWidth).attr("height",this.boxHeight-this.padding.top).attr("transform","translate("+this.padding.left+","+this.padding.top+")"),this.xAxisHeight=this.boxWidth-4*this.padding.left,this.yAxisHeight=this.boxHeight-4*this.padding.left,E.$emit("single-scatterplot",{module:Object.keys(this.$store.modules[this.$store.selectedTargetDataset])[0],dataset:this.$store.selectedTargetDataset})},render(t){this.firstRender||this.clear(),this.firstRender=!1,this.selectedModule=t;let e=this.process();this.xMin=e[0],this.yMin=e[1],this.xMax=e[2],this.yMax=e[3],this.xArray=e[4],this.yArray=e[5],this.xScale=C["q"]().domain([this.xMin,this.xMax]).range([0,this.xAxisHeight]),this.yScale=C["q"]().domain([this.yMin,this.yMax]).range([this.yAxisHeight,this.padding.top]),this.regression=this.leastSquares(this.xArray,this.yArray),this.corr_coef=Math.round(100*this.regression["corr_coef"])/100,this.xAxis(),this.yAxis(),this.dots()},process(){let t=this.$store.modules[this.$store.selectedTargetDataset][this.$store.selectedModule],e=t["Inclusive"]["data"],s=t["Exclusive"]["data"],i=[],a=[],r=0,o=0,l=0,n=0;for(const[h,d]of Object.entries(s))o=Math.min(o,d),l=Math.max(l,d),i.push(d);for(const[h,d]of Object.entries(e))r=Math.min(r,d),n=Math.max(n,d),a.push(d);return[o,r,l,n,i,a]},leastSquares(t,e){for(var s=t.length,i=0,a=0,r=0,o=0,l=0;l{let i=N(e,t.x_max_exponent);return""+i[0]});let s=this.svg.append("g").attrs({class:"axis",id:"xAxis",transform:"translate("+this.paddingFactor*this.padding.left+","+this.yAxisHeight+")"}).call(e);s.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),s.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px"),s.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")},addyAxisLabel(){let t=this.yScale.domain()[1];this.y_max_exponent=W(t);this.superscript[this.y_max_exponent];let e="(e+"+this.y_max_exponent+") Inclusive Runtime (μs)";this.svg.append("text").attrs({class:"axis-label",transform:"rotate(-90)",x:-this.padding.top,y:.5*this.padding.left}).style("text-anchor","end").style("font-size","12px").text(e)},yAxis(){let t=this;this.addyAxisLabel();let e=C["c"](this.yScale).ticks(10).tickFormat((e,s)=>{let i=N(e,t.y_max_exponent);return""+i[0]});var s=this.svg.append("g").attr("id","yAxis").attr("class","axis").attr("transform","translate("+this.paddingFactor*this.padding.left+", 0)").call(e);s.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),s.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.5),s.selectAll("text").style("font-size","14px").style("font-family","sans-serif").style("font-weight","lighter")},trendline(){let t=this,e=C["j"]().x((function(e,s){return t.xScale(t.xArray[s])})).y((function(e,s){return t.yScale(t.yArray[s])}));this.svg.append("g").attr("class","trend-line").append("path").datum(this.regression["y_res"]).attr("d",e).style("stroke",this.$store.color.intermediate).style("stroke-width","1px").style("opacity",.5).attr("transform","translate("+this.paddingFactor*this.padding.left+", 0)")},dots(){let t=this;this.svg.selectAll(".dot").data(this.yArray).enter().append("circle").attr("class","dot").attr("r",5).attr("cx",(function(e,s){return t.xScale(t.xArray[s])+3*t.padding.left})).attr("cy",(function(e,s){return t.yScale(t.yArray[s])})).style("fill",this.$store.runtimeColor.intermediate).style("stroke","#202020").style("stroke-width",.5)},correlationText(){let t=this,e=C["g"]("0.2f");this.svg.append("g").append("text").attr("class","text").text("corr-coef: "+e(this.regression["corr_coef"])).attr("x",(function(e){return t.boxWidth-t.width/3})).attr("y",(function(t){return 20}))},clear(){C["v"](".dot").remove(),C["v"](".axis").remove(),C["v"](".trend-line").remove(),this.svg.selectAll("text").remove()}}},He=Oe,Re=Object(x["a"])(He,we,Se,!1,null,null,null),Ge=Re.exports,Fe=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-layout",{attrs:{row:"",wrap:"",id:t.id}},[s("v-layout",{staticClass:"chip-container"},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")])],1),s("svg",{attrs:{id:t.svgID}}),s("ToolTip",{ref:"ToolTip"})],1)},Le=[],qe=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:"tooltip-histogram"}})},Ne=[],We={name:"ToolTip",components:{},props:[],data:()=>({id:"single-histogram-tooltip",textCount:0,textxOffset:20,textyOffset:20,textPadding:13,offset:10,fontSize:12,containerHeight:50,containerWidth:200}),sockets:{tooltip(t){this.render(t)}},watch:{},mounted(){},methods:{init(t){this.parentID=t,this.toolTipDiv=C["u"]("#"+this.parentID).append("svg").attr("class","toolTipSVG"),this.toolTipG=this.toolTipDiv.append("g"),this.height=document.getElementById(this.parentID).clientHeight,this.halfWidth=document.getElementById(this.parentID).clientWidth/2},render(t,e){this.clear(),this.width=t.length*this.fontSize+10*this.fontSize;const s=C["q"]().domain([2,11]).range([this.containerWidth,this.containerHeight]);this.mousePos=C["m"](C["u"]("#"+this.parentID).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipG.attr("height",s(10)+"px"),this.node=e,this.data=t,this.addText("Processes (MPI ranks):"+this.data)},optimizeTextHeight(t){const e=Y(t),s=e.width/this.containerWidth;return{width:this.containerWidth,height:s*e.height}},addText(t){const e=this.optimizeTextHeight(t);this.toolTipRect=this.toolTipG.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:e.width+20,height:e.height}).attrs({x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.parentID).clientWidth-25?this.mousePosX-this.containerWidth+"px":this.mousePosX+"px",y:()=>this.mousePosY+"px"}).style("z-index",2),this.textCount+=1,this.toolTipText=this.toolTipG.append("text").style("font-family","sans-serif").style("font-size",this.fontSize).attrs({class:"toolTipContent",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.parentID).clientWidth-25?this.mousePosX-this.containerWidth+this.offset+"px":this.mousePosX+this.offset+"px",y:()=>this.mousePosY+2*this.offset+"px"}).style("z-index",2).text(t).call(X,e.width)},processes(){},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},ze=We,Ve=Object(x["a"])(ze,qe,Ne,!1,null,null,null),je=Ve.exports,Ye={name:"SingleHistogram",components:{ToolTip:je},props:[],data:()=>({data:[],width:null,height:null,histogramHeight:null,histogramWidth:null,padding:{top:10,right:10,bottom:10,left:15},dataset_index:[],id:"single-histogram-view",svgID:"single-histogram-view-svg",firstRender:!0,xVals:[],freq:[],selectedColorBy:"Inclusive",MPIcount:0,message:"MPI Runtime Distribution",paddingFactor:3.5,boxOffset:20,x_max_exponent:0,superscript:"⁰¹²³⁴⁵⁶⁷⁸⁹"}),mounted(){let t=this;E.$on("single-histogram",(function(e){console.log("Single histogram: ",e["module"]),t.visualize(e["module"])}))},methods:{init(){this.width=.25*window.innerWidth,this.height=.5*this.$store.viewHeight,this.boxWidth=this.width-this.padding.right-this.padding.left,this.boxHeight=this.height-this.padding.top-this.padding.bottom,this.histogramOffset=Math.floor(this.boxHeight/4),this.histogramHeight=this.boxHeight-this.histogramOffset,this.histogramWidth=this.boxWidth,this.rankScaleHeight=this.boxHeight-this.histogramHeight,this.rankScaleWidth=this.histogramWidth,this.xAxisHeight=this.histogramWidth-(this.paddingFactor-1.5)*this.padding.left,this.yAxisHeight=this.histogramHeight-(this.paddingFactor-1.5)*this.padding.left,this.svg=C["u"]("#"+this.svgID).attrs({width:this.boxWidth,height:this.boxHeight,transform:"translate("+this.padding.left+","+this.padding.top+")"}),E.$emit("single-histogram",{module:Object.keys(this.$store.modules[this.$store.selectedTargetDataset])[0],groupBy:this.$store.selectedGroupBy,dataset:this.$store.selectedTargetDataset})},setupScale(t){let e=this.$store.modules[this.$store.selectedTargetDataset][t],s=e[this.$store.selectedMetric]["prop_histograms"]["rank"]["target"],i=e[this.$store.selectedMetric]["data"],a=this.dataProcess(s,i);this.xVals=a[0],this.freq=a[1],this.axis_x=a[2],this.binContainsProcID=a[3],this.logScaleBool=!1,this.xScale=C["p"]().domain(this.xVals).range([this.paddingFactor*this.padding.left,this.xAxisHeight]),"Linear"==this.$store.selectedScale?(this.yScale=C["q"]().domain([0,C["k"](this.freq)]).range([this.yAxisHeight,this.padding.top]),this.logScaleBool=!1):"Log"==this.$store.selectedScale&&(this.yScale=C["r"]().domain([1,C["k"](this.freq)]).range([this.yAxisHeight,this.padding.top]),this.logScaleBool=!0)},clear(){C["v"](".single-histogram-bar").remove(),C["u"](".x-axis").remove(),C["u"](".y-axis").remove(),C["v"](".histogram-axis-label").remove(),C["v"](".binRank").remove(),C["v"](".lineRank").remove(),C["v"](".brush").remove(),this.$refs.ToolTip.clear()},visualize(t){this.clear(),this.setupScale(t),this.bars(),this.xAxis(),this.yAxis(),this.rankLineScale(),this.brushes(),this.$refs.ToolTip.init(this.svgID)},array_unique(t){return t.filter((function(t,e,s){return s.indexOf(t)===e}))},dataProcess(t,e){let s=[],i={},a=t["x_min"],r=t["x_max"];const o=(r-a)/t["x"].length;for(let l=0;l{let s=Math.floor((t-a)/o);s>=this.$store.selectedMPIBinCount&&(s=this.$store.selectedMPIBinCount-1),null==i[s]&&(i[s]=[]),i[s].push(e)}),[t["x"],t["y"],s,i]},removeDuplicates(t){var e={};return t.filter((function(t){return!e.hasOwnProperty(t)&&(e[t]=!0)}))},groupProcess(t){const e=t.slice();let s=0,i="[ ";const a=[];let r=!0;function o(t,i){t+1==e[i]?(t=e[i],i+=1,o(t,i)):l(s,i-1)}function l(t,i){n(t,i),i++,s=i;const a=e[i];ithis.xScale(this.xVals[e]),y:(t,e)=>this.yScale(t),width:this.xScale.bandwidth(),height:t=>Math.abs(this.yAxisHeight-this.yScale(t)),fill:this.$store.runtimeColor.intermediate,opacity:1,"stroke-width":"0.2px",stroke:"#202020"}).style("z-index",1).on("click",(function(e,s){C["u"](this).attr("fill",t.$store.runtimeColor.highlight),C["v"](".lineRank_"+s).style("fill","orange").style("fill-opacity",1);let i=t.groupProcess(t.binContainsProcID[s]).string;i=t.sanitizeGroupProc(i),t.$refs.ToolTip.render(i,e)})).on("mouseover",(function(e,s){C["u"](this).attr("fill",t.$store.runtimeColor.highlight),C["v"](".lineRank_"+s).style("fill","orange").style("fill-opacity",1);let i=t.groupProcess(t.binContainsProcID[s]).string;i=t.sanitizeGroupProc(i),t.$refs.ToolTip.render(i,e)})).on("mouseout",(function(e,s){C["u"](this).attr("fill",t.$store.runtimeColor.intermediate),C["v"](".lineRank_"+s).style("fill","grey").style("fill-opacity",.4),t.$refs.ToolTip.clear()}))},addxAxisLabel(){let t=this.xScale.domain()[1];this.x_max_exponent=W(t);this.superscript[this.x_max_exponent];let e="(e+"+this.x_max_exponent+") "+this.$store.selectedMetric+" Runtime (μs)";this.svg.append("text").attrs({class:"histogram-axis-label",x:this.histogramWidth-this.padding.left,y:this.yAxisHeight+3*this.padding.top}).style("font-size","12px").style("text-anchor","end").text(e)},xAxis(){this.addxAxisLabel();const t=C["b"](this.xScale).ticks(10).tickFormat((t,e)=>{if(e%3==0){let t=N(this.xVals[e],self.x_max_exponent);return""+t[0]}}),e=this.svg.append("g").attrs({class:"x-axis",transform:"translate(0,"+this.yAxisHeight+")"}).call(t);e.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.5),e.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")},yAxis(){const t=C["c"](this.yScale).ticks(10).tickFormat((t,e)=>{if(t%1==0)return t});this.svg.append("text").attrs({transform:"rotate(-90)",class:"histogram-axis-label",x:-this.padding.top,y:this.padding.left}).style("font-size","12px").style("text-anchor","end").text("Number of Processes");const e=this.svg.append("g").attrs({class:"y-axis",transform:"translate("+this.paddingFactor*this.padding.left+", 0)"}).call(t);e.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.2),e.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")},rankLineScale(){let t=this.$store.modules[this.$store.selectedTargetDataset][this.$store.selectedModule][this.$store.selectedMetric].data.length;this.ranklinescale=C["q"]().domain([0,t]).range([this.paddingFactor*this.padding.left,this.xAxisHeight]),this.freq.forEach((e,s)=>{const i=this.binContainsProcID[s];if(i){const e=this.svg.append("g").attr("class","binRank bin_"+s).attr("data-name",s);i.sort((t,e)=>t-e);const a=this.groupProcess(i).array,r=this.xScale.bandwidth(),o=r/t,l=this.xScale(this.xVals[s]);let n=0;a.forEach(t=>{let i=0,a=0;1==t.length?(i=t[0],a=i+1):(i=t[0],a=t[1]+1);let r=n+l+o,h=n+(a-i+1)*o+l,d=this.ranklinescale(i),c=this.ranklinescale(a),u=this.boxHeight-this.histogramOffset,f=this.boxHeight;n+=(a-i+1)*o;const m="M"+r+" "+u+"L "+h+" "+u+"L "+c+" "+f+"L "+d+" "+f;e.append("path").attr("d",m).attr("class","lineRank lineRank_"+s).style("fill",t=>"grey").style("fill-opacity",.4).attr("transform",`translate(0,${-3*this.padding.bottom})`)})}});const e=C["b"](this.ranklinescale).ticks(10).tickFormat((t,e)=>{if(t%1==0)return t}),s=this.svg.append("g").attr("class","histogram-rank-axis").attr("id","rankAxis").attr("transform",`translate(0,${this.boxHeight-3*this.padding.bottom})`).call(e);s.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),s.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.5),s.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")},brushes(){this.brushdata=[],this.brushSVG=this.svg.append("svg"),this.brush=C["d"]().extent([[this.paddingFactor*this.padding.left,this.yAxisHeight],[this.paddingFactor*this.padding.left+this.xAxisHeight-this.paddingFactor*this.padding.left,this.yAxisHeight+this.rankScaleHeight]]).on("brush",this.brushing).on("end",this.brushend);let t=0;this.brushdata.push({id:t,brush:this.brush}),this.brushSVG.selectAll(".brush").data(this.brushdata).enter().insert("g",".brush").attr("class","brush").call(this.brush)},brushing(){const t=C["q"]().domain([this.xScale.domain()[0],this.xScale.domain()[this.xScale.domain().length-1]]).range(this.xScale.range());let e=C["f"].selection.map(t.invert)[0],s=C["f"].selection.map(t.invert)[1],i=this.xScale.domain().length,a=this.xScale.domain()[0],r=this.xScale.domain()[this.xScale.domain().length-1];this.localBrushStart=Math.floor((e-a)/(r-a)*i),this.localBrushEnd=Math.ceil((s-a)/(r-a)*i),this.svg.selectAll(".binRank").attr("opacity",.5);for(let o=this.localBrushStart;o{e.push(t)})}t.$socket.emit("split-mpi-rank",{dataset:t.$store.selectedDataset,ranks:e})}}},Xe=Ye,Ke=Object(x["a"])(Xe,Fe,Le,!1,null,null,null),Ue=Ke.exports,Qe=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-layout",{attrs:{row:"",wrap:"",id:t.id}},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")]),s("v-spacer"),1==t.isCallsiteSelected?s("v-layout",{attrs:{row:"",wrap:""}},[s("v-btn",{staticClass:"ma-1 reveal-button",attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.revealCallsite}},[t._v(" Reveal ")])],1):t._e(),1==t.isModuleSelected?s("v-layout",{attrs:{row:"",wrap:""}},[s("v-btn",{staticClass:"ma-1 reveal-button",class:t.isEntryFunctionSelected,attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.showEntryFunctions}},[t._v(" Entry call sites ")]),s("v-btn",{staticClass:"ma-1 reveal-button",class:t.isCalleeSelected,attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.showExitFunctions}},[t._v(" Callees ")]),s("v-spacer"),"true"==t.showSplitButton?s("v-btn",{staticClass:"ma-1 reveal-button",attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.split}},[t._v(" Split ")]):t._e()],1):t._e(),s("span",{staticClass:"component-info"},[t._v(" "+t._s(t.numberOfcallsites)+" call sites. ")]),t._l(t.callsites,(function(e){return s("v-container",{key:t.getID(e.id),staticClass:"callsite-information-node"},[s("v-layout",{attrs:{row:"",wrap:""}},[s("v-flex",{attrs:{md1:""}},[s("v-card",{staticClass:"mx-auto",attrs:{width:"25px",tile:"",outlined:""}},[s("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(i){var a=i.on;return[s("v-flex",t._g({class:t.selectClassName[e.name],attrs:{"text-xs-center":"",id:e.name},on:{click:t.changeSelectedClassName}},a),[t._v(" "+t._s(t.formatNumberOfHops(e.component_level))+" ")])]}}],null,!0)},[s("span",[t._v(" Callsite depth:"+t._s(t.formatNumberOfHops(e.component_level))+" ")])])],1)],1),s("v-flex",{attrs:{md11:""}},[s("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(i){var a=i.on;return[s("v-flex",t._g({staticClass:"pl-2 subtitle-2 font-weight-black"},a),[t._v(" "+t._s(t.formatName(e.name))+" ")])]}}],null,!0)},[s("span",[t._v(t._s(e.name))])])],1)],1),s("v-layout",{staticClass:"information",attrs:{row:"",wrap:""}},[s("div",{staticClass:"subtitle-2"},[t._v(" Module: "+t._s(t.formatModule(e.module))+" ")])]),s("v-layout",{staticClass:"information",attrs:{row:"",wrap:""}},[s("div",{staticClass:"subtitle-2"},[t._v("Mean : "+t._s(t.mean[e.name]))]),s("v-spacer")],1),s("v-layout",{staticClass:"information",attrs:{row:"",wrap:""}},[s("div",{staticClass:"subtitle-2"},[t._v("Variance : "+t._s(t.variance[e.name]))])]),s("v-layout",{staticClass:"information",attrs:{row:"",wrap:""}},[s("div",{staticClass:"subtitle-2"},[t._v(" Std. deviation : "+t._s(t.stdDeviation[e.name])+" ")])]),s("BoxPlot",{ref:e.id,refInFor:!0,attrs:{callsite:e}})],1)}))],2)},Ze=[],Je=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("svg",{staticClass:"boxplot",attrs:{id:t.id,width:t.containerWidth,height:t.containerHeight}},[s("Box",{ref:"Box"}),s("Markers",{ref:"Markers"}),s("Outliers",{ref:"Outliers"}),s("ToolTip",{ref:"ToolTip"})],1)},ts=[],es=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"box"})},ss=[],is={name:"Box",data:()=>({id:"box",paddingTop:10,textOffset:40,fontSize:10,debug:!1,superscript:"⁰¹²³⁴⁵⁶⁷⁸⁹"}),methods:{init(t,e,s,i){this.debug&&(console.log("Ensemble q: ",e),console.log("Target q: ",s)),this.q=e,this.targetq=s,this.xScale=i,this.svg=C["u"]("#boxplot-"+t.id),this.id="box-"+t.id,this.g=this.svg.select(".box").attrs({transform:"translate(0, "+this.$parent.boxPosition+")"}),this.box(),this.axis(),this.centerLine(),this.$parent.$refs.ToolTip.init("boxplot-"+t.id)},box(){let t=this;this.targetBoxSVG=this.g.append("rect").attr("class","box").attrs({y:0,x:this.xScale(this.targetq.q1),height:this.$parent.rectHeight,fill:this.$store.runtimeColor.intermediate,width:e=>t.targetq.q1==t.targetq.q3?3:t.xScale(t.targetq.q3)-t.xScale(t.targetq.q1),stroke:"#202020","stroke-width":.5}).style("z-index",1).on("mouseover",e=>{t.$parent.$refs.ToolTip.renderQ(t.targetq)}).on("mouseout",e=>{t.$parent.$refs.ToolTip.clear()})},centerLine(){this.centerLineSVG=this.g.insert("line","rect").attrs({class:"centerLine",y1:this.$parent.centerLinePosition,x1:this.xScale(this.targetq.min),y2:this.$parent.centerLinePosition,x2:this.xScale(this.targetq.max),stroke:"black"}).style("stroke-width","1.5").style("z-index",10)},addxAxisLabel(){let t=this.xScale.domain()[1];this.x_max_exponent=W(t);this.superscript[this.x_max_exponent];let e="(e+"+this.x_max_exponent+") Exclusive Runtime (μs)";this.g.append("text").attr("class","boxplot-axis-label").attr("x",this.$parent.boxWidth-20).attr("y",3.8*this.$parent.centerLinePosition).style("font-size","12px").style("text-anchor","end").text(e)},axis(){this.addxAxisLabel();const t=C["b"](this.xScale).ticks(5).tickFormat((t,e)=>{let s=N(t,1);return""+s[0]}),e=this.g.append("g").attrs({class:"boxplot-axis",transform:"translate(0,"+2.5*this.$parent.centerLinePosition+")"}).call(t);e.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("line").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")},clear(){this.g.selectAll(".box").remove(),this.g.selectAll(".centerLine").remove(),this.g.selectAll(".boxplot-axis-label").remove(),this.g.selectAll(".boxplot-axis").remove()}}},as=is,rs=Object(x["a"])(as,es,ss,!1,null,null,null),os=rs.exports,ls=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"marker"})},ns=[],hs={name:"Markers",data:()=>({paddingTop:10,textOffset:40,fontSize:10,topPosition:-.2,bottomPosition:.7}),methods:{init(t,e,s,i,a){this.$store.selectedMarker="target",this.q=e,this.targetq=s,this.xScale=i,this.svg=C["u"]("#boxplot-"+t.id),this.g=this.svg.select(".marker").attrs({transform:"translate(0, "+this.$parent.boxPosition+")"}),this.markery1=this.$parent.centerLinePosition-this.$parent.rectHeight/2,this.markery2=this.$parent.centerLinePosition+this.$parent.rectHeight/2,this.medianMarker(),this.extremeMarkers()},medianMarker(){this.medianMarkery1=this.$parent.centerLinePosition-this.$parent.rectHeight,this.medianMarkery2=this.$parent.centerLinePosition+this.$parent.rectHeight,this.medianLine=this.g.append("line").attrs({class:"median",y1:this.medianMarkery1,x1:this.xScale(this.targetq.q2),y2:this.medianMarkery2,x2:this.xScale(this.targetq.q2),stroke:"black"}).style("stroke-width","2").style("z-index",10)},extremeMarkers(){this.targetData=this.targetq,this.data=this.q,this.minMaxTargetMarker()},minMaxTargetMarker(){this.g.append("line").attrs({class:"whisker",y1:this.markery1,x1:this.xScale(this.targetData.min),y2:this.markery2,x2:this.xScale(this.targetData.min),stroke:this.$store.runtimeColor.intermediate}).style("stroke-width","1.5"),this.g.append("line").attrs({class:"whisker",y1:this.markery1,x1:this.xScale(this.targetData.max),y2:this.markery2,x2:this.xScale(this.targetData.max),stroke:this.$store.runtimeColor.intermediate}).style("stroke-width","1.5")},minText(){let t=this.targetData.min;this.g.append("text").attrs({class:"whiskerText body-1",x:.5*this.fontSize,y:this.$parent.containerHeight*this.topPosition,fill:C["o"](this.$store.runtimeColor.intermediate).darker(1)}).style("stroke-width","1").text("Min: "+q(t))},maxText(){let t=this.targetData.max;this.g.append("text").attrs({class:"whiskerText body-1",x:this.$parent.containerWidth-9*this.fontSize,y:this.$parent.containerHeight*this.topPosition,fill:C["o"](this.$store.runtimeColor.intermediate).darker(1)}).style("stroke-width","1").text("Max:"+q(t))},medianText(){let t=this.targetData.q2;this.g.append("text").attrs({class:"whiskerText body-1",x:this.$parent.containerWidth/2-4.5*this.fontSize,y:this.$parent.containerHeight*this.topPosition,fill:C["o"](this.$store.runtimeColor.intermediate).darker(1)}).style("stroke-width","1").text("Med.:"+q(t))},qTexts(){this.q1Text(),this.q3Text()},q1Text(){this.g.append("text").attrs({class:"whiskerText",x:this.$parent.containerWidth/3,y:this.informationHeight*this.topPosition,fill:C["o"](this.fill).darker(1)}).style("stroke-width","2").text("q1: "+q(this.q.q1))},q3Text(){this.g.append("text").attrs({class:"whiskerText",x:this.$parent.boxWidth/3*2,y:this.informationHeight*this.topPosition,fill:C["o"](this.fill).darker(1)}).style("stroke-width","1").text("q3: "+q(this.q.q3))},formatName(t){if(t.length<20)return t;let e=this.trunc(t,20);return e},clear(){this.g.selectAll(".whiskerText").remove(),this.g.selectAll(".whisker").remove(),this.g.selectAll(".median").remove()}}},ds=hs,cs=Object(x["a"])(ds,ls,ns,!1,null,null,null),us=cs.exports,fs=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"outlier"})},ms=[],ps={name:"Outliers",data:()=>({paddingTop:10,textOffset:40,fontSize:10,outlierRadius:4,informationHeight:70}),created(){this.id="outliers-"+this.callsiteID},methods:{init(t,e,s,i,a,r,o,l,n){this.q=t,this.targetq=e,this.ensembleWhiskerIndices=s,this.targetWhiskerIndices=i,this.d=a,this.targetd=r,this.xScale=o,this.callsite=l,this.svg=C["u"]("#boxplot-"+l.id),this.g=this.svg.select(".outlier").attrs({transform:"translate(0, "+this.paddingTop+")"}),this.height=this.$parent.containerHeight,this.width=this.$parent.containerWidth,this.boxHeight=this.height-this.paddingTop-this.informationHeight,this.boxWidth=this.width,this.targetOutliers(),this.$parent.$refs.ToolTip.init("boxplot-"+l.id)},groupByBand(t,e){let s,i,a,r,o=[],l=0,n=0,h=0;for(let d=0;de&&(o.push({values:s,x:i,count:n,ranks:r,datasets:a}),n>h&&(h=n),s=[],i=[],a=[],r=[],s.push(c.value),i.push(c.x),a.push(c.dataset),r.push(c.rank),n=1,l=c.x),d==t.length-1&&(u>e?o.push({values:s,x:i,datasets:a,ranks:r,count:n}):u>e&&(s=[],i=[],a=[],r=[],s.push(c.value),i.push(c.x),r.push(c.rank),a.push(c.dataset),n=1,o.push({values:s,x:i,datasets:a,ranks:r,count:n})))}return{circles:o,max_count:h}},groupOutliers(t,e,s){const i=e**2,a=t.map(t=>{let e=this.xScale(t.value);return{x:e,value:t.value,rank:t.rank,dataset:t.dataset}}).sort((t,e)=>t.x-e.x),r=.001;let o=null,l=null;function n(t,e){let s=o;while(s){if(i-r>(s.x-t)**2+(s.y-e)**2)return!0;s=s.next}return!1}for(const c of a){while(o&&o.x0==this.max_count?0:t.count/this.max_count+4,cx:t=>t.x[0],cy:t=>this.boxHeight/2-this.informationHeight/4,class:"target-outlier"}).style("opacity",1).style("fill",this.$store.runtimeColor.intermediate).on("click",e=>{t.$parent.$parent.selectedOutlierRanks=e["ranks"].sort((t,e)=>t-e),t.$parent.$parent.selectedOutlierDatasets=e["datasets"].filter((t,e,s)=>s.indexOf(t)===e)}).on("mouseover",e=>{t.$parent.$refs.ToolTip.renderOutliers(e)}).on("mouseout",e=>{t.$parent.$refs.ToolTip.clear()})}else this.target_outliers=[]},clear(){this.g.selectAll(".ensemble-outlier").remove(),this.g.selectAll(".target-outlier").remove()}}},gs=ps,xs=Object(x["a"])(gs,fs,ms,!1,null,null,null),bs=xs.exports,ys=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:"tooltip-auxiliary-function"}})},vs=[],$s={name:"ToolTip",components:{},data:()=>({textCount:0,textxOffset:20,textyOffset:20,textPadding:18,offset:10,fontSize:12}),methods:{init(t){this.id=t,this.toolTipDiv=C["u"]("#"+t),this.height=80,this.halfWidth=document.getElementById(this.id).clientWidth/2,this.halfHeight=document.getElementById(this.id).clientHeight/2},addText(t){this.toolTipText=this.toolTipDiv.append("text").style("font-family","sans-serif").style("font-size","").attrs({class:"toolTipContent",x:()=>this.mousePosX>this.halfWidth?this.mousePosX-this.halfWidth+this.textxOffset+"px":this.mousePosX+this.textxOffset+"px",y:()=>this.mousePosY>this.halfHeight?this.mousePosY+this.textyOffset+this.textPadding*this.textCount-this.halfHeight+"px":this.mousePosY+this.textyOffset+this.textPadding*this.textCount+"px"}).text(t),this.textCount+=1},quartiles(){this.addText("Q1: "+F(this.data.q1)),this.addText("Q3: "+F(this.data.q3))},outliers(){this.addText(this.data.count+" outliers")},drawRect(t,e){this.clear(),this.width=t*this.fontSize;C["q"]().domain([2,11]).range([50,150]);this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipRect=this.toolTipDiv.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:this.width,height:e*this.fontSize,x:()=>this.mousePosX>this.halfWidth?this.mousePosX-this.halfWidth+"px":this.mousePosX+"px",y:()=>this.mousePosY>this.halfHeight?this.mousePosY-this.halfHeight+"px":this.mousePosY+"px"})},renderQ(t){this.data=t,this.drawRect(13,4),this.quartiles()},renderOutliers(t){this.data=t,this.drawRect(10,4),this.outliers()},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},Cs=$s,Ms=Object(x["a"])(Cs,ys,vs,!1,null,null,null),_s=Ms.exports,Ts={name:"BoxPlot",props:["callsite","width","height","showTarget"],data:()=>({id:"",boxContainerID:"",markerContainerID:"",outlierContainerID:"",padding:{top:10,bottom:10,left:10,right:10},targetBoxWidth:0,targetBoxHeight:0,targetBoxFill:"",targetBoxX:0,targetBoxY:0,containerHeight:150,containerWidth:0,parentID:"",informationHeight:80,outlierHeight:20,rectHeight:0,centerLinePosition:0,boxHeight:0,boxWidth:0}),components:{Box:os,Outliers:bs,Markers:us,ToolTip:_s},mounted(){this.init();let t=this;E.$on("single-refresh-boxplot",e=>{t.clear(),t.init()})},created(){this.id="boxplot-"+this.callsite.id},methods:{init(){this.containerHeight=150,this.containerWidth=this.$parent.boxplotWidth-2*this.padding.right-1*this.padding.left,this.boxHeight=this.containerHeight-this.informationHeight,this.boxWidth=this.containerWidth,this.boxPosition=this.informationHeight/2+this.outlierHeight/2,this.centerLinePosition=(this.boxHeight-this.informationHeight/4)/2,this.rectHeight=this.boxHeight-this.informationHeight/4-this.outlierHeight/4,this.process(this.callsite),this.svg=C["u"]("#boxplot-"+this.callsite.id).attrs({class:"boxplot",width:this.containerWidth,height:this.containerHeight}),this.xScale=C["q"]().domain([this.targetq.min,this.targetq.max]).range([.05*this.containerWidth,this.containerWidth-.05*this.containerWidth]),this.visualize(this.callsite)},visualize(t){this.$refs.Box.init(t,this.q,this.targetq,this.xScale,this.showTarget),this.$refs.Markers.init(t,this.q,this.targetq,this.xScale,this.showTarget),this.$refs.Outliers.init(this.q,this.targetq,this.ensembleWhiskerIndices,this.targetWhiskerIndices,this.d,this.targetd,this.xScale,this.callsite,this.showTarget)},clear(){this.$refs.Box.clear(),this.$refs.Markers.clear(),this.$refs.Outliers.clear()},process(t){void 0!=this.$store.callsites[this.$store.selectedTargetDataset][t.name]?this.target_data=this.$store.callsites[this.$store.selectedTargetDataset][t.name][this.$store.selectedMetric]["q"]:this.target_data=[0,0,0,0,0],this.targetq=this.qFormat(this.target_data)},qFormat(t){let e={min:t[0],q1:t[1],q2:t[2],q3:t[3],max:t[4]};return e}}},ks=Ts,ws=Object(x["a"])(ks,Je,ts,!1,null,null,null),Ss=ws.exports,Ds={name:"CallsiteInformation",components:{BoxPlot:Ss},data:()=>({id:"callsite-information-overview",message:"Call site Information",callsites:[],numberOfcallsites:0,firstRender:!0,padding:{top:0,right:10,bottom:0,left:10},textOffset:25,boxplotHeight:340,boxplotWidth:0,duration:300,iqrFactor:.15,outlierRadius:4,outlierList:{},callsiteIDMap:{},settings:[{title:"Sort by Inclusive runtime"},{title:"Sort by Exclusive Runtime"}],selectedModule:"",selectedCallsite:"",informationHeight:0,revealCallsites:[],selectedMetric:"",targetMeans:{},targetVariance:{},targetStandardDeviation:{},intersectionCallsites:{},isModuleSelected:!1,isCallsiteSelected:!1,isEntryFunctionSelected:"unselect-callsite",isCalleeSelected:"unselect-callsite",showSplitButton:"false",selectClassName:{},selectedOutlierRanks:{},selectedOutlierDatasets:{},mean:{},variance:{},stdDeviation:{}}),mounted(){let t=this;E.$on("single-select-module",e=>{this.isModuleSelected=!0,t.selectModule(e["module"])}),E.$on("callsite-information-sort",e=>{let s=t.$store.selectedRuntimeSortBy;t.callsites=t.sortByAttribute(t.callsites,s)})},methods:{init(){if(this.firstRender){this.width=document.getElementById(this.id).clientWidth;let t="Ensemble"==this.$store.selectedMode?.66:1;this.height=t*this.$store.viewHeight,this.boxplotWidth=this.width-this.padding.left-this.padding.right,document.getElementById(this.id).style.maxHeight=this.height+"px",this.informationHeight=50,this.firstRender=!1}this.visualize()},visualize(){this.setStates(),this.borderColorByMetric(),this.boxplotByMetric()},getID(t){return"callsite-information-"+t},setStates(){this.selectedModule=this.$store.selectedModule,this.selectedMode=this.$store.selectedMode,this.selectedCallsite=this.$store.selectedCallsite,this.selectedMetric=this.$store.selectedMetric,this.targetColor=this.$store.runtimeColor.textColor,this.callsites=this.$store.callsites[this.$store.selectedTargetDataset],this.numberOfcallsites=Object.keys(this.callsites).length,this.callsites=this.sortByAttribute(this.callsites,this.$store.selectedMetric)},borderColorByMetric(){for(let t in this.callsites){let e=this.callsites[t],s="#callsite-information-node-"+e.id;C["u"](s).style("stroke",this.$store.runtimeColor.getColorByValue(e[this.$store.selectedMetric]["mean_time"]))}},boxplotByMetric(){for(let t in this.callsites){let e=this.callsites[t][this.selectedMetric];this.mean[t]=q(e["mean_time"]),this.variance[t]=q(e["variance"]),this.stdDeviation[t]=q(e["std_deviation"]),this.selectClassName[t]="unselect-callsite"}},sortByAttribute(t,e){let s=Object.keys(t).map((function(e){return[e,t[e]]}));return"Exclusive"==e||"Inclusive"==e?s=s.sort((function(t,s){return s[1][e]["mean_time"]-t[1][e]["mean_time"]})):"Standard Deviation"==e&&s.sort((function(t,e){return e[1][self.$store.selectedMetric]["std_deviation"]-t[1][self.$store.selectedMetric]["std_deviation"]})),t=s.reduce((function(t,e){return t[e[0]]=e[1],t}),{}),t},changeSelectedClassName(){event.stopPropagation();let t=event.currentTarget.id;"select-callsite"==this.selectClassName[t]?(this.revealCallsites.splice(this.revealCallsites.indexOf(t),1),event.target.className="flex text-xs-center unselect-callsite",this.selectClassName[t]="unselect-callsite"):(this.selectClassName[t]="select-callsite",event.target.className="flex text-xs-center select-callsite",this.revealCallsites.push(t)),0==this.revealCallsites.length?this.switchIsSelectedCallsite(!1):this.switchIsSelectedCallsite(!0)},switchIsSelectedCallsite(t){this.isCallsiteSelected=t},switchIsSelectedModule(t){this.isModuleSelected=t},selectedClassName(t){return this.selectClassName[t]},formatModule(t){return t.length<10?t:z(t,10)},formatName(t){if(t.length<25)return t;let e=z(t,25);return e},formatNumberOfHops(t){return void 0==t||void 0==t[0]?"-":t[0]-1},formatRuntime(t){let e=C["g"](".2"),s=e(t)+" μs";return s},clear(){for(let t in this.callsites)E.$emit("hide-mpi-boxplot",this.callsites[t])},dataset(t){return this.labels[t]},revealCallsite(t){t.stopPropagation(),this.$socket.emit("reveal_callsite",{mode:this.$store.selectedMode,reveal_callsites:this.revealCallsites,dataset:this.$store.selectedTargetDataset}),E.$emit("reveal-callsite")},showEntryFunctions(t){t.stopPropagation(),"unselect-callsite"==this.isEntryFunctionSelected?(this.isEntryFunctionSelected="select-callsite",this.isCalleeSelected="unselect-callsite"):this.isEntryFunctionSelected="unselect-callsite",this.showSplitButton="true"},showExitFunctions(t){t.stopPropagation(),"unselect-callsite"==this.isCalleeSelected?(this.isCalleeSelected="select-callsite",this.isEntryFunctionSelected="unselect-callsite"):this.isCalleeSelected="unselect-callsite",this.showSplitButton="true"},selectModule(t){let e=this.$store.moduleCallsiteMap[this.$store.selectedTargetDataset][t];this.numberOfCallsites=Object.keys(e).length;for(let s in this.callsites)C["u"]("#callsite-information-"+s.id).style("display","none");this.callsites={},e.forEach(t=>{this.callsites[t]=this.$store.callsites[this.$store.selectedTargetDataset][t],C["u"]("#callsite-information-"+this.callsites[t].id).style("display","block")})},selectCallsitesByModule(t){this.selectedModule=t,this.selectedCallsite="";let e=Object.keys(this.$store.callsites[this.$store.selectedTargetDataset]),s=this.$store.callsites["ensemble"];for(let a in e)s.hasOwnProperty(a)&&(document.getElementById(s[a].id).style.opacity=.2,document.getElementById(s[a].id).style.borderStyle="solid");let i=this.$store.moduleCallsiteMap[t];for(let a in i)s.hasOwnProperty(a)&&(document.getElementById(s[a].id).style.opacity=1,document.getElementById(s[a].id).style.borderStyle="dotted")},getSelectedOutlierRanks(t){return this.selectedOutlierRanks[t]},split(){"select-callsite"==this.isEntryFunctionSelected?(this.$socket.emit("split_by_entry_callsites",{selectedModule:this.$store.selectedModule,dataset:this.$store.selectedTargetDataset}),E.$emit("split-by-entry-callsites")):"select-callsite"==this.isCalleeSelected&&(this.$socket.emit("split_by_callees",{selectedModule:this.$store.selectedModule,dataset:this.$store.selectedTargetDataset}),E.$emit("split-by-callees"))}}},Ps=Ds,Es=(s("a700"),Object(x["a"])(Ps,Qe,Ze,!1,null,null,null)),Is=Es.exports,Bs=(s("8055"),{name:"SingleCallFlow",components:{Splitpanes:D.a,SuperGraph:ve,CCT:ke,SingleScatterplot:Ge,SingleHistogram:Ue,CallsiteInformation:Is},watch:{showTarget:function(t){E.$emit("show-target-auxiliary")}},data:()=>({appName:"CallFlow",left:!1,formats:["CCT","SuperGraph"],selectedFormat:"SuperGraph",datasets:[],selectedTargetDataset:"",selectedDataset2:"",groupBy:["Name","Module","File"],selectedGroupBy:"Module",filterBy:["Inclusive","Exclusive"],filterRange:[0,100],selectedFilterBy:"Inclusive",selectedIncTime:0,filterPercRange:[0,100],selectedFilterPerc:5,metrics:["Exclusive","Inclusive"],selectedMetric:"Inclusive",runtimeColorMap:[],distributionColorMap:[],selectedRuntimeColorMap:"OrRd",colorPoints:[3,4,5,6,7,8,9],selectedColorPoint:9,selectedColorMin:null,selectedColorMax:null,selectedColorMinText:"",selectedColorMaxText:"",groupModes:["include callbacks","exclude callbacks"],selectedGroupMode:"include callbacks",scatterMode:["mean","all"],selectedScatterMode:"all",selectedFunctionsInCCT:70,isCallgraphInitialized:!1,isCCTInitialized:!1,datas:["Dataframe","Graph"],selectedData:"Dataframe",firstRender:!0,ranks:[],initLoad:!0,comparisonMode:!1,selectedCompareDataset:null,selectedOutlierBand:4,defaultCallSite:"",modes:["Ensemble","Single"],selectedMode:"Single",exhibitModes:["Presentation","Default"],selectedExhibitMode:"Default",selectedMPIBinCount:20,selectedRuntimeSortBy:"Inclusive",sortByModes:["Inclusive","Exclusive","Standard Deviation"],scales:["Log","Linear"],selectedScale:"Linear",props:["name","rank","dataset","all_ranks"],selectedProp:"rank",metricTimeMap:{},selectedRunBinCount:20}),mounted(){this.fetchData(),E.$on("lasso_selection",()=>{this.$store.resetTargetDataset=!0,this.clearLocal(),this.setTargetDataset(),this.fetchData()}),E.$on("show_target_auxiliary",()=>{this.clearLocal(),this.init()})},methods:{async fetchData(){void 0===this.$store.selectedDatasets&&this.$router.push("/"),this.$store.auxiliarySortBy=this.auxiliarySortBy,this.$store.selectedMPIBinCount=this.selectedMPIBinCount,this.$store.selectedRunBinCount=this.selectedRunBinCount;const t=await m.POSTRequest("supergraph_data",{datasets:this.$store.selectedDatasets,sortBy:this.$store.auxiliarySortBy,MPIBinCount:this.$store.selectedMPIBinCount,RunBinCount:this.$store.selectedRunBinCount,re_process:1});console.debug("[/supergraph_data]",t),this.dataReady=!0,this.setupStore(t),this.init()},setupStore(t){this.$store.modules=t["module"],this.$store.callsites=t["callsite"],this.$store.gradients=t["gradients"],this.$store.moduleCallsiteMap=t["moduleCallsiteMap"],this.$store.callsiteModuleMap=t["callsiteModuleMap"],this.datasets=this.$store.selectedDatasets,this.numOfRuns>=2?(this.modes=["Single","Ensemble"],this.selectedMode="Ensemble"):1==this.numOfRuns&&(this.enableDist=!1,this.modes=["Single"],this.selectedMode="Single"),this.$store.moduleCallsiteMap=t["module_callsite_map"],this.$store.callsiteModuleMap=t["callsite_module_map"],this.$store.selectedMPIBinCount=this.selectedMPIBinCount,this.$store.selectedRunBinCount=this.selectedRunBinCount},init(){console.assert(this.selectedMode,"Single"),console.log("Mode : ",this.selectedMode),console.log("Number of runs :",this.$store.numOfRuns),console.log("Dataset : ",this.selectedTargetDataset),console.log("Format = ",this.selectedFormat),this.setGlobalVariables(),this.setTargetDataset(),this.setupColors(),this.setViewDimensions(),this.setComponentMap(),"SuperGraph"==this.selectedFormat?(this.setSelectedModule(),this.initComponents(this.currentSingleSuperGraphComponents)):"CCT"==this.selectedFormat&&this.initComponents(this.currentSingleCCTComponents),E.$emit("single-refresh-boxplot",{})},setGlobalVariables(){this.$store.selectedScatterMode="mean",this.$store.nodeInfo={},this.$store.selectedMode=this.selectedMode,this.$store.selectedFunctionsInCCT=this.selectedFunctionsInCCT,this.$store.selectedHierarchyMode=this.selectedHierarchyMode,"Single"==this.$store.selectedMode&&(this.$store.selectedProp="rank"),this.$store.selectedScale=this.selectedScale,this.$store.selectedCompareMode=this.selectedCompareMode,this.$store.selectedIQRFactor=this.selectedIQRFactor,this.$store.selectedRuntimeSortBy=this.selectedRuntimeSortBy,this.$store.selectedNumOfClusters=this.selectedNumOfClusters,this.$store.selectedEdgeAlignment="Top",this.$store.datasetMap={};for(let t=0;t{let i=0,a=0;return"Inclusive"==e?(i=this.$store.maxIncTime[t],a=this.$store.maxIncTime[s],this.metricTimeMap=this.$store.maxIncTime):"Exclusive"==e&&(i=this.$store.maxExcTime[t],a=this.$store.maxExcTime[s],this.metricTimeMap=this.$store.maxExcTime),parseFloat(i)-parseFloat(a)});return s},sortModulesByMetric(t){let e=Object.keys(this.$store.modules[this.selectedTargetDataset]),s={};for(let a of e)s[a]=this.$store.modules[this.selectedTargetDataset][a][this.$store.selectedMetric]["mean_time"];let i=Object.keys(s).map((function(t){return[t,s[t]]}));return i.sort((function(t,e){return e[1]-t[1]})),i},updateColors(){this.clearLocal(),this.setupColors(),this.init()},async updateFormat(){this.clearLocal(),this.init()},updateTargetDataset(){this.clear(),this.$store.selectedTargetDataset=this.selectedTargetDataset,console.debug("[Update] Target Dataset: ",this.selectedTargetDataset),C["v"](".tick").remove(),this.init()},updateMode(){this.clear(),this.init()},updateMetric(){this.$store.selectedMetric=this.selectedMetric,this.clearLocal(),this.init()},updateScale(){this.$store.selectedScale=this.selectedScale,this.clear(),this.init()},updateIQRFactor(){this.$store.selectedIQRFactor=this.selectedIQRFactor,this.clearLocal(),this.init()},updateRuntimeSortBy(){this.$store.selectedRuntimeSortBy=this.selectedRuntimeSortBy,E.$emit("callsite-information-sort")},updateMPIBinCount(){this.$store.selectedMPIBinCount=this.selectedMPIBinCount,this.$store.reprocess=1,this.requestEnsembleData(),this.clearLocal(),this.init()}}}),As=Bs,Os=Object(x["a"])(As,v,$,!1,null,null,null),Hs=Os.exports,Rs=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-app",{attrs:{id:"inspire"}},[s("v-toolbar",{attrs:{id:"toolbar",color:"teal",dark:"",fixed:"",app:"","clipped-right":""}},[s("v-toolbar-side-icon",{on:{click:function(e){e.stopPropagation(),t.left=!t.left}}},[s("v-icon",[t._v("settings")])],1),s("v-toolbar-title",{staticStyle:{"margin-right":"3em"}},[t._v(t._s(t.appName))]),s("v-flex",{staticClass:"ma-2",attrs:{xs3:""}},[s("v-select",{attrs:{label:"Select Target run (Sorted by inclusive runtime)",items:t.datasets,"menu-props":{maxHeight:"400"},box:""},on:{change:function(e){return t.updateTargetDataset()}},scopedSlots:t._u([{key:"selection",fn:function(e){var s=e.item;return[t._v(" "+t._s(t.datasets.indexOf(s)+1)+". "+t._s(s)+" - "+t._s(t.formatRuntimeWithoutUnits(t.metricTimeMap[s]))+" ")]}},{key:"item",fn:function(e){var s=e.item;return[t._v(" "+t._s(t.datasets.indexOf(s)+1)+". "+t._s(s)+" - "+t._s(t.formatRuntimeWithoutUnits(t.metricTimeMap[s]))+" ")]}}]),model:{value:t.selectedTargetDataset,callback:function(e){t.selectedTargetDataset=e},expression:"selectedTargetDataset"}})],1),s("v-flex",{staticClass:"ma-2",attrs:{xs3:""}},["SuperGraph"==t.selectedFormat?s("v-select",{attrs:{label:"Select Compare run",items:t.datasets,"menu-props":{maxHeight:"400"},box:""},on:{change:function(e){return t.updateCompareDataset()}},scopedSlots:t._u([{key:"selection",fn:function(e){var s=e.item;return[t._v(" "+t._s(t.datasets.indexOf(s)+1)+". "+t._s(s)+" - "+t._s(t.formatRuntimeWithoutUnits(t.metricTimeMap[s]))+" ")]}},{key:"item",fn:function(e){var s=e.item;return[t._v(" "+t._s(t.datasets.indexOf(s)+1)+". "+t._s(s)+" - "+t._s(t.formatRuntimeWithoutUnits(t.metricTimeMap[s]))+" ")]}}],null,!1,2364397756),model:{value:t.selectedCompareDataset,callback:function(e){t.selectedCompareDataset=e},expression:"selectedCompareDataset"}}):t._e()],1),s("v-spacer"),s("v-flex",{staticClass:"ma-1",attrs:{xs2:""}},[s("v-select",{attrs:{label:"Graph to visualize",items:t.formats,"menu-props":{maxHeight:"400"},box:""},on:{change:function(e){return t.updateFormat()}},model:{value:t.selectedFormat,callback:function(e){t.selectedFormat=e},expression:"selectedFormat"}})],1)],1),s("v-navigation-drawer",{attrs:{temporary:"",fixed:""},model:{value:t.left,callback:function(e){t.left=e},expression:"left"}},[s("v-btn",{attrs:{slot:"activator",color:"primary",dark:""},slot:"activator"},[t._v("Open Dialog")]),s("v-card",{attrs:{flex:"","fill-height":"",id:"control-panel"}},[s("v-layout",{attrs:{row:"",wrap:""}},[s("v-btn",{attrs:{icon:""}},[s("v-icon",{on:{click:function(e){return t.reset()}}},[t._v("refresh")])],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",{staticClass:"teal lighten-4"},[t._v("Visual Encoding")])],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",[t._v(" "+t._s(t.targetInfo)+" "),s("v-spacer"),s("v-spacer"),s("v-switch",{attrs:{color:"#009687"},on:{change:function(e){return t.updateTargetColor()}},model:{value:t.showTarget,callback:function(e){t.showTarget=e},expression:"showTarget"}})],1)],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Metric",items:t.metrics,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateMetric()}},model:{value:t.selectedMetric,callback:function(e){t.selectedMetric=e},expression:"selectedMetric"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Number of bins for Run Distribution",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateRunBinCount()}},model:{value:t.selectedRunBinCount,callback:function(e){t.selectedRunBinCount=e},expression:"selectedRunBinCount"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Number of bins for MPI Distribution",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateMPIBinCount()}},model:{value:t.selectedMPIBinCount,callback:function(e){t.selectedMPIBinCount=e},expression:"selectedMPIBinCount"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Scale",items:t.scales,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateScale()}},model:{value:t.selectedScale,callback:function(e){t.selectedScale=e},expression:"selectedScale"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Bin by attribute",items:t.props,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateProp()}},model:{value:t.selectedProp,callback:function(e){t.selectedProp=e},expression:"selectedProp"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",{staticClass:"teal lighten-4"},[t._v("Colors")])],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Runtime Color Map",items:t.runtimeColorMap,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedRuntimeColorMap,callback:function(e){t.selectedRuntimeColorMap=e},expression:"selectedRuntimeColorMap"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Distribution Color Map",items:t.distributionColorMap,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedDistributionColorMap,callback:function(e){t.selectedDistributionColorMap=e},expression:"selectedDistributionColorMap"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Target Color",items:t.targetColors,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateTargetColor()}},model:{value:t.selectedTargetColor,callback:function(e){t.selectedTargetColor=e},expression:"selectedTargetColor"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Color points (3-9)",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedColorPoint,callback:function(e){t.selectedColorPoint=e},expression:"selectedColorPoint"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Color minimum (in seconds)",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedColorMinText,callback:function(e){t.selectedColorMinText=e},expression:"selectedColorMinText"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Color maximum (in seconds)",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedColorMaxText,callback:function(e){t.selectedColorMaxText=e},expression:"selectedColorMaxText"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",{staticClass:"teal lighten-4"},[t._v("Call site Correspondence")])],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Sort by",items:t.sortByModes,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateRuntimeSortBy()}},model:{value:t.selectedRuntimeSortBy,callback:function(e){t.selectedRuntimeSortBy=e},expression:"selectedRuntimeSortBy"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"IQR Factor",type:"float","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateIQRFactor()}},model:{value:t.selectedIQRFactor,callback:function(e){t.selectedIQRFactor=e},expression:"selectedIQRFactor"}})],1)],1)],1)],1),"Ensemble"==t.selectedMode?s("v-content",{staticClass:"pt-auto"},[s("v-layout",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}]},[s("splitpanes",{staticClass:"default-theme",attrs:{id:"callgraph-dashboard"}},[s("splitpanes",{attrs:{horizontal:"","splitpanes-size":25}},[s("ModuleHierarchy",{ref:"ModuleHierarchy"}),s("EnsembleScatterplot",{ref:"EnsembleScatterplot"}),s("EnsembleHistogram",{ref:"EnsembleHistogram"})],1),s("splitpanes",{attrs:{horizontal:"","splitpanes-size":55}},[s("SuperGraph",{ref:"SuperGraph"})],1),s("splitpanes",{attrs:{horizontal:"","splitpanes-size":20}},[s("CallsiteCorrespondence",{ref:"CallsiteCorrespondence"}),s("ParameterProjection",{ref:"ParameterProjection"})],1)],1)],1),s("v-layout",{directives:[{name:"show",rawName:"v-show",value:"CCT"==t.selectedFormat,expression:"selectedFormat == 'CCT'"}]},[s("splitpanes",{attrs:{id:" ensemble-cct-dashboard"}},[s("splitpanes",{attrs:{horizontal:"","splitpanes-size":100}},[s("CCT",{ref:"CCT"})],1)],1)],1),s("v-layout",{directives:[{name:"show",rawName:"v-show",value:"CCT"==t.selectedFormat&&"Compare"==t.selectedMode,expression:"selectedFormat == 'CCT' && selectedMode == 'Compare'"}]},[s("splitpanes",{attrs:{id:"compare-cct-dashboard"}},[s("splitpanes",{attrs:{horizontal:"","splitpanes-size":50}},[s("CCT",{ref:"CCT1"})],1),s("splitpanes",{attrs:{horizontal:"","splitpanes-size":50}},[s("CCT",{ref:"CCT2"})],1)],1)],1)],1):t._e(),s("v-footer",{attrs:{id:"footer",color:"teal",app:""}},[t._v(" Lawrence Livermore National Laboratory, and University of California, Davis "),s("v-spacer"),s("span",[t._v("©2020")])],1)],1)},Gs=[],Fs=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-layout",{attrs:{row:"",wrap:"",id:t.id}},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")]),s("v-spacer"),s("span",{staticClass:"component-info"},[s("p")]),1==t.isCallsiteSelected?s("v-layout",{attrs:{row:"",wrap:""}},[s("v-btn",{staticClass:"ma-1 reveal-button",attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.clickCallsite}},[t._v(" Reveal ")])],1):t._e(),1==t.isModuleSelected?s("v-layout",{attrs:{row:"",wrap:""}},[s("v-btn",{staticClass:"ma-1 reveal-button",class:t.isEntryFunctionSelected,attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.showEntryFunctions}},[t._v(" Entry call sites ")]),s("v-btn",{staticClass:"ma-1 reveal-button",class:t.isCalleeSelected,attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.showExitFunctions}},[t._v(" Callees ")]),s("v-spacer"),"true"==t.showSplitButton?s("v-btn",{staticClass:"ma-1 reveal-button",attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.split}},[t._v(" Split ")]):t._e()],1):t._e(),s("v-layout",{staticClass:"component-data",attrs:{row:"",wrap:""}},[s("p",{staticClass:"subtitle-2"},[t._v(" Unmatched "+t._s(t.numberOfDifferenceCallsites)+" callsites. ")])]),t._l(t.differenceCallsites,(function(e){return s("v-container",{key:t.getID(e.id),staticClass:"callsite-information-node"},[s("v-layout",{attrs:{row:"",wrap:""}},[s("v-flex",{attrs:{md1:""}},[s("v-card",{staticClass:"mx-auto",attrs:{width:"25px",tile:"",outlined:""}},[s("v-tooltip",{attrs:{bottom:""}},[[s("v-flex",{class:t.selectClassName[e.name],attrs:{id:e.name,"text-xs-center":""},on:{click:t.changeSelectedClassName}},[t._v(" "+t._s(t.formatNumberOfHops(e.component_level))+" ")])],s("span",[t._v("Component level: "+t._s(t.formatNumberOfHops(e.component_level)))])],2)],1)],1),s("v-flex",{attrs:{md11:""}},[s("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(i){var a=i.on;return[s("v-flex",t._g({staticClass:"pl-2 subtitle-2 font-weight-black"},a),[t._v(" "+t._s(t.formatName(e.name))+" ")])]}}],null,!0)},[s("span",[t._v(t._s(e.name))])])],1)],1),s("v-layout",{attrs:{row:"",wrap:""}},[s("v-spacer"),"Ensemble"==t.selectedMode?s("div",{staticClass:"subtitle-2",style:"color: "+t.targetColor},[t._v(" Std. Dev. : "+t._s(t.targetStandardDeviation[e.name])+" "+t._s(t.selectedMode)+" ")]):t._e()],1),s("BoxPlot",{ref:e.id,refInFor:!0,attrs:{callsite:e,showTarget:"false"}}),s("v-layout",{attrs:{row:"",wrap:""}},[s("div",{staticClass:"subtitle-2",style:"color: "+t.ensembleColor},[t._v(" Mean : "+t._s(t.ensembleMeans[e.name])+" ")]),s("v-spacer"),s("div",{staticClass:"subtitle-2",style:"color: "+t.ensembleColor},[t._v(" Std. Dev. : "+t._s(t.ensembleStandardDeviation[e.name])+" ")])],1)],1)})),s("v-layout",{staticClass:"component-data",attrs:{row:"",wrap:""}},[s("p",{staticClass:"subtitle-2"},[t._v(" Matched "+t._s(t.numberOfIntersectionCallsites)+" callsites. ")])]),t._l(t.intersectionCallsites,(function(e){return s("v-container",{key:t.getID(e.id),staticClass:"callsite-information-node"},[s("v-layout",{staticStyle:{"align-items":"center"},attrs:{row:"",wrap:""}},[s("v-flex",{attrs:{md1:""}},[s("v-card",{staticClass:"mx-auto",attrs:{width:"25px",tile:"",outlined:""}},[s("v-flex",{class:t.selectClassName[e.name],attrs:{id:e.name,"text-xs-center":""},on:{click:t.changeSelectedClassName}},[t._v(" "+t._s(t.formatNumberOfHops(e.component_level))+" ")])],1)],1),s("v-flex",{attrs:{md11:""}},[s("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(i){var a=i.on;return[s("v-flex",t._g({staticClass:"pl-2 subtitle-2 font-weight-black"},a),[t._v(" "+t._s(t.formatName(e.name))+" ")])]}}],null,!0)},[s("span",[t._v(t._s(e.name))])])],1)],1),s("v-layout",{attrs:{row:"",wrap:""}},[s("div",{staticClass:"body-2",style:"color: "+t.targetColor},[t._v(" Mean : "+t._s(t.targetMeans[e.name])+" ")]),s("v-spacer"),s("div",{staticClass:"body-2",style:"color: "+t.targetColor},[t._v(" Std. Dev. : "+t._s(t.targetStandardDeviation[e.name])+" ")])],1),s("BoxPlot",{ref:e.id,refInFor:!0,attrs:{callsite:e,showTarget:"false"}}),s("v-layout",{attrs:{row:"",wrap:""}},[s("div",{staticClass:"body-2",style:"color: "+t.ensembleColor},[t._v(" Mean : "+t._s(t.ensembleMeans[e.name])+" ")]),s("v-spacer"),s("div",{staticClass:"body-2",style:"color: "+t.ensembleColor},[t._v(" Std. Dev. : "+t._s(t.ensembleStandardDeviation[e.name])+" ")])],1),s("v-layout",{attrs:{row:"",wrap:""}},[s("v-flex",{staticClass:"body-2",attrs:{md12:""}},[t._v("Ranks : "+t._s(t.selectedOutlierRanks)+" ")]),s("v-spacer"),s("v-flex",{staticClass:"body-2",attrs:{md12:""}},[t._v("Datasets : "+t._s(t.selectedOutlierDatasets))])],1)],1)}))],2)},Ls=[],qs=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("svg",{staticClass:"boxplot",attrs:{id:t.id,width:t.containerWidth,height:t.containerHeight}},[s("Box",{ref:"Box"}),s("Markers",{ref:"Markers"}),s("Outliers",{ref:"Outliers"}),s("ToolTip",{ref:"ToolTip"})],1)},Ns=[],Ws=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"box"})},zs=[],Vs={name:"Box",data:()=>({id:"box",paddingTop:10,textOffset:40,fontSize:10,debug:!1,superscript:"⁰¹²³⁴⁵⁶⁷⁸⁹"}),methods:{init(t,e,s,i,a){this.debug&&(console.log("Ensemble q: ",e),console.log("Target q: ",s)),this.q=e,this.targetq=s,this.xScale=i,this.svg=C["u"]("#boxplot-"+t.id),this.id="box-"+t.id,this.g=this.svg.select(".box").attrs({transform:"translate(0, "+this.$parent.boxPosition+")"}),this.ensembleBox(),this.$store.showTarget&&a&&this.targetBox(),this.centerLine(),this.axis(),this.$parent.$refs.ToolTip.init("boxplot-"+t.id)},ensembleBox(){let t=this;this.boxSVG=this.g.append("rect").attrs({class:"ensembleBox",y:0,x:this.xScale(this.q.q1),height:this.$parent.rectHeight,fill:this.$store.distributionColor.ensemble,width:this.xScale(this.q.q3)-this.xScale(this.q.q1),stroke:"#202020","stroke-width":.5}).style("z-index",1).on("mouseover",e=>{t.$parent.$refs.ToolTip.renderQ(t.q)}).on("mouseout",e=>{t.$parent.$refs.ToolTip.clear()})},targetBox(){let t=this;this.targetBoxSVG=this.g.append("rect").attr("class","targetbox").attrs({y:0,x:this.xScale(this.targetq.q1),height:this.$parent.rectHeight,fill:this.$store.distributionColor.target,width:e=>t.targetq.q1==t.targetq.q3?3:t.xScale(t.targetq.q3)-t.xScale(t.targetq.q1),stroke:"#202020","stroke-width":.5}).style("z-index",1).on("mouseover",e=>{t.$parent.$refs.ToolTip.renderQ(t.targetq)}).on("mouseout",e=>{t.$parent.$refs.ToolTip.clear()})},centerLine(){this.centerLineSVG=this.g.insert("line","rect").attrs({class:"centerLine",y1:this.$parent.centerLinePosition,x1:this.xScale(this.q.min),y2:this.$parent.centerLinePosition,x2:this.xScale(this.q.max),stroke:"black"}).style("stroke-width","1.5").style("z-index",10)},clear(){this.g.selectAll(".ensembleBox").remove(),this.$store.showTarget&&this.g.selectAll(".targetbox").remove(),this.g.selectAll(".centerLine").remove()},addxAxisLabel(){let t=this.xScale.domain()[1];this.x_max_exponent=W(t);this.superscript[this.x_max_exponent];let e="(e+"+this.x_max_exponent+") Exclusive Runtime (μs)";this.g.append("text").attr("class","axis-label").attr("x",this.$parent.boxWidth-20).attr("y",3.8*this.$parent.centerLinePosition).style("font-size","12px").style("text-anchor","end").text(e)},axis(){this.addxAxisLabel();const t=C["b"](this.xScale).ticks(5).tickFormat((t,e)=>{let s=N(t,1);return""+s[0]}),e=this.g.append("g").attrs({class:"axis",id:"xAxis",transform:"translate(0,"+2.5*this.$parent.centerLinePosition+")"}).call(t);e.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("line").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")}}},js=Vs,Ys=Object(x["a"])(js,Ws,zs,!1,null,null,null),Xs=Ys.exports,Ks=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"marker"})},Us=[],Qs={name:"Markers",data:()=>({paddingTop:10,textOffset:40,fontSize:10,topPosition:-.2,bottomPosition:.75}),mounted(){},methods:{init(t,e,s,i,a){this.$store.selectedMarker="target",this.q=e,this.targetq=s,this.xScale=i,this.svg=C["u"]("#boxplot-"+t.id),this.g=this.svg.select(".marker").attrs({transform:"translate(0, "+this.$parent.boxPosition+")"}),this.markery1=this.$parent.centerLinePosition-this.$parent.rectHeight/2,this.markery2=this.$parent.centerLinePosition+this.$parent.rectHeight/2,this.medianMarker(),this.extremeMarkers()},medianMarker(){this.medianMarkery1=this.$parent.centerLinePosition-this.$parent.rectHeight,this.medianMarkery2=this.$parent.centerLinePosition+this.$parent.rectHeight,this.medianLine=this.g.append("line").attrs({class:"median",y1:this.medianMarkery1,x1:this.xScale(this.q.q2),y2:this.medianMarkery2,x2:this.xScale(this.q.q2),stroke:"black"}).style("stroke-width","2").style("z-index",10)},extremeMarkers(){this.targetData=this.targetq,this.data=this.q,this.$store.showTarget&&this.minMaxTargetMarker()},minMaxEnsembleMarker(){this.g.append("line").attrs({class:"whisker",y1:this.markery1,x1:this.xScale(this.q.min),y2:this.markery2,x2:this.xScale(this.q.min),stroke:this.$store.distributionColor.ensemble}).style("stroke-width","1.5"),this.g.append("line").attrs({class:"whisker",y1:this.markery1,x1:this.xScale(this.q.max),y2:this.markery2,x2:this.xScale(this.q.max),stroke:this.$store.distributionColor.ensemble}).style("stroke-width","1.5")},minMaxTargetMarker(){this.g.append("line").attrs({class:"whisker",y1:this.markery1,x1:this.xScale(this.targetData.min),y2:this.markery2,x2:this.xScale(this.targetData.min),stroke:this.$store.distributionColor.target}).style("stroke-width","1.5"),this.g.append("line").attrs({class:"whisker",y1:this.markery1,x1:this.xScale(this.targetData.max),y2:this.markery2,x2:this.xScale(this.targetData.max),stroke:this.$store.distributionColor.target}).style("stroke-width","1.5")},minText(){if(this.$store.showTarget){let t=this.targetData.min;this.g.append("text").attrs({class:"whiskerText body-1",x:.5*this.fontSize,y:this.$parent.containerHeight*this.topPosition,fill:C["o"](this.$store.distributionColor.target).darker(1)}).style("stroke-width","1").text("Min: "+q(t))}let t=this.data.min;this.g.append("text").attrs({class:"whiskerText body-1",x:.5*this.fontSize,y:this.$parent.containerHeight*this.bottomPosition,fill:C["o"](this.$store.distributionColor.ensemble).darker(1)}).style("stroke-width","1").text("Min: "+q(t))},maxText(){if(this.$store.showTarget){let t=this.targetData.max;this.g.append("text").attrs({class:"whiskerText body-1",x:this.$parent.containerWidth-9*this.fontSize,y:this.$parent.containerHeight*this.topPosition,fill:C["o"](this.$store.distributionColor.target).darker(1)}).style("stroke-width","1").text("Max:"+q(t))}let t=this.data.max;this.g.append("text").attrs({class:"whiskerText body-1",x:this.$parent.containerWidth-9*this.fontSize,y:this.$parent.containerHeight*this.bottomPosition,fill:C["o"](this.$store.distributionColor.ensemble).darker(1)}).style("stroke-width","1").text("Max:"+q(t))},medianText(){if(this.$store.showTarget){let t=this.targetData.q2;this.g.append("text").attrs({class:"whiskerText body-1",x:this.$parent.containerWidth/2-4.5*this.fontSize,y:this.$parent.containerHeight*this.topPosition,fill:C["o"](this.$store.distributionColor.target).darker(1)}).style("stroke-width","1").text("Med.:"+q(t))}let t=this.data.q2;this.g.append("text").attrs({class:"whiskerText body-1",x:this.$parent.containerWidth/2-4.5*this.fontSize,y:this.$parent.containerHeight*this.bottomPosition,fill:C["o"](this.$store.distributionColor.ensemble).darker(1)}).style("stroke-width","1").text("Med.:"+q(t))},qTexts(){this.q1Text(),this.q3Text()},q1Text(){this.g.append("text").attrs({class:"whiskerText",x:this.$parent.containerWidth/3,y:this.informationHeight*this.topPosition,fill:C["o"](this.fill).darker(1)}).style("stroke-width","2").text("q1: "+q(this.q.q1))},q3Text(){this.g.append("text").attrs({class:"whiskerText",x:this.$parent.boxWidth/3*2,y:this.informationHeight*this.topPosition,fill:C["o"](this.fill).darker(1)}).style("stroke-width","1").text("q3: "+q(this.q.q3))},formatName(t){if(t.length<20)return t;let e=this.trunc(t,20);return e},clear(){this.g.selectAll(".whiskerText").remove(),this.g.selectAll(".whisker").remove(),this.g.selectAll(".median").remove()}}},Zs=Qs,Js=Object(x["a"])(Zs,Ks,Us,!1,null,null,null),ti=Js.exports,ei=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"outlier"})},si=[],ii={name:"Outliers",data:()=>({paddingTop:10,textOffset:40,fontSize:10,outlierRadius:4,informationHeight:70}),created(){this.id="outliers-"+this.callsiteID},methods:{init(t,e,s,i,a,r,o,l,n){this.q=t,this.targetq=e,this.ensembleWhiskerIndices=s,this.targetWhiskerIndices=i,this.d=a,this.targetd=r,this.xScale=o,this.callsite=l,this.svg=C["u"]("#boxplot-"+l.id),this.g=this.svg.select(".outlier").attrs({transform:"translate(0, "+this.paddingTop+")"}),this.height=this.$parent.containerHeight,this.width=this.$parent.containerWidth,this.boxHeight=this.height-this.paddingTop-this.informationHeight,this.boxWidth=this.width,this.ensembleOutliers(),this.$store.showTarget&&n&&this.targetOutliers(),this.$parent.$refs.ToolTip.init("boxplot-"+l.id)},groupByBand(t,e){let s,i,a,r,o=[],l=0,n=0,h=0;for(let d=0;de&&(o.push({values:s,x:i,count:n,ranks:r,datasets:a}),n>h&&(h=n),s=[],i=[],a=[],r=[],s.push(c.value),i.push(c.x),a.push(c.dataset),r.push(c.rank),n=1,l=c.x),d==t.length-1&&(u>e?o.push({values:s,x:i,datasets:a,ranks:r,count:n}):u>e&&(s=[],i=[],a=[],r=[],s.push(c.value),i.push(c.x),r.push(c.rank),a.push(c.dataset),n=1,o.push({values:s,x:i,datasets:a,ranks:r,count:n})))}return{circles:o,max_count:h}},groupOutliers(t,e,s){const i=e**2,a=t.map(t=>{let e=this.xScale(t.value);return{x:e,value:t.value,rank:t.rank,dataset:t.dataset}}).sort((t,e)=>t.x-e.x),r=.001;let o=null,l=null;function n(t,e){let s=o;while(s){if(i-r>(s.x-t)**2+(s.y-e)**2)return!0;s=s.next}return!1}for(const c of a){while(o&&o.xt.count/this.max_count+4,cx:t=>t.x[0],cy:t=>this.boxHeight/2+this.informationHeight,class:"ensemble-outlier"}).style("opacity",1).style("fill",this.$store.distributionColor.ensemble).on("click",e=>{t.$parent.$parent.selectedOutlierRanks=e["ranks"].sort((t,e)=>t-e),t.$parent.$parent.selectedOutlierDatasets=e["datasets"].filter((t,e,s)=>s.indexOf(t)===e),console.log(t.$parent.$parent.selectedOutlierRanks)}).on("mouseover",e=>{t.$parent.$refs.ToolTip.renderOutliers(e)}).on("mouseout",e=>{t.$parent.$refs.ToolTip.clear()})},targetOutliers(){let t=this,e=this.$store.callsites[this.$store.selectedTargetDataset][this.callsite.name],s=[];if(void 0!=e){s=e[this.$store.selectedMetric]["outliers"];let i=[];for(let t=0;t0==this.max_count?0:t.count/this.max_count+4,cx:t=>t.x[0],cy:t=>this.boxHeight/2-this.informationHeight/4,class:"target-outlier"}).style("opacity",1).style("fill",this.$store.distributionColor.target).on("click",e=>{t.$parent.$parent.selectedOutlierRanks=e["ranks"].sort((t,e)=>t-e),t.$parent.$parent.selectedOutlierDatasets=e["datasets"].filter((t,e,s)=>s.indexOf(t)===e)}).on("mouseover",e=>{t.$parent.$refs.ToolTip.renderOutliers(e)}).on("mouseout",e=>{t.$parent.$refs.ToolTip.clear()})}else this.target_outliers=[]},clear(){this.g.selectAll(".ensemble-outlier").remove(),this.g.selectAll(".target-outlier").remove()}}},ai=ii,ri=Object(x["a"])(ai,ei,si,!1,null,null,null),oi=ri.exports,li=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:"tooltip-auxiliary-function"}})},ni=[],hi={name:"ToolTip",components:{},data:()=>({textCount:0,textxOffset:20,textyOffset:20,textPadding:18,offset:10,fontSize:12}),methods:{init(t){this.id=t,this.toolTipDiv=C["u"]("#"+t),this.height=80,this.halfWidth=document.getElementById(this.id).clientWidth/2,this.halfHeight=document.getElementById(this.id).clientHeight/2},addText(t){this.toolTipText=this.toolTipDiv.append("text").style("font-family","sans-serif").style("font-size","").attrs({class:"toolTipContent",x:()=>this.mousePosX>this.halfWidth?this.mousePosX-this.halfWidth+this.textxOffset+"px":this.mousePosX+this.textxOffset+"px",y:()=>this.mousePosY>this.halfHeight?this.mousePosY+this.textyOffset+this.textPadding*this.textCount-this.halfHeight+"px":this.mousePosY+this.textyOffset+this.textPadding*this.textCount+"px"}).text(t),this.textCount+=1},quartiles(){this.addText("Q1: "+F(this.data.q1)),this.addText("Q3: "+F(this.data.q3))},outliers(){this.addText(this.data.count+" outliers")},drawRect(t,e){this.clear(),this.width=t*this.fontSize;C["q"]().domain([2,11]).range([50,150]);this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipRect=this.toolTipDiv.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:this.width,height:e*this.fontSize,x:()=>this.mousePosX>this.halfWidth?this.mousePosX-this.halfWidth+"px":this.mousePosX+"px",y:()=>this.mousePosY>this.halfHeight?this.mousePosY-this.halfHeight+"px":this.mousePosY+"px"})},renderQ(t){this.data=t,this.drawRect(13,4),this.quartiles()},renderOutliers(t){this.data=t,this.drawRect(10,4),this.outliers()},trunc(t,e){return t=t.replace(//g,"proc "),t.length>e?t.substr(0,e-1)+"...":t},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},di=hi,ci=Object(x["a"])(di,li,ni,!1,null,null,null),ui=ci.exports,fi={name:"BoxPlot",props:["callsite","width","height","showTarget"],data:()=>({id:"",boxContainerID:"",markerContainerID:"",outlierContainerID:"",padding:{top:10,bottom:10,left:10,right:10},targetBoxWidth:0,targetBoxHeight:0,targetBoxFill:"",targetBoxX:0,targetBoxY:0,containerHeight:150,containerWidth:0,parentID:"",informationHeight:70,outlierHeight:20,rectHeight:0,centerLinePosition:0,boxHeight:0,boxWidth:0}),components:{Box:Xs,Outliers:oi,Markers:ti,ToolTip:ui},mounted(){this.init();let t=this;E.$on("ensemble-refresh-boxplot",e=>{t.clear(),t.init()})},created(){this.id="boxplot-"+this.callsite.id},methods:{init(){this.containerHeight=150,this.containerWidth=this.$parent.boxplotWidth-2*this.padding.right-1*this.padding.left,this.boxHeight=this.containerHeight-this.informationHeight,this.boxWidth=this.containerWidth,this.boxPosition=this.informationHeight/2+this.outlierHeight/2,this.centerLinePosition=(this.boxHeight-this.informationHeight/4)/2,this.rectHeight=this.boxHeight-this.informationHeight/4-this.outlierHeight/4,this.process(this.callsite),this.svg=C["u"]("#boxplot-"+this.callsite.id).attrs({width:this.containerWidth,height:this.containerHeight});let t=Math.min(this.q.min,this.targetq.min),e=Math.max(this.q.max,this.targetq.max);this.xScale=C["q"]().domain([t,e]).range([.05*this.containerWidth,this.containerWidth-.05*this.containerWidth]),this.visualize(this.callsite)},process(t){this.ensemble_data=this.$store.callsites["ensemble"][t.name][this.$store.selectedMetric]["q"],void 0!=this.$store.callsites[this.$store.selectedTargetDataset][t.name]?this.target_data=this.$store.callsites[this.$store.selectedTargetDataset][t.name][this.$store.selectedMetric]["q"]:this.target_data=[0,0,0,0,0],this.q=this.qFormat(this.ensemble_data),this.targetq=this.qFormat(this.target_data)},qFormat(t){let e={min:t[0],q1:t[1],q2:t[2],q3:t[3],max:t[4]};return e},visualize(t){this.$refs.Box.init(t,this.q,this.targetq,this.xScale,this.showTarget),this.$refs.Markers.init(t,this.q,this.targetq,this.xScale,this.showTarget),this.$refs.Outliers.init(this.q,this.targetq,this.ensembleWhiskerIndices,this.targetWhiskerIndices,this.d,this.targetd,this.xScale,this.callsite,this.showTarget)},clear(){this.$refs.Box.clear(),this.$refs.Markers.clear(),this.$refs.Outliers.clear()}}},mi=fi,pi=Object(x["a"])(mi,qs,Ns,!1,null,null,null),gi=pi.exports,xi={name:"CallsiteCorrespondence",components:{BoxPlot:gi},data:()=>({selected:{},id:"auxiliary-function-overview",people:[],message:"Call Site Correspondence",callsites:[],dataReady:!1,numberOfIntersectionCallsites:0,numberOfDifferenceCallsites:0,firstRender:!0,padding:{top:0,right:10,bottom:0,left:10},textOffset:25,boxplotHeight:340,boxplotWidth:0,duration:300,iqrFactor:.15,outlierRadius:4,targetOutlierList:{},outlierList:{},callsiteIDMap:{},settings:[{title:"Sort by Inclusive runtime"},{title:"Sort by Exclusive Runtime"}],compareMode:!1,selectedModule:"",selectedCallsite:"",informationHeight:70,revealCallsites:[],selectedMetric:"",targetMeans:{},targetVariance:{},targetStandardDeviation:{},ensembleMeans:{},ensembleVariance:{},ensembleStandardDeviation:{},targetColor:"",differenceCallsites:{},intersectionCallsites:{},isModuleSelected:!1,isCallsiteSelected:!1,isEntryFunctionSelected:"unselect-callsite",isCalleeSelected:"unselect-callsite",showSplitButton:"false",selectClassName:{},selectedOutlierRanks:{},selectedOutlierDatasets:{},showKNCCallsite:{},showuKNCCallsite:{},selectedMode:"Single"}),mounted(){let t=this;E.$on("highlight-dataset",e=>{let s=e["dataset"];t.$store.showTarget&&t.highlightCallsitesByDataset(s)}),E.$on("highlight-datasets",e=>{console.log("[Interaction] Highlighting the datasets :",e),t.highlight(e)}),E.$on("ensemble-select-module",e=>{let s=e["module"];this.isModuleSelected=!0,t.selectModule(s)}),E.$on("callsite-information-sort",e=>{let s=t.$store.selectedRuntimeSortBy;t.differenceCallsites=t.sortByAttribute(t.knc["difference"],s),t.intersectionCallsites=t.sortByAttribute(t.knc["intersection"],s)})},methods:{init(){if(this.firstRender){this.width=document.getElementById(this.id).clientWidth;let t="Ensemble"==this.$store.selectedMode?.65:1;this.height=t*this.$store.viewHeight,this.boxplotWidth=this.width-this.padding.left-this.padding.right,document.getElementById(this.id).style.maxHeight=this.height+"px",this.firstRender=!1}this.visualize()},visualize(){this.setStates(),this.boxplotByMetric()},setStates(){this.callsites=this.$store.callsites["ensemble"],this.targetCallsites=this.$store.callsites[this.$store.selectedTargetDataset],this.knc=this.KNC(),this.numberOfDifferenceCallsites=Object.keys(this.knc["difference"]).length,this.numberOfIntersectionCallsites=Object.keys(this.knc["intersection"]).length,this.differenceCallsites=this.sortByAttribute(this.knc["difference"],this.$store.selectedMetric),this.intersectionCallsites=this.sortByAttribute(this.knc["intersection"],this.$store.selectedMetric),this.intersectionCallsites=this.hideAllCallsites(this.intersectionCallsites),this.differenceCallsites=this.hideAllCallsites(this.differenceCallsites),this.selectedModule=this.$store.selectedModule,this.selectedMode=this.$store.selectedMode,this.selectedCallsite=this.$store.selectedCallsite,this.selectedMetric=this.$store.selectedMetric,"Ensemble"==this.$store.selectedMetric?(this.ensembleColor=C["o"](this.$store.distributionColor.ensemble).darker(1),this.targetColor=C["o"](this.$store.distributionColor.target).darker(1)):(this.ensembleColor=this.$store.runtimeColor.textColor,this.targetColor=this.$store.runtimeColor.textColor)},boxplotByMetric(){for(let t in this.callsites)void 0!=this.targetCallsites[t]?(this.targetMeans[t]=q(this.targetCallsites[t][this.$store.selectedMetric]["mean_time"]),this.targetVariance[t]=q(this.targetCallsites[t][this.$store.selectedMetric]["variance"]),this.targetStandardDeviation[t]=q(this.targetCallsites[t][this.$store.selectedMetric]["std_deviation"]),this.ensembleMeans[t]=q(this.callsites[t][this.$store.selectedMetric]["mean_time"]),this.ensembleVariance[t]=q(this.callsites[t][this.$store.selectedMetric]["variance"]),this.ensembleStandardDeviation[t]=q(this.callsites[t][this.$store.selectedMetric]["std_deviation"])):(this.targetMeans[t]=0,this.targetVariance[t]=0,this.targetStandardDeviation[t]=0,this.ensembleMeans[t]=0,this.ensembleVariance[t]=0,this.ensembleStandardDeviation[t]=0),this.selectClassName[t]="unselect-callsite"},borderColorByMetric(){for(let t in this.intersectionCallsites){let e=this.intersectionCallsites[t],s=e[this.$store.selectedMetric]["mean_time"],i="callsite-information-"+e.id;document.getElementById(i).style.borderColor=this.$store.color.getColorByValue(s)}},getID(t){return"callsite-correspondence-"+t},changeSelectedClassName(){event.stopPropagation();let t=event.currentTarget.id;"select-callsite"==this.selectClassName[t]?(this.revealCallsites.splice(this.revealCallsites.indexOf(t),1),event.target.className="flex text-xs-center unselect-callsite",this.selectClassName[t]="unselect-callsite"):(this.selectClassName[t]="select-callsite",event.target.className="flex text-xs-center select-callsite",this.revealCallsites.push(t)),0==this.revealCallsites.length?this.switchIsSelectedCallsite(!1):this.switchIsSelectedCallsite(!0),console.debug("Selected callsites: ",this.revealCallsites)},switchIsSelectedCallsite(t){this.isCallsiteSelected=t},switchIsSelectedModule(t){this.isModuleSelected=t},selectedClassName(t){return this.selectClassName[t]},formatModule(t){return t.length<10?t:this.trunc(t,10)},formatName(t){if(t.length<25)return t;let e=z(t,25);return e},formatNumberOfHops(t){return void 0==t||void 0==t[0]?"-":t[0]-1},formatRuntime(t){let e=C["g"](".2"),s=e(t)+" μs";return s},KNC(){let t=new Set(Object.keys(this.$store.callsites["ensemble"])),e=new Set(Object.keys(this.$store.callsites[this.$store.selectedTargetDataset])),s=new Set([...t].filter(t=>!e.has(t))),i=new Set([...t].filter(t=>e.has(t)));return{difference:Array.from(s),intersection:Array.from(i)}},showAllCallsites(t){for(let e=0;e/g,"proc "),t.length>e?t.substr(0,e-1)+"...":t},selectModule(t){let e=this.$store.moduleCallsiteMap["ensemble"][t];this.differenceCallsites={},this.knc["difference"].forEach(t=>{e.indexOf(t)>-1&&(this.differenceCallsites[t]=this.$store.callsites["ensemble"][t])}),this.numberOfDifferenceCallsites=Object.keys(this.differenceCallsites).length,this.intersectionCallsites={},this.knc["intersection"].forEach(t=>{e.indexOf(t)>-1&&(this.intersectionCallsites[t]=this.$store.callsites["ensemble"][t])}),this.numberOfIntersectionCallsites=Object.keys(this.intersectionCallsites).length},selectCallsitesByModule(t){this.selectedModule=t,this.selectedCallsite="";let e=Object.keys(this.$store.callsites[this.$store.selectedTargetDataset]),s=this.$store.callsites["ensemble"];for(let a in e)s.hasOwnProperty(a)&&(document.getElementById(s[a].id).style.opacity=.2,document.getElementById(s[a].id).style.borderStyle="solid");let i=this.$store.moduleCallsiteMap[t];for(let a in i)s.hasOwnProperty(a)&&(document.getElementById(s[a].id).style.opacity=1,document.getElementById(s[a].id).style.borderStyle="dotted")},sortByAttribute(t,e){let s=this,i=t.map((function(t){return[t,s.callsites[t]]}));return"Exclusive"==e||"Inclusive"==e?i=i.sort((function(t,s){return s[1][e]["mean_time"]-t[1][e]["mean_time"]})):"Standard Deviation"==e&&i.sort((function(t,e){return e[1][s.$store.selectedMetric]["std_deviation"]-t[1][s.$store.selectedMetric]["std_deviation"]})),t=i.reduce((function(t,e){return t[e[0]]=e[1],t}),{}),t},getSelectedOutlierDatasets(t){return this.selectedOutlierDatasets[t]},getSelectedOutlierRanks(t){return this.selectedOutlierRanks[t]},split(){"select-callsite"==this.isEntryFunctionSelected?(this.$socket.emit("split_by_entry_callsites",{mode:this.$store.selectedMode,selectedModule:this.$store.selectedModule,datasets:this.$store.selectedDatasets}),E.$emit("reveal-callsite")):"select-callsite"==this.isCalleeSelected&&(this.$socket.emit("split_by_callees",{mode:this.$store.selectedMode,selectedModule:this.$store.selectedModule,datasets:this.$store.selectedDatasets}),E.$emit("reveal-callsite"))}}},bi=xi,yi=(s("183b"),Object(x["a"])(bi,Fs,Ls,!1,null,null,null)),vi=yi.exports,$i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{id:t.id}},[s("v-layout",{staticClass:"chip-container"},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")]),s("v-spacer"),s("span",{staticClass:"component-info"},[t._v(" Number of "+t._s(t.selectedPropLabel)+" = "+t._s(t.selectedPropSum)+" ")])],1),s("svg",{attrs:{id:t.svgID}}),s("ToolTip",{ref:"ToolTip"})],1)},Ci=[],Mi=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:"tooltip-ensemble-histogram"}})},_i=[],Ti={name:"ToolTip",components:{},data:()=>({id:"",textCount:0,textxOffset:20,textyOffset:20,textPadding:18,offset:10,fontSize:12}),sockets:{tooltip(t){this.render(t)}},methods:{init(t){this.id=t,this.toolTipDiv=C["u"]("#"+this.id),this.height=80,this.halfWidth=document.getElementById(this.id).clientWidth/2,this.halfHeight=document.getElementById(this.id).clientHeight/2},addText(t){this.toolTipText=this.toolTipDiv.append("text").style("font-family","sans-serif").style("font-size","").attrs({class:"toolTipContent",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth?this.mousePosX-this.width+this.textxOffset+"px":this.mousePosX+this.textxOffset+"px",y:()=>this.mousePosY+this.halfHeight>document.getElementById(this.id).clientHeight?this.mousePosY+this.textyOffset+this.textPadding*this.textCount-this.height+"px":this.mousePosY+this.textyOffset+this.textPadding*this.textCount+"px"}).text(t),this.textCount+=1},info(){this.addText("Count: "+this.data)},render(t){this.clear(),this.data=t,this.width=10*this.fontSize;C["q"]().domain([2,11]).range([50,150]);this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipRect=this.toolTipDiv.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:this.width,height:"50",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth?this.mousePosX-this.width+"px":this.mousePosX+"px",y:()=>this.mousePosY+this.halfHeight>document.getElementById(this.id).clientHeight?this.mousePosY-this.height+"px":this.mousePosY+"px"}),this.info()},trunc(t,e){return t=t.replace(//g,"proc "),t.length>e?t.substr(0,e-1)+"...":t},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},ki=Ti,wi=Object(x["a"])(ki,Mi,_i,!1,null,null,null),Si=wi.exports,Di={name:"EnsembleHistogram",components:{ToolTip:Si},props:[],data:()=>({data:[],width:null,height:null,padding:{top:10,right:10,bottom:10,left:15},dataset_index:[],id:"ensemble-histogram-view",svgID:"ensemble-histogram-view-svg",firstRender:!0,xVals:[],freq:[],selectedColorBy:"Inclusive",MPIcount:0,message:"Runtime Distribution",paddingFactor:3.5,thisNode:"",selectedPropLabel:"",selectedPropSum:0,x_max_exponent:0,superscript:"⁰¹²³⁴⁵⁶⁷⁸⁹"}),mounted(){let t=this;E.$on("ensemble-histogram",(function(e){console.log("Ensemble Histogram: ",e["module"]),void 0!=e["callsite"]?t.thisNode=e["module"]+"="+e["callsite"]:t.thisNode=e["module"],t.visualize(e["module"])}))},methods:{init(){this.width=.25*window.innerWidth,this.height=.33*this.$store.viewHeight,this.boxWidth=this.width-1*(this.padding.right+this.padding.left),this.boxHeight=this.height-2*(this.padding.top+this.padding.bottom),this.xAxisHeight=this.boxWidth-(this.paddingFactor+1)*this.padding.left,this.yAxisHeight=this.boxHeight-(this.paddingFactor+1)*this.padding.left,this.svg=C["u"]("#"+this.svgID).attrs({width:this.boxWidth,height:this.boxHeight,transform:"translate("+this.padding.left+","+this.padding.top+")"}),E.$emit("ensemble-histogram",{module:this.$store.selectedModule,dataset:this.$store.runNames})},dataProcess(t){let e=[],s=0,i=0;s=t["x_min"],i=t["x_max"];let a=(i-s)/this.$store.selectedMPIBinCount;0==a&&(a=1);for(let r=0;rt+e)},clear(){C["v"](".dist-histogram-bar").remove(),C["v"](".dist-histogram-target").remove(),C["v"](".dist-histogram-others").remove(),C["u"](".x-axis").remove(),C["u"](".y-axis").remove(),C["v"](".binRank").remove(),C["v"](".lineRank").remove(),C["v"](".target_lineRank").remove(),C["v"](".tick").remove(),C["v"](".histogram-axis-label").remove(),this.$refs.ToolTip.clear()},targetBars(){let t=this;this.svg.selectAll(".dist-target").data(this.targetFreq).enter().append("rect").attr("class","dist-histogram-bar dist-target").attrs({x:(t,e)=>this.xScale(this.targetXVals[e]),y:(t,e)=>this.yScale(t),width:t=>this.xScale.bandwidth(),height:t=>Math.abs(this.yAxisHeight-this.yScale(t)),fill:this.$store.distributionColor.target,opacity:1,"stroke-width":"0.2px",stroke:"#202020",transform:"translate("+this.paddingFactor*this.padding.left+",0)"}).on("mouseover",(function(e,s){t.$refs.ToolTip.render(e)})).on("mouseout",(function(e,s){t.$refs.ToolTip.clear()}))},ensembleBars(){let t=this;this.svg.selectAll(".dist-ensemble").data(this.freq).enter().append("rect").attr("class","dist-histogram-bar dist-ensemble").attrs({x:(t,e)=>this.xScale(this.xVals[e]),y:(t,e)=>this.yScale(t),width:t=>this.xScale.bandwidth(),height:t=>Math.abs(this.yAxisHeight-this.yScale(t)),fill:e=>{let s=t.$store.distributionColor.ensemble;return s},opacity:1,"stroke-width":"0.2px",stroke:"#202020",transform:"translate("+this.paddingFactor*this.padding.left+",0)"}).on("mouseover",(function(e,s){t.$refs.ToolTip.render(e)})).on("mouseout",(function(e,s){t.$refs.ToolTip.clear()}))},addxAxisLabel(){let t=this.xScale.domain()[1];this.x_max_exponent=W(t);this.superscript[this.x_max_exponent];let e="(e+"+this.x_max_exponent+") "+this.$store.selectedMetric+" Runtime (μs)";this.svg.append("text").attrs({class:"histogram-axis-label",x:this.boxWidth-this.padding.left,y:this.yAxisHeight+3*this.padding.top}).style("font-size","12px").style("text-anchor","end").text(e)},xAxis(){let t=this;this.addxAxisLabel();const e=C["b"](this.xScale).ticks(5).tickFormat((e,s)=>{if(s%3==0){let s=N(e,t.x_max_exponent);return""+s[0]}}),s=this.svg.append("g").attrs({class:"x-axis",transform:"translate("+this.paddingFactor*this.padding.left+","+this.yAxisHeight+")"}).call(e);s.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),s.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.5),s.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")},yAxis(){const t=C["c"](this.yScale).ticks(10).tickFormat((t,e)=>{if("rank"==this.$store.selectedProp){if(1==t)return t;if(t%10==0)return t}else if("dataset"==this.$store.selectedProp){if(t%1==0)return t}else if("name"==this.$store.selectedProp&&t%1==0)return t});let e="";"name"==this.$store.selectedProp?e="Number of Callsites":"dataset"==this.$store.selectedProp?e="Number of Runs":"rank"==this.$store.selectedProp?e="Number of Ranks":"all_ranks"==this.$store.selectedProp&&(e="Number of Processes"),this.svg.append("text").attrs({transform:"rotate(-90)",class:"histogram-axis-label",x:-this.padding.top,y:this.padding.left}).style("font-size","12px").style("text-anchor","end").text(e);const s=this.svg.append("g").attrs({class:"y-axis",transform:"translate("+this.paddingFactor*this.padding.left+", 0)"}).call(t);s.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),s.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.2),s.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")}}},Pi=Di,Ei=Object(x["a"])(Pi,$i,Ci,!1,null,null,null),Ii=Ei.exports,Bi=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-layout",{attrs:{row:"",wrap:"",id:t.id}},[s("v-layout",{staticClass:"chip-container"},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")])],1),s("span",{staticClass:"component-info"},[t._v(" Module = "+t._s(t.formatModule(t.selectedModule))+" ")]),s("ToolTip",{ref:"ToolTip"})],1)},Ai=[],Oi=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"tooltip"})},Hi=[],Ri={name:"ToolTip",components:{},data:()=>({id:"",textCount:0,textxOffset:20,textyOffset:20,textPadding:18,offset:10,fontSize:12}),sockets:{tooltip(t){this.render(t)}},methods:{init(t){this.id=t,this.toolTipDiv=C["u"]("#"+this.id),this.height=80,this.halfWidth=document.getElementById(this.id).clientWidth/2,this.halfHeight=document.getElementById(this.id).clientHeight/2},addText(t){this.toolTipText=this.toolTipDiv.append("text").style("font-family","sans-serif").style("font-size","").attrs({class:"toolTipContent",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth?this.mousePosX-this.width+this.textxOffset+"px":this.mousePosX+this.textxOffset+"px",y:()=>this.mousePosY+this.halfHeight>document.getElementById(this.id).clientHeight?this.mousePosY+this.textyOffset+this.textPadding*this.textCount-this.height+"px":this.mousePosY+this.textyOffset+this.textPadding*this.textCount+"px"}).text(t),this.textCount+=1},info(){this.addText("Name: "+z(this.data.data.id,40));let t="";"Exclusive"==this.$store.selectedMetric?t="Exc.":"Inclusive"==this.$store.selectedMetric&&(t="Inc."),this.addText("Target "+t+" time: "+F(this.data.data.data[this.$store.selectedMetric]["max_time"]))},render(t){this.clear(),this.data=t,this.width=26*this.fontSize;C["q"]().domain([2,11]).range([50,150]);this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipRect=this.toolTipDiv.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:this.width,height:"50",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth?this.mousePosX-this.width+"px":this.mousePosX+"px",y:()=>this.mousePosY+this.halfHeight>document.getElementById(this.id).clientHeight?this.mousePosY-this.height+"px":this.mousePosY+"px"}),this.info()},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},Gi=Ri,Fi=Object(x["a"])(Gi,Oi,Hi,!1,null,null,null),Li=Fi.exports;class qi{constructor(){this.linkedList=new de}isEmpty(){return!this.linkedList.head}peek(){return this.linkedList.head?this.linkedList.head.value:null}enqueue(t){this.linkedList.append(t)}dequeue(){const t=this.linkedList.deleteHead();return t?t.value:null}toString(t){return this.linkedList.toString(t)}}var Ni={name:"ModuleHierarchy",components:{ToolTip:Li},props:[],data:()=>({margin:{top:5,right:5,bottom:5,left:5},level:[0,0],colorByAttr:"Inclusive",direction:["LR","TD"],selectedDirection:"TD",textTruncForNode:15,color:null,width:null,height:null,totalSize:0,b:{w:150,h:30,s:3,t:10},selectedSplitOption:{name:"split-caller"},splitOptions:[{name:"split-caller"},{name:"split-callee"},{name:"split-level"}],placeholder:"Split options",maxLevel:0,path_hierarchy:[],id:"",padding:0,message:"Supernode Hierarchy",offset:4,stroke_width:4,metric:"",selectedModule:"",svgID:"module-hierarchy-svg"}),watch:{level:{handler:function(t,e){this.update_level()},deep:!0}},mounted(){this.id="module-hierarchy-overview"},methods:{async init(){"Inclusive"==this.$store.selectedMetric?this.metric="max_time (inc)":"Exclusive"==this.$store.selectedMetric&&(this.metric="max_time"),this.selectedModule=this.$store.selectedModule;await m.POSTRequest("module_hierarchy",{module:this.$store.selectedModule,datasets:this.$store.selectedDatasets})},formatModule(t){return t.length<10?t:this.trunc(t,10)},setupSVG(){this.width=document.getElementById(this.id).clientWidth,this.height=.3*this.$store.viewHeight,this.icicleWidth=this.width-this.margin.right-this.margin.left,this.icicleHeight=this.height-this.margin.top-this.margin.bottom,this.hierarchySVG=C["u"]("#"+this.id).append("svg").attrs({id:this.svgID,width:this.icicleWidth+this.margin.right+this.margin.left+10,height:this.icicleHeight+this.margin.top+this.margin.bottom}),this.$refs.ToolTip.init(this.svgID)},update_maxlevels(t){let e=t["level"];for(const[s,i]of Object.entries(e))this.maxLevelthis.maxLevel)return void console.error("Cannot generate icicle plot, min_level > max_level");for(let s=0;s=this.minLevel||e{e.enqueue(t)}),o=t}return t},update_from_graph(t){let e=this.bfs(t);this.drawIcicles(e)},trunc(t,e){return t=t.replace(//g,"proc "),t.length>e?t.substr(0,e-1)+"...":t},clear(){C["v"](".icicleNode").remove(),C["v"](".icicleText").remove(),C["v"](".hierarchy-targetLines").remove(),C["v"](".linear-gradient").remove()},descendents(t){let e=[],s=[];s.push(t),e.push(t);while(0!=s.length)t=s.pop(),void 0!=t.children&&t.children.forEach((function(t){e.push(t),s.push(t)}));return e},partition(t){var e=this.width,s=this.height,i=0,a=!1,r=t.height+1;return t.x0=t.y0=i,t.x1=e,t.y1=s/r,t.eachBefore(this.positionNode(s,r)),a&&t.eachBefore(this.roundNode),t},positionNode(t,e){let s=this;return function(i){i.children&&("Exclusive"==s.$store.selectedHierarchyMode?s.diceByValue(i,i.x0,t*(i.depth+1)/e,i.x1,t*(i.depth+2)/e):"Uniform"==s.$store.selectedHierarchyMode&&s.dice(i,i.x0,t*(i.depth+1)/e,i.x1,t*(i.depth+2)/e));var a=i.x0,r=i.y0,o=i.x1-s.padding,l=i.y1-s.padding;o"LR"==this.selectedDirection?this.icicleHeight:this.width).attr("height",()=>"LR"==this.selectedDirection?this.width-50:this.height-50).style("opacity",0);let e=C["h"](t),s=this.partition(e);this.nodes=this.descendents(s),this.setupModuleMeanGradients(),this.setupCallsiteMeanGradients(),this.addNodes(),this.addText(),this.$store.showTarget&&this.drawTargetLine(),C["u"]("#container").on("mouseleave",this.mouseleave),this.totalSize=e.value},setupCallsiteMeanGradients(){this.$store.selectedModule;let t=Object.keys(this.$store.callsites["ensemble"]),e="Horizontal";this.hist_min=0,this.hist_max=0;let s=this.$store.callsites["ensemble"];for(let a=0;at.data.data.id).attr("x",t=>"LR"==this.selectedDirection?(Number.isNaN(t.y0),t.data.count*this.width/t.data.length):t.x0).attr("y",t=>"LR"==this.selectedDirection?t.x0+this.offset+this.stroke_width:t.y0+this.offset).attr("width",t=>"LR"==this.selectedDirection?Number.isNaN(t.y1-t.y0)?this.width/t.data.length-this.offset-this.stroke_width:t.y1-t.y0-this.offset-this.stroke_width:t.x1-t.x0-this.offset-this.stroke_width).attr("height",t=>"LR"==this.selectedDirection?t.x1-t.x0-this.offset:t.y1-t.y0-this.offset-this.stroke_width).style("fill",(t,e)=>{let s=void 0;return s=0==t.depth&&void 0!=this.$store.modules[this.$store.selectedTargetDataset][t.data.data.name]?"url(#mean-module-gradient-"+t.data.data.id+")":void 0!=this.$store.callsites[this.$store.selectedTargetDataset][t.data.data.name]?"url(#mean-callsite-gradient-"+t.data.data.id+")":this.$store.distributionColor.ensemble,s}).style("stroke",t=>{let e=t.data.data[this.$store.selectedMetric]["max_time"];return C["o"](this.$store.runtimeColor.getColorByValue(e))}).style("stroke-width",this.stroke_width).style("opacity",t=>t.exit?.5:1).on("click",this.click).on("mouseover",t=>{const e=(100*t.value/this.totalSize).toPrecision(3);this.percentageString=e+"%",e<.1&&(this.percentageString="< 0.1%");const s=this.getAncestors(t);C["v"](".icicleNode").style("opacity",.1),this.hierarchy.selectAll(".icicleNode").filter(t=>s.indexOf(t)>=0).style("opacity",1),this.$refs.ToolTip.render(t)}).on("mouseout",t=>{C["v"](".icicleNode").style("opacity",1)})},addText(){this.hierarchy.selectAll(".icicleText").data(this.nodes).enter().append("text").attr("class","icicleText").attr("transform",t=>"LR"==this.selectedDirection?"rotate(90)":"rotate(0)").attr("x",t=>"LR"==this.selectedDirection?(Number.isNaN(t.y0),t.data.count*this.width/t.data.length):t.x0+2*this.offset).attr("y",t=>"LR"==this.selectedDirection?t.x0:t.y0+2.5*(this.stroke_width+this.offset)).attr("width",t=>"LR"==this.selectedDirection?(Number.isNaN(t.y1-t.y0),this.width/t.data.length):this.width).style("fill",t=>{let e=this.$store.runtimeColor.setContrast(this.$store.runtimeColor.getColor(t));return e}).style("font-size","14px").text(t=>{if(t.y1-t.y0<10||t.x1-t.x0<50)return"";let e=t.data.id,s=(V(this.id,e)["width"],14),i=Math.floor((t.x1-t.x0)/s);return e=z(e,i),e})},click(t){let e=this.selectedSplitOption.name;C["v"](".icicleNode").style("opacity",.3);let s=this.getAncestors(t);this.hierarchy.selectAll(".icicleNode").filter(t=>s.indexOf(t)>=0).style("opacity",1),this.$socket.emit(e,{})},mouseleave(){C["u"]("#trail").style("visibility","hidden"),C["v"](".icicleNode").on("mouseover",null),C["v"](".icicleNode").transition().duration(1e3).style("opacity",1).each("end",(function(){}))},mouseover(t){this.$refs.ToolTip.render(t)},mouseout(t){this.$refs.ToolTip.clear()},getAncestors(t){const e=[];let s=t;while(s.parent)e.unshift(s),s=s.parent;return e.unshift(s),e},initializeBreadcrumbTrail(){document.getElementById(this.svgID).clientWidth;const t=C["u"]("#sequence").append("svg:svg").attr("width",this.icicleWidth).attr("height",50).attr("id","trail");t.append("svg:text").attr("id","endlabel").style("fill","#000")},breadcrumbPoints(t){const e=[];return e.push("0,0"),e.push(this.b.w+",0"),e.push(`${this.b.w+this.b.t},${this.b.h/2}`),e.push(`${this.b.w},${this.b.h}`),e.push("0,"+this.b.h),t>0&&e.push(`${this.b.t},${this.b.h/2}`),e.join(" ")},updateBreadcrumbs(t,e){const s=C["u"]("#trail").selectAll("g").data(t,t=>t.name+t.depth),i=s.enter().append("svg:g");i.append("svg:polygon").attr("points",this.breadcrumbPoints).style("fill",()=>"#f1f1f1"),i.append("svg:text").attr("x",(this.b.w+this.b.t)/2).attr("y",this.b.h/2).attr("dy","0.35em").attr("text-anchor","middle").text(t=>t.name),s.attr("transform",(t,e)=>`translate(${e*(this.b.w+this.b.s)}, 0)`),s.exit().remove(),C["u"]("#trail").select("#endlabel").attr("x",(t.length+.5)*(this.b.w+this.b.s)).attr("y",this.b.h/2).attr("dy","0.35em").attr("text-anchor","middle").text(e),C["u"]("#trail").style("visibility","")},toggleLegend(){const t=C["u"]("#legend");"hidden"==t.style("visibility")?t.style("visibility",""):t.style("visibility","hidden")}}},Wi=Ni,zi=Object(x["a"])(Wi,Bi,Ai,!1,null,null,null),Vi=zi.exports,ji=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-layout",{attrs:{row:"",wrap:"",id:t.id}},[s("v-layout",{staticClass:"chip-container"},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")]),s("v-spacer")],1),s("span",{staticClass:"component-info"}),s("svg",{attrs:{id:t.svgID}}),s("ToolTip",{ref:"ToolTip"})],1)},Yi=[],Xi=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:"tooltip_scatterplot"}})},Ki=[],Ui={name:"ToolTip",data:()=>({id:"",textCount:0,textxOffset:20,textyOffset:20,textPadding:18,offset:10,fontSize:12}),methods:{init(t){this.id=t,this.toolTipDiv=C["u"]("#"+this.id).append("svg").attr("class","toolTipSVG"),this.toolTipG=this.toolTipDiv.append("g"),this.height=80,this.halfWidth=document.getElementById(this.id).clientWidth/2,this.halfHeight=document.getElementById(this.id).clientHeight/2},addText(t){this.toolTipText=this.toolTipG.append("text").style("font-family","sans-serif").style("font-size","").attrs({class:"toolTipContent",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth?this.mousePosX-this.width+this.textxOffset+"px":this.mousePosX+this.textxOffset+"px",y:()=>this.mousePosY+this.halfHeight>document.getElementById(this.id).clientHeight?this.mousePosY+this.textyOffset+this.textPadding*this.textCount-this.height+"px":this.mousePosY+this.textyOffset+this.textPadding*this.textCount+"px"}).text(t),this.textCount+=1},trunc(t,e){return t=t.replace(//g,"proc "),t.length>e?t.substr(0,e-1)+"...":t},truncTimeLabel(t){return"Inclusive"==t?"Inc.":"Exclusive"==t?"Exc.":void 0},info(){this.addText("Callsite: "+z(this.data.callsite,10)),this.addText("Mean "+this.truncTimeLabel(this.$store.selectedMetric)+" Time: "+F(this.data.value)),this.addText("Run: "+this.data.run)},render(t){this.clear(),this.width=19*this.fontSize;var e=C["q"]().domain([2,11]).range([50,150]);this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipG.attr("height",e(10)+"px"),this.toolTipRect=this.toolTipG.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:this.width,height:this.height,x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth?this.mousePosX-this.width+"px":this.mousePosX+"px",y:()=>this.mousePosY+this.halfHeight>document.getElementById(this.id).clientHeight?this.mousePosY-this.height+"px":this.mousePosY+"px"}),this.data=t,this.info()},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},Qi=Ui,Zi=Object(x["a"])(Qi,Xi,Ki,!1,null,null,null),Ji=Zi.exports,ta={name:"EnsembleScatterplot",components:{ToolTip:Ji},data:()=>({padding:{top:10,right:10,bottom:15,left:15},xMin:0,xMax:0,yMin:0,yMax:0,firstRender:!0,xData:[],yData:[],nameData:[],id:"ensemble-scatterplot-view",svgID:"ensemble-scatterplot-view-svg",message:"Metric Correlation",boxOffset:20,settings:[{title:"Show Difference plot"},{title:"aaa"}],moduleUnDesirability:1,x_max_exponent:0,y_max_exponent:0,superscript:"⁰¹²³⁴⁵⁶⁷⁸⁹",includesTarget:!0,undesirability:{},maxUndesirability:0,maxVarianceCallsite:""}),mounted(){let t=this;E.$on("ensemble-scatterplot",(function(e){console.log("Ensemble Scatterplot: ",e),t.visualize(e["module"])}))},methods:{init(){this.width=.25*window.innerWidth,this.height=.33*this.$store.viewHeight,this.boxWidth=this.width-this.padding.right-this.padding.left,this.boxHeight=this.height-this.padding.top-this.padding.bottom,this.svg=C["u"]("#"+this.svgID).attr("width",this.boxWidth).attr("height",this.boxHeight-this.padding.top).attr("transform","translate("+this.padding.left+","+this.padding.top+")"),E.$emit("ensemble-scatterplot",{module:this.$store.selectedModule,dataset:this.$store.selectedDatasets})},preprocess(t,e){for(let s in t["mean"])this.yData.push(t["mean"][s]);for(let s in t["diff"])this.xData.push(t["diff"][s]),this.nameData.push(s)},visualize(t){this.firstRender||this.clear(),this.firstRender=!1,this.maxVarianceCallsite="",this.maxUndesirability=0,this.selectedModule=t,this.selectedEnsembleModuleData=this.$store.modules["ensemble"][this.selectedModule][this.$store.selectedMetric],this.ensembleProcess(),void 0!=this.$store.modules[this.$store.selectedTargetDataset][this.selectedModule]&&(this.selectedTargetModuleData=this.$store.modules[this.$store.selectedTargetDataset][this.selectedModule][this.$store.selectedMetric],this.targetProcess());let e=Math.max(this.xMax,this.xtargetMax),s=Math.min(this.xMin,this.xtargetMin),i=Math.max(this.yMax,this.ytargetMax),a=Math.min(this.yMin,this.ytargetMin);this.xScale=C["q"]().domain([s,e]).range([this.padding.left,this.xAxisHeight]),this.yScale=C["q"]().domain([a,i]).range([this.yAxisHeight,this.padding.top]),this.xAxis(),this.yAxis(),this.ensembleDots(),this.$store.showTarget&&void 0!=this.$store.modules[this.$store.selectedTargetDataset][this.selectedModule]&&this.targetDots(),this.setTitle(),this.$refs.ToolTip.init(this.svgID)},setTitle(){this.moduleUnDesirability=this.maxUndesirability},ensembleProcess(){let t=[],e=[];for(let a=0;a{if(e%3==0){let e=N(t,this.x_max_exponent);return""+e[0]}});var e=this.svg.append("g").attr("class","axis").attr("id","xAxis").attr("transform","translate("+3*this.padding.left+","+this.yAxisHeight+")").call(t);e.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px"),e.selectAll("text").style("font-size","14px").style("font-family","sans-serif").style("font-weight","lighter")},addyAxisLabel(){let t=this.yScale.domain()[1];this.y_max_exponent=W(t);this.superscript[this.y_max_exponent];let e="(e+"+this.y_max_exponent+") Inclusive Runtime (μs)";this.svg.append("text").attr("class","scatterplot-axis-label").attr("transform","rotate(-90)").attr("x",-this.padding.top).attr("y",this.padding.left).style("text-anchor","end").style("font-size","12px").text(e)},yAxis(){let t=10;this.addyAxisLabel();let e=C["c"](this.yScale).ticks(t).tickFormat((e,s)=>{if(s%3==0||s==t-1){let t=N(e,this.y_max_exponent);return""+t[0]}});var s=this.svg.append("g").attr("id","yAxis").attr("class","axis").attr("transform","translate("+4*this.padding.left+", 0)").call(e);s.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),s.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.5),s.selectAll("text").style("font-size","14px").style("font-family","sans-serif").style("font-weight","lighter")},trendline(){let t=this;var e=C["j"]().x((function(e,s){return t.xScale(t.xArray[s])+3*t.padding.left})).y((function(e,s){return t.yScale(t.yArray[s])}));this.svg.append("g").attr("class","trend-line").append("path").datum(this.regressionY).attr("d",e).style("stroke","black").style("stroke-width","1px").style("opacity",.5)},calculateQDC(t,e){let s=this.$store.callsites[e][t][this.$store.selectedMetric]["q"];0==s[3]&&0==s[1]?this.undesirability[t]=1:this.undesirability[t]=(s[3]-s[1])/(s[3]+s[1])*100,this.maxUndesirabilitythis.xScale(this.xArray[e].val)+3*this.padding.left,cy:()=>this.yScale(this.yArray[e].val)}).style("stroke","#202020").style("stroke-width",.5).style("fill",this.$store.distributionColor.ensemble).on("mouseover",()=>{let a={callsite:s,QCD:i,value:t.xArray[e].val,run:t.xArray[e].run};t.$refs.ToolTip.render(a)}).on("mouseout",()=>{t.$refs.ToolTip.clear()})}},targetDots(){let t=this;for(let e=0;ethis.xScale(this.xtargetArray[e].val)+3*this.padding.left,cy:(e,s)=>this.yScale(t.ytargetArray[s].val)}).style("fill",this.$store.distributionColor.target).style("stroke",this.$store.runtimeColor.edgeStrokeColor).style("stroke-width",.5).on("mouseover",()=>{let r={callsite:s,QCD:a,value:t.xtargetArray[e].val,run:i};t.$refs.ToolTip.render(r)}).on("mouseout",()=>{t.$refs.ToolTip.clear()})}},correlationText(){let t=this,e=C["g"]("0.2f");this.svg.append("g").append("text").attr("class","text").text("corr-coef: "+e(this.corre_coef)).attr("x",(function(e){return t.boxWidth-t.width/3})).attr("y",(function(t){return 20}))},clear(){C["v"](".ensemble-dot").remove(),C["v"](".target-dot").remove(),C["v"](".axis").remove(),C["v"](".trend-line").remove(),C["v"](".scatterplot-axis-label").remove(),C["v"](".text").remove()}}},ea=ta,sa=Object(x["a"])(ea,ji,Yi,!1,null,null,null),ia=sa.exports,aa=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-card",{attrs:{id:t.id}},[s("v-layout",{staticClass:"chip-container"},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")])],1),s("svg",{attrs:{id:t.svgId}})],1)},ra=[],oa=s("705b"),la=s.n(oa);function na(){var t,e=[],s=75,i=!0,a=!1,r=!0,o="lasso",l={start:function(){},draw:function(){},end:function(){}};function n(n){var h,d,c,u,f=n.append("g").attr("class",o),m=f.append("path").attr("class","drawn"),p=f.append("path").attr("class","loop_close"),g=f.append("circle").attr("class","origin"),x=C["e"]().on("start",b).on("drag",y).on("end",v);function b(){u=[],h="",m.attr("d",null),p.attr("d",null),e.nodes().forEach((function(t){t.__lasso.possible=!1,t.__lasso.selected=!1,t.__lasso.hoverSelect=!1,t.__lasso.loopSelect=!1;var e=t.getBoundingClientRect();t.__lasso.lassoPoint=[Math.round(e.left+e.width/2),Math.round(e.top+e.height/2)]})),r&&e.on("mouseover.lasso",(function(){this.__lasso.hoverSelect=!0})),l.start()}function y(){var t,r;"touchmove"===C["f"].sourceEvent.type?(t=C["f"].sourceEvent.touches[0].clientX,r=C["f"].sourceEvent.touches[0].clientY):(t=C["f"].sourceEvent.clientX,r=C["f"].sourceEvent.clientY);var o=C["m"](this)[0],n=C["m"](this)[1];""===h?(h=h+"M "+o+" "+n,d=[t,r],c=[o,n],g.attr("cx",o).attr("cy",n).attr("r",7).attr("display",null)):h=h+" L "+o+" "+n,u.push([t,r]);var f=Math.sqrt(Math.pow(t-d[0],2)+Math.pow(r-d[1],2)),x="M "+o+" "+n+" L "+c[0]+" "+c[1];m.attr("d",h),p.attr("d",x),a=f<=s,a&&i?p.attr("display",null):p.attr("display","none"),e.nodes().forEach((function(t){t.__lasso.loopSelect=!(!a||!i)&&la()(u,t.__lasso.lassoPoint)<1,t.__lasso.possible=t.__lasso.hoverSelect||t.__lasso.loopSelect})),l.draw()}function v(){e.on("mouseover.lasso",null),e.nodes().forEach((function(t){t.__lasso.selected=t.__lasso.possible,t.__lasso.possible=!1})),m.attr("d",null),p.attr("d",null),g.attr("display","none"),l.end()}t.call(x)}return n.items=function(t){if(!arguments.length)return e;e=t;var s=e.nodes();return s.forEach((function(t){t.__lasso={possible:!1,selected:!1}})),n},n.className=function(t){return o=t,n},n.possibleItems=function(){return e.filter((function(){return this.__lasso.possible}))},n.selectedItems=function(){return e.filter((function(){return this.__lasso.selected}))},n.notPossibleItems=function(){return e.filter((function(){return!this.__lasso.possible}))},n.notSelectedItems=function(){return e.filter((function(){return!this.__lasso.selected}))},n.closePathDistance=function(t){return arguments.length?(s=t,n):s},n.closePathSelect=function(t){return arguments.length?(i=!0===t,n):i},n.isPathClosed=function(t){return arguments.length?(a=!0===t,n):a},n.hoverSelect=function(t){return arguments.length?(r=!0===t,n):r},n.on=function(t,e){if(!arguments.length)return l;if(1===arguments.length)return l[t];var s=["start","draw","end"];return s.indexOf(t)>-1&&(l[t]=e),n},n.targetArea=function(e){return arguments.length?(t=e,n):t},n}var ha={name:"ParameterProjection",props:[],data:()=>({id:"parameter-projection-view",svgId:"parameter-projection-view-svg",ts:null,config:null,vis:null,colorBy:null,zoomed:!1,xMin:0,xMax:0,yMin:0,yMax:0,message:"Parameter Projection",showMessage:!1,colorset:["#FF7F00","#16BECF","#984EA3","#8C564B","#E377C2","#7F7F7F","#BCBD21","#4daf4a","#D62728"]}),sockets:{parameter_projection(t){t=JSON.parse(t),console.log("Projections: ",t),this.visualize(t)}},mounted(){let t=this;E.$on("highlight_dataset",e=>{console.log("[Projection] Highlighting the dataset :",e),t.highlight(e)}),E.$on("update_number_of_clusters",e=>{t.clear(),m.POSTRequest("projection",{datasets:t.$store.selectedDatasets,targetDataset:t.$store.selectedTargetDataset,groupBy:"module",numOfClusters:t.$store.selectedNumOfClusters})})},methods:{async init(){let t=document.getElementById(this.id);this.width=t.clientWidth,this.tooltipHeight=110,this.height=.33*this.$store.viewHeight-this.tooltipHeight,this.padding={left:50,top:0,right:50,bottom:30},this.x=C["q"]().range([0,this.width]),this.y=C["q"]().range([this.height,0]);let e=await m.POSTRequest("projection",{datasets:this.$store.selectedDatasets,targetDataset:this.$store.selectedTargetDataset,groupBy:"module",numOfClusters:this.$store.selectedNumOfClusters});console.debug("[/projection] data: ",e),e=JSON.parse(e),this.visualize(e)},axis(){this.xAxis=C["b"](this.x).tickFormat((t,e)=>""),this.yAxis=C["c"](this.y).tickFormat((t,e)=>""),this.yDom=[0,0],this.xAxisSVG=this.svg.append("g").attrs({transform:`translate(${this.padding.left}, ${this.height-this.padding.bottom})`,class:"x-axis",color:"transparent"}).call(this.xAxis),this.yAxisSVG=this.svg.append("g").attrs({transform:`translate(${this.padding.left}, ${this.padding.top})`,class:"y-axis",color:"transparent"}).call(this.yAxis),this.lineLength=75,this.svg.append("svg:defs").append("svg:marker").attr("id","triangle").attr("refX",15).attr("refY",-1.5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 -5 10 10").style("stroke","black"),this.svg.append("line").attr("x1",this.padding.bottom).attr("y1",this.height-this.padding.bottom/2).attr("x2",this.lineLength).attr("y2",this.height-this.padding.bottom/2).attr("stroke-width",1.5).attr("stroke","black").style("opacity",.5),this.svg.append("line").attr("x1",this.padding.bottom).attr("y1",this.height-this.padding.bottom/2).attr("x2",this.padding.bottom).attr("y2",this.height-.75*this.lineLength).attr("stroke-width",1.5).attr("stroke","black").style("opacity",.5),this.svg.append("text").attrs({class:"projection-axis-label",x:this.lineLength,y:this.height}).style("text-anchor","end").style("font-size","10px").style("fill","none").style("font-size","10px").style("stroke","black").style("stroke-width","1px").style("opacity",.5).text("PC1"),this.svg.append("text").attrs({class:"projection-axis-label",x:-this.height+.75*this.lineLength,y:.75*this.padding.bottom,transform:"rotate(-90)"}).style("text-anchor","end").style("fill","none").style("font-size","10px").style("stroke","black").style("stroke-width","1px").style("opacity",.5).text("PC2")},preprocess(t){let e=[];this.numberOfPoints=Object.entries(t["x"]).length;for(let s=0;sthis.xMax&&(this.xMax=a),rthis.yMax&&(this.yMax=r)}return e},setup(){this.svg=C["u"]("#"+this.svgId).attrs({width:this.width,height:this.height,transform:"translate(0, 0)"}).style("stroke-width",1).style("stroke",this.$store.ensemble).style("background-color",this.$store.ensemble),this.t=this.svg.transition().duration(750),this.axis()},addTooltipTextBlock(){this.tooltip=C["u"]("#"+this.id).append("div").attrs({class:"tooltip",id:"parameter-projection-tooltip"}).style("opacity",1)},drawInnerCircle(){let t=this;this.circles=this.svg.selectAll("circle").data(this.$store.projection).enter().append("circle").attrs({class:t=>"dot",id:t=>"dot-"+this.$store.datasetMap[t[2]],r:t=>6,fill:e=>{let s="";return s=(e[2]==t.$store.selectedTargetDataset&&t.$store.showTarget,this.colorset[e[4]]),s},cx:(e,s)=>t.x(e[0]),cy:e=>t.y(e[1])})},drawOuterDisc(){this.outerCircles=this.svg.selectAll(".outer-circle").data(this.$store.projection).enter().append("circle").attrs({class:t=>"outer-circle",id:t=>"outer-circle-"+self.$store.datasetMap[t[2]],r:8,"stroke-width":3,stroke:t=>t[2]==self.$store.selectedTargetDataset&&self.$store.showTarget?this.colorset[t[4]]:C["o"](self.$store.DistributionColor.ensemble),"fill-opacity":0,cx:(t,e)=>self.x(t[0]),cy:t=>self.y(t[1])}).on("mouseover",t=>{this.mouseover(t)}).on("click",t=>{}).on("dblclick",t=>{})},addLassoFeature(){this.lasso=na().className("lasso"+this.id).closePathSelect(!0).closePathDistance(100).items(this.circles).targetArea(this.svg).on("start",this.lassoStart).on("draw",this.lassoDraw).on("end",this.lassoEnd),this.svg.call(this.lasso)},visualize(t){this.setup(),this.$store.projection=this.preprocess(t),this.x.domain([2*this.xMin,2*this.xMax]),this.y.domain([2*this.yMin,2*this.yMax]),this.xAxisSVG.call(this.xAxis),this.yAxisSVG.call(this.yAxis),this.drawInnerCircle(),this.addTooltipTextBlock(),this.addLassoFeature(),this.highlight(this.$store.selectedTargetDataset),this.showDetails(this.$store.selectedTargetDataset)},showDetails(t){this.tooltip.html("Run: "+t+"
[PC1] Inc. time (max): "+F(this.$store.maxIncTime[t])+"
[PC2] Exc. time (max): "+F(this.$store.maxExcTime[t]))},mouseover(t){let e=t[2];C["v"](".dot").style("opacity",.5),this.tooltip.transition().duration(200).style("opacity",1).style("left",10),this.showDetails(e)},click(t){let e=this;this.selectedRun=t[2],C["v"](".dot").attr("stroke",e.$store.distributionColor.ensemble).attr("stroke-width",3),C["u"]("#dot-"+e.$store.datasetMap[t[2]]).attr("stroke",e.$store.distributionColor.compare).attr("stroke-width",3),C["u"]("#outer-dot"+e.$store.datasetMap[e.$store.selectedTargetDataset]).attr("stroke",e.$store.distributionColor.target).attr("stroke-width",3),this.compareDataset=t[2],this.$store.selectedCompareDataset=this.compareDataset,this.$emit("compare"),this.$socket.emit("compare",{targetDataset:e.$store.selectedTargetDataset,compareDataset:this.compareDataset,selectedMetric:this.$store.selectedMetric})},dblclick(t){let e=t[2];this.$socket.emit("dist_group_highlight",{datasets:[e],groupBy:this.$store.selectedGroupBy}),this.$socket.emit("dist_auxiliary",{datasets:[e],sortBy:this.$store.auxiliarySortBy,module:"all"}),this.$store.selectedTargetDataset=e,E.$emit("highlight-datasets",this.$store.selectedTargetDataset)},lassoStart(){C["v"](".dot").attrs({opacity:1}),this.lasso.items().attr("r",t=>4.5).classed("not_possible",!0).classed("selected",!1)},lassoDraw(){this.lasso.possibleItems().classed("not_possible",!1).classed("possible",!0),this.lasso.notPossibleItems().classed("not_possible",!0).classed("possible",!1)},lassoEnd(){C["v"](".dot").attrs({opacity:.5}),this.selectedDatasets=[],this.lasso.items().classed("not_possible",!1).classed("possible",!1),this.lasso.selectedItems().classed("selected",!0).attr("r",t=>4.5).attr("id",t=>{this.selectedDatasets.push(t[2])}).attr("opacity",1),this.lasso.notSelectedItems().attr("r",4.5).attr("opacity",.3),this.$store.selectedDatasets=this.selectedDatasets,E.$emit("lasso-selection",this.$store.selectedDatasets)},zoom(){this.zoomed=!0;let t=this;this.svg.selectAll(".circle"+this.id).transition(this.t).attr("cx",(function(e){return t.x(e["PC0"][0])})).attr("cy",(function(e){return t.y(e["PC1"][0])})),this.svg.selectAll(".selection").attrs({x:0,y:0,width:0,height:0})},unzoom(){this.zoomed=!1,this.x.domain([2*this.xMin,2*this.xMax]),this.y.domain([2*this.yMin,2*this.yMax]);let t=this;this.svg.selectAll(".circle"+this.id).transition(this.t).attr("cx",(function(e){return t.x(e["PC0"][0])})).attr("cy",(function(e){return t.y(e["PC1"][0])}))},brushended(){let t=350,e=C["f"].selection;if(e){let t=e.map(this.x.invert),s=e.map(this.y.invert);if(this.selectedIds=this.findIdsInRegion(t[0],t[1],s[0],s[1]),this.x.domain([e[0][0],e[1][0]].map(this.x.invert,this.x)),this.y.domain([e[1][1],e[0][1]].map(this.y.invert,this.y)),!C["f"].sourceEvent)return;C["u"](".brush").call(this.brush.move,null)}else{if(!this.idleTimeout)return this.idleTimeout=setTimeout(this.idled,t);this.x.domain([2*this.xMin,2*this.xMax]),this.y.domain([2*this.yMin,2*this.yMax])}this.zoom(),this.select()},idled(){this.idleTimeout=null},highlight(t){let e=this.$store.datasetMap[t];this.circles=this.svg.selectAll("#dot-"+e).attrs({opacity:1,stroke:this.$store.distributionColor.target,"stroke-width":3}),this.circles=this.svg.selectAll("#dot-"+e).attrs({opacity:1,stroke:this.$store.distributionColor.target,"stroke-width":4.5})},clear(){C["v"]("#parameter-projection-tooltip").remove(),C["v"](".outer-circle").remove(),this.svg.selectAll(".lasso").remove(),this.svg.selectAll(".projection-axis-label").remove()}}},da=ha,ca=Object(x["a"])(da,aa,ra,!1,null,null,null),ua=ca.exports,fa={name:"EnsembleCallFlow",components:{Splitpanes:D.a,SuperGraph:ve,CCT:ke,EnsembleScatterplot:ia,EnsembleHistogram:Ii,ModuleHierarchy:Vi,ParameterProjection:ua,CallsiteCorrespondence:vi},watch:{showTarget:function(t){E.$emit("show-target-auxiliary")}},data:()=>({appName:"CallFlow",server:"localhost:5000",config:{headers:{"Access-Control-Allow-Origin":"*"}},left:!1,formats:["CCT","SuperGraph"],selectedFormat:"SuperGraph",datasets:[],selectedTargetDataset:"",selectedDataset2:"",groupBy:["Name","Module","File"],selectedGroupBy:"Module",filterBy:["Inclusive","Exclusive"],filterRange:[0,100],selectedFilterBy:"Inclusive",selectedIncTime:0,filterPercRange:[0,100],selectedFilterPerc:5,metrics:["Exclusive","Inclusive"],selectedMetric:"Inclusive",runtimeColorMap:[],distributionColorMap:[],selectedRuntimeColorMap:"Blues",selectedDistributionColorMap:"Reds",colorPoints:[3,4,5,6,7,8,9],selectedColorPoint:9,selectedColorMin:null,selectedColorMax:null,selectedColorMinText:"",selectedColorMaxText:"",groupModes:["include callbacks","exclude callbacks"],selectedGroupMode:"include callbacks",scatterMode:["mean","all"],selectedScatterMode:"all",selectedFunctionsInCCT:70,selectedDiffNodeAlignment:"Top",diffNodeAlignment:["Middle","Top"],isCallgraphInitialized:!1,isCCTInitialized:!1,datas:["Dataframe","Graph"],selectedData:"Dataframe",firstRender:!0,summaryChip:"Ensemble Super Graph",auxiliarySortBy:"time (inc)",ranks:[],initLoad:!0,comparisonMode:!1,selectedCompareDataset:null,compareModes:["MEAN_DIFF","RANK_DIFF"],selectedCompareMode:"MEAN_DIFF",selectedOutlierBand:4,modes:["Ensemble","Single"],selectedMode:"Ensemble",exhibitModes:["Presentation","Default"],selectedExhibitMode:"Default",presentationPage:0,presentationOrder:["run_information","ensemble_supergraph","ensemble_gradients","ensemble_mini_histogram","module_hierarchy","ensemble_auxiliary","ensemble_similarity","ensemble_projection"],parameter_analysis:!0,selectedRunBinCount:20,selectedMPIBinCount:20,selectedHierarchyMode:"Uniform",hierarchyModes:["Uniform","Exclusive"],selectedRuntimeSortBy:"Inclusive",sortByModes:["Inclusive","Exclusive","Standard Deviation"],scales:["Log","Linear"],selectedScale:"Linear",props:["name","rank","dataset","all_ranks"],selectedProp:"rank",dimensions:["max_inclusive_time","max_exclusive_time","rank_count"],selectedPC1:"max_inclusive_time",selectedPC2:"max_exclusive_time",selectedIQRFactor:.15,selectedNumOfClusters:3,targetColorMap:{Green:"#4EAF4A",Blue:"#4681B4",Brown:"#AF9B90",Red:"#A90400"},targetColors:["Green","Blue","Brown"],selectedTargetColor:"Green",showTarget:!0,targetInfo:"Target Guides",metricTimeMap:{}}),mounted(){this.fetchData(),E.$on("lasso_selection",()=>{this.$store.resetTargetDataset=!0,this.clearLocal(),this.setTargetDataset(),this.requestEnsembleData()})},methods:{async fetchData(){void 0===this.$store.selectedDatasets&&this.$router.push("/"),this.$store.auxiliarySortBy=this.auxiliarySortBy,this.$store.selectedMPIBinCount=this.selectedMPIBinCount,this.$store.selectedRunBinCount=this.selectedRunBinCount;const t=await m.POSTRequest("supergraph_data",{datasets:this.$store.selectedDatasets,sortBy:this.$store.auxiliarySortBy,MPIBinCount:this.$store.selectedMPIBinCount,RunBinCount:this.$store.selectedRunBinCount,re_process:1});console.debug("[/supergraph_data]",t),this.dataReady=!0,this.setupStore(t),this.init()},init(){console.assert(this.selectedMode,"Single"),console.log("Mode : ",this.selectedMode),console.log("Number of runs :",this.$store.numOfRuns),console.log("Datasets : ",this.$store.selectedDatasets),console.log("Format = ",this.selectedFormat),this.setGlobalVariables(),this.setTargetDataset(),this.setupColors(),this.setViewDimensions(),this.setComponentMap(),"SuperGraph"==this.selectedFormat?(this.setSelectedModule(),this.initComponents(this.currentEnsembleSuperGraphComponents)):"CCT"==this.selectedFormat&&this.initComponents(this.currentEnsembleCCTComponents),E.$emit("ensemble-refresh-boxplot",{})},setupStore(t){this.$store.modules=t["module"],this.$store.callsites=t["callsite"],this.$store.gradients=t["gradients"],this.$store.moduleCallsiteMap=t["moduleCallsiteMap"],this.$store.callsiteModuleMap=t["callsiteModuleMap"],this.datasets=this.$store.selectedDatasets,this.numOfRuns>=2?(this.modes=["Single","Ensemble"],this.selectedMode="Ensemble"):1==this.numOfRuns&&(this.enableDist=!1,this.modes=["Single"],this.selectedMode="Single")},setGlobalVariables(){this.$store.selectedMPIBinCount=this.selectedMPIBinCount,this.$store.selectedRunBinCount=this.selectedRunBinCount,this.$store.auxiliarySortBy=this.auxiliarySortBy,this.$store.reprocess=0,this.$store.comparisonMode=this.comparisonMode,this.$store.fontSize=14,this.$store.transitionDuration=1e3,this.$store.showTarget=this.showTarget,this.$store.encoding="MEAN_GRADIENTS",this.$store.selectedScatterMode="mean",this.$store.nodeInfo={},this.$store.selectedMode=this.selectedMode,this.$store.selectedFunctionsInCCT=this.selectedFunctionsInCCT,this.$store.selectedHierarchyMode=this.selectedHierarchyMode,this.$store.selectedFormat=this.selectedFormat,this.$store.selectedProp=this.selectedProp,this.$store.selectedScale=this.selectedScale,this.$store.selectedCompareMode=this.selectedCompareMode,this.$store.selectedIQRFactor=this.selectedIQRFactor,this.$store.selectedRuntimeSortBy=this.selectedRuntimeSortBy,this.$store.selectedNumOfClusters=this.selectedNumOfClusters,this.$store.selectedEdgeAlignment="Top",this.$store.datasetMap={};for(let t=0;t{let i=0,a=0;return"Inclusive"==e?(i=this.$store.maxIncTime[t],a=this.$store.maxIncTime[s],this.metricTimeMap=this.$store.maxIncTime):"Exclusive"==e&&(i=this.$store.maxExcTime[t],a=this.$store.maxExcTime[s],this.metricTimeMap=this.$store.maxExcTime),parseFloat(i)-parseFloat(a)});return s},updateColors(){this.clearLocal(),this.setupColors(),this.init()},updateFormat(){this.clearLocal(),this.reset(),this.init()},updateMode(){this.clear(),this.init()},updateMetric(){this.$store.selectedMetric=this.selectedMetric,this.clearLocal(),this.init()},updateColor(){this.clear(),this.init()},updateColorPoint(){this.clearLocal(),this.init()},updateFunctionsInCCT(){m.POSTRequest("cct",{dataset:this.$store.selectedTargetDataset,functionInCCT:this.selectedFunctionsInCCT})},updateDiffNodeAlignment(){console.log("Alignment mode: ",this.selectedDiffNodeAlignment),this.$store.selectedDiffNodeAlignment=this.selectedDiffNodeAlignment,E.$emit("update-diff-node-alignment")},updateAuxiliarySortBy(){this.$store.auxiliarySortBy=this.auxiliarySortBy,E.$emit("update-auxiliary-sort-by")},async updateCompareDataset(){this.summaryChip="Diff SuperGraph",this.$store.selectedCompareDataset=this.selectedCompareDataset,this.$store.comparisonMode=!0,this.$store.encoding=this.selectedCompareMode;const t=await m.POSTRequest("compare",{targetDataset:this.$store.selectedTargetDataset,compareDataset:this.$store.selectedCompareDataset,selectedMetric:this.$store.selectedMetric});this.$refs.SuperGraph.activateCompareMode(t)},updateProp(){this.$store.selectedProp=this.selectedProp,this.clearLocal(),this.init()},updateScale(){this.$store.selectedScale=this.selectedScale,this.clearLocal(),this.init()},updateHierarchyMode(){this.$store.selectedHierarchyMode=this.selectedHierarchyMode,this.clearLocal(),this.init()},updateIQRFactor(){this.$store.selectedIQRFactor=this.selectedIQRFactor,this.clearLocal(),this.init()},updateRuntimeSortBy(){this.$store.selectedRuntimeSortBy=this.selectedRuntimeSortBy,E.$emit("callsite-information-sort")},updateNumOfClusters(){this.$store.selectedNumOfClusters=this.selectedNumOfClusters,E.$emit("update-number-of-clusters")},updateTargetColor(){this.$store.showTarget=this.showTarget,this.clear(),this.init(),E.$emit("ensemble-auxiliary",{})},updateRunBinCount(){this.$store.selectedRunBinCount=this.selectedRunBinCount,this.requestEnsembleData(),this.clearLocal(),this.init()},updateMPIBinCount(){this.$store.selectedMPIBinCount=this.selectedMPIBinCount,this.$store.reprocess=1,this.requestEnsembleData(),this.clearLocal(),this.init()}}},ma=fa,pa=Object(x["a"])(ma,Rs,Gs,!1,null,null,null),ga=pa.exports;i["default"].use(a);const xa=new a["Store"],ba=new r["a"]({routes:[{path:"/single",name:"SingleCallFlow",component:Hs,props:!0},{path:"/ensemble",name:"EnsembleCallFlow",component:ga,props:!0}]});i["default"].config.productionTip=!1,i["default"].use(n["a"]),i["default"].use(r["a"]),i["default"].use(l.a),i["default"].use(d.a),new i["default"]({store:xa,render:t=>t(y),el:"#app",router:ba,components:{App:y},template:""}),i["default"].config.devtools=!0;e["default"]=ba},7456:function(t,e,s){},"7dad":function(t,e,s){},9993:function(t,e,s){"use strict";var i=s("7dad"),a=s.n(i);a.a},a700:function(t,e,s){"use strict";var i=s("0007"),a=s.n(i);a.a},acf7:function(t,e,s){"use strict";var i=s("7456"),a=s.n(i);a.a},ceb8:function(t,e,s){},d41f:function(t,e,s){"use strict";var i=s("159f"),a=s.n(i);a.a}}); -//# sourceMappingURL=app.9576c760.js.map \ No newline at end of file diff --git a/app/dist/js/app.9576c760.js.map b/app/dist/js/app.9576c760.js.map deleted file mode 100644 index 763624c1..00000000 --- a/app/dist/js/app.9576c760.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/callsiteCorrespondence/callsiteCorrespondence.vue?c37b","webpack:///./src/components/App.vue?c28e","webpack:///./src/lib/APIService.js","webpack:///src/components/App.vue","webpack:///./src/components/App.vue?7ffd","webpack:///./src/components/App.vue","webpack:///./src/components/callflowSingle.vue?fe32","webpack:///./src/lib/color/COLORS.js","webpack:///./src/lib/color/color.js","webpack:///./src/components/EventHandler.js","webpack:///./src/components/supergraph/supergraph.vue?1f6a","webpack:///./src/algorithms/sankey.js","webpack:///./src/components/supergraph/nodes.vue?86a1","webpack:///./src/components/utils.js","webpack:///./src/components/supergraph/encodings/meanGradients.vue?3256","webpack:///src/components/supergraph/encodings/meanGradients.vue","webpack:///./src/components/supergraph/encodings/meanGradients.vue?cd0d","webpack:///./src/components/supergraph/encodings/meanGradients.vue","webpack:///./src/components/supergraph/encodings/guides.vue?f4b4","webpack:///src/components/supergraph/encodings/guides.vue","webpack:///./src/components/supergraph/encodings/guides.vue?0589","webpack:///./src/components/supergraph/encodings/guides.vue","webpack:///./src/components/supergraph/encodings/targetLine.vue?84b2","webpack:///src/components/supergraph/encodings/targetLine.vue","webpack:///./src/components/supergraph/encodings/targetLine.vue?4d5b","webpack:///./src/components/supergraph/encodings/targetLine.vue","webpack:///./src/components/supergraph/encodings/tooltip.vue?9806","webpack:///src/components/supergraph/encodings/tooltip.vue","webpack:///./src/components/supergraph/encodings/tooltip.vue?d26c","webpack:///./src/components/supergraph/encodings/tooltip.vue","webpack:///./src/components/supergraph/encodings/mean.vue?db4c","webpack:///src/components/supergraph/encodings/mean.vue","webpack:///./src/components/supergraph/encodings/mean.vue?0197","webpack:///./src/components/supergraph/encodings/mean.vue","webpack:///./src/components/supergraph/encodings/meanDiff.vue?7145","webpack:///src/components/supergraph/encodings/meanDiff.vue","webpack:///./src/components/supergraph/encodings/meanDiff.vue?3c15","webpack:///./src/components/supergraph/encodings/meanDiff.vue","webpack:///./src/components/supergraph/encodings/rankDiff.vue?ef49","webpack:///src/components/supergraph/encodings/rankDiff.vue","webpack:///./src/components/supergraph/encodings/rankDiff.vue?0558","webpack:///./src/components/supergraph/encodings/rankDiff.vue","webpack:///src/components/supergraph/nodes.vue","webpack:///./src/components/supergraph/nodes.vue?c05d","webpack:///./src/components/supergraph/nodes.vue","webpack:///./src/components/supergraph/edges.vue?0a84","webpack:///src/components/supergraph/edges.vue","webpack:///./src/components/supergraph/edges.vue?50fd","webpack:///./src/components/supergraph/edges.vue","webpack:///./src/components/supergraph/miniHistograms.vue?fbf7","webpack:///src/components/supergraph/miniHistograms.vue","webpack:///./src/components/supergraph/miniHistograms.vue?b01b","webpack:///./src/components/supergraph/miniHistograms.vue","webpack:///./src/components/colormap.vue?bd41","webpack:///src/components/colormap.vue","webpack:///./src/components/colormap.vue?610b","webpack:///./src/components/colormap.vue","webpack:///./src/datastructures/graph.js","webpack:///./src/datastructures/linkedListNode.js","webpack:///./src/datastructures/comparator.js","webpack:///./src/datastructures/linkedList.js","webpack:///./src/datastructures/node.js","webpack:///./src/datastructures/edge.js","webpack:///./src/algorithms/dfs.js","webpack:///./src/algorithms/detectcycle.js","webpack:///src/components/supergraph/supergraph.vue","webpack:///./src/components/supergraph/supergraph.vue?22c7","webpack:///./src/components/supergraph/supergraph.vue","webpack:///./src/components/cct/cct.vue?e8ff","webpack:///src/components/cct/cct.vue","webpack:///./src/components/cct/cct.vue?45a5","webpack:///./src/components/cct/cct.vue","webpack:///./src/components/singleScatterplot/singleScatterplot.vue?e3af","webpack:///./src/components/singleScatterplot/tooltip.vue?e1c6","webpack:///src/components/singleScatterplot/tooltip.vue","webpack:///./src/components/singleScatterplot/tooltip.vue?2470","webpack:///./src/components/singleScatterplot/tooltip.vue","webpack:///src/components/singleScatterplot/singleScatterplot.vue","webpack:///./src/components/singleScatterplot/singleScatterplot.vue?1f69","webpack:///./src/components/singleScatterplot/singleScatterplot.vue","webpack:///./src/components/singleHistogram/singleHistogram.vue?e6a5","webpack:///./src/components/singleHistogram/tooltip.vue?0b08","webpack:///src/components/singleHistogram/tooltip.vue","webpack:///./src/components/singleHistogram/tooltip.vue?c0c8","webpack:///./src/components/singleHistogram/tooltip.vue","webpack:///src/components/singleHistogram/singleHistogram.vue","webpack:///./src/components/singleHistogram/singleHistogram.vue?9964","webpack:///./src/components/singleHistogram/singleHistogram.vue","webpack:///./src/components/callsiteInformation/callsiteInformation.vue?a1d8","webpack:///./src/components/callsiteInformation/boxplot.vue?a784","webpack:///./src/components/callsiteInformation/box.vue?29ec","webpack:///src/components/callsiteInformation/box.vue","webpack:///./src/components/callsiteInformation/box.vue?2b90","webpack:///./src/components/callsiteInformation/box.vue","webpack:///./src/components/callsiteInformation/markers.vue?4ccf","webpack:///src/components/callsiteInformation/markers.vue","webpack:///./src/components/callsiteInformation/markers.vue?9b2d","webpack:///./src/components/callsiteInformation/markers.vue","webpack:///./src/components/callsiteInformation/outlier.vue?6973","webpack:///src/components/callsiteInformation/outlier.vue","webpack:///./src/components/callsiteInformation/outlier.vue?3fe7","webpack:///./src/components/callsiteInformation/outlier.vue","webpack:///./src/components/callsiteInformation/tooltip.vue?35e9","webpack:///src/components/callsiteInformation/tooltip.vue","webpack:///./src/components/callsiteInformation/tooltip.vue?fc3d","webpack:///./src/components/callsiteInformation/tooltip.vue","webpack:///src/components/callsiteInformation/boxplot.vue","webpack:///./src/components/callsiteInformation/boxplot.vue?5957","webpack:///./src/components/callsiteInformation/boxplot.vue","webpack:///src/components/callsiteInformation/callsiteInformation.vue","webpack:///./src/components/callsiteInformation/callsiteInformation.vue?52a8","webpack:///./src/components/callsiteInformation/callsiteInformation.vue","webpack:///src/components/callflowSingle.vue","webpack:///./src/components/callflowSingle.vue?baa2","webpack:///./src/components/callflowSingle.vue","webpack:///./src/components/callflowEnsemble.vue?019e","webpack:///./src/components/callsiteCorrespondence/callsiteCorrespondence.vue?551c","webpack:///./src/components/callsiteCorrespondence/boxplot.vue?e5fd","webpack:///./src/components/callsiteCorrespondence/box.vue?cfc8","webpack:///src/components/callsiteCorrespondence/box.vue","webpack:///./src/components/callsiteCorrespondence/box.vue?d068","webpack:///./src/components/callsiteCorrespondence/box.vue","webpack:///./src/components/callsiteCorrespondence/markers.vue?484d","webpack:///src/components/callsiteCorrespondence/markers.vue","webpack:///./src/components/callsiteCorrespondence/markers.vue?fa10","webpack:///./src/components/callsiteCorrespondence/markers.vue","webpack:///./src/components/callsiteCorrespondence/outlier.vue?f1ce","webpack:///src/components/callsiteCorrespondence/outlier.vue","webpack:///./src/components/callsiteCorrespondence/outlier.vue?4c4a","webpack:///./src/components/callsiteCorrespondence/outlier.vue","webpack:///./src/components/callsiteCorrespondence/tooltip.vue?3349","webpack:///src/components/callsiteCorrespondence/tooltip.vue","webpack:///./src/components/callsiteCorrespondence/tooltip.vue?ae8b","webpack:///./src/components/callsiteCorrespondence/tooltip.vue","webpack:///src/components/callsiteCorrespondence/boxplot.vue","webpack:///./src/components/callsiteCorrespondence/boxplot.vue?081c","webpack:///./src/components/callsiteCorrespondence/boxplot.vue","webpack:///src/components/callsiteCorrespondence/callsiteCorrespondence.vue","webpack:///./src/components/callsiteCorrespondence/callsiteCorrespondence.vue?5438","webpack:///./src/components/callsiteCorrespondence/callsiteCorrespondence.vue","webpack:///./src/components/ensembleHistogram/ensembleHistogram.vue?50fb","webpack:///./src/components/ensembleHistogram/tooltip.vue?0ffe","webpack:///src/components/ensembleHistogram/tooltip.vue","webpack:///./src/components/ensembleHistogram/tooltip.vue?d936","webpack:///./src/components/ensembleHistogram/tooltip.vue","webpack:///src/components/ensembleHistogram/ensembleHistogram.vue","webpack:///./src/components/ensembleHistogram/ensembleHistogram.vue?f809","webpack:///./src/components/ensembleHistogram/ensembleHistogram.vue","webpack:///./src/components/moduleHierarchy/moduleHierarchy.vue?53a5","webpack:///./src/components/moduleHierarchy/tooltip.vue?4250","webpack:///src/components/moduleHierarchy/tooltip.vue","webpack:///./src/components/moduleHierarchy/tooltip.vue?828c","webpack:///./src/components/moduleHierarchy/tooltip.vue","webpack:///./src/datastructures/queue.js","webpack:///src/components/moduleHierarchy/moduleHierarchy.vue","webpack:///./src/components/moduleHierarchy/moduleHierarchy.vue?55a9","webpack:///./src/components/moduleHierarchy/moduleHierarchy.vue","webpack:///./src/components/ensembleScatterplot/ensembleScatterplot.vue?940e","webpack:///./src/components/ensembleScatterplot/tooltip.vue?55be","webpack:///src/components/ensembleScatterplot/tooltip.vue","webpack:///./src/components/ensembleScatterplot/tooltip.vue?2d23","webpack:///./src/components/ensembleScatterplot/tooltip.vue","webpack:///src/components/ensembleScatterplot/ensembleScatterplot.vue","webpack:///./src/components/ensembleScatterplot/ensembleScatterplot.vue?7360","webpack:///./src/components/ensembleScatterplot/ensembleScatterplot.vue","webpack:///./src/components/parameterProjection/parameterProjection.vue?c0c4","webpack:///./src/lib/lasso.js","webpack:///src/components/parameterProjection/parameterProjection.vue","webpack:///./src/components/parameterProjection/parameterProjection.vue?8f47","webpack:///./src/components/parameterProjection/parameterProjection.vue","webpack:///src/components/callflowEnsemble.vue","webpack:///./src/components/callflowEnsemble.vue?eac2","webpack:///./src/components/callflowEnsemble.vue","webpack:///./src/main.js","webpack:///./src/components/App.vue?be97","webpack:///./src/components/callsiteInformation/callsiteInformation.vue?359d","webpack:///./src/components/cct/cct.vue?c196","webpack:///./src/components/supergraph/supergraph.vue?e264"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","attrs","staticStyle","_v","runCounts","_e","_s","experiment","data_path","save_path","filter_by","filter_perc","group_by","staticClass","runtimeHeaders","runtime","scopedSlots","_u","fn","props","item","run","min_inclusive_runtime","max_inclusive_runtime","min_exclusive_runtime","max_exclusive_runtime","staticRenderFns","APIService","constructor","url","timeoutPromise","ms","promise","Promise","resolve","reject","timeoutId","setTimeout","Error","then","res","clearTimeout","err","POSTRequest","endpoint","jsonBody","fullURL","console","log","httpResponse","fetch","method","cache","credentials","headers","body","JSON","stringify","response","status","json","catch","error","GETRequest","debug","component","on","$event","stopPropagation","left","appName","datasets","maxHeight","updateTargetDataset","ref","indexOf","formatRuntimeWithoutUnits","metricTimeMap","model","callback","$$v","selectedTargetDataset","expression","formats","updateFormat","selectedFormat","slot","reset","metrics","updateMetric","selectedMetric","directives","rawName","updateMPIBinCount","selectedMPIBinCount","scales","updateScale","selectedScale","runtimeColorMap","updateColors","selectedRuntimeColorMap","selectedColorPoint","selectedColorMinText","selectedColorMaxText","sortByModes","updateRuntimeSortBy","selectedRuntimeSortBy","selectedMode","CategoricalColors","0","1","2","3","4","5","6","7","8","9","blue","orange","red","teal","green","yellow","purple","pink","brown","gray","UniformColorMaps","coolwarm","viridis","inferno","cividis","ColorBrewer","10","11","12","Color","colorscale","grey","highlight","ensemble","target","catColors","colorPadding","categoricalColors","colorbrewer","getScale","getColor","dictionary","attribute","getColorByValue","rgbArrayToHex","setColorPadding","colorPoint","ret","fraction","setColorScale","type","min","max","scaleType","colorMin","colorMax","colors","d3","chroma","padding","gamma","domain","mmax","Math","abs","CYKToRGB","CMYK","y","k","componentToHex","hex","toString","g","b","round","setContrast","rgb","hexToRgb","parseInt","getAllColors","keys","getCatColor","id","exec","rgbToHex","color_arr","_rgb","floor","valToPercentColor","val","colormap","idx","percentColToD3Rgb","percentCol","col256","map","elm","valToD3Rgb","EventBus","Vue","summaryChip","Sankey","sankey","nodeWidth","nodePadding","size","nodes","links","levelSpacing","referenceValue","minNodeScale","maxLevel","nodeMap","dataset","targetDataset","store","nodesByBreadth","fitNodeInWindowHeight","widthScale","minDistanceBetweenNode","addLinkID","forEach","node","link","undefined","source","source_data","target_data","computeNodeLinks","sourceLinks","targetLinks","maxLinkVal","minLinkVal","numberOfLinks","computeNodeValues","sourceSum","sum","weight","targetSum","sourceTargetSum","targetWeight","targetTargetSum","max_flow","targetValue","scaleNodeBreadths","kx","x","level","computeNodeBreadths","remainingNodes","nextNodes","count","dx","scalePow","range","pushIntermediateNodeBottom","tempNode","split","fixEnsembleScale","ensembleScale","column","divValue","initializeNodeDepth","scale","levelCount","selectedSuperNodePositionMode","sort","a","nodeHeight","edge","parY","height","targetHeight","flowScale","scaled_weight","targetEnsembleRatio","heightRatio","relaxLeftToRight","alpha","weightedSource","center","breadth","relaxRightToLeft","weightedTarget","reverse","resolveCollisions","max_dy","dy","y0","ascendingDepth","computeNodeDepths","iterations","sortKeys","entries","values","pow","beta","computeLinkDepths","descendingTargetDepth","descendingSourceDepth","sy","ty","_","arguments","layout","relayout","setMinNodeScale","curvature","x0","x1","xi","x2","x3","y1","formatRuntimeWithUnits","format","formatRunCounts","formatRuntimeWithExponent","min_exponent","exponent","multiplier","mantessa","split_ret_by_e","parseFloat","toFixed","formatExponent","truncNames","str","len","str_list","replace","substr","textSize","text","container","append","getBBox","remove","width","getGradients","nodeName","gradients","callsites","measure","attr","bbox","textWrap","each","word","words","line","lineNumber","lineHeight","tspan","pop","join","getComputedTextLength","Graph","isDirected","vertices","edges","addVertex","newVertex","getKey","getVertexByKey","vertexKey","getNeighbors","vertex","getAllVertices","getAllEdges","addEdge","startVertex","endVertex","deleteEdge","findEdge","getWeight","reduce","graphEdge","getVerticesIndices","verticesIndices","index","getAdjacencyMatrix","adjacencyMatrix","Array","fill","Infinity","vertexIndex","neighbor","neighborIndex","LinkedListNode","next","Comparator","compareFunction","compare","defaultCompareFunction","equal","lessThan","greaterThan","lessThanOrEqual","greaterThanOrEqual","compareOriginal","LinkedList","comparatorFunction","head","tail","prepend","newNode","delete","deletedNode","currentNode","find","deleteTail","deletedTail","deleteHead","deletedHead","fromArray","toArray","currNode","prevNode","nextNode","GraphVertex","edgeComparator","edgeA","edgeB","neighborsConverter","getEdges","linkedListNode","getDegree","hasEdge","requiredEdge","edgeNode","hasNeighbor","vertexNode","edgeFinder","deleteAllEdges","GraphEdge","startVertexKey","endVertexKey","tmp","initCallbacks","callbacks","initiatedCallback","stubCallback","allowTraversalCallback","seen","nextVertex","allowTraversal","enterVertex","leaveVertex","depthFirstSearchRecursive","graph","currentVertex","previousVertex","depthFirstSearch","detectDirectedCycle","cycle","dfsParentMap","whiteSet","graySet","blackSet","currentCycleVertex","previousCycleVertex","firstWhiteKey","message","corr_coef","svgID","isCallsiteSelected","revealCallsite","isModuleSelected","class","isEntryFunctionSelected","showEntryFunctions","isCalleeSelected","showExitFunctions","showSplitButton","numberOfcallsites","_l","callsite","getID","_g","selectClassName","changeSelectedClassName","formatNumberOfHops","component_level","formatName","formatModule","mean","variance","stdDeviation","refInFor","containerWidth","containerHeight","updateCompareDataset","selectedCompareDataset","targetInfo","updateTargetColor","showTarget","updateRunBinCount","selectedRunBinCount","updateProp","selectedProp","distributionColorMap","selectedDistributionColorMap","targetColors","selectedTargetColor","updateIQRFactor","selectedIQRFactor","clickCallsite","numberOfDifferenceCallsites","style","targetColor","targetStandardDeviation","ensembleColor","ensembleMeans","ensembleStandardDeviation","numberOfIntersectionCallsites","targetMeans","selectedOutlierRanks","selectedOutlierDatasets","selectedPropLabel","selectedPropSum","selectedModule","Queue","linkedList","isEmpty","peek","enqueue","dequeue","removedHead","svgId","lasso","targetArea","items","closePathDistance","closePathSelect","isPathClosed","hoverSelect","className","start","draw","end","_this","tpath","origin","torigin","drawnCoords","dyn_path","close_path","origin_node","drag","dragstart","dragmove","dragend","e","__lasso","possible","selected","loopSelect","box","getBoundingClientRect","lassoPoint","top","sourceEvent","touches","clientX","clientY","tx","distance","sqrt","close_draw_path","classifyPoint","possibleItems","filter","selectedItems","notPossibleItems","notSelectedItems","types","use","Vuex","router","Router","routes","path","SingleCallFlow","EnsembleCallFlow","config","productionTip","BootstrapVue","Vuetify","VueMaterial","h","App","el","components","template","devtools"],"mappings":"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C3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,WAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,UAAY,YACzB,CAAC,UAAY,WAAa,WAC1B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,SAAW,WAAa,YACzB,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,WAC1B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,SAAW,YACzB,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,WAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CA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CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,WAC3B,CAAC,UAAY,UAAY,YACzB,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,UAAY,YACzB,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,SAAW,YACzB,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAA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AAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,SAAW,YACzB,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,WAC1B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,UAAY,YAC1B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,WAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,UAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,WAC1B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,SAAW,YACxB,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,WAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,SAAW,WAAa,WACzB,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,YAAa,aAE5BC,QAAS,CACR,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,KAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,KACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,MACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,KAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,KAAQ,IAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,IAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,KACjB,CAAC,MAAQ,MAAQ,KACjB,CAAC,MAAQ,MAAQ,KACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,IAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,KAAQ,MAAQ,KACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,KAAQ,KAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,KACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,KAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,IAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,KACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,MACjB,CAAC,EAAQ,MAAQ,QAElBV,MAAO,CACN,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,GAAK,kBAAoB,mBAC1B,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAo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AG,kBAAoB,mBACxB,CAAC,EAAG,kBAAoB,mBACxB,CAAC,EAAG,kBAAoB,mBACxB,CAAC,EAAG,kBAAoB,mBACxB,CAAC,EAAG,kBAAoB,mBACxB,CAAC,EAAG,kBAAoB,mBACxB,CAAC,EAAG,kBAAoB,mBACxB,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,kBACxC,CAAC,iBAAmB,kBAAoB,IACxC,CAAC,iBAAmB,kBAAoB,kBACxC,CAAC,iBAAmB,kBAAoB,kBACxC,CAAC,iBAAmB,kBAAoB,kBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,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ACA,YAGA,gBACA,KACA,kBACA,oCACA,uCACA,qBACA,gCACA,MACA,eACA,OACA,8BACA,6BACA,MACA,gBACA,eAEA,qBACA,0BACA,YAIA,CACA,0CACA,UAEA,MACA,eACA,OACA,8BACA,6BACA,MACA,gBACA,eAEA,qBACA,0BACA,aAIA,eACA,UACA,MACA,eACA,OACA,8BACA,6BACA,MACA,YACA,eAEA,qBACA,0BACA,SAIA,wBACA,cACA,MACA,eACA,OACA,8BACA,6BACA,4BACA,YACA,eAEA,qBACA,0BACA,SAIA,KACA,MACA,eACA,OACA,8BACA,0BACA,4BACA,IACA,eAEA,qBACA,0BACA,wBAEA,eACA,MACA,eACA,OACA,8BACA,0BACA,4BACA,MACA,eAEA,qBACA,0BACA,0BAKA,eAEA,yBACA,oBAEA,oBACA,oBAIA,WACA,+CACA,sDC/N8W,MCO1W,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,GAAkB,GCctB,IACA,kBACA,cAEA,WACA,mBAGA,SACA,QACA,aAEA,0DACA,8DAEA,eACA,mBAIA,aACA,yBAEA,6BACA,oEACA,2CAEA,UAEA,MACA,eACA,OACA,oBACA,gEACA,KACA,KACA,0BACA,KACA,iBACA,gDAMA,QACA,mCC7DkX,MCO9W,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,cAChH,GAAkB,GCatB,IACA,YACA,eACA,cAEA,WACA,uBACA,YACA,eACA,eACA,eACA,WACA,UACA,YACA,YACA,qBACA,uBAGA,SACA,QACA,UACA,4BACA,6BAMA,YACA,QAKA,OAJA,0CACA,mCAEA,kCACA,GAMA,YACA,QAKA,OAJA,2CACA,mCAEA,kCACA,GASA,eAEA,iDACA,gCACA,gCAKA,aACA,iBAIA,kCACA,mCAQA,YACA,iCACA,iCACA,yBAEA,gDAEA,wCACA,+BACA,eACA,OACA,0BACA,YACA,eACA,UACA,iBACA,YACA,qBAEA,OACA,eACA,iBAGA,2BACA,yBAQA,WACA,kBACA,+BACA,eACA,kCACA,sBACA,OACA,wBACA,MACA,yBAEA,MACA,qEAGA,SAOA,sBACA,kCACA,oDACA,+CAOA,mBACA,SACA,mCACA,yDAEA,uCACA,mCAGA,SACA,mCACA,2DAEA,uCACA,qCAKA,oFACA,KACA,6BACA,2FACA,mDAIA,sCACA,kBAIA,wBACA,oBAGA,sBAEA,iBACA,mCACA,oCAGA,8BAEA,wCACA,kBACA,wDACA,8CACA,UACA,OACA,2BACA,gEAEA,cACA,eACA,OACA,qBACA,sBACA,SACA,YACA,0BAEA,gBAEA,cACA,eACA,OACA,YACA,SACA,0BAEA,cAEA,cACA,eACA,OACA,aACA,SACA,0BAEA,WAEA,cACA,eACA,OACA,qBACA,sBACA,aACA,YACA,0BAEA,gBACA,cACA,eACA,OACA,aACA,SACA,0BAEA,cAGA,iBACA,4CAOA,QACA,iBACA,sCACA,uCChR+W,MCO3W,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,GAAkB,GCWtB,IACA,YACA,WACA,eACA,YAEA,SACA,UACA,aACA,kBAEA,wEACA,4EAGA,kBAGA,gBACA,QACA,IACA,wBACA,sBACA,kFACA,mFAEA,2BACA,4GACA,6GAGA,mIACA,0EAGA,YACA,4CACA,iBACA,aACA,0CACA,OACA,WACA,uBACA,EAEA,EAEA,UACA,SAEA,cACA,kBACA,uBACA,EAEA,kBAEA,SACA,SAYA,MAXA,uBACA,wCAGA,wCACA,oDAEA,0CACA,+CAGA,MAKA,YCvF4W,MCOxW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,GAAkB,G,wBCetB,IACA,gBACA,cAEA,WACA,cACA,yBACA,cAGA,SACA,YACA,aACA,kBACA,YAEA,eACA,kBACA,kBAGA,UACA,uBAEA,gBACA,gBACA,gBACA,gBACA,qBACA,qBAEA,qCACA,yCAQA,2CAPA,oEACA,oEACA,oEACA,oEACA,0EACA,2EAYA,QACA,IACA,qCACA,gCACA,uBACA,mBACA,gBACA,kBAIA,aACA,8JACA,4HAGA,YACA,wCACA,iBAGA,EACA,aACA,yCACA,OACA,WACA,EAEA,UACA,WAGA,kBACA,GAEA,qBACA,6EACA,YAIA,YC3GgX,MCO5W,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,GAAkB,GCatB,IACA,qBACA,cAEA,WACA,cACA,yBACA,oBAGA,SACA,YACA,aACA,kBACA,YAEA,eACA,kBACA,iBACA,kBAGA,UACA,uBAEA,gBACA,gBACA,gBACA,gBACA,qBACA,qBAEA,qCACA,yCAQA,2CAPA,oEACA,oEACA,oEACA,oEACA,0EACA,4EAaA,aACA,6IACA,0EAGA,YACA,aACA,qCACA,mBACA,sBACA,eAEA,eAEA,6CACA,OACA,oDACA,wBAGA,kBACA,OACA,QACA,QACA,QACA,YAGA,gBACA,YAEA,6BACA,2BAEA,aACA,2BACA,2BAEA,iCACA,OACA,iBACA,kEAMA,gBACA,6BACA,kCAGA,mBACA,4BACA,2CACA,eACA,UACA,CACA,iBACA,KACA,cACA,0BACA,iBAGA,mBACA,GAEA,uBACA,wBACA,GAGA,yDACA,eACA,OACA,qBACA,OACA,8BACA,oBAEA,mBACA,0BACA,QACA,GAEA,4BAIA,YACA,wCACA,iBAGA,EACA,aACA,yCACA,OACA,WACA,uBACA,EAGA,IAIA,mBACA,SAoBA,MAnBA,uBACA,6BAEA,yBAEA,OADA,kEACA,sCAGA,2BAGA,uBAEA,OADA,gEACA,sCAGA,4BAGA,IAEA,wBACA,uBACA,EAGA,mBAGA,oBACA,yCAKA,iBACA,+CAGA,YCvNgX,MCO5W,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCcf,IACA,qBACA,YACA,QACA,WACA,iBACA,UACA,cACA,YACA,aAEA,WACA,oBACA,aACA,uBACA,eACA,oBACA,oBACA,oBACA,WACA,cACA,4BACA,mBAGA,SACA,QACA,aACA,oCAEA,mBACA,WACA,GAEA,uBACA,qCAEA,cACA,8CACA,cACA,4DACA,KACA,6DACA,KACA,iCAIA,mBACA,oBACA,eACA,6EACA,0EACA,uFAGA,0DACA,8DAEA,cACA,kBAGA,YACA,iBACA,eAEA,uCAEA,oBACA,YACA,gEACA,6CAEA,+BACA,kBAEA,0CAEA,0CAGA,SACA,QACA,8BACA,wBACA,eACA,MAKA,UACA,8BACA,yDAIA,iBACA,8BAGA,iBACA,UACA,uDAEA,oBACA,gEAEA,eACA,6DAEA,gBACA,8DAIA,YACA,qDACA,uBACA,QACA,YACA,OACA,iBACA,+BACA,8DACA,YAGA,6BACA,OACA,yCACA,sBACA,mBACA,qBACA,kBACA,uBACA,EAEA,IAGA,sCACA,6BACA,qCACA,oCAGA,SAGA,GAFA,wBAEA,8BAEA,2BACA,oCACA,gCAEA,0DAGA,sCACA,2BACA,6CACA,6BAGA,kCACA,kCACA,8BACA,wCASA,8BACA,kCACA,wCAGA,gCACA,kCACA,wCAGA,kCACA,qCAGA,qCACA,4BACA,kCACA,oCACA,4CAGA,8BACA,kCACA,4CAGA,gCACA,uCAQA,aACA,2CACA,qEACA,4CAIA,YACA,2BACA,sEACA,uCACA,yBACA,yBACA,qBAKA,aACA,cACA,eACA,OACA,aACA,MACA,0BACA,eACA,eACA,sBACA,wBAGA,SACA,0BACA,6CAGA,WACA,0BACA,iCAIA,oBACA,wBACA,0BAEA,cACA,0BACA,uBACA,aACA,kCACA,iCACA,yBAGA,eACA,cACA,eACA,OACA,aACA,MACA,0BACA,eACA,eACA,gBACA,wBAGA,SACA,0BACA,iCAIA,mBACA,2DACA,GAEA,GAEA,wBACA,4BACA,0BACA,iCAGA,8BAEA,iCACA,uBACA,aACA,kCACA,iCACA,yBAGA,OACA,cACA,eACA,uBACA,OACA,sBACA,YACA,uBACA,MACA,UAEA,mBACA,iBACA,0CACA,aAEA,WACA,wCACA,oDAEA,0CACA,+CAEA,gDACA,iDAEA,SACA,2BACA,kCACA,SAGA,uCACA,cACA,YAGA,oCACA,qBAKA,kBACA,iCAGA,iBACA,oBACA,iEAEA,eACA,4DAEA,gBACA,6DAIA,QACA,6BACA,kCACA,yBACA,gCACA,qBACA,wBAIA,kBACA,oCACA,qCAEA,gCAGA,wBACA,8BAEA,yCACA,yCAGA,2BACA,gCAMA,6BAEA,4CCjb8V,MCO1V,GAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,UAAU,CAAC2E,IAAI,aAAa,IACzJ,GAAkB,GCetB,IACA,qBACA,cAEA,SACA,WACA,uBACA,MACA,SACA,cAEA,SAGA,UACA,iBAGA,SACA,QACA,aACA,+BAEA,sCACA,2BACA,2BACA,wDACA,yBACA,2BAGA,qCACA,yBACA,2BAKA,aAEA,iCACA,uBACA,uBACA,OACA,aACA,eAEA,gBACA,qDACA,uCAEA,oBACA,4BACA,8CAIA,oBACA,qBAKA,wBACA,qEACA,8CACA,cACA,gCACA,gCAKA,uEACA,uEAEA,+DACA,8CACA,cACA,gCACA,gCAEA,6EACA,yEAEA,sCAEA,oBACA,UACA,UACA,aACA,KACA,UACA,UACA,UAGA,0BACA,yCACA,oBACA,cACA,QACA,QACA,yEACA,yEAMA,qCACA,oBACA,cACA,QACA,QAEA,QACA,+CACA,+CAEA,UAEA,oBACA,UACA,UACA,aACA,KACA,UACA,UACA,UAGA,aAEA,iCACA,uBACA,OACA,MACA,QAOA,MANA,2BACA,WAEA,cACA,kBAEA,yCACA,yBAEA,4CACA,oCADA,GAKA,QACA,cACA,uCAEA,YACA,qCAEA,YACA,2CADA,EAIA,kDAEA,sBAGA,sBAMA,mBACA,0CACA,sBACA,qCAEA,aACA,cACA,sBAGA,QACA,uCACA,4CACA,mDC5M8V,MCO1V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,GAAkB,GCctB,I,UAAA,CACA,sBACA,cACA,SACA,WACA,QACA,UACA,UACA,QACA,QACA,QACA,mBACA,mBACA,SACA,gCAEA,cACA,MACA,WACA,WACA,SACA,cAGA,UACA,kCAGA,SACA,UACA,uBACA,mBACA,mBACA,YACA,+EACA,mFAEA,2BACA,eACA,SAEA,6DACA,0GACA,sBAEA,mEAEA,4GACA,oBAKA,gBACA,iCACA,4BAIA,QACA,iBACA,+BAGA,iBACA,SACA,UACA,eACA,yCACA,kBACA,mBAEA,2BACA,YACA,uCACA,cACA,yCACA,gBACA,iBAGA,oCACA,4BACA,sBACA,oCAEA,mCACA,4BACA,uBACA,kCAEA,4BACA,UACA,uCACA,8CAEA,4BACA,oBACA,eACA,OACA,eACA,yBACA,yBACA,UACA,gDAEA,KACA,6BAEA,8CACA,uBACA,eACA,UAKA,YACA,kCACA,sCACA,+BACA,uDACA,8BAGA,oCACA,iCC7IuW,MCOnW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,GAAkB,GCgBtB,IACA,wBACA,cAEA,SAEA,WACA,uBACA,UACA,UACA,WACA,WACA,UACA,SACA,UACA,WAEA,yBAGA,YAIA,SACA,QACA,aACA,gDACA,gDAEA,4CACA,+FAEA,qCACA,YACA,OACA,gBAEA,eAGA,SACA,gBACA,mBAGA,WACA,oBACA,sIACA,qJAEA,gFACA,8JAIA,aACA,qBACA,SACA,IAEA,6BACA,0BAEA,6BACA,0BAEA,kCACA,0BACA,KAEA,6BACA,6BACA,KAEA,8BACA,6BACA,KAGA,mCACA,mCACA,qCAGA,gCACA,iCAEA,wGAGA,oBACA,0BACA,OACA,KACA,MACA,MACA,eACA,kCACA,SAGA,wBACA,OACA,KACA,KACA,oBACA,oCAEA,QACA,sBACA,yBAGA,oBACA,qCACA,sCACA,sBACA,8BACA,wBACA,OACA,mBACA,mBACA,yBACA,iBACA,kCACA,qCAIA,wBACA,sBACA,0BACA,OACA,WACA,KACA,OACA,uBACA,sBACA,oCAEA,QAGA,wBACA,sBACA,0BACA,OACA,WACA,uBACA,KACA,MACA,sBACA,oCAEA,wBAEA,wBACA,sBACA,0BACA,OACA,WACA,uBACA,KACA,KACA,sBACA,+CAEA,yBAGA,gBACA,8BAGA,QACA,kCACA,8BAIA,qBACA,yCACA,+CAGA,eACA,2BACA,iCAGA,gBACA,aACA,gBACA,gBACA,+BACA,mDACA,mDAEA,aACA,iBCzNkV,MCO9U,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCXA,MAAM+K,GAIpBlV,YAAYmV,GAAa,GACxBnX,KAAKoX,SAAW,GAChBpX,KAAKqX,MAAQ,GACbrX,KAAKmX,WAAaA,EAOnBG,UAAUC,GAGT,OAFAvX,KAAKoX,SAASG,EAAUC,UAAYD,EAE7BvX,KAORyX,eAAeC,GACd,OAAO1X,KA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A,iCAGA,gDAGA,SACA,kBACA,oCACA,mDACA,0CACA,mBAEA,iDACA,uCACA,qDACA,sCACA,mBAEA,mDAGA,qCACA,qDAGA,oBAEA,cACA,2CACA,yBACA,cACA,cACA,cAEA,+DACA,uDACA,uDACA,kDAIA,eAGA,mBACA,iBACA,mCACA,qCAEA,0CACA,iBACA,mBACA,yBAGA,0CAEA,qCACA,SACA,2BACA,wBAGA,wBAGA,aACA,0BACA,kCACA,2CACA,uDACA,2CAGA,kCACA,4CACA,4CACA,6CAIA,QACA,iCACA,iCACA,kCACA,qCAGA,SACA,0CACA,kBACA,6DAEA,2BAEA,wDACA,2BACA,2BACA,2BAEA,4BACA,2DACA,sCACA,gEAEA,2DACA,2DACA,6DAGA,cACA,SACA,IACA,uBACA,qBACA,cACA,2BACA,aAEA,YACA,YACA,yBACA,KACA,oBACA,GAGA,KAGA,OADA,YACA,GAGA,wBACA,iBAEA,mCACA,gCACA,4BACA,oBACA,gBACA,aAEA,UAGA,sBACA,kCACA,sDAIA,aACA,gBACA,0BACA,2BACA,2CACA,gCACA,6BACA,+BACA,gCACA,oBACA,iDACA,mBAEA,mBAEA,sEAIA,iBACA,cACA,kEAEA,gBACA,YAEA,kCAEA,SACA,KAEA,4BACA,oBACA,cAEA,aACA,8CACA,mDACA,mDACA,uDAGA,uBACA,mBAEA,aACA,YACA,oCACA,EACA,SAEA,YACA,oCACA,EACA,UAIA,gBACA,UACA,MAEA,aACA,iBACA,YACA,oDACA,IAIA,wCAEA,KACA,qBACA,iBAEA,SACA,mBACA,qBACA,yCAEA,GACA,wBACA,UACA,kBACA,8BACA,mBACA,+BAGA,gBACA,oBACA,SAEA,UAEA,IACA,eACA,UACA,MAGA,8CAEA,mBACA,iBACA,YACA,YACA,YACA,aAEA,4CACA,aAEA,kBAEA,wCAIA,SACA,2BACA,YACA,YACA,mBACA,+BACA,cACA,YAEA,UACA,YACA,YACA,0DACA,GAIA,OACA,wBAEA,sBACA,YACA,8DAGA,SACA,2BACA,YACA,YACA,cACA,mBACA,+BACA,YAEA,UACA,YACA,YACA,0DACA,GAIA,OACA,wBAEA,sBACA,YACA,8DAGA,QACA,SACA,YAKA,YACA,YACA,iCACA,SACA,WAIA,6BACA,WACA,YACA,uDAEA,6BACA,WAEA,oBACA,oBAEA,eAIA,OACA,QACA,UAIA,uBACA,8CCxcmW,MCQ/V,I,UAAY,eACd,GACA,EACA,GACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAa,IAAIvd,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,eAAeF,EAAG,WAAW,CAAC2E,IAAI,cAAc,IAChM,GAAkB,GCmBtB,IACA,WACA,YACA,aAGA,WACA,kBACA,QACA,MACA,QACA,SACA,QAEA,WACA,YACA,UACA,4BACA,kBAGA,SAMA,cACA,qCACA,gBAQA,gBACA,uCACA,iBAIA,SAIA,OACA,oCACA,gCACA,0CACA,oDAEA,uCACA,kCACA,2CACA,oDAIA,oEACA,YACA,0DAEA,oCACA,iBACA,qBAGA,2BAQA,cACA,iCACA,YACA,cACA,cAUA,OAPA,YACA,aACA,WACA,WACA,aAGA,GAUA,mBACA,yBACA,QAEA,WASA,oBAEA,SACA,wCACA,oDACA,0CACA,+CAIA,kDACA,0CAEA,OACA,OACA,SAWA,qBACA,gBAEA,EACA,6GAEA,gCACA,kBACA,EACA,EACA,kDACA,EACA,iBAEA,UAQA,SACA,kBACA,gCACA,2BACA,4BAEA,MACA,EACA,iBACA,iBACA,QACA,qBAGA,sBAGA,WAEA,oCACA,uBACA,OACA,4BACA,YACA,iBAUA,SAEA,6BACA,SAEA,EADA,iBACA,iBAEA,GAEA,8CACA,QACA,kBAIA,WACA,2BACA,kBACA,mBAWA,qBACA,iCACA,QACA,oEACA,EACA,oDAEA,EACA,kEACA,EACA,sDAEA,EACA,kEACA,EACA,sDAEA,2BAEA,QACA,2BACA,uBACA,WACA,yBACA,OAEA,wCACA,kBACA,UACA,kBACA,wBAGA,oCACA,kBACA,UACA,iBACA,8CAGA,wCACA,kBACA,UACA,kBACA,mBAEA,QACA,UACA,kBACA,oBAGA,SACA,UACA,kBACA,uBAGA,qCAQA,gBACA,gCACA,2BAEA,qDACA,sDAGA,wBACA,eAGA,SACA,WACA,YAIA,cACA,oBACA,uCAOA,gBACA,qBACA,iDACA,+BACA,+CACA,wBAEA,0BAQA,UACA,YACA,qBAEA,4BACA,4BAEA,sCAGA,kBAGA,yCACA,wCAEA,yBAGA,YAEA,qBAGA,WACA,qDACA,uBACA,SACA,qBAQA,oDAMA,QACA,6BACA,6BACA,+BC9Y4V,MCQxV,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,IAAM,GAAG,KAAO,GAAG,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,WAAW,CAACc,YAAY,kBAAkB,CAACd,EAAG,SAAS,CAACc,YAAY,OAAOZ,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,MAAQ,GAAG,SAAW,GAAG,UAAY,KAAK,CAACN,EAAIQ,GAAG,IAAIR,EAAIW,GAAGX,EAAI6d,SAAS,QAAQ,GAAGzd,EAAG,OAAO,CAACc,YAAY,kBAAkB,CAAClB,EAAIQ,GAAG,kBAAkBR,EAAIW,GAAGX,EAAI8d,WAAW,QAAQ1d,EAAG,MAAM,CAACE,MAAM,CAAC,GAAKN,EAAI+d,SAAS3d,EAAG,UAAU,CAAC2E,IAAI,aAAa,IAC3f,GAAkB,GCDlB,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,0BAChH,GAAkB,GCatB,IACA,eACA,cACA,SACA,WACA,MACA,YACA,eACA,eACA,eACA,UACA,cAEA,SACA,WACA,iBAGA,SAIA,YACA,SACA,QACA,UACA,oCACA,cACA,2BAEA,0CACA,6DACA,+DAGA,YACA,aACA,mDACA,8CACA,iDACA,gCACA,gCACA,wCACA,+BACA,eACA,OACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,qBAEA,OACA,MACA,8EACA,+BAEA,oBAGA,MACA,sBAGA,YACA,YACA,kBAGA,WACA,kBACA,+BACA,eACA,kCACA,iCACA,OACA,uBACA,MACA,8EACA,2CAEA,gCAGA,MACA,oCAGA,SAGA,YAEA,mDAIA,QACA,iBACA,sCCnHgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCSf,IACA,yBACA,YACA,YAEA,WACA,SACA,OACA,SACA,UACA,SAEA,SACA,SACA,OACA,OACA,OACA,OACA,eACA,YACA,WACA,sBACA,6BACA,kCACA,aACA,yBACA,kBACA,iBACA,iBACA,cAGA,UACA,WACA,wCACA,UACA,kDACA,0BAIA,SACA,OACA,iCACA,uCAEA,8DACA,gEAEA,gBACA,gBACA,4BACA,+CACA,KACA,YACA,yDAGA,mDACA,oDAEA,8BACA,mBACA,wDACA,GACA,6CAIA,UACA,kBACA,aAEA,oBACA,sBAEA,qBACA,eACA,eACA,eACA,eACA,iBACA,iBAEA,qBAEA,8BACA,4BAEA,qBAEA,8BACA,2CAEA,2DACA,gEAEA,aACA,aACA,aAKA,UACA,6DACA,4BAEA,yBACA,yBAEA,KACA,KACA,IACA,IACA,IACA,IAEA,mCACA,gBACA,gBACA,UAGA,mCACA,gBACA,gBACA,UAGA,qBAIA,kBAOA,IANA,eACA,IACA,IACA,IACA,IAEA,YACA,QACA,QAIA,KACA,KAGA,QACA,IACA,uBACA,SACA,SACA,OACA,OAGA,UACA,QAGA,SAEA,uBACA,iBAIA,SACA,KACA,KAEA,oBACA,kBACA,kBACA,kBAGA,QACA,IACA,IACA,IACA,IAEA,oBACA,QACA,QACA,QACA,QACA,QAEA,cACA,UACA,UACA,iBAEA,UACA,OACA,QACA,cAIA,gBACA,8BACA,yBACA,0CACA,EACA,qDACA,SACA,eACA,2BACA,2CACA,8CACA,0BACA,2BACA,SAGA,QACA,WACA,qBACA,eACA,aACA,UACA,mBACA,4BACA,gBAGA,eACA,YACA,OACA,aACA,WACA,UACA,aACA,qCACA,IACA,iBACA,MAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BAEA,EACA,kBACA,0BACA,kCACA,gCAGA,gBACA,8BACA,yBACA,0CACA,EACA,qDACA,SACA,eACA,OACA,mBACA,wBACA,oBACA,yBAEA,2BACA,0BACA,SAGA,QACA,WAEA,qBACA,aACA,aACA,UACA,mBACA,4BACA,gBAGA,eACA,YACA,mBACA,qBACA,KACA,YACA,0DAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BACA,oBAEA,EACA,kBACA,0BACA,kCACA,gCAGA,YACA,WACA,WAEA,iBACA,gCAEA,iBACA,gCAGA,SACA,YACA,2BACA,eACA,gCACA,YACA,+CACA,4BACA,oBACA,KACA,YACA,2DAIA,OACA,WACA,SACA,kBACA,kBACA,QACA,iBACA,oBACA,YACA,yBACA,iDAEA,yBACA,gCAEA,oDACA,0BACA,0BAGA,kBACA,WACA,iBACA,SACA,YACA,eACA,qBACA,oDACA,sBACA,+BAEA,sBACA,cAIA,QACA,wBACA,yBACA,+BAEA,uCCra0W,MCOtW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,IAAM,GAAG,KAAO,GAAG,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,WAAW,CAACc,YAAY,kBAAkB,CAACd,EAAG,SAAS,CAACc,YAAY,OAAOZ,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,MAAQ,GAAG,SAAW,GAAG,UAAY,KAAK,CAACN,EAAIQ,GAAG,IAAIR,EAAIW,GAAGX,EAAI6d,SAAS,QAAQ,GAAGzd,EAAG,MAAM,CAACE,MAAM,CAAC,GAAKN,EAAI+d,SAAS3d,EAAG,UAAU,CAAC2E,IAAI,aAAa,IAC1Z,GAAkB,GCDlB,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,wBAChH,GAAkB,GCctB,IACA,eACA,cACA,SACA,WACA,8BACA,YACA,eACA,eACA,eACA,UACA,YACA,mBACA,qBAEA,SACA,WACA,iBAGA,SAIA,YACA,SACA,QACA,gBACA,0CACA,cACA,2BAEA,0CACA,gEACA,qEAGA,YACA,aACA,mDACA,kFACA,uDACA,gCACA,gCACA,wCAEA,YACA,YACA,kDAGA,sBACA,aACA,8BAEA,OACA,0BACA,oBAIA,WACA,mCACA,+BACA,eACA,OACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,kBAEA,OACA,MACA,oFACA,wCAEA,oBAGA,MACA,sBAGA,mBAEA,kBACA,+BACA,eACA,kCACA,iCACA,OACA,uBACA,MACA,oFACA,oDAEA,gCAGA,MACA,oCAGA,mBACA,QACA,iBAGA,cAIA,QACA,iBACA,sCCpIgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCUf,IACA,uBACA,YACA,YAEA,SACA,WACA,QACA,WACA,YACA,qBACA,oBACA,SACA,OACA,SACA,UACA,SAEA,iBACA,2BACA,kCACA,eACA,SACA,QACA,4BACA,WACA,mCACA,kBACA,aACA,iBACA,2BAGA,UACA,WACA,sCACA,8CACA,6BAIA,SACA,OACA,iCACA,sCAEA,8DACA,gEAEA,kDACA,yDACA,kCAEA,yDACA,wCAEA,iBACA,+DACA,iBACA,gEAEA,uCACA,oBACA,sBACA,UACA,0DAGA,4BACA,mBACA,wDACA,GACA,oCACA,6CAIA,cACA,6DACA,GAEA,EACA,mEACA,wCAEA,wBACA,gBACA,eACA,iBACA,4BACA,qBAEA,qBAEA,mBACA,+DAEA,qCACA,qBAEA,8BACA,2CACA,sBACA,mCACA,qBAEA,8BACA,2CACA,uBAIA,QACA,yCACA,2BACA,2BACA,yCACA,4BACA,6BACA,0BACA,4BAGA,aACA,aACA,mBACA,YACA,aACA,aACA,qBACA,eACA,qCAGA,gBACA,iCACA,4BAIA,iBACA,SACA,KACA,aACA,aAEA,4BACA,gCACA,cAaA,OAVA,kBACA,0BACA,qCACA,qCAEA,aACA,SAEA,eAEA,qBAGA,oBACA,SACA,6BACA,0CAOA,gBACA,kBACA,QACA,OACA,WACA,SAGA,gBACA,WACA,OACA,KACA,QAEA,SAIA,gBACA,OACA,IACA,IACA,aACA,YACA,SAIA,gBACA,SACA,WACA,MACA,sBACA,aACA,eAEA,cACA,cAGA,IACA,SAEA,KACA,UACA,KAGA,OA1CA,UAyCA,QACA,CACA,SACA,UAIA,qBACA,6CAGA,OACA,WACA,SACA,mCACA,gBACA,QACA,eACA,OACA,6BACA,SACA,2BAEA,SACA,eAEA,8BACA,UACA,0CAEA,2CACA,UACA,uBACA,mBAEA,mBACA,0BACA,0DACA,uBACA,uBACA,wBACA,6CACA,OACA,yBACA,+BAEA,8BACA,0DACA,uBACA,uBACA,wBACA,6CACA,OACA,yBACA,+BAEA,6BACA,6DACA,uBACA,qBACA,yBACA,4BAIA,gBACA,8BACA,yBACA,0CACA,EACA,MACA,oBACA,KACA,2BAHA,gBAMA,SACA,eACA,OACA,6BACA,wCACA,wCAEA,0BACA,2BACA,SAIA,QACA,qBACA,eACA,aACA,UACA,mBACA,WACA,QACA,cACA,qBAEA,iBAIA,WACA,YACA,OACA,eACA,gDAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BACA,oBAEA,EACA,kBACA,0BACA,kCACA,gCAGA,QACA,eACA,aACA,UACA,mBACA,qBAGA,SACA,eACA,OACA,wBACA,6BACA,oBACA,sBAEA,0BACA,2BACA,4BAEA,iBACA,YACA,OACA,eACA,UACA,2DAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BACA,oBAEA,EACA,kBACA,0BACA,kCACA,gCAGA,gBACA,6DACA,4BACA,wCAEA,4BAEA,cACA,+DAEA,0BACA,kCAEA,MACA,iBACA,YACA,+BACA,oBAEA,mBAEA,mCACA,0BACA,MACA,6BACA,QAEA,cACA,QACA,IACA,aACA,OACA,QAEA,OACA,UAGA,YACA,EACA,GACA,SACA,EAEA,wBACA,wBAEA,sCACA,iBAEA,aAEA,QACA,IACA,EACA,IACA,EACA,KACA,EACA,IACA,EACA,KACA,EACA,IACA,EACA,KACA,EACA,IACA,EAEA,EACA,eACA,YACA,qCACA,gBACA,QAEA,yBACA,gEAKA,eACA,oBACA,UACA,mBACA,qBAGA,WACA,YACA,oCACA,sBACA,KACA,YACA,wDAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BACA,oBAEA,EACA,kBACA,0BACA,kCACA,gCAGA,UACA,kBAEA,qCAEA,oBAEA,QACA,wDACA,CACA,qCACA,iBACA,qCACA,yCAGA,0BACA,wBAEA,QACA,qBACA,KACA,mBAGA,cACA,oBACA,qBACA,QACA,qBACA,sBACA,kBAGA,WACA,iBAEA,QACA,wBACA,sDAEA,2BAEA,wCACA,oCACA,8BAEA,0BACA,sDAEA,iCACA,cAEA,8BACA,cAIA,kDACA,wDACA,gDAGA,0CACA,kDAIA,WACA,WACA,WACA,wDAEA,iCACA,+BACA,cACA,YAIA,iCACA,iCACA,aCxnBwW,MCOpW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,IAAM,GAAG,KAAO,GAAG,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,SAAS,CAACc,YAAY,OAAOZ,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,MAAQ,GAAG,SAAW,GAAG,UAAY,KAAK,CAACN,EAAIQ,GAAG,IAAIR,EAAIW,GAAGX,EAAI6d,SAAS,OAAOzd,EAAG,Y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AMA,OACA,qBACA,4BACA,SACA,mBACA,aACA,gBAGA,qBACA,OACA,qBACA,mEAEA,QAEA,oBACA,qBACA,wBACA,4BAEA,oBACA,qBACA,wBACA,4BAEA,oBACA,0BACA,kCACA,gCAMA,QACA,kCACA,yCACA,iDACA,8CCxK4V,MCOxV,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIlB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACc,YAAY,YAChH,GAAkB,GCatB,IACA,eACA,WACA,cACA,cACA,YACA,gBACA,oBAGA,SASA,gBACA,oCACA,SACA,eACA,cAGA,kCAEA,gBACA,kBACA,OACA,yDAGA,wEACA,wEAEA,oBACA,uBAOA,eACA,4EACA,4EACA,uBACA,eACA,OACA,eACA,uBACA,gCACA,uBACA,gCACA,iBAEA,0BACA,qBAMA,iBACA,6BACA,iBAEA,2BAOA,qBACA,sBACA,OACA,gBACA,iBACA,oCACA,iBACA,oCACA,+CAEA,4BAEA,sBACA,OACA,gBACA,iBACA,oCACA,iBACA,oCACA,+CAEA,6BAMA,UACA,0BACA,sBACA,OACA,2BACA,mBACA,gDACA,+DAEA,0BACA,oBAQA,UACA,0BACA,sBACA,OACA,2BACA,8CACA,gDACA,+DAEA,0BACA,mBAMA,aACA,yBACA,sBACA,OACA,2BACA,kDACA,gDACA,+DAEA,0BACA,oBAMA,SACA,cACA,eAMA,SACA,sBACA,OACA,oBACA,gCACA,0CACA,mCAEA,0BACA,2BAMA,SACA,sBACA,OACA,oBACA,4BACA,0CACA,mCAEA,0BACA,2BAQA,cACA,eACA,SAEA,uBACA,UAMA,QACA,0CACA,sCACA,wCC7NgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIlB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACc,YAAY,aAChH,GAAkB,GCatB,IACA,gBACA,WACA,cACA,cACA,YACA,gBACA,uBAGA,UACA,qCAGA,SAaA,wBACA,SACA,eACA,8BACA,4BACA,SACA,eACA,cACA,gBAGA,kCACA,gBACA,mBACA,OACA,gDAIA,yCACA,uCAEA,kEACA,yBAEA,sBACA,kDAQA,iBACA,IAKA,QALA,KACA,IAEA,IACA,IAEA,6BACA,WAGA,OACA,MACA,KACA,KACA,KACA,MAGA,sBAEA,MACA,YACA,gBACA,kBACA,eAEA,MAIA,MACA,QACA,SACA,IACA,QACA,QACA,aAEA,MACA,KAEA,KACA,KACA,KACA,KAEA,gBACA,YACA,kBACA,eAEA,IACA,OAIA,gBACA,IACA,QACA,SACA,IACA,WACA,QACA,UAGA,MACA,KACA,KACA,KACA,KAEA,gBACA,YACA,eACA,kBACA,IACA,QACA,SACA,IACA,WACA,QACA,YAMA,OACA,UACA,cAUA,qBACA,aAEA,YACA,2BACA,OACA,IACA,cACA,YACA,qBAGA,qBAEA,OACA,kBAGA,gBACA,QACA,SACA,6BACA,SAEA,SAEA,SAIA,kBAGA,4BAGA,iBACA,QACA,QACA,GACA,oCACA,mBACA,OAEA,eACA,GAIA,YACA,eACA,WAGA,gDACA,gBACA,+BAEA,mBAEA,UAOA,wBACA,SACA,4BACA,eACA,aAGA,UAMA,iBACA,WAEA,+EACA,KACA,cACA,4CAEA,SACA,sCACA,mBACA,QACA,qBACA,yBACA,qBAIA,0EACA,oBACA,6BACA,2BACA,eACA,OACA,KACA,kBACA,EAGA,yBAGA,aACA,gDACA,yBAEA,mBACA,oDACA,eAKA,mEACA,wEACA,oBAGA,mBACA,4CAEA,kBACA,uCAIA,yBAOA,QACA,+CACA,gDCjUgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIlB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,iCAChH,GAAkB,GCctB,IACA,eACA,cAEA,WACA,YACA,eACA,eACA,eACA,UACA,cAGA,SAKA,QACA,UACA,8BACA,eACA,8DACA,iEAOA,WACA,iCACA,eACA,kCACA,sBACA,OACA,uBACA,MACA,8BACA,oDAEA,qCAEA,MACA,+BACA,qFAEA,uEAGA,QACA,mBAMA,YACA,qCAEA,sCAMA,WACA,2CAQA,cACA,aACA,2BACA,wCACA,iDACA,gCACA,gCAEA,iCACA,eACA,OACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,uBACA,MACA,8BACA,mCAEA,oBAEA,MACA,+BACA,oCAEA,uBAUA,WACA,YACA,oBACA,kBAOA,kBACA,YACA,oBACA,iBAMA,QACA,iBACA,sCCrJgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCMf,IACA,eACA,OACA,WACA,QACA,SACA,cAEA,WACA,MACA,kBACA,qBACA,sBACA,SACA,OACA,UACA,QACA,UAEA,iBACA,kBACA,iBACA,aACA,aACA,oBACA,iBACA,YACA,qBACA,iBACA,aACA,qBACA,YACA,aAEA,YACA,OACA,YACA,WACA,YAGA,UACA,YACA,WAEA,mCACA,UACA,YAIA,UACA,qCAGA,SAIA,OACA,yBACA,uFACA,2DACA,kCAEA,+DACA,oEACA,6EAEA,4BAEA,8CACA,OACA,gBACA,0BACA,8BAGA,qBACA,4CACA,6EAEA,+BAOA,aACA,uEACA,2EACA,mKAMA,QACA,uBACA,2BACA,6BAOA,gBACA,oEACA,mHAGA,6BAIA,6CAOA,WACA,OACA,SACA,QACA,QACA,QACA,UAEA,YC5JgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCoHf,IACA,2BACA,YACA,YAEA,WACA,mCACA,gCACA,aACA,oBACA,eACA,0CACA,cACA,kBACA,eACA,aACA,cACA,gBACA,eACA,iBACA,UACA,oCACA,qCAEA,kBACA,oBACA,oBACA,mBACA,kBACA,eACA,kBACA,2BACA,yBACA,oBACA,sBACA,4CACA,qCACA,wBACA,mBACA,wBACA,2BACA,QACA,YACA,kBAGA,UACA,WAKA,iCACA,yBACA,8BAMA,sCACA,qCACA,gDAIA,SAIA,OACA,qBACA,wDACA,iDACA,qCACA,kEACA,kEACA,0BACA,oBAEA,kBAOA,YACA,iBACA,2BACA,wBAOA,SACA,iCAOA,YAEA,+CACA,2CACA,mDACA,+CACA,oDAIA,wEACA,0DAGA,oCACA,eACA,6BAOA,sBACA,6BACA,wBACA,qCACA,gBACA,SACA,yCACA,+CASA,kBAEA,6BACA,6CACA,eACA,gBAEA,mBACA,eAEA,uBACA,oBAEA,8CAUA,qBACA,sCACA,kBAwBA,MApBA,+BACA,wBACA,OACA,6CAGA,yBACA,sBACA,OACA,kDACA,qDAKA,0BAEA,OADA,aACA,IACA,IAEA,GAOA,0BACA,wBACA,6BAEA,4CACA,+DACA,+DACA,8CAEA,0CACA,6DACA,8BAGA,+BACA,kCAEA,mCAQA,4BACA,2BAOA,0BACA,yBAOA,qBACA,gCAOA,gBACA,mBACA,EAEA,SAOA,cACA,eACA,SAEA,cACA,UAOA,sBACA,+BACA,IAEA,QAOA,iBACA,mBACA,aACA,UAMA,QACA,4BACA,+CAQA,WACA,uBAOA,kBACA,oBACA,qCACA,8BACA,sCACA,4CAGA,4BAOA,sBACA,oBACA,mDACA,+CACA,2CAEA,iDAEA,6BAOA,qBACA,oBACA,4CACA,wCACA,kDAEA,0CAEA,6BASA,gBACA,oCACA,mCACA,GAEA,6CAIA,4BACA,4CACA,UACA,QAKA,kBAGA,cACA,wCACA,mCACA,GACA,4DACA,UACA,YAQA,2BACA,sBACA,yBAEA,kBACA,0DAEA,oCAEA,eACA,sBACA,wBACA,SACA,iBACA,wBACA,SACA,2BAIA,uCACA,eACA,sBACA,wBACA,SACA,gBACA,wBACA,SACA,6BASA,2BACA,qCAMA,QACA,iDACA,8CACA,0CACA,4CAEA,qCACA,2CACA,sCACA,0CACA,4CAEA,gCCrkB4W,MCQxW,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCgNf,I,UAAA,CACA,sBACA,YACA,eAEA,cACA,OAEA,qBACA,mBACA,wBAGA,OACA,uBACA,mCAIA,WACA,mBACA,QACA,6BACA,4BACA,YACA,yBACA,oBACA,iCACA,yBACA,mCACA,oBACA,6BACA,kBACA,wBACA,qBACA,kCACA,2BACA,mBACA,wBACA,+BACA,4BACA,qBACA,sBACA,sBACA,wBACA,wBACA,qDACA,sCACA,2BACA,0BACA,0BACA,0BACA,oBACA,4BACA,yBACA,eACA,SACA,YACA,kBACA,4BACA,sBACA,iCACA,4BACA,sBAEA,wCACA,8BACA,uBACA,kCACA,2DACA,wBACA,uBACA,4CACA,oBACA,iBACA,yBAGA,UACA,iBAEA,6BACA,kCACA,kBACA,wBACA,mBAGA,mCACA,kBACA,eAIA,SAIA,uBACA,kCACA,uBAEA,iDACA,yDACA,yDAEA,+CACA,sCACA,mCACA,4CACA,4CACA,eAGA,sCACA,kBACA,mBAEA,aAGA,cACA,gCACA,oCACA,qCACA,qDACA,qDAEA,2CAGA,mBACA,iCACA,8BACA,oBACA,mBACA,sBACA,4BAGA,uDACA,uDAEA,yDACA,0DAGA,OACA,2CACA,yCACA,sDACA,qDACA,6CAEA,0BACA,wBACA,mBACA,yBACA,uBAGA,mCACA,yBACA,6DACA,4BACA,qDAEA,sCAGA,qBACA,uCACA,wBACA,2CACA,+DACA,6DACA,qCACA,iCAGA,6CACA,yDACA,qDACA,6DACA,6DACA,wCAEA,0BACA,uDACA,iEAGA,yCACA,4BACA,kEAEA,iDACA,wBACA,+CACA,wBACA,oCAGA,mBACA,mBACA,mCAEA,+CACA,sCACA,6BACA,aAGA,SACA,IAEA,KACA,wCACA,yBACA,0CACA,0BAGA,0CACA,SACA,OACA,KAGA,kDACA,oCACA,6BACA,oBACA,mCAEA,6DAEA,sBACA,wBACA,mDACA,KACA,KACA,WAEA,wEAGA,cAEA,+BACA,6DACA,4BAGA,iEACA,2EACA,uDAEA,gDACA,6CACA,6CACA,oDAGA,oBACA,wCAEA,QACA,IAGA,EADA,yCACA,EAEA,gDAGA,EADA,wCACA,EAEA,+CAEA,uBACA,wBAIA,uBACA,WACA,OACA,8BACA,kCACA,iDACA,kDACA,kCACA,iDACA,kDACA,mCACA,IACA,KAEA,8BACA,kCACA,aACA,oDAEA,aACA,qDAEA,kCACA,aACA,oDAEA,aACA,qDAEA,mCACA,IACA,MAIA,4BACA,eAEA,4BACA,eAGA,2CACA,2CAEA,uCACA,2BACA,EACA,EACA,6BACA,0BAIA,oBACA,iCACA,4BACA,gDAGA,kBACA,uDACA,wCACA,4BACA,2BACA,6BACA,iCAIA,QACA,2BACA,sDACA,mCACA,8DAIA,aACA,2BACA,6DACA,mCACA,uDAIA,kBACA,2BACA,aAIA,mBACA,2BACA,cAKA,6BACA,mBACA,OACA,UAGA,wBACA,eAEA,OADA,sDACA,EAEA,qBACA,QACA,IAUA,MATA,gBACA,4BACA,4BACA,2CACA,iBACA,4BACA,4BACA,2CAEA,8BAEA,UAIA,uBACA,kBACA,iDAIA,KACA,eACA,qDACA,GACA,yCAIA,sCACA,kBAQA,OAJA,sBACA,oBAGA,GAGA,eACA,kBACA,mBACA,aAGA,qBACA,kBACA,aAGA,sBACA,aACA,6DACA,sEACA,yBACA,aAGA,aACA,aACA,aAGA,eACA,+CACA,kBACA,aAGA,cACA,6CACA,aACA,aAGA,kBACA,qDACA,kBACA,aAGA,sBACA,6DACA,sCAGA,oBACA,yDACA,wBACA,2BACA,kBACA,gBC9sBwV,MCOpV,GAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,GAAK,YAAY,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,GAAK,UAAU,MAAQ,OAAO,KAAO,GAAG,MAAQ,GAAG,IAAM,GAAG,gBAAgB,KAAK,CAACF,EAAG,sBAAsB,CAACmE,GAAG,CAAC,MAAQ,SAASC,GAAQA,EAAOC,kBAAkBzE,EAAI0E,MAAQ1E,EAAI0E,QAAQ,CAACtE,EAAG,SAA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A,mBACA,mBACA,uCAEA,kBACA,mCAIA,YACA,WACA,yBACA,eACA,0BACA,OACA,IACA,+BACA,+BACA,0CACA,SACA,2BACA,EAEA,8CAEA,iBACA,oBAEA,mBACA,mBACA,6CAEA,kBACA,mCAIA,aAEA,0BACA,sBACA,OACA,mBACA,mCACA,2BACA,mCACA,2BACA,iBAEA,4BACA,qBAGA,QACA,0CACA,wBACA,wCAEA,0CAMA,gBACA,8BACA,yBACA,0CACA,uDACA,sBACA,2BACA,mCACA,8CACA,0BACA,2BACA,SAMA,OACA,qBACA,4BACA,SACA,mBACA,aACA,gBAGA,qBACA,OACA,aACA,WACA,mEAEA,QAEA,oBACA,qBACA,wBACA,4BAEA,oBACA,qBACA,wBACA,4BAEA,oBACA,0BACA,kCACA,kCCnL4V,MCOxV,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIlB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACc,YAAY,YAChH,GAAkB,GCatB,IACA,eACA,WACA,cACA,cACA,YACA,gBACA,qBAGA,YAGA,SACA,gBACA,oCACA,SACA,eACA,cAGA,kCAEA,gBACA,kBACA,OACA,yDAGA,wEACA,wEAEA,oBACA,uBAIA,eACA,4EACA,4EACA,uBACA,eACA,OACA,eACA,uBACA,0BACA,uBACA,0BACA,iBAEA,0BACA,qBAGA,iBACA,6BACA,iBAGA,wBACA,2BAOA,uBACA,sBACA,OACA,gBACA,iBACA,2BACA,iBACA,2BACA,gDAEA,4BAEA,sBACA,OACA,gBACA,iBACA,2BACA,iBACA,2BACA,gDAEA,6BAGA,qBACA,sBACA,OACA,gBACA,iBACA,oCACA,iBACA,oCACA,8CAEA,4BAEA,sBACA,OACA,gBACA,iBACA,oCACA,iBACA,oCACA,8CAEA,6BAGA,UACA,2BACA,0BACA,sBACA,OACA,2BACA,mBACA,gDACA,8DAEA,0BACA,mBAGA,oBACA,sBACA,OACA,2BACA,mBACA,mDACA,gEAEA,0BACA,oBAGA,UACA,2BACA,0BACA,sBACA,OACA,2BACA,8CACA,gDACA,8DAEA,0BACA,kBAGA,oBACA,sBACA,OACA,2BACA,8CACA,mDACA,gEAEA,0BACA,mBAGA,aACA,2BACA,yBACA,sBACA,OACA,2BACA,kDACA,gDACA,8DAEA,0BACA,mBAGA,mBACA,sBACA,OACA,2BACA,kDACA,mDACA,gEAEA,0BACA,oBAGA,SACA,cACA,eAGA,SACA,sBACA,OACA,oBAEA,gCACA,0CACA,mCAEA,0BACA,2BAGA,SACA,sBACA,OACA,oBAEA,4BACA,0CACA,mCAEA,0BACA,2BAGA,cACA,eACA,SAEA,uBACA,UAGA,QACA,0CACA,sCACA,wCCzPgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIlB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACc,YAAY,aAChH,GAAkB,GCatB,IACA,gBACA,WACA,cACA,cACA,YACA,gBACA,uBAGA,UACA,qCAGA,SACA,wBACA,SACA,eACA,8BACA,4BACA,SACA,eACA,cACA,gBAGA,kCACA,gBACA,mBACA,OACA,gDAIA,yCACA,uCAEA,kEACA,yBAEA,wBACA,2BACA,sBAEA,kDAGA,iBACA,IAKA,QALA,KACA,IAEA,IACA,IAEA,6BACA,WAGA,OACA,MACA,KACA,KACA,KACA,MAGA,sBAEA,MACA,YACA,gBACA,kBACA,eAEA,MAIA,MACA,QACA,SACA,IACA,QACA,QACA,aAEA,MACA,KAEA,KACA,KACA,KACA,KAEA,gBACA,YACA,kBACA,eAEA,IACA,OAIA,gBACA,IACA,QACA,SACA,IACA,WACA,QACA,UAGA,MACA,KACA,KACA,KACA,KAEA,gBACA,YACA,eACA,kBACA,IACA,QACA,SACA,IACA,WACA,QACA,YAMA,OACA,UACA,cAIA,qBACA,aAEA,YACA,2BACA,OACA,IACA,cACA,YACA,qBAGA,qBAEA,OACA,kBAGA,gBACA,QACA,SACA,6BACA,SAEA,SAEA,SAIA,kBAGA,4BAGA,iBACA,QACA,QACA,GACA,oCACA,mBACA,OAEA,eACA,GAIA,YACA,eACA,WAGA,gDACA,gBACA,+BAEA,mBAEA,UAGA,wBACA,SACA,4BACA,eACA,aAGA,UAGA,mBACA,yBACA,WAEA,gGACA,KACA,sCACA,mBACA,QACA,qBACA,yBACA,qBAKA,2EAEA,oBACA,+BACA,6BACA,eACA,OACA,8BACA,MACA,OAEA,8CACA,2BAGA,mBACA,qDACA,eAKA,mEACA,wEACA,kBAEA,sDAEA,mBACA,4CAEA,kBACA,mCAIA,iBACA,WAEA,+EACA,KACA,cACA,4CAEA,SACA,sCACA,mBACA,QACA,qBACA,yBACA,qBAIA,0EACA,oBACA,6BACA,2BACA,eACA,OACA,KACA,kBACA,EAGA,yBAGA,aACA,gDACA,yBAEA,mBACA,mDACA,eAKA,mEACA,wEACA,oBAGA,mBACA,4CAEA,kBACA,uCAIA,yBAMA,QACA,+CACA,gDCzVgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIlB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,iCAChH,GAAkB,GCctB,IACA,eACA,cAEA,WACA,YACA,eACA,eACA,eACA,UACA,cAGA,SACA,QACA,UACA,8BACA,eACA,8DACA,iEAGA,WACA,iCACA,eACA,kCACA,sBACA,OACA,uBACA,MACA,8BACA,oDAEA,qCAEA,MACA,+BACA,qFAEA,uEAGA,QACA,mBAGA,YACA,qCAEA,sCAGA,WACA,2CAGA,cACA,aACA,2BACA,wCACA,iDACA,gCACA,gCAEA,iCACA,eACA,OACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,uBACA,MACA,8BACA,mCAEA,oBAEA,MACA,+BACA,oCAEA,uBAMA,WACA,YACA,oBACA,kBAGA,kBACA,YACA,oBACA,iBAGA,WAEA,OADA,4CACA,oCAGA,QACA,iBACA,sCC5HgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCMf,IACA,eACA,OACA,WACA,QACA,SACA,cAEA,WACA,MACA,kBACA,qBACA,sBACA,SACA,OACA,UACA,QACA,UAEA,iBACA,kBACA,iBACA,aACA,aACA,oBACA,iBACA,YACA,qBACA,iBACA,aACA,qBACA,YACA,aAEA,YACA,OACA,YACA,WACA,YAGA,UACA,YACA,WACA,qCACA,UACA,YAIA,UACA,qCAGA,SACA,OACA,yBACA,uFACA,2DACA,kCAEA,+DACA,oEACA,6EAEA,4BAEA,8CACA,OACA,0BACA,8BAGA,4CACA,wCAEA,qBACA,cACA,6EAEA,+BAGA,WACA,mGACA,oEACA,mHAGA,6BAGA,wCACA,6CAGA,WACA,OACA,SACA,QACA,QACA,QACA,UAEA,UAGA,aACA,uEACA,2EACA,mKAGA,QACA,uBACA,2BACA,+BC5IgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCgNf,IACA,8BACA,YACA,YAEA,WACA,YACA,iCACA,UACA,mCACA,aACA,aACA,gCACA,8BACA,eACA,0CACA,cACA,kBACA,eACA,aACA,cACA,gBACA,qBACA,eACA,iBACA,UACA,oCACA,qCAEA,eACA,kBACA,oBACA,qBACA,mBACA,kBACA,eACA,kBACA,2BACA,iBACA,oBACA,6BACA,eACA,uBACA,yBACA,oBACA,sBACA,4CACA,qCACA,wBACA,mBACA,wBACA,2BACA,mBACA,oBACA,wBAEA,UACA,WAEA,8BACA,mBACA,qBACA,mCAIA,+BACA,2DACA,iBAGA,mCACA,kBAEA,yBACA,oBAGA,sCACA,qCACA,wCACA,oBACA,GAEA,0CACA,sBACA,MAKA,SACA,OACA,qBACA,wDACA,iDACA,qCACA,kEACA,kEACA,oBAEA,kBAGA,YACA,iBACA,wBAIA,YACA,iDACA,2CACA,mCAGA,oBAEA,6CACA,wBACA,OACA,+CACA,0BACA,OAEA,8CACA,uBACA,4BAEA,gDACA,yBACA,4BAGA,iDACA,4BAEA,+CACA,0BAGA,+CACA,2CACA,mDACA,+CACA,wCACA,0BACA,wCACA,UACA,wBACA,sCACA,YAGA,sDACA,sDAIA,kBACA,iCACA,4BACA,sBACA,oDACA,cAGA,yBACA,oDACA,aAGA,6BACA,GACA,EACA,oDACA,kBAIA,wBACA,4DAEA,2BACA,2DAEA,+BACA,GACA,EACA,8CACA,oBAIA,sBACA,yBACA,kCACA,wBACA,2BACA,qCAEA,6CAIA,sBACA,yCACA,oCACA,6CACA,+BACA,wBACA,GACA,yDAKA,SACA,oCAIA,0BACA,wBACA,6BAEA,4CACA,+DACA,+DACA,8CAEA,0CACA,6DACA,8BAGA,+BACA,kCAEA,kCAEA,4DAGA,4BACA,2BAGA,0BACA,yBAGA,qBACA,gCAIA,gBACA,mBACA,EAEA,kBAGA,cACA,eACA,SAEA,cACA,UAGA,sBACA,+BACA,IAEA,QAGA,iBACA,mBACA,aACA,UAIA,MACA,8DACA,UACA,uEAEA,UACA,6BAGA,UACA,4BAGA,OACA,yBACA,6BAKA,oBACA,2BACA,gBAIA,oBACA,eACA,eAEA,UAIA,2BACA,wBACA,6BACA,0BACA,wCACA,QACA,eACA,gCAIA,4BACA,wBACA,6BACA,QACA,eACA,gCAIA,UAEA,WACA,uBAGA,iBACA,oBACA,mBACA,qCACA,8BACA,sCACA,wCAGA,4BAGA,sBACA,oBACA,mDACA,+CACA,2CAEA,iDAEA,6BAGA,qBACA,oBACA,4CACA,wCACA,kDAEA,0CAEA,6BAGA,WAEA,OADA,4CACA,oCAGA,gBACA,gDACA,GAEA,4BACA,mCACA,kBACA,kDACA,YACA,MAGA,6CACA,0BACA,OAEA,8BACA,qCACA,kBACA,oDACA,YACA,MAGA,+CACA,4BACA,QAGA,2BACA,sBACA,yBAEA,kBACA,0DAEA,oCAEA,eACA,sBACA,wBACA,SACA,iBACA,wBACA,SACA,2BAIA,uCACA,eACA,sBACA,wBACA,SACA,gBACA,wBACA,SACA,6BAMA,qBAEA,WACA,qBACA,4BAuBA,MApBA,+BACA,wBACA,OACA,6CAGA,yBACA,sBACA,OACA,+CACA,kDAKA,0BAEA,OADA,aACA,IACA,IAEA,GAIA,8BACA,wCAGA,2BACA,qCAIA,QACA,iDACA,8CACA,8BACA,0CACA,wCAEA,4BACA,2CACA,sCACA,8BACA,0CACA,wCAEA,+BCxtB+W,MCQ3W,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,WAAW,CAACc,YAAY,kBAAkB,CAACd,EAAG,SAAS,CAACc,YAAY,OAAOZ,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,MAAQ,GAAG,SAAW,GAAG,UAAY,KAAK,CAACN,EAAIQ,GAAG,IAAIR,EAAIW,GAAGX,EAAI6d,SAAS,OAAOzd,EAAG,YAAYA,EAAG,OAAO,CAACc,YAAY,kBAAkB,CAAClB,EAAIQ,GAAG,cAAcR,EAAIW,GAAGX,EAAIqhB,mBAAmB,MAAMrhB,EAAIW,GAAGX,EAAIshB,iBAAiB,QAAQ,GAAGlhB,EAAG,MAAM,CAACE,MAAM,CAAC,GAAKN,EAAI+d,SAAS3d,EAAG,UAAU,CAAC2E,IAAI,aAAa,IACvhB,GAAkB,GCDlB,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,iCAChH,GAAkB,GCatB,IACA,eACA,cAEA,WACA,MACA,YACA,eACA,eACA,eACA,UACA,cAEA,SACA,WACA,iBAIA,SACA,QACA,UACA,oCAEA,eACA,8DACA,iEAGA,WACA,iCACA,eACA,kCACA,sBACA,OACA,uBACA,MAEA,8BACA,6CAEA,gDAEA,qCAEA,MAEA,+BACA,8CAGA,eACA,iBACA,gCACA,YACA,KAIA,eACA,iBACA,gCACA,OAIA,QACA,mBAGA,OACA,mCAGA,UACA,aACA,YACA,4BACA,wCACA,iDACA,gCACA,gCAEA,uDACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,YACA,MAEA,8BACA,6CAEA,+BAEA,oBAEA,MAEA,+BACA,8CAEA,gCAEA,sBAIA,aAGA,WAEA,OADA,4CACA,oCAGA,QACA,iBACA,sCCvIgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCYf,IACA,yBACA,YACA,YAEA,SACA,WACA,QACA,WACA,YACA,SACA,OACA,SACA,UACA,SAEA,iBACA,6BACA,oCACA,eACA,SACA,QACA,4BACA,WACA,+BACA,kBACA,YACA,qBACA,kBACA,iBACA,2BAGA,UACA,WACA,wCACA,qDACA,iBACA,yCAEA,uBAEA,6BAIA,SACA,OAEA,iCACA,uCAGA,kEACA,oEAEA,wEACA,yEAGA,uCACA,oBACA,sBACA,oEAGA,8BACA,kCACA,gCAIA,eACA,SACA,IACA,IAEA,aACA,aAEA,4CACA,OACA,KAGA,+CACA,cAGA,yBAGA,cACA,0BACA,mCACA,GACA,yDACA,GAGA,yFACA,sBACA,gBACA,eACA,iBACA,4BACA,qBACA,SAGA,aACA,SACA,CACA,6FACA,sBACA,sBACA,qBACA,wBACA,mCACA,KAuBA,OApBA,4DAEA,qBAEA,mBACA,iCAEA,qCACA,qBAEA,8BACA,2CACA,sBACA,mCACA,qBAEA,+BACA,2CACA,sBAEA,GAGA,aACA,aACA,yBACA,oBACA,aACA,aACA,gBAEA,2BACA,kBAEA,qCAGA,WACA,iCACA,+BACA,iCACA,mCACA,sCACA,+BAEA,6CACA,MAIA,QACA,uCACA,0CACA,0CACA,2BACA,2BACA,4BACA,6BACA,oCACA,yBACA,yCACA,4BAGA,aACA,WACA,SACA,0BACA,sBACA,QACA,eACA,+CACA,OACA,SACA,iCAEA,SACA,eAEA,SACA,wBAEA,UACA,0CAEA,0CACA,UACA,uBACA,iBACA,UACA,aACA,qCADA,QAMA,8BACA,6BAEA,6BACA,4BAIA,eACA,WACA,SACA,4BACA,gBACA,QACA,eACA,iDACA,OACA,SACA,2BAEA,SACA,eAEA,SACA,wBAEA,UACA,0CAEA,SACA,0CACA,UAEA,UACA,uBACA,iBACA,UACA,aACA,qCADA,QAMA,8BACA,6BAEA,6BACA,4BAIA,gBACA,8BACA,yBACA,0CACA,EACA,MACA,oBACA,KACA,2BAHA,gBAMA,SACA,eACA,OACA,6BACA,kCACA,wCAEA,0BACA,2BACA,SAKA,QACA,WACA,qBACA,eACA,aACA,SACA,mBACA,WACA,QACA,EACA,kBAEA,iBAIA,WACA,YACA,OACA,eACA,UACA,aACA,qCACA,IACA,iBACA,MAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BACA,oBAEA,EACA,kBACA,0BACA,kCACA,gCAGA,QACA,eACA,aACA,UACA,mBACA,qCACA,QACA,SACA,WACA,cAEA,wCACA,UACA,cAEA,qCACA,OACA,WAKA,SACA,iCACA,wBACA,oCACA,mBACA,iCACA,oBACA,wCACA,yBAGA,SACA,eACA,OACA,wBACA,6BACA,oBACA,sBAEA,0BACA,2BACA,QAEA,iBACA,YACA,OACA,eACA,UACA,2DAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BACA,oBAEA,EACA,kBACA,0BACA,kCACA,kCC5b0W,MCOtW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,IAAM,GAAG,KAAO,GAAG,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,WAAW,CAACc,YAAY,kBAAkB,CAACd,EAAG,SAAS,CAACc,YAAY,OAAOZ,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,MAAQ,GAAG,SAAW,GAAG,UAAY,KAAK,CAACN,EAAIQ,GAAG,IAAIR,EAAIW,GAAGX,EAAI6d,SAAS,QAAQ,GAAGzd,EAAG,OAAO,CAACc,YAAY,kBAAkB,CAAClB,EAAIQ,GAAG,aAAaR,EAAIW,GAAGX,EAAImf,aAAanf,EAAIuhB,iBAAiB,OAAOnhB,EAAG,UAAU,CAAC2E,IAAI,aAAa,IACze,GAAkB,GCDlB,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACc,YAAY,aAChH,GAAkB,GCctB,IACA,eACA,cAEA,WACA,MACA,YACA,eACA,eACA,eACA,UACA,cAEA,SACA,WACA,iBAIA,SACA,QACA,UACA,oCAEA,eACA,8DACA,iEAGA,WACA,iCACA,eACA,kCACA,sBACA,OACA,uBACA,MAEA,8BACA,6CAEA,gDAEA,qCAEA,MAEA,+BACA,8CAGA,eACA,iBACA,gCACA,YACA,KAIA,eACA,iBACA,gCACA,OAIA,QACA,mBAGA,OACA,+CACA,SACA,wCACA,SACA,0CACA,UAEA,oGAGA,UACA,aACA,YACA,4BACA,wCACA,iDACA,gCACA,gCAEA,uDACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,YACA,MACA,2EACA,+BAEA,oBAEA,MACA,6EACA,gCAEA,sBAIA,aAGA,QACA,iBACA,sCCpIgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCTA,MAAMsgB,GACpBvf,cAKChC,KAAKwhB,WAAa,IAAI1H,GAMvB2H,UACC,OAAQzhB,KAAKwhB,WAAWxH,KAOzB0H,OACC,OAAK1hB,KAAKwhB,WAAWxH,KAIdha,KAAKwhB,WAAWxH,KAAKlb,MAHpB,KAWT6iB,QAAQ7iB,GACPkB,KAAKwhB,WAAW5L,OAAO9W,GAQxB8iB,UACC,MAAMC,EAAc7hB,KAAKwhB,WAAW9G,aACpC,OAAOmH,EAAcA,EAAY/iB,MAAQ,KAO1C0M,SAASrG,GAER,OAAOnF,KAAKwhB,WAAWhW,SAASrG,IClClC,QACA,uBACA,YACA,YAEA,SACA,WACA,QACA,MACA,QACA,SACA,QAEA,YACA,wBACA,sBACA,uBACA,oBACA,WACA,WACA,YACA,YACA,GACA,MACA,KACA,IACA,MAEA,qBACA,qBAEA,cACA,CACA,qBAEA,CACA,qBAEA,CACA,qBAGA,4BACA,WACA,kBACA,MACA,UACA,8BACA,SACA,eACA,UACA,kBACA,+BAGA,OACA,OACA,sBACA,qBAEA,UAIA,UACA,qCAGA,SACA,aACA,wCACA,6BACA,0CACA,wBAEA,qDACA,kCACA,kCACA,yCAKA,gBACA,mBACA,EAEA,kBAGA,WACA,wDACA,sCACA,+DACA,iEAEA,yBACA,aACA,cACA,OACA,cACA,6DACA,8DAGA,qCAGA,oBACA,iBACA,mCACA,kBACA,gBACA,mBAMA,eACA,aACA,SAIA,GAHA,4BACA,4BAEA,4BAEA,YADA,oEAIA,+CACA,uCACA,MAEA,kCADA,+BAIA,sBAGA,sBAEA,iDACA,qBAGA,OACA,eAGA,QAEA,OACA,qCAEA,SAEA,aAEA,SAEA,OAGA,oBACA,oBAEA,SACA,KAGA,CACA,WACA,qCACA,SANA,CACA,WACA,uCAOA,SACA,sBAEA,8BAEA,0BACA,eAKA,IAEA,UAGA,qBACA,kBACA,qBAGA,WAEA,OADA,4CACA,oCAGA,QACA,+BACA,+BACA,0CACA,qCAIA,eACA,SACA,KACA,UACA,UACA,kBACA,eACA,eAGA,gCACA,UACA,aAGA,UAGA,aACA,iBACA,cACA,IACA,KAEA,aAQA,OAPA,YACA,OACA,SACA,qCACA,GACA,6BAEA,GAGA,kBACA,WACA,mBACA,aACA,4CACA,cACA,EACA,KACA,gBACA,KACA,iBAEA,2CACA,OACA,EACA,KACA,gBACA,KACA,kBAIA,WACA,OACA,iBACA,iBACA,MACA,aAEA,MACA,aAGA,OACA,OACA,OACA,SAIA,aAKA,OAJA,sBACA,sBACA,sBACA,sBACA,GAGA,gBACA,IACA,EADA,aAEA,KACA,WAEA,QACA,YACA,OACA,OACA,OACA,YACA,iBACA,aAIA,uBACA,QAEA,EADA,eACA,uDAEA,0DAGA,IACA,EADA,aAEA,KACA,WACA,mBAEA,YACA,qBACA,OACA,oCAIA,oBACA,kBACA,cAEA,gBACA,wCACA,iBAMA,sDAIA,eACA,mBACA,iBACA,6BACA,kBAEA,YAEA,kBACA,6BACA,cAEA,gBAEA,mBAGA,gBACA,oBAGA,+BAEA,gCACA,kCACA,gBACA,eACA,wBACA,sBAIA,sDAGA,wBAGA,6BACA,+BACA,iDAGA,eAEA,gBACA,gBACA,wCACA,6BACA,WACA,OACA,uBACA,cACA,6DAEA,uBACA,cACA,6DAMA,6BACA,WACA,OACA,KACA,qDAEA,sBACA,yBACA,0CACA,gCAEA,gBACA,oBACA,gBACA,gBACA,kBACA,gBAEA,oBACA,gBACA,gBACA,gBACA,kBAGA,8DACA,0DAEA,6BACA,2BACA,OACA,oBACA,eACA,yBACA,KACA,aACA,qDAMA,2BACA,mDAGA,eAEA,gBACA,gBACA,sCACA,6BACA,WACA,OACA,uBACA,cACA,6DAEA,uBACA,cACA,6DAIA,6BACA,WACA,OACA,KACA,qDAEA,sBACA,yBACA,wCACA,gCAEA,gBACA,oBACA,gBACA,gBACA,kBACA,gBAEA,oBACA,gBACA,gBACA,gBACA,kBAGA,8DACA,0DAEA,6BACA,2BACA,OACA,oBACA,eACA,yBACA,KACA,aACA,qDAMA,iBACA,wCAEA,qCACA,yBAEA,IACA,KACA,SACA,GACA,6BACA,yCACA,CACA,4CACA,4BACA,aACA,0BACA,YACA,qCAEA,oDACA,8CACA,4BACA,aACA,0BACA,YACA,gCAIA,IACA,IADA,IAGA,GACA,mCACA,gCAEA,2BAEA,wCACA,8BACA,KACA,IACA,uDACA,YACA,KACA,IACA,2DACA,YACA,iBACA,gDAKA,eACA,0CAGA,cACA,wCAGA,GADA,oBACA,QAEA,IACA,KACA,YACA,4CACA,4BACA,cACA,qDACA,4BACA,UAEA,8CACA,4BACA,cACA,0CACA,aACA,qCAGA,UAEA,GADA,KACA,4CAEA,6BACA,UAEA,wCACA,6BACA,KACA,uBACA,KACA,2BACA,iBACA,qBA2EA,WAGA,eACA,yBACA,iBACA,QACA,eACA,2BACA,aACA,gBAEA,YACA,8BACA,mBACA,uCAIA,MAEA,YACA,6BACA,mCAEA,kBAEA,gBACA,6BACA,wBAEA,uDAGA,wCAGA,yCAEA,iBACA,6BACA,sBAEA,yCAEA,qBACA,aAUA,OARA,EADA,6FACA,qDAEA,8EACA,kDAEA,uCAGA,IAEA,mBACA,0DACA,6DAEA,wCACA,mBACA,OACA,GAEA,GAEA,uBACA,mBACA,oDACA,4BACA,OACA,gCAGA,6BAIA,0CAGA,eACA,yBACA,2BACA,mBAGA,+BAEA,kBAEA,4CAMA,UACA,eACA,yBACA,iBACA,QACA,eACA,2BACA,oBACA,6BACA,aAEA,aAEA,YACA,8BACA,mBACA,uCAIA,oBAEA,YACA,6BACA,KAEA,0CAEA,gBACA,8BACA,wBACA,0BAIA,YAEA,iBACA,2CACA,sCAEA,WAEA,0BACA,SACA,8BACA,SAEA,gBAEA,GADA,sBACA,IAEA,4BAEA,OADA,SACA,KAIA,SACA,oCAGA,0CAEA,2BAEA,eACA,yBACA,UACA,iBAEA,mBAEA,yBAIA,aAEA,8CAGA,2CAGA,sBACA,aACA,cACA,mBACA,4BAMA,aAoBA,8BAGA,YAEA,4BAKA,gBACA,WACA,QACA,eACA,aACA,WAGA,OADA,aACA,GAGA,4BAEA,sDACA,SACA,aACA,kBACA,+BACA,kBACA,mBAEA,iEAIA,oBACA,WAUA,OATA,cACA,sBACA,6CACA,kCACA,sBACA,KAEA,oCAEA,aAIA,uBAEA,eACA,UACA,eACA,0BAGA,4BAEA,EACA,sBACA,qCACA,4BAEA,EACA,mBACA,gCACA,qBACA,oBACA,6BACA,gBAGA,OACA,YACA,iDAIA,kBAGA,iBACA,oBACA,4CACA,qBACA,oBACA,6BACA,QAGA,yCAGA,eACA,0BACA,gCACA,yBAEA,kCCxgCwW,MCOpW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,IAAM,GAAG,KAAO,GAAG,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,WAAW,CAACc,YAAY,kBAAkB,CAACd,EAAG,SAAS,CAACc,YAAY,OAAOZ,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,MAAQ,GAAG,SAAW,GAAG,UAAY,KAAK,CAACN,EAAIQ,GAAG,IAAIR,EAAIW,GAAGX,EAAI6d,SAAS,OAAOzd,EAAG,aAAa,GAAGA,EAAG,OAAO,CAACc,YAAY,mBAAmBd,EAAG,MAAM,CAACE,MAAM,CAAC,GAAKN,EAAI+d,SAAS3d,EAAG,UAAU,CAAC2E,IAAI,aAAa,IACnd,GAAkB,GCDlB,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,0BAChH,GAAkB,GCctB,IACA,eACA,WACA,MACA,YACA,eACA,eACA,eACA,UACA,cAGA,SACA,QACA,UACA,uBACA,aACA,cACA,2BAEA,0CACA,eACA,8DACA,iEAGA,WACA,+BACA,eACA,kCACA,sBACA,OACA,uBACA,MAEA,8BACA,6CAEA,gDAEA,qCAEA,MAEA,+BACA,8CAGA,eACA,iBACA,gCACA,YACA,KAIA,eACA,iBACA,gCACA,OAIA,QACA,mBAGA,WAEA,OADA,4CACA,oCAGA,kBACA,qBACA,OACA,eACA,YADA,GAKA,OACA,oDACA,aACA,QACA,gDACA,UACA,oBAEA,qCAIA,UACA,aACA,4BACA,8CACA,iDACA,gCACA,gCACA,wCACA,qDACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,mBACA,MAEA,8BACA,6CAEA,+BAEA,oBAEA,MAEA,+BACA,8CAEA,gCAEA,sBAGA,YACA,aAGA,QACA,iBACA,sCCpJgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCUf,IACA,2BACA,YACA,YAEA,WACA,SACA,OACA,SACA,UACA,SAEA,OACA,OACA,OACA,OACA,eACA,SACA,SACA,YACA,+BACA,sCACA,6BACA,aACA,wDACA,uBACA,iBACA,iBACA,yBACA,kBACA,kBACA,oBACA,yBAGA,UACA,WACA,0CACA,wCACA,6BAIA,SACA,OACA,iCACA,uCAEA,8DACA,gEAEA,gCACA,4BACA,+CACA,0EAEA,gCACA,kCACA,wCAIA,gBACA,uBACA,8BAGA,uBACA,8BACA,uBAIA,aACA,kBACA,aAEA,oBACA,4BACA,yBACA,sBAEA,iHACA,4BAEA,iFACA,sIACA,sBAGA,0CACA,sCACA,sCACA,sCAEA,+EACA,8EAEA,aACA,aACA,oBACA,6GACA,kBAGA,gBACA,qCAGA,WACA,kDAGA,kBACA,SACA,KACA,wDACA,qEACA,6BACA,WACA,iEACA,OACA,QACA,WACA,gCACA,sCAEA,QACA,WACA,gCACA,wCAMA,IACA,EADA,uDAEA,wCACA,wBAEA,yCACA,8CAGA,eACA,eACA,eACA,eACA,iBACA,iBAEA,kFACA,iDACA,qDAEA,mDACA,qDAGA,gBACA,IAmBA,EAnBA,KACA,KAEA,wFACA,6BACA,WACA,8DACA,QACA,WACA,gCACA,wCAEA,QACA,WACA,gCACA,wCAMA,GADA,uCACA,wCACA,6BAEA,2CACA,kFACA,6CAEA,qBACA,qBACA,qBACA,qBACA,uBACA,wBAGA,gBACA,SACA,KACA,IACA,IACA,IACA,IAEA,mCACA,gBACA,gBACA,UAGA,mCACA,gBACA,gBACA,UAGA,qBAGA,iBACA,SACA,KACA,IACA,IACA,IACA,IAEA,mCACA,oBACA,oBACA,UAGA,mCACA,oBACA,oBACA,UAGA,qBAIA,kBAOA,IANA,eACA,IACA,IACA,IACA,IAEA,YACA,QACA,QAIA,KACA,KAGA,QACA,IACA,uBACA,SACA,SACA,OACA,OAIA,UACA,QAGA,SAEA,uBACA,iBAIA,SACA,KACA,KAEA,oBACA,kBACA,kBACA,kBAGA,QACA,IACA,IACA,IACA,IAEA,oBACA,QACA,QACA,QACA,QACA,QAEA,cACA,UACA,UACA,iBAEA,MAEA,OACA,QACA,eAKA,gBACA,8BACA,yBACA,0CACA,uDACA,wBACA,uCACA,6CACA,8CACA,0BACA,2BACA,SAGA,QACA,qBACA,4BACA,UACA,mBACA,WACA,+BACA,iBAIA,2BACA,qBACA,mBACA,4EACA,QAEA,oBACA,qBACA,wBACA,4BAEA,oBACA,qBACA,uBACA,4BAEA,oBACA,0BACA,kCACA,gCAGA,gBACA,8BACA,yBACA,0CACA,uDACA,wBACA,uCACA,gCACA,4BACA,4BACA,2BACA,0BACA,SAGA,QACA,SACA,qBACA,0BACA,SACA,mBACA,mBACA,+BACA,iBAIA,2BACA,mBACA,qBACA,0DACA,QAEA,oBACA,qBACA,wBACA,4BAEA,oBACA,qBACA,uBACA,4BACA,oBAEA,oBACA,0BACA,kCACA,gCAGA,YACA,WACA,eACA,iBACA,iDAEA,iBACA,gCAGA,qBACA,2BACA,eACA,wBACA,YACA,wBACA,4BACA,qBAGA,kBACA,mEAEA,iBACA,yBAGA,mDAEA,gDACA,kCAEA,0FAEA,oDACA,UAGA,eACA,WACA,uCACA,iCAGA,GAFA,sBAEA,GAEA,SACA,iBACA,OACA,qBACA,MACA,UACA,OACA,oDAEA,OACA,kCAGA,0BACA,yBACA,qDACA,oBACA,OACA,WACA,MACA,sBACA,qBAEA,4BAEA,mBACA,4BAKA,aACA,WACA,4CACA,uCACA,wBAGA,IACA,SACA,iBACA,OACA,mBACA,MACA,UACA,OACA,0DAEA,UACA,qCAGA,mDACA,yDACA,yBACA,oBACA,OACA,WACA,MACA,4BACA,OAEA,4BAEA,mBACA,4BAKA,kBACA,WACA,iBACA,oCACA,qBACA,uCACA,sBACA,+BAEA,sBACA,cAIA,QACA,iCACA,+BACA,yBACA,+BACA,2CACA,4BCpkB4W,MCOxW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,WAAW,CAACc,YAAY,kBAAkB,CAACd,EAAG,SAAS,CAACc,YAAY,OAAOZ,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,MAAQ,GAAG,SAAW,GAAG,UAAY,KAAK,CAACN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,aACA,uCAEA,yBACA,uBAEA,0DAEA,gDACA,sCACA,uCAEA,wCACA,sCACA,gDACA,iBACA,kDAEA,wCACA,gBACA,mBAGA,OACA,4CACA,IAGA,4CACA,IAGA,gBAEA,uBACA,YACA,OACA,6CACA,mCAEA,eACA,sBAEA,iBAEA,uBACA,YACA,OACA,iEACA,eACA,sBAEA,iBAEA,mBAEA,SACA,mBACA,qBACA,sBACA,gBACA,kBACA,sBACA,uBACA,sBACA,eACA,yBACA,wBAEA,SACA,eACA,+BACA,6CACA,2BACA,6CACA,yBACA,uBAEA,oBAEA,SACA,eACA,+BACA,6CACA,+BACA,2CACA,yBACA,uBAEA,oBAEA,SACA,eACA,OACA,8BACA,kBACA,gBAEA,2BACA,0BACA,qBACA,0BACA,wBACA,4BACA,oBACA,YAEA,SACA,eACA,OACA,8BACA,mCACA,0BACA,0BAEA,2BACA,qBACA,0BACA,wBACA,4BACA,oBACA,aAGA,cACA,SACA,kDAEA,wCACA,sBACA,QACA,qBACA,qBACA,2BACA,aACA,yBACA,qCACA,qCAEA,gBACA,YAEA,cACA,aAEA,cACA,aAEA,cACA,aAEA,cACA,aAGA,UAGA,QACA,gBACA,gBACA,OACA,iBACA,mBACA,8BAEA,wBACA,qCACA,+CAGA,2CAEA,aAGA,sBAEA,oBACA,aACA,cACA,OACA,gBACA,oCAEA,oBAGA,kBACA,WACA,sBACA,oBACA,6BACA,QACA,iBACA,OACA,SACA,MAEA,MACA,oCAEA,KACA,EAEA,SACA,SASA,OAJA,GAHA,sCACA,oBAEA,qBAIA,GAEA,UACA,UAEA,MACA,aAKA,gBAEA,2BACA,2BACA,6BACA,QACA,iBACA,OACA,SACA,eAEA,MACA,6CAEA,IACA,iBACA,UAEA,yCACA,uBAEA,oBAEA,+CAGA,iBACA,UACA,aAEA,MACA,eAGA,mBACA,oBAEA,kBAGA,sBAKA,kBACA,gBACA,2BACA,oBACA,uBACA,oBACA,qBACA,4BACA,0BACA,wBAEA,2BAGA,aACA,aAEA,0CACA,yCACA,yCAEA,+BAEA,+BAEA,uBACA,2BAEA,uBACA,kDACA,qDAGA,eACA,kBACA,QACA,EADA,+BAIA,6BAJA,+BAOA,+BAIA,aACA,WAEA,mCAEA,aACA,aACA,cACA,mBACA,iBACA,qBAGA,SACA,WACA,sBACA,eACA,mDACA,uBAEA,0CACA,kDACA,uBACA,OACA,kEAEA,iDACA,uBAGA,yBACA,uDAGA,sBAGA,6BACA,6CACA,mCACA,6CAIA,YACA,WACA,0CACA,aACA,sCAGA,oCACA,aACA,mCACA,eAEA,oCAEA,QACA,qBACA,oCAOA,aACA,sBACA,YAGA,WACA,QACA,YACA,KAEA,2BACA,wBAGA,YAEA,WACA,gBACA,2BACA,uBAGA,WACA,mBACA,2BACA,wBAGA,WACA,sBACA,aAGA,yBAEA,WACA,QACA,2BACA,uBAGA,WACA,gBACA,uBACA,YACA,KAEA,cACA,mCAEA,kBAGA,+DAEA,mDAEA,yDAGA,OAEA,eAOA,WACA,SACA,6BACA,mBACA,uBACA,2BAEA,uBACA,2BAIA,wCACA,IACA,IACA,QACA,YAIA,SAEA,eAGA,yCACA,yCAOA,WACA,SACA,6BACA,mBACA,uBACA,2BAEA,uBACA,4BAIA,aACA,UACA,mBACA,KAMA,CACA,2BACA,uBAWA,GATA,2DAGA,2DACA,4DAKA,mBACA,OAMA,gDA1BA,CACA,qBACA,iDAEA,yCACA,yCAuBA,YACA,eAGA,QACA,uBAGA,aACA,gCAEA,kDACA,UACA,4CACA,mBAGA,kDACA,UACA,4CACA,sBAIA,QACA,iDAEA,iCACA,sCACA,yDC7nB4W,MCOxW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QC0Yf,IACA,wBACA,YACA,eAEA,cACA,OAEA,uBACA,qBACA,mBACA,uBACA,2BAGA,OACA,uBACA,mCAIA,WACA,mBACA,wBACA,QACA,SACA,oCAGA,QACA,6BACA,4BACA,YACA,yBACA,oBACA,iCACA,yBACA,mCACA,oBACA,6BACA,kBACA,wBACA,qBACA,kCACA,2BACA,mBACA,wBACA,gCACA,oCACA,4BACA,qBACA,sBACA,sBACA,wBACA,wBACA,qDACA,sCACA,2BACA,0BACA,0BACA,gCACA,mCACA,0BACA,oBACA,4BACA,yBACA,eACA,mCACA,6BACA,SACA,YACA,kBACA,4BACA,uCACA,gCACA,sBACA,4BACA,wBAEA,wCACA,8BACA,mBACA,mBACA,kBACA,sBACA,qBACA,0BACA,mBACA,qBACA,sBACA,uBAEA,sBACA,uBACA,uBACA,gCACA,uCACA,kCACA,2DACA,wBACA,uBACA,4CACA,oBACA,oEACA,iCACA,iCACA,sBACA,wBACA,gBACA,gBACA,eACA,gBACA,eAEA,sCACA,4BACA,cACA,2BACA,mBAGA,UACA,iBAEA,6BACA,kCACA,kBACA,wBACA,8BAIA,SAIA,uBACA,kCACA,uBAEA,iDACA,yDACA,yDAEA,+CACA,sCACA,mCACA,4CACA,4CACA,eAGA,sCACA,kBACA,mBAEA,aAGA,OACA,2CACA,yCACA,sDACA,wDACA,6CAEA,0BACA,wBACA,mBACA,yBACA,uBAGA,mCACA,yBACA,+DACA,4BACA,uDAEA,wCAGA,cACA,gCACA,oCACA,qCACA,qDACA,qDAEA,2CAGA,mBACA,iCACA,8BACA,oBACA,mBACA,sBACA,6BAIA,qBACA,yDACA,yDAEA,iDACA,wBACA,+CACA,wBACA,mCACA,uCACA,sCAEA,uCACA,wBACA,2CACA,+DACA,6DACA,+CAEA,2CACA,6CACA,yDACA,qDACA,6DACA,6DACA,wCAEA,0BACA,uDACA,iEAGA,yCACA,mEAGA,mBACA,mBACA,mCAEA,+CACA,sCACA,6BACA,aAGA,SACA,IAEA,KACA,wCACA,yBACA,0CACA,0BAGA,0CACA,SACA,OACA,KAGA,kDACA,oCACA,6BACA,oBACA,mCAEA,6DAEA,sHAEA,wEAGA,oBACA,wCAEA,QACA,IAGA,EADA,yCACA,EAEA,gDAGA,EADA,wCACA,EAEA,+CAEA,+CAGA,kBACA,mDACA,0CACA,sBACA,6BACA,+BACA,kCACA,+BACA,6BAKA,uBACA,WACA,OACA,kCACA,iDACA,kDACA,kCACA,iDACA,kDACA,mCACA,IACA,KAGA,4BACA,eAEA,4BACA,eAGA,2CACA,2CAEA,uCACA,2BACA,EACA,EACA,6BACA,0BAIA,4BACA,QACA,IACA,8CACA,yCAEA,WACA,EACA,6DAEA,WACA,EACA,6DAQA,4CACA,gBACA,EACA,EACA,kCACA,0BAIA,cAEA,+BACA,6DACA,4BAGA,oCACA,uEACA,iCACA,iCACA,yDACA,0BAEA,iDACA,gDAGA,4BAGA,iEACA,2EACA,uDAEA,6CACA,8BAEA,mDAEA,gDACA,6CACA,6CACA,oDAIA,uBACA,mDAGA,KACA,eACA,wCACA,4BACA,aAIA,sCACA,kBAQA,OAJA,sBACA,oBAGA,GAGA,oBACA,iCACA,4BACA,gDAGA,aACA,2BACA,wDACA,mCACA,gEAIA,QACA,2BACA,+DACA,mCACA,yDAIA,kBACA,2BACA,aAIA,mBACA,2BACA,cAKA,6BACA,mBACA,OACA,UAGA,wBACA,eAEA,OADA,sDACA,EAEA,qBACA,QACA,IAUA,MATA,gBACA,4BACA,4BACA,2CACA,iBACA,4BACA,4BACA,2CAEA,8BAEA,UAIA,eACA,kBACA,mBACA,aAGA,eACA,kBACA,aACA,aAGA,aACA,aACA,aAGA,eACA,+CACA,kBACA,aAGA,cACA,aACA,aAGA,mBACA,kBACA,aAGA,uBACA,qBACA,0CACA,6CAIA,0BACA,+DACA,qEACA,uCAGA,wBACA,iDACA,qCAGA,6BACA,mCACA,+DACA,8BACA,8CACA,uCACA,gDACA,kDACA,4CAEA,8CAGA,aACA,2CACA,kBACA,aAGA,cACA,6CACA,kBACA,aAGA,sBACA,6DACA,kBACA,aAGA,kBACA,qDACA,kBACA,aAGA,sBACA,6DACA,sCAGA,sBACA,6DACA,sCAGA,oBACA,uCACA,aACA,YACA,kCAGA,oBACA,yDACA,2BACA,kBACA,aAGA,oBACA,yDACA,wBACA,2BACA,kBACA,eCjgC0V,MCOtV,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCIf3U,aAAI0X,IAAIC,GACR,MAAM3W,GAAQ,IAAI2W,WAEZC,GAAS,IAAIC,OAAO,CACzBC,OAAQ,CACP,CACCC,KAAM,UACN9mB,KAAM,iBACNgG,UAAW+gB,GACX7jB,OAAO,GAER,CACC4jB,KAAM,YACN9mB,KAAM,mBACNgG,UAAWghB,GACX9jB,OAAO,MAKV6L,aAAIkY,OAAOC,eAAgB,EAC3BnY,aAAI0X,IAAIU,QACRpY,aAAI0X,IAAIG,QACR7X,aAAI0X,IAAIW,KACRrY,aAAI0X,IAAIY,KAER,IAAItY,aAAI,CACPgB,MADO,GAEPtO,OAAQ6lB,GAAKA,EAAEC,GACfC,GAAI,OACJb,UACAc,WAAY,CAAEF,OACdG,SAAU,WAEX3Y,aAAIkY,OAAOU,UAAW,EAEPhB,iB,kFC1Df,yBAA0c,EAAG,G,kCCA7c,yBAA4e,EAAG,G,kCCA/e,yBAAof,EAAG,G,yDCAvf,yBAA2f,EAAG","file":"js/app.9576c760.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteCorrespondence.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteCorrespondence.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('div',{attrs:{\"id\":\"app\"}},[_c('v-toolbar',{attrs:{\"id\":\"toolbar\",\"color\":\"teal\",\"fixed\":\"\",\"app\":\"\",\"clipped-right\":\"\"}},[_c('v-toolbar-title',{staticStyle:{\"margin-right\":\"3em\",\"color\":\"white\"}},[_vm._v(\" CallFlow \")]),_c('v-btn',{attrs:{\"outlined\":\"\"}},[_c('router-link',{attrs:{\"to\":\"/single\",\"replace\":\"\"}},[_vm._v(\"Single\")])],1),(_vm.runCounts > 1)?_c('v-btn',{attrs:{\"outlined\":\"\"}},[_c('router-link',{attrs:{\"to\":\"/ensemble\",\"replace\":\"\"}},[_vm._v(\"Ensemble\")])],1):_vm._e()],1),_c('router-view'),_c('v-content',[_c('v-layout',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" General Information \")])],1),_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" Experiment: \"+_vm._s(_vm.data.experiment)+\" \")])],1),_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" Data path: \"+_vm._s(_vm.data.data_path)+\" \")])],1),_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" .callflow save path: \"+_vm._s(_vm.data.save_path)+\" \")])],1),_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" Filter by attribute: \"+_vm._s(_vm.data.filter_by)+\" \")])],1),_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" Filter percentage: \"+_vm._s(_vm.data.filter_perc)+\" \")])],1),_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" Group by attribute: \"+_vm._s(_vm.data.group_by)+\" \")])],1)],1),_c('v-container',[_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\"Runtime Information\")]),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"dense\":\"\",\"headers\":_vm.runtimeHeaders,\"items\":_vm.runtime,\"items-per-page\":5},scopedSlots:_vm._u([{key:\"items\",fn:function(props){return [_c('tr',[_c('td',{attrs:{\"nowrap\":\"true\"}},[_vm._v(_vm._s(props.item.run))]),_c('td',{attrs:{\"nowrap\":\"true\"}},[_vm._v(\" \"+_vm._s(props.item.min_inclusive_runtime)+\" \")]),_c('td',{attrs:{\"nowrap\":\"true\"}},[_vm._v(\" \"+_vm._s(props.item.max_inclusive_runtime)+\" \")]),_c('td',{attrs:{\"nowrap\":\"true\"}},[_vm._v(\" \"+_vm._s(props.item.min_exclusive_runtime)+\" \")]),_c('td',{attrs:{\"nowrap\":\"true\"}},[_vm._v(\" \"+_vm._s(props.item.max_exclusive_runtime)+\" \")])])]}}])})],1)],1)],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n *\n * SPDX-License-Identifier: MIT\n */\n\nclass APIService {\n\t/**\n * A\n */\n\tconstructor() {\n\t\tthis.url = \"http://localhost:5000/\"; // For local\n\t}\n \n\t/**\n * Force to reject the promise in the specified seconds.\n * @param {Numeric} ms milliseconds before rejecting the promise\n * @param {Promise} promise Promise of interest.\n * @return {Promise} A promise with timeout.\n */\n\ttimeoutPromise(ms, promise) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst timeoutId = setTimeout(() => {\n\t\t\t\treject(new Error(\"Promise times out\"));\n\t\t\t}, ms);\n\t\t\tpromise.then(\n\t\t\t\t(res) => {\n\t\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\t\tresolve(res);\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\t\treject(err);\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n \n\t/**\n\t * Send a POST request to the firestore.\n\t * @param {String} endpoint \n\t * @param {JSON} jsonBody \n\t * @return {Promise} response\n\t */\n\tPOSTRequest(endpoint=\"\", jsonBody={}) {\n\t\tconst fullURL = this.url + endpoint;\n\t\tconsole.log(\"[POST Request]\", fullURL, \"body: \", jsonBody);\n\t\tconst httpResponse = fetch(fullURL, {\n\t\t\tmethod: \"POST\",\n\t\t\tcache: \"default\", // *default, no-cache, reload, force-cache, only-if-cached\n\t\t\tcredentials: \"same-origin\", // include, *same-origin, omit\n\t\t\theaders: {\"Content-Type\": \"application/json\"},\n\t\t\tbody: JSON.stringify(jsonBody),\n\t\t}).then((response) => {\n\t\t\tswitch (response.status) {\n\t\t\tcase 200:\n\t\t\t\treturn response.json();\n\t\t\tcase 401:\n\t\t\t\treturn Promise.reject(\"unauthorized\");\n\t\t\tcase 500:\n\t\t\t\treturn Promise.reject(\"not_allowed\");\n\t\t\tdefault:\n\t\t\t\treturn Promise.reject(\"unknown_error\");\n\t\t\t}\n\t\t}).catch((error) => {\n\t\t\tconsole.error(error);\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t\treturn this.timeoutPromise(10000, httpResponse);\n\t}\n\n\t/**\n\t * Send a GET request to the firestore.\n\t * @param {String} endpoint \n\t * @param {String} requestType \n\t * @param {JSON} headers \n\t * @return {Promise} response\n\t */\n\tGETRequest(endpoint=\"\", headers={\"Content-Type\": \"application/json\"}) {\n\t\tconst fullURL = this.url + endpoint;\n\t\tconsole.debug(\"[GET Request]\", fullURL, headers);\n\t\tconst httpResponse = fetch(fullURL, {\n\t\t\tmethod: \"GET\",\n\t\t\theaders: headers,\n\t\t\tcache: \"default\", // *default, no-cache, reload, force-cache, only-if-cached\n\t\t\tcredentials: \"same-origin\", // include, *same-origin, omit\n\t\t}).then((response) => {\n\t\t\tswitch (response.status) {\n\t\t\tcase 200:\n\t\t\t\treturn response.json();\n\t\t\tcase 401:\n\t\t\t\treturn Promise.reject(\"unauthorized\");\n\t\t\tcase 500:\n\t\t\t\treturn Promise.reject(\"not_allowed\");\n\t\t\tdefault:\n\t\t\t\treturn Promise.reject(\"unknown_error\");\n\t\t\t}\n\t\t}).catch((error) => {\n\t\t\tconsole.error(error);\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t\treturn this.timeoutPromise(10000, httpResponse);\n\t}\n}\nexport default new APIService();\n ","/**\n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n *\n * SPDX-License-Identifier: MIT\n */\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=25391d76&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{attrs:{\"id\":\"inspire\"}},[_c('v-toolbar',{attrs:{\"id\":\"toolbar\",\"color\":\"teal\",\"dark\":\"\",\"fixed\":\"\",\"app\":\"\",\"clipped-right\":\"\"}},[_c('v-toolbar-side-icon',{on:{\"click\":function($event){$event.stopPropagation();_vm.left = !_vm.left}}},[_c('v-icon',[_vm._v(\"settings\")])],1),_c('v-toolbar-title',{staticStyle:{\"margin-right\":\"3em\"}},[_vm._v(_vm._s(_vm.appName))]),_c('v-flex',{staticClass:\"ma-2\",attrs:{\"xs3\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Select a run (Sorted by inclusive runtime)\",\"items\":_vm.datasets,\"menu-props\":{ maxHeight: '400' },\"box\":\"\"},on:{\"change\":function($event){return _vm.updateTargetDataset()}},scopedSlots:_vm._u([{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.datasets.indexOf(item) + 1)+\". \"+_vm._s(item)+\" - \"+_vm._s(_vm.formatRuntimeWithoutUnits(_vm.metricTimeMap[item]))+\" \")]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.datasets.indexOf(item) + 1)+\". \"+_vm._s(item)+\" - \"+_vm._s(_vm.formatRuntimeWithoutUnits(_vm.metricTimeMap[item]))+\" \")]}}]),model:{value:(_vm.selectedTargetDataset),callback:function ($$v) {_vm.selectedTargetDataset=$$v},expression:\"selectedTargetDataset\"}})],1),_c('v-spacer'),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs2\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Graph to visualize\",\"items\":_vm.formats,\"menu-props\":{ maxHeight: '400' },\"box\":\"\"},on:{\"change\":function($event){return _vm.updateFormat()}},model:{value:(_vm.selectedFormat),callback:function ($$v) {_vm.selectedFormat=$$v},expression:\"selectedFormat\"}})],1)],1),_c('v-navigation-drawer',{attrs:{\"temporary\":\"\",\"fixed\":\"\"},model:{value:(_vm.left),callback:function ($$v) {_vm.left=$$v},expression:\"left\"}},[_c('v-btn',{attrs:{\"slot\":\"activator\",\"color\":\"primary\",\"dark\":\"\"},slot:\"activator\"},[_vm._v(\"Open Dialog\")]),_c('v-card',{attrs:{\"flex\":\"\",\"fill-height\":\"\",\"id\":\"control-panel\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-btn',{attrs:{\"icon\":\"\"}},[_c('v-icon',{on:{\"click\":function($event){return _vm.reset()}}},[_vm._v(\"refresh\")])],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',{staticClass:\"teal lighten-4\"},[_vm._v(\"Visual Encoding\")])],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Metric\",\"items\":_vm.metrics,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateMetric()}},model:{value:(_vm.selectedMetric),callback:function ($$v) {_vm.selectedMetric=$$v},expression:\"selectedMetric\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Number of bins for MPI Distribution\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateMPIBinCount()}},model:{value:(_vm.selectedMPIBinCount),callback:function ($$v) {_vm.selectedMPIBinCount=$$v},expression:\"selectedMPIBinCount\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Scale\",\"items\":_vm.scales,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateScale()}},model:{value:(_vm.selectedScale),callback:function ($$v) {_vm.selectedScale=$$v},expression:\"selectedScale\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',{staticClass:\"teal lighten-4\"},[_vm._v(\"Colors\")])],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Runtime Color Map\",\"items\":_vm.runtimeColorMap,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedRuntimeColorMap),callback:function ($$v) {_vm.selectedRuntimeColorMap=$$v},expression:\"selectedRuntimeColorMap\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Color points (3-9)\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedColorPoint),callback:function ($$v) {_vm.selectedColorPoint=$$v},expression:\"selectedColorPoint\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Color minimum (in seconds)\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedColorMinText),callback:function ($$v) {_vm.selectedColorMinText=$$v},expression:\"selectedColorMinText\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Color maximum (in seconds)\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedColorMaxText),callback:function ($$v) {_vm.selectedColorMaxText=$$v},expression:\"selectedColorMaxText\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',{staticClass:\"teal lighten-4\"},[_vm._v(\"Call site Information\")])],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Sort by\",\"items\":_vm.sortByModes,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateRuntimeSortBy()}},model:{value:(_vm.selectedRuntimeSortBy),callback:function ($$v) {_vm.selectedRuntimeSortBy=$$v},expression:\"selectedRuntimeSortBy\"}})],1)],1)],1)],1),(_vm.selectedMode == 'Single')?_c('v-content',{staticClass:\"pt-auto\"},[_c('v-layout',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}]},[_c('splitpanes',{staticClass:\"default-theme\",attrs:{\"id\":\"callgraph-dashboard\"}},[_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":25}},[_c('SingleHistogram',{ref:\"SingleHistogram\"}),_c('SingleScatterplot',{ref:\"SingleScatterplot\"})],1),_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":55}},[_c('SuperGraph',{ref:\"SingleSuperGraph\"})],1),_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":20}},[_c('CallsiteInformation',{ref:\"CallsiteInformation\"})],1)],1)],1),_c('v-layout',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'CCT'),expression:\"selectedFormat == 'CCT'\"}]},[_c('splitpanes',{attrs:{\"id\":\"single-cct-dashboard\"}},[_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":100}},[_c('CCT',{ref:\"SingleCCT\"})],1)],1)],1)],1):_vm._e(),_c('v-footer',{attrs:{\"id\":\"footer\",\"color\":\"teal\",\"app\":\"\"}},[_vm._v(\" Lawrence Livermore National Laboratory and VIDi Labs, University of California, Davis \"),_c('v-spacer'),_c('span',[_vm._v(\"© 2020\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*******************************************************************************\n * Copyright (c) 2020, Lawrence Livermore National Security, LLC.\n * Produced at the Lawrence Livermore National Laboratory.\n *\n * Written by Suraj Kesavan .\n *\n * LLNL-CODE-740862. All rights reserved.\n *\n * This file is part of CallFlow. For details, see:\n * https://github.com/LLNL/CallFlow\n * Please also read the LICENSE file for the MIT License notice.\n ******************************************************************************/\nexport const CategoricalColors = {\n\t0: [0.31, 0.48, 0.65],\n\t1: [0.94, 0.56, 0.22],\n\t2: [0.87, 0.35, 0.36],\n\t3: [0.47, 0.72, 0.70],\n\t4: [0.36, 0.63, 0.32],\n\t5: [0.93, 0.78, 0.33],\n\t6: [0.69, 0.48, 0.63],\n\t7: [0.99, 0.62, 0.66],\n\t8: [0.61, 0.46, 0.38],\n\t9: [0.73, 0.69, 0.67],\n\tblue: [0.31, 0.48, 0.65],\n\torange: [0.94, 0.56, 0.22],\n\tred: [0.87, 0.35, 0.36],\n\tteal: [0.47, 0.72, 0.70],\n\tgreen: [0.36, 0.63, 0.32],\n\tyellow: [0.93, 0.78, 0.33],\n\tpurple: [0.69, 0.48, 0.63],\n\tpink: [0.99, 0.62, 0.66],\n\tbrown: [0.61, 0.46, 0.38],\n\tgray: [0.73, 0.69, 0.67]\n};\n\nexport const UniformColorMaps = {\n\tcoolwarm: [\n\t\t[0.33479085, 0.28308437, 0.75649522],\n\t\t[0.33899903, 0.290177126, 0.762712568],\n\t\t[0.343207654, 0.297250671, 0.768868416],\n\t\t[0.347417048, 0.304305324, 0.774961783],\n\t\t[0.351627529, 0.311341308, 0.780991701],\n\t\t[0.355839407, 0.31835875, 0.786957213],\n\t\t[0.36005298, 0.325357701, 0.792857371],\n\t\t[0.364268538, 0.332338134, 0.798691243],\n\t\t[0.368486361, 0.339299959, 0.804457904],\n\t\t[0.372706719, 0.346243025, 0.810156445],\n\t\t[0.376929872, 0.353167127, 0.815785967],\n\t\t[0.381156069, 0.360072011, 0.821345583],\n\t\t[0.385385551, 0.366957379, 0.826834419],\n\t\t[0.389618546, 0.373822891, 0.832251614],\n\t\t[0.393855272, 0.380668171, 0.837596318],\n\t\t[0.398095935, 0.387492809, 0.842867695],\n\t\t[0.402340732, 0.394296365, 0.848064921],\n\t\t[0.406589846, 0.401078368, 0.853187185],\n\t\t[0.410843451, 0.407838324, 0.85823369],\n\t\t[0.415101708, 0.414575715, 0.863203651],\n\t\t[0.419364766, 0.42129, 0.868096298],\n\t\t[0.423632761, 0.42798062, 0.872910872],\n\t\t[0.42790582, 0.434646997, 0.877646629],\n\t\t[0.432184055, 0.441288536, 0.882302838],\n\t\t[0.436467566, 0.447904626, 0.886878783],\n\t\t[0.440756441, 0.454494645, 0.891373761],\n\t\t[0.445050754, 0.461057956, 0.895787081],\n\t\t[0.449350569, 0.46759391, 0.900118069],\n\t\t[0.453655933, 0.474101849, 0.904366064],\n\t\t[0.457966884, 0.480581104, 0.908530419],\n\t\t[0.462283444, 0.487030998, 0.912610501],\n\t\t[0.466605623, 0.493450846, 0.916605692],\n\t\t[0.470933417, 0.499839955, 0.920515388],\n\t\t[0.475266811, 0.506197626, 0.924339],\n\t\t[0.479605773, 0.512523155, 0.928075953],\n\t\t[0.483950261, 0.51881583, 0.931725687],\n\t\t[0.488300218, 0.525074937, 0.935287658],\n\t\t[0.492655572, 0.531299757, 0.938761334],\n\t\t[0.497016241, 0.537489567, 0.9421462],\n\t\t[0.501382127, 0.543643642, 0.945441756],\n\t\t[0.505753118, 0.549761254, 0.948647516],\n\t\t[0.510129092, 0.555841671, 0.951763009],\n\t\t[0.514509909, 0.561884161, 0.954787781],\n\t\t[0.51889542, 0.56788799, 0.957721391],\n\t\t[0.52328546, 0.573852423, 0.960563413],\n\t\t[0.527679851, 0.579776725, 0.96331344],\n\t\t[0.532078401, 0.58566016, 0.965971076],\n\t\t[0.536480908, 0.591501991, 0.968535941],\n\t\t[0.540887154, 0.597301482, 0.971007674],\n\t\t[0.545296909, 0.603057899, 0.973385925],\n\t\t[0.54970993, 0.608770507, 0.975670362],\n\t\t[0.554125961, 0.614438572, 0.977860667],\n\t\t[0.558544733, 0.620061363, 0.97995654],\n\t\t[0.562965965, 0.625638149, 0.981957693],\n\t\t[0.567389365, 0.631168202, 0.983863856],\n\t\t[0.571814625, 0.636650795, 0.985674775],\n\t\t[0.576241429, 0.642085204, 0.987390209],\n\t\t[0.580669445, 0.647470707, 0.989009935],\n\t\t[0.585098332, 0.652806586, 0.990533745],\n\t\t[0.589527737, 0.658092124, 0.991961445],\n\t\t[0.593957293, 0.663326609, 0.99329286],\n\t\t[0.598386625, 0.668509332, 0.994527827],\n\t\t[0.602815344, 0.673639585, 0.995666201],\n\t\t[0.607243051, 0.678716668, 0.996707851],\n\t\t[0.611669336, 0.683739881, 0.997652664],\n\t\t[0.61609378, 0.688708529, 0.998500538],\n\t\t[0.620515949, 0.693621923, 0.999251393],\n\t\t[0.624935404, 0.698479377, 0.999905158],\n\t\t[0.629351691, 0.70328021, 1.000461782],\n\t\t[0.633764351, 0.708023743, 1.000921227],\n\t\t[0.63817291, 0.712709307, 1.001283473],\n\t\t[0.64257689, 0.717336232, 1.001548513],\n\t\t[0.646975798, 0.721903859, 1.001716355],\n\t\t[0.651369136, 0.726411529, 1.001787026],\n\t\t[0.655756395, 0.730858592, 1.001760564],\n\t\t[0.660137059, 0.735244402, 1.001637025],\n\t\t[0.664510601, 0.739568319, 1.00141648],\n\t\t[0.668876488, 0.743829708, 1.001099013],\n\t\t[0.673234178, 0.74802794, 1.000684725],\n\t\t[0.67758312, 0.752162394, 1.000173733],\n\t\t[0.681922758, 0.756232453, 0.999566166],\n\t\t[0.686252527, 0.760237507, 0.998862171],\n\t\t[0.690571854, 0.764176951, 0.998061908],\n\t\t[0.69488016, 0.76805019, 0.997165552],\n\t\t[0.699176859, 0.771856631, 0.996173293],\n\t\t[0.703461358, 0.775595691, 0.995085337],\n\t\t[0.707733059, 0.779266794, 0.993901902],\n\t\t[0.711991357, 0.782869367, 0.992623222],\n\t\t[0.71623564, 0.786402849, 0.991249546],\n\t\t[0.720465291, 0.789866684, 0.989781136],\n\t\t[0.724679689, 0.793260321, 0.98821827],\n\t\t[0.728878207, 0.79658322, 0.986561237],\n\t\t[0.73306021, 0.799834846, 0.984810343],\n\t\t[0.737225063, 0.803014673, 0.982965908],\n\t\t[0.741372122, 0.806122181, 0.981028263],\n\t\t[0.745500742, 0.80915686, 0.978997757],\n\t\t[0.749610271, 0.812118205, 0.97687475],\n\t\t[0.753700055, 0.81500572, 0.974659614],\n\t\t[0.757769435, 0.817818918, 0.972352739],\n\t\t[0.76181775, 0.820557319, 0.969954524],\n\t\t[0.765844332, 0.823220451, 0.967465384],\n\t\t[0.769848514, 0.825807851, 0.964885746],\n\t\t[0.773829624, 0.828319063, 0.962216051],\n\t\t[0.777786987, 0.83075364, 0.95945675],\n\t\t[0.781719925, 0.833111145, 0.956608311],\n\t\t[0.78562776, 0.835391146, 0.953671211],\n\t\t[0.789509808, 0.837593223, 0.950645941],\n\t\t[0.793365387, 0.839716962, 0.947533006],\n\t\t[0.79719381, 0.84176196, 0.944332919],\n\t\t[0.80099439, 0.843727822, 0.94104621],\n\t\t[0.804766438, 0.84561416, 0.937673417],\n\t\t[0.808509264, 0.847420597, 0.934215092],\n\t\t[0.812222176, 0.849146765, 0.930671799],\n\t\t[0.815904482, 0.850792304, 0.927044111],\n\t\t[0.81955549, 0.852356864, 0.923332614],\n\t\t[0.823174505, 0.853840103, 0.919537906],\n\t\t[0.826760834, 0.855241688, 0.915660596],\n\t\t[0.830313782, 0.856561298, 0.911701301],\n\t\t[0.833832656, 0.857798619, 0.907660652],\n\t\t[0.837316761, 0.858953345, 0.903539289],\n\t\t[0.840765403, 0.860025183, 0.899337864],\n\t\t[0.844177889, 0.861013847, 0.895057037],\n\t\t[0.847553526, 0.861919061, 0.89069748],\n\t\t[0.850891622, 0.862740559, 0.886259872],\n\t\t[0.854191486, 0.863478084, 0.881744906],\n\t\t[0.857452428, 0.864131388, 0.877153282],\n\t\t[0.860673759, 0.864700235, 0.872485708],\n\t\t[0.863854792, 0.865184396, 0.867742904],\n\t\t[0.867330172, 0.864540194, 0.862606204],\n\t\t[0.871070379, 0.862768866, 0.857104915],\n\t\t[0.874730228, 0.860914529, 0.851568855],\n\t\t[0.878309568, 0.858977443, 0.845998954],\n\t\t[0.881808244, 0.856957876, 0.840396142],\n\t\t[0.885226105, 0.854856108, 0.834761348],\n\t\t[0.888562998, 0.852672423, 0.829095499],\n\t\t[0.89181877, 0.850407119, 0.823399519],\n\t\t[0.894993269, 0.848060498, 0.817674334],\n\t\t[0.898086346, 0.845632873, 0.811920864],\n\t\t[0.901097852, 0.843124565, 0.80614003],\n\t\t[0.90402764, 0.840535903, 0.800332749],\n\t\t[0.906875564, 0.837867225, 0.794499937],\n\t\t[0.909641483, 0.835118874, 0.788642506],\n\t\t[0.912325257, 0.832291206, 0.782761367],\n\t\t[0.914926747, 0.829384579, 0.776857427],\n\t\t[0.917445821, 0.826399364, 0.770931591],\n\t\t[0.919882348, 0.823335935, 0.76498476],\n\t\t[0.9222362, 0.820194675, 0.759017834],\n\t\t[0.924507255, 0.816975975, 0.753031706],\n\t\t[0.926695392, 0.813680232, 0.74702727],\n\t\t[0.928800497, 0.810307851, 0.741005413],\n\t\t[0.930822459, 0.806859241, 0.73496702],\n\t\t[0.932761172, 0.803334821, 0.728912971],\n\t\t[0.934616533, 0.799735013, 0.722844143],\n\t\t[0.936388447, 0.796060247, 0.71676141],\n\t\t[0.938076822, 0.792310959, 0.71066564],\n\t\t[0.939681571, 0.78848759, 0.704557696],\n\t\t[0.941202613, 0.784590588, 0.69843844],\n\t\t[0.942639873, 0.780620404, 0.692308727],\n\t\t[0.943993281, 0.776577495, 0.686169407],\n\t\t[0.945262772, 0.772462324, 0.680021326],\n\t\t[0.94644829, 0.768275358, 0.673865327],\n\t\t[0.947549782, 0.764017068, 0.667702244],\n\t\t[0.948567201, 0.75968793, 0.66153291],\n\t\t[0.949500509, 0.755288422, 0.65535815],\n\t\t[0.950349672, 0.750819028, 0.649178786],\n\t\t[0.951114665, 0.746280235, 0.642995633],\n\t\t[0.951795465, 0.741672531, 0.636809501],\n\t\t[0.952392062, 0.736996408, 0.630621194],\n\t\t[0.952904448, 0.732252362, 0.624431512],\n\t\t[0.953332623, 0.727440889, 0.618241248],\n\t\t[0.953676597, 0.722562488, 0.612051188],\n\t\t[0.953936383, 0.717617658, 0.605862116],\n\t\t[0.954112003, 0.7126069, 0.599674805],\n\t\t[0.954203486, 0.707530716, 0.593490026],\n\t\t[0.95421087, 0.702389608, 0.587308543],\n\t\t[0.954134199, 0.697184077, 0.581131111],\n\t\t[0.953973524, 0.691914624, 0.574958483],\n\t\t[0.953728904, 0.686581749, 0.568791403],\n\t\t[0.953400406, 0.68118595, 0.562630608],\n\t\t[0.952988106, 0.675727722, 0.556476831],\n\t\t[0.952492085, 0.670207559, 0.550330796],\n\t\t[0.951912435, 0.664625951, 0.544193222],\n\t\t[0.951249252, 0.658983382, 0.538064822],\n\t\t[0.950502644, 0.653280336, 0.531946299],\n\t\t[0.949672726, 0.647517287, 0.525838353],\n\t\t[0.948759618, 0.641694704, 0.519741675],\n\t\t[0.947763452, 0.635813053, 0.51365695],\n\t\t[0.946684367, 0.629872786, 0.507584854],\n\t\t[0.94552251, 0.623874352, 0.50152606],\n\t\t[0.944278035, 0.617818187, 0.495481231],\n\t\t[0.942951107, 0.611704718, 0.489451023],\n\t\t[0.941541896, 0.60553436, 0.483436086],\n\t\t[0.940050585, 0.599307515, 0.477437063],\n\t\t[0.938477361, 0.593024572, 0.471454589],\n\t\t[0.936822421, 0.586685904, 0.465489292],\n\t\t[0.935085971, 0.580291867, 0.459541794],\n\t\t[0.933268225, 0.573842799, 0.453612707],\n\t\t[0.931369406, 0.567339019, 0.44770264],\n\t\t[0.929389745, 0.560780821, 0.44181219],\n\t\t[0.927329482, 0.554168481, 0.43594195],\n\t\t[0.925188866, 0.547502243, 0.430092505],\n\t\t[0.922968152, 0.540782329, 0.424264432],\n\t\t[0.920667608, 0.534008926, 0.418458302],\n\t\t[0.918287506, 0.52718219, 0.412674678],\n\t\t[0.915828131, 0.520302242, 0.406914115],\n\t\t[0.913289773, 0.513369162, 0.401177161],\n\t\t[0.910672733, 0.506382987, 0.395464359],\n\t\t[0.90797732, 0.499343711, 0.389776241],\n\t\t[0.905203852, 0.492251274, 0.384113335],\n\t\t[0.902352654, 0.485105562, 0.37847616],\n\t\t[0.899424062, 0.477906402, 0.372865229],\n\t\t[0.89641842, 0.470653555, 0.367281047],\n\t\t[0.893336079, 0.463346707, 0.361724112],\n\t\t[0.890177401, 0.455985471, 0.356194915],\n\t\t[0.886942755, 0.448569368, 0.35069394],\n\t\t[0.88363252, 0.441097828, 0.345221665],\n\t\t[0.880247082, 0.433570174, 0.339778559],\n\t\t[0.876786838, 0.425985617, 0.334365086],\n\t\t[0.87325219, 0.418343238, 0.328981703],\n\t\t[0.869643553, 0.410641979, 0.32362886],\n\t\t[0.865961348, 0.402880625, 0.318306999],\n\t\t[0.862206003, 0.395057791, 0.313016558],\n\t\t[0.858377959, 0.387171894, 0.307757966],\n\t\t[0.854477661, 0.379221139, 0.302531647],\n\t\t[0.850505566, 0.371203487, 0.29733802],\n\t\t[0.846462136, 0.363116629, 0.292177494],\n\t\t[0.842347845, 0.354957949, 0.287050476],\n\t\t[0.838163173, 0.346724482, 0.281957365],\n\t\t[0.83390861, 0.338412871, 0.276898554],\n\t\t[0.829584652, 0.330019309, 0.27187443],\n\t\t[0.825191806, 0.321539471, 0.266885377],\n\t\t[0.820730585, 0.312968442, 0.26193177],\n\t\t[0.816201511, 0.304300615, 0.257013981],\n\t\t[0.811605116, 0.295529586, 0.252132377],\n\t\t[0.806941937, 0.286648013, 0.247287319],\n\t\t[0.802212521, 0.277647446, 0.242479163],\n\t\t[0.797417423, 0.268518124, 0.237708261],\n\t\t[0.792557206, 0.259248713, 0.232974961],\n\t\t[0.787632439, 0.249825977, 0.228279608],\n\t\t[0.782643702, 0.24023436, 0.223622539],\n\t\t[0.77759158, 0.230455444, 0.219004091],\n\t\t[0.772476668, 0.220467236, 0.214424597],\n\t\t[0.767299568, 0.210243209, 0.209884384],\n\t\t[0.762060889, 0.199751005, 0.20538378],\n\t\t[0.756761248, 0.188950611, 0.200923108],\n\t\t[0.75140127, 0.177791763, 0.196502688],\n\t\t[0.745981587, 0.166210104, 0.192122839],\n\t\t[0.740502838, 0.154121318, 0.187783878],\n\t\t[0.734965671, 0.14141175, 0.183486121],\n\t\t[0.729370739, 0.127922592, 0.179229881],\n\t\t[0.723718704, 0.113421308, 0.175015472],\n\t\t[0.718010235, 0.097545076, 0.170843206],\n\t\t[0.712246006, 0.079673653, 0.166713395],\n\t\t[0.7064267, 0.058582625, 0.162626353],\n\t\t[0.700553008, 0.031592475, 0.158582393],\n\t\t[0.694625625, 0.00296461, 0.154581828]\n\t],\n\t// Used by matplotlib.\n\tviridis: [\n\t\t[0.282364553, 0, 0.331010194],\n\t\t[0.284420163, 0, 0.337034427],\n\t\t[0.286408722, 0, 0.34299986],\n\t\t[0.288328018, 0, 0.348901425],\n\t\t[0.290179378, 0.002654874, 0.35473812],\n\t\t[0.291960279, 0.007927574, 0.360508963],\n\t\t[0.29367257, 0.013523701, 0.366210869],\n\t\t[0.295314593, 0.019446928, 0.371841938],\n\t\t[0.296885699, 0.025709273, 0.377402605],\n\t\t[0.298386438, 0.032320043, 0.382889257],\n\t\t[0.299815971, 0.039284989, 0.388299074],\n\t\t[0.301173065, 0.046263605, 0.393633812],\n\t\t[0.302457462, 0.052924483, 0.398887738],\n\t\t[0.303669591, 0.059347679, 0.404062513],\n\t\t[0.304807765, 0.065576775, 0.409154501],\n\t\t[0.305872694, 0.071646986, 0.414162002],\n\t\t[0.306863542, 0.077587483, 0.419085269],\n\t\t[0.307780278, 0.083417867, 0.423919761],\n\t\t[0.308622494, 0.08915478, 0.428667953],\n\t\t[0.309390937, 0.094810863, 0.433324403],\n\t\t[0.310084053, 0.100399347, 0.437890473],\n\t\t[0.310702155, 0.105925447, 0.442362838],\n\t\t[0.311245178, 0.111398995, 0.446741648],\n\t\t[0.31171373, 0.116826841, 0.451025994],\n\t\t[0.312107495, 0.122211059, 0.455213669],\n\t\t[0.312426421, 0.12756, 0.45930581],\n\t\t[0.312671026, 0.132871715, 0.463299323],\n\t\t[0.312842848, 0.13815391, 0.467195234],\n\t\t[0.312939857, 0.143406419, 0.470990554],\n\t\t[0.312964756, 0.148633022, 0.474688209],\n\t\t[0.312917276, 0.153833244, 0.478285325],\n\t\t[0.31279806, 0.159008292, 0.481781833],\n\t\t[0.312607967, 0.164161309, 0.485179603],\n\t\t[0.312347642, 0.169291531, 0.488475883],\n\t\t[0.312018787, 0.174399964, 0.491673367],\n\t\t[0.311623294, 0.179485609, 0.494771427],\n\t\t[0.311159847, 0.184551638, 0.497770623],\n\t\t[0.310631264, 0.189595869, 0.500670447],\n\t\t[0.310038598, 0.194617768, 0.503473667],\n\t\t[0.309383825, 0.199620123, 0.50617997],\n\t\t[0.308668394, 0.204599571, 0.508789973],\n\t\t[0.307893026, 0.209558887, 0.511307017],\n\t\t[0.30705867, 0.214494832, 0.513728818],\n\t\t[0.306169637, 0.219410015, 0.516060621],\n\t\t[0.305226907, 0.224301183, 0.518300247],\n\t\t[0.304230908, 0.229169665, 0.520452297],\n\t\t[0.303184327, 0.23401591, 0.522516303],\n\t\t[0.30208911, 0.238838555, 0.52449521],\n\t\t[0.300947275, 0.243638109, 0.526391045],\n\t\t[0.299761321, 0.248411187, 0.528204854],\n\t\t[0.298533409, 0.253162399, 0.529940558],\n\t\t[0.297264904, 0.257887398, 0.531597292],\n\t\t[0.295957559, 0.262587449, 0.533178503],\n\t\t[0.294613881, 0.267263788, 0.534687595],\n\t\t[0.293235389, 0.271914152, 0.536124789],\n\t\t[0.29182587, 0.276539894, 0.537493845],\n\t\t[0.29038714, 0.281137685, 0.538796077],\n\t\t[0.288919537, 0.285713038, 0.540035142],\n\t\t[0.287426163, 0.290260619, 0.541210432],\n\t\t[0.285909075, 0.294782589, 0.542327277],\n\t\t[0.284368457, 0.299280222, 0.54338595],\n\t\t[0.282808854, 0.30375224, 0.544389916],\n\t\t[0.281231181, 0.308198925, 0.545340709],\n\t\t[0.279638204, 0.312619061, 0.546240852],\n\t\t[0.278029366, 0.317014946, 0.54709281],\n\t\t[0.276408749, 0.321385415, 0.547898161],\n\t\t[0.2747762, 0.325731625, 0.548659129],\n\t\t[0.273133607, 0.330054743, 0.549376904],\n\t\t[0.271483073, 0.334352558, 0.550054129],\n\t\t[0.269825453, 0.338628329, 0.55069316],\n\t\t[0.268162615, 0.3428799, 0.551295679],\n\t\t[0.266495079, 0.347108488, 0.551861999],\n\t\t[0.264824946, 0.351315001, 0.552395838],\n\t\t[0.263152656, 0.355499532, 0.552898352],\n\t\t[0.261479291, 0.359663188, 0.553370667],\n\t\t[0.2598069, 0.363804861, 0.553815549],\n\t\t[0.258135127, 0.367926736, 0.554233229],\n\t\t[0.256465488, 0.372027779, 0.554624491],\n\t\t[0.254796664, 0.376110092, 0.554991545],\n\t\t[0.253131545, 0.380173687, 0.5553352],\n\t\t[0.251468935, 0.38421961, 0.555657646],\n\t\t[0.249809319, 0.388246886, 0.555958715],\n\t\t[0.248154519, 0.392256574, 0.556239496],\n\t\t[0.246502819, 0.396250722, 0.556502059],\n\t\t[0.244855438, 0.400228368, 0.556746262],\n\t\t[0.243211275, 0.404191591, 0.556972229],\n\t\t[0.241572085, 0.40813939, 0.557181851],\n\t\t[0.239935321, 0.412073822, 0.557375231],\n\t\t[0.238302445, 0.415993928, 0.557553271],\n\t\t[0.236672664, 0.419901774, 0.557716013],\n\t\t[0.235044688, 0.423797366, 0.557863499],\n\t\t[0.233418402, 0.42768078, 0.557996644],\n\t\t[0.23179415, 0.43155403, 0.558115514],\n\t\t[0.23017062, 0.435415152, 0.558221055],\n\t\t[0.228545837, 0.439268241, 0.558311286],\n\t\t[0.226921796, 0.443110292, 0.558388185],\n\t\t[0.225295059, 0.446944385, 0.558450748],\n\t\t[0.223665357, 0.450770477, 0.5585],\n\t\t[0.222033173, 0.454587707, 0.558533891],\n\t\t[0.220395682, 0.458399026, 0.558554442],\n\t\t[0.218753476, 0.462202555, 0.558559625],\n\t\t[0.217103794, 0.466001277, 0.55854943],\n\t\t[0.2154464, 0.469793276, 0.55852386],\n\t\t[0.213781237, 0.473579536, 0.558482909],\n\t\t[0.212104356, 0.477363125, 0.558424526],\n\t\t[0.210416546, 0.481140084, 0.558348751],\n\t\t[0.208715672, 0.48491544, 0.558254507],\n\t\t[0.207002655, 0.488686237, 0.558142856],\n\t\t[0.205274058, 0.492454453, 0.558011716],\n\t\t[0.203529732, 0.496219216, 0.557860134],\n\t\t[0.201769075, 0.499981516, 0.557687063],\n\t\t[0.199990512, 0.503743321, 0.557493446],\n\t\t[0.198194207, 0.507501758, 0.557276358],\n\t\t[0.196378932, 0.511260752, 0.557037681],\n\t\t[0.19454391, 0.515016431, 0.556773514],\n\t\t[0.192687798, 0.518772751, 0.556483695],\n\t\t[0.190809699, 0.522527822, 0.556167356],\n\t\t[0.188910106, 0.52628262, 0.555823406],\n\t\t[0.186988225, 0.530037105, 0.555450744],\n\t\t[0.185044047, 0.533791419, 0.555048516],\n\t\t[0.183076504, 0.537546494, 0.554614502],\n\t\t[0.181087511, 0.541301431, 0.554148901],\n\t\t[0.17907907, 0.54505611, 0.553651486],\n\t\t[0.177048511, 0.548811719, 0.553119441],\n\t\t[0.174998106, 0.552566177, 0.55255165],\n\t\t[0.172927152, 0.556323508, 0.551946906],\n\t\t[0.170840345, 0.560079758, 0.551305519],\n\t\t[0.168735186, 0.563836905, 0.550623112],\n\t\t[0.166617897, 0.56759401, 0.549902026],\n\t\t[0.164486938, 0.571352034, 0.549137847],\n\t\t[0.162350105, 0.575110037, 0.54833296],\n\t\t[0.160206983, 0.57886796, 0.547482915],\n\t\t[0.158062641, 0.582625896, 0.54658912],\n\t\t[0.15592085, 0.58638281, 0.545648332],\n\t\t[0.153785246, 0.590140667, 0.544660266],\n\t\t[0.151663046, 0.593897574, 0.543623383],\n\t\t[0.149559345, 0.597654419, 0.542537144],\n\t\t[0.147481636, 0.601409324, 0.541399051],\n\t\t[0.145437381, 0.605164162, 0.540210518],\n\t\t[0.14343467, 0.60891604, 0.538969112],\n\t\t[0.141480867, 0.61266593, 0.537672481],\n\t\t[0.139587165, 0.616415793, 0.536320242],\n\t\t[0.137763667, 0.620161689, 0.534912064],\n\t\t[0.136020919, 0.623906545, 0.533446178],\n\t\t[0.13437266, 0.627646426, 0.531922315],\n\t\t[0.132832383, 0.631384239, 0.530339651],\n\t\t[0.131410838, 0.635118107, 0.528695928],\n\t\t[0.130125622, 0.638846942, 0.526990734],\n\t\t[0.128989086, 0.642572693, 0.52522357],\n\t\t[0.128017628, 0.646291446, 0.523393293],\n\t\t[0.127225586, 0.650007125, 0.521497893],\n\t\t[0.126630843, 0.653714779, 0.519538336],\n\t\t[0.126246801, 0.657418325, 0.517512535],\n\t\t[0.126089944, 0.661112834, 0.515420512],\n\t\t[0.126172637, 0.664801273, 0.513260659],\n\t\t[0.126511086, 0.668481527, 0.511032406],\n\t\t[0.127114669, 0.672153753, 0.508734767],\n\t\t[0.127995817, 0.675817772, 0.506367566],\n\t\t[0.129165005, 0.679470699, 0.503930954],\n\t\t[0.130626887, 0.683115418, 0.501421577],\n\t\t[0.132387924, 0.686749032, 0.49884169],\n\t\t[0.134452914, 0.690371463, 0.49618857],\n\t\t[0.136822787, 0.693983608, 0.493462472],\n\t\t[0.13949652, 0.697582617, 0.490662686],\n\t\t[0.142474978, 0.7011703, 0.487788732],\n\t\t[0.145750228, 0.70474282, 0.484838975],\n\t\t[0.149321849, 0.708302973, 0.481813842],\n\t\t[0.153179377, 0.711847929, 0.478713792],\n\t\t[0.157318564, 0.715378589, 0.475536944],\n\t\t[0.161730716, 0.718893812, 0.472282406],\n\t\t[0.166406002, 0.722391787, 0.468951725],\n\t\t[0.171338542, 0.725874284, 0.465543101],\n\t\t[0.17651572, 0.729337518, 0.462055133],\n\t\t[0.181930053, 0.732785241, 0.458487921],\n\t\t[0.187571031, 0.736211639, 0.454843239],\n\t\t[0.193429649, 0.739619614, 0.451117964],\n\t\t[0.199499186, 0.743008988, 0.447313047],\n\t\t[0.205767887, 0.746376001, 0.443429285],\n\t\t[0.212229375, 0.749723376, 0.439463504],\n\t\t[0.218873428, 0.753047369, 0.435417594],\n\t\t[0.22569701, 0.756349669, 0.431288292],\n\t\t[0.232688469, 0.759628568, 0.427078537],\n\t\t[0.239843791, 0.7628837, 0.422786019],\n\t\t[0.247153668, 0.766113396, 0.418412723],\n\t\t[0.254613428, 0.769318467, 0.413957329],\n\t\t[0.262218889, 0.772498701, 0.409418458],\n\t\t[0.269962666, 0.77565145, 0.404798189],\n\t\t[0.277841418, 0.778778314, 0.400092862],\n\t\t[0.285848026, 0.781875674, 0.395303604],\n\t\t[0.29398231, 0.784946086, 0.39042969],\n\t\t[0.302235095, 0.787985957, 0.385473325],\n\t\t[0.310604419, 0.790996053, 0.380432913],\n\t\t[0.319087196, 0.793977129, 0.375305722],\n\t\t[0.327678425, 0.796925609, 0.370097109],\n\t\t[0.336377071, 0.799844013, 0.36480084],\n\t\t[0.34517577, 0.80272881, 0.359421265],\n\t\t[0.354076535, 0.805582464, 0.353955096],\n\t\t[0.363072889, 0.808400495, 0.348402578],\n\t\t[0.37216392, 0.811184613, 0.342763768],\n\t\t[0.381347905, 0.813934495, 0.337037614],\n\t\t[0.390618224, 0.816648721, 0.331226329],\n\t\t[0.399976821, 0.81932765, 0.325327258],\n\t\t[0.409415973, 0.821969907, 0.319342572],\n\t\t[0.418938096, 0.824574796, 0.313270474],\n\t\t[0.428536113, 0.82714301, 0.307110897],\n\t\t[0.438211485, 0.829672159, 0.300864482],\n\t\t[0.447961789, 0.832162866, 0.294529459],\n\t\t[0.457781391, 0.83461486, 0.288106667],\n\t\t[0.467672971, 0.837028362, 0.281594598],\n\t\t[0.477628958, 0.839401127, 0.274993962],\n\t\t[0.487651997, 0.841734348, 0.268301762],\n\t\t[0.497733674, 0.844025807, 0.261523769],\n\t\t[0.507875022, 0.846277099, 0.254656114],\n\t\t[0.518075249, 0.848488769, 0.247698899],\n\t\t[0.528325832, 0.850658669, 0.240654148],\n\t\t[0.538630828, 0.852786888, 0.233517501],\n\t\t[0.548980458, 0.854874335, 0.226295687],\n\t\t[0.559378838, 0.856921058, 0.218982461],\n\t\t[0.569817428, 0.858926, 0.211583929],\n\t\t[0.580294553, 0.860889673, 0.204097969],\n\t\t[0.590811638, 0.862813564, 0.196522789],\n\t\t[0.601358084, 0.864696671, 0.188865211],\n\t\t[0.611937091, 0.866539951, 0.181121292],\n\t\t[0.622540157, 0.868342445, 0.173298674],\n\t\t[0.633168288, 0.870107082, 0.165394846],\n\t\t[0.643812988, 0.87183295, 0.15741903],\n\t\t[0.654472815, 0.873520492, 0.149372194],\n\t\t[0.665146187, 0.875172136, 0.141258413],\n\t\t[0.675825719, 0.87678702, 0.133091913],\n\t\t[0.686511527, 0.878367982, 0.12487704],\n\t\t[0.697194143, 0.879914204, 0.116633111],\n\t\t[0.707874818, 0.881428483, 0.108373929],\n\t\t[0.718543932, 0.882912056, 0.100128072],\n\t\t[0.729204, 0.884365666, 0.091925366],\n\t\t[0.739843331, 0.885790592, 0.083809287],\n\t\t[0.750462567, 0.887190215, 0.075839053],\n\t\t[0.761059494, 0.888563872, 0.068090072],\n\t\t[0.771623442, 0.889914889, 0.060669955],\n\t\t[0.782157864, 0.891244958, 0.053711966],\n\t\t[0.792653349, 0.892555409, 0.047401118],\n\t\t[0.803110167, 0.893848926, 0.04195436],\n\t\t[0.81352, 0.895126859, 0.03764563],\n\t\t[0.823881496, 0.896391553, 0.034852646],\n\t\t[0.834195319, 0.897645338, 0.033642701],\n\t\t[0.844452225, 0.898889585, 0.034045498],\n\t\t[0.854655562, 0.900125934, 0.036085859],\n\t\t[0.864796013, 0.901357784, 0.039789107],\n\t\t[0.874876944, 0.902585761, 0.044954025],\n\t\t[0.884885947, 0.903815287, 0.051230115],\n\t\t[0.894826973, 0.905044656, 0.058381191],\n\t\t[0.90470253, 0.906278205, 0.066205641],\n\t\t[0.91450577, 0.907515306, 0.074534887],\n\t\t[0.924239732, 0.908759607, 0.083251002],\n\t\t[0.933898589, 0.910011479, 0.092251508],\n\t\t[0.943486439, 0.911272564, 0.101473717],\n\t\t[0.952999453, 0.912545233, 0.110858769]\n\t],\n\tinferno: [\n\t\t[0.002810891, 0.000239715, 0.013984976],\n\t\t[0.004019847, 0.000978214, 0.018722507],\n\t\t[0.005535928, 0.00187858, 0.024433316],\n\t\t[0.007352275, 0.002928594, 0.031151042],\n\t\t[0.009463158, 0.004122023, 0.038856908],\n\t\t[0.011875164, 0.00544392, 0.047160074],\n\t\t[0.014598821, 0.006882989, 0.05549261],\n\t\t[0.017636359, 0.008432151, 0.063833581],\n\t\t[0.021017968, 0.010065827, 0.072260641],\n\t\t[0.024743935, 0.011784159, 0.080708378],\n\t\t[0.028837804, 0.013566889, 0.089219815],\n\t\t[0.033326247, 0.015396259, 0.097809251],\n\t\t[0.038216424, 0.017268324, 0.106440143],\n\t\t[0.043430971, 0.019154971, 0.115162139],\n\t\t[0.048693764, 0.021040888, 0.123967748],\n\t\t[0.054003412, 0.022919329, 0.132833018],\n\t\t[0.05937446, 0.024767653, 0.141775321],\n\t\t[0.064826084, 0.026549139, 0.150830309],\n\t\t[0.070349827, 0.028263587, 0.159955322],\n\t\t[0.075950411, 0.029888422, 0.169148722],\n\t\t[0.081637827, 0.031404016, 0.17841319],\n\t\t[0.087425459, 0.032773279, 0.187768133],\n\t\t[0.093315577, 0.033979154, 0.197195807],\n\t\t[0.099307652, 0.035007297, 0.206679544],\n\t\t[0.105402262, 0.035836467, 0.216206467],\n\t\t[0.11160571, 0.036444525, 0.225770396],\n\t\t[0.117916762, 0.036813662, 0.235353395],\n\t\t[0.124336908, 0.036927557, 0.244940257],\n\t\t[0.130861794, 0.036773825, 0.254505012],\n\t\t[0.137489231, 0.036346007, 0.264028401],\n\t\t[0.144209431, 0.035642023, 0.273476467],\n\t\t[0.151015433, 0.034667062, 0.28281847],\n\t\t[0.157897349, 0.03343447, 0.292023612],\n\t\t[0.164837843, 0.031964803, 0.301050012],\n\t\t[0.171827177, 0.030285889, 0.309867094],\n\t\t[0.178846632, 0.028428459, 0.318436221],\n\t\t[0.185883931, 0.026431189, 0.326727546],\n\t\t[0.192913861, 0.024349971, 0.334701716],\n\t\t[0.199922206, 0.022233669, 0.342332673],\n\t\t[0.206896794, 0.020130048, 0.349604188],\n\t\t[0.213821188, 0.018085948, 0.356495421],\n\t\t[0.220686239, 0.01614765, 0.36300284],\n\t\t[0.227481223, 0.014355535, 0.369119105],\n\t\t[0.234203612, 0.012742013, 0.374850293],\n\t\t[0.240846275, 0.011335284, 0.380200563],\n\t\t[0.247409605, 0.010157358, 0.385183383],\n\t\t[0.25389244, 0.00922676, 0.389814002],\n\t\t[0.260296425, 0.008548931, 0.394106082],\n\t\t[0.26662827, 0.008128897, 0.398079916],\n\t\t[0.272888184, 0.007967771, 0.401752554],\n\t\t[0.279082984, 0.008062521, 0.405141928],\n\t\t[0.285215144, 0.008411444, 0.408265426],\n\t\t[0.291290587, 0.009006962, 0.411140969],\n\t\t[0.297313415, 0.009846182, 0.41378732],\n\t\t[0.303287625, 0.010914426, 0.416217169],\n\t\t[0.309220747, 0.012204296, 0.418446847],\n\t\t[0.31511472, 0.013704677, 0.420488274],\n\t\t[0.320976396, 0.015407335, 0.422354544],\n\t\t[0.32680655, 0.017302461, 0.42405678],\n\t\t[0.33261022, 0.019380479, 0.425606502],\n\t\t[0.33839282, 0.021633451, 0.427012121],\n\t\t[0.344153787, 0.024052574, 0.428282941],\n\t\t[0.349898892, 0.026629309, 0.429426665],\n\t\t[0.35562785, 0.029355256, 0.43044874],\n\t\t[0.361346591, 0.032224413, 0.431358727],\n\t\t[0.367053482, 0.035230654, 0.432159193],\n\t\t[0.372752567, 0.038365761, 0.4328564],\n\t\t[0.3784468, 0.041595697, 0.433455535],\n\t\t[0.384135533, 0.044788621, 0.433960296],\n\t\t[0.389822923, 0.047944779, 0.434373977],\n\t\t[0.395506485, 0.051063276, 0.434700381],\n\t\t[0.401189511, 0.054146112, 0.434943693],\n\t\t[0.4068728, 0.057192222, 0.435104814],\n\t\t[0.412556166, 0.060199931, 0.435185819],\n\t\t[0.418243957, 0.063171283, 0.435188731],\n\t\t[0.423933314, 0.06610722, 0.435114544],\n\t\t[0.429627404, 0.069008639, 0.434966249],\n\t\t[0.435324174, 0.071876171, 0.434743925],\n\t\t[0.441027491, 0.074713043, 0.43444847],\n\t\t[0.446733669, 0.077518064, 0.434082054],\n\t\t[0.452446383, 0.080294305, 0.433643485],\n\t\t[0.458162952, 0.083041445, 0.433136016],\n\t\t[0.463885774, 0.085763765, 0.432560539],\n\t\t[0.469615152, 0.088460854, 0.431914896],\n\t\t[0.475348183, 0.09113465, 0.431200416],\n\t\t[0.481089526, 0.093787482, 0.430415748],\n\t\t[0.486835457, 0.096418645, 0.429563306],\n\t\t[0.49258791, 0.099031404, 0.428642651],\n\t\t[0.498344739, 0.101627493, 0.427653271],\n\t\t[0.504107463, 0.104208064, 0.426595937],\n\t\t[0.50987656, 0.106775461, 0.425470369],\n\t\t[0.515649029, 0.109331131, 0.424277141],\n\t\t[0.521426769, 0.111875723, 0.423014653],\n\t\t[0.527208676, 0.114410574, 0.421683562],\n\t\t[0.532994806, 0.116939588, 0.42028318],\n\t\t[0.538784144, 0.119462794, 0.418815247],\n\t\t[0.544575216, 0.121981175, 0.417278404],\n\t\t[0.550371412, 0.124498872, 0.415673254],\n\t\t[0.556167707, 0.127014924, 0.41399861],\n\t\t[0.561966129, 0.129532943, 0.412254628],\n\t\t[0.567764629, 0.132053983, 0.410442205],\n\t\t[0.573565191, 0.134579443, 0.408560423],\n\t\t[0.579363842, 0.137111442, 0.40661025],\n\t\t[0.585160178, 0.139651746, 0.404592207],\n\t\t[0.590957491, 0.142202192, 0.40250478],\n\t\t[0.596749843, 0.144763781, 0.400348019],\n\t\t[0.602540203, 0.147339963, 0.398121837],\n\t\t[0.608324672, 0.149931559, 0.395828373],\n\t\t[0.614106177, 0.152539886, 0.393466468],\n\t\t[0.619878803, 0.155167953, 0.39103732],\n\t\t[0.62564502, 0.157816339, 0.388541343],\n\t\t[0.631405276, 0.16048786, 0.385977888],\n\t\t[0.637153672, 0.163184363, 0.383348244],\n\t\t[0.642895026, 0.165908225, 0.380651089],\n\t\t[0.648622504, 0.168659106, 0.377887791],\n\t\t[0.654340024, 0.171441466, 0.375058945],\n\t\t[0.660042722, 0.174255929, 0.372166993],\n\t\t[0.665730985, 0.17710425, 0.369210216],\n\t\t[0.671404338, 0.179990219, 0.366189835],\n\t\t[0.677058916, 0.182912273, 0.363108386],\n\t\t[0.682697502, 0.185876068, 0.359964293],\n\t\t[0.688315275, 0.188880002, 0.356760156],\n\t\t[0.693913094, 0.19192974, 0.353495316],\n\t\t[0.699488019, 0.195022636, 0.350170452],\n\t\t[0.705038579, 0.198163531, 0.346787702],\n\t\t[0.710566106, 0.20135422, 0.343346184],\n\t\t[0.716066836, 0.204595038, 0.339850629],\n\t\t[0.721539555, 0.207888681, 0.336298229],\n\t\t[0.726982448, 0.21123646, 0.332693775],\n\t\t[0.73239625, 0.214641094, 0.329035403],\n\t\t[0.737776233, 0.2181018, 0.325326951],\n\t\t[0.743124048, 0.221622403, 0.32156649],\n\t\t[0.748435031, 0.225202042, 0.317758905],\n\t\t[0.75370943, 0.228844711, 0.313903188],\n\t\t[0.75894657, 0.232551318, 0.309999301],\n\t\t[0.764142757, 0.236320958, 0.306051185],\n\t\t[0.769298574, 0.240158638, 0.302057753],\n\t\t[0.774410361, 0.24406134, 0.298021999],\n\t\t[0.77947869, 0.248033102, 0.293943781],\n\t\t[0.784498961, 0.252072896, 0.289827098],\n\t\t[0.789472323, 0.256183813, 0.28567083],\n\t\t[0.794397096, 0.260364835, 0.281476823],\n\t\t[0.799269603, 0.264617985, 0.277247087],\n\t\t[0.804091318, 0.26894337, 0.27298138],\n\t\t[0.808857686, 0.273339856, 0.26868175],\n\t\t[0.813569116, 0.277811732, 0.264349842],\n\t\t[0.818223052, 0.282355751, 0.259985752],\n\t\t[0.822818703, 0.286973061, 0.255592213],\n\t\t[0.82735609, 0.291664924, 0.251166929],\n\t\t[0.831830811, 0.296431042, 0.246713936],\n\t\t[0.836244108, 0.301270823, 0.242231798],\n\t\t[0.840591599, 0.306183914, 0.237722542],\n\t\t[0.844875422, 0.311171845, 0.23318565],\n\t\t[0.849092282, 0.316232129, 0.228623159],\n\t\t[0.853241223, 0.321365084, 0.224035636],\n\t\t[0.857322167, 0.326571094, 0.21942059],\n\t\t[0.861331902, 0.331848603, 0.21478101],\n\t\t[0.865271396, 0.337198333, 0.210114175],\n\t\t[0.869138558, 0.342616591, 0.205424062],\n\t\t[0.872933212, 0.34810625, 0.200705817],\n\t\t[0.876653352, 0.353663534, 0.195963343],\n\t\t[0.88029782, 0.359288934, 0.191192908],\n\t\t[0.883868435, 0.364982926, 0.18639468],\n\t\t[0.887360283, 0.37074069, 0.181568458],\n\t\t[0.890776984, 0.376566224, 0.176712017],\n\t\t[0.894114775, 0.382452576, 0.171827069],\n\t\t[0.897374185, 0.388403856, 0.166908161],\n\t\t[0.900554463, 0.39441505, 0.161956811],\n\t\t[0.903654355, 0.400486745, 0.156970616],\n\t\t[0.90667454, 0.406618534, 0.151946006],\n\t\t[0.909613336, 0.41280737, 0.146884076],\n\t\t[0.91247216, 0.419054438, 0.141779605],\n\t\t[0.915247473, 0.425354607, 0.136631311],\n\t\t[0.917941576, 0.431711138, 0.13143639],\n\t\t[0.920553003, 0.438118822, 0.126193019],\n\t\t[0.92308235, 0.444578324, 0.12089804],\n\t\t[0.925528158, 0.451090351, 0.115545644],\n\t\t[0.927890089, 0.457649617, 0.11013577],\n\t\t[0.930168274, 0.464258499, 0.104662026],\n\t\t[0.932363432, 0.470912662, 0.099122862],\n\t\t[0.934473651, 0.477613532, 0.093511016],\n\t\t[0.936498751, 0.484357723, 0.087826678],\n\t\t[0.93844068, 0.491146702, 0.082060883],\n\t\t[0.940296388, 0.497977037, 0.076213354],\n\t\t[0.942067334, 0.504847466, 0.070277474],\n\t\t[0.943752836, 0.511760795, 0.06424713],\n\t\t[0.945353009, 0.518710501, 0.058120676],\n\t\t[0.946867593, 0.525700159, 0.051891455],\n\t\t[0.948295769, 0.532725216, 0.04556084],\n\t\t[0.949638198, 0.53978828, 0.039112476],\n\t\t[0.950894169, 0.546884747, 0.032903658],\n\t\t[0.952063015, 0.55401443, 0.027232246],\n\t\t[0.953145915, 0.561180175, 0.0221163],\n\t\t[0.954141311, 0.568376334, 0.017577226],\n\t\t[0.955049698, 0.575605576, 0.01363671],\n\t\t[0.955869597, 0.582863221, 0.010318691],\n\t\t[0.956603366, 0.590152978, 0.007647565],\n\t\t[0.957247693, 0.597469118, 0.005653645],\n\t\t[0.957804685, 0.604814517, 0.004365192],\n\t\t[0.958272553, 0.612188026, 0.003815359],\n\t\t[0.958651994, 0.619586903, 0.004038404],\n\t\t[0.958943236, 0.627013907, 0.005072597],\n\t\t[0.959145208, 0.63446323, 0.00695773],\n\t\t[0.95925702, 0.641938676, 0.009736864],\n\t\t[0.959279647, 0.649436413, 0.013456641],\n\t\t[0.959213225, 0.656956325, 0.018166728],\n\t\t[0.959055721, 0.664501335, 0.023921376],\n\t\t[0.958809389, 0.672064551, 0.030777952],\n\t\t[0.958472175, 0.679649817, 0.038798466],\n\t\t[0.958045344, 0.687253245, 0.047545867],\n\t\t[0.957527869, 0.694876673, 0.05639001],\n\t\t[0.956920137, 0.702516187, 0.065327227],\n\t\t[0.956222221, 0.710172696, 0.074362977],\n\t\t[0.955435128, 0.717847108, 0.083500802],\n\t\t[0.954558502, 0.725534474, 0.092742519],\n\t\t[0.953590125, 0.733238676, 0.102098349],\n\t\t[0.952533796, 0.740954728, 0.111570461],\n\t\t[0.95138945, 0.748682482, 0.121171091],\n\t\t[0.950157939, 0.756419958, 0.130904998],\n\t\t[0.948841532, 0.764165035, 0.140781309],\n\t\t[0.947441335, 0.771919616, 0.150814361],\n\t\t[0.945959663, 0.779676661, 0.161005763],\n\t\t[0.944398407, 0.787439028, 0.171373044],\n\t\t[0.942762103, 0.795200653, 0.181921587],\n\t\t[0.941049699, 0.802964391, 0.192669999],\n\t\t[0.939264076, 0.810723142, 0.203627758],\n\t\t[0.937415841, 0.818475746, 0.214804757],\n\t\t[0.935510862, 0.826217989, 0.226217167],\n\t\t[0.933559455, 0.833942752, 0.237872127],\n\t\t[0.93156307, 0.8416528, 0.249795364],\n\t\t[0.929529596, 0.849338965, 0.262001658],\n\t\t[0.927483114, 0.856994896, 0.274501251],\n\t\t[0.925440807, 0.864610442, 0.287299789],\n\t\t[0.923403333, 0.872186154, 0.300442835],\n\t\t[0.921409474, 0.879705858, 0.31392195],\n\t\t[0.919490918, 0.887156115, 0.327744186],\n\t\t[0.917656842, 0.894536376, 0.341960845],\n\t\t[0.915969564, 0.901820516, 0.35653516],\n\t\t[0.914460404, 0.908999767, 0.37149754],\n\t\t[0.913185926, 0.916052067, 0.386828249],\n\t\t[0.912202301, 0.922961588, 0.402519028],\n\t\t[0.911571271, 0.929705491, 0.418535415],\n\t\t[0.911358961, 0.936266305, 0.434834633],\n\t\t[0.911626842, 0.942626533, 0.451364946],\n\t\t[0.912435288, 0.948769029, 0.468038546],\n\t\t[0.913828005, 0.954687153, 0.484787691],\n\t\t[0.915840127, 0.960372411, 0.501502204],\n\t\t[0.91848121, 0.965832199, 0.51812067],\n\t\t[0.921749977, 0.971070576, 0.534539304],\n\t\t[0.925624725, 0.976102635, 0.550702793],\n\t\t[0.930072492, 0.980946133, 0.566595441],\n\t\t[0.9350529, 0.985618856, 0.58210261],\n\t\t[0.940520965, 0.990140356, 0.597269626],\n\t\t[0.946429162, 0.994525842, 0.612080146],\n\t\t[0.952736995, 0.998796066, 0.626535043],\n\t\t[0.959399507, 1.002963285, 0.640626478]\n\t],\n\tcividis: [\n\t\t[0.0000, 0.1262, 0.3015],\n\t\t[0.0000, 0.1292, 0.3077],\n\t\t[0.0000, 0.1321, 0.3142],\n\t\t[0.0000, 0.1350, 0.3205],\n\t\t[0.0000, 0.1379, 0.3269],\n\t\t[0.0000, 0.1408, 0.3334],\n\t\t[0.0000, 0.1437, 0.3400],\n\t\t[0.0000, 0.1465, 0.3467],\n\t\t[0.0000, 0.1492, 0.3537],\n\t\t[0.0000, 0.1519, 0.3606],\n\t\t[0.0000, 0.1546, 0.3676],\n\t\t[0.0000, 0.1574, 0.3746],\n\t\t[0.0000, 0.1601, 0.3817],\n\t\t[0.0000, 0.1629, 0.3888],\n\t\t[0.0000, 0.1657, 0.3960],\n\t\t[0.0000, 0.1685, 0.4031],\n\t\t[0.0000, 0.1714, 0.4102],\n\t\t[0.0000, 0.1743, 0.4172],\n\t\t[0.0000, 0.1773, 0.4241],\n\t\t[0.0000, 0.1798, 0.4307],\n\t\t[0.0000, 0.1817, 0.4347],\n\t\t[0.0000, 0.1834, 0.4363],\n\t\t[0.0000, 0.1852, 0.4368],\n\t\t[0.0000, 0.1872, 0.4368],\n\t\t[0.0000, 0.1901, 0.4365],\n\t\t[0.0000, 0.1930, 0.4361],\n\t\t[0.0000, 0.1958, 0.4356],\n\t\t[0.0000, 0.1987, 0.4349],\n\t\t[0.0000, 0.2015, 0.4343],\n\t\t[0.0000, 0.2044, 0.4336],\n\t\t[0.0000, 0.2073, 0.4329],\n\t\t[0.0055, 0.2101, 0.4322],\n\t\t[0.0236, 0.2130, 0.4314],\n\t\t[0.0416, 0.2158, 0.4308],\n\t\t[0.0576, 0.2187, 0.4301],\n\t\t[0.0710, 0.2215, 0.4293],\n\t\t[0.0827, 0.2244, 0.4287],\n\t\t[0.0932, 0.2272, 0.4280],\n\t\t[0.1030, 0.2300, 0.4274],\n\t\t[0.1120, 0.2329, 0.4268],\n\t\t[0.1204, 0.2357, 0.4262],\n\t\t[0.1283, 0.2385, 0.4256],\n\t\t[0.1359, 0.2414, 0.4251],\n\t\t[0.1431, 0.2442, 0.4245],\n\t\t[0.1500, 0.2470, 0.4241],\n\t\t[0.1566, 0.2498, 0.4236],\n\t\t[0.1630, 0.2526, 0.4232],\n\t\t[0.1692, 0.2555, 0.4228],\n\t\t[0.1752, 0.2583, 0.4224],\n\t\t[0.1811, 0.2611, 0.4220],\n\t\t[0.1868, 0.2639, 0.4217],\n\t\t[0.1923, 0.2667, 0.4214],\n\t\t[0.1977, 0.2695, 0.4212],\n\t\t[0.2030, 0.2723, 0.4209],\n\t\t[0.2082, 0.2751, 0.4207],\n\t\t[0.2133, 0.2780, 0.4205],\n\t\t[0.2183, 0.2808, 0.4204],\n\t\t[0.2232, 0.2836, 0.4203],\n\t\t[0.2281, 0.2864, 0.4202],\n\t\t[0.2328, 0.2892, 0.4201],\n\t\t[0.2375, 0.2920, 0.4200],\n\t\t[0.2421, 0.2948, 0.4200],\n\t\t[0.2466, 0.2976, 0.4200],\n\t\t[0.2511, 0.3004, 0.4201],\n\t\t[0.2556, 0.3032, 0.4201],\n\t\t[0.2599, 0.3060, 0.4202],\n\t\t[0.2643, 0.3088, 0.4203],\n\t\t[0.2686, 0.3116, 0.4205],\n\t\t[0.2728, 0.3144, 0.4206],\n\t\t[0.2770, 0.3172, 0.4208],\n\t\t[0.2811, 0.3200, 0.4210],\n\t\t[0.2853, 0.3228, 0.4212],\n\t\t[0.2894, 0.3256, 0.4215],\n\t\t[0.2934, 0.3284, 0.4218],\n\t\t[0.2974, 0.3312, 0.4221],\n\t\t[0.3014, 0.3340, 0.4224],\n\t\t[0.3054, 0.3368, 0.4227],\n\t\t[0.3093, 0.3396, 0.4231],\n\t\t[0.3132, 0.3424, 0.4236],\n\t\t[0.3170, 0.3453, 0.4240],\n\t\t[0.3209, 0.3481, 0.4244],\n\t\t[0.3247, 0.3509, 0.4249],\n\t\t[0.3285, 0.3537, 0.4254],\n\t\t[0.3323, 0.3565, 0.4259],\n\t\t[0.3361, 0.3593, 0.4264],\n\t\t[0.3398, 0.3622, 0.4270],\n\t\t[0.3435, 0.3650, 0.4276],\n\t\t[0.3472, 0.3678, 0.4282],\n\t\t[0.3509, 0.3706, 0.4288],\n\t\t[0.3546, 0.3734, 0.4294],\n\t\t[0.3582, 0.3763, 0.4302],\n\t\t[0.3619, 0.3791, 0.4308],\n\t\t[0.3655, 0.3819, 0.4316],\n\t\t[0.3691, 0.3848, 0.4322],\n\t\t[0.3727, 0.3876, 0.4331],\n\t\t[0.3763, 0.3904, 0.4338],\n\t\t[0.3798, 0.3933, 0.4346],\n\t\t[0.3834, 0.3961, 0.4355],\n\t\t[0.3869, 0.3990, 0.4364],\n\t\t[0.3905, 0.4018, 0.4372],\n\t\t[0.3940, 0.4047, 0.4381],\n\t\t[0.3975, 0.4075, 0.4390],\n\t\t[0.4010, 0.4104, 0.4400],\n\t\t[0.4045, 0.4132, 0.4409],\n\t\t[0.4080, 0.4161, 0.4419],\n\t\t[0.4114, 0.4189, 0.4430],\n\t\t[0.4149, 0.4218, 0.4440],\n\t\t[0.4183, 0.4247, 0.4450],\n\t\t[0.4218, 0.4275, 0.4462],\n\t\t[0.4252, 0.4304, 0.4473],\n\t\t[0.4286, 0.4333, 0.4485],\n\t\t[0.4320, 0.4362, 0.4496],\n\t\t[0.4354, 0.4390, 0.4508],\n\t\t[0.4388, 0.4419, 0.4521],\n\t\t[0.4422, 0.4448, 0.4534],\n\t\t[0.4456, 0.4477, 0.4547],\n\t\t[0.4489, 0.4506, 0.4561],\n\t\t[0.4523, 0.4535, 0.4575],\n\t\t[0.4556, 0.4564, 0.4589],\n\t\t[0.4589, 0.4593, 0.4604],\n\t\t[0.4622, 0.4622, 0.4620],\n\t\t[0.4656, 0.4651, 0.4635],\n\t\t[0.4689, 0.4680, 0.4650],\n\t\t[0.4722, 0.4709, 0.4665],\n\t\t[0.4756, 0.4738, 0.4679],\n\t\t[0.4790, 0.4767, 0.4691],\n\t\t[0.4825, 0.4797, 0.4701],\n\t\t[0.4861, 0.4826, 0.4707],\n\t\t[0.4897, 0.4856, 0.4714],\n\t\t[0.4934, 0.4886, 0.4719],\n\t\t[0.4971, 0.4915, 0.4723],\n\t\t[0.5008, 0.4945, 0.4727],\n\t\t[0.5045, 0.4975, 0.4730],\n\t\t[0.5083, 0.5005, 0.4732],\n\t\t[0.5121, 0.5035, 0.4734],\n\t\t[0.5158, 0.5065, 0.4736],\n\t\t[0.5196, 0.5095, 0.4737],\n\t\t[0.5234, 0.5125, 0.4738],\n\t\t[0.5272, 0.5155, 0.4739],\n\t\t[0.5310, 0.5186, 0.4739],\n\t\t[0.5349, 0.5216, 0.4738],\n\t\t[0.5387, 0.5246, 0.4739],\n\t\t[0.5425, 0.5277, 0.4738],\n\t\t[0.5464, 0.5307, 0.4736],\n\t\t[0.5502, 0.5338, 0.4735],\n\t\t[0.5541, 0.5368, 0.4733],\n\t\t[0.5579, 0.5399, 0.4732],\n\t\t[0.5618, 0.5430, 0.4729],\n\t\t[0.5657, 0.5461, 0.4727],\n\t\t[0.5696, 0.5491, 0.4723],\n\t\t[0.5735, 0.5522, 0.4720],\n\t\t[0.5774, 0.5553, 0.4717],\n\t\t[0.5813, 0.5584, 0.4714],\n\t\t[0.5852, 0.5615, 0.4709],\n\t\t[0.5892, 0.5646, 0.4705],\n\t\t[0.5931, 0.5678, 0.4701],\n\t\t[0.5970, 0.5709, 0.4696],\n\t\t[0.6010, 0.5740, 0.4691],\n\t\t[0.6050, 0.5772, 0.4685],\n\t\t[0.6089, 0.5803, 0.4680],\n\t\t[0.6129, 0.5835, 0.4673],\n\t\t[0.6168, 0.5866, 0.4668],\n\t\t[0.6208, 0.5898, 0.4662],\n\t\t[0.6248, 0.5929, 0.4655],\n\t\t[0.6288, 0.5961, 0.4649],\n\t\t[0.6328, 0.5993, 0.4641],\n\t\t[0.6368, 0.6025, 0.4632],\n\t\t[0.6408, 0.6057, 0.4625],\n\t\t[0.6449, 0.6089, 0.4617],\n\t\t[0.6489, 0.6121, 0.4609],\n\t\t[0.6529, 0.6153, 0.4600],\n\t\t[0.6570, 0.6185, 0.4591],\n\t\t[0.6610, 0.6217, 0.4583],\n\t\t[0.6651, 0.6250, 0.4573],\n\t\t[0.6691, 0.6282, 0.4562],\n\t\t[0.6732, 0.6315, 0.4553],\n\t\t[0.6773, 0.6347, 0.4543],\n\t\t[0.6813, 0.6380, 0.4532],\n\t\t[0.6854, 0.6412, 0.4521],\n\t\t[0.6895, 0.6445, 0.4511],\n\t\t[0.6936, 0.6478, 0.4499],\n\t\t[0.6977, 0.6511, 0.4487],\n\t\t[0.7018, 0.6544, 0.4475],\n\t\t[0.7060, 0.6577, 0.4463],\n\t\t[0.7101, 0.6610, 0.4450],\n\t\t[0.7142, 0.6643, 0.4437],\n\t\t[0.7184, 0.6676, 0.4424],\n\t\t[0.7225, 0.6710, 0.4409],\n\t\t[0.7267, 0.6743, 0.4396],\n\t\t[0.7308, 0.6776, 0.4382],\n\t\t[0.7350, 0.6810, 0.4368],\n\t\t[0.7392, 0.6844, 0.4352],\n\t\t[0.7434, 0.6877, 0.4338],\n\t\t[0.7476, 0.6911, 0.4322],\n\t\t[0.7518, 0.6945, 0.4307],\n\t\t[0.7560, 0.6979, 0.4290],\n\t\t[0.7602, 0.7013, 0.4273],\n\t\t[0.7644, 0.7047, 0.4258],\n\t\t[0.7686, 0.7081, 0.4241],\n\t\t[0.7729, 0.7115, 0.4223],\n\t\t[0.7771, 0.7150, 0.4205],\n\t\t[0.7814, 0.7184, 0.4188],\n\t\t[0.7856, 0.7218, 0.4168],\n\t\t[0.7899, 0.7253, 0.4150],\n\t\t[0.7942, 0.7288, 0.4129],\n\t\t[0.7985, 0.7322, 0.4111],\n\t\t[0.8027, 0.7357, 0.4090],\n\t\t[0.8070, 0.7392, 0.4070],\n\t\t[0.8114, 0.7427, 0.4049],\n\t\t[0.8157, 0.7462, 0.4028],\n\t\t[0.8200, 0.7497, 0.4007],\n\t\t[0.8243, 0.7532, 0.3984],\n\t\t[0.8287, 0.7568, 0.3961],\n\t\t[0.8330, 0.7603, 0.3938],\n\t\t[0.8374, 0.7639, 0.3915],\n\t\t[0.8417, 0.7674, 0.3892],\n\t\t[0.8461, 0.7710, 0.3869],\n\t\t[0.8505, 0.7745, 0.3843],\n\t\t[0.8548, 0.7781, 0.3818],\n\t\t[0.8592, 0.7817, 0.3793],\n\t\t[0.8636, 0.7853, 0.3766],\n\t\t[0.8681, 0.7889, 0.3739],\n\t\t[0.8725, 0.7926, 0.3712],\n\t\t[0.8769, 0.7962, 0.3684],\n\t\t[0.8813, 0.7998, 0.3657],\n\t\t[0.8858, 0.8035, 0.3627],\n\t\t[0.8902, 0.8071, 0.3599],\n\t\t[0.8947, 0.8108, 0.3569],\n\t\t[0.8992, 0.8145, 0.3538],\n\t\t[0.9037, 0.8182, 0.3507],\n\t\t[0.9082, 0.8219, 0.3474],\n\t\t[0.9127, 0.8256, 0.3442],\n\t\t[0.9172, 0.8293, 0.3409],\n\t\t[0.9217, 0.8330, 0.3374],\n\t\t[0.9262, 0.8367, 0.3340],\n\t\t[0.9308, 0.8405, 0.3306],\n\t\t[0.9353, 0.8442, 0.3268],\n\t\t[0.9399, 0.8480, 0.3232],\n\t\t[0.9444, 0.8518, 0.3195],\n\t\t[0.9490, 0.8556, 0.3155],\n\t\t[0.9536, 0.8593, 0.3116],\n\t\t[0.9582, 0.8632, 0.3076],\n\t\t[0.9628, 0.8670, 0.3034],\n\t\t[0.9674, 0.8708, 0.2990],\n\t\t[0.9721, 0.8746, 0.2947],\n\t\t[0.9767, 0.8785, 0.2901],\n\t\t[0.9814, 0.8823, 0.2856],\n\t\t[0.9860, 0.8862, 0.2807],\n\t\t[0.9907, 0.8901, 0.2759],\n\t\t[0.9954, 0.8940, 0.2708],\n\t\t[1.0000, 0.8979, 0.2655],\n\t\t[1.0000, 0.9018, 0.2600],\n\t\t[1.0000, 0.9057, 0.2593],\n\t\t[1.0000, 0.9094, 0.2634],\n\t\t[1.0000, 0.9131, 0.2680],\n\t\t[1.0000, 0.9169, 0.2731]\n\t],\n\tgreen: [\n\t\t[0.9686274509803922, 0.9882352941176471, 0.9607843137254902],\n\t\t[0.9647058823529412, 0.9882352941176471, 0.9568627450980393],\n\t\t[0.9647058823529412, 0.9882352941176471, 0.9568627450980393],\n\t\t[0.9607843137254902, 0.984313725490196, 0.9529411764705882],\n\t\t[0.9607843137254902, 0.984313725490196, 0.9490196078431372],\n\t\t[0.9568627450980393, 0.984313725490196, 0.9490196078431372],\n\t\t[0.9568627450980393, 0.984313725490196, 0.9450980392156862],\n\t\t[0.9529411764705882, 0.9803921568627451, 0.9411764705882353],\n\t\t[0.9490196078431372, 0.9803921568627451, 0.9411764705882353],\n\t\t[0.9490196078431372, 0.9803921568627451, 0.9372549019607843],\n\t\t[0.9450980392156862, 0.9803921568627451, 0.9333333333333333],\n\t\t[0.9450980392156862, 0.9803921568627451, 0.9333333333333333],\n\t\t[0.9411764705882353, 0.9764705882352941, 0.9294117647058824],\n\t\t[0.9411764705882353, 0.9764705882352941, 0.9254901960784314],\n\t\t[0.9372549019607843, 0.9764705882352941, 0.9254901960784314],\n\t\t[0.9333333333333333, 0.9764705882352941, 0.9215686274509803],\n\t\t[0.9333333333333333, 0.9725490196078431, 0.9176470588235294],\n\t\t[0.9294117647058824, 0.9725490196078431, 0.9176470588235294],\n\t\t[0.9254901960784314, 0.9725490196078431, 0.9137254901960784],\n\t\t[0.9254901960784314, 0.9725490196078431, 0.9098039215686274],\n\t\t[0.9215686274509803, 0.9686274509803922, 0.9058823529411765],\n\t\t[0.9215686274509803, 0.9686274509803922, 0.9058823529411765],\n\t\t[0.9176470588235294, 0.9686274509803922, 0.9019607843137255],\n\t\t[0.9137254901960784, 0.9686274509803922, 0.8980392156862745],\n\t\t[0.9137254901960784, 0.9647058823529412, 0.8941176470588236],\n\t\t[0.9098039215686274, 0.9647058823529412, 0.8941176470588236],\n\t\t[0.9058823529411765, 0.9647058823529412, 0.8901960784313725],\n\t\t[0.9058823529411765, 0.9647058823529412, 0.8862745098039215],\n\t\t[0.9019607843137255, 0.9607843137254902, 0.8823529411764706],\n\t\t[0.8980392156862745, 0.9607843137254902, 0.8823529411764706],\n\t\t[0.8941176470588236, 0.9607843137254902, 0.8784313725490196],\n\t\t[0.8941176470588236, 0.9568627450980393, 0.8745098039215686],\n\t\t[0.8901960784313725, 0.9568627450980393, 0.8705882352941177],\n\t\t[0.8862745098039215, 0.9568627450980393, 0.8666666666666667],\n\t\t[0.8823529411764706, 0.9568627450980393, 0.8627450980392157],\n\t\t[0.8823529411764706, 0.9529411764705882, 0.8627450980392157],\n\t\t[0.8784313725490196, 0.9529411764705882, 0.8588235294117647],\n\t\t[0.8745098039215686, 0.9529411764705882, 0.8549019607843137],\n\t\t[0.8705882352941177, 0.9490196078431372, 0.8509803921568627],\n\t\t[0.8666666666666667, 0.9490196078431372, 0.8470588235294118],\n\t\t[0.8666666666666667, 0.9490196078431372, 0.8431372549019608],\n\t\t[0.8627450980392157, 0.9450980392156862, 0.8392156862745098],\n\t\t[0.8588235294117647, 0.9450980392156862, 0.8352941176470589],\n\t\t[0.8549019607843137, 0.9450980392156862, 0.8313725490196079],\n\t\t[0.8509803921568627, 0.9411764705882353, 0.8274509803921568],\n\t\t[0.8470588235294118, 0.9411764705882353, 0.8235294117647058],\n\t\t[0.8431372549019608, 0.9372549019607843, 0.8196078431372549],\n\t\t[0.8392156862745098, 0.9372549019607843, 0.8156862745098039],\n\t\t[0.8352941176470589, 0.9372549019607843, 0.8117647058823529],\n\t\t[0.8313725490196079, 0.9333333333333333, 0.807843137254902],\n\t\t[0.8313725490196079, 0.9333333333333333, 0.807843137254902],\n\t\t[0.8274509803921568, 0.9333333333333333, 0.803921568627451],\n\t\t[0.8235294117647058, 0.9294117647058824, 0.796078431372549],\n\t\t[0.8196078431372549, 0.9294117647058824, 0.792156862745098],\n\t\t[0.8156862745098039, 0.9254901960784314, 0.788235294117647],\n\t\t[0.8117647058823529, 0.9254901960784314, 0.7843137254901961],\n\t\t[0.807843137254902, 0.9254901960784314, 0.7803921568627451],\n\t\t[0.803921568627451, 0.9215686274509803, 0.7764705882352941],\n\t\t[0.8, 0.9215686274509803, 0.7725490196078432],\n\t\t[0.796078431372549, 0.9176470588235294, 0.7686274509803922],\n\t\t[0.792156862745098, 0.9176470588235294, 0.7647058823529411],\n\t\t[0.788235294117647, 0.9176470588235294, 0.7607843137254902],\n\t\t[0.7843137254901961, 0.9137254901960784, 0.7568627450980392],\n\t\t[0.7764705882352941, 0.9137254901960784, 0.7529411764705882],\n\t\t[0.7725490196078432, 0.9098039215686274, 0.7490196078431373],\n\t\t[0.7686274509803922, 0.9098039215686274, 0.7450980392156863],\n\t\t[0.7647058823529411, 0.9058823529411765, 0.7411764705882353],\n\t\t[0.7607843137254902, 0.9058823529411765, 0.7372549019607844],\n\t\t[0.7568627450980392, 0.9019607843137255, 0.7333333333333333],\n\t\t[0.7529411764705882, 0.9019607843137255, 0.7254901960784313],\n\t\t[0.7490196078431373, 0.9019607843137255, 0.7215686274509804],\n\t\t[0.7450980392156863, 0.8980392156862745, 0.7176470588235294],\n\t\t[0.7411764705882353, 0.8980392156862745, 0.7137254901960784],\n\t\t[0.7333333333333333, 0.8941176470588236, 0.7098039215686275],\n\t\t[0.7294117647058823, 0.8941176470588236, 0.7058823529411765],\n\t\t[0.7254901960784313, 0.8901960784313725, 0.7019607843137254],\n\t\t[0.7215686274509804, 0.8901960784313725, 0.6980392156862745],\n\t\t[0.7176470588235294, 0.8862745098039215, 0.6901960784313725],\n\t\t[0.7137254901960784, 0.8862745098039215, 0.6862745098039216],\n\t\t[0.7098039215686275, 0.8823529411764706, 0.6823529411764706],\n\t\t[0.7019607843137254, 0.8823529411764706, 0.6784313725490196],\n\t\t[0.6980392156862745, 0.8784313725490196, 0.6745098039215687],\n\t\t[0.6941176470588235, 0.8784313725490196, 0.6705882352941176],\n\t\t[0.6901960784313725, 0.8745098039215686, 0.6666666666666666],\n\t\t[0.6823529411764706, 0.8745098039215686, 0.6588235294117647],\n\t\t[0.6784313725490196, 0.8705882352941177, 0.6549019607843137],\n\t\t[0.6745098039215687, 0.8705882352941177, 0.6509803921568628],\n\t\t[0.6705882352941176, 0.8666666666666667, 0.6470588235294118],\n\t\t[0.6666666666666666, 0.8627450980392157, 0.6431372549019608],\n\t\t[0.6588235294117647, 0.8627450980392157, 0.6392156862745098],\n\t\t[0.6549019607843137, 0.8588235294117647, 0.6352941176470588],\n\t\t[0.6509803921568628, 0.8588235294117647, 0.6274509803921569],\n\t\t[0.6470588235294118, 0.8549019607843137, 0.6235294117647059],\n\t\t[0.6392156862745098, 0.8549019607843137, 0.6196078431372549],\n\t\t[0.6352941176470588, 0.8509803921568627, 0.615686274509804],\n\t\t[0.6313725490196078, 0.8509803921568627, 0.611764705882353],\n\t\t[0.6235294117647059, 0.8470588235294118, 0.6078431372549019],\n\t\t[0.6196078431372549, 0.8431372549019608, 0.6],\n\t\t[0.615686274509804, 0.8431372549019608, 0.596078431372549],\n\t\t[0.6078431372549019, 0.8392156862745098, 0.592156862745098],\n\t\t[0.6039215686274509, 0.8392156862745098, 0.5882352941176471],\n\t\t[0.6, 0.8352941176470589, 0.5843137254901961],\n\t\t[0.592156862745098, 0.8313725490196079, 0.5803921568627451],\n\t\t[0.5882352941176471, 0.8313725490196079, 0.5725490196078431],\n\t\t[0.5843137254901961, 0.8274509803921568, 0.5686274509803921],\n\t\t[0.5764705882352941, 0.8274509803921568, 0.5647058823529412],\n\t\t[0.5725490196078431, 0.8235294117647058, 0.5607843137254902],\n\t\t[0.5686274509803921, 0.8196078431372549, 0.5568627450980392],\n\t\t[0.5607843137254902, 0.8196078431372549, 0.5529411764705883],\n\t\t[0.5568627450980392, 0.8156862745098039, 0.5490196078431373],\n\t\t[0.5490196078431373, 0.8117647058823529, 0.5411764705882353],\n\t\t[0.5450980392156862, 0.8117647058823529, 0.5372549019607843],\n\t\t[0.5411764705882353, 0.807843137254902, 0.5333333333333333],\n\t\t[0.5333333333333333, 0.803921568627451, 0.5294117647058824],\n\t\t[0.5294117647058824, 0.803921568627451, 0.5254901960784314],\n\t\t[0.5215686274509804, 0.8, 0.5215686274509804],\n\t\t[0.5176470588235295, 0.796078431372549, 0.5176470588235295],\n\t\t[0.5098039215686274, 0.796078431372549, 0.5137254901960784],\n\t\t[0.5058823529411764, 0.792156862745098, 0.5098039215686274],\n\t\t[0.5019607843137255, 0.788235294117647, 0.5058823529411764],\n\t\t[0.49411764705882355, 0.788235294117647, 0.5019607843137255],\n\t\t[0.49019607843137253, 0.7843137254901961, 0.4980392156862745],\n\t\t[0.4823529411764706, 0.7803921568627451, 0.49411764705882355],\n\t\t[0.47843137254901963, 0.7803921568627451, 0.48627450980392156],\n\t\t[0.47058823529411764, 0.7764705882352941, 0.4823529411764706],\n\t\t[0.4666666666666667, 0.7725490196078432, 0.47843137254901963],\n\t\t[0.4588235294117647, 0.7686274509803922, 0.4745098039215686],\n\t\t[0.4549019607843137, 0.7686274509803922, 0.47058823529411764],\n\t\t[0.4470588235294118, 0.7647058823529411, 0.47058823529411764],\n\t\t[0.44313725490196076, 0.7607843137254902, 0.4666666666666667],\n\t\t[0.43529411764705883, 0.7607843137254902, 0.4627450980392157],\n\t\t[0.43137254901960786, 0.7568627450980392, 0.4588235294117647],\n\t\t[0.4235294117647059, 0.7529411764705882, 0.4549019607843137],\n\t\t[0.4196078431372549, 0.7490196078431373, 0.45098039215686275],\n\t\t[0.4117647058823529, 0.7490196078431373, 0.4470588235294118],\n\t\t[0.40784313725490196, 0.7450980392156863, 0.44313725490196076],\n\t\t[0.4, 0.7411764705882353, 0.4392156862745098],\n\t\t[0.396078431372549, 0.7372549019607844, 0.43529411764705883],\n\t\t[0.38823529411764707, 0.7372549019607844, 0.43137254901960786],\n\t\t[0.3843137254901961, 0.7333333333333333, 0.43137254901960786],\n\t\t[0.3764705882352941, 0.7294117647058823, 0.42745098039215684],\n\t\t[0.3686274509803922, 0.7254901960784313, 0.4235294117647059],\n\t\t[0.36470588235294116, 0.7215686274509804, 0.4196078431372549],\n\t\t[0.3568627450980392, 0.7215686274509804, 0.41568627450980394],\n\t\t[0.35294117647058826, 0.7176470588235294, 0.4117647058823529],\n\t\t[0.34509803921568627, 0.7137254901960784, 0.40784313725490196],\n\t\t[0.3411764705882353, 0.7098039215686275, 0.40784313725490196],\n\t\t[0.33725490196078434, 0.7058823529411765, 0.403921568627451],\n\t\t[0.32941176470588235, 0.7058823529411765, 0.4],\n\t\t[0.3254901960784314, 0.7019607843137254, 0.396078431372549],\n\t\t[0.3176470588235294, 0.6980392156862745, 0.39215686274509803],\n\t\t[0.3137254901960784, 0.6941176470588235, 0.39215686274509803],\n\t\t[0.3058823529411765, 0.6901960784313725, 0.38823529411764707],\n\t\t[0.30196078431372547, 0.6862745098039216, 0.3843137254901961],\n\t\t[0.2980392156862745, 0.6862745098039216, 0.3803921568627451],\n\t\t[0.2901960784313726, 0.6823529411764706, 0.3803921568627451],\n\t\t[0.28627450980392155, 0.6784313725490196, 0.3764705882352941],\n\t\t[0.2823529411764706, 0.6745098039215687, 0.37254901960784315],\n\t\t[0.27450980392156865, 0.6705882352941176, 0.3686274509803922],\n\t\t[0.27058823529411763, 0.6666666666666666, 0.36470588235294116],\n\t\t[0.26666666666666666, 0.6627450980392157, 0.36470588235294116],\n\t\t[0.25882352941176473, 0.6588235294117647, 0.3607843137254902],\n\t\t[0.2549019607843137, 0.6549019607843137, 0.3568627450980392],\n\t\t[0.25098039215686274, 0.6549019607843137, 0.35294117647058826],\n\t\t[0.24705882352941178, 0.6509803921568628, 0.35294117647058826],\n\t\t[0.24313725490196078, 0.6470588235294118, 0.34901960784313724],\n\t\t[0.23529411764705882, 0.6431372549019608, 0.34509803921568627],\n\t\t[0.23137254901960785, 0.6392156862745098, 0.3411764705882353],\n\t\t[0.22745098039215686, 0.6352941176470588, 0.3411764705882353],\n\t\t[0.2235294117647059, 0.6313725490196078, 0.33725490196078434],\n\t\t[0.2196078431372549, 0.6274509803921569, 0.3333333333333333],\n\t\t[0.21568627450980393, 0.6235294117647059, 0.32941176470588235],\n\t\t[0.21176470588235294, 0.6196078431372549, 0.32941176470588235],\n\t\t[0.20784313725490197, 0.615686274509804, 0.3254901960784314],\n\t\t[0.20392156862745098, 0.611764705882353, 0.3215686274509804],\n\t\t[0.2, 0.6078431372549019, 0.3176470588235294],\n\t\t[0.19607843137254902, 0.6039215686274509, 0.3137254901960784],\n\t\t[0.19215686274509805, 0.6, 0.3137254901960784],\n\t\t[0.18823529411764706, 0.596078431372549, 0.30980392156862746],\n\t\t[0.1843137254901961, 0.592156862745098, 0.3058823529411765],\n\t\t[0.1803921568627451, 0.5882352941176471, 0.30196078431372547],\n\t\t[0.17647058823529413, 0.5843137254901961, 0.30196078431372547],\n\t\t[0.16862745098039217, 0.5803921568627451, 0.2980392156862745],\n\t\t[0.16470588235294117, 0.5764705882352941, 0.29411764705882354],\n\t\t[0.1607843137254902, 0.5725490196078431, 0.2901960784313726],\n\t\t[0.1568627450980392, 0.5686274509803921, 0.2901960784313726],\n\t\t[0.15294117647058825, 0.5647058823529412, 0.28627450980392155],\n\t\t[0.14901960784313725, 0.5607843137254902, 0.2823529411764706],\n\t\t[0.1450980392156863, 0.5607843137254902, 0.2784313725490196],\n\t\t[0.1411764705882353, 0.5568627450980392, 0.2784313725490196],\n\t\t[0.13725490196078433, 0.5529411764705883, 0.27450980392156865],\n\t\t[0.13333333333333333, 0.5490196078431373, 0.27058823529411763],\n\t\t[0.12941176470588237, 0.5450980392156862, 0.26666666666666666],\n\t\t[0.12549019607843137, 0.5411764705882353, 0.2627450980392157],\n\t\t[0.12156862745098039, 0.5372549019607843, 0.2627450980392157],\n\t\t[0.11764705882352941, 0.5333333333333333, 0.25882352941176473],\n\t\t[0.11372549019607843, 0.5294117647058824, 0.2549019607843137],\n\t\t[0.10980392156862745, 0.5254901960784314, 0.25098039215686274],\n\t\t[0.10588235294117647, 0.5215686274509804, 0.25098039215686274],\n\t\t[0.10196078431372549, 0.5176470588235295, 0.24705882352941178],\n\t\t[0.09803921568627451, 0.5137254901960784, 0.24313725490196078],\n\t\t[0.09411764705882353, 0.5098039215686274, 0.23921568627450981],\n\t\t[0.09019607843137255, 0.5058823529411764, 0.23921568627450981],\n\t\t[0.08627450980392157, 0.5019607843137255, 0.23529411764705882],\n\t\t[0.08235294117647059, 0.4980392156862745, 0.23137254901960785],\n\t\t[0.0784313725490196, 0.49411764705882355, 0.22745098039215686],\n\t\t[0.07450980392156863, 0.49019607843137253, 0.22745098039215686],\n\t\t[0.07058823529411765, 0.48627450980392156, 0.2235294117647059],\n\t\t[0.06666666666666667, 0.4823529411764706, 0.2196078431372549],\n\t\t[0.06274509803921569, 0.47843137254901963, 0.21568627450980393],\n\t\t[0.06274509803921569, 0.4745098039215686, 0.21568627450980393],\n\t\t[0.058823529411764705, 0.47058823529411764, 0.21176470588235294],\n\t\t[0.054901960784313725, 0.4666666666666667, 0.20784313725490197],\n\t\t[0.050980392156862744, 0.4627450980392157, 0.20392156862745098],\n\t\t[0.047058823529411764, 0.4588235294117647, 0.20392156862745098],\n\t\t[0.043137254901960784, 0.4549019607843137, 0.2],\n\t\t[0.043137254901960784, 0.45098039215686275, 0.19607843137254902],\n\t\t[0.0392156862745098, 0.4470588235294118, 0.19607843137254902],\n\t\t[0.03529411764705882, 0.44313725490196076, 0.19215686274509805],\n\t\t[0.03137254901960784, 0.4392156862745098, 0.18823529411764706],\n\t\t[0.03137254901960784, 0.43529411764705883, 0.1843137254901961],\n\t\t[0.027450980392156862, 0.43137254901960786, 0.1843137254901961],\n\t\t[0.023529411764705882, 0.4235294117647059, 0.1803921568627451],\n\t\t[0.023529411764705882, 0.4196078431372549, 0.17647058823529413],\n\t\t[0.0196078431372549, 0.41568627450980394, 0.17647058823529413],\n\t\t[0.0196078431372549, 0.4117647058823529, 0.17254901960784313],\n\t\t[0.01568627450980392, 0.40784313725490196, 0.16862745098039217],\n\t\t[0.01568627450980392, 0.403921568627451, 0.16862745098039217],\n\t\t[0.01568627450980392, 0.4, 0.16470588235294117],\n\t\t[0.011764705882352941, 0.39215686274509803, 0.16470588235294117],\n\t\t[0.011764705882352941, 0.38823529411764707, 0.1607843137254902],\n\t\t[0.00784313725490196, 0.3843137254901961, 0.1568627450980392],\n\t\t[0.00784313725490196, 0.3803921568627451, 0.1568627450980392],\n\t\t[0.00784313725490196, 0.3764705882352941, 0.15294117647058825],\n\t\t[0.00784313725490196, 0.3686274509803922, 0.15294117647058825],\n\t\t[0.00392156862745098, 0.36470588235294116, 0.14901960784313725],\n\t\t[0.00392156862745098, 0.3607843137254902, 0.1450980392156863],\n\t\t[0.00392156862745098, 0.3568627450980392, 0.1450980392156863],\n\t\t[0.00392156862745098, 0.35294117647058826, 0.1411764705882353],\n\t\t[0.00392156862745098, 0.34509803921568627, 0.1411764705882353],\n\t\t[0.00392156862745098, 0.3411764705882353, 0.13725490196078433],\n\t\t[0, 0.33725490196078434, 0.13725490196078433],\n\t\t[0, 0.3333333333333333, 0.13333333333333333],\n\t\t[0, 0.3254901960784314, 0.12941176470588237],\n\t\t[0, 0.3215686274509804, 0.12941176470588237],\n\t\t[0, 0.3176470588235294, 0.12549019607843137],\n\t\t[0, 0.3137254901960784, 0.12549019607843137],\n\t\t[0, 0.3058823529411765, 0.12156862745098039],\n\t\t[0, 0.30196078431372547, 0.12156862745098039],\n\t\t[0, 0.2980392156862745, 0.11764705882352941],\n\t\t[0, 0.2901960784313726, 0.11764705882352941],\n\t\t[0, 0.28627450980392155, 0.11372549019607843],\n\t\t[0, 0.2823529411764706, 0.11372549019607843],\n\t\t[0, 0.2784313725490196, 0.10980392156862745],\n\t\t[0, 0.27058823529411763, 0.10980392156862745],\n\t\t[0, 0.26666666666666666, 0.10588235294117647]\n\t],\n\torange: [\n\t\t[1, 0.9607843137254902, 0.9215686274509803],\n\t\t[1, 0.9607843137254902, 0.9176470588235294],\n\t\t[1, 0.9568627450980393, 0.9137254901960784],\n\t\t[1, 0.9568627450980393, 0.9098039215686274],\n\t\t[1, 0.9529411764705882, 0.9058823529411765],\n\t\t[1, 0.9529411764705882, 0.9019607843137255],\n\t\t[1, 0.9490196078431372, 0.9019607843137255],\n\t\t[1, 0.9490196078431372, 0.8980392156862745],\n\t\t[1, 0.9450980392156862, 0.8941176470588236],\n\t\t[1, 0.9450980392156862, 0.8901960784313725],\n\t\t[1, 0.9411764705882353, 0.8862745098039215],\n\t\t[1, 0.9411764705882353, 0.8823529411764706],\n\t\t[1, 0.9372549019607843, 0.8784313725490196],\n\t\t[1, 0.9372549019607843, 0.8745098039215686],\n\t\t[1, 0.9333333333333333, 0.8705882352941177],\n\t\t[1, 0.9333333333333333, 0.8666666666666667],\n\t\t[0.996078431372549, 0.9294117647058824, 0.8627450980392157],\n\t\t[0.996078431372549, 0.9294117647058824, 0.8588235294117647],\n\t\t[0.996078431372549, 0.9254901960784314, 0.8549019607843137],\n\t\t[0.996078431372549, 0.9254901960784314, 0.8509803921568627],\n\t\t[0.996078431372549, 0.9215686274509803, 0.8470588235294118],\n\t\t[0.996078431372549, 0.9215686274509803, 0.8431372549019608],\n\t\t[0.996078431372549, 0.9176470588235294, 0.8392156862745098],\n\t\t[0.996078431372549, 0.9176470588235294, 0.8352941176470589],\n\t\t[0.996078431372549, 0.9137254901960784, 0.8313725490196079],\n\t\t[0.996078431372549, 0.9137254901960784, 0.8274509803921568],\n\t\t[0.996078431372549, 0.9098039215686274, 0.8235294117647058],\n\t\t[0.996078431372549, 0.9098039215686274, 0.8196078431372549],\n\t\t[0.996078431372549, 0.9058823529411765, 0.8156862745098039],\n\t\t[0.996078431372549, 0.9019607843137255, 0.8117647058823529],\n\t\t[0.996078431372549, 0.9019607843137255, 0.807843137254902],\n\t\t[0.996078431372549, 0.8980392156862745, 0.8],\n\t\t[0.996078431372549, 0.8980392156862745, 0.796078431372549],\n\t\t[0.996078431372549, 0.8941176470588236, 0.792156862745098],\n\t\t[0.996078431372549, 0.8941176470588236, 0.788235294117647],\n\t\t[0.996078431372549, 0.8901960784313725, 0.7843137254901961],\n\t\t[0.996078431372549, 0.8862745098039215, 0.7803921568627451],\n\t\t[0.996078431372549, 0.8862745098039215, 0.7725490196078432],\n\t\t[0.996078431372549, 0.8823529411764706, 0.7686274509803922],\n\t\t[0.996078431372549, 0.8823529411764706, 0.7647058823529411],\n\t\t[0.996078431372549, 0.8784313725490196, 0.7607843137254902],\n\t\t[0.996078431372549, 0.8745098039215686, 0.7529411764705882],\n\t\t[0.996078431372549, 0.8745098039215686, 0.7490196078431373],\n\t\t[0.996078431372549, 0.8705882352941177, 0.7450980392156863],\n\t\t[0.996078431372549, 0.8666666666666667, 0.7411764705882353],\n\t\t[0.996078431372549, 0.8666666666666667, 0.7333333333333333],\n\t\t[0.996078431372549, 0.8627450980392157, 0.7294117647058823],\n\t\t[0.996078431372549, 0.8588235294117647, 0.7254901960784313],\n\t\t[0.996078431372549, 0.8549019607843137, 0.7176470588235294],\n\t\t[0.9921568627450981, 0.8549019607843137, 0.7137254901960784],\n\t\t[0.9921568627450981, 0.8509803921568627, 0.7058823529411765],\n\t\t[0.9921568627450981, 0.8470588235294118, 0.7019607843137254],\n\t\t[0.9921568627450981, 0.8470588235294118, 0.6980392156862745],\n\t\t[0.9921568627450981, 0.8431372549019608, 0.6901960784313725],\n\t\t[0.9921568627450981, 0.8392156862745098, 0.6862745098039216],\n\t\t[0.9921568627450981, 0.8352941176470589, 0.6784313725490196],\n\t\t[0.9921568627450981, 0.8313725490196079, 0.6745098039215687],\n\t\t[0.9921568627450981, 0.8313725490196079, 0.6666666666666666],\n\t\t[0.9921568627450981, 0.8274509803921568, 0.6627450980392157],\n\t\t[0.9921568627450981, 0.8235294117647058, 0.6549019607843137],\n\t\t[0.9921568627450981, 0.8196078431372549, 0.6509803921568628],\n\t\t[0.9921568627450981, 0.8156862745098039, 0.6431372549019608],\n\t\t[0.9921568627450981, 0.8156862745098039, 0.6392156862745098],\n\t\t[0.9921568627450981, 0.8117647058823529, 0.6313725490196078],\n\t\t[0.9921568627450981, 0.807843137254902, 0.6274509803921569],\n\t\t[0.9921568627450981, 0.803921568627451, 0.6196078431372549],\n\t\t[0.9921568627450981, 0.8, 0.615686274509804],\n\t\t[0.9921568627450981, 0.796078431372549, 0.6078431372549019],\n\t\t[0.9921568627450981, 0.792156862745098, 0.6],\n\t\t[0.9921568627450981, 0.788235294117647, 0.596078431372549],\n\t\t[0.9921568627450981, 0.7843137254901961, 0.5882352941176471],\n\t\t[0.9921568627450981, 0.7803921568627451, 0.5843137254901961],\n\t\t[0.9921568627450981, 0.7764705882352941, 0.5764705882352941],\n\t\t[0.9921568627450981, 0.7725490196078432, 0.5686274509803921],\n\t\t[0.9921568627450981, 0.7686274509803922, 0.5647058823529412],\n\t\t[0.9921568627450981, 0.7647058823529411, 0.5568627450980392],\n\t\t[0.9921568627450981, 0.7607843137254902, 0.5529411764705883],\n\t\t[0.9921568627450981, 0.7568627450980392, 0.5450980392156862],\n\t\t[0.9921568627450981, 0.7529411764705882, 0.5372549019607843],\n\t\t[0.9921568627450981, 0.7490196078431373, 0.5333333333333333],\n\t\t[0.9921568627450981, 0.7450980392156863, 0.5254901960784314],\n\t\t[0.9921568627450981, 0.7411764705882353, 0.5176470588235295],\n\t\t[0.9921568627450981, 0.7372549019607844, 0.5137254901960784],\n\t\t[0.9921568627450981, 0.7333333333333333, 0.5058823529411764],\n\t\t[0.9921568627450981, 0.7294117647058823, 0.4980392156862745],\n\t\t[0.9921568627450981, 0.7254901960784313, 0.49411764705882355],\n\t\t[0.9921568627450981, 0.7215686274509804, 0.48627450980392156],\n\t\t[0.9921568627450981, 0.7176470588235294, 0.47843137254901963],\n\t\t[0.9921568627450981, 0.7137254901960784, 0.4745098039215686],\n\t\t[0.9921568627450981, 0.7098039215686275, 0.4666666666666667],\n\t\t[0.9921568627450981, 0.7058823529411765, 0.4588235294117647],\n\t\t[0.9921568627450981, 0.7019607843137254, 0.4549019607843137],\n\t\t[0.9921568627450981, 0.6980392156862745, 0.4470588235294118],\n\t\t[0.9921568627450981, 0.6941176470588235, 0.44313725490196076],\n\t\t[0.9921568627450981, 0.6901960784313725, 0.43529411764705883],\n\t\t[0.9921568627450981, 0.6862745098039216, 0.42745098039215684],\n\t\t[0.9921568627450981, 0.6823529411764706, 0.4235294117647059],\n\t\t[0.9921568627450981, 0.6784313725490196, 0.41568627450980394],\n\t\t[0.9921568627450981, 0.6745098039215687, 0.4117647058823529],\n\t\t[0.9921568627450981, 0.6705882352941176, 0.403921568627451],\n\t\t[0.9921568627450981, 0.6666666666666666, 0.396078431372549],\n\t\t[0.9921568627450981, 0.6627450980392157, 0.39215686274509803],\n\t\t[0.9921568627450981, 0.6549019607843137, 0.3843137254901961],\n\t\t[0.9921568627450981, 0.6509803921568628, 0.3803921568627451],\n\t\t[0.9921568627450981, 0.6470588235294118, 0.37254901960784315],\n\t\t[0.9921568627450981, 0.6431372549019608, 0.3686274509803922],\n\t\t[0.9921568627450981, 0.6392156862745098, 0.3607843137254902],\n\t\t[0.9921568627450981, 0.6352941176470588, 0.3568627450980392],\n\t\t[0.9921568627450981, 0.6313725490196078, 0.34901960784313724],\n\t\t[0.9921568627450981, 0.6274509803921569, 0.34509803921568627],\n\t\t[0.9921568627450981, 0.6235294117647059, 0.33725490196078434],\n\t\t[0.9921568627450981, 0.6196078431372549, 0.3333333333333333],\n\t\t[0.9921568627450981, 0.615686274509804, 0.3254901960784314],\n\t\t[0.9921568627450981, 0.611764705882353, 0.3215686274509804],\n\t\t[0.9921568627450981, 0.6078431372549019, 0.3137254901960784],\n\t\t[0.9921568627450981, 0.6039215686274509, 0.30980392156862746],\n\t\t[0.9882352941176471, 0.6, 0.30196078431372547],\n\t\t[0.9882352941176471, 0.596078431372549, 0.2980392156862745],\n\t\t[0.9882352941176471, 0.592156862745098, 0.2901960784313726],\n\t\t[0.9882352941176471, 0.5882352941176471, 0.28627450980392155],\n\t\t[0.9882352941176471, 0.5843137254901961, 0.2823529411764706],\n\t\t[0.9882352941176471, 0.5764705882352941, 0.27450980392156865],\n\t\t[0.9882352941176471, 0.5725490196078431, 0.27058823529411763],\n\t\t[0.9882352941176471, 0.5686274509803921, 0.2627450980392157],\n\t\t[0.9882352941176471, 0.5647058823529412, 0.25882352941176473],\n\t\t[0.984313725490196, 0.5607843137254902, 0.25098039215686274],\n\t\t[0.984313725490196, 0.5568627450980392, 0.24705882352941178],\n\t\t[0.984313725490196, 0.5529411764705883, 0.24313725490196078],\n\t\t[0.984313725490196, 0.5490196078431373, 0.23529411764705882],\n\t\t[0.984313725490196, 0.5450980392156862, 0.23137254901960785],\n\t\t[0.9803921568627451, 0.5411764705882353, 0.22745098039215686],\n\t\t[0.9803921568627451, 0.5372549019607843, 0.2196078431372549],\n\t\t[0.9803921568627451, 0.5333333333333333, 0.21568627450980393],\n\t\t[0.9803921568627451, 0.5294117647058824, 0.21176470588235294],\n\t\t[0.9803921568627451, 0.5215686274509804, 0.20392156862745098],\n\t\t[0.9764705882352941, 0.5176470588235295, 0.2],\n\t\t[0.9764705882352941, 0.5137254901960784, 0.19607843137254902],\n\t\t[0.9764705882352941, 0.5098039215686274, 0.18823529411764706],\n\t\t[0.9725490196078431, 0.5058823529411764, 0.1843137254901961],\n\t\t[0.9725490196078431, 0.5019607843137255, 0.1803921568627451],\n\t\t[0.9725490196078431, 0.4980392156862745, 0.17254901960784313],\n\t\t[0.9686274509803922, 0.49411764705882355, 0.16862745098039217],\n\t\t[0.9686274509803922, 0.49019607843137253, 0.16470588235294117],\n\t\t[0.9686274509803922, 0.4823529411764706, 0.1607843137254902],\n\t\t[0.9647058823529412, 0.47843137254901963, 0.15294117647058825],\n\t\t[0.9647058823529412, 0.4745098039215686, 0.14901960784313725],\n\t\t[0.9607843137254902, 0.47058823529411764, 0.1450980392156863],\n\t\t[0.9607843137254902, 0.4666666666666667, 0.1411764705882353],\n\t\t[0.9607843137254902, 0.4627450980392157, 0.13725490196078433],\n\t\t[0.9568627450980393, 0.4588235294117647, 0.13333333333333333],\n\t\t[0.9568627450980393, 0.4549019607843137, 0.12549019607843137],\n\t\t[0.9529411764705882, 0.45098039215686275, 0.12156862745098039],\n\t\t[0.9529411764705882, 0.4470588235294118, 0.11764705882352941],\n\t\t[0.9490196078431372, 0.4392156862745098, 0.11372549019607843],\n\t\t[0.9490196078431372, 0.43529411764705883, 0.10980392156862745],\n\t\t[0.9450980392156862, 0.43137254901960786, 0.10588235294117647],\n\t\t[0.9450980392156862, 0.42745098039215684, 0.10196078431372549],\n\t\t[0.9411764705882353, 0.4235294117647059, 0.09803921568627451],\n\t\t[0.9411764705882353, 0.4196078431372549, 0.09411764705882353],\n\t\t[0.9372549019607843, 0.41568627450980394, 0.09019607843137255],\n\t\t[0.9372549019607843, 0.4117647058823529, 0.08627450980392157],\n\t\t[0.9333333333333333, 0.40784313725490196, 0.08235294117647059],\n\t\t[0.9294117647058824, 0.403921568627451, 0.0784313725490196],\n\t\t[0.9294117647058824, 0.4, 0.0784313725490196],\n\t\t[0.9254901960784314, 0.396078431372549, 0.07450980392156863],\n\t\t[0.9254901960784314, 0.38823529411764707, 0.07058823529411765],\n\t\t[0.9215686274509803, 0.3843137254901961, 0.06666666666666667],\n\t\t[0.9176470588235294, 0.3803921568627451, 0.06274509803921569],\n\t\t[0.9176470588235294, 0.3764705882352941, 0.06274509803921569],\n\t\t[0.9137254901960784, 0.37254901960784315, 0.058823529411764705],\n\t\t[0.9098039215686274, 0.3686274509803922, 0.054901960784313725],\n\t\t[0.9098039215686274, 0.36470588235294116, 0.054901960784313725],\n\t\t[0.9058823529411765, 0.3607843137254902, 0.050980392156862744],\n\t\t[0.9019607843137255, 0.3568627450980392, 0.047058823529411764],\n\t\t[0.8980392156862745, 0.35294117647058826, 0.047058823529411764],\n\t\t[0.8941176470588236, 0.34901960784313724, 0.043137254901960784],\n\t\t[0.8941176470588236, 0.34509803921568627, 0.043137254901960784],\n\t\t[0.8901960784313725, 0.3411764705882353, 0.0392156862745098],\n\t\t[0.8862745098039215, 0.33725490196078434, 0.03529411764705882],\n\t\t[0.8823529411764706, 0.3333333333333333, 0.03529411764705882],\n\t\t[0.8784313725490196, 0.32941176470588235, 0.03137254901960784],\n\t\t[0.8745098039215686, 0.3254901960784314, 0.03137254901960784],\n\t\t[0.8705882352941177, 0.3215686274509804, 0.03137254901960784],\n\t\t[0.8666666666666667, 0.3215686274509804, 0.027450980392156862],\n\t\t[0.8627450980392157, 0.3176470588235294, 0.027450980392156862],\n\t\t[0.8588235294117647, 0.3137254901960784, 0.023529411764705882],\n\t\t[0.8549019607843137, 0.30980392156862746, 0.023529411764705882],\n\t\t[0.8509803921568627, 0.3058823529411765, 0.023529411764705882],\n\t\t[0.8470588235294118, 0.30196078431372547, 0.0196078431372549],\n\t\t[0.8431372549019608, 0.2980392156862745, 0.0196078431372549],\n\t\t[0.8392156862745098, 0.2980392156862745, 0.0196078431372549],\n\t\t[0.8352941176470589, 0.29411764705882354, 0.01568627450980392],\n\t\t[0.8313725490196079, 0.2901960784313726, 0.01568627450980392],\n\t\t[0.8235294117647058, 0.28627450980392155, 0.01568627450980392],\n\t\t[0.8196078431372549, 0.2823529411764706, 0.01568627450980392],\n\t\t[0.8156862745098039, 0.2823529411764706, 0.01568627450980392],\n\t\t[0.8117647058823529, 0.2784313725490196, 0.011764705882352941],\n\t\t[0.803921568627451, 0.27450980392156865, 0.011764705882352941],\n\t\t[0.8, 0.27058823529411763, 0.011764705882352941],\n\t\t[0.796078431372549, 0.27058823529411763, 0.011764705882352941],\n\t\t[0.788235294117647, 0.26666666666666666, 0.011764705882352941],\n\t\t[0.7843137254901961, 0.2627450980392157, 0.011764705882352941],\n\t\t[0.7803921568627451, 0.2627450980392157, 0.011764705882352941],\n\t\t[0.7725490196078432, 0.25882352941176473, 0.011764705882352941],\n\t\t[0.7686274509803922, 0.2549019607843137, 0.011764705882352941],\n\t\t[0.7607843137254902, 0.2549019607843137, 0.00784313725490196],\n\t\t[0.7568627450980392, 0.25098039215686274, 0.00784313725490196],\n\t\t[0.7490196078431373, 0.24705882352941178, 0.00784313725490196],\n\t\t[0.7450980392156863, 0.24705882352941178, 0.00784313725490196],\n\t\t[0.7411764705882353, 0.24313725490196078, 0.00784313725490196],\n\t\t[0.7333333333333333, 0.24313725490196078, 0.00784313725490196],\n\t\t[0.7294117647058823, 0.23921568627450981, 0.00784313725490196],\n\t\t[0.7215686274509804, 0.23921568627450981, 0.00784313725490196],\n\t\t[0.7176470588235294, 0.23529411764705882, 0.00784313725490196],\n\t\t[0.7098039215686275, 0.23137254901960785, 0.00784313725490196],\n\t\t[0.7058823529411765, 0.23137254901960785, 0.00784313725490196],\n\t\t[0.6980392156862745, 0.22745098039215686, 0.011764705882352941],\n\t\t[0.6941176470588235, 0.22745098039215686, 0.011764705882352941],\n\t\t[0.6862745098039216, 0.2235294117647059, 0.011764705882352941],\n\t\t[0.6823529411764706, 0.2235294117647059, 0.011764705882352941],\n\t\t[0.6745098039215687, 0.2196078431372549, 0.011764705882352941],\n\t\t[0.6705882352941176, 0.2196078431372549, 0.011764705882352941],\n\t\t[0.6666666666666666, 0.21568627450980393, 0.011764705882352941],\n\t\t[0.6588235294117647, 0.21568627450980393, 0.011764705882352941],\n\t\t[0.6549019607843137, 0.21176470588235294, 0.011764705882352941],\n\t\t[0.6470588235294118, 0.21176470588235294, 0.011764705882352941],\n\t\t[0.6431372549019608, 0.20784313725490197, 0.011764705882352941],\n\t\t[0.6392156862745098, 0.20784313725490197, 0.011764705882352941],\n\t\t[0.6313725490196078, 0.20392156862745098, 0.011764705882352941],\n\t\t[0.6274509803921569, 0.20392156862745098, 0.011764705882352941],\n\t\t[0.6235294117647059, 0.2, 0.011764705882352941],\n\t\t[0.615686274509804, 0.2, 0.011764705882352941],\n\t\t[0.611764705882353, 0.19607843137254902, 0.011764705882352941],\n\t\t[0.6078431372549019, 0.19607843137254902, 0.011764705882352941],\n\t\t[0.6, 0.19215686274509805, 0.011764705882352941],\n\t\t[0.596078431372549, 0.19215686274509805, 0.011764705882352941],\n\t\t[0.592156862745098, 0.18823529411764706, 0.011764705882352941],\n\t\t[0.5843137254901961, 0.18823529411764706, 0.011764705882352941],\n\t\t[0.5803921568627451, 0.1843137254901961, 0.011764705882352941],\n\t\t[0.5764705882352941, 0.1843137254901961, 0.011764705882352941],\n\t\t[0.5725490196078431, 0.1803921568627451, 0.01568627450980392],\n\t\t[0.5647058823529412, 0.1803921568627451, 0.01568627450980392],\n\t\t[0.5607843137254902, 0.17647058823529413, 0.01568627450980392],\n\t\t[0.5568627450980392, 0.17647058823529413, 0.01568627450980392],\n\t\t[0.5529411764705883, 0.17254901960784313, 0.01568627450980392],\n\t\t[0.5450980392156862, 0.17254901960784313, 0.01568627450980392],\n\t\t[0.5411764705882353, 0.16862745098039217, 0.01568627450980392],\n\t\t[0.5372549019607843, 0.16862745098039217, 0.01568627450980392],\n\t\t[0.5333333333333333, 0.16470588235294117, 0.01568627450980392],\n\t\t[0.5254901960784314, 0.16470588235294117, 0.01568627450980392],\n\t\t[0.5215686274509804, 0.1607843137254902, 0.01568627450980392],\n\t\t[0.5176470588235295, 0.1607843137254902, 0.01568627450980392],\n\t\t[0.5137254901960784, 0.1568627450980392, 0.01568627450980392],\n\t\t[0.5058823529411764, 0.1568627450980392, 0.01568627450980392],\n\t\t[0.5019607843137255, 0.15294117647058825, 0.01568627450980392],\n\t\t[0.4980392156862745, 0.15294117647058825, 0.01568627450980392]\n\t]\n};\n\n\nexport const ColorBrewer = {\n\t\"Default\": {\n\t\t3: [\"#fffff\", \"#6C8B9F\", \"#023858\"],\n\t\t4: [\"#fffff\", \"#C3D0D8\", \"#6C8B9F\", \"#023858\"],\n\t\t5: [\"#fffff\", \"#C3D0D8\", \"#88A1B1\", \"#52778D\", \"#023858\"],\n\t\t6: [\"#fffff\", \"#E1E7EB\", \"#88A1B1\", \"#52778D\", \"#37627B\", \"#023858\"],\n\t\t7: [\"#fffff\", \"#C3D0D8\", \"#A6B9C4\", \"#6C8B9F\", \"#52778D\", \"#37627B\", \"#023858\"],\n\t\t8: [\"#fffff\", \"#E1E7EB\", \"#C3D0D8\", \"#A6B9C4\", \"#6C8B9F\", \"#52778D\", \"#37627B\", \"#023858\"],\n\t\t9: [\"#fffff\", \"#E1E7EB\", \"#C3D0D8\", \"#A6B9C4\", \"#88A1B1\", \"#6C8B9F\", \"#52778D\", \"#37627B\", \"#023858\"]\n\t},\n\t\"OrRd\": {\n\t\t3: [\"#fee8c8\", \"#fdbb84\", \"#e34a33\"],\n\t\t4: [\"#fef0d9\", \"#fdcc8a\", \"#fc8d59\", \"#d7301f\"],\n\t\t5: [\"#fef0d9\", \"#fdcc8a\", \"#fc8d59\", \"#e34a33\", \"#b30000\"],\n\t\t6: [\"#fef0d9\", \"#fdd49e\", \"#fdbb84\", \"#fc8d59\", \"#e34a33\", \"#b30000\"],\n\t\t7: [\"#fef0d9\", \"#fdd49e\", \"#fdbb84\", \"#fc8d59\", \"#ef6548\", \"#d7301f\", \"#990000\"],\n\t\t8: [\"#fff7ec\", \"#fee8c8\", \"#fdd49e\", \"#fdbb84\", \"#fc8d59\", \"#ef6548\", \"#d7301f\", \"#990000\"],\n\t\t9: [\"#fff7ec\", \"#fee8c8\", \"#fdd49e\", \"#fdbb84\", \"#fc8d59\", \"#ef6548\", \"#d7301f\", \"#b30000\", \"#7f0000\"]\n\t},\n\t\"YlOrRd\": {\n\t\t3: [\"#ffeda0\", \"#feb24c\", \"#f03b20\"],\n\t\t4: [\"#ffffb2\", \"#fecc5c\", \"#fd8d3c\", \"#e31a1c\"],\n\t\t5: [\"#ffffb2\", \"#fecc5c\", \"#fd8d3c\", \"#f03b20\", \"#bd0026\"],\n\t\t6: [\"#ffffb2\", \"#fed976\", \"#feb24c\", \"#fd8d3c\", \"#f03b20\", \"#bd0026\"],\n\t\t7: [\"#ffffb2\", \"#fed976\", \"#feb24c\", \"#fd8d3c\", \"#fc4e2a\", \"#e31a1c\", \"#b10026\"],\n\t\t8: [\"#ffffcc\", \"#ffeda0\", \"#fed976\", \"#feb24c\", \"#fd8d3c\", \"#fc4e2a\", \"#e31a1c\", \"#b10026\"],\n\t\t9: [\"#ffffcc\", \"#ffeda0\", \"#fed976\", \"#feb24c\", \"#fd8d3c\", \"#fc4e2a\", \"#e31a1c\", \"#bd0026\", \"#800026\"]\n\t},\n\t\"YlGn\": {\n\t\t3: [\"#f7fcb9\", \"#addd8e\", \"#31a354\"],\n\t\t4: [\"#ffffcc\", \"#c2e699\", \"#78c679\", \"#238443\"],\n\t\t5: [\"#ffffcc\", \"#c2e699\", \"#78c679\", \"#31a354\", \"#006837\"],\n\t\t6: [\"#ffffcc\", \"#d9f0a3\", \"#addd8e\", \"#78c679\", \"#31a354\", \"#006837\"],\n\t\t7: [\"#ffffcc\", \"#d9f0a3\", \"#addd8e\", \"#78c679\", \"#41ab5d\", \"#238443\", \"#005a32\"],\n\t\t8: [\"#ffffe5\", \"#f7fcb9\", \"#d9f0a3\", \"#addd8e\", \"#78c679\", \"#41ab5d\", \"#238443\", \"#005a32\"],\n\t\t9: [\"#ffffe5\", \"#f7fcb9\", \"#d9f0a3\", \"#addd8e\", \"#78c679\", \"#41ab5d\", \"#238443\", \"#006837\", \"#004529\"]\n\t},\n\t\"YlGnBu\": {\n\t\t3: [\"#edf8b1\", \"#7fcdbb\", \"#2c7fb8\"],\n\t\t4: [\"#ffffcc\", \"#a1dab4\", \"#41b6c4\", \"#225ea8\"],\n\t\t5: [\"#ffffcc\", \"#a1dab4\", \"#41b6c4\", \"#2c7fb8\", \"#253494\"],\n\t\t6: [\"#ffffcc\", \"#c7e9b4\", \"#7fcdbb\", \"#41b6c4\", \"#2c7fb8\", \"#253494\"],\n\t\t7: [\"#ffffcc\", \"#c7e9b4\", \"#7fcdbb\", \"#41b6c4\", \"#1d91c0\", \"#225ea8\", \"#0c2c84\"],\n\t\t8: [\"#ffffd9\", \"#edf8b1\", \"#c7e9b4\", \"#7fcdbb\", \"#41b6c4\", \"#1d91c0\", \"#225ea8\", \"#0c2c84\"],\n\t\t9: [\"#ffffd9\", \"#edf8b1\", \"#c7e9b4\", \"#7fcdbb\", \"#41b6c4\", \"#1d91c0\", \"#225ea8\", \"#253494\", \"#081d58\"]\n\t},\n\t\"GnBu\": {\n\t\t3: [\"#e0f3db\", \"#a8ddb5\", \"#43a2ca\"],\n\t\t4: [\"#f0f9e8\", \"#bae4bc\", \"#7bccc4\", \"#2b8cbe\"],\n\t\t5: [\"#f0f9e8\", \"#bae4bc\", \"#7bccc4\", \"#43a2ca\", \"#0868ac\"],\n\t\t6: [\"#f0f9e8\", \"#ccebc5\", \"#a8ddb5\", \"#7bccc4\", \"#43a2ca\", \"#0868ac\"],\n\t\t7: [\"#f0f9e8\", \"#ccebc5\", \"#a8ddb5\", \"#7bccc4\", \"#4eb3d3\", \"#2b8cbe\", \"#08589e\"],\n\t\t8: [\"#f7fcf0\", \"#e0f3db\", \"#ccebc5\", \"#a8ddb5\", \"#7bccc4\", \"#4eb3d3\", \"#2b8cbe\", \"#08589e\"],\n\t\t9: [\"#f7fcf0\", \"#e0f3db\", \"#ccebc5\", \"#a8ddb5\", \"#7bccc4\", \"#4eb3d3\", \"#2b8cbe\", \"#0868ac\", \"#084081\"]\n\t},\n\t\"BuGn\": {\n\t\t3: [\"#e5f5f9\", \"#99d8c9\", \"#2ca25f\"],\n\t\t4: [\"#edf8fb\", \"#b2e2e2\", \"#66c2a4\", \"#238b45\"],\n\t\t5: [\"#edf8fb\", \"#b2e2e2\", \"#66c2a4\", \"#2ca25f\", \"#006d2c\"],\n\t\t6: [\"#edf8fb\", \"#ccece6\", \"#99d8c9\", \"#66c2a4\", \"#2ca25f\", \"#006d2c\"],\n\t\t7: [\"#edf8fb\", \"#ccece6\", \"#99d8c9\", \"#66c2a4\", \"#41ae76\", \"#238b45\", \"#005824\"],\n\t\t8: [\"#f7fcfd\", \"#e5f5f9\", \"#ccece6\", \"#99d8c9\", \"#66c2a4\", \"#41ae76\", \"#238b45\", \"#005824\"],\n\t\t9: [\"#f7fcfd\", \"#e5f5f9\", \"#ccece6\", \"#99d8c9\", \"#66c2a4\", \"#41ae76\", \"#238b45\", \"#006d2c\", \"#00441b\"]\n\t},\n\t\"PuBuGn\": {\n\t\t3: [\"#ece2f0\", \"#a6bddb\", \"#1c9099\"],\n\t\t4: [\"#f6eff7\", \"#bdc9e1\", \"#67a9cf\", \"#02818a\"],\n\t\t5: [\"#f6eff7\", \"#bdc9e1\", \"#67a9cf\", \"#1c9099\", \"#016c59\"],\n\t\t6: [\"#f6eff7\", \"#d0d1e6\", \"#a6bddb\", \"#67a9cf\", \"#1c9099\", \"#016c59\"],\n\t\t7: [\"#f6eff7\", \"#d0d1e6\", \"#a6bddb\", \"#67a9cf\", \"#3690c0\", \"#02818a\", \"#016450\"],\n\t\t8: [\"#fff7fb\", \"#ece2f0\", \"#d0d1e6\", \"#a6bddb\", \"#67a9cf\", \"#3690c0\", \"#02818a\", \"#016450\"],\n\t\t9: [\"#fff7fb\", \"#ece2f0\", \"#d0d1e6\", \"#a6bddb\", \"#67a9cf\", \"#3690c0\", \"#02818a\", \"#016c59\", \"#014636\"]\n\t},\n\t\"PuBu\": {\n\t\t3: [\"#ece7f2\", \"#a6bddb\", \"#2b8cbe\"],\n\t\t4: [\"#f1eef6\", \"#bdc9e1\", \"#74a9cf\", \"#0570b0\"],\n\t\t5: [\"#f1eef6\", \"#bdc9e1\", \"#74a9cf\", \"#2b8cbe\", \"#045a8d\"],\n\t\t6: [\"#f1eef6\", \"#d0d1e6\", \"#a6bddb\", \"#74a9cf\", \"#2b8cbe\", \"#045a8d\"],\n\t\t7: [\"#f1eef6\", \"#d0d1e6\", \"#a6bddb\", \"#74a9cf\", \"#3690c0\", \"#0570b0\", \"#034e7b\"],\n\t\t8: [\"#fff7fb\", \"#ece7f2\", \"#d0d1e6\", \"#a6bddb\", \"#74a9cf\", \"#3690c0\", \"#0570b0\", \"#034e7b\"],\n\t\t9: [\"#fff7fb\", \"#ece7f2\", \"#d0d1e6\", \"#a6bddb\", \"#74a9cf\", \"#3690c0\", \"#0570b0\", \"#045a8d\", \"#023858\"]\n\t},\n\t\"BuPu\": {\n\t\t3: [\"#e0ecf4\", \"#9ebcda\", \"#8856a7\"],\n\t\t4: [\"#edf8fb\", \"#b3cde3\", \"#8c96c6\", \"#88419d\"],\n\t\t5: [\"#edf8fb\", \"#b3cde3\", \"#8c96c6\", \"#8856a7\", \"#810f7c\"],\n\t\t6: [\"#edf8fb\", \"#bfd3e6\", \"#9ebcda\", \"#8c96c6\", \"#8856a7\", \"#810f7c\"],\n\t\t7: [\"#edf8fb\", \"#bfd3e6\", \"#9ebcda\", \"#8c96c6\", \"#8c6bb1\", \"#88419d\", \"#6e016b\"],\n\t\t8: [\"#f7fcfd\", \"#e0ecf4\", \"#bfd3e6\", \"#9ebcda\", \"#8c96c6\", \"#8c6bb1\", \"#88419d\", \"#6e016b\"],\n\t\t9: [\"#f7fcfd\", \"#e0ecf4\", \"#bfd3e6\", \"#9ebcda\", \"#8c96c6\", \"#8c6bb1\", \"#88419d\", \"#810f7c\", \"#4d004b\"]\n\t},\n\t\"RdPu\": {\n\t\t3: [\"#fde0dd\", \"#fa9fb5\", \"#c51b8a\"],\n\t\t4: [\"#feebe2\", \"#fbb4b9\", \"#f768a1\", \"#ae017e\"],\n\t\t5: [\"#feebe2\", \"#fbb4b9\", \"#f768a1\", \"#c51b8a\", \"#7a0177\"],\n\t\t6: [\"#feebe2\", \"#fcc5c0\", \"#fa9fb5\", \"#f768a1\", \"#c51b8a\", \"#7a0177\"],\n\t\t7: [\"#feebe2\", \"#fcc5c0\", \"#fa9fb5\", \"#f768a1\", \"#dd3497\", \"#ae017e\", \"#7a0177\"],\n\t\t8: [\"#fff7f3\", \"#fde0dd\", \"#fcc5c0\", \"#fa9fb5\", \"#f768a1\", \"#dd3497\", \"#ae017e\", \"#7a0177\"],\n\t\t9: [\"#fff7f3\", \"#fde0dd\", \"#fcc5c0\", \"#fa9fb5\", \"#f768a1\", \"#dd3497\", \"#ae017e\", \"#7a0177\", \"#49006a\"]\n\t},\n\t\"PuRd\": {\n\t\t3: [\"#e7e1ef\", \"#c994c7\", \"#dd1c77\"],\n\t\t4: [\"#f1eef6\", \"#d7b5d8\", \"#df65b0\", \"#ce1256\"],\n\t\t5: [\"#f1eef6\", \"#d7b5d8\", \"#df65b0\", \"#dd1c77\", \"#980043\"],\n\t\t6: [\"#f1eef6\", \"#d4b9da\", \"#c994c7\", \"#df65b0\", \"#dd1c77\", \"#980043\"],\n\t\t7: [\"#f1eef6\", \"#d4b9da\", \"#c994c7\", \"#df65b0\", \"#e7298a\", \"#ce1256\", \"#91003f\"],\n\t\t8: [\"#f7f4f9\", \"#e7e1ef\", \"#d4b9da\", \"#c994c7\", \"#df65b0\", \"#e7298a\", \"#ce1256\", \"#91003f\"],\n\t\t9: [\"#f7f4f9\", \"#e7e1ef\", \"#d4b9da\", \"#c994c7\", \"#df65b0\", \"#e7298a\", \"#ce1256\", \"#980043\", \"#67001f\"]\n\t},\n\t\"YlOrBr\": {\n\t\t3: [\"#fff7bc\", \"#fec44f\", \"#d95f0e\"],\n\t\t4: [\"#ffffd4\", \"#fed98e\", \"#fe9929\", \"#cc4c02\"],\n\t\t5: [\"#ffffd4\", \"#fed98e\", \"#fe9929\", \"#d95f0e\", \"#993404\"],\n\t\t6: [\"#ffffd4\", \"#fee391\", \"#fec44f\", \"#fe9929\", \"#d95f0e\", \"#993404\"],\n\t\t7: [\"#ffffd4\", \"#fee391\", \"#fec44f\", \"#fe9929\", \"#ec7014\", \"#cc4c02\", \"#8c2d04\"],\n\t\t8: [\"#ffffe5\", \"#fff7bc\", \"#fee391\", \"#fec44f\", \"#fe9929\", \"#ec7014\", \"#cc4c02\", \"#8c2d04\"],\n\t\t9: [\"#ffffe5\", \"#fff7bc\", \"#fee391\", \"#fec44f\", \"#fe9929\", \"#ec7014\", \"#cc4c02\", \"#993404\", \"#662506\"]\n\t},\n\t\"Purples\": {\n\t\t3: [\"#efedf5\", \"#bcbddc\", \"#756bb1\"],\n\t\t4: [\"#f2f0f7\", \"#cbc9e2\", \"#9e9ac8\", \"#6a51a3\"],\n\t\t5: [\"#f2f0f7\", \"#cbc9e2\", \"#9e9ac8\", \"#756bb1\", \"#54278f\"],\n\t\t6: [\"#f2f0f7\", \"#dadaeb\", \"#bcbddc\", \"#9e9ac8\", \"#756bb1\", \"#54278f\"],\n\t\t7: [\"#f2f0f7\", \"#dadaeb\", \"#bcbddc\", \"#9e9ac8\", \"#807dba\", \"#6a51a3\", \"#4a1486\"],\n\t\t8: [\"#fcfbfd\", \"#efedf5\", \"#dadaeb\", \"#bcbddc\", \"#9e9ac8\", \"#807dba\", \"#6a51a3\", \"#4a1486\"],\n\t\t9: [\"#fcfbfd\", \"#efedf5\", \"#dadaeb\", \"#bcbddc\", \"#9e9ac8\", \"#807dba\", \"#6a51a3\", \"#54278f\", \"#3f007d\"]\n\t},\n\t\"Blues\": {\n\t\t3: [\"#deebf7\", \"#9ecae1\", \"#3182bd\"],\n\t\t4: [\"#eff3ff\", \"#bdd7e7\", \"#6baed6\", \"#2171b5\"],\n\t\t5: [\"#eff3ff\", \"#bdd7e7\", \"#6baed6\", \"#3182bd\", \"#08519c\"],\n\t\t6: [\"#eff3ff\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#3182bd\", \"#08519c\"],\n\t\t7: [\"#eff3ff\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#4292c6\", \"#2171b5\", \"#084594\"],\n\t\t8: [\"#f7fbff\", \"#deebf7\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#4292c6\", \"#2171b5\", \"#084594\"],\n\t\t9: [\"#f7fbff\", \"#deebf7\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#4292c6\", \"#2171b5\", \"#08519c\", \"#08306b\"]\n\t},\n\t\"Greens\": {\n\t\t3: [\"#e5f5e0\", \"#a1d99b\", \"#31a354\"],\n\t\t4: [\"#edf8e9\", \"#bae4b3\", \"#74c476\", \"#238b45\"],\n\t\t5: [\"#edf8e9\", \"#bae4b3\", \"#74c476\", \"#31a354\", \"#006d2c\"],\n\t\t6: [\"#edf8e9\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#31a354\", \"#006d2c\"],\n\t\t7: [\"#edf8e9\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#41ab5d\", \"#238b45\", \"#005a32\"],\n\t\t8: [\"#f7fcf5\", \"#e5f5e0\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#41ab5d\", \"#238b45\", \"#005a32\"],\n\t\t9: [\"#f7fcf5\", \"#e5f5e0\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#41ab5d\", \"#238b45\", \"#006d2c\", \"#00441b\"]\n\t},\n\t\"Oranges\": {\n\t\t3: [\"#fee6ce\", \"#fdae6b\", \"#e6550d\"],\n\t\t4: [\"#feedde\", \"#fdbe85\", \"#fd8d3c\", \"#d94701\"],\n\t\t5: [\"#feedde\", \"#fdbe85\", \"#fd8d3c\", \"#e6550d\", \"#a63603\"],\n\t\t6: [\"#feedde\", \"#fdd0a2\", \"#fdae6b\", \"#fd8d3c\", \"#e6550d\", \"#a63603\"],\n\t\t7: [\"#feedde\", \"#fdd0a2\", \"#fdae6b\", \"#fd8d3c\", \"#f16913\", \"#d94801\", \"#8c2d04\"],\n\t\t8: [\"#fff5eb\", \"#fee6ce\", \"#fdd0a2\", \"#fdae6b\", \"#fd8d3c\", \"#f16913\", \"#d94801\", \"#8c2d04\"],\n\t\t9: [\"#fff5eb\", \"#fee6ce\", \"#fdd0a2\", \"#fdae6b\", \"#fd8d3c\", \"#f16913\", \"#d94801\", \"#a63603\", \"#7f2704\"]\n\t},\n\t\"Reds\": {\n\t\t3: [\"#fee0d2\", \"#fc9272\", \"#de2d26\"],\n\t\t4: [\"#fee5d9\", \"#fcae91\", \"#fb6a4a\", \"#cb181d\"],\n\t\t5: [\"#fee5d9\", \"#fcae91\", \"#fb6a4a\", \"#de2d26\", \"#a50f15\"],\n\t\t6: [\"#fee5d9\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#de2d26\", \"#a50f15\"],\n\t\t7: [\"#fee5d9\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#ef3b2c\", \"#cb181d\", \"#99000d\"],\n\t\t8: [\"#fff5f0\", \"#fee0d2\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#ef3b2c\", \"#cb181d\", \"#99000d\"],\n\t\t9: [\"#fff5f0\", \"#fee0d2\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#ef3b2c\", \"#cb181d\", \"#a50f15\", \"#67000d\"]\n\t},\n\t\"Greys\": {\n\t\t3: [\"#f0f0f0\", \"#bdbdbd\", \"#636363\"],\n\t\t4: [\"#f7f7f7\", \"#cccccc\", \"#969696\", \"#525252\"],\n\t\t5: [\"#f7f7f7\", \"#cccccc\", \"#969696\", \"#636363\", \"#252525\"],\n\t\t6: [\"#f7f7f7\", \"#d9d9d9\", \"#bdbdbd\", \"#969696\", \"#636363\", \"#252525\"],\n\t\t7: [\"#f7f7f7\", \"#d9d9d9\", \"#bdbdbd\", \"#969696\", \"#737373\", \"#525252\", \"#252525\"],\n\t\t8: [\"#ffffff\", \"#f0f0f0\", \"#d9d9d9\", \"#bdbdbd\", \"#969696\", \"#737373\", \"#525252\", \"#252525\"],\n\t\t9: [\"#ffffff\", \"#f0f0f0\", \"#d9d9d9\", \"#bdbdbd\", \"#969696\", \"#737373\", \"#525252\", \"#252525\", \"#000000\"]\n\t},\n\t\"PuOr\": {\n\t\t3: [\"#f1a340\", \"#f7f7f7\", \"#998ec3\"],\n\t\t4: [\"#e66101\", \"#fdb863\", \"#b2abd2\", \"#5e3c99\"],\n\t\t5: [\"#e66101\", \"#fdb863\", \"#f7f7f7\", \"#b2abd2\", \"#5e3c99\"],\n\t\t6: [\"#b35806\", \"#f1a340\", \"#fee0b6\", \"#d8daeb\", \"#998ec3\", \"#542788\"],\n\t\t7: [\"#b35806\", \"#f1a340\", \"#fee0b6\", \"#f7f7f7\", \"#d8daeb\", \"#998ec3\", \"#542788\"],\n\t\t8: [\"#b35806\", \"#e08214\", \"#fdb863\", \"#fee0b6\", \"#d8daeb\", \"#b2abd2\", \"#8073ac\", \"#542788\"],\n\t\t9: [\"#b35806\", \"#e08214\", \"#fdb863\", \"#fee0b6\", \"#f7f7f7\", \"#d8daeb\", \"#b2abd2\", \"#8073ac\", \"#542788\"],\n\t\t10: [\"#7f3b08\", \"#b35806\", \"#e08214\", \"#fdb863\", \"#fee0b6\", \"#d8daeb\", \"#b2abd2\", \"#8073ac\", \"#542788\", \"#2d004b\"],\n\t\t11: [\"#7f3b08\", \"#b35806\", \"#e08214\", \"#fdb863\", \"#fee0b6\", \"#f7f7f7\", \"#d8daeb\", \"#b2abd2\", \"#8073ac\", \"#542788\", \"#2d004b\"]\n\t},\n\t\"BrBG\": {\n\t\t3: [\"#d8b365\", \"#f5f5f5\", \"#5ab4ac\"],\n\t\t4: [\"#a6611a\", \"#dfc27d\", \"#80cdc1\", \"#018571\"],\n\t\t5: [\"#a6611a\", \"#dfc27d\", \"#f5f5f5\", \"#80cdc1\", \"#018571\"],\n\t\t6: [\"#8c510a\", \"#d8b365\", \"#f6e8c3\", \"#c7eae5\", \"#5ab4ac\", \"#01665e\"],\n\t\t7: [\"#8c510a\", \"#d8b365\", \"#f6e8c3\", \"#f5f5f5\", \"#c7eae5\", \"#5ab4ac\", \"#01665e\"],\n\t\t8: [\"#8c510a\", \"#bf812d\", \"#dfc27d\", \"#f6e8c3\", \"#c7eae5\", \"#80cdc1\", \"#35978f\", \"#01665e\"],\n\t\t9: [\"#8c510a\", \"#bf812d\", \"#dfc27d\", \"#f6e8c3\", \"#f5f5f5\", \"#c7eae5\", \"#80cdc1\", \"#35978f\", \"#01665e\"],\n\t\t10: [\"#543005\", \"#8c510a\", \"#bf812d\", \"#dfc27d\", \"#f6e8c3\", \"#c7eae5\", \"#80cdc1\", \"#35978f\", \"#01665e\", \"#003c30\"],\n\t\t11: [\"#543005\", \"#8c510a\", \"#bf812d\", \"#dfc27d\", \"#f6e8c3\", \"#f5f5f5\", \"#c7eae5\", \"#80cdc1\", \"#35978f\", \"#01665e\", \"#003c30\"]\n\t},\n\t\"PRGn\": {\n\t\t3: [\"#af8dc3\", \"#f7f7f7\", \"#7fbf7b\"],\n\t\t4: [\"#7b3294\", \"#c2a5cf\", \"#a6dba0\", \"#008837\"],\n\t\t5: [\"#7b3294\", \"#c2a5cf\", \"#f7f7f7\", \"#a6dba0\", \"#008837\"],\n\t\t6: [\"#762a83\", \"#af8dc3\", \"#e7d4e8\", \"#d9f0d3\", \"#7fbf7b\", \"#1b7837\"],\n\t\t7: [\"#762a83\", \"#af8dc3\", \"#e7d4e8\", \"#f7f7f7\", \"#d9f0d3\", \"#7fbf7b\", \"#1b7837\"],\n\t\t8: [\"#762a83\", \"#9970ab\", \"#c2a5cf\", \"#e7d4e8\", \"#d9f0d3\", \"#a6dba0\", \"#5aae61\", \"#1b7837\"],\n\t\t9: [\"#762a83\", \"#9970ab\", \"#c2a5cf\", \"#e7d4e8\", \"#f7f7f7\", \"#d9f0d3\", \"#a6dba0\", \"#5aae61\", \"#1b7837\"],\n\t\t10: [\"#40004b\", \"#762a83\", \"#9970ab\", \"#c2a5cf\", \"#e7d4e8\", \"#d9f0d3\", \"#a6dba0\", \"#5aae61\", \"#1b7837\", \"#00441b\"],\n\t\t11: [\"#40004b\", \"#762a83\", \"#9970ab\", \"#c2a5cf\", \"#e7d4e8\", \"#f7f7f7\", \"#d9f0d3\", \"#a6dba0\", \"#5aae61\", \"#1b7837\", \"#00441b\"]\n\t},\n\t\"PiYG\": {\n\t\t3: [\"#e9a3c9\", \"#f7f7f7\", \"#a1d76a\"],\n\t\t4: [\"#d01c8b\", \"#f1b6da\", \"#b8e186\", \"#4dac26\"],\n\t\t5: [\"#d01c8b\", \"#f1b6da\", \"#f7f7f7\", \"#b8e186\", \"#4dac26\"],\n\t\t6: [\"#c51b7d\", \"#e9a3c9\", \"#fde0ef\", \"#e6f5d0\", \"#a1d76a\", \"#4d9221\"],\n\t\t7: [\"#c51b7d\", \"#e9a3c9\", \"#fde0ef\", \"#f7f7f7\", \"#e6f5d0\", \"#a1d76a\", \"#4d9221\"],\n\t\t8: [\"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\"],\n\t\t9: [\"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#f7f7f7\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\"],\n\t\t10: [\"#8e0152\", \"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\", \"#276419\"],\n\t\t11: [\"#8e0152\", \"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#f7f7f7\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\", \"#276419\"]\n\t},\n\t\"RdBu\": {\n\t\t3: [\"#ef8a62\", \"#f7f7f7\", \"#67a9cf\"],\n\t\t4: [\"#ca0020\", \"#f4a582\", \"#92c5de\", \"#0571b0\"],\n\t\t5: [\"#ca0020\", \"#f4a582\", \"#f7f7f7\", \"#92c5de\", \"#0571b0\"],\n\t\t6: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#d1e5f0\", \"#67a9cf\", \"#2166ac\"],\n\t\t7: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#f7f7f7\", \"#d1e5f0\", \"#67a9cf\", \"#2166ac\"],\n\t\t8: [\"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\"],\n\t\t9: [\"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#f7f7f7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\"],\n\t\t10: [\"#67001f\", \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\", \"#053061\"],\n\t\t11: [\"#67001f\", \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#f7f7f7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\", \"#053061\"]\n\t},\n\t\"RdGy\": {\n\t\t3: [\"#ef8a62\", \"#ffffff\", \"#999999\"],\n\t\t4: [\"#ca0020\", \"#f4a582\", \"#bababa\", \"#404040\"],\n\t\t5: [\"#ca0020\", \"#f4a582\", \"#ffffff\", \"#bababa\", \"#404040\"],\n\t\t6: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#e0e0e0\", \"#999999\", \"#4d4d4d\"],\n\t\t7: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#ffffff\", \"#e0e0e0\", \"#999999\", \"#4d4d4d\"],\n\t\t8: [\"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#e0e0e0\", \"#bababa\", \"#878787\", \"#4d4d4d\"],\n\t\t9: [\"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#ffffff\", \"#e0e0e0\", \"#bababa\", \"#878787\", \"#4d4d4d\"],\n\t\t10: [\"#67001f\", \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#e0e0e0\", \"#bababa\", \"#878787\", \"#4d4d4d\", \"#1a1a1a\"],\n\t\t11: [\"#67001f\", \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#ffffff\", \"#e0e0e0\", \"#bababa\", \"#878787\", \"#4d4d4d\", \"#1a1a1a\"]\n\t},\n\t\"RdYlBu\": {\n\t\t3: [\"#fc8d59\", \"#ffffbf\", \"#91bfdb\"],\n\t\t4: [\"#d7191c\", \"#fdae61\", \"#abd9e9\", \"#2c7bb6\"],\n\t\t5: [\"#d7191c\", \"#fdae61\", \"#ffffbf\", \"#abd9e9\", \"#2c7bb6\"],\n\t\t6: [\"#d73027\", \"#fc8d59\", \"#fee090\", \"#e0f3f8\", \"#91bfdb\", \"#4575b4\"],\n\t\t7: [\"#d73027\", \"#fc8d59\", \"#fee090\", \"#ffffbf\", \"#e0f3f8\", \"#91bfdb\", \"#4575b4\"],\n\t\t8: [\"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee090\", \"#e0f3f8\", \"#abd9e9\", \"#74add1\", \"#4575b4\"],\n\t\t9: [\"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee090\", \"#ffffbf\", \"#e0f3f8\", \"#abd9e9\", \"#74add1\", \"#4575b4\"],\n\t\t10: [\"#a50026\", \"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee090\", \"#e0f3f8\", \"#abd9e9\", \"#74add1\", \"#4575b4\", \"#313695\"],\n\t\t11: [\"#a50026\", \"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee090\", \"#ffffbf\", \"#e0f3f8\", \"#abd9e9\", \"#74add1\", \"#4575b4\", \"#313695\"]\n\t},\n\t\"Spectral\": {\n\t\t3: [\"#fc8d59\", \"#ffffbf\", \"#99d594\"],\n\t\t4: [\"#d7191c\", \"#fdae61\", \"#abdda4\", \"#2b83ba\"],\n\t\t5: [\"#d7191c\", \"#fdae61\", \"#ffffbf\", \"#abdda4\", \"#2b83ba\"],\n\t\t6: [\"#d53e4f\", \"#fc8d59\", \"#fee08b\", \"#e6f598\", \"#99d594\", \"#3288bd\"],\n\t\t7: [\"#d53e4f\", \"#fc8d59\", \"#fee08b\", \"#ffffbf\", \"#e6f598\", \"#99d594\", \"#3288bd\"],\n\t\t8: [\"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\"],\n\t\t9: [\"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\"],\n\t\t10: [\"#9e0142\", \"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\", \"#5e4fa2\"],\n\t\t11: [\"#9e0142\", \"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\", \"#5e4fa2\"]\n\t},\n\t\"AntiSpectral\": {\n\t\t3: [\"#99d594\", \"#ffffbf\", \"#fc8d59\"],\n\t\t4: [\"#2b83ba\", \"#abdda4\", \"#fdae61\", \"#d7191c\"],\n\t\t5: [\"#d7191c\", \"#fdae61\", \"#ffffbf\", \"#abdda4\", \"#2b83ba\"],\n\t\t6: [\"#d53e4f\", \"#fc8d59\", \"#fee08b\", \"#e6f598\", \"#99d594\", \"#3288bd\"],\n\t\t7: [\"#d53e4f\", \"#fc8d59\", \"#fee08b\", \"#ffffbf\", \"#e6f598\", \"#99d594\", \"#3288bd\"],\n\t\t8: [\"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\"],\n\t\t9: [\"#3288bd\", \"#66c2a5\", \"#abdda4\", \"#ffffbf\", \"#fee08b\", \"#e6f598\", \"#fdae61\", \"#f46d43\", \"#d53e4f\"],\n\t\t10: [\"#9e0142\", \"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\", \"#5e4fa2\"],\n\t\t11: [\"#9e0142\", \"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\", \"#5e4fa2\"]\n\t},\n\t\"RdYlGn\": {\n\t\t3: [\"#fc8d59\", \"#ffffbf\", \"#91cf60\"],\n\t\t4: [\"#d7191c\", \"#fdae61\", \"#a6d96a\", \"#1a9641\"],\n\t\t5: [\"#d7191c\", \"#fdae61\", \"#ffffbf\", \"#a6d96a\", \"#1a9641\"],\n\t\t6: [\"#d73027\", \"#fc8d59\", \"#fee08b\", \"#d9ef8b\", \"#91cf60\", \"#1a9850\"],\n\t\t7: [\"#d73027\", \"#fc8d59\", \"#fee08b\", \"#ffffbf\", \"#d9ef8b\", \"#91cf60\", \"#1a9850\"],\n\t\t8: [\"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#d9ef8b\", \"#a6d96a\", \"#66bd63\", \"#1a9850\"],\n\t\t9: [\"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#d9ef8b\", \"#a6d96a\", \"#66bd63\", \"#1a9850\"],\n\t\t10: [\"#a50026\", \"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#d9ef8b\", \"#a6d96a\", \"#66bd63\", \"#1a9850\", \"#006837\"],\n\t\t11: [\"#a50026\", \"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#d9ef8b\", \"#a6d96a\", \"#66bd63\", \"#1a9850\", \"#006837\"]\n\t},\n\t\"Accent\": {\n\t\t3: [\"#7fc97f\", \"#beaed4\", \"#fdc086\"],\n\t\t4: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\"],\n\t\t5: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\", \"#386cb0\"],\n\t\t6: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\", \"#386cb0\", \"#f0027f\"],\n\t\t7: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\", \"#386cb0\", \"#f0027f\", \"#bf5b17\"],\n\t\t8: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\", \"#386cb0\", \"#f0027f\", \"#bf5b17\", \"#666666\"]\n\t},\n\t\"Dark2\": {\n\t\t3: [\"#1b9e77\", \"#d95f02\", \"#7570b3\"],\n\t\t4: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\"],\n\t\t5: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\"],\n\t\t6: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\", \"#e6ab02\"],\n\t\t7: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\", \"#e6ab02\", \"#a6761d\"],\n\t\t8: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\", \"#e6ab02\", \"#a6761d\", \"#666666\"]\n\t},\n\t\"Paired\": {\n\t\t3: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\"],\n\t\t4: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\"],\n\t\t5: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\"],\n\t\t6: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\"],\n\t\t7: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\"],\n\t\t8: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\"],\n\t\t9: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\", \"#cab2d6\"],\n\t\t10: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\", \"#cab2d6\", \"#6a3d9a\"],\n\t\t11: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\", \"#cab2d6\", \"#6a3d9a\", \"#ffff99\"],\n\t\t12: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\", \"#cab2d6\", \"#6a3d9a\", \"#ffff99\", \"#b15928\"]\n\t},\n\t\"Pastel1\": {\n\t\t3: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\"],\n\t\t4: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\"],\n\t\t5: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\"],\n\t\t6: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\"],\n\t\t7: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\", \"#e5d8bd\"],\n\t\t8: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\", \"#e5d8bd\", \"#fddaec\"],\n\t\t9: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\", \"#e5d8bd\", \"#fddaec\", \"#f2f2f2\"]\n\t},\n\t\"Pastel2\": {\n\t\t3: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\"],\n\t\t4: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\"],\n\t\t5: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\", \"#e6f5c9\"],\n\t\t6: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\", \"#e6f5c9\", \"#fff2ae\"],\n\t\t7: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\", \"#e6f5c9\", \"#fff2ae\", \"#f1e2cc\"],\n\t\t8: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\", \"#e6f5c9\", \"#fff2ae\", \"#f1e2cc\", \"#cccccc\"]\n\t},\n\t\"Set1\": {\n\t\t3: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\"],\n\t\t4: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\"],\n\t\t5: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\"],\n\t\t6: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\"],\n\t\t7: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\", \"#a65628\"],\n\t\t8: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\", \"#a65628\", \"#f781bf\"],\n\t\t9: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\", \"#a65628\", \"#f781bf\", \"#999999\"]\n\t},\n\t\"Set2\": {\n\t\t3: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\"],\n\t\t4: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\"],\n\t\t5: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\", \"#a6d854\"],\n\t\t6: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\", \"#a6d854\", \"#ffd92f\"],\n\t\t7: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\", \"#a6d854\", \"#ffd92f\", \"#e5c494\"],\n\t\t8: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\", \"#a6d854\", \"#ffd92f\", \"#e5c494\", \"#b3b3b3\"]\n\t},\n\t\"Set3\": {\n\t\t3: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\"],\n\t\t4: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\"],\n\t\t5: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\"],\n\t\t6: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\"],\n\t\t7: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\"],\n\t\t8: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\"],\n\t\t9: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\", \"#d9d9d9\"],\n\t\t10: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\", \"#d9d9d9\", \"#bc80bd\"],\n\t\t11: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\", \"#d9d9d9\", \"#bc80bd\", \"#ccebc5\"],\n\t\t12: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\", \"#d9d9d9\", \"#bc80bd\", \"#ccebc5\", \"#ffed6f\"]\n\t}\n};","/*******************************************************************************\n * Copyright (c) 2020, Lawrence Livermore National Security, LLC.\n * Produced at the Lawrence Livermore National Laboratory.\n *\n * Written by Suraj Kesavan .\n *\n * LLNL-CODE-740862. All rights reserved.\n *\n * This file is part of CallFlow. For details, see:\n * https://github.com/LLNL/CallFlow\n * Please also read the LICENSE file for the MIT License notice.\n ******************************************************************************/\nimport * as d3 from \"d3\";\nimport * as chroma from \"chroma-js\";\nimport { CategoricalColors, UniformColorMaps, ColorBrewer } from \"./COLORS\";\n\nexport default class Color {\n\tconstructor() {\n\t\tthis.colorscale = null;\n\t\tthis.grey = \"#252525\";\n\t\tthis.highlight = \"#AF9B90\";\n\t\tthis.ensemble = \"#C0C0C0\";\n\t\tthis.target =\n\t\t\tthis.catColors = [\"#3366cc\", \"#dc3912\", \"#ff9900\", \"#109618\", \"#990099\", \"#0099c6\", \"#dd4477\", \"#66aa00\", \"#b82e2e\", \"#316395\", \"#994499\", \"#22aa99\", \"#aaaa11\", \"#6633cc\", \"#e67300\", \"#8b0707\", \"#651067\", \"#329262\", \"#5574a6\", \"#3b3eac\"];\n\t\tthis.colorPadding = [];\n\t\tthis.categoricalColors = CategoricalColors;\n\t\tthis.colorbrewer = ColorBrewer;\n\t\tthis.UniformColorMaps = UniformColorMaps;\n\t}\n\n\tgetScale() {\n\t\treturn this.colorscale;\n\t}\n\n\tgetColor(dictionary, attribute) {\n\t\treturn this.colorscale(dictionary[attribute]);\n\t}\n\n\tgetColorByValue(value) {\n\t\treturn this.rgbArrayToHex(this.colorscale(value));\n\t}\n\n\tsetColorPadding(colorPoint) {\n\t\tlet ret = [];\n\t\tlet fraction = 1 / colorPoint;\n\t\tfor (let i = 0; i < colorPoint; i += 1) {\n\t\t\tret.push(i * fraction);\n\t\t}\n\t\tret.push(1);\n\t\treturn ret;\n\t}\n\n\tsetColorScale(type = \"Inclusive\", min = 0, max = 0, scaleType = \"Default\", colorPoint = \"9\") {\n\t\tthis.type = type;\n\t\tthis.colorMin = min;\n\t\tthis.colorMax = max;\n\t\tlet colors = this.colorbrewer[scaleType][colorPoint];\n\t\tthis.colorPadding = this.setColorPadding(colorPoint);\n\n\t\tlet colorscale = null;\n\t\tswitch (type) {\n\t\tcase \"Module\":\n\t\t\tcolorscale = d3.scaleOrdinal(d3.schemeCategory10);\n\t\t\tbreak;\n\t\tcase \"Inclusive\":\n\t\t\tcolorscale = chroma.scale(colors)\n\t\t\t\t.padding([0.0, 0.0])\n\t\t\t\t.gamma(0.5)\n\t\t\t\t.domain([min, max]);\n\t\t\tbreak;\n\t\tcase \"Exclusive\":\n\t\t\tcolorscale = chroma.scale(colors)\n\t\t\t\t.padding([0.0, 0.0])\n\t\t\t\t.gamma(0.5)\n\t\t\t\t.domain([min, max]);\n\t\t\tbreak;\n\t\tcase \"Imbalance\":\n\t\t\tcolorscale = chroma.scale(colors)\n\t\t\t\t.domain([0, 1]);\n\t\t\tbreak;\n\t\tcase \"MeanDiff\": {\n\t\t\tlet mmax = Math.max(Math.abs(min), Math.abs(max));\n\t\t\tcolorscale = chroma.scale(\"RdYlGn\")\n\t\t\t\t.padding([0.0, 0.0])\n\t\t\t\t.domain([mmax, -mmax]);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"RankDiff\":\n\t\t\tcolorscale = chroma.scale(colors)\n\t\t\t\t.gamma(0.5)\n\t\t\t\t.domain([min, max]);\n\t\t\tbreak;\n\t\tcase \"MeanGradients\":\n\t\t\tcolorscale = chroma.scale(colors)\n\t\t\t\t.padding([0.0, 0.0])\n\t\t\t\t.gamma(0.5)\n\t\t\t\t.domain([min, max]);\n\t\t\tbreak;\n\t\t}\n\t\tthis.colorscale = colorscale;\n\t}\n\n\tCYKToRGB(CMYK) {\n\t\tlet result = {};\n\t\tlet c = CMYK[0];\n\t\tlet m = CMYK[1];\n\t\tlet y = CMYK[2];\n\t\tlet k = 0;\n\n\t\tresult.r = 1 - Math.min(1, c * (1 - k) + k);\n\t\tresult.g = 1 - Math.min(1, m * (1 - k) + k);\n\t\tresult.b = 1 - Math.min(1, y * (1 - k) + k);\n\n\t\tresult.r = Math.round(result.r * 255);\n\t\tresult.g = Math.round(result.g * 255);\n\t\tresult.b = Math.round(result.b * 255);\n\n\t\tfunction componentToHex(c) {\n\t\t\tvar hex = c.toString(16);\n\t\t\treturn hex.length == 1 ? \"0\" + hex : hex;\n\t\t}\n\n\t\treturn \"#\" + componentToHex(result.r) + componentToHex(result.g) + componentToHex(result.b);\n\t}\n\n\tsetContrast(hex) {\n\t\tconst rgb = this.hexToRgb(hex);\n\t\tconst o = Math.round(((parseInt(rgb.r) * 299) +\n\t\t\t(parseInt(rgb.g) * 587) +\n\t\t\t(parseInt(rgb.b) * 114)) / 1000);\n\n\t\treturn (o > 128) ? \"#000\" : \"#fff\";\n\t}\n\n\tgetAllColors() {\n\t\treturn Object.keys(this.colorbrewer);\n\t}\n\n\tgetCatColor(id) {\n\t\treturn this.catColors[id];\n\t}\n\n\thexToRgb(hex) {\n\t\tconst result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\t\treturn result ? {\n\t\t\tr: parseInt(result[1], 16),\n\t\t\tg: parseInt(result[2], 16),\n\t\t\tb: parseInt(result[3], 16),\n\t\t} : null;\n\t}\n\n\trgbToHex(r, g, b) {\n\t\treturn \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n\t}\n\n\trgbArrayToHex(color_arr) {\n\t\tcolor_arr = color_arr._rgb;\n\t\tlet r = Math.floor(color_arr[0]);\n\t\tlet g = Math.floor(color_arr[1]);\n\t\tlet b = Math.floor(color_arr[2]);\n\t\treturn \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n\t}\n\n\tvalToPercentColor(val, colormap) {\n\t\tconst idx = Math.min(\n\t\t\tMath.max(0, Math.round(val * colormap.length)),\n\t\t\tcolormap.length - 1);\n\n\t\treturn colormap[idx];\n\t}\n\n\tpercentColToD3Rgb(percentCol) {\n\t\tconst col256 = percentCol.map(elm => Math.round(elm * 255));\n\t\treturn `rgb(${col256[0]}, ${col256[1]}, ${col256[2]})`;\n\t}\n\n\tvalToD3Rgb(val, colormap) {\n\t\treturn this.percentColToD3Rgb(this.valToPercentColor(val, colormap));\n\t}\n\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport Vue from \"vue\";\n\nconst EventBus = new Vue();\n\nexport default EventBus;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.summaryChip)+\" \")]),_c('v-spacer'),_c('span',{staticClass:\"component-info\"},[_vm._v(\" Encoding = \"+_vm._s(_vm.selectedMetric)+\" runtime. \")])],1),_c('v-layout',[_c('svg',{attrs:{\"id\":_vm.id}},[_c('g',{attrs:{\"id\":\"container\"}},[_c('EnsembleEdges',{ref:\"EnsembleEdges\"}),_c('EnsembleNodes',{ref:\"EnsembleNodes\"}),_c('MiniHistograms',{ref:\"MiniHistograms\"}),_c('EnsembleColorMap',{ref:\"EnsembleColorMap\"})],1)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\nimport * as d3 from \"d3\";\nimport { scalePow } from \"d3-scale\";\nimport { max, min, sum } from \"d3-array\";\n\nexport default function Sankey() {\n\tvar sankey = {},\n\t\tnodeWidth = 24,\n\t\tnodePadding = 8,\n\t\tsize = [1, 1],\n\t\tnodes = [],\n\t\tlinks = [],\n\t\tlevelSpacing = 10,\n\t\treferenceValue = 0,\n\t\tminNodeScale = 0,\n\t\tmaxLevel = 1,\n\t\tnodeMap = {},\n\t\tdataset = \"\",\n\t\ttargetDataset = \"\",\n\t\tstore = {},\n\t\tdatasets = [],\n\t\tdebug = true,\n\t\tnodesByBreadth = [],\n\t\tmax_dy = 0,\n\t\tfitNodeInWindowHeight = 5;\n\n\tlet widthScale;\n\tlet minDistanceBetweenNode = 0;\n\n\tsankey.nodeWidth = function (_) {\n\t\tif (!arguments.length) {return nodeWidth;}\n\t\tnodeWidth = +_;\n\t\treturn sankey;\n\t};\n\n\tsankey.levelSpacing = function (_) {\n\t\tif (!arguments.length) {return levelSpacing;}\n\t\tlevelSpacing = +_;\n\t\treturn sankey;\n\t};\n\n\tsankey.nodePadding = function (_) {\n\t\tif (!arguments.length) {return nodePadding;}\n\t\tnodePadding = +_;\n\t\treturn sankey;\n\t};\n\n\tsankey.nodes = function (_) {\n\t\tif (!arguments.length) {return nodes;}\n\t\tnodes = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.links = function (_) {\n\t\tif (!arguments.length) {return links;}\n\t\tlinks = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.size = function (_) {\n\t\tif (!arguments.length) {return size;}\n\t\tsize = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.maxLevel = function (_) {\n\t\tif (!arguments.length) {return maxLevel;}\n\t\tmaxLevel = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.dataset = function (_) {\n\t\tif (!arguments.length) {return dataset;}\n\t\tdataset = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.targetDataset = function (_) {\n\t\tif (!arguments.length) {return targetDataset;}\n\t\ttargetDataset = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.datasets = function (_) {\n\t\tif (!arguments.length) {return datasets;}\n\t\tdatasets = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.store = function (_) {\n\t\tif (!arguments.length) {return store;}\n\t\tstore = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.layout = function (iterations) {\n\t\taddLinkID();\n\t\tcomputeNodeLinks();\n\t\tconsole.debug(\"[Sankey] Computed Node links.\");\n\t\tcomputeNodeValues();\n\t\tconsole.debug(\"[Sankey] Computed node values.\");\n\t\tcomputeNodeBreadths();\n\t\tconsole.debug(\"[Sankey] Computed node breadths.\");\n\t\tcomputeNodeDepths(iterations);\n\t\tconsole.debug(\"[Sankey] Computed node depths\");\n\t\tcomputeLinkDepths();\n\t\tconsole.debug(\"[Sankey] Computed linke depths.\");\n\t\treturn sankey;\n\t};\n\n\tsankey.relayout = function () {\n\t\tcomputeLinkDepths();\n\t\treturn sankey;\n\t};\n\n\tsankey.setMinNodeScale = function (_) {\n\t\tif (!arguments.length) {return minNodeScale;}\n\t\tminNodeScale = +_;\n\t\treturn sankey;\n\t};\n\n\tsankey.link = function () {\n\t\tvar curvature = .4;\n\n\t\t// this function draw links at bottom\n\t\tfunction link(d) {\n\t\t\tvar x0 = d.source.x + d.source.height,\n\t\t\t\tx1 = d.target.x,\n\t\t\t\txi = d3.interpolateNumber(x0, x1),\n\t\t\t\tx2 = xi(curvature),\n\t\t\t\tx3 = xi(1 - curvature),\n\t\t\t\ty0 = d.source.y + d.sy + d.source.height / 2,\n\t\t\t\ty1 = d.target.y + d.ty + d.target.height / 2;\n\t\t\treturn \"M\" + x0 + \",\" + y0\n\t\t\t\t+ \"C\" + x2 + \",\" + y0\n\t\t\t\t+ \" \" + x3 + \",\" + y1\n\t\t\t\t+ \" \" + x1 + \",\" + y1;\n\t\t}\n\n\t\tlink.curvature = function (_) {\n\t\t\tif (!arguments.length) {return curvature;}\n\t\t\tcurvature = +_;\n\t\t\treturn link;\n\t\t};\n\t\treturn link;\n\t};\n\n\tfunction addLinkID() {\n\t\tlet idx = 0, node;\n\t\tnodes.forEach(function (node) {\n\t\t\tnodeMap[node.id] = node;\n\t\t\tif (debug) {\n\t\t\t\tconsole.debug(\"[Assign Link ids] \", node.id, \"with index: \", idx);\n\t\t\t}\n\t\t\tidx += 1;\n\t\t});\n\n\t\tlinks.forEach(function (link) {\n\t\t\tif (nodeMap[link.source] == undefined) {\n\t\t\t\tnodeMap[link.source] = idx;\n\t\t\t\tidx += 1;\n\t\t\t}\n\n\t\t\tif (nodeMap[link.target] == undefined) {\n\t\t\t\tnodeMap[link.target] = idx;\n\t\t\t\tidx += 1;\n\t\t\t}\n\t\t\tlink.source_data = nodeMap[link.source];\n\t\t\tlink.target_data = nodeMap[link.target];\n\t\t});\n\t}\n\n\n\t// Populate the sourceLinks and targetLinks for each node.\n\t// Also, if the source and target are not objects, assume they are indices.\n\tfunction computeNodeLinks() {\n\t\tnodes.forEach(function (node) {\n\t\t\tnode.sourceLinks = [];\n\t\t\tnode.targetLinks = [];\n\t\t\tnode[\"maxLinkVal\"] = 0;\n\t\t\tnode[\"minLinkVal\"] = 1000000000000000;\n\t\t});\n\t\tlinks.forEach(function (link) {\n\t\t\tlink.source_data.sourceLinks.push(link);\n\t\t\tlink.source_data.maxLinkVal = Math.max(link.source_data.maxLinkVal, link[\"weight\"]);\n\t\t\tlink.source_data.minLinkVal = Math.min(link.source_data.minLinkVal, link[\"weight\"]);\n\n\t\t\tlink.target_data.targetLinks.push(link);\n\t\t\tlink.target_data.minLinkVal = Math.min(link.target_data.minLinkVal, link[\"weight\"]);\n\t\t\tlink.target_data.maxLinkVal = Math.max(link.target_data.maxLinkVal, link[\"weight\"]);\n\t\t});\n\n\t\tnodes.forEach(function (node) {\n\t\t\tlet numberOfLinks = Math.max(node.sourceLinks.length, node.targetLinks.length);\n\n\t\t\tif (node.sourceLinks.length == 0) {\n\t\t\t\t//it has no outgoing links\n\t\t\t\tnumberOfLinks = node.targetLinks.length;\n\t\t\t}\n\t\t\tnode[\"maxLinks\"] = numberOfLinks;\n\t\t});\n\t}\n\n\t// Compute the value (size) of each node by summing the associated links.\n\tfunction computeNodeValues() {\n\t\tnodes.forEach(function (node) {\n\t\t\tlet sourceSum = sum(node.sourceLinks, (link) => {\n\t\t\t\treturn link.weight;\n\t\t\t});\n\n\t\t\tlet targetSum = sum(node.targetLinks, (link) => {\n\t\t\t\treturn link.weight;\n\t\t\t});\n\n\n\t\t\tlet sourceTargetSum = sum(node.sourceLinks, (link) => {\n\t\t\t\treturn link.targetWeight;\n\t\t\t});\n\n\t\t\tlet targetTargetSum = sum(node.targetLinks, (link) => {\n\t\t\t\treturn link.targetWeight;\n\t\t\t});\n\n\t\t\tnode.max_flow = Math.max(sourceSum, targetSum);\n\n\t\t\tif (node.type == \"intermediate\") {\n\t\t\t\t// console.log(node.name, node.value, node.targetValue);\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// node.value = Math.max(node['actual_time']['Inclusive'], node['actual_time']['Exclusive'])\n\t\t\t\tnode.value = node[\"actual_time\"][\"Exclusive\"];\n\t\t\t\tnode.targetValue = 0;\n\t\t\t\tif (node[store.selectedTargetDataset] != undefined) {\n\t\t\t\t\tnode.targetValue = node[store.selectedTargetDataset][\"actual_time\"][\"Inclusive\"];\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Relaxing the edges a nodes a bit to account for the flow. But target edges arent correct.\n\t\t\tnode.value = Math.max(node.value, Math.max(sourceSum, targetSum));\n\t\t\tif (node[store.selectedTargetDataset] != undefined) {\n\t\t\t\tnode.targetValue = Math.max(node.targetValue, Math.max(sourceTargetSum, targetTargetSum));\n\t\t\t}\n\n\t\t\tconsole.debug(\"[Compute node values] Adjusted flow\", node.id, \": \", node.value);\n\t\t\tconsole.debug(\"[Compute node values] Adjusted target flow\", node.id, \": \", node.targetValue);\n\t\t});\n\t}\n\n\n\t//////////////////// Associated functions for : computeNodeBreadths /////////////////\n\tfunction moveSourcesRight() {\n\t\tnodes.forEach(function (node) {\n\t\t\tif (!node.targetLinks.length) {\n\t\t\t\tnode.level = d3.min(node.sourceLinks, function (d) {\n\t\t\t\t\treturn d.target_data.level;\n\t\t\t\t}) - 1;\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction scaleNodeBreadths(kx) {\n\t\tnodes.forEach(function (node) {\n\t\t\tlet x = widthScale(node.level);\n\t\t\tnode.x = x;\n\t\t});\n\t}\n\n\t// Iteratively assign the breadth (x-position) for each node.\n\t// Nodes are assigned the maximum breadth of incoming neighbors plus one;\n\t// nodes with no incoming links are assigned breadth zero, while\n\t// nodes with no outgoing links are assigned the maximum breadth.\n\tfunction computeNodeBreadths() {\n\t\tlet remainingNodes = nodes;\n\t\tlet nextNodes = [];\n\t\tlet level = 0;\n\t\tlet count = 0;\n\t\twhile (remainingNodes.length) {\n\t\t\tnextNodes = [];\n\t\t\tremainingNodes.forEach(function (node) {\n\t\t\t\tnode.level = level;\n\t\t\t\tnode.dx = nodeWidth;\n\t\t\t\tnode.sourceLinks.forEach(function (link) {\n\t\t\t\t\tnextNodes.push(link.target_data);\n\t\t\t\t});\n\t\t\t});\n\t\t\tremainingNodes = nextNodes;\n\t\t\tlevel += 1;\n\t\t\tcount += 1;\n\t\t}\n\n\t\tconsole.debug(\"[Compute node breadths] Number of levels: \", level);\n\n\t\tminDistanceBetweenNode = nodeWidth * 2;\n\t\twidthScale = scalePow().domain([0, level]).range([minDistanceBetweenNode, size[0]]);\n\t\tscaleNodeBreadths((size[0] - nodeWidth) / (maxLevel));\n\t}\n\n\t//////////////////// Associated functions for : ComputeNodeDepths /////////////////\n\tfunction resolveOutsidePositioning() {\n\t\tfor (let node of nodes) {\n\t\t\tnode.height *= (1 - max_dy / size[1]);\n\t\t}\n\n\t\tfor (let link of links) {\n\t\t\tlink.height *= (1 - max_dy / size[1]);\n\t\t}\n\n\t\tnodesByBreadth.forEach(function (nodes) {\n\t\t\tnodes.sort(ascendingDepth);\n\n\t\t\tfor (let i = nodes.length - 1; i >= 0; --i) {\n\t\t\t\tlet node = nodes[i];\n\t\t\t\tlet dy = node.y - node.y * (1 - max_dy / size[1]);\n\t\t\t\tnode.y -= dy;\n\n\t\t\t\tif (i != 0) {\n\t\t\t\t\tnode.y += i * nodePadding;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction pushIntermediateNodeBottom(nodes) {\n\t\tlet tempNode;\n\t\tfor (let i = 0; i < nodes.length; i += 1) {\n\t\t\tif (nodes[i].id.split(\"_\")[0] == \"intermediate\") {\n\t\t\t\ttempNode = nodes[i];\n\t\t\t\tnodes.splice(i, 1);\n\t\t\t}\n\t\t}\n\t\tif (tempNode != undefined) {\n\t\t\tnodes.push(tempNode);\n\t\t}\n\t\treturn nodes;\n\t}\n\n\tfunction pushNodeBottomIfIntermediateTargets(nodes) {\n\t\tlet tempNode;\n\t\tfor (let i = 0; i < nodes.length; i += 1) {\n\t\t\tlet targets = nodes[i].targetLinks;\n\t\t\tfor (let j = 0; j < targets.length; j += 1) {\n\t\t\t\tlet target = targets[j].target;\n\t\t\t\tif (target.split(\"_\")[0] == \"intermediate\") {\n\t\t\t\t\ttempNode = nodes[i];\n\t\t\t\t\tnodes.splice(i, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (tempNode != undefined) {\n\t\t\tnodes.push(tempNode);\n\t\t}\n\t\treturn nodes;\n\t}\n\n\tfunction fixEnsembleScale() {\n\t\tlet ensembleScale = min(nodesByBreadth, (column) => {\n\t\t\tvar divValue = 0;\n\t\t\tlet nodeCount = 0;\n\t\t\tif (referenceValue > 0) {\n\t\t\t\tdivValue = referenceValue;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdivValue = sum(column, (node) => {\n\t\t\t\t\treturn node.value;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn Math.abs((size[1] - (fitNodeInWindowHeight) * nodePadding)) / divValue;\n\t\t});\n\n\t\treturn ensembleScale;\n\t}\n\n\tfunction fixTargetScale() {\n\t\tlet targetScale = d3.min(nodesByBreadth, (column) => {\n\t\t\tvar divValue = 1;\n\t\t\tif (referenceValue > 0) {\n\t\t\t\tdivValue = referenceValue;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdivValue = sum(column, (node) => {\n\t\t\t\t\treturn node.targetValue;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn Math.abs((size[1] - (nodes.length - 1) * nodePadding)) / divValue;\n\t\t});\n\t\treturn targetScale;\n\t}\n\n\tfunction fixFlowScale(link) {\n\t\tlet sourceSum = sum(link.source_data.sourceLinks, (link) => {\n\t\t\treturn link.weight;\n\t\t});\n\n\t\tlet targetSum = sum(link.target_data.targetLinks, (link) => {\n\t\t\treturn link.weight;\n\t\t});\n\n\n\t\t// let sourceTargetSum = sum(node.sourceLinks, (link) => {\n\t\t// return link.targetWeight\n\t\t// })\n\n\t\t// let targetTargetSum = sum(node.targetLinks, (link) => {\n\t\t// return link.targetWeight\n\t\t// })\n\n\t\tlet total_value = Math.max(link.source_data.value, link.source_data.max_flow);\n\n\t\treturn (total_value / link.source_data.max_flow);\n\t}\n\n\tfunction initializeNodeDepth() {\n\t\tlet scale = fixEnsembleScale();\n\t\tlet levelCount = 0;\n\n\t\tnodesByBreadth.forEach(function (nodes) {\n\t\t\tif (store.selectedSuperNodePositionMode == \"Minimal edge crossing\") {\n\t\t\t\tconsole.log(\"TODO: Minimize edge crossing.\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnodes.sort(function (a, b) {\n\t\t\t\t\tif (store.selectedSuperNodePositionMode == \"Inclusive\") {\n\t\t\t\t\t\treturn b[\"time (inc)\"] - a[\"time (inc)\"];\n\t\t\t\t\t}\n\t\t\t\t\telse if (store.selectedSuperNodePositionMode == \"Exclusive\") {\n\t\t\t\t\t\treturn b[\"time\"] - a[\"time\"];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tnodes = pushIntermediateNodeBottom(nodes);\n\t\t\t// nodes = pushNodeBottomIfIntermediateTargets(nodes)\n\n\t\t\tnodes.forEach(function (node, i) {\n\t\t\t\tlet nodeHeight = 0;\n\t\t\t\tlinks.forEach(function (edge) {\n\t\t\t\t\tif (edge[\"target\"] == node) {\n\t\t\t\t\t\tif (edge[\"source\"] != null && edge[\"source\"][\"y\"] != null) {\n\t\t\t\t\t\t\tnodeHeight = Math.max(nodeHeight, edge[\"source\"][\"y\"]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tnode.y = Math.max(nodeHeight, i);\n\t\t\t\tnode.parY = node.y;\n\n\t\t\t\tconsole.debug(\"[Compute node depths] Node: \", node.id);\n\t\t\t\tconsole.debug(\"[Compute node depths] value: \", node.value);\n\t\t\t\tconsole.debug(\"[Compute node depths] minNodeScale: \", minNodeScale);\n\t\t\t\tconsole.debug(\"[Compute node depths] Ensemble scaling: \", scale);\n\n\t\t\t\tnode.height = node.value * minNodeScale * scale;\n\t\t\t\tnode.targetHeight = node.targetValue * minNodeScale * scale;\n\n\t\t\t\tconsole.debug(\"[Compute node depths] Node height: \", node.height);\n\t\t\t});\n\t\t\tlevelCount += 1;\n\t\t});\n\n\t\tlinks.forEach(function (link) {\n\t\t\tlet flowScale = link.source_data.value / link.source_data.max_flow;\n\t\t\tlink.scaled_weight = link.weight * flowScale;\n\t\t\tlink.height = link.scaled_weight * scale;\n\n\t\t\tlet targetEnsembleRatio = (link.source_data.targetValue / link.source_data.value);\n\t\t\tlink.targetWeight = link.weight * targetEnsembleRatio;\n\t\t\tlink.targetHeight = link.targetWeight * scale;\n\n\t\t\tlet heightRatio = link.targetHeight / link.height;\n\t\t\tif (heightRatio != targetEnsembleRatio) {\n\t\t\t\tconsole.log(\"Error: The target-ensemble link height ratio is incosistent with the link's value\");\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction relaxLeftToRight(alpha) {\n\t\tnodesByBreadth.forEach(function (nodes, breadth) {\n\t\t\tnodes.forEach(function (node) {\n\t\t\t\tif (node.targetLinks.length) {\n\t\t\t\t\tvar y = d3.sum(node.targetLinks, weightedSource) / d3.sum(node.targetLinks, value);\n\t\t\t\t\tnode.y += (y - center(node)) * alpha;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tfunction weightedSource(link) {\n\t\t\treturn center(link.source) * link.weight;\n\t\t}\n\t}\n\n\tfunction relaxRightToLeft(alpha) {\n\t\tnodesByBreadth.slice().reverse().forEach(function (nodes) {\n\t\t\tnodes.forEach(function (node) {\n\t\t\t\tif (node.sourceLinks.length) {\n\t\t\t\t\tvar y = d3.sum(node.sourceLinks, weightedTarget) / d3.sum(node.sourceLinks, value);\n\n\t\t\t\t\tnode.y += (y + center(node)) * alpha;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tfunction weightedTarget(link) {\n\t\t\treturn center(link.target) * link.weight;\n\t\t}\n\t}\n\n\tfunction resolveCollisions() {\n\t\tlet max_dy = 0;\n\t\tnodesByBreadth.forEach(function (nodes) {\n\t\t\tvar node,\n\t\t\t\tdy,\n\t\t\t\ty0 = 0;\n\n\t\t\t// Push any overlapping nodes down.\n\t\t\tnodes.sort(ascendingDepth);\n\n\t\t\tfor (node of nodes) {\n\t\t\t\tdy = y0 - node.y;\n\t\t\t\tif (dy > 0) {\n\t\t\t\t\tnode.y += dy;\n\t\t\t\t}\n\t\t\t\ty0 = node.y + node.height + nodePadding;\n\t\t\t}\n\n\t\t\t// If the bottommost node goes outside the bounds, push it back up.\n\t\t\tdy = y0 - nodePadding - size[1];\n\t\t\tif (dy > 0) {\n\t\t\t\ty0 = node.y -= dy;\n\t\t\t\t// Push any overlapping nodes back up.\n\t\t\t\tfor (let i = nodes.length - 2; i > 0; --i) {\n\t\t\t\t\tnode = nodes[i];\n\t\t\t\t\tdy = node.y + node.height + nodePadding - y0;\n\t\t\t\t\tif (dy > 0) {node.y -= dy;}\n\t\t\t\t\ty0 = node.y;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdy = y0 - nodePadding - size[1];\n\t\t\tif (dy > 0) {\n\t\t\t\tmax_dy = Math.max(dy, max_dy);\n\t\t\t}\n\t\t});\n\n\t\treturn max_dy;\n\t}\n\n\tfunction resolveCollisions_old(alpha) {\n\t\tconst i = nodesByBreadth.length >> 1;\n\t\tconst subject = nodesByBreadth[i];\n\t\tsubject.y = resolveCollisionsBottomToTop(nodesByBreadth, subject.y - nodePadding, i - 1, alpha);\n\t\t// resolveCollisionsTopToBottom(nodesByBreadth, subject.y1 + nodePadding, i + 1, alpha);\n\t\tsubject.y = resolveCollisionsBottomToTop(nodesByBreadth, subject.y, nodesByBreadth.length - 1, alpha);\n\t\t// resolveCollisionsTopToBottom(nodesByBreadth, y0, 0, alpha);\n\t}\n\n\t// Push any overlapping nodes down.\n\tfunction resolveCollisionsTopToBottom(nodes, y, i, alpha) {\n\t\tfor (; i < nodes.length; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst dy = (y - node.y0) * alpha;\n\t\t\tif (dy > 1e-6) {node.y0 += dy, node.y1 += dy;}\n\t\t\ty = node.y1 + nodePadding;\n\t\t}\n\t}\n\n\t// Push any overlapping nodes up.\n\tfunction resolveCollisionsBottomToTop(nodes, y, i, alpha) {\n\t\tfor (; i >= 0; --i) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst dy = (node.y1 - y) * alpha;\n\t\t\tif (dy > 1e-6) {node.y0 -= dy, node.y1 -= dy;}\n\t\t\ty = node.y0 - nodePadding;\n\t\t}\n\t\treturn y;\n\t}\n\n\t// function ascendingDepth(a, b) {\n\t// console.log(a['parY'], b['parY'])\n\t// if (a[\"parY\"] > b[\"parY\"]) {\n\t// return a[\"parY\"] - b[\"parY\"];\n\t// }\n\t// return a[\"maxLinks\"] - b[\"maxLinks\"];\n\t// }\n\n\tfunction ascendingDepth(a, b) {\n\t\t// if (a[\"parY\"] > b[\"parY\"]) {\n\t\t// return a[\"parY\"] - b[\"parY\"];\n\t\t// }\n\t\t// return a[\"maxLinks\"] - b[\"maxLinks\"];\n\t\treturn a[\"y\"] - b[\"y\"];\n\t}\n\n\tfunction computeNodeDepths(iterations) {\n\t\t// Nodes by breadth does not consider the intermediate nodes.\n\t\tnodesByBreadth = d3.nest()\n\t\t\t.key(function (d) { return d.level; })\n\t\t\t.sortKeys(d3.ascending)\n\t\t\t.entries(nodes)\n\t\t\t.map(function (d) {\n\t\t\t\tlet ret = [];\n\t\t\t\tfor (let i = 0; i < d.values.length; i += 1) {\n\t\t\t\t\tlet node = d.values[i];\n\t\t\t\t\tret.push(d.values[i]);\n\t\t\t\t}\n\t\t\t\treturn ret;\n\t\t\t});\n\n\t\tinitializeNodeDepth();\n\t\tresolveCollisions();\n\n\t\tfor (var i = 0; i < iterations; ++i) {\n\t\t\tlet alpha = Math.pow(0.99, i);\n\t\t\tlet beta = Math.max(1 - alpha, (i + 1) / iterations);\n\t\t\trelaxRightToLeft(alpha);\n\t\t\tmax_dy = resolveCollisions(beta);\n\t\t\trelaxLeftToRight(alpha);\n\t\t\tmax_dy = resolveCollisions(beta);\n\t\t}\n\n\t\t// if (max_dy > 0) {\n\t\t// resolveOutsidePositioning()\n\t\t// }\n\t}\n\n\tfunction computeLinkDepths() {\n\t\tnodes.forEach(function (node) {\n\t\t\t// node.sourceLinks.sort(ascendingTargetDepth);\n\t\t\t// node.targetLinks.sort(ascendingSourceDepth);\n\n\t\t\tnode.sourceLinks.sort(descendingTargetDepth);\n\t\t\tnode.targetLinks.sort(descendingSourceDepth);\n\n\t\t\t// Push links having less weight to the bottom.\n\t\t\t// node.sourceLinks.sort(ascendingEdgeValue);\n\t\t\t// node.targetLinks.sort(descendingEdgeValue);\n\n\t\t});\n\n\t\tnodes.forEach(function (node) {\n\t\t\tvar sy = 0, ty = 0;\n\n\t\t\tnode.sourceLinks.sort(function (a, b) {\n\t\t\t\treturn b.source_data.y - a.source_data.y;\n\t\t\t});\n\n\t\t\tnode.targetLinks.sort(function (a, b) {\n\t\t\t\treturn a.target_data.y - b.target_data.y;\n\t\t\t});\n\n\t\t\tnode.sourceLinks.forEach(function (link) {\n\t\t\t\tif (link.type != \"back_edge\") {\n\t\t\t\t\tlink.sy = sy;\n\t\t\t\t\tsy += link.height;\n\t\t\t\t}\n\t\t\t});\n\t\t\tnode.targetLinks.forEach(function (link) {\n\t\t\t\tif (link.type != \"back_edge\") {\n\t\t\t\t\tlink.ty = ty;\n\t\t\t\t\tty += link.height;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tfunction ascendingSourceDepth(a, b) {\n\t\t\treturn a.source.y - b.source.y;\n\t\t}\n\n\t\tfunction ascendingTargetDepth(a, b) {\n\t\t\treturn a.target.y - b.target.y;\n\t\t}\n\n\t\tfunction descendingTargetDepth(a, b) {\n\t\t\treturn b.target.y - a.target.y;\n\t\t}\n\n\t\tfunction descendingSourceDepth(a, b) {\n\t\t\treturn b.source.y - a.source.y;\n\t\t}\n\n\t\tfunction ascendingEdgeValue(a, b) {\n\t\t\treturn a[\"weight\"] - b[\"weight\"];\n\t\t}\n\n\t\tfunction descendingEdgeValue(a, b) {\n\t\t\treturn b[\"weight\"] - a[\"weight\"];\n\t\t}\n\t}\n\n\tfunction center(node) {\n\t\treturn 0;\n\t}\n\n\tfunction value(link) {\n\t\treturn link.weight;\n\t}\n\n\tfunction targetValue(link) {\n\t\treturn link.source_data[targetDataset][\"time (inc)\"];\n\t}\n\n\tfunction computeNodeLayers(nodes) {\n\t\tlet x0 = 0, y0 = 0, x1 = 1, y1 = 1; // extent\n\t\tconst x = max(nodes, d => d.level) + 1;\n\t\tconst kx = (x1 - x0 - this.nodeWidth) / (x - 1);\n\t\tconst columns = new Array(x);\n\t\tfor (const node of nodes) {\n\t\t\tconst i = Math.max(0, Math.min(x - 1, Math.floor(this.justify.call(null, node, x))));\n\t\t\tnode.layer = i;\n\t\t\tnode.x = x0 + i * kx;\n\t\t\t// node.x1 = node.x0 + this.nodeWidth;\n\t\t\tif (columns[i]) {columns[i].push(node);}\n\t\t\telse {columns[i] = [node];}\n\t\t}\n\n\t\tfor (const column of columns) {\n\t\t\tcolumn.sort(this.ascendingBreadth);\n\t\t}\n\t\treturn columns;\n\t}\n\n\tfunction targetDepth(d) {\n\t\treturn d.target.depth;\n\t}\n\n\tfunction left(node) {\n\t\treturn node.depth;\n\t}\n\n\tfunction right(node, n) {\n\t\treturn n - 1 - node.height;\n\t}\n\n\tfunction justify(node, n) {\n\t\treturn node.sourceLinks.length ? node.level : n - 1;\n\t}\n\n\treturn sankey;\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}},[_c('MeanGradients',{ref:\"MeanGradients\"}),_c('Mean',{ref:\"Mean\"}),_c('ToolTip',{ref:\"ToolTip\"}),_c('Guides',{ref:\"Guides\"}),_c('TargetLine',{ref:\"TargetLine\"}),_c('MeanDiff',{ref:\"MeanDiff\"}),_c('RankDiff',{ref:\"RankDiff\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport * as d3 from \"d3\";\n\n\nexport function formatName(name) {\n\tif (name.length < 20) {\n\t\treturn name;\n\t}\n\tlet ret = this.trunc(name, 20);\n\treturn ret;\n}\n\nexport function formatRuntimeWithUnits(val) {\n\tif (val == 0) {\n\t\treturn val;\n\t}\n\tlet format = d3.format(\".2\");\n\treturn format(val);\n}\n\nexport function formatRunCounts(val) {\n\tif (val == 1) {\n\t\treturn val + \" run\";\n\t}\n\treturn val + \" runs\";\n}\n\nexport function formatRuntimeWithoutUnits(val) {\n\tlet format = d3.format(\".2\");\n\treturn format(val);\n}\n\n// Returns [mantessa, exponent, max_exponent]\nexport function formatRuntimeWithExponent(val, min_exponent = 0) {\n\tlet format = d3.format(\".2\");\n\tlet ret = format(val);\n\tif (ret == 0) {\n\t\treturn [0, 0, min_exponent];\n\t}\n\n\tlet exponent = 0;\n\tlet multiplier = 0;\n\tlet mantessa = 0;\n\tif (ret.indexOf(\"e\") != -1) {\n\t\tlet split_ret_by_e = ret.toString().split(\"e\");\n\t\texponent = parseInt(split_ret_by_e[1].split(\"+\")[1]);\n\t\tmultiplier = parseInt(exponent) - min_exponent;\n\t\tmantessa = parseFloat(split_ret_by_e[0]); //* (10 ** multiplier));\n\t}\n\treturn [mantessa.toFixed(2), exponent, min_exponent];\n}\n\n// Returns only the exponenet of the value. \nexport function formatExponent(val) {\n\tlet format = d3.format(\".2\");\n\tlet ret = format(val);\n\tlet exponent = ret;\n\tif (ret.indexOf(\"e\") != -1) {\n\t\texponent = parseInt(ret.toString().split(\"e\")[1].split(\"+\")[1]);\n\t}\n\telse {\n\t\texponent = 0;\n\t}\n\treturn exponent;\n}\n\nexport function measureText(string, fontSize = 10) {\n\tconst widths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2796875, 0.2765625, 0.3546875, 0.5546875, 0.5546875, 0.8890625, 0.665625, 0.190625, 0.3328125, 0.3328125, 0.3890625, 0.5828125, 0.2765625, 0.3328125, 0.2765625, 0.3015625, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.2765625, 0.2765625, 0.584375, 0.5828125, 0.584375, 0.5546875, 1.0140625, 0.665625, 0.665625, 0.721875, 0.721875, 0.665625, 0.609375, 0.7765625, 0.721875, 0.2765625, 0.5, 0.665625, 0.5546875, 0.8328125, 0.721875, 0.7765625, 0.665625, 0.7765625, 0.721875, 0.665625, 0.609375, 0.721875, 0.665625, 0.94375, 0.665625, 0.665625, 0.609375, 0.2765625, 0.3546875, 0.2765625, 0.4765625, 0.5546875, 0.3328125, 0.5546875, 0.5546875, 0.5, 0.5546875, 0.5546875, 0.2765625, 0.5546875, 0.5546875, 0.221875, 0.240625, 0.5, 0.221875, 0.8328125, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.3328125, 0.5, 0.2765625, 0.5546875, 0.5, 0.721875, 0.5, 0.5, 0.5, 0.3546875, 0.259375, 0.353125, 0.5890625];\n\tconst avg = 0.5279276315789471;\n\treturn string\n\t\t.split(\"\")\n\t\t.map(c => c.charCodeAt(0) < widths.length ? widths[c.charCodeAt(0)] : avg)\n\t\t.reduce((cur, acc) => acc + cur) * fontSize;\n}\n\nexport function addIndexToBeginning(arr) {\n\tlet ret = [];\n\tfor (let i = 0; i < arr.length; i += 1) {\n\t\tret.push(i + \". \" + arr[i]);\n\t}\n\treturn ret;\n}\n\nexport function truncNames(str, len) {\n\tif (str.indexOf(\"=\")) {\n\t\tstr = str.split(\"=\")[0];\n\t}\n\n\tif (str.indexOf(\":\") > -1) {\n\t\tlet str_list = str.split(\":\");\n\t\tstr = str_list[str_list.length - 1];\n\t}\n\n\tstr = str.replace(//g, \"proc \");\n\treturn (str.length > len) ? str.substr(0, len - 1) + \"...\" : str;\n}\n\nexport function textSize(id, text) {\n\tconst container = d3.select(\"#\" + id)\n\t\t.append(\"svg\");\n\tcontainer.append(\"text\")\n\t\t.attrs({\n\t\t\tx: -99999,\n\t\t\ty: -99999\n\t\t})\n\t\t.text((d) => text);\n\tconst size = container.node().getBBox();\n\tcontainer.remove();\n\treturn {\n\t\twidth: size.width,\n\t\theight: size.height\n\t};\n}\n\nexport function getGradients(store, node) {\n\tlet nodeName = \"\";\n\tlet gradients = {};\n\tif (node.type == \"super-node\" && store.modules[\"ensemble\"][node.module] != undefined) {\n\t\tnodeName = node.module;\n\t\tgradients = store.modules[\"ensemble\"][nodeName][store.selectedMetric][\"gradients\"];\n\t}\n\telse if (node.type == \"component-node\") {\n\t\tnodeName = node.name;\n\t\tgradients = store.callsites[\"ensemble\"][nodeName][store.selectedMetric][\"gradients\"];\n\t}\n\telse if (node.type == \"intermediate\") {\n\t\tgradients = {};\n\t}\n\treturn gradients;\n}\n\n/**\n * Remove duplicates from an array.\n * @param {*} arr \n */\nexport function removeDuplicates(arr) {\n\tvar seen = {};\n\treturn arr.filter(function (item) {\n\t\treturn seen.hasOwnProperty(item) ? false : (seen[item] = true);\n\t});\n}\n\n// create a dummy element, apply the appropriate classes,\n// and then measure the element\nexport function measure(text) {\n\tif (!text || text.length === 0) return { height: 0, width: 0 };\n\n\tconst container = d3.select(\"body\").append(\"svg\").attr(\"class\", \"dummy\");\n\tcontainer.append(\"text\").attrs({ x: -1000, y: -1000 }).text(text);\n\n\tconst bbox = container.node().getBBox();\n\tcontainer.remove();\n\n\treturn { height: bbox.height, width: bbox.width };\n}\n\n/**\n * \n * @param {*} text \n * @param {*} width \n */\nexport function textWrap(text, width) {\n\ttext.each(function () {\n\t\tvar text = d3.select(this),\n\t\t\twords = text.text().split(/\\s+/).reverse(),\n\t\t\tword,\n\t\t\tline = [],\n\t\t\tlineNumber = 0,\n\t\t\tlineHeight = 1.1, // ems\n\t\t\tx = text.attr(\"x\"),\n\t\t\ty = text.attr(\"y\"),\n\t\t\tdy = 0,\n\t\t\ttspan = text.text(null).append(\"tspan\").attr(\"dy\", dy + \"em\");\n\n\t\twhile ((word = words.pop())) {\n\t\t\tline.push(word);\n\t\t\ttspan.text(line.join(\" \"));\n\t\t\tif (tspan.node().getComputedTextLength() > width) {\n\t\t\t\tline.pop();\n\t\t\t\ttspan.text(line.join(\" \"));\n\t\t\t\tline = [word];\n\t\t\t\ttspan = text.append(\"tspan\").attr(\"x\", x).attr(\"y\", y).attr(\"dy\", ++lineNumber * lineHeight + dy + \"em\").text(word);\n\t\t\t}\n\t\t}\n\t});\n}\n\n/**\n * Calculate the distance between two given points.\n * @param {Number} x1 1st coordinate (x)\n * @param {Number} y1 1st coordinate (y)\n * @param {Number} x2 2nd coordinate (x)\n * @param {Number} y2 2nd coordinate (y)\n */\nexport function distanceBtwnPoints(x1, y1, x2, y2) {\n\tconst a = x1 - x2;\n\tconst b = y1 - y2;\n\treturn Math.abs(Math.sqrt(a * a + b * b));\n}\n\n/**\n * Split string to lists by , (paranthesis proof)\n * @param {*} string \n */\nexport function stringToList(string) {\n\tconst re = /(:\\s|,\\s)/; // regular expression with capturing parentheses\n\treturn string.split(re);\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./meanGradients.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./meanGradients.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./meanGradients.vue?vue&type=template&id=075e4932&\"\nimport script from \"./meanGradients.vue?vue&type=script&lang=js&\"\nexport * from \"./meanGradients.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./guides.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./guides.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./guides.vue?vue&type=template&id=08e49f69&\"\nimport script from \"./guides.vue?vue&type=script&lang=js&\"\nexport * from \"./guides.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./targetLine.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./targetLine.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./targetLine.vue?vue&type=template&id=4fe5a2b7&\"\nimport script from \"./targetLine.vue?vue&type=script&lang=js&\"\nexport * from \"./targetLine.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=29c63e70&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mean.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mean.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./mean.vue?vue&type=template&id=3c73b7ab&\"\nimport script from \"./mean.vue?vue&type=script&lang=js&\"\nexport * from \"./mean.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./meanDiff.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./meanDiff.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./meanDiff.vue?vue&type=template&id=1aa47ee0&\"\nimport script from \"./meanDiff.vue?vue&type=script&lang=js&\"\nexport * from \"./meanDiff.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rankDiff.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rankDiff.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./rankDiff.vue?vue&type=template&id=12a5a548&\"\nimport script from \"./rankDiff.vue?vue&type=script&lang=js&\"\nexport * from \"./rankDiff.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nodes.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nodes.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./nodes.vue?vue&type=template&id=0271fad4&\"\nimport script from \"./nodes.vue?vue&type=script&lang=js&\"\nexport * from \"./nodes.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}},[_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edges.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edges.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./edges.vue?vue&type=template&id=34fd47ea&\"\nimport script from \"./edges.vue?vue&type=script&lang=js&\"\nexport * from \"./edges.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./miniHistograms.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./miniHistograms.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./miniHistograms.vue?vue&type=template&id=eb456b3a&\"\nimport script from \"./miniHistograms.vue?vue&type=script&lang=js&\"\nexport * from \"./miniHistograms.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colormap.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colormap.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./colormap.vue?vue&type=template&id=5ebf74ab&\"\nimport script from \"./colormap.vue?vue&type=script&lang=js&\"\nexport * from \"./colormap.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nexport default class Graph {\n\t/**\n * @param {boolean} isDirected\n */\n\tconstructor(isDirected = false) {\n\t\tthis.vertices = {};\n\t\tthis.edges = {};\n\t\tthis.isDirected = isDirected;\n\t}\n\n\t/**\n * @param {GraphVertex} newVertex\n * @returns {Graph}\n */\n\taddVertex(newVertex) {\n\t\tthis.vertices[newVertex.getKey()] = newVertex;\n\n\t\treturn this;\n\t}\n\n\t/**\n * @param {string} vertexKey\n * @returns GraphVertex\n */\n\tgetVertexByKey(vertexKey) {\n\t\treturn this.vertices[vertexKey];\n\t}\n\n\t/**\n * @param {GraphVertex} vertex\n * @returns {GraphVertex[]}\n */\n\tgetNeighbors(vertex) {\n\t\treturn vertex.getNeighbors();\n\t}\n\n\t/**\n * @return {GraphVertex[]}\n */\n\tgetAllVertices() {\n\t\treturn Object.values(this.vertices);\n\t}\n\n\t/**\n * @return {GraphEdge[]}\n */\n\tgetAllEdges() {\n\t\treturn Object.values(this.edges);\n\t}\n\n\t/**\n * @param {GraphEdge} edge\n * @returns {Graph}\n */\n\taddEdge(edge) {\n\t\t// Try to find and end start vertices.\n\t\tlet startVertex = this.getVertexByKey(edge.startVertex.getKey());\n\t\tlet endVertex = this.getVertexByKey(edge.endVertex.getKey());\n\n\t\t// Insert start vertex if it wasn't inserted.\n\t\tif (!startVertex) {\n\t\t\tthis.addVertex(edge.startVertex);\n\t\t\tstartVertex = this.getVertexByKey(edge.startVertex.getKey());\n\t\t}\n\n\t\t// Insert end vertex if it wasn't inserted.\n\t\tif (!endVertex) {\n\t\t\tthis.addVertex(edge.endVertex);\n\t\t\tendVertex = this.getVertexByKey(edge.endVertex.getKey());\n\t\t}\n\n\t\t// Check if edge has been already added.\n\t\tif (this.edges[edge.getKey()]) {\n\t\t\tthrow new Error(\"Edge has already been added before\");\n\t\t} else {\n\t\t\tthis.edges[edge.getKey()] = edge;\n\t\t}\n\n\t\t// Add edge to the vertices.\n\t\tif (this.isDirected) {\n\t\t\t// If graph IS directed then add the edge only to start vertex.\n\t\t\tstartVertex.addEdge(edge);\n\t\t} else {\n\t\t\t// If graph ISN'T directed then add the edge to both vertices.\n\t\t\tstartVertex.addEdge(edge);\n\t\t\tendVertex.addEdge(edge);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n * @param {GraphEdge} edge\n */\n\tdeleteEdge(edge) {\n\t\t// Delete edge from the list of edges.\n\t\tif (this.edges[edge.getKey()]) {\n\t\t\tdelete this.edges[edge.getKey()];\n\t\t} else {\n\t\t\tthrow new Error(\"Edge not found in graph\");\n\t\t}\n\n\t\t// Try to find and end start vertices and delete edge from them.\n\t\tconst startVertex = this.getVertexByKey(edge.startVertex.getKey());\n\t\tconst endVertex = this.getVertexByKey(edge.endVertex.getKey());\n\n\t\tstartVertex.deleteEdge(edge);\n\t\tendVertex.deleteEdge(edge);\n\t}\n\n\t/**\n * @param {GraphVertex} startVertex\n * @param {GraphVertex} endVertex\n * @return {(GraphEdge|null)}\n */\n\tfindEdge(startVertex, endVertex) {\n\t\tconst vertex = this.getVertexByKey(startVertex.getKey());\n\n\t\tif (!vertex) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn vertex.findEdge(endVertex);\n\t}\n\n\t/**\n * @return {number}\n */\n\tgetWeight() {\n\t\treturn this.getAllEdges().reduce((weight, graphEdge) => {\n\t\t\treturn weight + graphEdge.weight;\n\t\t}, 0);\n\t}\n\n\t/**\n * Reverse all the edges in directed graph.\n * @return {Graph}\n */\n\treverse() {\n\t\t/** @param {GraphEdge} edge */\n\t\tthis.getAllEdges().forEach((edge) => {\n\t\t\t// Delete straight edge from graph and from vertices.\n\t\t\tthis.deleteEdge(edge);\n\n\t\t\t// Reverse the edge.\n\t\t\tedge.reverse();\n\n\t\t\t// Add reversed edge back to the graph and its vertices.\n\t\t\tthis.addEdge(edge);\n\t\t});\n\n\t\treturn this;\n\t}\n\n\t/**\n * @return {object}\n */\n\tgetVerticesIndices() {\n\t\tconst verticesIndices = {};\n\t\tthis.getAllVertices().forEach((vertex, index) => {\n\t\t\tverticesIndices[vertex.getKey()] = index;\n\t\t});\n\n\t\treturn verticesIndices;\n\t}\n\n\t/**\n * @return {*[][]}\n */\n\tgetAdjacencyMatrix() {\n\t\tconst vertices = this.getAllVertices();\n\t\tconst verticesIndices = this.getVerticesIndices();\n\n\t\t// Init matrix with infinities meaning that there is no ways of\n\t\t// getting from one vertex to another yet.\n\t\tconst adjacencyMatrix = Array(vertices.length).fill(null).map(() => {\n\t\t\treturn Array(vertices.length).fill(Infinity);\n\t\t});\n\n\t\t// Fill the columns.\n\t\tvertices.forEach((vertex, vertexIndex) => {\n\t\t\tvertex.getNeighbors().forEach((neighbor) => {\n\t\t\t\tconst neighborIndex = verticesIndices[neighbor.getKey()];\n\t\t\t\tadjacencyMatrix[vertexIndex][neighborIndex] = this.findEdge(vertex, neighbor).weight;\n\t\t\t});\n\t\t});\n\n\t\treturn adjacencyMatrix;\n\t}\n\n\t/**\n * @return {string}\n */\n\ttoString() {\n\t\treturn Object.keys(this.vertices).toString();\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nexport default class LinkedListNode {\n\tconstructor(value, next = null) {\n\t\tthis.value = value;\n\t\tthis.next = next;\n\t}\n\n\ttoString(callback) {\n\t\treturn callback ? callback(this.value) : `${this.value}`;\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nexport default class Comparator {\n\t/**\n\t * @param {function(a: *, b: *)} [compareFunction] - It may be custom compare function that, let's\n\t * say may compare custom objects together.\n\t */\n\tconstructor(compareFunction) {\n\t\tthis.compare = compareFunction || Comparator.defaultCompareFunction;\n\t}\n\n\t/**\n\t * Default comparison function. It just assumes that \"a\" and \"b\" are strings or numbers.\n\t * @param {(string|number)} a\n\t * @param {(string|number)} b\n\t * @returns {number}\n\t */\n\tstatic defaultCompareFunction(a, b) {\n\t\tif (a === b) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn a < b ? -1 : 1;\n\t}\n\n\t/**\n\t * Checks if two variables are equal.\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {boolean}\n\t */\n\tequal(a, b) {\n\t\treturn this.compare(a, b) === 0;\n\t}\n\n\t/**\n\t * Checks if variable \"a\" is less than \"b\".\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {boolean}\n\t */\n\tlessThan(a, b) {\n\t\treturn this.compare(a, b) < 0;\n\t}\n\n\t/**\n\t * Checks if variable \"a\" is greater than \"b\".\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {boolean}\n\t */\n\tgreaterThan(a, b) {\n\t\treturn this.compare(a, b) > 0;\n\t}\n\n\t/**\n\t * Checks if variable \"a\" is less than or equal to \"b\".\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {boolean}\n\t */\n\tlessThanOrEqual(a, b) {\n\t\treturn this.lessThan(a, b) || this.equal(a, b);\n\t}\n\n\t/**\n\t * Checks if variable \"a\" is greater than or equal to \"b\".\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {boolean}\n\t */\n\tgreaterThanOrEqual(a, b) {\n\t\treturn this.greaterThan(a, b) || this.equal(a, b);\n\t}\n\n\t/**\n\t * Reverses the comparison order.\n\t */\n\treverse() {\n\t\tconst compareOriginal = this.compare;\n\t\tthis.compare = (a, b) => compareOriginal(b, a);\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\nimport LinkedListNode from \"./linkedListNode\";\nimport Comparator from \"./comparator\";\n\nexport default class LinkedList {\n\t/**\n\t * @param {Function} [comparatorFunction]\n\t */\n\tconstructor(comparatorFunction) {\n\t\t/** @var LinkedListNode */\n\t\tthis.head = null;\n\n\t\t/** @var LinkedListNode */\n\t\tthis.tail = null;\n\n\t\tthis.compare = new Comparator(comparatorFunction);\n\t}\n\n\t/**\n\t * @param {*} value\n\t * @return {LinkedList}\n\t */\n\tprepend(value) {\n\t\t// Make new node to be a head.\n\t\tconst newNode = new LinkedListNode(value, this.head);\n\t\tthis.head = newNode;\n\n\t\t// If there is no tail yet let's make new node a tail.\n\t\tif (!this.tail) {\n\t\t\tthis.tail = newNode;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * @param {*} value\n\t * @return {LinkedList}\n\t */\n\tappend(value) {\n\t\tconst newNode = new LinkedListNode(value);\n\n\t\t// If there is no head yet let's make new node a head.\n\t\tif (!this.head) {\n\t\t\tthis.head = newNode;\n\t\t\tthis.tail = newNode;\n\n\t\t\treturn this;\n\t\t}\n\n\t\t// Attach new node to the end of linked list.\n\t\tthis.tail.next = newNode;\n\t\tthis.tail = newNode;\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * @param {*} value\n\t * @return {LinkedListNode}\n\t */\n\tdelete(value) {\n\t\tif (!this.head) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet deletedNode = null;\n\n\t\t// If the head must be deleted then make next node that is differ\n\t\t// from the head to be a new head.\n\t\twhile (this.head && this.compare.equal(this.head.value, value)) {\n\t\t\tdeletedNode = this.head;\n\t\t\tthis.head = this.head.next;\n\t\t}\n\n\t\tlet currentNode = this.head;\n\n\t\tif (currentNode !== null) {\n\t\t\t// If next node must be deleted then make next node to be a next next one.\n\t\t\twhile (currentNode.next) {\n\t\t\t\tif (this.compare.equal(currentNode.next.value, value)) {\n\t\t\t\t\tdeletedNode = currentNode.next;\n\t\t\t\t\tcurrentNode.next = currentNode.next.next;\n\t\t\t\t} else {\n\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Check if tail must be deleted.\n\t\tif (this.compare.equal(this.tail.value, value)) {\n\t\t\tthis.tail = currentNode;\n\t\t}\n\n\t\treturn deletedNode;\n\t}\n\n\t/**\n\t * @param {Object} findParams\n\t * @param {*} findParams.value\n\t * @param {function} [findParams.callback]\n\t * @return {LinkedListNode}\n\t */\n\tfind({ value = undefined, callback = undefined }) {\n\t\tif (!this.head) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet currentNode = this.head;\n\n\t\twhile (currentNode) {\n\t\t\t// If callback is specified then try to find node by callback.\n\t\t\tif (callback && callback(currentNode.value)) {\n\t\t\t\treturn currentNode;\n\t\t\t}\n\n\t\t\t// If value is specified then try to compare by value..\n\t\t\tif (value !== undefined && this.compare.equal(currentNode.value, value)) {\n\t\t\t\treturn currentNode;\n\t\t\t}\n\n\t\t\tcurrentNode = currentNode.next;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * @return {LinkedListNode}\n\t */\n\tdeleteTail() {\n\t\tconst deletedTail = this.tail;\n\n\t\tif (this.head === this.tail) {\n\t\t\t// There is only one node in linked list.\n\t\t\tthis.head = null;\n\t\t\tthis.tail = null;\n\n\t\t\treturn deletedTail;\n\t\t}\n\n\t\t// If there are many nodes in linked list...\n\n\t\t// Rewind to the last node and delete \"next\" link for the node before the last one.\n\t\tlet currentNode = this.head;\n\t\twhile (currentNode.next) {\n\t\t\tif (!currentNode.next.next) {\n\t\t\t\tcurrentNode.next = null;\n\t\t\t} else {\n\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t}\n\t\t}\n\n\t\tthis.tail = currentNode;\n\n\t\treturn deletedTail;\n\t}\n\n\t/**\n\t * @return {LinkedListNode}\n\t */\n\tdeleteHead() {\n\t\tif (!this.head) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst deletedHead = this.head;\n\n\t\tif (this.head.next) {\n\t\t\tthis.head = this.head.next;\n\t\t} else {\n\t\t\tthis.head = null;\n\t\t\tthis.tail = null;\n\t\t}\n\n\t\treturn deletedHead;\n\t}\n\n\t/**\n\t * @param {*[]} values - Array of values that need to be converted to linked list.\n\t * @return {LinkedList}\n\t */\n\tfromArray(values) {\n\t\tvalues.forEach(value => this.append(value));\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * @return {LinkedListNode[]}\n\t */\n\ttoArray() {\n\t\tconst nodes = [];\n\n\t\tlet currentNode = this.head;\n\t\twhile (currentNode) {\n\t\t\tnodes.push(currentNode);\n\t\t\tcurrentNode = currentNode.next;\n\t\t}\n\n\t\treturn nodes;\n\t}\n\n\t/**\n\t * @param {function} [callback]\n\t * @return {string}\n\t */\n\ttoString(callback) {\n\t\treturn this.toArray().map(node => node.toString(callback)).toString();\n\t}\n\n\t/**\n\t * Reverse a linked list.\n\t * @returns {LinkedList}\n\t */\n\treverse() {\n\t\tlet currNode = this.head;\n\t\tlet prevNode = null;\n\t\tlet nextNode = null;\n\n\t\twhile (currNode) {\n\t\t\t// Store next node.\n\t\t\tnextNode = currNode.next;\n\n\t\t\t// Change next node of the current node so it would link to previous node.\n\t\t\tcurrNode.next = prevNode;\n\n\t\t\t// Move prevNode and currNode nodes one step forward.\n\t\t\tprevNode = currNode;\n\t\t\tcurrNode = nextNode;\n\t\t}\n\n\t\t// Reset head and tail.\n\t\tthis.tail = this.head;\n\t\tthis.head = prevNode;\n\n\t\treturn this;\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport LinkedList from \"./linkedList\";\n\nexport default class GraphVertex {\n\t/**\n * @param {*} value\n */\n\tconstructor(value) {\n\t\tif (value === undefined) {\n\t\t\tthrow new Error(\"Graph vertex must have a value\");\n\t\t}\n\n\t\t/**\n * @param {GraphEdge} edgeA\n * @param {GraphEdge} edgeB\n */\n\t\tconst edgeComparator = (edgeA, edgeB) => {\n\t\t\tif (edgeA.getKey() === edgeB.getKey()) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\treturn edgeA.getKey() < edgeB.getKey() ? -1 : 1;\n\t\t};\n\n\t\t// Normally you would store string value like vertex name.\n\t\t// But generally it may be any object as well\n\t\tthis.value = value;\n\t\tthis.edges = new LinkedList(edgeComparator);\n\t}\n\n\t/**\n * @param {GraphEdge} edge\n * @returns {GraphVertex}\n */\n\taddEdge(edge) {\n\t\tthis.edges.append(edge);\n\n\t\treturn this;\n\t}\n\n\t/**\n * @param {GraphEdge} edge\n */\n\tdeleteEdge(edge) {\n\t\tthis.edges.delete(edge);\n\t}\n\n\t/**\n * @returns {GraphVertex[]}\n */\n\tgetNeighbors() {\n\t\tconst edges = this.edges.toArray();\n\n\t\t/** @param {LinkedListNode} node */\n\t\tconst neighborsConverter = (node) => {\n\t\t\treturn node.value.startVertex === this ? node.value.endVertex : node.value.startVertex;\n\t\t};\n\n\t\t// Return either start or end vertex.\n\t\t// For undirected graphs it is possible that current vertex will be the end one.\n\t\treturn edges.map(neighborsConverter);\n\t}\n\n\t/**\n * @return {GraphEdge[]}\n */\n\tgetEdges() {\n\t\treturn this.edges.toArray().map(linkedListNode => linkedListNode.value);\n\t}\n\n\t/**\n * @return {number}\n */\n\tgetDegree() {\n\t\treturn this.edges.toArray().length;\n\t}\n\n\t/**\n * @param {GraphEdge} requiredEdge\n * @returns {boolean}\n */\n\thasEdge(requiredEdge) {\n\t\tconst edgeNode = this.edges.find({\n\t\t\tcallback: edge => edge === requiredEdge,\n\t\t});\n\n\t\treturn !!edgeNode;\n\t}\n\n\t/**\n * @param {GraphVertex} vertex\n * @returns {boolean}\n */\n\thasNeighbor(vertex) {\n\t\tconst vertexNode = this.edges.find({\n\t\t\tcallback: edge => edge.startVertex === vertex || edge.endVertex === vertex,\n\t\t});\n\n\t\treturn !!vertexNode;\n\t}\n\n\t/**\n * @param {GraphVertex} vertex\n * @returns {(GraphEdge|null)}\n */\n\tfindEdge(vertex) {\n\t\tconst edgeFinder = (edge) => {\n\t\t\treturn edge.startVertex === vertex || edge.endVertex === vertex;\n\t\t};\n\n\t\tconst edge = this.edges.find({ callback: edgeFinder });\n\n\t\treturn edge ? edge.value : null;\n\t}\n\n\t/**\n * @returns {string}\n */\n\tgetKey() {\n\t\treturn this.value;\n\t}\n\n\t/**\n * @return {GraphVertex}\n */\n\tdeleteAllEdges() {\n\t\tthis.getEdges().forEach(edge => this.deleteEdge(edge));\n\n\t\treturn this;\n\t}\n\n\t/**\n * @param {function} [callback]\n * @returns {string}\n */\n\ttoString(callback) {\n\t\treturn callback ? callback(this.value) : `${this.value}`;\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nexport default class GraphEdge {\n\t/**\n * @param {GraphVertex} startVertex\n * @param {GraphVertex} endVertex\n * @param {number} [weight=1]\n */\n\tconstructor(startVertex, endVertex, weight = 0) {\n\t\tthis.startVertex = startVertex;\n\t\tthis.endVertex = endVertex;\n\t\tthis.weight = weight;\n\t}\n\n\t/**\n * @return {string}\n */\n\tgetKey() {\n\t\tconst startVertexKey = this.startVertex.getKey();\n\t\tconst endVertexKey = this.endVertex.getKey();\n\n\t\treturn `${startVertexKey}_${endVertexKey}`;\n\t}\n\n\t/**\n * @return {GraphEdge}\n */\n\treverse() {\n\t\tconst tmp = this.startVertex;\n\t\tthis.startVertex = this.endVertex;\n\t\tthis.endVertex = tmp;\n\n\t\treturn this;\n\t}\n\n\t/**\n * @return {string}\n */\n\ttoString() {\n\t\treturn this.getKey();\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n/**\n * @typedef {Object} Callbacks\n *\n * @property {function(vertices: Object): boolean} [allowTraversal] -\n * Determines whether DFS should traverse from the vertex to its neighbor\n * (along the edge). By default prohibits visiting the same vertex again.\n *\n * @property {function(vertices: Object)} [enterVertex] - Called when DFS enters the vertex.\n *\n * @property {function(vertices: Object)} [leaveVertex] - Called when DFS leaves the vertex.\n */\n\n/**\n * @param {Callbacks} [callbacks]\n * @returns {Callbacks}\n */\nfunction initCallbacks(callbacks = {}) {\n\tconst initiatedCallback = callbacks;\n\n\tconst stubCallback = () => { };\n\n\tconst allowTraversalCallback = (\n\t\t() => {\n\t\t\tconst seen = {};\n\t\t\treturn ({ nextVertex }) => {\n\t\t\t\tif (!seen[nextVertex.getKey()]) {\n\t\t\t\t\tseen[nextVertex.getKey()] = true;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}\n\t)();\n\n\tinitiatedCallback.allowTraversal = callbacks.allowTraversal || allowTraversalCallback;\n\tinitiatedCallback.enterVertex = callbacks.enterVertex || stubCallback;\n\tinitiatedCallback.leaveVertex = callbacks.leaveVertex || stubCallback;\n\n\treturn initiatedCallback;\n}\n\n/** \n * @param {Graph} graph\n * @param {GraphVertex} currentVertex\n * @param {GraphVertex} previousVertex\n * @param {Callbacks} callbacks\n */\nfunction depthFirstSearchRecursive(graph, currentVertex, previousVertex, callbacks) {\n\tcallbacks.enterVertex({ currentVertex, previousVertex });\n\n\tgraph.getNeighbors(currentVertex).forEach((nextVertex) => {\n\t\tif (callbacks.allowTraversal({ previousVertex, currentVertex, nextVertex })) {\n\t\t\tdepthFirstSearchRecursive(graph, nextVertex, currentVertex, callbacks);\n\t\t}\n\t});\n\n\tcallbacks.leaveVertex({ currentVertex, previousVertex });\n}\n/**\n * @param {Graph} graph\n * @param {GraphVertex} startVertex\n * @param {Callbacks} [callbacks]\n */\nexport default function depthFirstSearch(graph, startVertex, callbacks) {\n\tconst previousVertex = null;\n\tdepthFirstSearchRecursive(graph, startVertex, previousVertex, initCallbacks(callbacks));\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport depthFirstSearch from \"./dfs\";\n\n/**\n * Detect cycle in directed graph using Depth First Search.\n *\n * @param {Graph} graph\n */\nexport default function detectDirectedCycle(graph) {\n\tlet cycle = null;\n\n\t// Will store parents (previous vertices) for all visited nodes.\n\t// This will be needed in order to specify what path exactly is a cycle.\n\tconst dfsParentMap = {};\n\n\t// White set (UNVISITED) contains all the vertices that haven't been visited at all.\n\tconst whiteSet = {};\n\n\t// Gray set (VISITING) contains all the vertices that are being visited right now\n\t// (in current path).\n\tconst graySet = {};\n\n\t// Black set (VISITED) contains all the vertices that has been fully visited.\n\t// Meaning that all children of the vertex has been visited.\n\tconst blackSet = {};\n\n\t// If we encounter vertex in gray set it means that we've found a cycle.\n\t// Because when vertex in gray set it means that its neighbors or its neighbors\n\t// neighbors are still being explored.\n\n\t// Init white set and add all vertices to it.\n\t/** @param {GraphVertex} vertex */\n\tgraph.getAllVertices().forEach((vertex) => {\n\t\twhiteSet[vertex.getKey()] = vertex;\n\t});\n\n\t// Describe BFS callbacks.\n\tconst callbacks = {\n\t\tenterVertex: ({ currentVertex, previousVertex }) => {\n\t\t\tif (graySet[currentVertex.getKey()]) {\n\t\t\t\t// If current vertex already in grey set it means that cycle is detected.\n\t\t\t\t// Let's detect cycle path.\n\t\t\t\tcycle = {};\n\n\t\t\t\tlet currentCycleVertex = currentVertex;\n\t\t\t\tlet previousCycleVertex = previousVertex;\n\n\t\t\t\twhile (previousCycleVertex.getKey() !== currentVertex.getKey()) {\n\t\t\t\t\tcycle[currentCycleVertex.getKey()] = previousCycleVertex;\n\t\t\t\t\tcurrentCycleVertex = previousCycleVertex;\n\t\t\t\t\tpreviousCycleVertex = dfsParentMap[previousCycleVertex.getKey()];\n\t\t\t\t}\n\n\t\t\t\tcycle[currentCycleVertex.getKey()] = previousCycleVertex;\n\t\t\t} else {\n\t\t\t\t// Otherwise let's add current vertex to gray set and remove it from white set.\n\t\t\t\tgraySet[currentVertex.getKey()] = currentVertex;\n\t\t\t\tdelete whiteSet[currentVertex.getKey()];\n\n\t\t\t\t// Update DFS parents list.\n\t\t\t\tdfsParentMap[currentVertex.getKey()] = previousVertex;\n\t\t\t}\n\t\t},\n\t\tleaveVertex: ({ currentVertex }) => {\n\t\t\t// If all node's children has been visited let's remove it from gray set\n\t\t\t// and move it to the black set meaning that all its neighbors are visited.\n\t\t\tblackSet[currentVertex.getKey()] = currentVertex;\n\t\t\tdelete graySet[currentVertex.getKey()];\n\t\t},\n\t\tallowTraversal: ({ nextVertex }) => {\n\t\t\t// If cycle was detected we must forbid all further traversing since it will\n\t\t\t// cause infinite traversal loop.\n\t\t\tif (cycle) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Allow traversal only for the vertices that are not in black set\n\t\t\t// since all black set vertices have been already visited.\n\t\t\treturn !blackSet[nextVertex.getKey()];\n\t\t},\n\t};\n\n\t// Start exploring vertices.\n\twhile (Object.keys(whiteSet).length) {\n\t\t// Pick fist vertex to start BFS from.\n\t\tconst firstWhiteKey = Object.keys(whiteSet)[0];\n\t\tconst startVertex = whiteSet[firstWhiteKey];\n\n\t\tconsole.debug(firstWhiteKey, startVertex);\n\t\t// Do Depth First Search.\n\t\tdepthFirstSearch(graph, startVertex, callbacks);\n\t}\n\n\treturn [cycle, graySet, blackSet, whiteSet];\n} ","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./supergraph.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./supergraph.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./supergraph.vue?vue&type=template&id=60940fc5&scoped=true&\"\nimport script from \"./supergraph.vue?vue&type=script&lang=js&\"\nexport * from \"./supergraph.vue?vue&type=script&lang=js&\"\nimport style0 from \"./supergraph.vue?vue&type=style&index=0&id=60940fc5&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60940fc5\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"id\":_vm.id}},[_c('g',{attrs:{\"id\":\"container\"}}),_c('ColorMap',{ref:\"ColorMap\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cct.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cct.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./cct.vue?vue&type=template&id=1976c798&scoped=true&\"\nimport script from \"./cct.vue?vue&type=script&lang=js&\"\nexport * from \"./cct.vue?vue&type=script&lang=js&\"\nimport style0 from \"./cct.vue?vue&type=style&index=0&id=1976c798&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1976c798\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"id\":_vm.id}},[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")])],1),_c('span',{staticClass:\"component-info\"},[_vm._v(\" Corr. coef. = \"+_vm._s(_vm.corr_coef)+\". \")]),_c('svg',{attrs:{\"id\":_vm.svgID}}),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip_scatterplot\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=72f86dd1&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./singleScatterplot.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./singleScatterplot.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./singleScatterplot.vue?vue&type=template&id=541aaef7&\"\nimport script from \"./singleScatterplot.vue?vue&type=script&lang=js&\"\nexport * from \"./singleScatterplot.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"id\":_vm.id}},[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")])],1),_c('svg',{attrs:{\"id\":_vm.svgID}}),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip-histogram\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=c72afc90&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./singleHistogram.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./singleHistogram.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./singleHistogram.vue?vue&type=template&id=02479575&\"\nimport script from \"./singleHistogram.vue?vue&type=script&lang=js&\"\nexport * from \"./singleHistogram.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"id\":_vm.id}},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")]),_c('v-spacer'),(_vm.isCallsiteSelected == true)?_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-btn',{staticClass:\"ma-1 reveal-button\",attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.revealCallsite}},[_vm._v(\" Reveal \")])],1):_vm._e(),(_vm.isModuleSelected == true)?_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-btn',{staticClass:\"ma-1 reveal-button\",class:_vm.isEntryFunctionSelected,attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.showEntryFunctions}},[_vm._v(\" Entry call sites \")]),_c('v-btn',{staticClass:\"ma-1 reveal-button\",class:_vm.isCalleeSelected,attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.showExitFunctions}},[_vm._v(\" Callees \")]),_c('v-spacer'),(_vm.showSplitButton == 'true')?_c('v-btn',{staticClass:\"ma-1 reveal-button\",attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.split}},[_vm._v(\" Split \")]):_vm._e()],1):_vm._e(),_c('span',{staticClass:\"component-info\"},[_vm._v(\" \"+_vm._s(_vm.numberOfcallsites)+\" call sites. \")]),_vm._l((_vm.callsites),function(callsite){return _c('v-container',{key:_vm.getID(callsite.id),staticClass:\"callsite-information-node\"},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"md1\":\"\"}},[_c('v-card',{staticClass:\"mx-auto\",attrs:{\"width\":\"25px\",\"tile\":\"\",\"outlined\":\"\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-flex',_vm._g({class:_vm.selectClassName[callsite.name],attrs:{\"text-xs-center\":\"\",\"id\":callsite.name},on:{\"click\":_vm.changeSelectedClassName}},on),[_vm._v(\" \"+_vm._s(_vm.formatNumberOfHops(callsite.component_level))+\" \")])]}}],null,true)},[_c('span',[_vm._v(\" Callsite depth:\"+_vm._s(_vm.formatNumberOfHops(callsite.component_level))+\" \")])])],1)],1),_c('v-flex',{attrs:{\"md11\":\"\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-flex',_vm._g({staticClass:\"pl-2 subtitle-2 font-weight-black\"},on),[_vm._v(\" \"+_vm._s(_vm.formatName(callsite.name))+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(callsite.name))])])],1)],1),_c('v-layout',{staticClass:\"information\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"subtitle-2\"},[_vm._v(\" Module: \"+_vm._s(_vm.formatModule(callsite.module))+\" \")])]),_c('v-layout',{staticClass:\"information\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"subtitle-2\"},[_vm._v(\"Mean : \"+_vm._s(_vm.mean[callsite.name]))]),_c('v-spacer')],1),_c('v-layout',{staticClass:\"information\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"subtitle-2\"},[_vm._v(\"Variance : \"+_vm._s(_vm.variance[callsite.name]))])]),_c('v-layout',{staticClass:\"information\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"subtitle-2\"},[_vm._v(\" Std. deviation : \"+_vm._s(_vm.stdDeviation[callsite.name])+\" \")])]),_c('BoxPlot',{ref:callsite.id,refInFor:true,attrs:{\"callsite\":callsite}})],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"boxplot\",attrs:{\"id\":_vm.id,\"width\":_vm.containerWidth,\"height\":_vm.containerHeight}},[_c('Box',{ref:\"Box\"}),_c('Markers',{ref:\"Markers\"}),_c('Outliers',{ref:\"Outliers\"}),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"box\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./box.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./box.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./box.vue?vue&type=template&id=c2ef3b32&\"\nimport script from \"./box.vue?vue&type=script&lang=js&\"\nexport * from \"./box.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"marker\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./markers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./markers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./markers.vue?vue&type=template&id=238bd994&\"\nimport script from \"./markers.vue?vue&type=script&lang=js&\"\nexport * from \"./markers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"outlier\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outlier.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outlier.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./outlier.vue?vue&type=template&id=5d8c57b6&\"\nimport script from \"./outlier.vue?vue&type=script&lang=js&\"\nexport * from \"./outlier.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip-auxiliary-function\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=4efe2e83&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./boxplot.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./boxplot.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./boxplot.vue?vue&type=template&id=2b888fb2&\"\nimport script from \"./boxplot.vue?vue&type=script&lang=js&\"\nexport * from \"./boxplot.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteInformation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteInformation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./callsiteInformation.vue?vue&type=template&id=3b788001&\"\nimport script from \"./callsiteInformation.vue?vue&type=script&lang=js&\"\nexport * from \"./callsiteInformation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./callsiteInformation.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callflowSingle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callflowSingle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./callflowSingle.vue?vue&type=template&id=fb1d124c&\"\nimport script from \"./callflowSingle.vue?vue&type=script&lang=js&\"\nexport * from \"./callflowSingle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{attrs:{\"id\":\"inspire\"}},[_c('v-toolbar',{attrs:{\"id\":\"toolbar\",\"color\":\"teal\",\"dark\":\"\",\"fixed\":\"\",\"app\":\"\",\"clipped-right\":\"\"}},[_c('v-toolbar-side-icon',{on:{\"click\":function($event){$event.stopPropagation();_vm.left = !_vm.left}}},[_c('v-icon',[_vm._v(\"settings\")])],1),_c('v-toolbar-title',{staticStyle:{\"margin-right\":\"3em\"}},[_vm._v(_vm._s(_vm.appName))]),_c('v-flex',{staticClass:\"ma-2\",attrs:{\"xs3\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Select Target run (Sorted by inclusive runtime)\",\"items\":_vm.datasets,\"menu-props\":{ maxHeight: '400' },\"box\":\"\"},on:{\"change\":function($event){return _vm.updateTargetDataset()}},scopedSlots:_vm._u([{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.datasets.indexOf(item) + 1)+\". \"+_vm._s(item)+\" - \"+_vm._s(_vm.formatRuntimeWithoutUnits(_vm.metricTimeMap[item]))+\" \")]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.datasets.indexOf(item) + 1)+\". \"+_vm._s(item)+\" - \"+_vm._s(_vm.formatRuntimeWithoutUnits(_vm.metricTimeMap[item]))+\" \")]}}]),model:{value:(_vm.selectedTargetDataset),callback:function ($$v) {_vm.selectedTargetDataset=$$v},expression:\"selectedTargetDataset\"}})],1),_c('v-flex',{staticClass:\"ma-2\",attrs:{\"xs3\":\"\"}},[(_vm.selectedFormat == 'SuperGraph')?_c('v-select',{attrs:{\"label\":\"Select Compare run\",\"items\":_vm.datasets,\"menu-props\":{ maxHeight: '400' },\"box\":\"\"},on:{\"change\":function($event){return _vm.updateCompareDataset()}},scopedSlots:_vm._u([{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.datasets.indexOf(item) + 1)+\". \"+_vm._s(item)+\" - \"+_vm._s(_vm.formatRuntimeWithoutUnits(_vm.metricTimeMap[item]))+\" \")]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.datasets.indexOf(item) + 1)+\". \"+_vm._s(item)+\" - \"+_vm._s(_vm.formatRuntimeWithoutUnits(_vm.metricTimeMap[item]))+\" \")]}}],null,false,2364397756),model:{value:(_vm.selectedCompareDataset),callback:function ($$v) {_vm.selectedCompareDataset=$$v},expression:\"selectedCompareDataset\"}}):_vm._e()],1),_c('v-spacer'),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs2\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Graph to visualize\",\"items\":_vm.formats,\"menu-props\":{ maxHeight: '400' },\"box\":\"\"},on:{\"change\":function($event){return _vm.updateFormat()}},model:{value:(_vm.selectedFormat),callback:function ($$v) {_vm.selectedFormat=$$v},expression:\"selectedFormat\"}})],1)],1),_c('v-navigation-drawer',{attrs:{\"temporary\":\"\",\"fixed\":\"\"},model:{value:(_vm.left),callback:function ($$v) {_vm.left=$$v},expression:\"left\"}},[_c('v-btn',{attrs:{\"slot\":\"activator\",\"color\":\"primary\",\"dark\":\"\"},slot:\"activator\"},[_vm._v(\"Open Dialog\")]),_c('v-card',{attrs:{\"flex\":\"\",\"fill-height\":\"\",\"id\":\"control-panel\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-btn',{attrs:{\"icon\":\"\"}},[_c('v-icon',{on:{\"click\":function($event){return _vm.reset()}}},[_vm._v(\"refresh\")])],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',{staticClass:\"teal lighten-4\"},[_vm._v(\"Visual Encoding\")])],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',[_vm._v(\" \"+_vm._s(_vm.targetInfo)+\" \"),_c('v-spacer'),_c('v-spacer'),_c('v-switch',{attrs:{\"color\":\"#009687\"},on:{\"change\":function($event){return _vm.updateTargetColor()}},model:{value:(_vm.showTarget),callback:function ($$v) {_vm.showTarget=$$v},expression:\"showTarget\"}})],1)],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Metric\",\"items\":_vm.metrics,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateMetric()}},model:{value:(_vm.selectedMetric),callback:function ($$v) {_vm.selectedMetric=$$v},expression:\"selectedMetric\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Number of bins for Run Distribution\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateRunBinCount()}},model:{value:(_vm.selectedRunBinCount),callback:function ($$v) {_vm.selectedRunBinCount=$$v},expression:\"selectedRunBinCount\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Number of bins for MPI Distribution\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateMPIBinCount()}},model:{value:(_vm.selectedMPIBinCount),callback:function ($$v) {_vm.selectedMPIBinCount=$$v},expression:\"selectedMPIBinCount\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Scale\",\"items\":_vm.scales,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateScale()}},model:{value:(_vm.selectedScale),callback:function ($$v) {_vm.selectedScale=$$v},expression:\"selectedScale\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Bin by attribute\",\"items\":_vm.props,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateProp()}},model:{value:(_vm.selectedProp),callback:function ($$v) {_vm.selectedProp=$$v},expression:\"selectedProp\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',{staticClass:\"teal lighten-4\"},[_vm._v(\"Colors\")])],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Runtime Color Map\",\"items\":_vm.runtimeColorMap,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedRuntimeColorMap),callback:function ($$v) {_vm.selectedRuntimeColorMap=$$v},expression:\"selectedRuntimeColorMap\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Distribution Color Map\",\"items\":_vm.distributionColorMap,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedDistributionColorMap),callback:function ($$v) {_vm.selectedDistributionColorMap=$$v},expression:\"selectedDistributionColorMap\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Target Color\",\"items\":_vm.targetColors,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateTargetColor()}},model:{value:(_vm.selectedTargetColor),callback:function ($$v) {_vm.selectedTargetColor=$$v},expression:\"selectedTargetColor\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Color points (3-9)\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedColorPoint),callback:function ($$v) {_vm.selectedColorPoint=$$v},expression:\"selectedColorPoint\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Color minimum (in seconds)\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedColorMinText),callback:function ($$v) {_vm.selectedColorMinText=$$v},expression:\"selectedColorMinText\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Color maximum (in seconds)\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedColorMaxText),callback:function ($$v) {_vm.selectedColorMaxText=$$v},expression:\"selectedColorMaxText\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',{staticClass:\"teal lighten-4\"},[_vm._v(\"Call site Correspondence\")])],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Sort by\",\"items\":_vm.sortByModes,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateRuntimeSortBy()}},model:{value:(_vm.selectedRuntimeSortBy),callback:function ($$v) {_vm.selectedRuntimeSortBy=$$v},expression:\"selectedRuntimeSortBy\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"IQR Factor\",\"type\":\"float\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateIQRFactor()}},model:{value:(_vm.selectedIQRFactor),callback:function ($$v) {_vm.selectedIQRFactor=$$v},expression:\"selectedIQRFactor\"}})],1)],1)],1)],1),(_vm.selectedMode == 'Ensemble')?_c('v-content',{staticClass:\"pt-auto\"},[_c('v-layout',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}]},[_c('splitpanes',{staticClass:\"default-theme\",attrs:{\"id\":\"callgraph-dashboard\"}},[_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":25}},[_c('ModuleHierarchy',{ref:\"ModuleHierarchy\"}),_c('EnsembleScatterplot',{ref:\"EnsembleScatterplot\"}),_c('EnsembleHistogram',{ref:\"EnsembleHistogram\"})],1),_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":55}},[_c('SuperGraph',{ref:\"SuperGraph\"})],1),_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":20}},[_c('CallsiteCorrespondence',{ref:\"CallsiteCorrespondence\"}),_c('ParameterProjection',{ref:\"ParameterProjection\"})],1)],1)],1),_c('v-layout',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'CCT'),expression:\"selectedFormat == 'CCT'\"}]},[_c('splitpanes',{attrs:{\"id\":\" ensemble-cct-dashboard\"}},[_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":100}},[_c('CCT',{ref:\"CCT\"})],1)],1)],1),_c('v-layout',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'CCT' && _vm.selectedMode == 'Compare'),expression:\"selectedFormat == 'CCT' && selectedMode == 'Compare'\"}]},[_c('splitpanes',{attrs:{\"id\":\"compare-cct-dashboard\"}},[_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":50}},[_c('CCT',{ref:\"CCT1\"})],1),_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":50}},[_c('CCT',{ref:\"CCT2\"})],1)],1)],1)],1):_vm._e(),_c('v-footer',{attrs:{\"id\":\"footer\",\"color\":\"teal\",\"app\":\"\"}},[_vm._v(\" Lawrence Livermore National Laboratory, and University of California, Davis \"),_c('v-spacer'),_c('span',[_vm._v(\"©2020\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"id\":_vm.id}},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")]),_c('v-spacer'),_c('span',{staticClass:\"component-info\"},[_c('p')]),(_vm.isCallsiteSelected == true)?_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-btn',{staticClass:\"ma-1 reveal-button\",attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.clickCallsite}},[_vm._v(\" Reveal \")])],1):_vm._e(),(_vm.isModuleSelected == true)?_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-btn',{staticClass:\"ma-1 reveal-button\",class:_vm.isEntryFunctionSelected,attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.showEntryFunctions}},[_vm._v(\" Entry call sites \")]),_c('v-btn',{staticClass:\"ma-1 reveal-button\",class:_vm.isCalleeSelected,attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.showExitFunctions}},[_vm._v(\" Callees \")]),_c('v-spacer'),(_vm.showSplitButton == 'true')?_c('v-btn',{staticClass:\"ma-1 reveal-button\",attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.split}},[_vm._v(\" Split \")]):_vm._e()],1):_vm._e(),_c('v-layout',{staticClass:\"component-data\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('p',{staticClass:\"subtitle-2\"},[_vm._v(\" Unmatched \"+_vm._s(_vm.numberOfDifferenceCallsites)+\" callsites. \")])]),_vm._l((_vm.differenceCallsites),function(callsite){return _c('v-container',{key:_vm.getID(callsite.id),staticClass:\"callsite-information-node\"},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"md1\":\"\"}},[_c('v-card',{staticClass:\"mx-auto\",attrs:{\"width\":\"25px\",\"tile\":\"\",\"outlined\":\"\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"}},[[_c('v-flex',{class:_vm.selectClassName[callsite.name],attrs:{\"id\":callsite.name,\"text-xs-center\":\"\"},on:{\"click\":_vm.changeSelectedClassName}},[_vm._v(\" \"+_vm._s(_vm.formatNumberOfHops(callsite.component_level))+\" \")])],_c('span',[_vm._v(\"Component level: \"+_vm._s(_vm.formatNumberOfHops(callsite.component_level)))])],2)],1)],1),_c('v-flex',{attrs:{\"md11\":\"\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-flex',_vm._g({staticClass:\"pl-2 subtitle-2 font-weight-black\"},on),[_vm._v(\" \"+_vm._s(_vm.formatName(callsite.name))+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(callsite.name))])])],1)],1),_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-spacer'),(_vm.selectedMode == 'Ensemble')?_c('div',{staticClass:\"subtitle-2\",style:('color: ' + _vm.targetColor)},[_vm._v(\" Std. Dev. : \"+_vm._s(_vm.targetStandardDeviation[callsite.name])+\" \"+_vm._s(_vm.selectedMode)+\" \")]):_vm._e()],1),_c('BoxPlot',{ref:callsite.id,refInFor:true,attrs:{\"callsite\":callsite,\"showTarget\":\"false\"}}),_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"subtitle-2\",style:('color: ' + _vm.ensembleColor)},[_vm._v(\" Mean : \"+_vm._s(_vm.ensembleMeans[callsite.name])+\" \")]),_c('v-spacer'),_c('div',{staticClass:\"subtitle-2\",style:('color: ' + _vm.ensembleColor)},[_vm._v(\" Std. Dev. : \"+_vm._s(_vm.ensembleStandardDeviation[callsite.name])+\" \")])],1)],1)}),_c('v-layout',{staticClass:\"component-data\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('p',{staticClass:\"subtitle-2\"},[_vm._v(\" Matched \"+_vm._s(_vm.numberOfIntersectionCallsites)+\" callsites. \")])]),_vm._l((_vm.intersectionCallsites),function(callsite){return _c('v-container',{key:_vm.getID(callsite.id),staticClass:\"callsite-information-node\"},[_c('v-layout',{staticStyle:{\"align-items\":\"center\"},attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"md1\":\"\"}},[_c('v-card',{staticClass:\"mx-auto\",attrs:{\"width\":\"25px\",\"tile\":\"\",\"outlined\":\"\"}},[_c('v-flex',{class:_vm.selectClassName[callsite.name],attrs:{\"id\":callsite.name,\"text-xs-center\":\"\"},on:{\"click\":_vm.changeSelectedClassName}},[_vm._v(\" \"+_vm._s(_vm.formatNumberOfHops(callsite.component_level))+\" \")])],1)],1),_c('v-flex',{attrs:{\"md11\":\"\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-flex',_vm._g({staticClass:\"pl-2 subtitle-2 font-weight-black\"},on),[_vm._v(\" \"+_vm._s(_vm.formatName(callsite.name))+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(callsite.name))])])],1)],1),_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"body-2\",style:('color: ' + _vm.targetColor)},[_vm._v(\" Mean : \"+_vm._s(_vm.targetMeans[callsite.name])+\" \")]),_c('v-spacer'),_c('div',{staticClass:\"body-2\",style:('color: ' + _vm.targetColor)},[_vm._v(\" Std. Dev. : \"+_vm._s(_vm.targetStandardDeviation[callsite.name])+\" \")])],1),_c('BoxPlot',{ref:callsite.id,refInFor:true,attrs:{\"callsite\":callsite,\"showTarget\":\"false\"}}),_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"body-2\",style:('color: ' + _vm.ensembleColor)},[_vm._v(\" Mean : \"+_vm._s(_vm.ensembleMeans[callsite.name])+\" \")]),_c('v-spacer'),_c('div',{staticClass:\"body-2\",style:('color: ' + _vm.ensembleColor)},[_vm._v(\" Std. Dev. : \"+_vm._s(_vm.ensembleStandardDeviation[callsite.name])+\" \")])],1),_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{staticClass:\"body-2\",attrs:{\"md12\":\"\"}},[_vm._v(\"Ranks : \"+_vm._s(_vm.selectedOutlierRanks)+\" \")]),_c('v-spacer'),_c('v-flex',{staticClass:\"body-2\",attrs:{\"md12\":\"\"}},[_vm._v(\"Datasets : \"+_vm._s(_vm.selectedOutlierDatasets))])],1)],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"boxplot\",attrs:{\"id\":_vm.id,\"width\":_vm.containerWidth,\"height\":_vm.containerHeight}},[_c('Box',{ref:\"Box\"}),_c('Markers',{ref:\"Markers\"}),_c('Outliers',{ref:\"Outliers\"}),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"box\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./box.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./box.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./box.vue?vue&type=template&id=2cb96a89&\"\nimport script from \"./box.vue?vue&type=script&lang=js&\"\nexport * from \"./box.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"marker\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./markers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./markers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./markers.vue?vue&type=template&id=04f138be&\"\nimport script from \"./markers.vue?vue&type=script&lang=js&\"\nexport * from \"./markers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"outlier\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outlier.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outlier.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./outlier.vue?vue&type=template&id=57ab6b88&\"\nimport script from \"./outlier.vue?vue&type=script&lang=js&\"\nexport * from \"./outlier.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip-auxiliary-function\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=f2cd4d12&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./boxplot.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./boxplot.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./boxplot.vue?vue&type=template&id=48a491bd&\"\nimport script from \"./boxplot.vue?vue&type=script&lang=js&\"\nexport * from \"./boxplot.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteCorrespondence.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteCorrespondence.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./callsiteCorrespondence.vue?vue&type=template&id=0af86715&\"\nimport script from \"./callsiteCorrespondence.vue?vue&type=script&lang=js&\"\nexport * from \"./callsiteCorrespondence.vue?vue&type=script&lang=js&\"\nimport style0 from \"./callsiteCorrespondence.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":_vm.id}},[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")]),_c('v-spacer'),_c('span',{staticClass:\"component-info\"},[_vm._v(\" Number of \"+_vm._s(_vm.selectedPropLabel)+\" = \"+_vm._s(_vm.selectedPropSum)+\" \")])],1),_c('svg',{attrs:{\"id\":_vm.svgID}}),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip-ensemble-histogram\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=61ae9698&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n \n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ensembleHistogram.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ensembleHistogram.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ensembleHistogram.vue?vue&type=template&id=46619d74&\"\nimport script from \"./ensembleHistogram.vue?vue&type=script&lang=js&\"\nexport * from \"./ensembleHistogram.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"id\":_vm.id}},[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")])],1),_c('span',{staticClass:\"component-info\"},[_vm._v(\" Module = \"+_vm._s(_vm.formatModule(_vm.selectedModule))+\" \")]),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"tooltip\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=26bc4b82&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport LinkedList from \"./linkedList\";\n\nexport default class Queue {\n\tconstructor() {\n\t\t// We're going to implement Queue based on LinkedList since the two\n\t\t// structures are quite similar. Namely, they both operate mostly on\n\t\t// the elements at the beginning and the end. Compare enqueue/dequeue\n\t\t// operations of Queue with append/deleteHead operations of LinkedList.\n\t\tthis.linkedList = new LinkedList();\n\t}\n\n\t/**\n * @return {boolean}\n */\n\tisEmpty() {\n\t\treturn !this.linkedList.head;\n\t}\n\n\t/**\n * Read the element at the front of the queue without removing it.\n * @return {*}\n */\n\tpeek() {\n\t\tif (!this.linkedList.head) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this.linkedList.head.value;\n\t}\n\n\t/**\n * Add a new element to the end of the queue (the tail of the linked list).\n * This element will be processed after all elements ahead of it.\n * @param {*} value\n */\n\tenqueue(value) {\n\t\tthis.linkedList.append(value);\n\t}\n\n\t/**\n * Remove the element at the front of the queue (the head of the linked list).\n * If the queue is empty, return null.\n * @return {*}\n */\n\tdequeue() {\n\t\tconst removedHead = this.linkedList.deleteHead();\n\t\treturn removedHead ? removedHead.value : null;\n\t}\n\n\t/**\n * @param [callback]\n * @return {string}\n */\n\ttoString(callback) {\n\t\t// Return string representation of the queue's linked list.\n\t\treturn this.linkedList.toString(callback);\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./moduleHierarchy.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./moduleHierarchy.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./moduleHierarchy.vue?vue&type=template&id=0c33ddfb&\"\nimport script from \"./moduleHierarchy.vue?vue&type=script&lang=js&\"\nexport * from \"./moduleHierarchy.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"id\":_vm.id}},[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")]),_c('v-spacer')],1),_c('span',{staticClass:\"component-info\"}),_c('svg',{attrs:{\"id\":_vm.svgID}}),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip_scatterplot\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=56c2c469&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ensembleScatterplot.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ensembleScatterplot.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ensembleScatterplot.vue?vue&type=template&id=0900031f&\"\nimport script from \"./ensembleScatterplot.vue?vue&type=script&lang=js&\"\nexport * from \"./ensembleScatterplot.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"id\":_vm.id}},[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")])],1),_c('svg',{attrs:{\"id\":_vm.svgId}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport * as d3 from \"d3\";\nimport classifyPoint from \"robust-point-in-polygon\";\n\nfunction lasso() {\n\n\tvar items = [],\n\t\tclosePathDistance = 75,\n\t\tclosePathSelect = true,\n\t\tisPathClosed = false,\n\t\thoverSelect = true,\n\t\ttargetArea,\n\t\tclassName = \"lasso\",\n\t\ton = { start: function () { }, draw: function () { }, end: function () { } };\n\n\t// Function to execute on call\n\tfunction lasso(_this) {\n\n\t\t// add a new group for the lasso\n\t\tvar g = _this.append(\"g\")\n\t\t\t.attr(\"class\", className);\n\n\t\t// add the drawn path for the lasso\n\t\tvar dyn_path = g.append(\"path\")\n\t\t\t.attr(\"class\", \"drawn\");\n\n\t\t// add a closed path\n\t\tvar close_path = g.append(\"path\")\n\t\t\t.attr(\"class\", \"loop_close\");\n\n\t\t// add an origin node\n\t\tvar origin_node = g.append(\"circle\")\n\t\t\t.attr(\"class\", \"origin\");\n\n\t\t// The transformed lasso path for rendering\n\t\tvar tpath;\n\n\t\t// The lasso origin for calculations\n\t\tvar origin;\n\n\t\t// The transformed lasso origin for rendering\n\t\tvar torigin;\n\n\t\t// Store off coordinates drawn\n\t\tvar drawnCoords;\n\n\t\t// Apply drag behaviors\n\t\tvar drag = d3.drag()\n\t\t\t.on(\"start\", dragstart)\n\t\t\t.on(\"drag\", dragmove)\n\t\t\t.on(\"end\", dragend);\n\n\t\t// Call drag\n\t\ttargetArea.call(drag);\n\n\t\tfunction dragstart() {\n\t\t\t// Init coordinates\n\t\t\tdrawnCoords = [];\n\n\t\t\t// Initialize paths\n\t\t\ttpath = \"\";\n\t\t\tdyn_path.attr(\"d\", null);\n\t\t\tclose_path.attr(\"d\", null);\n\n\t\t\t// Set every item to have a false selection and reset their center point and counters\n\t\t\titems.nodes().forEach(function (e) {\n\t\t\t\te.__lasso.possible = false;\n\t\t\t\te.__lasso.selected = false;\n\t\t\t\te.__lasso.hoverSelect = false;\n\t\t\t\te.__lasso.loopSelect = false;\n\n\t\t\t\tvar box = e.getBoundingClientRect();\n\t\t\t\te.__lasso.lassoPoint = [Math.round(box.left + box.width / 2), Math.round(box.top + box.height / 2)];\n\t\t\t});\n\n\t\t\t// if hover is on, add hover function\n\t\t\tif (hoverSelect) {\n\t\t\t\titems.on(\"mouseover.lasso\", function () {\n\t\t\t\t\t// if hovered, change lasso selection attribute to true\n\t\t\t\t\tthis.__lasso.hoverSelect = true;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Run user defined start function\n\t\t\ton.start();\n\t\t}\n\n\t\tfunction dragmove() {\n\t\t\t// Get mouse position within body, used for calculations\n\t\t\tvar x, y;\n\t\t\tif (d3.event.sourceEvent.type === \"touchmove\") {\n\t\t\t\tx = d3.event.sourceEvent.touches[0].clientX;\n\t\t\t\ty = d3.event.sourceEvent.touches[0].clientY;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tx = d3.event.sourceEvent.clientX;\n\t\t\t\ty = d3.event.sourceEvent.clientY;\n\t\t\t}\n\n\n\t\t\t// Get mouse position within drawing area, used for rendering\n\t\t\tvar tx = d3.mouse(this)[0];\n\t\t\tvar ty = d3.mouse(this)[1];\n\n\t\t\t// Initialize the path or add the latest point to it\n\t\t\tif (tpath === \"\") {\n\t\t\t\ttpath = tpath + \"M \" + tx + \" \" + ty;\n\t\t\t\torigin = [x, y];\n\t\t\t\ttorigin = [tx, ty];\n\t\t\t\t// Draw origin node\n\t\t\t\torigin_node\n\t\t\t\t\t.attr(\"cx\", tx)\n\t\t\t\t\t.attr(\"cy\", ty)\n\t\t\t\t\t.attr(\"r\", 7)\n\t\t\t\t\t.attr(\"display\", null);\n\t\t\t}\n\t\t\telse {\n\t\t\t\ttpath = tpath + \" L \" + tx + \" \" + ty;\n\t\t\t}\n\n\t\t\tdrawnCoords.push([x, y]);\n\n\t\t\t// Calculate the current distance from the lasso origin\n\t\t\tvar distance = Math.sqrt(Math.pow(x - origin[0], 2) + Math.pow(y - origin[1], 2));\n\n\t\t\t// Set the closed path line\n\t\t\tvar close_draw_path = \"M \" + tx + \" \" + ty + \" L \" + torigin[0] + \" \" + torigin[1];\n\n\t\t\t// Draw the lines\n\t\t\tdyn_path.attr(\"d\", tpath);\n\n\t\t\tclose_path.attr(\"d\", close_draw_path);\n\n\t\t\t// Check if the path is closed\n\t\t\tisPathClosed = distance <= closePathDistance ? true : false;\n\n\t\t\t// If within the closed path distance parameter, show the closed path. otherwise, hide it\n\t\t\tif (isPathClosed && closePathSelect) {\n\t\t\t\tclose_path.attr(\"display\", null);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tclose_path.attr(\"display\", \"none\");\n\t\t\t}\n\n\t\t\titems.nodes().forEach(function (n) {\n\t\t\t\tn.__lasso.loopSelect = (isPathClosed && closePathSelect) ? (classifyPoint(drawnCoords, n.__lasso.lassoPoint) < 1) : false;\n\t\t\t\tn.__lasso.possible = n.__lasso.hoverSelect || n.__lasso.loopSelect;\n\t\t\t});\n\n\t\t\ton.draw();\n\t\t}\n\n\t\tfunction dragend() {\n\t\t\t// Remove mouseover tagging function\n\t\t\titems.on(\"mouseover.lasso\", null);\n\n\t\t\titems.nodes().forEach(function (n) {\n\t\t\t\tn.__lasso.selected = n.__lasso.possible;\n\t\t\t\tn.__lasso.possible = false;\n\t\t\t});\n\n\t\t\t// Clear lasso\n\t\t\tdyn_path.attr(\"d\", null);\n\t\t\tclose_path.attr(\"d\", null);\n\t\t\torigin_node.attr(\"display\", \"none\");\n\n\t\t\t// Run user defined end function\n\t\t\ton.end();\n\t\t}\n\t}\n\n\t// Set or get list of items for lasso to select\n\tlasso.items = function (_) {\n\t\tif (!arguments.length) { return items; }\n\t\titems = _;\n\t\tvar nodes = items.nodes();\n\t\tnodes.forEach(function (n) {\n\t\t\tn.__lasso = {\n\t\t\t\t\"possible\": false,\n\t\t\t\t\"selected\": false\n\t\t\t};\n\t\t});\n\t\treturn lasso;\n\t};\n\n\tlasso.className = function (_) {\n\t\tclassName = _;\n\t\treturn lasso;\n\t};\n\n\t// Return possible items\n\tlasso.possibleItems = function () {\n\t\treturn items.filter(function () {\n\t\t\treturn this.__lasso.possible;\n\t\t});\n\t};\n\n\t// Return selected items\n\tlasso.selectedItems = function () {\n\t\treturn items.filter(function () {\n\t\t\treturn this.__lasso.selected;\n\t\t});\n\t};\n\n\t// Return not possible items\n\tlasso.notPossibleItems = function () {\n\t\treturn items.filter(function () {\n\t\t\treturn !this.__lasso.possible;\n\t\t});\n\t};\n\n\t// Return not selected items\n\tlasso.notSelectedItems = function () {\n\t\treturn items.filter(function () {\n\t\t\treturn !this.__lasso.selected;\n\t\t});\n\t};\n\n\t// Distance required before path auto closes loop\n\tlasso.closePathDistance = function (_) {\n\t\tif (!arguments.length) { return closePathDistance; }\n\t\tclosePathDistance = _;\n\t\treturn lasso;\n\t};\n\n\t// Option to loop select or not\n\tlasso.closePathSelect = function (_) {\n\t\tif (!arguments.length) { return closePathSelect; }\n\t\tclosePathSelect = _ === true ? true : false;\n\t\treturn lasso;\n\t};\n\n\t// Not sure what this is for\n\tlasso.isPathClosed = function (_) {\n\t\tif (!arguments.length) { return isPathClosed; }\n\t\tisPathClosed = _ === true ? true : false;\n\t\treturn lasso;\n\t};\n\n\t// Option to select on hover or not\n\tlasso.hoverSelect = function (_) {\n\t\tif (!arguments.length) { return hoverSelect; }\n\t\thoverSelect = _ === true ? true : false;\n\t\treturn lasso;\n\t};\n\n\t// Events\n\tlasso.on = function (type, _) {\n\t\tif (!arguments.length) { return on; }\n\t\tif (arguments.length === 1) { return on[type]; }\n\t\tvar types = [\"start\", \"draw\", \"end\"];\n\t\tif (types.indexOf(type) > -1) {\n\t\t\ton[type] = _;\n\t\t}\n\t\treturn lasso;\n\t};\n\n\t// Area where lasso can be triggered from\n\tlasso.targetArea = function (_) {\n\t\tif (!arguments.length) { return targetArea; }\n\t\ttargetArea = _;\n\t\treturn lasso;\n\t};\n\n\treturn lasso;\n}\n\nexport { lasso };","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./parameterProjection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./parameterProjection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./parameterProjection.vue?vue&type=template&id=f6e4a1ba&\"\nimport script from \"./parameterProjection.vue?vue&type=script&lang=js&\"\nexport * from \"./parameterProjection.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callflowEnsemble.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callflowEnsemble.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./callflowEnsemble.vue?vue&type=template&id=5e71b554&\"\nimport script from \"./callflowEnsemble.vue?vue&type=script&lang=js&\"\nexport * from \"./callflowEnsemble.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport Vue from \"vue\";\nimport * as Vuex from \"vuex\";\nimport Router from \"vue-router\";\nimport Vuetify from \"vuetify\";\nimport BootstrapVue from \"bootstrap-vue\";\nimport VueMaterial from \"vue-material\";\nimport \"vue-material/dist/vue-material.min.css\";\nimport \"vue-material/dist/theme/default.css\";\nimport \"vuetify/dist/vuetify.min.css\";\nimport \"material-design-icons-iconfont/dist/material-design-icons.css\";\n\nimport App from \"./components/App\";\nimport SingleCallFlow from \"./components/callflowSingle\";\nimport EnsembleCallFlow from \"./components/callflowEnsemble\";\n\nVue.use(Vuex);\nconst store = new Vuex.Store();\n\nconst router = new Router({\n\troutes: [\n\t\t{\n\t\t\tpath: \"/single\",\n\t\t\tname: \"SingleCallFlow\",\n\t\t\tcomponent: SingleCallFlow,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: \"/ensemble\",\n\t\t\tname: \"EnsembleCallFlow\",\n\t\t\tcomponent: EnsembleCallFlow,\n\t\t\tprops: true\n\t\t},\n\t]\n});\n\nVue.config.productionTip = false;\nVue.use(BootstrapVue);\nVue.use(Router);\nVue.use(Vuetify);\nVue.use(VueMaterial);\n\nnew Vue({\n\tstore,\n\trender: h => h(App),\n\tel: \"#app\",\n\trouter,\n\tcomponents: { App },\n\ttemplate: \"\"\n});\nVue.config.devtools = true;\n\nexport default router;\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteInformation.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteInformation.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cct.vue?vue&type=style&index=0&id=1976c798&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cct.vue?vue&type=style&index=0&id=1976c798&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./supergraph.vue?vue&type=style&index=0&id=60940fc5&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./supergraph.vue?vue&type=style&index=0&id=60940fc5&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/app/dist/js/app.a978f178.js b/app/dist/js/app.a978f178.js new file mode 100644 index 00000000..240a3038 --- /dev/null +++ b/app/dist/js/app.a978f178.js @@ -0,0 +1,2 @@ +(function(t){function e(e){for(var i,o,l=e[0],n=e[1],h=e[2],c=0,u=[];c1?s("v-btn",{attrs:{outlined:""}},[s("router-link",{attrs:{to:"/ensemble",replace:""}},[t._v("Ensemble")])],1):t._e()],1),s("router-view"),s("v-content",[s("v-layout",[s("v-container",{attrs:{fluid:""}},[s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" General Information ")])],1),s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" Experiment: "+t._s(t.data.experiment)+" ")])],1),s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" Data path: "+t._s(t.data.data_path)+" ")])],1),s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" .callflow save path: "+t._s(t.data.save_path)+" ")])],1),s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" Filter by attribute: "+t._s(t.data.filter_by)+" ")])],1),s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" Filter percentage: "+t._s(t.data.filter_perc)+" ")])],1),s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v(" Group by attribute: "+t._s(t.data.group_by)+" ")])],1)],1),s("v-container",[s("v-card",{attrs:{tile:""}},[s("v-card-title",[t._v("Runtime Information")]),s("v-data-table",{staticClass:"elevation-1",attrs:{dense:"",headers:t.runtimeHeaders,items:t.runtime,"items-per-page":5},scopedSlots:t._u([{key:"items",fn:function(e){return[s("tr",[s("td",{attrs:{nowrap:"true"}},[t._v(t._s(e.item.run))]),s("td",{attrs:{nowrap:"true"}},[t._v(" "+t._s(e.item.min_inclusive_runtime)+" ")]),s("td",{attrs:{nowrap:"true"}},[t._v(" "+t._s(e.item.max_inclusive_runtime)+" ")]),s("td",{attrs:{nowrap:"true"}},[t._v(" "+t._s(e.item.min_exclusive_runtime)+" ")]),s("td",{attrs:{nowrap:"true"}},[t._v(" "+t._s(e.item.max_exclusive_runtime)+" ")])])]}}])})],1)],1)],1)],1)],1)])}),u=[];class f{constructor(){this.url="http://localhost:5000/"}timeoutPromise(t,e){return new Promise((s,i)=>{const a=setTimeout(()=>{i(new Error("Promise times out"))},t);e.then(t=>{clearTimeout(a),s(t)},t=>{clearTimeout(a),i(t)})})}POSTRequest(t="",e={}){const s=this.url+t;console.log("[POST Request]",s,"body: ",e);const i=fetch(s,{method:"POST",cache:"default",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(t=>{switch(t.status){case 200:return t.json();case 401:return Promise.reject("unauthorized");case 500:return Promise.reject("not_allowed");default:return Promise.reject("unknown_error")}}).catch(t=>(console.error(t),Promise.reject(t)));return this.timeoutPromise(1e4,i)}GETRequest(t="",e={"Content-Type":"application/json"}){const s=this.url+t;console.debug("[GET Request]",s,e);const i=fetch(s,{method:"GET",headers:e,cache:"default",credentials:"same-origin"}).then(t=>{switch(t.status){case 200:return t.json();case 401:return Promise.reject("unauthorized");case 500:return Promise.reject("not_allowed");default:return Promise.reject("unknown_error")}}).catch(t=>(console.error(t),Promise.reject(t)));return this.timeoutPromise(1e4,i)}}var m=new f,p={name:"App",data:()=>({data:{},runCounts:0,runtimeHeaders:[{text:"Run",value:"run"},{text:"Min. Inclusive runtime (μs)",value:"min_inclusive_runtime"},{text:"Max. Inclusive runtime (μs)",value:"max_inclusive_runtime",sortable:!0},{text:"Min. Exclusive runtime (μs)",value:"min_exclusive_runtime"},{text:"Max. Exclusive runtime (μs)",value:"max_exclusive_runtime"}],runtime:[],expanded:[],singleExpand:!1,moduleHeaders:[{text:"Module",value:"module"},{text:"Inclusive runtime (μs)",value:"inclusive_runtime",sortable:!0},{text:"Exclusive runtime (μs)",value:"exclusive_runtime"},{text:"Imbalance perc (%)",value:"imbalance_perc"},{text:"Number of Callsites",value:"number_of_callsites"},{text:"",value:"data-table-expand"}],modules:[],auxiliarySortBy:"time (inc)",selectedRunBinCount:20,selectedMPIBinCount:20}),mounted(){this.fetchData()},methods:{async fetchData(){this.data=await m.GETRequest("init",{dataset_path:""}),this.runs=Object.keys(this.data.parameter_props.data_path),this.runCounts=this.runs.length,this.runtime_props=this.data.runtime_props,this.module_callsite_map=this.data.module_callsite_map,this.setStore(),this.init()},init(){this.runtimePropsTable(),this.moduleCallsiteTable()},setStore(){this.$store.selectedDatasets=this.runs,this.$store.numOfRuns=this.runs.length,this.$store.maxExcTime=this.data.runtime_props.maxExcTime,this.$store.minExcTime=this.data.runtime_props.minExcTime,this.$store.maxIncTime=this.data.runtime_props.maxIncTime,this.$store.minIncTime=this.data.runtime_props.minIncTime,this.$store.numOfRanks=this.data.runtime_props.numOfRanks},runtimePropsTable(){for(let t of this.runs)this.runtime.push({run:t,min_inclusive_runtime:this.runtime_props.minIncTime[t],max_inclusive_runtime:this.runtime_props.maxIncTime[t],min_exclusive_runtime:this.runtime_props.minExcTime[t],max_exclusive_runtime:this.runtime_props.maxExcTime[t]})},moduleCallsiteTable(){for(let t in this.module_callsite_map)this.modules.push({module:t,number_of_callsites:this.data.module_callsite_map[t].length})}}},g=p,x=(s("9993"),s("2877")),b=Object(x["a"])(g,c,u,!1,null,null,null),y=b.exports,v=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-app",{attrs:{id:"inspire"}},[s("v-toolbar",{attrs:{id:"toolbar",color:"teal",dark:"",fixed:"",app:"","clipped-right":""}},[s("v-toolbar-side-icon",{on:{click:function(e){e.stopPropagation(),t.left=!t.left}}},[s("v-icon",[t._v("settings")])],1),s("v-toolbar-title",{staticStyle:{"margin-right":"3em"}},[t._v(t._s(t.appName))]),s("v-flex",{staticClass:"ma-2",attrs:{xs3:""}},[s("v-select",{attrs:{label:"Select a run (Sorted by inclusive runtime)",items:t.datasets,"menu-props":{maxHeight:"400"},box:""},on:{change:function(e){return t.updateTargetDataset()}},scopedSlots:t._u([{key:"selection",fn:function(e){var s=e.item;return[t._v(" "+t._s(t.datasets.indexOf(s)+1)+". "+t._s(s)+" - "+t._s(t.formatRuntimeWithoutUnits(t.metricTimeMap[s]))+" ")]}},{key:"item",fn:function(e){var s=e.item;return[t._v(" "+t._s(t.datasets.indexOf(s)+1)+". "+t._s(s)+" - "+t._s(t.formatRuntimeWithoutUnits(t.metricTimeMap[s]))+" ")]}}]),model:{value:t.selectedTargetDataset,callback:function(e){t.selectedTargetDataset=e},expression:"selectedTargetDataset"}})],1),s("v-spacer"),s("v-flex",{staticClass:"ma-1",attrs:{xs2:""}},[s("v-select",{attrs:{label:"Graph to visualize",items:t.formats,"menu-props":{maxHeight:"400"},box:""},on:{change:function(e){return t.updateFormat()}},model:{value:t.selectedFormat,callback:function(e){t.selectedFormat=e},expression:"selectedFormat"}})],1)],1),s("v-navigation-drawer",{attrs:{temporary:"",fixed:""},model:{value:t.left,callback:function(e){t.left=e},expression:"left"}},[s("v-btn",{attrs:{slot:"activator",color:"primary",dark:""},slot:"activator"},[t._v("Open Dialog")]),s("v-card",{attrs:{flex:"","fill-height":"",id:"control-panel"}},[s("v-layout",{attrs:{row:"",wrap:""}},[s("v-btn",{attrs:{icon:""}},[s("v-icon",{on:{click:function(e){return t.reset()}}},[t._v("refresh")])],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",{staticClass:"teal lighten-4"},[t._v("Visual Encoding")])],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Metric",items:t.metrics,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateMetric()}},model:{value:t.selectedMetric,callback:function(e){t.selectedMetric=e},expression:"selectedMetric"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Number of bins for MPI Distribution",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateMPIBinCount()}},model:{value:t.selectedMPIBinCount,callback:function(e){t.selectedMPIBinCount=e},expression:"selectedMPIBinCount"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Scale",items:t.scales,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateScale()}},model:{value:t.selectedScale,callback:function(e){t.selectedScale=e},expression:"selectedScale"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",{staticClass:"teal lighten-4"},[t._v("Colors")])],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Runtime Color Map",items:t.runtimeColorMap,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedRuntimeColorMap,callback:function(e){t.selectedRuntimeColorMap=e},expression:"selectedRuntimeColorMap"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Color points (3-9)",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedColorPoint,callback:function(e){t.selectedColorPoint=e},expression:"selectedColorPoint"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Color minimum (in seconds)",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedColorMinText,callback:function(e){t.selectedColorMinText=e},expression:"selectedColorMinText"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Color maximum (in seconds)",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedColorMaxText,callback:function(e){t.selectedColorMaxText=e},expression:"selectedColorMaxText"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",{staticClass:"teal lighten-4"},[t._v("Call site Information")])],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Sort by",items:t.sortByModes,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateRuntimeSortBy()}},model:{value:t.selectedRuntimeSortBy,callback:function(e){t.selectedRuntimeSortBy=e},expression:"selectedRuntimeSortBy"}})],1)],1)],1)],1),"Single"==t.selectedMode?s("v-content",{staticClass:"pt-auto"},[s("v-layout",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}]},[s("splitpanes",{staticClass:"default-theme",attrs:{id:"callgraph-dashboard"}},[s("splitpanes",{attrs:{horizontal:"","splitpanes-size":25}},[s("SingleHistogram",{ref:"SingleHistogram"}),s("SingleScatterplot",{ref:"SingleScatterplot"})],1),s("splitpanes",{attrs:{horizontal:"","splitpanes-size":55}},[s("SuperGraph",{ref:"SingleSuperGraph"})],1),s("splitpanes",{attrs:{horizontal:"","splitpanes-size":20}},[s("CallsiteInformation",{ref:"CallsiteInformation"})],1)],1)],1),s("v-layout",{directives:[{name:"show",rawName:"v-show",value:"CCT"==t.selectedFormat,expression:"selectedFormat == 'CCT'"}]},[s("splitpanes",{attrs:{id:"single-cct-dashboard"}},[s("splitpanes",{attrs:{horizontal:"","splitpanes-size":100}},[s("CCT",{ref:"SingleCCT"})],1)],1)],1)],1):t._e(),s("v-footer",{attrs:{id:"footer",color:"teal",app:""}},[t._v(" Lawrence Livermore National Laboratory and VIDi Labs, University of California, Davis "),s("v-spacer"),s("span",[t._v("© 2020")])],1)],1)},$=[],C=s("5698"),M=s("6149");const _={0:[.31,.48,.65],1:[.94,.56,.22],2:[.87,.35,.36],3:[.47,.72,.7],4:[.36,.63,.32],5:[.93,.78,.33],6:[.69,.48,.63],7:[.99,.62,.66],8:[.61,.46,.38],9:[.73,.69,.67],blue:[.31,.48,.65],orange:[.94,.56,.22],red:[.87,.35,.36],teal:[.47,.72,.7],green:[.36,.63,.32],yellow:[.93,.78,.33],purple:[.69,.48,.63],pink:[.99,.62,.66],brown:[.61,.46,.38],gray:[.73,.69,.67]},T={coolwarm:[[.33479085,.28308437,.75649522],[.33899903,.290177126,.762712568],[.343207654,.297250671,.768868416],[.347417048,.304305324,.774961783],[.351627529,.311341308,.780991701],[.355839407,.31835875,.786957213],[.36005298,.325357701,.792857371],[.364268538,.332338134,.798691243],[.368486361,.339299959,.804457904],[.372706719,.346243025,.810156445],[.376929872,.353167127,.815785967],[.381156069,.360072011,.821345583],[.385385551,.366957379,.826834419],[.389618546,.373822891,.832251614],[.393855272,.380668171,.837596318],[.398095935,.387492809,.842867695],[.402340732,.394296365,.848064921],[.406589846,.401078368,.853187185],[.410843451,.407838324,.85823369],[.415101708,.414575715,.863203651],[.419364766,.42129,.868096298],[.423632761,.42798062,.872910872],[.42790582,.434646997,.877646629],[.432184055,.441288536,.882302838],[.436467566,.447904626,.886878783],[.440756441,.454494645,.891373761],[.445050754,.461057956,.895787081],[.449350569,.46759391,.900118069],[.453655933,.474101849,.904366064],[.457966884,.480581104,.908530419],[.462283444,.487030998,.912610501],[.466605623,.493450846,.916605692],[.470933417,.499839955,.920515388],[.475266811,.506197626,.924339],[.479605773,.512523155,.928075953],[.483950261,.51881583,.931725687],[.488300218,.525074937,.935287658],[.492655572,.531299757,.938761334],[.497016241,.537489567,.9421462],[.501382127,.543643642,.945441756],[.505753118,.549761254,.948647516],[.510129092,.555841671,.951763009],[.514509909,.561884161,.954787781],[.51889542,.56788799,.957721391],[.52328546,.573852423,.960563413],[.527679851,.579776725,.96331344],[.532078401,.58566016,.965971076],[.536480908,.591501991,.968535941],[.540887154,.597301482,.971007674],[.545296909,.603057899,.973385925],[.54970993,.608770507,.975670362],[.554125961,.614438572,.977860667],[.558544733,.620061363,.97995654],[.562965965,.625638149,.981957693],[.567389365,.631168202,.983863856],[.571814625,.636650795,.985674775],[.576241429,.642085204,.987390209],[.580669445,.647470707,.989009935],[.585098332,.652806586,.990533745],[.589527737,.658092124,.991961445],[.593957293,.663326609,.99329286],[.598386625,.668509332,.994527827],[.602815344,.673639585,.995666201],[.607243051,.678716668,.996707851],[.611669336,.683739881,.997652664],[.61609378,.688708529,.998500538],[.620515949,.693621923,.999251393],[.624935404,.698479377,.999905158],[.629351691,.70328021,1.000461782],[.633764351,.708023743,1.000921227],[.63817291,.712709307,1.001283473],[.64257689,.717336232,1.001548513],[.646975798,.721903859,1.001716355],[.651369136,.726411529,1.001787026],[.655756395,.730858592,1.001760564],[.660137059,.735244402,1.001637025],[.664510601,.739568319,1.00141648],[.668876488,.743829708,1.001099013],[.673234178,.74802794,1.000684725],[.67758312,.752162394,1.000173733],[.681922758,.756232453,.999566166],[.686252527,.760237507,.998862171],[.690571854,.764176951,.998061908],[.69488016,.76805019,.997165552],[.699176859,.771856631,.996173293],[.703461358,.775595691,.995085337],[.707733059,.779266794,.993901902],[.711991357,.782869367,.992623222],[.71623564,.786402849,.991249546],[.720465291,.789866684,.989781136],[.724679689,.793260321,.98821827],[.728878207,.79658322,.986561237],[.73306021,.799834846,.984810343],[.737225063,.803014673,.982965908],[.741372122,.806122181,.981028263],[.745500742,.80915686,.978997757],[.749610271,.812118205,.97687475],[.753700055,.81500572,.974659614],[.757769435,.817818918,.972352739],[.76181775,.820557319,.969954524],[.765844332,.823220451,.967465384],[.769848514,.825807851,.964885746],[.773829624,.828319063,.962216051],[.777786987,.83075364,.95945675],[.781719925,.833111145,.956608311],[.78562776,.835391146,.953671211],[.789509808,.837593223,.950645941],[.793365387,.839716962,.947533006],[.79719381,.84176196,.944332919],[.80099439,.843727822,.94104621],[.804766438,.84561416,.937673417],[.808509264,.847420597,.934215092],[.812222176,.849146765,.930671799],[.815904482,.850792304,.927044111],[.81955549,.852356864,.923332614],[.823174505,.853840103,.919537906],[.826760834,.855241688,.915660596],[.830313782,.856561298,.911701301],[.833832656,.857798619,.907660652],[.837316761,.858953345,.903539289],[.840765403,.860025183,.899337864],[.844177889,.861013847,.895057037],[.847553526,.861919061,.89069748],[.850891622,.862740559,.886259872],[.854191486,.863478084,.881744906],[.857452428,.864131388,.877153282],[.860673759,.864700235,.872485708],[.863854792,.865184396,.867742904],[.867330172,.864540194,.862606204],[.871070379,.862768866,.857104915],[.874730228,.860914529,.851568855],[.878309568,.858977443,.845998954],[.881808244,.856957876,.840396142],[.885226105,.854856108,.834761348],[.888562998,.852672423,.829095499],[.89181877,.850407119,.823399519],[.894993269,.848060498,.817674334],[.898086346,.845632873,.811920864],[.901097852,.843124565,.80614003],[.90402764,.840535903,.800332749],[.906875564,.837867225,.794499937],[.909641483,.835118874,.788642506],[.912325257,.832291206,.782761367],[.914926747,.829384579,.776857427],[.917445821,.826399364,.770931591],[.919882348,.823335935,.76498476],[.9222362,.820194675,.759017834],[.924507255,.816975975,.753031706],[.926695392,.813680232,.74702727],[.928800497,.810307851,.741005413],[.930822459,.806859241,.73496702],[.932761172,.803334821,.728912971],[.934616533,.799735013,.722844143],[.936388447,.796060247,.71676141],[.938076822,.792310959,.71066564],[.939681571,.78848759,.704557696],[.941202613,.784590588,.69843844],[.942639873,.780620404,.692308727],[.943993281,.776577495,.686169407],[.945262772,.772462324,.680021326],[.94644829,.768275358,.673865327],[.947549782,.764017068,.667702244],[.948567201,.75968793,.66153291],[.949500509,.755288422,.65535815],[.950349672,.750819028,.649178786],[.951114665,.746280235,.642995633],[.951795465,.741672531,.636809501],[.952392062,.736996408,.630621194],[.952904448,.732252362,.624431512],[.953332623,.727440889,.618241248],[.953676597,.722562488,.612051188],[.953936383,.717617658,.605862116],[.954112003,.7126069,.599674805],[.954203486,.707530716,.593490026],[.95421087,.702389608,.587308543],[.954134199,.697184077,.581131111],[.953973524,.691914624,.574958483],[.953728904,.686581749,.568791403],[.953400406,.68118595,.562630608],[.952988106,.675727722,.556476831],[.952492085,.670207559,.550330796],[.951912435,.664625951,.544193222],[.951249252,.658983382,.538064822],[.950502644,.653280336,.531946299],[.949672726,.647517287,.525838353],[.948759618,.641694704,.519741675],[.947763452,.635813053,.51365695],[.946684367,.629872786,.507584854],[.94552251,.623874352,.50152606],[.944278035,.617818187,.495481231],[.942951107,.611704718,.489451023],[.941541896,.60553436,.483436086],[.940050585,.599307515,.477437063],[.938477361,.593024572,.471454589],[.936822421,.586685904,.465489292],[.935085971,.580291867,.459541794],[.933268225,.573842799,.453612707],[.931369406,.567339019,.44770264],[.929389745,.560780821,.44181219],[.927329482,.554168481,.43594195],[.925188866,.547502243,.430092505],[.922968152,.540782329,.424264432],[.920667608,.534008926,.418458302],[.918287506,.52718219,.412674678],[.915828131,.520302242,.406914115],[.913289773,.513369162,.401177161],[.910672733,.506382987,.395464359],[.90797732,.499343711,.389776241],[.905203852,.492251274,.384113335],[.902352654,.485105562,.37847616],[.899424062,.477906402,.372865229],[.89641842,.470653555,.367281047],[.893336079,.463346707,.361724112],[.890177401,.455985471,.356194915],[.886942755,.448569368,.35069394],[.88363252,.441097828,.345221665],[.880247082,.433570174,.339778559],[.876786838,.425985617,.334365086],[.87325219,.418343238,.328981703],[.869643553,.410641979,.32362886],[.865961348,.402880625,.318306999],[.862206003,.395057791,.313016558],[.858377959,.387171894,.307757966],[.854477661,.379221139,.302531647],[.850505566,.371203487,.29733802],[.846462136,.363116629,.292177494],[.842347845,.354957949,.287050476],[.838163173,.346724482,.281957365],[.83390861,.338412871,.276898554],[.829584652,.330019309,.27187443],[.825191806,.321539471,.266885377],[.820730585,.312968442,.26193177],[.816201511,.304300615,.257013981],[.811605116,.295529586,.252132377],[.806941937,.286648013,.247287319],[.802212521,.277647446,.242479163],[.797417423,.268518124,.237708261],[.792557206,.259248713,.232974961],[.787632439,.249825977,.228279608],[.782643702,.24023436,.223622539],[.77759158,.230455444,.219004091],[.772476668,.220467236,.214424597],[.767299568,.210243209,.209884384],[.762060889,.199751005,.20538378],[.756761248,.188950611,.200923108],[.75140127,.177791763,.196502688],[.745981587,.166210104,.192122839],[.740502838,.154121318,.187783878],[.734965671,.14141175,.183486121],[.729370739,.127922592,.179229881],[.723718704,.113421308,.175015472],[.718010235,.097545076,.170843206],[.712246006,.079673653,.166713395],[.7064267,.058582625,.162626353],[.700553008,.031592475,.158582393],[.694625625,.00296461,.154581828]],viridis:[[.282364553,0,.331010194],[.284420163,0,.337034427],[.286408722,0,.34299986],[.288328018,0,.348901425],[.290179378,.002654874,.35473812],[.291960279,.007927574,.360508963],[.29367257,.013523701,.366210869],[.295314593,.019446928,.371841938],[.296885699,.025709273,.377402605],[.298386438,.032320043,.382889257],[.299815971,.039284989,.388299074],[.301173065,.046263605,.393633812],[.302457462,.052924483,.398887738],[.303669591,.059347679,.404062513],[.304807765,.065576775,.409154501],[.305872694,.071646986,.414162002],[.306863542,.077587483,.419085269],[.307780278,.083417867,.423919761],[.308622494,.08915478,.428667953],[.309390937,.094810863,.433324403],[.310084053,.100399347,.437890473],[.310702155,.105925447,.442362838],[.311245178,.111398995,.446741648],[.31171373,.116826841,.451025994],[.312107495,.122211059,.455213669],[.312426421,.12756,.45930581],[.312671026,.132871715,.463299323],[.312842848,.13815391,.467195234],[.312939857,.143406419,.470990554],[.312964756,.148633022,.474688209],[.312917276,.153833244,.478285325],[.31279806,.159008292,.481781833],[.312607967,.164161309,.485179603],[.312347642,.169291531,.488475883],[.312018787,.174399964,.491673367],[.311623294,.179485609,.494771427],[.311159847,.184551638,.497770623],[.310631264,.189595869,.500670447],[.310038598,.194617768,.503473667],[.309383825,.199620123,.50617997],[.308668394,.204599571,.508789973],[.307893026,.209558887,.511307017],[.30705867,.214494832,.513728818],[.306169637,.219410015,.516060621],[.305226907,.224301183,.518300247],[.304230908,.229169665,.520452297],[.303184327,.23401591,.522516303],[.30208911,.238838555,.52449521],[.300947275,.243638109,.526391045],[.299761321,.248411187,.528204854],[.298533409,.253162399,.529940558],[.297264904,.257887398,.531597292],[.295957559,.262587449,.533178503],[.294613881,.267263788,.534687595],[.293235389,.271914152,.536124789],[.29182587,.276539894,.537493845],[.29038714,.281137685,.538796077],[.288919537,.285713038,.540035142],[.287426163,.290260619,.541210432],[.285909075,.294782589,.542327277],[.284368457,.299280222,.54338595],[.282808854,.30375224,.544389916],[.281231181,.308198925,.545340709],[.279638204,.312619061,.546240852],[.278029366,.317014946,.54709281],[.276408749,.321385415,.547898161],[.2747762,.325731625,.548659129],[.273133607,.330054743,.549376904],[.271483073,.334352558,.550054129],[.269825453,.338628329,.55069316],[.268162615,.3428799,.551295679],[.266495079,.347108488,.551861999],[.264824946,.351315001,.552395838],[.263152656,.355499532,.552898352],[.261479291,.359663188,.553370667],[.2598069,.363804861,.553815549],[.258135127,.367926736,.554233229],[.256465488,.372027779,.554624491],[.254796664,.376110092,.554991545],[.253131545,.380173687,.5553352],[.251468935,.38421961,.555657646],[.249809319,.388246886,.555958715],[.248154519,.392256574,.556239496],[.246502819,.396250722,.556502059],[.244855438,.400228368,.556746262],[.243211275,.404191591,.556972229],[.241572085,.40813939,.557181851],[.239935321,.412073822,.557375231],[.238302445,.415993928,.557553271],[.236672664,.419901774,.557716013],[.235044688,.423797366,.557863499],[.233418402,.42768078,.557996644],[.23179415,.43155403,.558115514],[.23017062,.435415152,.558221055],[.228545837,.439268241,.558311286],[.226921796,.443110292,.558388185],[.225295059,.446944385,.558450748],[.223665357,.450770477,.5585],[.222033173,.454587707,.558533891],[.220395682,.458399026,.558554442],[.218753476,.462202555,.558559625],[.217103794,.466001277,.55854943],[.2154464,.469793276,.55852386],[.213781237,.473579536,.558482909],[.212104356,.477363125,.558424526],[.210416546,.481140084,.558348751],[.208715672,.48491544,.558254507],[.207002655,.488686237,.558142856],[.205274058,.492454453,.558011716],[.203529732,.496219216,.557860134],[.201769075,.499981516,.557687063],[.199990512,.503743321,.557493446],[.198194207,.507501758,.557276358],[.196378932,.511260752,.557037681],[.19454391,.515016431,.556773514],[.192687798,.518772751,.556483695],[.190809699,.522527822,.556167356],[.188910106,.52628262,.555823406],[.186988225,.530037105,.555450744],[.185044047,.533791419,.555048516],[.183076504,.537546494,.554614502],[.181087511,.541301431,.554148901],[.17907907,.54505611,.553651486],[.177048511,.548811719,.553119441],[.174998106,.552566177,.55255165],[.172927152,.556323508,.551946906],[.170840345,.560079758,.551305519],[.168735186,.563836905,.550623112],[.166617897,.56759401,.549902026],[.164486938,.571352034,.549137847],[.162350105,.575110037,.54833296],[.160206983,.57886796,.547482915],[.158062641,.582625896,.54658912],[.15592085,.58638281,.545648332],[.153785246,.590140667,.544660266],[.151663046,.593897574,.543623383],[.149559345,.597654419,.542537144],[.147481636,.601409324,.541399051],[.145437381,.605164162,.540210518],[.14343467,.60891604,.538969112],[.141480867,.61266593,.537672481],[.139587165,.616415793,.536320242],[.137763667,.620161689,.534912064],[.136020919,.623906545,.533446178],[.13437266,.627646426,.531922315],[.132832383,.631384239,.530339651],[.131410838,.635118107,.528695928],[.130125622,.638846942,.526990734],[.128989086,.642572693,.52522357],[.128017628,.646291446,.523393293],[.127225586,.650007125,.521497893],[.126630843,.653714779,.519538336],[.126246801,.657418325,.517512535],[.126089944,.661112834,.515420512],[.126172637,.664801273,.513260659],[.126511086,.668481527,.511032406],[.127114669,.672153753,.508734767],[.127995817,.675817772,.506367566],[.129165005,.679470699,.503930954],[.130626887,.683115418,.501421577],[.132387924,.686749032,.49884169],[.134452914,.690371463,.49618857],[.136822787,.693983608,.493462472],[.13949652,.697582617,.490662686],[.142474978,.7011703,.487788732],[.145750228,.70474282,.484838975],[.149321849,.708302973,.481813842],[.153179377,.711847929,.478713792],[.157318564,.715378589,.475536944],[.161730716,.718893812,.472282406],[.166406002,.722391787,.468951725],[.171338542,.725874284,.465543101],[.17651572,.729337518,.462055133],[.181930053,.732785241,.458487921],[.187571031,.736211639,.454843239],[.193429649,.739619614,.451117964],[.199499186,.743008988,.447313047],[.205767887,.746376001,.443429285],[.212229375,.749723376,.439463504],[.218873428,.753047369,.435417594],[.22569701,.756349669,.431288292],[.232688469,.759628568,.427078537],[.239843791,.7628837,.422786019],[.247153668,.766113396,.418412723],[.254613428,.769318467,.413957329],[.262218889,.772498701,.409418458],[.269962666,.77565145,.404798189],[.277841418,.778778314,.400092862],[.285848026,.781875674,.395303604],[.29398231,.784946086,.39042969],[.302235095,.787985957,.385473325],[.310604419,.790996053,.380432913],[.319087196,.793977129,.375305722],[.327678425,.796925609,.370097109],[.336377071,.799844013,.36480084],[.34517577,.80272881,.359421265],[.354076535,.805582464,.353955096],[.363072889,.808400495,.348402578],[.37216392,.811184613,.342763768],[.381347905,.813934495,.337037614],[.390618224,.816648721,.331226329],[.399976821,.81932765,.325327258],[.409415973,.821969907,.319342572],[.418938096,.824574796,.313270474],[.428536113,.82714301,.307110897],[.438211485,.829672159,.300864482],[.447961789,.832162866,.294529459],[.457781391,.83461486,.288106667],[.467672971,.837028362,.281594598],[.477628958,.839401127,.274993962],[.487651997,.841734348,.268301762],[.497733674,.844025807,.261523769],[.507875022,.846277099,.254656114],[.518075249,.848488769,.247698899],[.528325832,.850658669,.240654148],[.538630828,.852786888,.233517501],[.548980458,.854874335,.226295687],[.559378838,.856921058,.218982461],[.569817428,.858926,.211583929],[.580294553,.860889673,.204097969],[.590811638,.862813564,.196522789],[.601358084,.864696671,.188865211],[.611937091,.866539951,.181121292],[.622540157,.868342445,.173298674],[.633168288,.870107082,.165394846],[.643812988,.87183295,.15741903],[.654472815,.873520492,.149372194],[.665146187,.875172136,.141258413],[.675825719,.87678702,.133091913],[.686511527,.878367982,.12487704],[.697194143,.879914204,.116633111],[.707874818,.881428483,.108373929],[.718543932,.882912056,.100128072],[.729204,.884365666,.091925366],[.739843331,.885790592,.083809287],[.750462567,.887190215,.075839053],[.761059494,.888563872,.068090072],[.771623442,.889914889,.060669955],[.782157864,.891244958,.053711966],[.792653349,.892555409,.047401118],[.803110167,.893848926,.04195436],[.81352,.895126859,.03764563],[.823881496,.896391553,.034852646],[.834195319,.897645338,.033642701],[.844452225,.898889585,.034045498],[.854655562,.900125934,.036085859],[.864796013,.901357784,.039789107],[.874876944,.902585761,.044954025],[.884885947,.903815287,.051230115],[.894826973,.905044656,.058381191],[.90470253,.906278205,.066205641],[.91450577,.907515306,.074534887],[.924239732,.908759607,.083251002],[.933898589,.910011479,.092251508],[.943486439,.911272564,.101473717],[.952999453,.912545233,.110858769]],inferno:[[.002810891,239715e-9,.013984976],[.004019847,978214e-9,.018722507],[.005535928,.00187858,.024433316],[.007352275,.002928594,.031151042],[.009463158,.004122023,.038856908],[.011875164,.00544392,.047160074],[.014598821,.006882989,.05549261],[.017636359,.008432151,.063833581],[.021017968,.010065827,.072260641],[.024743935,.011784159,.080708378],[.028837804,.013566889,.089219815],[.033326247,.015396259,.097809251],[.038216424,.017268324,.106440143],[.043430971,.019154971,.115162139],[.048693764,.021040888,.123967748],[.054003412,.022919329,.132833018],[.05937446,.024767653,.141775321],[.064826084,.026549139,.150830309],[.070349827,.028263587,.159955322],[.075950411,.029888422,.169148722],[.081637827,.031404016,.17841319],[.087425459,.032773279,.187768133],[.093315577,.033979154,.197195807],[.099307652,.035007297,.206679544],[.105402262,.035836467,.216206467],[.11160571,.036444525,.225770396],[.117916762,.036813662,.235353395],[.124336908,.036927557,.244940257],[.130861794,.036773825,.254505012],[.137489231,.036346007,.264028401],[.144209431,.035642023,.273476467],[.151015433,.034667062,.28281847],[.157897349,.03343447,.292023612],[.164837843,.031964803,.301050012],[.171827177,.030285889,.309867094],[.178846632,.028428459,.318436221],[.185883931,.026431189,.326727546],[.192913861,.024349971,.334701716],[.199922206,.022233669,.342332673],[.206896794,.020130048,.349604188],[.213821188,.018085948,.356495421],[.220686239,.01614765,.36300284],[.227481223,.014355535,.369119105],[.234203612,.012742013,.374850293],[.240846275,.011335284,.380200563],[.247409605,.010157358,.385183383],[.25389244,.00922676,.389814002],[.260296425,.008548931,.394106082],[.26662827,.008128897,.398079916],[.272888184,.007967771,.401752554],[.279082984,.008062521,.405141928],[.285215144,.008411444,.408265426],[.291290587,.009006962,.411140969],[.297313415,.009846182,.41378732],[.303287625,.010914426,.416217169],[.309220747,.012204296,.418446847],[.31511472,.013704677,.420488274],[.320976396,.015407335,.422354544],[.32680655,.017302461,.42405678],[.33261022,.019380479,.425606502],[.33839282,.021633451,.427012121],[.344153787,.024052574,.428282941],[.349898892,.026629309,.429426665],[.35562785,.029355256,.43044874],[.361346591,.032224413,.431358727],[.367053482,.035230654,.432159193],[.372752567,.038365761,.4328564],[.3784468,.041595697,.433455535],[.384135533,.044788621,.433960296],[.389822923,.047944779,.434373977],[.395506485,.051063276,.434700381],[.401189511,.054146112,.434943693],[.4068728,.057192222,.435104814],[.412556166,.060199931,.435185819],[.418243957,.063171283,.435188731],[.423933314,.06610722,.435114544],[.429627404,.069008639,.434966249],[.435324174,.071876171,.434743925],[.441027491,.074713043,.43444847],[.446733669,.077518064,.434082054],[.452446383,.080294305,.433643485],[.458162952,.083041445,.433136016],[.463885774,.085763765,.432560539],[.469615152,.088460854,.431914896],[.475348183,.09113465,.431200416],[.481089526,.093787482,.430415748],[.486835457,.096418645,.429563306],[.49258791,.099031404,.428642651],[.498344739,.101627493,.427653271],[.504107463,.104208064,.426595937],[.50987656,.106775461,.425470369],[.515649029,.109331131,.424277141],[.521426769,.111875723,.423014653],[.527208676,.114410574,.421683562],[.532994806,.116939588,.42028318],[.538784144,.119462794,.418815247],[.544575216,.121981175,.417278404],[.550371412,.124498872,.415673254],[.556167707,.127014924,.41399861],[.561966129,.129532943,.412254628],[.567764629,.132053983,.410442205],[.573565191,.134579443,.408560423],[.579363842,.137111442,.40661025],[.585160178,.139651746,.404592207],[.590957491,.142202192,.40250478],[.596749843,.144763781,.400348019],[.602540203,.147339963,.398121837],[.608324672,.149931559,.395828373],[.614106177,.152539886,.393466468],[.619878803,.155167953,.39103732],[.62564502,.157816339,.388541343],[.631405276,.16048786,.385977888],[.637153672,.163184363,.383348244],[.642895026,.165908225,.380651089],[.648622504,.168659106,.377887791],[.654340024,.171441466,.375058945],[.660042722,.174255929,.372166993],[.665730985,.17710425,.369210216],[.671404338,.179990219,.366189835],[.677058916,.182912273,.363108386],[.682697502,.185876068,.359964293],[.688315275,.188880002,.356760156],[.693913094,.19192974,.353495316],[.699488019,.195022636,.350170452],[.705038579,.198163531,.346787702],[.710566106,.20135422,.343346184],[.716066836,.204595038,.339850629],[.721539555,.207888681,.336298229],[.726982448,.21123646,.332693775],[.73239625,.214641094,.329035403],[.737776233,.2181018,.325326951],[.743124048,.221622403,.32156649],[.748435031,.225202042,.317758905],[.75370943,.228844711,.313903188],[.75894657,.232551318,.309999301],[.764142757,.236320958,.306051185],[.769298574,.240158638,.302057753],[.774410361,.24406134,.298021999],[.77947869,.248033102,.293943781],[.784498961,.252072896,.289827098],[.789472323,.256183813,.28567083],[.794397096,.260364835,.281476823],[.799269603,.264617985,.277247087],[.804091318,.26894337,.27298138],[.808857686,.273339856,.26868175],[.813569116,.277811732,.264349842],[.818223052,.282355751,.259985752],[.822818703,.286973061,.255592213],[.82735609,.291664924,.251166929],[.831830811,.296431042,.246713936],[.836244108,.301270823,.242231798],[.840591599,.306183914,.237722542],[.844875422,.311171845,.23318565],[.849092282,.316232129,.228623159],[.853241223,.321365084,.224035636],[.857322167,.326571094,.21942059],[.861331902,.331848603,.21478101],[.865271396,.337198333,.210114175],[.869138558,.342616591,.205424062],[.872933212,.34810625,.200705817],[.876653352,.353663534,.195963343],[.88029782,.359288934,.191192908],[.883868435,.364982926,.18639468],[.887360283,.37074069,.181568458],[.890776984,.376566224,.176712017],[.894114775,.382452576,.171827069],[.897374185,.388403856,.166908161],[.900554463,.39441505,.161956811],[.903654355,.400486745,.156970616],[.90667454,.406618534,.151946006],[.909613336,.41280737,.146884076],[.91247216,.419054438,.141779605],[.915247473,.425354607,.136631311],[.917941576,.431711138,.13143639],[.920553003,.438118822,.126193019],[.92308235,.444578324,.12089804],[.925528158,.451090351,.115545644],[.927890089,.457649617,.11013577],[.930168274,.464258499,.104662026],[.932363432,.470912662,.099122862],[.934473651,.477613532,.093511016],[.936498751,.484357723,.087826678],[.93844068,.491146702,.082060883],[.940296388,.497977037,.076213354],[.942067334,.504847466,.070277474],[.943752836,.511760795,.06424713],[.945353009,.518710501,.058120676],[.946867593,.525700159,.051891455],[.948295769,.532725216,.04556084],[.949638198,.53978828,.039112476],[.950894169,.546884747,.032903658],[.952063015,.55401443,.027232246],[.953145915,.561180175,.0221163],[.954141311,.568376334,.017577226],[.955049698,.575605576,.01363671],[.955869597,.582863221,.010318691],[.956603366,.590152978,.007647565],[.957247693,.597469118,.005653645],[.957804685,.604814517,.004365192],[.958272553,.612188026,.003815359],[.958651994,.619586903,.004038404],[.958943236,.627013907,.005072597],[.959145208,.63446323,.00695773],[.95925702,.641938676,.009736864],[.959279647,.649436413,.013456641],[.959213225,.656956325,.018166728],[.959055721,.664501335,.023921376],[.958809389,.672064551,.030777952],[.958472175,.679649817,.038798466],[.958045344,.687253245,.047545867],[.957527869,.694876673,.05639001],[.956920137,.702516187,.065327227],[.956222221,.710172696,.074362977],[.955435128,.717847108,.083500802],[.954558502,.725534474,.092742519],[.953590125,.733238676,.102098349],[.952533796,.740954728,.111570461],[.95138945,.748682482,.121171091],[.950157939,.756419958,.130904998],[.948841532,.764165035,.140781309],[.947441335,.771919616,.150814361],[.945959663,.779676661,.161005763],[.944398407,.787439028,.171373044],[.942762103,.795200653,.181921587],[.941049699,.802964391,.192669999],[.939264076,.810723142,.203627758],[.937415841,.818475746,.214804757],[.935510862,.826217989,.226217167],[.933559455,.833942752,.237872127],[.93156307,.8416528,.249795364],[.929529596,.849338965,.262001658],[.927483114,.856994896,.274501251],[.925440807,.864610442,.287299789],[.923403333,.872186154,.300442835],[.921409474,.879705858,.31392195],[.919490918,.887156115,.327744186],[.917656842,.894536376,.341960845],[.915969564,.901820516,.35653516],[.914460404,.908999767,.37149754],[.913185926,.916052067,.386828249],[.912202301,.922961588,.402519028],[.911571271,.929705491,.418535415],[.911358961,.936266305,.434834633],[.911626842,.942626533,.451364946],[.912435288,.948769029,.468038546],[.913828005,.954687153,.484787691],[.915840127,.960372411,.501502204],[.91848121,.965832199,.51812067],[.921749977,.971070576,.534539304],[.925624725,.976102635,.550702793],[.930072492,.980946133,.566595441],[.9350529,.985618856,.58210261],[.940520965,.990140356,.597269626],[.946429162,.994525842,.612080146],[.952736995,.998796066,.626535043],[.959399507,1.002963285,.640626478]],cividis:[[0,.1262,.3015],[0,.1292,.3077],[0,.1321,.3142],[0,.135,.3205],[0,.1379,.3269],[0,.1408,.3334],[0,.1437,.34],[0,.1465,.3467],[0,.1492,.3537],[0,.1519,.3606],[0,.1546,.3676],[0,.1574,.3746],[0,.1601,.3817],[0,.1629,.3888],[0,.1657,.396],[0,.1685,.4031],[0,.1714,.4102],[0,.1743,.4172],[0,.1773,.4241],[0,.1798,.4307],[0,.1817,.4347],[0,.1834,.4363],[0,.1852,.4368],[0,.1872,.4368],[0,.1901,.4365],[0,.193,.4361],[0,.1958,.4356],[0,.1987,.4349],[0,.2015,.4343],[0,.2044,.4336],[0,.2073,.4329],[.0055,.2101,.4322],[.0236,.213,.4314],[.0416,.2158,.4308],[.0576,.2187,.4301],[.071,.2215,.4293],[.0827,.2244,.4287],[.0932,.2272,.428],[.103,.23,.4274],[.112,.2329,.4268],[.1204,.2357,.4262],[.1283,.2385,.4256],[.1359,.2414,.4251],[.1431,.2442,.4245],[.15,.247,.4241],[.1566,.2498,.4236],[.163,.2526,.4232],[.1692,.2555,.4228],[.1752,.2583,.4224],[.1811,.2611,.422],[.1868,.2639,.4217],[.1923,.2667,.4214],[.1977,.2695,.4212],[.203,.2723,.4209],[.2082,.2751,.4207],[.2133,.278,.4205],[.2183,.2808,.4204],[.2232,.2836,.4203],[.2281,.2864,.4202],[.2328,.2892,.4201],[.2375,.292,.42],[.2421,.2948,.42],[.2466,.2976,.42],[.2511,.3004,.4201],[.2556,.3032,.4201],[.2599,.306,.4202],[.2643,.3088,.4203],[.2686,.3116,.4205],[.2728,.3144,.4206],[.277,.3172,.4208],[.2811,.32,.421],[.2853,.3228,.4212],[.2894,.3256,.4215],[.2934,.3284,.4218],[.2974,.3312,.4221],[.3014,.334,.4224],[.3054,.3368,.4227],[.3093,.3396,.4231],[.3132,.3424,.4236],[.317,.3453,.424],[.3209,.3481,.4244],[.3247,.3509,.4249],[.3285,.3537,.4254],[.3323,.3565,.4259],[.3361,.3593,.4264],[.3398,.3622,.427],[.3435,.365,.4276],[.3472,.3678,.4282],[.3509,.3706,.4288],[.3546,.3734,.4294],[.3582,.3763,.4302],[.3619,.3791,.4308],[.3655,.3819,.4316],[.3691,.3848,.4322],[.3727,.3876,.4331],[.3763,.3904,.4338],[.3798,.3933,.4346],[.3834,.3961,.4355],[.3869,.399,.4364],[.3905,.4018,.4372],[.394,.4047,.4381],[.3975,.4075,.439],[.401,.4104,.44],[.4045,.4132,.4409],[.408,.4161,.4419],[.4114,.4189,.443],[.4149,.4218,.444],[.4183,.4247,.445],[.4218,.4275,.4462],[.4252,.4304,.4473],[.4286,.4333,.4485],[.432,.4362,.4496],[.4354,.439,.4508],[.4388,.4419,.4521],[.4422,.4448,.4534],[.4456,.4477,.4547],[.4489,.4506,.4561],[.4523,.4535,.4575],[.4556,.4564,.4589],[.4589,.4593,.4604],[.4622,.4622,.462],[.4656,.4651,.4635],[.4689,.468,.465],[.4722,.4709,.4665],[.4756,.4738,.4679],[.479,.4767,.4691],[.4825,.4797,.4701],[.4861,.4826,.4707],[.4897,.4856,.4714],[.4934,.4886,.4719],[.4971,.4915,.4723],[.5008,.4945,.4727],[.5045,.4975,.473],[.5083,.5005,.4732],[.5121,.5035,.4734],[.5158,.5065,.4736],[.5196,.5095,.4737],[.5234,.5125,.4738],[.5272,.5155,.4739],[.531,.5186,.4739],[.5349,.5216,.4738],[.5387,.5246,.4739],[.5425,.5277,.4738],[.5464,.5307,.4736],[.5502,.5338,.4735],[.5541,.5368,.4733],[.5579,.5399,.4732],[.5618,.543,.4729],[.5657,.5461,.4727],[.5696,.5491,.4723],[.5735,.5522,.472],[.5774,.5553,.4717],[.5813,.5584,.4714],[.5852,.5615,.4709],[.5892,.5646,.4705],[.5931,.5678,.4701],[.597,.5709,.4696],[.601,.574,.4691],[.605,.5772,.4685],[.6089,.5803,.468],[.6129,.5835,.4673],[.6168,.5866,.4668],[.6208,.5898,.4662],[.6248,.5929,.4655],[.6288,.5961,.4649],[.6328,.5993,.4641],[.6368,.6025,.4632],[.6408,.6057,.4625],[.6449,.6089,.4617],[.6489,.6121,.4609],[.6529,.6153,.46],[.657,.6185,.4591],[.661,.6217,.4583],[.6651,.625,.4573],[.6691,.6282,.4562],[.6732,.6315,.4553],[.6773,.6347,.4543],[.6813,.638,.4532],[.6854,.6412,.4521],[.6895,.6445,.4511],[.6936,.6478,.4499],[.6977,.6511,.4487],[.7018,.6544,.4475],[.706,.6577,.4463],[.7101,.661,.445],[.7142,.6643,.4437],[.7184,.6676,.4424],[.7225,.671,.4409],[.7267,.6743,.4396],[.7308,.6776,.4382],[.735,.681,.4368],[.7392,.6844,.4352],[.7434,.6877,.4338],[.7476,.6911,.4322],[.7518,.6945,.4307],[.756,.6979,.429],[.7602,.7013,.4273],[.7644,.7047,.4258],[.7686,.7081,.4241],[.7729,.7115,.4223],[.7771,.715,.4205],[.7814,.7184,.4188],[.7856,.7218,.4168],[.7899,.7253,.415],[.7942,.7288,.4129],[.7985,.7322,.4111],[.8027,.7357,.409],[.807,.7392,.407],[.8114,.7427,.4049],[.8157,.7462,.4028],[.82,.7497,.4007],[.8243,.7532,.3984],[.8287,.7568,.3961],[.833,.7603,.3938],[.8374,.7639,.3915],[.8417,.7674,.3892],[.8461,.771,.3869],[.8505,.7745,.3843],[.8548,.7781,.3818],[.8592,.7817,.3793],[.8636,.7853,.3766],[.8681,.7889,.3739],[.8725,.7926,.3712],[.8769,.7962,.3684],[.8813,.7998,.3657],[.8858,.8035,.3627],[.8902,.8071,.3599],[.8947,.8108,.3569],[.8992,.8145,.3538],[.9037,.8182,.3507],[.9082,.8219,.3474],[.9127,.8256,.3442],[.9172,.8293,.3409],[.9217,.833,.3374],[.9262,.8367,.334],[.9308,.8405,.3306],[.9353,.8442,.3268],[.9399,.848,.3232],[.9444,.8518,.3195],[.949,.8556,.3155],[.9536,.8593,.3116],[.9582,.8632,.3076],[.9628,.867,.3034],[.9674,.8708,.299],[.9721,.8746,.2947],[.9767,.8785,.2901],[.9814,.8823,.2856],[.986,.8862,.2807],[.9907,.8901,.2759],[.9954,.894,.2708],[1,.8979,.2655],[1,.9018,.26],[1,.9057,.2593],[1,.9094,.2634],[1,.9131,.268],[1,.9169,.2731]],green:[[.9686274509803922,.9882352941176471,.9607843137254902],[.9647058823529412,.9882352941176471,.9568627450980393],[.9647058823529412,.9882352941176471,.9568627450980393],[.9607843137254902,.984313725490196,.9529411764705882],[.9607843137254902,.984313725490196,.9490196078431372],[.9568627450980393,.984313725490196,.9490196078431372],[.9568627450980393,.984313725490196,.9450980392156862],[.9529411764705882,.9803921568627451,.9411764705882353],[.9490196078431372,.9803921568627451,.9411764705882353],[.9490196078431372,.9803921568627451,.9372549019607843],[.9450980392156862,.9803921568627451,.9333333333333333],[.9450980392156862,.9803921568627451,.9333333333333333],[.9411764705882353,.9764705882352941,.9294117647058824],[.9411764705882353,.9764705882352941,.9254901960784314],[.9372549019607843,.9764705882352941,.9254901960784314],[.9333333333333333,.9764705882352941,.9215686274509803],[.9333333333333333,.9725490196078431,.9176470588235294],[.9294117647058824,.9725490196078431,.9176470588235294],[.9254901960784314,.9725490196078431,.9137254901960784],[.9254901960784314,.9725490196078431,.9098039215686274],[.9215686274509803,.9686274509803922,.9058823529411765],[.9215686274509803,.9686274509803922,.9058823529411765],[.9176470588235294,.9686274509803922,.9019607843137255],[.9137254901960784,.9686274509803922,.8980392156862745],[.9137254901960784,.9647058823529412,.8941176470588236],[.9098039215686274,.9647058823529412,.8941176470588236],[.9058823529411765,.9647058823529412,.8901960784313725],[.9058823529411765,.9647058823529412,.8862745098039215],[.9019607843137255,.9607843137254902,.8823529411764706],[.8980392156862745,.9607843137254902,.8823529411764706],[.8941176470588236,.9607843137254902,.8784313725490196],[.8941176470588236,.9568627450980393,.8745098039215686],[.8901960784313725,.9568627450980393,.8705882352941177],[.8862745098039215,.9568627450980393,.8666666666666667],[.8823529411764706,.9568627450980393,.8627450980392157],[.8823529411764706,.9529411764705882,.8627450980392157],[.8784313725490196,.9529411764705882,.8588235294117647],[.8745098039215686,.9529411764705882,.8549019607843137],[.8705882352941177,.9490196078431372,.8509803921568627],[.8666666666666667,.9490196078431372,.8470588235294118],[.8666666666666667,.9490196078431372,.8431372549019608],[.8627450980392157,.9450980392156862,.8392156862745098],[.8588235294117647,.9450980392156862,.8352941176470589],[.8549019607843137,.9450980392156862,.8313725490196079],[.8509803921568627,.9411764705882353,.8274509803921568],[.8470588235294118,.9411764705882353,.8235294117647058],[.8431372549019608,.9372549019607843,.8196078431372549],[.8392156862745098,.9372549019607843,.8156862745098039],[.8352941176470589,.9372549019607843,.8117647058823529],[.8313725490196079,.9333333333333333,.807843137254902],[.8313725490196079,.9333333333333333,.807843137254902],[.8274509803921568,.9333333333333333,.803921568627451],[.8235294117647058,.9294117647058824,.796078431372549],[.8196078431372549,.9294117647058824,.792156862745098],[.8156862745098039,.9254901960784314,.788235294117647],[.8117647058823529,.9254901960784314,.7843137254901961],[.807843137254902,.9254901960784314,.7803921568627451],[.803921568627451,.9215686274509803,.7764705882352941],[.8,.9215686274509803,.7725490196078432],[.796078431372549,.9176470588235294,.7686274509803922],[.792156862745098,.9176470588235294,.7647058823529411],[.788235294117647,.9176470588235294,.7607843137254902],[.7843137254901961,.9137254901960784,.7568627450980392],[.7764705882352941,.9137254901960784,.7529411764705882],[.7725490196078432,.9098039215686274,.7490196078431373],[.7686274509803922,.9098039215686274,.7450980392156863],[.7647058823529411,.9058823529411765,.7411764705882353],[.7607843137254902,.9058823529411765,.7372549019607844],[.7568627450980392,.9019607843137255,.7333333333333333],[.7529411764705882,.9019607843137255,.7254901960784313],[.7490196078431373,.9019607843137255,.7215686274509804],[.7450980392156863,.8980392156862745,.7176470588235294],[.7411764705882353,.8980392156862745,.7137254901960784],[.7333333333333333,.8941176470588236,.7098039215686275],[.7294117647058823,.8941176470588236,.7058823529411765],[.7254901960784313,.8901960784313725,.7019607843137254],[.7215686274509804,.8901960784313725,.6980392156862745],[.7176470588235294,.8862745098039215,.6901960784313725],[.7137254901960784,.8862745098039215,.6862745098039216],[.7098039215686275,.8823529411764706,.6823529411764706],[.7019607843137254,.8823529411764706,.6784313725490196],[.6980392156862745,.8784313725490196,.6745098039215687],[.6941176470588235,.8784313725490196,.6705882352941176],[.6901960784313725,.8745098039215686,.6666666666666666],[.6823529411764706,.8745098039215686,.6588235294117647],[.6784313725490196,.8705882352941177,.6549019607843137],[.6745098039215687,.8705882352941177,.6509803921568628],[.6705882352941176,.8666666666666667,.6470588235294118],[.6666666666666666,.8627450980392157,.6431372549019608],[.6588235294117647,.8627450980392157,.6392156862745098],[.6549019607843137,.8588235294117647,.6352941176470588],[.6509803921568628,.8588235294117647,.6274509803921569],[.6470588235294118,.8549019607843137,.6235294117647059],[.6392156862745098,.8549019607843137,.6196078431372549],[.6352941176470588,.8509803921568627,.615686274509804],[.6313725490196078,.8509803921568627,.611764705882353],[.6235294117647059,.8470588235294118,.6078431372549019],[.6196078431372549,.8431372549019608,.6],[.615686274509804,.8431372549019608,.596078431372549],[.6078431372549019,.8392156862745098,.592156862745098],[.6039215686274509,.8392156862745098,.5882352941176471],[.6,.8352941176470589,.5843137254901961],[.592156862745098,.8313725490196079,.5803921568627451],[.5882352941176471,.8313725490196079,.5725490196078431],[.5843137254901961,.8274509803921568,.5686274509803921],[.5764705882352941,.8274509803921568,.5647058823529412],[.5725490196078431,.8235294117647058,.5607843137254902],[.5686274509803921,.8196078431372549,.5568627450980392],[.5607843137254902,.8196078431372549,.5529411764705883],[.5568627450980392,.8156862745098039,.5490196078431373],[.5490196078431373,.8117647058823529,.5411764705882353],[.5450980392156862,.8117647058823529,.5372549019607843],[.5411764705882353,.807843137254902,.5333333333333333],[.5333333333333333,.803921568627451,.5294117647058824],[.5294117647058824,.803921568627451,.5254901960784314],[.5215686274509804,.8,.5215686274509804],[.5176470588235295,.796078431372549,.5176470588235295],[.5098039215686274,.796078431372549,.5137254901960784],[.5058823529411764,.792156862745098,.5098039215686274],[.5019607843137255,.788235294117647,.5058823529411764],[.49411764705882355,.788235294117647,.5019607843137255],[.49019607843137253,.7843137254901961,.4980392156862745],[.4823529411764706,.7803921568627451,.49411764705882355],[.47843137254901963,.7803921568627451,.48627450980392156],[.47058823529411764,.7764705882352941,.4823529411764706],[.4666666666666667,.7725490196078432,.47843137254901963],[.4588235294117647,.7686274509803922,.4745098039215686],[.4549019607843137,.7686274509803922,.47058823529411764],[.4470588235294118,.7647058823529411,.47058823529411764],[.44313725490196076,.7607843137254902,.4666666666666667],[.43529411764705883,.7607843137254902,.4627450980392157],[.43137254901960786,.7568627450980392,.4588235294117647],[.4235294117647059,.7529411764705882,.4549019607843137],[.4196078431372549,.7490196078431373,.45098039215686275],[.4117647058823529,.7490196078431373,.4470588235294118],[.40784313725490196,.7450980392156863,.44313725490196076],[.4,.7411764705882353,.4392156862745098],[.396078431372549,.7372549019607844,.43529411764705883],[.38823529411764707,.7372549019607844,.43137254901960786],[.3843137254901961,.7333333333333333,.43137254901960786],[.3764705882352941,.7294117647058823,.42745098039215684],[.3686274509803922,.7254901960784313,.4235294117647059],[.36470588235294116,.7215686274509804,.4196078431372549],[.3568627450980392,.7215686274509804,.41568627450980394],[.35294117647058826,.7176470588235294,.4117647058823529],[.34509803921568627,.7137254901960784,.40784313725490196],[.3411764705882353,.7098039215686275,.40784313725490196],[.33725490196078434,.7058823529411765,.403921568627451],[.32941176470588235,.7058823529411765,.4],[.3254901960784314,.7019607843137254,.396078431372549],[.3176470588235294,.6980392156862745,.39215686274509803],[.3137254901960784,.6941176470588235,.39215686274509803],[.3058823529411765,.6901960784313725,.38823529411764707],[.30196078431372547,.6862745098039216,.3843137254901961],[.2980392156862745,.6862745098039216,.3803921568627451],[.2901960784313726,.6823529411764706,.3803921568627451],[.28627450980392155,.6784313725490196,.3764705882352941],[.2823529411764706,.6745098039215687,.37254901960784315],[.27450980392156865,.6705882352941176,.3686274509803922],[.27058823529411763,.6666666666666666,.36470588235294116],[.26666666666666666,.6627450980392157,.36470588235294116],[.25882352941176473,.6588235294117647,.3607843137254902],[.2549019607843137,.6549019607843137,.3568627450980392],[.25098039215686274,.6549019607843137,.35294117647058826],[.24705882352941178,.6509803921568628,.35294117647058826],[.24313725490196078,.6470588235294118,.34901960784313724],[.23529411764705882,.6431372549019608,.34509803921568627],[.23137254901960785,.6392156862745098,.3411764705882353],[.22745098039215686,.6352941176470588,.3411764705882353],[.2235294117647059,.6313725490196078,.33725490196078434],[.2196078431372549,.6274509803921569,.3333333333333333],[.21568627450980393,.6235294117647059,.32941176470588235],[.21176470588235294,.6196078431372549,.32941176470588235],[.20784313725490197,.615686274509804,.3254901960784314],[.20392156862745098,.611764705882353,.3215686274509804],[.2,.6078431372549019,.3176470588235294],[.19607843137254902,.6039215686274509,.3137254901960784],[.19215686274509805,.6,.3137254901960784],[.18823529411764706,.596078431372549,.30980392156862746],[.1843137254901961,.592156862745098,.3058823529411765],[.1803921568627451,.5882352941176471,.30196078431372547],[.17647058823529413,.5843137254901961,.30196078431372547],[.16862745098039217,.5803921568627451,.2980392156862745],[.16470588235294117,.5764705882352941,.29411764705882354],[.1607843137254902,.5725490196078431,.2901960784313726],[.1568627450980392,.5686274509803921,.2901960784313726],[.15294117647058825,.5647058823529412,.28627450980392155],[.14901960784313725,.5607843137254902,.2823529411764706],[.1450980392156863,.5607843137254902,.2784313725490196],[.1411764705882353,.5568627450980392,.2784313725490196],[.13725490196078433,.5529411764705883,.27450980392156865],[.13333333333333333,.5490196078431373,.27058823529411763],[.12941176470588237,.5450980392156862,.26666666666666666],[.12549019607843137,.5411764705882353,.2627450980392157],[.12156862745098039,.5372549019607843,.2627450980392157],[.11764705882352941,.5333333333333333,.25882352941176473],[.11372549019607843,.5294117647058824,.2549019607843137],[.10980392156862745,.5254901960784314,.25098039215686274],[.10588235294117647,.5215686274509804,.25098039215686274],[.10196078431372549,.5176470588235295,.24705882352941178],[.09803921568627451,.5137254901960784,.24313725490196078],[.09411764705882353,.5098039215686274,.23921568627450981],[.09019607843137255,.5058823529411764,.23921568627450981],[.08627450980392157,.5019607843137255,.23529411764705882],[.08235294117647059,.4980392156862745,.23137254901960785],[.0784313725490196,.49411764705882355,.22745098039215686],[.07450980392156863,.49019607843137253,.22745098039215686],[.07058823529411765,.48627450980392156,.2235294117647059],[.06666666666666667,.4823529411764706,.2196078431372549],[.06274509803921569,.47843137254901963,.21568627450980393],[.06274509803921569,.4745098039215686,.21568627450980393],[.058823529411764705,.47058823529411764,.21176470588235294],[.054901960784313725,.4666666666666667,.20784313725490197],[.050980392156862744,.4627450980392157,.20392156862745098],[.047058823529411764,.4588235294117647,.20392156862745098],[.043137254901960784,.4549019607843137,.2],[.043137254901960784,.45098039215686275,.19607843137254902],[.0392156862745098,.4470588235294118,.19607843137254902],[.03529411764705882,.44313725490196076,.19215686274509805],[.03137254901960784,.4392156862745098,.18823529411764706],[.03137254901960784,.43529411764705883,.1843137254901961],[.027450980392156862,.43137254901960786,.1843137254901961],[.023529411764705882,.4235294117647059,.1803921568627451],[.023529411764705882,.4196078431372549,.17647058823529413],[.0196078431372549,.41568627450980394,.17647058823529413],[.0196078431372549,.4117647058823529,.17254901960784313],[.01568627450980392,.40784313725490196,.16862745098039217],[.01568627450980392,.403921568627451,.16862745098039217],[.01568627450980392,.4,.16470588235294117],[.011764705882352941,.39215686274509803,.16470588235294117],[.011764705882352941,.38823529411764707,.1607843137254902],[.00784313725490196,.3843137254901961,.1568627450980392],[.00784313725490196,.3803921568627451,.1568627450980392],[.00784313725490196,.3764705882352941,.15294117647058825],[.00784313725490196,.3686274509803922,.15294117647058825],[.00392156862745098,.36470588235294116,.14901960784313725],[.00392156862745098,.3607843137254902,.1450980392156863],[.00392156862745098,.3568627450980392,.1450980392156863],[.00392156862745098,.35294117647058826,.1411764705882353],[.00392156862745098,.34509803921568627,.1411764705882353],[.00392156862745098,.3411764705882353,.13725490196078433],[0,.33725490196078434,.13725490196078433],[0,.3333333333333333,.13333333333333333],[0,.3254901960784314,.12941176470588237],[0,.3215686274509804,.12941176470588237],[0,.3176470588235294,.12549019607843137],[0,.3137254901960784,.12549019607843137],[0,.3058823529411765,.12156862745098039],[0,.30196078431372547,.12156862745098039],[0,.2980392156862745,.11764705882352941],[0,.2901960784313726,.11764705882352941],[0,.28627450980392155,.11372549019607843],[0,.2823529411764706,.11372549019607843],[0,.2784313725490196,.10980392156862745],[0,.27058823529411763,.10980392156862745],[0,.26666666666666666,.10588235294117647]],orange:[[1,.9607843137254902,.9215686274509803],[1,.9607843137254902,.9176470588235294],[1,.9568627450980393,.9137254901960784],[1,.9568627450980393,.9098039215686274],[1,.9529411764705882,.9058823529411765],[1,.9529411764705882,.9019607843137255],[1,.9490196078431372,.9019607843137255],[1,.9490196078431372,.8980392156862745],[1,.9450980392156862,.8941176470588236],[1,.9450980392156862,.8901960784313725],[1,.9411764705882353,.8862745098039215],[1,.9411764705882353,.8823529411764706],[1,.9372549019607843,.8784313725490196],[1,.9372549019607843,.8745098039215686],[1,.9333333333333333,.8705882352941177],[1,.9333333333333333,.8666666666666667],[.996078431372549,.9294117647058824,.8627450980392157],[.996078431372549,.9294117647058824,.8588235294117647],[.996078431372549,.9254901960784314,.8549019607843137],[.996078431372549,.9254901960784314,.8509803921568627],[.996078431372549,.9215686274509803,.8470588235294118],[.996078431372549,.9215686274509803,.8431372549019608],[.996078431372549,.9176470588235294,.8392156862745098],[.996078431372549,.9176470588235294,.8352941176470589],[.996078431372549,.9137254901960784,.8313725490196079],[.996078431372549,.9137254901960784,.8274509803921568],[.996078431372549,.9098039215686274,.8235294117647058],[.996078431372549,.9098039215686274,.8196078431372549],[.996078431372549,.9058823529411765,.8156862745098039],[.996078431372549,.9019607843137255,.8117647058823529],[.996078431372549,.9019607843137255,.807843137254902],[.996078431372549,.8980392156862745,.8],[.996078431372549,.8980392156862745,.796078431372549],[.996078431372549,.8941176470588236,.792156862745098],[.996078431372549,.8941176470588236,.788235294117647],[.996078431372549,.8901960784313725,.7843137254901961],[.996078431372549,.8862745098039215,.7803921568627451],[.996078431372549,.8862745098039215,.7725490196078432],[.996078431372549,.8823529411764706,.7686274509803922],[.996078431372549,.8823529411764706,.7647058823529411],[.996078431372549,.8784313725490196,.7607843137254902],[.996078431372549,.8745098039215686,.7529411764705882],[.996078431372549,.8745098039215686,.7490196078431373],[.996078431372549,.8705882352941177,.7450980392156863],[.996078431372549,.8666666666666667,.7411764705882353],[.996078431372549,.8666666666666667,.7333333333333333],[.996078431372549,.8627450980392157,.7294117647058823],[.996078431372549,.8588235294117647,.7254901960784313],[.996078431372549,.8549019607843137,.7176470588235294],[.9921568627450981,.8549019607843137,.7137254901960784],[.9921568627450981,.8509803921568627,.7058823529411765],[.9921568627450981,.8470588235294118,.7019607843137254],[.9921568627450981,.8470588235294118,.6980392156862745],[.9921568627450981,.8431372549019608,.6901960784313725],[.9921568627450981,.8392156862745098,.6862745098039216],[.9921568627450981,.8352941176470589,.6784313725490196],[.9921568627450981,.8313725490196079,.6745098039215687],[.9921568627450981,.8313725490196079,.6666666666666666],[.9921568627450981,.8274509803921568,.6627450980392157],[.9921568627450981,.8235294117647058,.6549019607843137],[.9921568627450981,.8196078431372549,.6509803921568628],[.9921568627450981,.8156862745098039,.6431372549019608],[.9921568627450981,.8156862745098039,.6392156862745098],[.9921568627450981,.8117647058823529,.6313725490196078],[.9921568627450981,.807843137254902,.6274509803921569],[.9921568627450981,.803921568627451,.6196078431372549],[.9921568627450981,.8,.615686274509804],[.9921568627450981,.796078431372549,.6078431372549019],[.9921568627450981,.792156862745098,.6],[.9921568627450981,.788235294117647,.596078431372549],[.9921568627450981,.7843137254901961,.5882352941176471],[.9921568627450981,.7803921568627451,.5843137254901961],[.9921568627450981,.7764705882352941,.5764705882352941],[.9921568627450981,.7725490196078432,.5686274509803921],[.9921568627450981,.7686274509803922,.5647058823529412],[.9921568627450981,.7647058823529411,.5568627450980392],[.9921568627450981,.7607843137254902,.5529411764705883],[.9921568627450981,.7568627450980392,.5450980392156862],[.9921568627450981,.7529411764705882,.5372549019607843],[.9921568627450981,.7490196078431373,.5333333333333333],[.9921568627450981,.7450980392156863,.5254901960784314],[.9921568627450981,.7411764705882353,.5176470588235295],[.9921568627450981,.7372549019607844,.5137254901960784],[.9921568627450981,.7333333333333333,.5058823529411764],[.9921568627450981,.7294117647058823,.4980392156862745],[.9921568627450981,.7254901960784313,.49411764705882355],[.9921568627450981,.7215686274509804,.48627450980392156],[.9921568627450981,.7176470588235294,.47843137254901963],[.9921568627450981,.7137254901960784,.4745098039215686],[.9921568627450981,.7098039215686275,.4666666666666667],[.9921568627450981,.7058823529411765,.4588235294117647],[.9921568627450981,.7019607843137254,.4549019607843137],[.9921568627450981,.6980392156862745,.4470588235294118],[.9921568627450981,.6941176470588235,.44313725490196076],[.9921568627450981,.6901960784313725,.43529411764705883],[.9921568627450981,.6862745098039216,.42745098039215684],[.9921568627450981,.6823529411764706,.4235294117647059],[.9921568627450981,.6784313725490196,.41568627450980394],[.9921568627450981,.6745098039215687,.4117647058823529],[.9921568627450981,.6705882352941176,.403921568627451],[.9921568627450981,.6666666666666666,.396078431372549],[.9921568627450981,.6627450980392157,.39215686274509803],[.9921568627450981,.6549019607843137,.3843137254901961],[.9921568627450981,.6509803921568628,.3803921568627451],[.9921568627450981,.6470588235294118,.37254901960784315],[.9921568627450981,.6431372549019608,.3686274509803922],[.9921568627450981,.6392156862745098,.3607843137254902],[.9921568627450981,.6352941176470588,.3568627450980392],[.9921568627450981,.6313725490196078,.34901960784313724],[.9921568627450981,.6274509803921569,.34509803921568627],[.9921568627450981,.6235294117647059,.33725490196078434],[.9921568627450981,.6196078431372549,.3333333333333333],[.9921568627450981,.615686274509804,.3254901960784314],[.9921568627450981,.611764705882353,.3215686274509804],[.9921568627450981,.6078431372549019,.3137254901960784],[.9921568627450981,.6039215686274509,.30980392156862746],[.9882352941176471,.6,.30196078431372547],[.9882352941176471,.596078431372549,.2980392156862745],[.9882352941176471,.592156862745098,.2901960784313726],[.9882352941176471,.5882352941176471,.28627450980392155],[.9882352941176471,.5843137254901961,.2823529411764706],[.9882352941176471,.5764705882352941,.27450980392156865],[.9882352941176471,.5725490196078431,.27058823529411763],[.9882352941176471,.5686274509803921,.2627450980392157],[.9882352941176471,.5647058823529412,.25882352941176473],[.984313725490196,.5607843137254902,.25098039215686274],[.984313725490196,.5568627450980392,.24705882352941178],[.984313725490196,.5529411764705883,.24313725490196078],[.984313725490196,.5490196078431373,.23529411764705882],[.984313725490196,.5450980392156862,.23137254901960785],[.9803921568627451,.5411764705882353,.22745098039215686],[.9803921568627451,.5372549019607843,.2196078431372549],[.9803921568627451,.5333333333333333,.21568627450980393],[.9803921568627451,.5294117647058824,.21176470588235294],[.9803921568627451,.5215686274509804,.20392156862745098],[.9764705882352941,.5176470588235295,.2],[.9764705882352941,.5137254901960784,.19607843137254902],[.9764705882352941,.5098039215686274,.18823529411764706],[.9725490196078431,.5058823529411764,.1843137254901961],[.9725490196078431,.5019607843137255,.1803921568627451],[.9725490196078431,.4980392156862745,.17254901960784313],[.9686274509803922,.49411764705882355,.16862745098039217],[.9686274509803922,.49019607843137253,.16470588235294117],[.9686274509803922,.4823529411764706,.1607843137254902],[.9647058823529412,.47843137254901963,.15294117647058825],[.9647058823529412,.4745098039215686,.14901960784313725],[.9607843137254902,.47058823529411764,.1450980392156863],[.9607843137254902,.4666666666666667,.1411764705882353],[.9607843137254902,.4627450980392157,.13725490196078433],[.9568627450980393,.4588235294117647,.13333333333333333],[.9568627450980393,.4549019607843137,.12549019607843137],[.9529411764705882,.45098039215686275,.12156862745098039],[.9529411764705882,.4470588235294118,.11764705882352941],[.9490196078431372,.4392156862745098,.11372549019607843],[.9490196078431372,.43529411764705883,.10980392156862745],[.9450980392156862,.43137254901960786,.10588235294117647],[.9450980392156862,.42745098039215684,.10196078431372549],[.9411764705882353,.4235294117647059,.09803921568627451],[.9411764705882353,.4196078431372549,.09411764705882353],[.9372549019607843,.41568627450980394,.09019607843137255],[.9372549019607843,.4117647058823529,.08627450980392157],[.9333333333333333,.40784313725490196,.08235294117647059],[.9294117647058824,.403921568627451,.0784313725490196],[.9294117647058824,.4,.0784313725490196],[.9254901960784314,.396078431372549,.07450980392156863],[.9254901960784314,.38823529411764707,.07058823529411765],[.9215686274509803,.3843137254901961,.06666666666666667],[.9176470588235294,.3803921568627451,.06274509803921569],[.9176470588235294,.3764705882352941,.06274509803921569],[.9137254901960784,.37254901960784315,.058823529411764705],[.9098039215686274,.3686274509803922,.054901960784313725],[.9098039215686274,.36470588235294116,.054901960784313725],[.9058823529411765,.3607843137254902,.050980392156862744],[.9019607843137255,.3568627450980392,.047058823529411764],[.8980392156862745,.35294117647058826,.047058823529411764],[.8941176470588236,.34901960784313724,.043137254901960784],[.8941176470588236,.34509803921568627,.043137254901960784],[.8901960784313725,.3411764705882353,.0392156862745098],[.8862745098039215,.33725490196078434,.03529411764705882],[.8823529411764706,.3333333333333333,.03529411764705882],[.8784313725490196,.32941176470588235,.03137254901960784],[.8745098039215686,.3254901960784314,.03137254901960784],[.8705882352941177,.3215686274509804,.03137254901960784],[.8666666666666667,.3215686274509804,.027450980392156862],[.8627450980392157,.3176470588235294,.027450980392156862],[.8588235294117647,.3137254901960784,.023529411764705882],[.8549019607843137,.30980392156862746,.023529411764705882],[.8509803921568627,.3058823529411765,.023529411764705882],[.8470588235294118,.30196078431372547,.0196078431372549],[.8431372549019608,.2980392156862745,.0196078431372549],[.8392156862745098,.2980392156862745,.0196078431372549],[.8352941176470589,.29411764705882354,.01568627450980392],[.8313725490196079,.2901960784313726,.01568627450980392],[.8235294117647058,.28627450980392155,.01568627450980392],[.8196078431372549,.2823529411764706,.01568627450980392],[.8156862745098039,.2823529411764706,.01568627450980392],[.8117647058823529,.2784313725490196,.011764705882352941],[.803921568627451,.27450980392156865,.011764705882352941],[.8,.27058823529411763,.011764705882352941],[.796078431372549,.27058823529411763,.011764705882352941],[.788235294117647,.26666666666666666,.011764705882352941],[.7843137254901961,.2627450980392157,.011764705882352941],[.7803921568627451,.2627450980392157,.011764705882352941],[.7725490196078432,.25882352941176473,.011764705882352941],[.7686274509803922,.2549019607843137,.011764705882352941],[.7607843137254902,.2549019607843137,.00784313725490196],[.7568627450980392,.25098039215686274,.00784313725490196],[.7490196078431373,.24705882352941178,.00784313725490196],[.7450980392156863,.24705882352941178,.00784313725490196],[.7411764705882353,.24313725490196078,.00784313725490196],[.7333333333333333,.24313725490196078,.00784313725490196],[.7294117647058823,.23921568627450981,.00784313725490196],[.7215686274509804,.23921568627450981,.00784313725490196],[.7176470588235294,.23529411764705882,.00784313725490196],[.7098039215686275,.23137254901960785,.00784313725490196],[.7058823529411765,.23137254901960785,.00784313725490196],[.6980392156862745,.22745098039215686,.011764705882352941],[.6941176470588235,.22745098039215686,.011764705882352941],[.6862745098039216,.2235294117647059,.011764705882352941],[.6823529411764706,.2235294117647059,.011764705882352941],[.6745098039215687,.2196078431372549,.011764705882352941],[.6705882352941176,.2196078431372549,.011764705882352941],[.6666666666666666,.21568627450980393,.011764705882352941],[.6588235294117647,.21568627450980393,.011764705882352941],[.6549019607843137,.21176470588235294,.011764705882352941],[.6470588235294118,.21176470588235294,.011764705882352941],[.6431372549019608,.20784313725490197,.011764705882352941],[.6392156862745098,.20784313725490197,.011764705882352941],[.6313725490196078,.20392156862745098,.011764705882352941],[.6274509803921569,.20392156862745098,.011764705882352941],[.6235294117647059,.2,.011764705882352941],[.615686274509804,.2,.011764705882352941],[.611764705882353,.19607843137254902,.011764705882352941],[.6078431372549019,.19607843137254902,.011764705882352941],[.6,.19215686274509805,.011764705882352941],[.596078431372549,.19215686274509805,.011764705882352941],[.592156862745098,.18823529411764706,.011764705882352941],[.5843137254901961,.18823529411764706,.011764705882352941],[.5803921568627451,.1843137254901961,.011764705882352941],[.5764705882352941,.1843137254901961,.011764705882352941],[.5725490196078431,.1803921568627451,.01568627450980392],[.5647058823529412,.1803921568627451,.01568627450980392],[.5607843137254902,.17647058823529413,.01568627450980392],[.5568627450980392,.17647058823529413,.01568627450980392],[.5529411764705883,.17254901960784313,.01568627450980392],[.5450980392156862,.17254901960784313,.01568627450980392],[.5411764705882353,.16862745098039217,.01568627450980392],[.5372549019607843,.16862745098039217,.01568627450980392],[.5333333333333333,.16470588235294117,.01568627450980392],[.5254901960784314,.16470588235294117,.01568627450980392],[.5215686274509804,.1607843137254902,.01568627450980392],[.5176470588235295,.1607843137254902,.01568627450980392],[.5137254901960784,.1568627450980392,.01568627450980392],[.5058823529411764,.1568627450980392,.01568627450980392],[.5019607843137255,.15294117647058825,.01568627450980392],[.4980392156862745,.15294117647058825,.01568627450980392]]},k={Default:{3:["#fffff","#6C8B9F","#023858"],4:["#fffff","#C3D0D8","#6C8B9F","#023858"],5:["#fffff","#C3D0D8","#88A1B1","#52778D","#023858"],6:["#fffff","#E1E7EB","#88A1B1","#52778D","#37627B","#023858"],7:["#fffff","#C3D0D8","#A6B9C4","#6C8B9F","#52778D","#37627B","#023858"],8:["#fffff","#E1E7EB","#C3D0D8","#A6B9C4","#6C8B9F","#52778D","#37627B","#023858"],9:["#fffff","#E1E7EB","#C3D0D8","#A6B9C4","#88A1B1","#6C8B9F","#52778D","#37627B","#023858"]},OrRd:{3:["#fee8c8","#fdbb84","#e34a33"],4:["#fef0d9","#fdcc8a","#fc8d59","#d7301f"],5:["#fef0d9","#fdcc8a","#fc8d59","#e34a33","#b30000"],6:["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#e34a33","#b30000"],7:["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],8:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],9:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"]},YlOrRd:{3:["#ffeda0","#feb24c","#f03b20"],4:["#ffffb2","#fecc5c","#fd8d3c","#e31a1c"],5:["#ffffb2","#fecc5c","#fd8d3c","#f03b20","#bd0026"],6:["#ffffb2","#fed976","#feb24c","#fd8d3c","#f03b20","#bd0026"],7:["#ffffb2","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],8:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],9:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"]},YlGn:{3:["#f7fcb9","#addd8e","#31a354"],4:["#ffffcc","#c2e699","#78c679","#238443"],5:["#ffffcc","#c2e699","#78c679","#31a354","#006837"],6:["#ffffcc","#d9f0a3","#addd8e","#78c679","#31a354","#006837"],7:["#ffffcc","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],8:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],9:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"]},YlGnBu:{3:["#edf8b1","#7fcdbb","#2c7fb8"],4:["#ffffcc","#a1dab4","#41b6c4","#225ea8"],5:["#ffffcc","#a1dab4","#41b6c4","#2c7fb8","#253494"],6:["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#2c7fb8","#253494"],7:["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],8:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],9:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"]},GnBu:{3:["#e0f3db","#a8ddb5","#43a2ca"],4:["#f0f9e8","#bae4bc","#7bccc4","#2b8cbe"],5:["#f0f9e8","#bae4bc","#7bccc4","#43a2ca","#0868ac"],6:["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#43a2ca","#0868ac"],7:["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],8:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],9:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"]},BuGn:{3:["#e5f5f9","#99d8c9","#2ca25f"],4:["#edf8fb","#b2e2e2","#66c2a4","#238b45"],5:["#edf8fb","#b2e2e2","#66c2a4","#2ca25f","#006d2c"],6:["#edf8fb","#ccece6","#99d8c9","#66c2a4","#2ca25f","#006d2c"],7:["#edf8fb","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],8:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],9:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"]},PuBuGn:{3:["#ece2f0","#a6bddb","#1c9099"],4:["#f6eff7","#bdc9e1","#67a9cf","#02818a"],5:["#f6eff7","#bdc9e1","#67a9cf","#1c9099","#016c59"],6:["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#1c9099","#016c59"],7:["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],8:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],9:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"]},PuBu:{3:["#ece7f2","#a6bddb","#2b8cbe"],4:["#f1eef6","#bdc9e1","#74a9cf","#0570b0"],5:["#f1eef6","#bdc9e1","#74a9cf","#2b8cbe","#045a8d"],6:["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#2b8cbe","#045a8d"],7:["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],8:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],9:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"]},BuPu:{3:["#e0ecf4","#9ebcda","#8856a7"],4:["#edf8fb","#b3cde3","#8c96c6","#88419d"],5:["#edf8fb","#b3cde3","#8c96c6","#8856a7","#810f7c"],6:["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8856a7","#810f7c"],7:["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],8:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],9:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"]},RdPu:{3:["#fde0dd","#fa9fb5","#c51b8a"],4:["#feebe2","#fbb4b9","#f768a1","#ae017e"],5:["#feebe2","#fbb4b9","#f768a1","#c51b8a","#7a0177"],6:["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#c51b8a","#7a0177"],7:["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],8:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],9:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"]},PuRd:{3:["#e7e1ef","#c994c7","#dd1c77"],4:["#f1eef6","#d7b5d8","#df65b0","#ce1256"],5:["#f1eef6","#d7b5d8","#df65b0","#dd1c77","#980043"],6:["#f1eef6","#d4b9da","#c994c7","#df65b0","#dd1c77","#980043"],7:["#f1eef6","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],8:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],9:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"]},YlOrBr:{3:["#fff7bc","#fec44f","#d95f0e"],4:["#ffffd4","#fed98e","#fe9929","#cc4c02"],5:["#ffffd4","#fed98e","#fe9929","#d95f0e","#993404"],6:["#ffffd4","#fee391","#fec44f","#fe9929","#d95f0e","#993404"],7:["#ffffd4","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],8:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],9:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"]},Purples:{3:["#efedf5","#bcbddc","#756bb1"],4:["#f2f0f7","#cbc9e2","#9e9ac8","#6a51a3"],5:["#f2f0f7","#cbc9e2","#9e9ac8","#756bb1","#54278f"],6:["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#756bb1","#54278f"],7:["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],8:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],9:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"]},Blues:{3:["#deebf7","#9ecae1","#3182bd"],4:["#eff3ff","#bdd7e7","#6baed6","#2171b5"],5:["#eff3ff","#bdd7e7","#6baed6","#3182bd","#08519c"],6:["#eff3ff","#c6dbef","#9ecae1","#6baed6","#3182bd","#08519c"],7:["#eff3ff","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],8:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],9:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"]},Greens:{3:["#e5f5e0","#a1d99b","#31a354"],4:["#edf8e9","#bae4b3","#74c476","#238b45"],5:["#edf8e9","#bae4b3","#74c476","#31a354","#006d2c"],6:["#edf8e9","#c7e9c0","#a1d99b","#74c476","#31a354","#006d2c"],7:["#edf8e9","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],8:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],9:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"]},Oranges:{3:["#fee6ce","#fdae6b","#e6550d"],4:["#feedde","#fdbe85","#fd8d3c","#d94701"],5:["#feedde","#fdbe85","#fd8d3c","#e6550d","#a63603"],6:["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#e6550d","#a63603"],7:["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],8:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],9:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"]},Reds:{3:["#fee0d2","#fc9272","#de2d26"],4:["#fee5d9","#fcae91","#fb6a4a","#cb181d"],5:["#fee5d9","#fcae91","#fb6a4a","#de2d26","#a50f15"],6:["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#de2d26","#a50f15"],7:["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],8:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],9:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]},Greys:{3:["#f0f0f0","#bdbdbd","#636363"],4:["#f7f7f7","#cccccc","#969696","#525252"],5:["#f7f7f7","#cccccc","#969696","#636363","#252525"],6:["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#636363","#252525"],7:["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],8:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],9:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"]},PuOr:{3:["#f1a340","#f7f7f7","#998ec3"],4:["#e66101","#fdb863","#b2abd2","#5e3c99"],5:["#e66101","#fdb863","#f7f7f7","#b2abd2","#5e3c99"],6:["#b35806","#f1a340","#fee0b6","#d8daeb","#998ec3","#542788"],7:["#b35806","#f1a340","#fee0b6","#f7f7f7","#d8daeb","#998ec3","#542788"],8:["#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788"],9:["#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788"],10:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],11:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"]},BrBG:{3:["#d8b365","#f5f5f5","#5ab4ac"],4:["#a6611a","#dfc27d","#80cdc1","#018571"],5:["#a6611a","#dfc27d","#f5f5f5","#80cdc1","#018571"],6:["#8c510a","#d8b365","#f6e8c3","#c7eae5","#5ab4ac","#01665e"],7:["#8c510a","#d8b365","#f6e8c3","#f5f5f5","#c7eae5","#5ab4ac","#01665e"],8:["#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e"],9:["#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e"],10:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],11:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"]},PRGn:{3:["#af8dc3","#f7f7f7","#7fbf7b"],4:["#7b3294","#c2a5cf","#a6dba0","#008837"],5:["#7b3294","#c2a5cf","#f7f7f7","#a6dba0","#008837"],6:["#762a83","#af8dc3","#e7d4e8","#d9f0d3","#7fbf7b","#1b7837"],7:["#762a83","#af8dc3","#e7d4e8","#f7f7f7","#d9f0d3","#7fbf7b","#1b7837"],8:["#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837"],9:["#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837"],10:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],11:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"]},PiYG:{3:["#e9a3c9","#f7f7f7","#a1d76a"],4:["#d01c8b","#f1b6da","#b8e186","#4dac26"],5:["#d01c8b","#f1b6da","#f7f7f7","#b8e186","#4dac26"],6:["#c51b7d","#e9a3c9","#fde0ef","#e6f5d0","#a1d76a","#4d9221"],7:["#c51b7d","#e9a3c9","#fde0ef","#f7f7f7","#e6f5d0","#a1d76a","#4d9221"],8:["#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221"],9:["#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221"],10:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],11:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"]},RdBu:{3:["#ef8a62","#f7f7f7","#67a9cf"],4:["#ca0020","#f4a582","#92c5de","#0571b0"],5:["#ca0020","#f4a582","#f7f7f7","#92c5de","#0571b0"],6:["#b2182b","#ef8a62","#fddbc7","#d1e5f0","#67a9cf","#2166ac"],7:["#b2182b","#ef8a62","#fddbc7","#f7f7f7","#d1e5f0","#67a9cf","#2166ac"],8:["#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac"],9:["#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac"],10:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],11:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"]},RdGy:{3:["#ef8a62","#ffffff","#999999"],4:["#ca0020","#f4a582","#bababa","#404040"],5:["#ca0020","#f4a582","#ffffff","#bababa","#404040"],6:["#b2182b","#ef8a62","#fddbc7","#e0e0e0","#999999","#4d4d4d"],7:["#b2182b","#ef8a62","#fddbc7","#ffffff","#e0e0e0","#999999","#4d4d4d"],8:["#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d"],9:["#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d"],10:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],11:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"]},RdYlBu:{3:["#fc8d59","#ffffbf","#91bfdb"],4:["#d7191c","#fdae61","#abd9e9","#2c7bb6"],5:["#d7191c","#fdae61","#ffffbf","#abd9e9","#2c7bb6"],6:["#d73027","#fc8d59","#fee090","#e0f3f8","#91bfdb","#4575b4"],7:["#d73027","#fc8d59","#fee090","#ffffbf","#e0f3f8","#91bfdb","#4575b4"],8:["#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4"],9:["#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4"],10:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],11:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"]},Spectral:{3:["#fc8d59","#ffffbf","#99d594"],4:["#d7191c","#fdae61","#abdda4","#2b83ba"],5:["#d7191c","#fdae61","#ffffbf","#abdda4","#2b83ba"],6:["#d53e4f","#fc8d59","#fee08b","#e6f598","#99d594","#3288bd"],7:["#d53e4f","#fc8d59","#fee08b","#ffffbf","#e6f598","#99d594","#3288bd"],8:["#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd"],9:["#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd"],10:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],11:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]},AntiSpectral:{3:["#99d594","#ffffbf","#fc8d59"],4:["#2b83ba","#abdda4","#fdae61","#d7191c"],5:["#d7191c","#fdae61","#ffffbf","#abdda4","#2b83ba"],6:["#d53e4f","#fc8d59","#fee08b","#e6f598","#99d594","#3288bd"],7:["#d53e4f","#fc8d59","#fee08b","#ffffbf","#e6f598","#99d594","#3288bd"],8:["#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd"],9:["#3288bd","#66c2a5","#abdda4","#ffffbf","#fee08b","#e6f598","#fdae61","#f46d43","#d53e4f"],10:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],11:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]},RdYlGn:{3:["#fc8d59","#ffffbf","#91cf60"],4:["#d7191c","#fdae61","#a6d96a","#1a9641"],5:["#d7191c","#fdae61","#ffffbf","#a6d96a","#1a9641"],6:["#d73027","#fc8d59","#fee08b","#d9ef8b","#91cf60","#1a9850"],7:["#d73027","#fc8d59","#fee08b","#ffffbf","#d9ef8b","#91cf60","#1a9850"],8:["#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850"],9:["#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850"],10:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],11:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"]},Accent:{3:["#7fc97f","#beaed4","#fdc086"],4:["#7fc97f","#beaed4","#fdc086","#ffff99"],5:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0"],6:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f"],7:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17"],8:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"]},Dark2:{3:["#1b9e77","#d95f02","#7570b3"],4:["#1b9e77","#d95f02","#7570b3","#e7298a"],5:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e"],6:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02"],7:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d"],8:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"]},Paired:{3:["#a6cee3","#1f78b4","#b2df8a"],4:["#a6cee3","#1f78b4","#b2df8a","#33a02c"],5:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99"],6:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c"],7:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f"],8:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00"],9:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6"],10:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a"],11:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99"],12:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"]},Pastel1:{3:["#fbb4ae","#b3cde3","#ccebc5"],4:["#fbb4ae","#b3cde3","#ccebc5","#decbe4"],5:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6"],6:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc"],7:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd"],8:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec"],9:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},Pastel2:{3:["#b3e2cd","#fdcdac","#cbd5e8"],4:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4"],5:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9"],6:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae"],7:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc"],8:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"]},Set1:{3:["#e41a1c","#377eb8","#4daf4a"],4:["#e41a1c","#377eb8","#4daf4a","#984ea3"],5:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00"],6:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33"],7:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628"],8:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf"],9:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"]},Set2:{3:["#66c2a5","#fc8d62","#8da0cb"],4:["#66c2a5","#fc8d62","#8da0cb","#e78ac3"],5:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854"],6:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f"],7:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494"],8:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"]},Set3:{3:["#8dd3c7","#ffffb3","#bebada"],4:["#8dd3c7","#ffffb3","#bebada","#fb8072"],5:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3"],6:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462"],7:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69"],8:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5"],9:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9"],10:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd"],11:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5"],12:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"]}};class w{constructor(){this.colorscale=null,this.grey="#252525",this.highlight="#AF9B90",this.ensemble="#C0C0C0",this.target=this.catColors=["#3366cc","#dc3912","#ff9900","#109618","#990099","#0099c6","#dd4477","#66aa00","#b82e2e","#316395","#994499","#22aa99","#aaaa11","#6633cc","#e67300","#8b0707","#651067","#329262","#5574a6","#3b3eac"],this.colorPadding=[],this.categoricalColors=_,this.colorbrewer=k,this.UniformColorMaps=T}getScale(){return this.colorscale}getColor(t,e){return this.colorscale(t[e])}getColorByValue(t){return this.rgbArrayToHex(this.colorscale(t))}setColorPadding(t){let e=[],s=1/t;for(let i=0;i128?"#000":"#fff"}getAllColors(){return Object.keys(this.colorbrewer)}getCatColor(t){return this.catColors[t]}hexToRgb(t){const e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}rgbToHex(t,e,s){return"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1)}rgbArrayToHex(t){t=t._rgb;let e=Math.floor(t[0]),s=Math.floor(t[1]),i=Math.floor(t[2]);return"#"+((1<<24)+(e<<16)+(s<<8)+i).toString(16).slice(1)}valToPercentColor(t,e){const s=Math.min(Math.max(0,Math.round(t*e.length)),e.length-1);return e[s]}percentColToD3Rgb(t){const e=t.map(t=>Math.round(255*t));return`rgb(${e[0]}, ${e[1]}, ${e[2]})`}valToD3Rgb(t,e){return this.percentColToD3Rgb(this.valToPercentColor(t,e))}}var S=s("512e"),D=s.n(S);s("c1ea");const P=new i["default"];var E=P,I=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("v-layout",{staticClass:"chip-container"},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.summaryChip)+" ")]),s("v-spacer"),s("span",{staticClass:"component-info"},[t._v(" Encoding = "+t._s(t.selectedMetric)+" runtime. ")])],1),s("v-layout",[s("svg",{attrs:{id:t.id}},[s("g",{attrs:{id:"container"}},[s("EnsembleEdges",{ref:"EnsembleEdges"}),s("EnsembleNodes",{ref:"EnsembleNodes"}),s("MiniHistograms",{ref:"MiniHistograms"}),s("EnsembleColorMap",{ref:"EnsembleColorMap"})],1)])])],1)},B=[],A=s("789b"),O=s("bc17");function H(){var t={},e=24,s=8,i=[1,1],a=[],r=[],o=10,l=0,n=0,h=1,d={},c={},u=!0,f=[],m="";let p,g=0;function x(){let t=0;a.forEach((function(e){d[e.id]=e,u&&console.debug("[Assign Link ids] ",e.id,"with index: ",t),t+=1})),r.forEach((function(e){void 0==d[e.source]&&(d[e.source]=t,t+=1),void 0==d[e.target]&&(d[e.target]=t,t+=1),e.source_data=d[e.source],e.target_data=d[e.target]}))}function b(){a.forEach((function(t){t.sourceLinks=[],t.targetLinks=[],t["maxLinkVal"]=0,t["minLinkVal"]=1e15})),r.forEach((function(t){t.source_data.sourceLinks.push(t),t.source_data.maxLinkVal=Math.max(t.source_data.maxLinkVal,t["weight"]),t.source_data.minLinkVal=Math.min(t.source_data.minLinkVal,t["weight"]),t.target_data.targetLinks.push(t),t.target_data.minLinkVal=Math.min(t.target_data.minLinkVal,t["weight"]),t.target_data.maxLinkVal=Math.max(t.target_data.maxLinkVal,t["weight"])})),a.forEach((function(t){let e=Math.max(t.sourceLinks.length,t.targetLinks.length);0==t.sourceLinks.length&&(e=t.targetLinks.length),t["maxLinks"]=e}))}function y(){a.forEach((function(t){let e=Object(O["i"])(t.sourceLinks,t=>t.weight),s=Object(O["i"])(t.targetLinks,t=>t.weight),i=Object(O["i"])(t.sourceLinks,t=>t.targetWeight),a=Object(O["i"])(t.targetLinks,t=>t.targetWeight);t.max_flow=Math.max(e,s),"intermediate"==t.type||(t.value=t["actual_time"]["Inclusive"],t.targetValue=0,void 0!=t[c.selectedTargetDataset]&&(t.targetValue=t[c.selectedTargetDataset]["actual_time"]["Inclusive"])),void 0!=t[c.selectedTargetDataset]&&(t.targetValue=Math.max(t.targetValue,Math.max(i,a))),console.debug("[Compute node values] Adjusted flow",t.id,": ",t.value),console.debug("[Compute node values] Adjusted target flow",t.id,": ",t.targetValue)}))}function v(t){a.forEach((function(t){let e=p(t.level);t.x=e}))}function $(){let t=a,s=[],r=0,o=0;while(t.length)s=[],t.forEach((function(t){t.level=r,t.dx=e,t.sourceLinks.forEach((function(t){s.push(t.target_data)}))})),t=s,r+=1,o+=1;console.debug("[Compute node breadths] Number of levels: ",r),g=2*e,p=Object(A["a"])().domain([0,r]).range([g,i[0]]),v((i[0]-e)/h)}function M(t){let e;for(let s=0;s{let e=0;return e=l>0?l:Object(O["i"])(t,t=>t.value),Math.abs(i[1]-(t.length-1)*s)/e});return t}function T(){let t=_(),e=0;f.forEach((function(s){"Minimal edge crossing"==c.selectedSuperNodePositionMode?console.log("TODO: Minimize edge crossing."):s.sort((function(t,e){return"Inclusive"==c.selectedSuperNodePositionMode?e["time (inc)"]-t["time (inc)"]:"Exclusive"==c.selectedSuperNodePositionMode?e["time"]-t["time"]:void 0})),s=M(s),s.forEach((function(e,s){let i=0;r.forEach((function(t){t["target"]==e&&null!=t["source"]&&null!=t["source"]["y"]&&(i=Math.max(i,t["source"]["y"]))})),e.y=Math.max(i,s),e.parY=e.y,console.debug("[Compute node depths] Node: ",e.id),console.debug("[Compute node depths] value: ",e.value),console.debug("[Compute node depths] minNodeScale: ",n),console.debug("[Compute node depths] Ensemble scaling: ",t),e.height=e.value*n*t,e.targetHeight=e.targetValue*n*t,console.debug("[Compute node depths] Node height: ",e.height)})),e+=1})),r.forEach((function(e){let s=e.source_data.value/e.source_data.max_flow;e.scaled_weight=e.weight*s,e.height=e.scaled_weight*t;let i=e.source_data.targetValue/e.source_data.value;e.targetWeight=e.weight*i,e.targetHeight=e.targetWeight*t;let a=e.targetHeight/e.height;a!=i&&console.log("Error: The target-ensemble link height ratio is incosistent with the link's value")}))}function k(t){function e(t){return I(t.source)*t.weight}f.forEach((function(s,i){s.forEach((function(s){if(s.targetLinks.length){var i=C["w"](s.targetLinks,e)/C["w"](s.targetLinks,B);s.y+=(i-I(s))*t}}))}))}function w(t){function e(t){return I(t.target)*t.weight}f.slice().reverse().forEach((function(s){s.forEach((function(s){if(s.sourceLinks.length){var i=C["w"](s.sourceLinks,e)/C["w"](s.sourceLinks,B);s.y+=(i+I(s))*t}}))}))}function S(){let t=0;return f.forEach((function(e){var a,r,o=0;for(a of(e.sort(D),e))r=o-a.y,r>0&&(a.y+=r),o=a.y+a.height+s;if(r=o-s-i[1],r>0){o=a.y-=r;for(let t=e.length-2;t>0;--t)a=e[t],r=a.y+a.height+s-o,r>0&&(a.y-=r),o=a.y}r=o-s-i[1],r>0&&(t=Math.max(r,t))})),t}function D(t,e){return t["y"]-e["y"]}function P(t){f=C["n"]().key((function(t){return t.level})).sortKeys(C["a"]).entries(a).map((function(t){let e=[];for(let s=0;s-1){let e=t.split(":");t=e[e.length-1]}return t=t.replace(//g,"proc "),t.length>e?t.substr(0,e-1)+"...":t}function V(t,e){const s=C["u"]("#"+t).append("svg");s.append("text").attrs({x:-99999,y:-99999}).text(t=>e);const i=s.node().getBBox();return s.remove(),{width:i.width,height:i.height}}function j(t,e){let s="",i={};return"super-node"==e.type&&void 0!=t.modules["ensemble"][e.module]?(s=e.module,i=t.modules["ensemble"][s][t.selectedMetric]["gradients"]):"component-node"==e.type?(s=e.name,i=t.callsites["ensemble"][s][t.selectedMetric]["gradients"]):"intermediate"==e.type&&(i={}),i}function Y(t){if(!t||0===t.length)return{height:0,width:0};const e=C["u"]("body").append("svg").attr("class","dummy");e.append("text").attrs({x:-1e3,y:-1e3}).text(t);const s=e.node().getBBox();return e.remove(),{height:s.height,width:s.width}}function X(t,e){t.each((function(){var t,s=C["u"](this),i=s.text().split(/\s+/).reverse(),a=[],r=0,o=1.1,l=s.attr("x"),n=s.attr("y"),h=0,d=s.text(null).append("tspan").attr("dy",h+"em");while(t=i.pop())a.push(t),d.text(a.join(" ")),d.node().getComputedTextLength()>e&&(a.pop(),d.text(a.join(" ")),a=[t],d=s.append("tspan").attr("x",l).attr("y",n).attr("dy",++r*o+h+"em").text(t))}))}var K=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},U=[],Q={name:"MeanGradients",data:()=>({strokeWidth:7,id:"mean-gradients"}),methods:{init(t,e){this.nodes=t,this.containerG=e,this.gradients(),this.visualize()},colorScale(){},gradients(){for(let t of this.nodes){const e=C["u"]("#"+this.id).append("defs"),s=e.append("linearGradient").attr("id","mean-gradient"+t.client_idx).attr("class","mean-gradient");s.attr("x1","0%").attr("y1","0%").attr("x2","0%").attr("y2","100%");let i=[],a=[];"super-node"==t.type&&void 0!=this.$store.modules.ensemble[t.module]?(i=this.$store.modules["ensemble"][t.module][this.$store.selectedMetric]["gradients"]["hist"]["x"],a=this.$store.modules["ensemble"][t.module][this.$store.selectedMetric]["gradients"]["hist"]["y"]):"component-node"==t.type?(i=this.$store.callsites["ensemble"][t.name][this.$store.selectedMetric]["gradients"]["hist"]["x"],a=this.$store.callsites["ensemble"][t.name][this.$store.selectedMetric]["gradients"]["hist"]["y"]):"intermediate"==t.type&&(i=[],a=[]);for(let t=0;t"intermediate"==t.type?"#f00":"#0f0",stroke:t=>{let e="",s=this.$store.runtimeColor.intermediate;return e="Inclusive"==this.$store.selectedMetric?"time (inc)":"time","component-node"==t.type?void 0!=this.$store.callsites[this.$store.selectedTargetDataset][t.id]&&(s=C["o"](this.$store.runtimeColor.getColor(t,e))):"super-node"==t.type&&void 0!=this.$store.modules[this.$store.selectedTargetDataset][t.id]&&(s=C["o"](this.$store.runtimeColor.getColor(t,e))),s},"stroke-width":t=>"intermediate"==t.type?1:this.strokeWidth,fill:t=>"intermediate"==t.type?this.$store.runtimeColor.intermediate:"super-node"==t.type?void 0==this.$store.modules[this.$store.selectedTargetDataset][t.id]?this.$store.runtimeColor.intermediate:"url(#mean-gradient"+t.client_idx+")":"component-node"==t.type?void 0==this.$store.callsites[this.$store.selectedTargetDataset][t.name]?this.$store.runtimeColor.intermediate:"url(#mean-gradient"+t.client_idx+")":void 0})},clear(){}}},Z=Q,J=Object(x["a"])(Z,K,U,!1,null,null,null),tt=J.exports,et=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},st=[],it={template:"",name:"Guides",components:{},data:()=>({id:"guides",nodes:[],svg:void 0,gradients:{},positionDatasetMap:{}}),methods:{init(t){this.nodes=t;for(let e of this.nodes)this.process(e)},update(t){this.new_nodes=[];for(let e of this.new_nodes)this.process(e)},process(t){if(this.gradients[t.id]=j(this.$store,t),void 0!=this.gradients[t.id]["dataset"]){let e=this.gradients[t.id]["dataset"]["position"];this.positionDatasetMap[t]={};for(let s in e){let i=e[s];void 0==this.positionDatasetMap[t][i]&&(this.positionDatasetMap[t][i]=[]),this.positionDatasetMap[t][i].push(s)}}},drawLines(t,e){let s=this.gradients[t.id]["hist"].x,i=t.height/s.length;for(let a=0;a({id:"target-line"}),methods:{init(t){this.nodes=t,this.ensemble_module_data=this.$store.modules["ensemble"],this.ensemble_callsite_data=this.$store.callsites["ensemble"];for(let e of t)this.visualize(e)},visualize(t){const e=j(this.$store,t);if(0!=Object.keys(e).length){let s=e["dataset"]["position"][this.$store.selectedTargetDataset]+1,i=t.height/this.$store.selectedRunBinCount,a=i*s-i/2;t.svg.append("line").attrs({class:"targetLines",id:"line-2-"+this.$store.selectedTargetDataset+"-"+t.client_idx,x1:0,y1:a,x2:this.$parent.nodeWidth,y2:a,"stroke-width":5,stroke:this.$store.distributionColor.target})}},clear(){C["v"](".targetLines").remove()}}},dt=ht,ct=Object(x["a"])(dt,lt,nt,!1,null,null,null),ut=ct.exports,ft=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:"tooltip"}})},mt=[],pt={template:"",name:"ToolTip",components:{},data:()=>({id:"supernode-tooltip",textCount:0,textxOffset:20,textyOffset:20,textPadding:15,height:200,margin:35,mousePosX:0,mousePosY:0,prevMousePosX:void 0,prevMousePosY:void 0}),methods:{init(t){this.id=t;const e=C["u"]("#"+this.id);this.toolTipG=e.append("g")},positionX(){let t=0;return this.mousePosX>=this.$store.viewWidth/2&&(t=this.mousePosX+this.textxOffset),t=this.mousePosX-this.textxOffset,t},positionY(){let t=0;return this.mousePosY>=this.$store.viewHeight/2&&(t=this.mousePosY+this.textyOffset),t=this.mousePosY-this.textyOffset,t},visualize(t,e){this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.clear(),this.render(t,e),this.prevMousePosX=this.mousePosX,this.prevMousePosY=this.mousePosY},render(t,e){this.xOffset=this.positionX()+40,this.yOffset=this.positionY()+40,this.nodeHeight=e.height;const s=C["q"]().domain([2,11]).range([50,150]);this.toolTipG.attr("height",s(10)+"px"),this.toolTipRect=this.toolTipG.append("rect").attrs({class:"tooltip-container",fill:"#fff",stroke:"black",rx:"10px","fill-opacity":1,width:"325",height:this.height}).attrs({x:this.xOffset,y:this.yOffset}),this.runtimeInformation(e),this.pathInformation(e)},addText(t){this.textCount+=1,this.toolTipText=this.toolTipG.append("text").style("font-family","sans-serif").style("font-size","").attrs({class:"tooltip-content",x:()=>this.xOffset+this.margin,y:()=>this.yOffset+this.textyOffset+this.textPadding*this.textCount+"px"}).text(t)},runtimeInformation(t){this.addText("Name: "+z(t.id,40)),this.addText("Inclusive Time: "+G(t["time (inc)"])),this.addText("Exclusive Time: "+G(t["time"]))},pathInformation(t){let e={};"Single"==this.$store.selectedMode?e=this.$store.modules[this.$store.selectedTargetDataset]:"Ensemble"==this.$store.selectedMode&&(e=this.$store.modules["ensemble"]);let s={};"Single"==this.$store.selectedMode?s=this.$store.callsites[this.$store.selectedTargetDataset]:"Ensemble"==this.$store.selectedMode&&(s=this.$store.callsites["ensemble"]);let i=[];i="Ensemble"!==this.$store.selectedMode?t[this.$store.selectedTargetDataset]["entry_function"].split(",").map(String):t["ensemble"]["entry_function"].split(",").map(String);let a={};for(let l=0;l"),this.toolTipG.append("rect").attrs({width:this.rectWidth,height:this.rectWidth,x:l+140+"px",y:n-10+"px",class:"tooltip-content"}).style("fill",i),this.toolTipG.append("text").attrs({x:l+155+"px",y:n+"px",class:"tooltip-content"}).text(z(r,10))}let i=e.length-3;i>0&&this.addText("and "+i+" call sites more.")},clear(){this.textCount=0,C["v"](".tooltip-container").remove(),C["v"](".tooltip-content").remove()}}},gt=pt,xt=Object(x["a"])(gt,ft,mt,!1,null,null,null),bt=xt.exports,yt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},vt=[],$t={name:"Mean",data:()=>({stroke_width:3,id:"mean"}),methods:{init(t,e){this.nodes=t,this.containerG=e,this.module_data=this.$store.modules[this.$store.selectedTargetDataset],this.callsite_data=this.$store.callsites[this.$store.selectedTargetDataset],this.visualize()},setColorScale(){let t=0,e=0;for(let s of this.nodes)"super-node"==s.type?(t=Math.min(t,this.module_data[s.module][this.$store.selectedMetric]["mean_time"]),e=Math.max(e,this.module_data[s.module][this.$store.selectedMetric]["mean_time"])):"component-node"==s.type&&(t=Math.min(t,this.ensemble_callsite_data[s.name][this.$store.selectedMetric]["gradients"]["hist"]["y_min"]),e=Math.max(e,this.ensemble_callsite_data[s.name][this.$store.selectedMetric]["gradients"]["hist"]["y_max"]));this.$store.color.setColorScale(this.$store.selectedMetric,t,e,this.$store.selectedRuntimeColorMap,this.$store.selectedColorPoint),this.$parent.$parent.$refs.EnsembleColorMap.update(this.$store.mode,t,e)},visualize(){this.containerG.selectAll(".callsite-rect").data(this.nodes).transition().duration(this.$parent.transitionDuration).attrs({opacity:t=>"intermediate"==t.type?0:1,height:t=>t.height,stroke:"#000","stroke-width":t=>"intermediate"==t.type?1:this.stroke_width,fill:t=>{let e="";return"intermediate"==t.type?e=this.$store.runtimeColor.intermediate:"Inclusive"==this.$store.selectedMetric?e=this.$store.runtimeColor.getColor(t,"time (inc)"):"Exclusive"==this.$store.selectedMetric&&(e=this.$store.runtimeColor.getColor(t,"time")),e}})},clear(){}}},Ct=$t,Mt=Object(x["a"])(Ct,yt,vt,!1,null,null,null),_t=Mt.exports,Tt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},kt=[],wt=s("8701"),St=s.n(wt),Dt={name:"MeanDiff",components:{},data:()=>({strokeWidth:7,id:"mean-diff-gradients",meanDiff:{}}),methods:{init(t,e,s){this.nodes=t,this.containerG=e,this.data=s,this.process(),this.colorScale(),this.visualize()},process(){this.renderZeroLine={},this.rank_min=0,this.rank_max=0,this.mean_min=0,this.mean_max=0,this.mean_diff_min=0,this.mean_diff_max=0;for(let s=0;s1,height:t=>t.height}).style("stroke",t=>1).style("fill",(t,e)=>{let s=C["o"](this.$store.diffColor.getColorByValue(this.meanDiff[t.module]));return s})},clear(){}}},Pt=Dt,Et=Object(x["a"])(Pt,Tt,kt,!1,null,null,null),It=Et.exports,Bt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},At=[],Ot={name:"MeanGradients",components:{},data:()=>({strokeWidth:7,id:"rank-diff-gradients",renderZeroLine:{}}),methods:{init(t,e,s){this.nodes=t,this.containerG=e,this.data=s,this.process(),this.colorScale(),this.gradients(),this.visualize()},process(){this.renderZeroLine={},this.rank_min=0,this.rank_max=0,this.mean_min=0,this.mean_max=0,this.mean_diff_min=0,this.mean_diff_max=0;for(let t=0;t0){let e=(t+t+3)/(2*a.length);this.zeroLine(s["name"],e)}this.diffGradient.append("stop").attrs({offset:100*e+"%","stop-color":this.$store.rankDiffColor.getColorByValue(r[t])})}}},clearZeroLine(){C["v"](".zeroLine").remove(),C["v"](".zeroLineText").remove()},zeroLine(t,e){void 0==this.renderZeroLine[t]&&(C["u"]("#ensemble-callsite-"+t.client_idx).append("line").attrs(t=>({class:"zeroLine",x1:0,y1:e*t.height,x2:this.$parent.nodeWidth,y2:e*t.height})).style("opacity",t=>1).style("stroke","#000").style("stroke-width",t=>5),C["u"]("#ensemble-callsite-"+this.$parent.nidNameMap[t]).append("text").attrs({class:"zeroLineText",dy:"0",x:this.$parent.nodeWidth/2-10,y:t=>e*t.height-5}).style("opacity",1).style("font-size","20px").text(t=>0),this.renderZeroLine[t]=!0)},visualize(){let t=this.containerG.selectAll("rect").data(this.nodes);t.transition().duration(this.$store.transitionDuration).attrs({opacity:t=>"intermediate"==t.type?0:1}).style("stroke",t=>{let e="";return"intermediate"==t.type?e=this.$store.color.ensemble:"component-node"==t.type?e=void 0!=this.$store.callsites[this.$store.selectedTargetDataset][t.id]?C["o"](this.$store.color.getColor(t)):this.$store.color.ensemble:"super-node"==t.type&&(e=void 0!=this.$store.modules[this.$store.selectedTargetDataset][t.id]?C["o"](this.$store.color.getColor(t)):this.$store.color.ensemble),e}).style("stroke-width",t=>"intermediate"==t.type?1:this.stroke_width).style("fill",(t,e)=>"url(#diff-gradient-"+t.client_idx+")")},clearGradients(){this.svg.selectAll(".diff-gradient").remove()},clear(){}}},Ht=Ot,Rt=Object(x["a"])(Ht,Bt,At,!1,null,null,null),Ft=Rt.exports,Gt={name:"EnsembleNodes",components:{Mean:_t,ToolTip:bt,MeanGradients:tt,Guides:ot,TargetLine:ut,MeanDiff:It,RankDiff:Ft},data:()=>({currentNodeLevel:{},nodeWidth:50,transitionDuration:500,nodeHeights:{},minHeightForText:15,textTruncForNode:25,id:"ensemble-nodes",graph:null,nidNameMap:{},intermediateColor:"#d9d9d9",drawGuidesMap:{}}),methods:{init(t){this.graph=t,this.containerG=C["u"]("#"+this.id),this.drag=C["e"]().subject(t=>t).on("start",(function(){this.parentNode.appendChild(this)})).on("drag",t=>{C["u"]("node_"+t.client_idx).attr("transform","translate("+(t.x=Math.max(0,Math.min(this.$parent.width-t.dx,C["f"].x)))+","+(t.y=Math.max(0,Math.min(this.$parent.height-t.dy,C["f"].y)))+")"),this.$parent.sankey.relayout()}),this.zoom=C["x"]().scaleExtent([.5,2]).on("zoom",()=>{let t=Math.min(0,Math.min(C["f"].transform.x,this.width*C["f"].transform.k)),e=Math.min(0,Math.min(C["f"].transform.y,this.height*C["f"].transform.k));this.sankeySVG.attr("transform","translate("+[t,e]+")scale("+C["f"].transform.k+")")}),this.ensemble_module_data=this.$store.modules["ensemble"],this.ensemble_callsite_data=this.$store.callsites["ensemble"],this.preVis(),this.visualize()},visualize(){this.rectangle(),this.postVis(),this.setEncoding(this.$store.encoding),this.ensemblePath(),this.text(),this.$store.showTarget&&"Ensemble"===this.$store.selectedMode&&(this.$refs.TargetLine.init(this.graph.nodes),0==this.$store.comparisonMode&&this.targetPath(),this.$refs.Guides.init(this.graph.nodes)),this.$refs.ToolTip.init(this.$parent.id)},preVis(){let t=0;for(let e of this.graph.nodes)this.nidNameMap[e.id]=t,e.client_idx=t,t+=1},postVis(){for(let t of this.graph.nodes)t.svg=this.containerG.select("#callsite-"+t.client_idx)},clearRectangle(){C["v"](".callsite").remove()},setEncoding(t,e){"MEAN"==t?this.$refs.Mean.init(this.graph.nodes,this.containerG):"MEAN_GRADIENTS"==t?this.$refs.MeanGradients.init(this.graph.nodes,this.containerG):"MEAN_DIFF"==t?this.$refs.MeanDiff.init(this.graph.nodes,this.containerG,e):"RANK_DIFF"==t&&this.$refs.RankDiff.init(this.graph.nodes,this.containerG,e)},rectangle(){this.nodesSVG=this.containerG.selectAll(".callsite").data(this.graph.nodes).enter().append("g").attrs({class:"callsite",id:t=>"callsite-"+t.client_idx,transform:t=>`translate(${t.x},${t.y+this.$parent.ySpacing})`,opacity:1}),this.nodesSVG.append("rect").attrs({id:t=>t.id+" callsite-rect"+t.client_idx,class:"callsite-rect",height:t=>t.height,width:this.nodeWidth,"fill-opacity":t=>"intermediate"==t.type?0:1}).style("shape-rendering","crispEdges").on("click",t=>this.click(t)).on("mouseover",t=>this.mouseover(t)).on("mouseout",t=>this.mouseout(t))},click(t){if(event.stopPropagation(),t!==this.$store.selectedNode){this.$store.selectedNode=t,this.$store.selectedModule=t.module,this.$store.selectedName=t.name;const e=this.containerG.select("#callsite-"+t.client_idx);"Ensemble"==this.$store.selectedMode?(this.drawGuidesMap[t.id]||(this.$refs.Guides.visualize(t,"permanent",e),this.drawGuidesMap[t.id]=!0),m.POSTRequest("module_hierarchy",{module:this.$store.selectedModule,name:this.$store.selectedName,datasets:this.$store.selectedDatasets}),E.$emit("ensemble-histogram",{module:this.$store.selectedModule,datasets:this.$store.selectedDatasets}),E.$emit("ensemble-scatterplot",{module:this.$store.selectedModule,dataset1:this.$store.selectedDatasets}),E.$emit("ensemble-select-module",{module:this.$store.selectedModule})):"Single"==this.$store.selectedMode&&(E.$emit("single-histogram",{module:this.$store.selectedModule,groupBy:this.$store.selectedGroupBy,dataset:this.$store.selectedTargetDataset}),E.$emit("single-scatterplot",{module:this.$store.selectedModule,dataset:this.$store.selectedTargetDataset}),E.$emit("single-select-module",{module:this.$store.selectedModule}))}},mouseover(t){this.$refs.ToolTip.visualize(self.graph,t),"Ensemble"==this.$store.selectedMode&&0==this.$store.comparisonMode&&this.$refs.Guides.visualize(t,"temporary")},mouseout(t){this.$refs.ToolTip.clear(),"Ensemble"==this.$store.selectedMode&&0==this.$store.comparisonMode&&(this.$refs.Guides.clear(t,"temporary"),0==this.permanentGuides&&C["v"](".ensemble-edge").style("opacity",1))},targetPath(){this.nodesSVG.append("path").attrs({class:"path",d:t=>{if("intermediate"==t.type)return"m0 0h "+this.nodeWidth+"v "+1*t.targetHeight+"h "+-1*this.nodeWidth},fill:t=>{if("intermediate"==t.type)return this.$store.distributionColor.target},stroke:t=>{if("intermediate"==t.type)return this.intermediateColor}}).style("opacity",.6).style("fill-opacity",0).style("stroke-opacity",0),this.nodesSVG.selectAll(".target-path").data(this.graph.nodes).transition().duration(this.transitionDuration).delay(this.transitionDuration/3).style("fill-opacity",1)},ensemblePath(){this.nodesSVG.append("path").attrs({class:"path",d:t=>{if("intermediate"==t.type)return"m0 0h "+this.nodeWidth+"v "+1*t.height+"h "+-1*this.nodeWidth},fill:t=>{if("intermediate"==t.type)return this.intermediateColor}}).style("opacity",t=>this.$store.showTarget&&0==this.$store.compareAnalysisMode?.5:1).style("fill-opacity",0).style("stroke",(function(t){if("intermediate"==t.type)return this.intermediateColor})).style("stroke-opacity","0.0"),this.nodesSVG.selectAll(".path").data(this.graph.nodes).transition().duration(this.transitionDuration).delay(this.transitionDuration/3).style("fill-opacity",1)},text(){this.nodesSVG.append("text").data(this.graph.nodes).attrs({class:"callsite-text",dy:"0.35em",transform:"rotate(90)",x:"5",y:"-10"}).style("opacity",1).style("fill",t=>{if("MEAN_GRADIENTS"==this.$store.encoding)return"#000";let e=null;"Inclusive"==this.$store.selectedMetric?e=this.$store.runtimeColor.getColor(t,"time (inc)"):"Exclusive"==this.$store.selectedMetric&&(e=this.$store.runtimeColor.getColor(t,"time"));let s=this.$store.runtimeColor.rgbArrayToHex(e);return this.$store.runtimeColor.setContrast(s)}).text(t=>{if("intermediate"!=t.type){if(t.height({transitionDuration:1e3,id:"",offset:4,precision:2}),watch:{},mounted(){this.id="edges"},methods:{init(t){this.graph=t,this.edges=C["u"]("#"+this.id),"Ensemble"==this.$store.selectedMode?(this.initEdges("ensemble"),this.drawEdges("ensemble"),this.$store.showTarget&&0==this.$store.comparisonMode&&(this.initEdges("target"),this.drawEdges("target"))):"Single"==this.$store.selectedMode&&(this.initEdges("single"),this.drawEdges("single"))},initEdges(t){this.edges.selectAll("#edge-"+t).data(this.graph.links).enter().append("path").attrs({class:"edge",id:"edge-"+t}).style("fill",e=>"ensemble"==t?this.$store.distributionColor.ensemble:this.$store.runtimeColor.intermediate).style("opacity",.5).on("mouseover",(function(t){C["u"](this).style("stroke-opacity","1.0")})).sort((function(t,e){return e.dy-t.dy}))},drawPath(t,e,s=0,i=0,a){const r=(t.source_data.x+t.source_data.dx+s).toFixed(this.precision),o=(t.target_data.x-i).toFixed(this.precision),l=C["i"](r,o),n=l(.4).toFixed(this.precision),h=l(.6).toFixed(this.precision),d=(t.source_data.y+this.$parent.ySpacing+t.sy).toFixed(this.precision),c=(t.target_data.y+this.$parent.ySpacing+t.ty).toFixed(this.precision),u=(t.source_data.x+t.source_data.dx+s).toFixed(this.precision),f=(t.target_data.x-i).toFixed(this.precision),m=C["i"](u,f),p=m(.4).toFixed(this.precision),g=m(.6).toFixed(this.precision);let x=(t.source_data.y+this.$parent.ySpacing+t.sy+e).toFixed(this.precision),b=(t.target_data.y+this.$parent.ySpacing+t.ty+e).toFixed(this.precision);const y=(b-c).toFixed(this.precision);return`M${r},${d}C${n},${d} ${h},${c} ${o},${c} v ${y}C${g},${b} ${p},${x} ${u},${x}`},drawMiddlePath(t,e,s,i,a){let r=t.source_data.x+t.source_data.dx+s,o=t.target_data.x-i,l=C["i"](r,o),n=l(.4),h=l(.6),d=t.source_data.y+this.$parent.ySpacing+t.sy+.5*(t.source_data.height-e),c=t.target_data.y+this.$parent.ySpacing+t.ty+.5*(t.target_data.height-e),u=t.source_data.x+t.source_data.dx+s,f=t.target_data.x-i,m=C["i"](u,f),p=m(.4),g=m(.6),x=0,b=0;x=t.source_data.y+this.$parent.ySpacing+t.sy+e,b=t.target_data.y+this.$parent.ySpacing+t.ty+e;let y=b-c;return`M${r},${d}C${n},${d} ${h},${c} ${o},${c} v ${y}C${g},${b} ${p},${x} ${u},${x}`},drawEdges(t){this.edges.selectAll("#edge-"+t).data(this.graph.links).attrs({d:e=>{let s=0;return"ensemble"==t||"single"==t?s=e.height:"target"==t&&(s=e.targetHeight),"Top"==this.$store.selectedEdgeAlignment?this.drawPath(e,s,0,0,t):"Middle"==this.$store.selectedEdgeAlignment?this.drawMiddlePath(e,s,0,0,t):void 0},fill:e=>"ensemble"==t?this.$store.distributionColor.ensemble:"target"==t?this.$store.distributionColor.target:"single"==t?this.$store.runtimeColor.intermediate:void 0,stroke:this.$store.runtimeColor.edgeStrokeColor}).on("mouseover",t=>{}).on("mouseout",t=>{})},fadeUnConnected(t){let e=this.graph.links.selectAll(".link");e.filter((function(e){return e.source!==t&&e.target!==t})).transition().duration(500).style("opacity",.05)},clear(){this.edges.selectAll(".edge").remove(),this.edges.selectAll(".edgelabel").remove(),this.edges.selectAll(".edgelabelText").remove()}}},jt=Vt,Yt=Object(x["a"])(jt,Nt,zt,!1,null,null,null),Xt=Yt.exports,Kt=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},Ut=[],Qt=(s("883e"),{name:"MiniHistograms",components:{},props:[],data:()=>({view:{},xScale:[],yScale:[],vals:[],freq:{},data:[],minimapXScale:null,minimapYScale:null,padding:{top:0,left:0,right:0,bottom:10},nodeScale:.99,id:"",nodes:null,edges:null,offset:7,bandWidth:0}),mounted(){this.id="minihistogram-overview"},methods:{init(t,e){this.nodeMap=t.nodeMap,this.nodes=t.nodes,this.links=t.links,this.view=e,this.target_module_data=this.$store.modules[this.$store.selectedTargetDataset],this.target_callsite_data=this.$store.callsites[this.$store.selectedTargetDataset];for(const s of this.nodes){let t=s.module,e=s.name;if("super-node"==s.type&&void 0!=this.target_module_data[t]){let e=this.target_module_data[t][this.$store.selectedMetric]["prop_histograms"][this.$store.selectedProp];this.render(e,t)}else if("component-node"==s.type&&void 0!=this.target_callsite_data[e]){let t=this.target_callsite_data[e][this.$store.selectedMetric]["prop_histograms"][this.$store.selectedProp];this.render(t,e)}}},array_unique(t){return t.filter((function(t,e,s){return s.indexOf(t)===e}))},clear(){this.bandWidth=0,C["v"]("#histobars").remove()},histogram(t,e,s){let i="",a=[],r=[];"ensemble"==s?(i=this.$store.distributionColor.ensemble,a=t["ensemble"].x,r=t["ensemble"].y):"target"!=s&&"single"!=s||("target"==s?i=this.$store.distributionColor.target:"single"==s&&(i=this.$store.runtimeColor.intermediate),a=t["target"].x,r=t["target"].y),"Linear"==this.$store.selectedScale?this.minimapYScale=C["q"]().domain([0,C["k"](r)]).range([this.$parent.ySpacing-10,0]):"Log"==this.$store.selectedScale&&(this.minimapYScale=C["r"]().domain([.1,C["k"](r)]).range([this.$parent.ySpacing,0])),this.minimapXScale=C["p"]().domain(a).rangeRound([0,this.$parent.nodeWidth]),this.bandWidth=this.minimapXScale.bandwidth();for(let o=0;othis.bandWidth,height:t=>this.$parent.nodeWidth-this.minimapYScale(r[o]),x:t=>e.x+this.minimapXScale(a[o]),y:t=>e.y+this.minimapYScale(r[o])+this.offset,"stroke-width":"0.2px",stroke:"black",fill:i})},render(t,e){let s=this.nodes[this.nodeMap[e]];"Ensemble"==this.$store.selectedMode?(this.histogram(t,s,"ensemble"),this.$store.showTarget&&0==this.$store.comparisonMode&&this.histogram(t,s,"target")):"Single"==this.$store.selectedMode&&this.histogram(t,s,"single")}}}),Zt=Qt,Jt=Object(x["a"])(Zt,Kt,Ut,!1,null,null,null),te=Jt.exports,ee=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:t.id}})},se=[],ie={name:"EnsembleColorMap",components:{},props:[],data:()=>({transitionDuration:1e3,width:230,height:20,colorMin:0,colorMax:0,offset:30,padding:{bottom:30,right:400},id:"ensemble-colormap"}),mounted(){},methods:{init(t){this.color=t,this.colorMin=this.color.getScale().domain()[0],this.colorMax=this.color.getScale().domain()[1],this.containerWidth=this.$store.viewWidth/2,this.containerHeight=this.$store.viewHeight-this.$parent.margin.top-this.$parent.margin.bottom,this.svg=C["u"]("#"+this.$parent.id).append("g").attrs({id:"Colormap"}),this.render()},render(){this._legends(),this._color_map()},_legends(){this.clearLegends(),this.$store.showTarget&&!this.$store.comparisonMode&&"Ensemble"===this.$store.selectedMode&&"SuperGraph"==this.$store.selectedFormat&&this.drawLegend("Target run",this.containerWidth-this.padding.right,this.containerHeight-4*this.padding.bottom,this.$store.distributionColor.target),"Ensemble"==this.$store.selectedMode&&"SuperGraph"==this.$store.selectedFormat&&this.drawLegend("Ensemble of runs",this.containerWidth-this.padding.right,this.containerHeight-3*this.padding.bottom,this.$store.distributionColor.ensemble)},_color_map(){this.clearColorMap();let t="",e=1;"Exclusive"==this.color.type?t="Exc. Runtime colormap":"Inclusive"==this.color.type?t="Inc. Runtime colormap":"MeanGradients"==this.color.type?(t="Distribution colormap",e=2):"MeanDiff"==this.color.type?(t="Mean Difference colormap",e=2):"RankDiff"==this.color.type&&(t="Rank Difference colormap",e=2),"MeanGradients"!==this.color.type?(this.colorMinText=G(this.colorMin),this.colorMaxText=G(this.colorMax)):(this.colorMinText=this.colorMin,this.colorMaxText=this.colorMax),this.drawColorMap(t,this.containerWidth-this.padding.right,this.containerHeight-this.padding.bottom*e)},drawLegend(t,e,s,i){this.svg.append("circle").attrs({r:10,cx:10,cy:10,class:"legend",transform:`translate(${e}, ${s})`,fill:i}),this.svg.append("text").attrs({x:30,y:15,class:"legend-text",transform:`translate(${e}, ${s})`}).text(t).style("font-size",14).style("fill","#444444")},drawColorMap(t,e,s){let i=this.$store.selectedColorPoint,a=(this.colorMax-this.colorMin)/(i-1);for(let r=0;rt+e.weight,0)}reverse(){return this.getAllEdges().forEach(t=>{this.deleteEdge(t),t.reverse(),this.addEdge(t)}),this}getVerticesIndices(){const t={};return this.getAllVertices().forEach((e,s)=>{t[e.getKey()]=s}),t}getAdjacencyMatrix(){const t=this.getAllVertices(),e=this.getVerticesIndices(),s=Array(t.length).fill(null).map(()=>Array(t.length).fill(1/0));return t.forEach((t,i)=>{t.getNeighbors().forEach(a=>{const r=e[a.getKey()];s[i][r]=this.findEdge(t,a).weight})}),s}toString(){return Object.keys(this.vertices).toString()}}class ne{constructor(t,e=null){this.value=t,this.next=e}toString(t){return t?t(this.value):""+this.value}}class he{constructor(t){this.compare=t||he.defaultCompareFunction}static defaultCompareFunction(t,e){return t===e?0:t0}lessThanOrEqual(t,e){return this.lessThan(t,e)||this.equal(t,e)}greaterThanOrEqual(t,e){return this.greaterThan(t,e)||this.equal(t,e)}reverse(){const t=this.compare;this.compare=(e,s)=>t(s,e)}}class de{constructor(t){this.head=null,this.tail=null,this.compare=new he(t)}prepend(t){const e=new ne(t,this.head);return this.head=e,this.tail||(this.tail=e),this}append(t){const e=new ne(t);return this.head?(this.tail.next=e,this.tail=e,this):(this.head=e,this.tail=e,this)}delete(t){if(!this.head)return null;let e=null;while(this.head&&this.compare.equal(this.head.value,t))e=this.head,this.head=this.head.next;let s=this.head;if(null!==s)while(s.next)this.compare.equal(s.next.value,t)?(e=s.next,s.next=s.next.next):s=s.next;return this.compare.equal(this.tail.value,t)&&(this.tail=s),e}find({value:t,callback:e}){if(!this.head)return null;let s=this.head;while(s){if(e&&e(s.value))return s;if(void 0!==t&&this.compare.equal(s.value,t))return s;s=s.next}return null}deleteTail(){const t=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,t;let e=this.head;while(e.next)e.next.next?e=e.next:e.next=null;return this.tail=e,t}deleteHead(){if(!this.head)return null;const t=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),t}fromArray(t){return t.forEach(t=>this.append(t)),this}toArray(){const t=[];let e=this.head;while(e)t.push(e),e=e.next;return t}toString(t){return this.toArray().map(e=>e.toString(t)).toString()}reverse(){let t=this.head,e=null,s=null;while(t)s=t.next,t.next=e,e=t,t=s;return this.tail=this.head,this.head=e,this}}class ce{constructor(t){if(void 0===t)throw new Error("Graph vertex must have a value");const e=(t,e)=>t.getKey()===e.getKey()?0:t.getKey()t.value.startVertex===this?t.value.endVertex:t.value.startVertex;return t.map(e)}getEdges(){return this.edges.toArray().map(t=>t.value)}getDegree(){return this.edges.toArray().length}hasEdge(t){const e=this.edges.find({callback:e=>e===t});return!!e}hasNeighbor(t){const e=this.edges.find({callback:e=>e.startVertex===t||e.endVertex===t});return!!e}findEdge(t){const e=e=>e.startVertex===t||e.endVertex===t,s=this.edges.find({callback:e});return s?s.value:null}getKey(){return this.value}deleteAllEdges(){return this.getEdges().forEach(t=>this.deleteEdge(t)),this}toString(t){return t?t(this.value):""+this.value}}class ue{constructor(t,e,s=0){this.startVertex=t,this.endVertex=e,this.weight=s}getKey(){const t=this.startVertex.getKey(),e=this.endVertex.getKey();return`${t}_${e}`}reverse(){const t=this.startVertex;return this.startVertex=this.endVertex,this.endVertex=t,this}toString(){return this.getKey()}}function fe(t={}){const e=t,s=()=>{},i=(()=>{const t={};return({nextVertex:e})=>!t[e.getKey()]&&(t[e.getKey()]=!0,!0)})();return e.allowTraversal=t.allowTraversal||i,e.enterVertex=t.enterVertex||s,e.leaveVertex=t.leaveVertex||s,e}function me(t,e,s,i){i.enterVertex({currentVertex:e,previousVertex:s}),t.getNeighbors(e).forEach(a=>{i.allowTraversal({previousVertex:s,currentVertex:e,nextVertex:a})&&me(t,a,e,i)}),i.leaveVertex({currentVertex:e,previousVertex:s})}function pe(t,e,s){const i=null;me(t,e,i,fe(s))}function ge(t){let e=null;const s={},i={},a={},r={};t.getAllVertices().forEach(t=>{i[t.getKey()]=t});const o={enterVertex:({currentVertex:t,previousVertex:r})=>{if(a[t.getKey()]){e={};let i=t,a=r;while(a.getKey()!==t.getKey())e[i.getKey()]=a,i=a,a=s[a.getKey()];e[i.getKey()]=a}else a[t.getKey()]=t,delete i[t.getKey()],s[t.getKey()]=r},leaveVertex:({currentVertex:t})=>{r[t.getKey()]=t,delete a[t.getKey()]},allowTraversal:({nextVertex:t})=>!e&&!r[t.getKey()]};while(Object.keys(i).length){const e=Object.keys(i)[0],s=i[e];console.debug(e,s),pe(t,s,o)}return[e,a,r,i]}var xe={name:"SuperGraph",components:{EnsembleNodes:Wt,EnsembleEdges:Xt,MiniHistograms:te,EnsembleColorMap:oe},data:()=>({graph:null,id:"ensemble-supergraph-overview",dashboardID:"ensemble-supergraph-dashboard",nodeWidth:50,nodeScale:1,ySpacing:60,levelSpacing:50,margin:{top:10,right:10,bottom:20,left:10},width:null,height:null,treeHeight:null,data:null,message:"Summary Graph View",sankeyWidth:0,sankeyHeight:0,summaryChip:"SuperGraph",selectedMetric:"",existingIntermediateNodes:{}}),mounted(){this.id="ensemble-supergraph-overview";let t=this;E.$on("clear_summary_view",(function(){console.log("Clearing Summary view"),t.clear()})),E.$on("reveal-callsite",(function(){t.clear()})),E.$on("show_target_auxiliary",e=>{t.$refs.EnsembleNodes.$refs.TargetLine.clear(),t.$refs.MiniHistograms.clear()}),this.selectedMetric=this.$store.selectedMetric},methods:{async fetchData(){"Single"==this.$store.selectedMode?(this.data=await m.POSTRequest("single_supergraph",{dataset:this.$store.selectedTargetDataset,groupBy:"module"}),console.debug("[/single_supergraph]",this.data)):"Ensemble"==this.$store.selectedMode&&(this.data=await m.POSTRequest("ensemble_supergraph",{datasets:this.$store.selectedDatasets,groupBy:"module"}),console.debug("[/ensemble_supergraph]",this.data)),this.data=this._add_node_map(this.data),this.data.graph=this._construct_super_graph(this.data);ge(this.data.graph);for(let t=0;t1;p--){const d=t.length;let c={},g=n["actual_time"],x=n["max_flow"];void 0==this.existingIntermediateNodes[h.id]?(c={id:"intermediate_"+h.id,level:p-1,value:s[r].weight,targetValue:s[r].targetWeight,height:s[r].height,targetHeight:s[r].targetHeight,module:h.module,type:"intermediate",count:1},c[f]=h[f],m&&(t.push(c),m=!1),this.existingIntermediateNodes[h.id]=c):(void 0==a[s[r].source]?(a[s[r].source]=0,this.existingIntermediateNodes[h.id].value+=s[r].weight):a[s[r].source]+=1,c=this.existingIntermediateNodes[h.id]);const b={type:"source_intermediate",source:n.id,target:c.id,weight:s[r].weight,targetWeight:s[r].targetWeight,actual_time:g,max_flow:x};e.push(b),console.debug("[SuperGraph] Adding intermediate source edge: "+b),p==u&&(e[r].original_target=l),e[r].target_data=t[d],console.debug("[SuperGraph] Updating this edge: "+e[r]);const y={type:"target_intermediate",source:c.id,target:h.id,actual_time:g,weight:s[r].weight,targetWeight:s[r].targetWeight,max_flow:x};e.push(y),console.log("[SuperGraph] Adding intermediate target edge: "+y),p==u&&(e[r].original_target=l),e[r].target_data=t[d],console.debug("[SuperGraph] Updating this edge: "+e[r]),i.push({source:o,target:l})}}console.debug(`[SuperGraph] Removing ${i.length} edges`);for(let r=0;r({id:"cct-overview",margin:{top:0,right:0,bottom:0,left:0},width:null,height:null,zoom:null,HAS_DATA_COLUMNS:["module"],has_data_map:{}}),sockets:{single_cct(t){console.debug("Single CCT data: ",t),this.render(t)},ensemble_cct(t){console.debug("Ensemble CCT data: ",t),this.render(t)}},methods:{init(){"Single"===this.$store.selectedMode?this.$socket.emit("single_cct",{dataset:this.$store.selectedTargetDataset,functionsInCCT:this.$store.selectedFunctionsInCCT}):"Ensemble"===this.$store.selectedMode&&this.$socket.emit("ensemble_cct",{datasets:this.$store.selectedTargetDataset,functionsInCCT:this.$store.selectedFunctionsInCCT}),this.width=this.$store.viewWidth-this.margin.left-this.margin.right,this.height=this.$store.viewHeight-this.margin.bottom-this.margin.top,this.svg=C["u"]("#"+this.id).attrs({width:this.width,height:this.height}),this.g=this.createGraph()},createGraph(){const t=new St.a.graphlib.Graph({directed:!0,multigraph:!1,compound:!0});return t.setGraph({rankDir:"TD",rankSep:50,marginx:30,marginy:30}),t},setCallsiteName(t){return void 0==t["name"]?t["id"]:t["name"]},setCallsiteColor(t){let e="";"Inclusive"==this.$store.selectedMetric?e=this.$store.runtimeColor.getColor(t,"time (inc)"):"Exclusive"==this.$store.selectedMetric&&(e=this.$store.runtimeColor.getColor(t,"time"));const s=this.$store.runtimeColor.rgbArrayToHex(e),i=this.$store.runtimeColor.setContrast(s);return{node:s,text:i}},setCallsiteHTML(t,e){let s=t["name"],i="#fff"===e["text"]?'
'+s+"":'
'+s+"";if(this.has_data_map["module"]){let e=t["module"];i=i+'
Module : '+e+"
"}return i},nodes(t){t.forEach((t,e)=>{const s=this.setCallsiteName(t),i=this.setCallsiteColor(t),a=this.setCallsiteHTML(t,i),r={...t,class:"cct-node",labelType:"html",label:a,fillColor:i["node"]};this.g.setNode(s,r)});let e=this;this.g.nodes().forEach((function(t){let s=e.g.node(t);void 0!=s&&(s.style="fill:"+s.fillColor,s.rx=s.ry=4,s.id=s.name)}))},edges(t){for(let s=0;s{var s=e.g.edge(t);s.id="cct-edge"})},node_click_action(t){console.debug("click node : "+t);const e="fill: rgba(255,255,255, 0); stroke: #d5d5d5; stroke-width: 1.5px;",s="fill: #c5c5c5; stroke: #c5c5c5; stroke-width:4px;",i="fill: rgba(255,255,255, 0); stroke: #800080; stroke-width: 4px;",a="fill: #800080; stroke: #800080; stroke-width:1.5px;",r="fill: rgba(255,255,255, 0); stroke: #32CD32; stroke-width: 4px;",o="fill: #32CD32; stroke: #32CD32; stroke-width:1.5px;";let l=this.g.node(t).class,n=this;-1!=l.indexOf("highLight")?(this.g.node(t).class=l.toString().replace("highLight"," ").trim(),this.g.edges().forEach((function(t,i,a){let r=n.g.edge(t);r.style=e,r.arrowhead="vee",r.arrowheadStyle=s}))):(this.g.nodes().forEach((function(t){let e=n.g.node(t);l=e.class,"cct-node"!==l&&(e.class=l.replace("highLight"," ").trim())})),this.g.edges().forEach((function(l,h,d){let c=n.g.edge(l);c.style=e,c.arrowhead="vee",c.arrowheadStyle=s,l.v==t?(c.style=i,c.arrowhead="vee",c.arrowheadStyle=a):l.w==t&&(c.style=r,c.arrowhead="vee",c.arrowheadStyle=o)})),this.g.node(t).class+=" highLight")},zoomTranslate(){const t=this.g.graph().width+80,e=this.g.graph().height+40,s=parseInt(this.svg.style("width").replace(/px/,"")),i=parseInt(this.svg.style("height").replace(/px/,""));let a=Math.min(s/t,i/e);a>1.4&&(a-=.1);const r=[.5*(s-t*a),.5*(i-e*a)];this.svg.call(this.zoom.transform,C["y"].translate(r[0],r[1]).scale(a))},setHasDataMap(){this.has_data_map={};for(let t=0;t({id:"",textCount:0,textxOffset:20,textyOffset:20,textPadding:13,offset:10,fontSize:12}),sockets:{tooltip(t){this.render(t)}},watch:{},mounted(){},methods:{init(t){this.id=t,this.toolTipDiv=C["u"]("#"+this.id).append("svg").attr("class","toolTipSVG"),this.toolTipG=this.toolTipDiv.append("g"),this.height=document.getElementById(this.id).clientHeight/10,this.halfWidth=document.getElementById(this.id).clientWidth/2},render(t,e){this.clear(),this.width=t.length*this.fontSize+10*this.fontSize;var s=C["q"]().domain([2,11]).range([50,150]);this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipG.attr("height",s(10)+"px"),this.toolTipRect=this.toolTipG.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:this.width,height:this.height}).attrs({x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth-25?this.mousePosX-this.width+"px":this.mousePosX+"px",y:()=>this.mousePosY+"px"}),this.node=e,this.data=t,this.processes()},addText(t){this.textCount+=1,this.toolTipText=this.toolTipG.append("text").style("font-family","sans-serif").style("font-size",this.fontSize).attrs({class:"toolTipContent",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth-25?this.mousePosX-this.width+this.offset+"px":this.mousePosX+this.offset+"px",y:()=>this.mousePosY+2*this.offset+"px"}).text(t)},processes(){this.addText("Processes (MPI ranks): "+this.data)},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},Ie=Ee,Be=Object(x["a"])(Ie,De,Pe,!1,null,null,null),Ae=Be.exports,Oe={name:"SingleScatterplot",components:{ToolTip:Ae},data:()=>({padding:{top:10,right:10,bottom:10,left:15},xData:[],yData:[],xMin:0,xMax:0,yMin:0,yMax:0,firstRender:!0,boxHeight:0,boxWidth:0,id:"scatterplot-view",svgID:"scatterplot-view-svg",message:"MPI Runtime Scatterplot",boxOffset:20,superscript:"⁰¹²³⁴⁵⁶⁷⁸⁹",paddingFactor:3.5,x_max_exponent:0,y_max_exponent:0,corr_coef:0}),mounted(){let t=this;E.$on("single-scatterplot",(function(e){t.clear(),console.debug("Single Scatterplot: ",e["module"]),t.render(e["module"])}))},methods:{init(){this.width=.25*window.innerWidth,this.height=.45*this.$store.viewHeight,this.boxWidth=this.width-this.padding.right-this.padding.left,this.boxHeight=this.height-this.padding.top-this.padding.bottom,this.svg=C["u"]("#"+this.svgID).attr("width",this.boxWidth).attr("height",this.boxHeight-this.padding.top).attr("transform","translate("+this.padding.left+","+this.padding.top+")"),this.xAxisHeight=this.boxWidth-4*this.padding.left,this.yAxisHeight=this.boxHeight-4*this.padding.left,E.$emit("single-scatterplot",{module:Object.keys(this.$store.modules[this.$store.selectedTargetDataset])[0],dataset:this.$store.selectedTargetDataset})},render(t){this.firstRender||this.clear(),this.firstRender=!1,this.selectedModule=t;let e=this.process();this.xMin=e[0],this.yMin=e[1],this.xMax=e[2],this.yMax=e[3],this.xArray=e[4],this.yArray=e[5],this.xScale=C["q"]().domain([this.xMin,this.xMax]).range([0,this.xAxisHeight]),this.yScale=C["q"]().domain([this.yMin,this.yMax]).range([this.yAxisHeight,this.padding.top]),this.regression=this.leastSquares(this.xArray,this.yArray),this.corr_coef=Math.round(100*this.regression["corr_coef"])/100,this.xAxis(),this.yAxis(),this.dots()},process(){let t=this.$store.modules[this.$store.selectedTargetDataset][this.$store.selectedModule],e=t["Inclusive"]["data"],s=t["Exclusive"]["data"],i=[],a=[],r=0,o=0,l=0,n=0;for(const[h,d]of Object.entries(s))o=Math.min(o,d),l=Math.max(l,d),i.push(d);for(const[h,d]of Object.entries(e))r=Math.min(r,d),n=Math.max(n,d),a.push(d);return[o,r,l,n,i,a]},leastSquares(t,e){for(var s=t.length,i=0,a=0,r=0,o=0,l=0;l{let i=W(e,t.x_max_exponent);return""+i[0]});let s=this.svg.append("g").attrs({class:"axis",id:"xAxis",transform:"translate("+this.paddingFactor*this.padding.left+","+this.yAxisHeight+")"}).call(e);s.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),s.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px"),s.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")},addyAxisLabel(){let t=this.yScale.domain()[1];this.y_max_exponent=N(t);this.superscript[this.y_max_exponent];let e="(e+"+this.y_max_exponent+") Inclusive Runtime (μs)";this.svg.append("text").attrs({class:"axis-label",transform:"rotate(-90)",x:-this.padding.top,y:.5*this.padding.left}).style("text-anchor","end").style("font-size","12px").text(e)},yAxis(){let t=this;this.addyAxisLabel();let e=C["c"](this.yScale).ticks(10).tickFormat((e,s)=>{let i=W(e,t.y_max_exponent);return""+i[0]});var s=this.svg.append("g").attr("id","yAxis").attr("class","axis").attr("transform","translate("+this.paddingFactor*this.padding.left+", 0)").call(e);s.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),s.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.5),s.selectAll("text").style("font-size","14px").style("font-family","sans-serif").style("font-weight","lighter")},trendline(){let t=this,e=C["j"]().x((function(e,s){return t.xScale(t.xArray[s])})).y((function(e,s){return t.yScale(t.yArray[s])}));this.svg.append("g").attr("class","trend-line").append("path").datum(this.regression["y_res"]).attr("d",e).style("stroke",this.$store.color.intermediate).style("stroke-width","1px").style("opacity",.5).attr("transform","translate("+this.paddingFactor*this.padding.left+", 0)")},dots(){let t=this;this.svg.selectAll(".dot").data(this.yArray).enter().append("circle").attr("class","dot").attr("r",5).attr("cx",(function(e,s){return t.xScale(t.xArray[s])+3*t.padding.left})).attr("cy",(function(e,s){return t.yScale(t.yArray[s])})).style("fill",this.$store.runtimeColor.intermediate).style("stroke","#202020").style("stroke-width",.5)},correlationText(){let t=this,e=C["g"]("0.2f");this.svg.append("g").append("text").attr("class","text").text("corr-coef: "+e(this.regression["corr_coef"])).attr("x",(function(e){return t.boxWidth-t.width/3})).attr("y",(function(t){return 20}))},clear(){C["v"](".dot").remove(),C["v"](".axis").remove(),C["v"](".trend-line").remove(),this.svg.selectAll("text").remove()}}},He=Oe,Re=Object(x["a"])(He,we,Se,!1,null,null,null),Fe=Re.exports,Ge=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-layout",{attrs:{row:"",wrap:"",id:t.id}},[s("v-layout",{staticClass:"chip-container"},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")])],1),s("svg",{attrs:{id:t.svgID}}),s("ToolTip",{ref:"ToolTip"})],1)},Le=[],qe=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:"tooltip-histogram"}})},We=[],Ne={name:"ToolTip",components:{},props:[],data:()=>({id:"single-histogram-tooltip",textCount:0,textxOffset:20,textyOffset:20,textPadding:13,offset:10,fontSize:12,containerHeight:50,containerWidth:200}),sockets:{tooltip(t){this.render(t)}},watch:{},mounted(){},methods:{init(t){this.parentID=t,this.toolTipDiv=C["u"]("#"+this.parentID).append("svg").attr("class","toolTipSVG"),this.toolTipG=this.toolTipDiv.append("g"),this.height=document.getElementById(this.parentID).clientHeight,this.halfWidth=document.getElementById(this.parentID).clientWidth/2},render(t,e){this.clear(),this.width=t.length*this.fontSize+10*this.fontSize;const s=C["q"]().domain([2,11]).range([this.containerWidth,this.containerHeight]);this.mousePos=C["m"](C["u"]("#"+this.parentID).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipG.attr("height",s(10)+"px"),this.node=e,this.data=t,this.addText("Processes (MPI ranks):"+this.data)},optimizeTextHeight(t){const e=Y(t),s=e.width/this.containerWidth;return{width:this.containerWidth,height:s*e.height}},addText(t){const e=this.optimizeTextHeight(t);this.toolTipRect=this.toolTipG.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:e.width+20,height:e.height}).attrs({x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.parentID).clientWidth-25?this.mousePosX-this.containerWidth+"px":this.mousePosX+"px",y:()=>this.mousePosY+"px"}).style("z-index",2),this.textCount+=1,this.toolTipText=this.toolTipG.append("text").style("font-family","sans-serif").style("font-size",this.fontSize).attrs({class:"toolTipContent",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.parentID).clientWidth-25?this.mousePosX-this.containerWidth+this.offset+"px":this.mousePosX+this.offset+"px",y:()=>this.mousePosY+2*this.offset+"px"}).style("z-index",2).text(t).call(X,e.width)},processes(){},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},ze=Ne,Ve=Object(x["a"])(ze,qe,We,!1,null,null,null),je=Ve.exports,Ye={name:"SingleHistogram",components:{ToolTip:je},props:[],data:()=>({data:[],width:null,height:null,histogramHeight:null,histogramWidth:null,padding:{top:10,right:10,bottom:10,left:15},dataset_index:[],id:"single-histogram-view",svgID:"single-histogram-view-svg",firstRender:!0,xVals:[],freq:[],selectedColorBy:"Inclusive",MPIcount:0,message:"MPI Runtime Distribution",paddingFactor:3.5,boxOffset:20,x_max_exponent:0,superscript:"⁰¹²³⁴⁵⁶⁷⁸⁹"}),mounted(){let t=this;E.$on("single-histogram",(function(e){console.log("Single histogram: ",e["module"]),t.visualize(e["module"])}))},methods:{init(){this.width=.25*window.innerWidth,this.height=.5*this.$store.viewHeight,this.boxWidth=this.width-this.padding.right-this.padding.left,this.boxHeight=this.height-this.padding.top-this.padding.bottom,this.histogramOffset=Math.floor(this.boxHeight/4),this.histogramHeight=this.boxHeight-this.histogramOffset,this.histogramWidth=this.boxWidth,this.rankScaleHeight=this.boxHeight-this.histogramHeight,this.rankScaleWidth=this.histogramWidth,this.xAxisHeight=this.histogramWidth-(this.paddingFactor-1.5)*this.padding.left,this.yAxisHeight=this.histogramHeight-(this.paddingFactor-1.5)*this.padding.left,this.svg=C["u"]("#"+this.svgID).attrs({width:this.boxWidth,height:this.boxHeight,transform:"translate("+this.padding.left+","+this.padding.top+")"}),E.$emit("single-histogram",{module:Object.keys(this.$store.modules[this.$store.selectedTargetDataset])[0],groupBy:this.$store.selectedGroupBy,dataset:this.$store.selectedTargetDataset})},setupScale(t){let e=this.$store.modules[this.$store.selectedTargetDataset][t],s=e[this.$store.selectedMetric]["prop_histograms"]["rank"]["target"],i=e[this.$store.selectedMetric]["data"],a=this.dataProcess(s,i);this.xVals=a[0],this.freq=a[1],this.axis_x=a[2],this.binContainsProcID=a[3],this.logScaleBool=!1,this.xScale=C["p"]().domain(this.xVals).range([this.paddingFactor*this.padding.left,this.xAxisHeight]),"Linear"==this.$store.selectedScale?(this.yScale=C["q"]().domain([0,C["k"](this.freq)]).range([this.yAxisHeight,this.padding.top]),this.logScaleBool=!1):"Log"==this.$store.selectedScale&&(this.yScale=C["r"]().domain([1,C["k"](this.freq)]).range([this.yAxisHeight,this.padding.top]),this.logScaleBool=!0)},clear(){C["v"](".single-histogram-bar").remove(),C["u"](".x-axis").remove(),C["u"](".y-axis").remove(),C["v"](".histogram-axis-label").remove(),C["v"](".binRank").remove(),C["v"](".lineRank").remove(),C["v"](".brush").remove(),C["v"](".tick").remove(),this.$refs.ToolTip.clear()},visualize(t){this.clear(),this.setupScale(t),this.bars(),this.xAxis(),this.yAxis(),this.rankLineScale(),this.brushes(),this.$refs.ToolTip.init(this.svgID)},array_unique(t){return t.filter((function(t,e,s){return s.indexOf(t)===e}))},dataProcess(t,e){let s=[],i={},a=t["x_min"],r=t["x_max"];const o=(r-a)/t["x"].length;for(let l=0;l{let s=Math.floor((t-a)/o);s>=this.$store.selectedMPIBinCount&&(s=this.$store.selectedMPIBinCount-1),null==i[s]&&(i[s]=[]),i[s].push(e)}),[t["x"],t["y"],s,i]},removeDuplicates(t){var e={};return t.filter((function(t){return!e.hasOwnProperty(t)&&(e[t]=!0)}))},groupProcess(t){const e=t.slice();let s=0,i="[ ";const a=[];let r=!0;function o(t,i){t+1==e[i]?(t=e[i],i+=1,o(t,i)):l(s,i-1)}function l(t,i){n(t,i),i++,s=i;const a=e[i];ithis.xScale(this.xVals[e]),y:(t,e)=>this.yScale(t),width:this.xScale.bandwidth(),height:t=>Math.abs(this.yAxisHeight-this.yScale(t)),fill:this.$store.runtimeColor.intermediate,opacity:1,"stroke-width":"0.2px",stroke:"#202020"}).style("z-index",1).on("click",(function(e,s){C["u"](this).attr("fill",t.$store.runtimeColor.highlight),C["v"](".lineRank_"+s).style("fill","orange").style("fill-opacity",1);let i=t.groupProcess(t.binContainsProcID[s]).string;i=t.sanitizeGroupProc(i),t.$refs.ToolTip.render(i,e)})).on("mouseover",(function(e,s){C["u"](this).attr("fill",t.$store.runtimeColor.highlight),C["v"](".lineRank_"+s).style("fill","orange").style("fill-opacity",1);let i=t.groupProcess(t.binContainsProcID[s]).string;i=t.sanitizeGroupProc(i),t.$refs.ToolTip.render(i,e)})).on("mouseout",(function(e,s){C["u"](this).attr("fill",t.$store.runtimeColor.intermediate),C["v"](".lineRank_"+s).style("fill","grey").style("fill-opacity",.4),t.$refs.ToolTip.clear()}))},addxAxisLabel(){let t=this.xScale.domain()[1];this.x_max_exponent=N(t);this.superscript[this.x_max_exponent];let e="(e+"+this.x_max_exponent+") "+this.$store.selectedMetric+" Runtime (μs)";this.svg.append("text").attrs({class:"histogram-axis-label",x:this.histogramWidth-this.padding.left,y:this.yAxisHeight+3*this.padding.top}).style("font-size","12px").style("text-anchor","end").text(e)},xAxis(){this.addxAxisLabel();const t=C["b"](this.xScale).ticks(10).tickFormat((t,e)=>{if(e%3==0){let t=W(this.xVals[e],self.x_max_exponent);return""+t[0]}}),e=this.svg.append("g").attrs({class:"x-axis",transform:"translate(0,"+this.yAxisHeight+")"}).call(t);e.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.5),e.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")},yAxis(){const t=C["c"](this.yScale).ticks(10).tickFormat((t,e)=>{if(t%1==0)return t});this.svg.append("text").attrs({transform:"rotate(-90)",class:"histogram-axis-label",x:-this.padding.top,y:this.padding.left}).style("font-size","12px").style("text-anchor","end").text("Number of Processes");const e=this.svg.append("g").attrs({class:"y-axis",transform:"translate("+this.paddingFactor*this.padding.left+", 0)"}).call(t);e.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.2),e.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")},rankLineScale(){let t=this.$store.modules[this.$store.selectedTargetDataset][this.$store.selectedModule][this.$store.selectedMetric].data.length;this.ranklinescale=C["q"]().domain([0,t]).range([this.paddingFactor*this.padding.left,this.xAxisHeight]),this.freq.forEach((e,s)=>{const i=this.binContainsProcID[s];if(i){const e=this.svg.append("g").attr("class","binRank bin_"+s).attr("data-name",s);i.sort((t,e)=>t-e);const a=this.groupProcess(i).array,r=this.xScale.bandwidth(),o=r/t,l=this.xScale(this.xVals[s]);let n=0;a.forEach(t=>{let i=0,a=0;1==t.length?(i=t[0],a=i+1):(i=t[0],a=t[1]+1);let r=n+l+o,h=n+(a-i+1)*o+l,d=this.ranklinescale(i),c=this.ranklinescale(a),u=this.boxHeight-this.histogramOffset,f=this.boxHeight;n+=(a-i+1)*o;const m="M"+r+" "+u+"L "+h+" "+u+"L "+c+" "+f+"L "+d+" "+f;e.append("path").attr("d",m).attr("class","lineRank lineRank_"+s).style("fill",t=>"grey").style("fill-opacity",.4).attr("transform",`translate(0,${-3*this.padding.bottom})`)})}});const e=C["b"](this.ranklinescale).ticks(10).tickFormat((t,e)=>{if(t%1==0)return t}),s=this.svg.append("g").attr("class","histogram-rank-axis").attr("id","rankAxis").attr("transform",`translate(0,${this.boxHeight-3*this.padding.bottom})`).call(e);s.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),s.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.5),s.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")},brushes(){this.brushdata=[],this.brushSVG=this.svg.append("svg"),this.brush=C["d"]().extent([[this.paddingFactor*this.padding.left,this.yAxisHeight],[this.paddingFactor*this.padding.left+this.xAxisHeight-this.paddingFactor*this.padding.left,this.yAxisHeight+this.rankScaleHeight]]).on("brush",this.brushing).on("end",this.brushend);let t=0;this.brushdata.push({id:t,brush:this.brush}),this.brushSVG.selectAll(".brush").data(this.brushdata).enter().insert("g",".brush").attr("class","brush").call(this.brush)},brushing(){const t=C["q"]().domain([this.xScale.domain()[0],this.xScale.domain()[this.xScale.domain().length-1]]).range(this.xScale.range());let e=C["f"].selection.map(t.invert)[0],s=C["f"].selection.map(t.invert)[1],i=this.xScale.domain().length,a=this.xScale.domain()[0],r=this.xScale.domain()[this.xScale.domain().length-1];this.localBrushStart=Math.floor((e-a)/(r-a)*i),this.localBrushEnd=Math.ceil((s-a)/(r-a)*i),this.svg.selectAll(".binRank").attr("opacity",.5);for(let o=this.localBrushStart;o{e.push(t)})}t.$socket.emit("split-mpi-rank",{dataset:t.$store.selectedDataset,ranks:e})}}},Xe=Ye,Ke=Object(x["a"])(Xe,Ge,Le,!1,null,null,null),Ue=Ke.exports,Qe=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-layout",{attrs:{row:"",wrap:"",id:t.id}},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")]),s("v-spacer"),1==t.isCallsiteSelected?s("v-layout",{attrs:{row:"",wrap:""}},[s("v-btn",{staticClass:"ma-1 reveal-button",attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.revealCallsite}},[t._v(" Reveal ")])],1):t._e(),1==t.isModuleSelected?s("v-layout",{attrs:{row:"",wrap:""}},[s("v-btn",{staticClass:"ma-1 reveal-button",class:t.isEntryFunctionSelected,attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.showEntryFunctions}},[t._v(" Entry call sites ")]),s("v-btn",{staticClass:"ma-1 reveal-button",class:t.isCalleeSelected,attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.showExitFunctions}},[t._v(" Callees ")]),s("v-spacer"),"true"==t.showSplitButton?s("v-btn",{staticClass:"ma-1 reveal-button",attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.split}},[t._v(" Split ")]):t._e()],1):t._e(),s("span",{staticClass:"component-info"},[t._v(" "+t._s(t.numberOfcallsites)+" call sites. ")]),t._l(t.callsites,(function(e){return s("v-container",{key:t.getID(e.id),staticClass:"callsite-information-node"},[s("v-layout",{attrs:{row:"",wrap:""}},[s("v-flex",{attrs:{md1:""}},[s("v-card",{staticClass:"mx-auto",attrs:{width:"25px",tile:"",outlined:""}},[s("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(i){var a=i.on;return[s("v-flex",t._g({class:t.selectClassName[e.name],attrs:{"text-xs-center":"",id:e.name},on:{click:t.changeSelectedClassName}},a),[t._v(" "+t._s(t.formatNumberOfHops(e.component_level))+" ")])]}}],null,!0)},[s("span",[t._v(" Callsite depth:"+t._s(t.formatNumberOfHops(e.component_level))+" ")])])],1)],1),s("v-flex",{attrs:{md11:""}},[s("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(i){var a=i.on;return[s("v-flex",t._g({staticClass:"pl-2 subtitle-2 font-weight-black"},a),[t._v(" "+t._s(t.formatName(e.name))+" ")])]}}],null,!0)},[s("span",[t._v(t._s(e.name))])])],1)],1),s("v-layout",{staticClass:"information",attrs:{row:"",wrap:""}},[s("div",{staticClass:"subtitle-2"},[t._v(" Module: "+t._s(t.formatModule(e.module))+" ")])]),s("v-layout",{staticClass:"information",attrs:{row:"",wrap:""}},[s("div",{staticClass:"subtitle-2"},[t._v("Mean : "+t._s(t.mean[e.name]))]),s("v-spacer")],1),s("v-layout",{staticClass:"information",attrs:{row:"",wrap:""}},[s("div",{staticClass:"subtitle-2"},[t._v("Variance : "+t._s(t.variance[e.name]))])]),s("v-layout",{staticClass:"information",attrs:{row:"",wrap:""}},[s("div",{staticClass:"subtitle-2"},[t._v(" Std. deviation : "+t._s(t.stdDeviation[e.name])+" ")])]),s("BoxPlot",{ref:e.id,refInFor:!0,attrs:{callsite:e}})],1)}))],2)},Ze=[],Je=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("svg",{staticClass:"boxplot",attrs:{id:t.id,width:t.containerWidth,height:t.containerHeight}},[s("Box",{ref:"Box"}),s("Markers",{ref:"Markers"}),s("Outliers",{ref:"Outliers"}),s("ToolTip",{ref:"ToolTip"})],1)},ts=[],es=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"box"})},ss=[],is={name:"Box",data:()=>({id:"box",paddingTop:10,textOffset:40,fontSize:10,debug:!1,superscript:"⁰¹²³⁴⁵⁶⁷⁸⁹"}),methods:{init(t,e,s,i){this.debug&&(console.log("Ensemble q: ",e),console.log("Target q: ",s)),this.q=e,this.targetq=s,this.xScale=i,this.svg=C["u"]("#boxplot-"+t.id),this.id="box-"+t.id,this.g=this.svg.select(".box").attrs({transform:"translate(0, "+this.$parent.boxPosition+")"}),this.box(),this.axis(),this.centerLine(),this.$parent.$refs.ToolTip.init("boxplot-"+t.id)},box(){let t=this;this.targetBoxSVG=this.g.append("rect").attr("class","box").attrs({y:0,x:this.xScale(this.targetq.q1),height:this.$parent.rectHeight,fill:this.$store.runtimeColor.intermediate,width:e=>t.targetq.q1==t.targetq.q3?3:t.xScale(t.targetq.q3)-t.xScale(t.targetq.q1),stroke:"#202020","stroke-width":.5}).style("z-index",1).on("mouseover",e=>{t.$parent.$refs.ToolTip.renderQ(t.targetq)}).on("mouseout",e=>{t.$parent.$refs.ToolTip.clear()})},centerLine(){this.centerLineSVG=this.g.insert("line","rect").attrs({class:"centerLine",y1:this.$parent.centerLinePosition,x1:this.xScale(this.targetq.min),y2:this.$parent.centerLinePosition,x2:this.xScale(this.targetq.max),stroke:"black"}).style("stroke-width","1.5").style("z-index",10)},addxAxisLabel(){let t=this.xScale.domain()[1];this.x_max_exponent=N(t);this.superscript[this.x_max_exponent];let e="(e+"+this.x_max_exponent+") Exclusive Runtime (μs)";this.g.append("text").attr("class","boxplot-axis-label").attr("x",this.$parent.boxWidth-20).attr("y",3.8*this.$parent.centerLinePosition).style("font-size","12px").style("text-anchor","end").text(e)},axis(){this.addxAxisLabel();const t=C["b"](this.xScale).ticks(5).tickFormat((t,e)=>{let s=W(t,1);return""+s[0]}),e=this.g.append("g").attrs({class:"boxplot-axis",transform:"translate(0,"+2.5*this.$parent.centerLinePosition+")"}).call(t);e.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("line").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")},clear(){this.g.selectAll(".box").remove(),this.g.selectAll(".centerLine").remove(),this.g.selectAll(".boxplot-axis-label").remove(),this.g.selectAll(".boxplot-axis").remove()}}},as=is,rs=Object(x["a"])(as,es,ss,!1,null,null,null),os=rs.exports,ls=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"marker"})},ns=[],hs={name:"Markers",data:()=>({paddingTop:10,textOffset:40,fontSize:10,topPosition:-.2,bottomPosition:.7}),methods:{init(t,e,s,i,a){this.$store.selectedMarker="target",this.q=e,this.targetq=s,this.xScale=i,this.svg=C["u"]("#boxplot-"+t.id),this.g=this.svg.select(".marker").attrs({transform:"translate(0, "+this.$parent.boxPosition+")"}),this.markery1=this.$parent.centerLinePosition-this.$parent.rectHeight/2,this.markery2=this.$parent.centerLinePosition+this.$parent.rectHeight/2,this.medianMarker(),this.extremeMarkers()},medianMarker(){this.medianMarkery1=this.$parent.centerLinePosition-this.$parent.rectHeight,this.medianMarkery2=this.$parent.centerLinePosition+this.$parent.rectHeight,this.medianLine=this.g.append("line").attrs({class:"median",y1:this.medianMarkery1,x1:this.xScale(this.targetq.q2),y2:this.medianMarkery2,x2:this.xScale(this.targetq.q2),stroke:"black"}).style("stroke-width","2").style("z-index",10)},extremeMarkers(){this.targetData=this.targetq,this.data=this.q,this.minMaxTargetMarker()},minMaxTargetMarker(){this.g.append("line").attrs({class:"whisker",y1:this.markery1,x1:this.xScale(this.targetData.min),y2:this.markery2,x2:this.xScale(this.targetData.min),stroke:this.$store.runtimeColor.intermediate}).style("stroke-width","1.5"),this.g.append("line").attrs({class:"whisker",y1:this.markery1,x1:this.xScale(this.targetData.max),y2:this.markery2,x2:this.xScale(this.targetData.max),stroke:this.$store.runtimeColor.intermediate}).style("stroke-width","1.5")},minText(){let t=this.targetData.min;this.g.append("text").attrs({class:"whiskerText body-1",x:.5*this.fontSize,y:this.$parent.containerHeight*this.topPosition,fill:C["o"](this.$store.runtimeColor.intermediate).darker(1)}).style("stroke-width","1").text("Min: "+q(t))},maxText(){let t=this.targetData.max;this.g.append("text").attrs({class:"whiskerText body-1",x:this.$parent.containerWidth-9*this.fontSize,y:this.$parent.containerHeight*this.topPosition,fill:C["o"](this.$store.runtimeColor.intermediate).darker(1)}).style("stroke-width","1").text("Max:"+q(t))},medianText(){let t=this.targetData.q2;this.g.append("text").attrs({class:"whiskerText body-1",x:this.$parent.containerWidth/2-4.5*this.fontSize,y:this.$parent.containerHeight*this.topPosition,fill:C["o"](this.$store.runtimeColor.intermediate).darker(1)}).style("stroke-width","1").text("Med.:"+q(t))},qTexts(){this.q1Text(),this.q3Text()},q1Text(){this.g.append("text").attrs({class:"whiskerText",x:this.$parent.containerWidth/3,y:this.informationHeight*this.topPosition,fill:C["o"](this.fill).darker(1)}).style("stroke-width","2").text("q1: "+q(this.q.q1))},q3Text(){this.g.append("text").attrs({class:"whiskerText",x:this.$parent.boxWidth/3*2,y:this.informationHeight*this.topPosition,fill:C["o"](this.fill).darker(1)}).style("stroke-width","1").text("q3: "+q(this.q.q3))},formatName(t){if(t.length<20)return t;let e=this.trunc(t,20);return e},clear(){this.g.selectAll(".whiskerText").remove(),this.g.selectAll(".whisker").remove(),this.g.selectAll(".median").remove()}}},ds=hs,cs=Object(x["a"])(ds,ls,ns,!1,null,null,null),us=cs.exports,fs=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"outlier"})},ms=[],ps={name:"Outliers",data:()=>({paddingTop:10,textOffset:40,fontSize:10,outlierRadius:4,informationHeight:70}),created(){this.id="outliers-"+this.callsiteID},methods:{init(t,e,s,i,a,r,o,l,n){this.q=t,this.targetq=e,this.ensembleWhiskerIndices=s,this.targetWhiskerIndices=i,this.d=a,this.targetd=r,this.xScale=o,this.callsite=l,this.svg=C["u"]("#boxplot-"+l.id),this.g=this.svg.select(".outlier").attrs({transform:"translate(0, "+this.paddingTop+")"}),this.height=this.$parent.containerHeight,this.width=this.$parent.containerWidth,this.boxHeight=this.height-this.paddingTop-this.informationHeight,this.boxWidth=this.width,this.targetOutliers(),this.$parent.$refs.ToolTip.init("boxplot-"+l.id)},groupByBand(t,e){let s,i,a,r,o=[],l=0,n=0,h=0;for(let d=0;de&&(o.push({values:s,x:i,count:n,ranks:r,datasets:a}),n>h&&(h=n),s=[],i=[],a=[],r=[],s.push(c.value),i.push(c.x),a.push(c.dataset),r.push(c.rank),n=1,l=c.x),d==t.length-1&&(u>e?o.push({values:s,x:i,datasets:a,ranks:r,count:n}):u>e&&(s=[],i=[],a=[],r=[],s.push(c.value),i.push(c.x),r.push(c.rank),a.push(c.dataset),n=1,o.push({values:s,x:i,datasets:a,ranks:r,count:n})))}return{circles:o,max_count:h}},groupOutliers(t,e,s){const i=e**2,a=t.map(t=>{let e=this.xScale(t.value);return{x:e,value:t.value,rank:t.rank,dataset:t.dataset}}).sort((t,e)=>t.x-e.x),r=.001;let o=null,l=null;function n(t,e){let s=o;while(s){if(i-r>(s.x-t)**2+(s.y-e)**2)return!0;s=s.next}return!1}for(const c of a){while(o&&o.x0==this.max_count?0:t.count/this.max_count+4,cx:t=>t.x[0],cy:t=>this.boxHeight/2-this.informationHeight/4,class:"target-outlier"}).style("opacity",1).style("fill",this.$store.runtimeColor.intermediate).on("click",e=>{t.$parent.$parent.selectedOutlierRanks=e["ranks"].sort((t,e)=>t-e),t.$parent.$parent.selectedOutlierDatasets=e["datasets"].filter((t,e,s)=>s.indexOf(t)===e)}).on("mouseover",e=>{t.$parent.$refs.ToolTip.renderOutliers(e)}).on("mouseout",e=>{t.$parent.$refs.ToolTip.clear()})}else this.target_outliers=[]},clear(){this.g.selectAll(".ensemble-outlier").remove(),this.g.selectAll(".target-outlier").remove()}}},gs=ps,xs=Object(x["a"])(gs,fs,ms,!1,null,null,null),bs=xs.exports,ys=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:"tooltip-auxiliary-function"}})},vs=[],$s={name:"ToolTip",components:{},data:()=>({textCount:0,textxOffset:20,textyOffset:20,textPadding:18,offset:10,fontSize:12}),methods:{init(t){this.id=t,this.toolTipDiv=C["u"]("#"+t),this.height=80,this.halfWidth=document.getElementById(this.id).clientWidth/2,this.halfHeight=document.getElementById(this.id).clientHeight/2},addText(t){this.toolTipText=this.toolTipDiv.append("text").style("font-family","sans-serif").style("font-size","").attrs({class:"toolTipContent",x:()=>this.mousePosX>this.halfWidth?this.mousePosX-this.halfWidth+this.textxOffset+"px":this.mousePosX+this.textxOffset+"px",y:()=>this.mousePosY>this.halfHeight?this.mousePosY+this.textyOffset+this.textPadding*this.textCount-this.halfHeight+"px":this.mousePosY+this.textyOffset+this.textPadding*this.textCount+"px"}).text(t),this.textCount+=1},quartiles(){this.addText("Q1: "+G(this.data.q1)),this.addText("Q3: "+G(this.data.q3))},outliers(){this.addText(this.data.count+" outliers")},drawRect(t,e){this.clear(),this.width=t*this.fontSize;C["q"]().domain([2,11]).range([50,150]);this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipRect=this.toolTipDiv.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:this.width,height:e*this.fontSize,x:()=>this.mousePosX>this.halfWidth?this.mousePosX-this.halfWidth+"px":this.mousePosX+"px",y:()=>this.mousePosY>this.halfHeight?this.mousePosY-this.halfHeight+"px":this.mousePosY+"px"})},renderQ(t){this.data=t,this.drawRect(13,4),this.quartiles()},renderOutliers(t){this.data=t,this.drawRect(10,4),this.outliers()},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},Cs=$s,Ms=Object(x["a"])(Cs,ys,vs,!1,null,null,null),_s=Ms.exports,Ts={name:"BoxPlot",props:["callsite","width","height","showTarget"],data:()=>({id:"",boxContainerID:"",markerContainerID:"",outlierContainerID:"",padding:{top:10,bottom:10,left:10,right:10},targetBoxWidth:0,targetBoxHeight:0,targetBoxFill:"",targetBoxX:0,targetBoxY:0,containerHeight:150,containerWidth:0,parentID:"",informationHeight:80,outlierHeight:20,rectHeight:0,centerLinePosition:0,boxHeight:0,boxWidth:0}),components:{Box:os,Outliers:bs,Markers:us,ToolTip:_s},mounted(){this.init();let t=this;E.$on("single-refresh-boxplot",e=>{t.clear(),t.init()})},created(){this.id="boxplot-"+this.callsite.id},methods:{init(){this.containerHeight=150,this.containerWidth=this.$parent.boxplotWidth-2*this.padding.right-1*this.padding.left,this.boxHeight=this.containerHeight-this.informationHeight,this.boxWidth=this.containerWidth,this.boxPosition=this.informationHeight/2+this.outlierHeight/2,this.centerLinePosition=(this.boxHeight-this.informationHeight/4)/2,this.rectHeight=this.boxHeight-this.informationHeight/4-this.outlierHeight/4,this.process(this.callsite),this.svg=C["u"]("#boxplot-"+this.callsite.id).attrs({class:"boxplot",width:this.containerWidth,height:this.containerHeight}),this.xScale=C["q"]().domain([this.targetq.min,this.targetq.max]).range([.05*this.containerWidth,this.containerWidth-.05*this.containerWidth]),this.visualize(this.callsite)},visualize(t){this.$refs.Box.init(t,this.q,this.targetq,this.xScale,this.showTarget),this.$refs.Markers.init(t,this.q,this.targetq,this.xScale,this.showTarget),this.$refs.Outliers.init(this.q,this.targetq,this.ensembleWhiskerIndices,this.targetWhiskerIndices,this.d,this.targetd,this.xScale,this.callsite,this.showTarget)},clear(){this.$refs.Box.clear(),this.$refs.Markers.clear(),this.$refs.Outliers.clear()},process(t){void 0!=this.$store.callsites[this.$store.selectedTargetDataset][t.name]?this.target_data=this.$store.callsites[this.$store.selectedTargetDataset][t.name][this.$store.selectedMetric]["q"]:this.target_data=[0,0,0,0,0],this.targetq=this.qFormat(this.target_data)},qFormat(t){let e={min:t[0],q1:t[1],q2:t[2],q3:t[3],max:t[4]};return e}}},ks=Ts,ws=Object(x["a"])(ks,Je,ts,!1,null,null,null),Ss=ws.exports,Ds={name:"CallsiteInformation",components:{BoxPlot:Ss},data:()=>({id:"callsite-information-overview",message:"Call site Information",callsites:[],numberOfcallsites:0,firstRender:!0,padding:{top:0,right:10,bottom:0,left:10},textOffset:25,boxplotHeight:340,boxplotWidth:0,duration:300,iqrFactor:.15,outlierRadius:4,outlierList:{},callsiteIDMap:{},settings:[{title:"Sort by Inclusive runtime"},{title:"Sort by Exclusive Runtime"}],selectedModule:"",selectedCallsite:"",informationHeight:0,revealCallsites:[],selectedMetric:"",targetMeans:{},targetVariance:{},targetStandardDeviation:{},intersectionCallsites:{},isModuleSelected:!1,isCallsiteSelected:!1,isEntryFunctionSelected:"unselect-callsite",isCalleeSelected:"unselect-callsite",showSplitButton:"false",selectClassName:{},selectedOutlierRanks:{},selectedOutlierDatasets:{},mean:{},variance:{},stdDeviation:{}}),mounted(){let t=this;E.$on("single-select-module",e=>{this.isModuleSelected=!0,t.selectModule(e["module"])}),E.$on("callsite-information-sort",e=>{let s=t.$store.selectedRuntimeSortBy;t.callsites=t.sortByAttribute(t.callsites,s)})},methods:{init(){if(this.firstRender){this.width=document.getElementById(this.id).clientWidth;let t="Ensemble"==this.$store.selectedMode?.66:1;this.height=t*this.$store.viewHeight,this.boxplotWidth=this.width-this.padding.left-this.padding.right,document.getElementById(this.id).style.maxHeight=this.height+"px",this.informationHeight=50,this.firstRender=!1}this.visualize()},visualize(){this.setStates(),this.borderColorByMetric(),this.boxplotByMetric()},getID(t){return"callsite-information-"+t},setStates(){this.selectedModule=this.$store.selectedModule,this.selectedMode=this.$store.selectedMode,this.selectedCallsite=this.$store.selectedCallsite,this.selectedMetric=this.$store.selectedMetric,this.targetColor=this.$store.runtimeColor.textColor,this.callsites=this.$store.callsites[this.$store.selectedTargetDataset],this.numberOfcallsites=Object.keys(this.callsites).length,this.callsites=this.sortByAttribute(this.callsites,this.$store.selectedMetric)},borderColorByMetric(){for(let t in this.callsites){let e=this.callsites[t],s="#callsite-information-node-"+e.id;C["u"](s).style("stroke",this.$store.runtimeColor.getColorByValue(e[this.$store.selectedMetric]["mean_time"]))}},boxplotByMetric(){for(let t in this.callsites){let e=this.callsites[t][this.selectedMetric];this.mean[t]=q(e["mean_time"]),this.variance[t]=q(e["variance"]),this.stdDeviation[t]=q(e["std_deviation"]),this.selectClassName[t]="unselect-callsite"}},sortByAttribute(t,e){let s=Object.keys(t).map((function(e){return[e,t[e]]}));return"Exclusive"==e||"Inclusive"==e?s=s.sort((function(t,s){return s[1][e]["mean_time"]-t[1][e]["mean_time"]})):"Standard Deviation"==e&&s.sort((function(t,e){return e[1][self.$store.selectedMetric]["std_deviation"]-t[1][self.$store.selectedMetric]["std_deviation"]})),t=s.reduce((function(t,e){return t[e[0]]=e[1],t}),{}),t},changeSelectedClassName(){event.stopPropagation();let t=event.currentTarget.id;"select-callsite"==this.selectClassName[t]?(this.revealCallsites.splice(this.revealCallsites.indexOf(t),1),event.target.className="flex text-xs-center unselect-callsite",this.selectClassName[t]="unselect-callsite"):(this.selectClassName[t]="select-callsite",event.target.className="flex text-xs-center select-callsite",this.revealCallsites.push(t)),0==this.revealCallsites.length?this.switchIsSelectedCallsite(!1):this.switchIsSelectedCallsite(!0)},switchIsSelectedCallsite(t){this.isCallsiteSelected=t},switchIsSelectedModule(t){this.isModuleSelected=t},selectedClassName(t){return this.selectClassName[t]},formatModule(t){return t.length<10?t:z(t,10)},formatName(t){if(t.length<25)return t;let e=z(t,25);return e},formatNumberOfHops(t){return void 0==t||void 0==t[0]?"-":t[0]-1},formatRuntime(t){let e=C["g"](".2"),s=e(t)+" μs";return s},clear(){for(let t in this.callsites)E.$emit("hide-mpi-boxplot",this.callsites[t])},dataset(t){return this.labels[t]},revealCallsite(t){t.stopPropagation(),this.$socket.emit("reveal_callsite",{mode:this.$store.selectedMode,reveal_callsites:this.revealCallsites,dataset:this.$store.selectedTargetDataset}),E.$emit("reveal-callsite")},showEntryFunctions(t){t.stopPropagation(),"unselect-callsite"==this.isEntryFunctionSelected?(this.isEntryFunctionSelected="select-callsite",this.isCalleeSelected="unselect-callsite"):this.isEntryFunctionSelected="unselect-callsite",this.showSplitButton="true"},showExitFunctions(t){t.stopPropagation(),"unselect-callsite"==this.isCalleeSelected?(this.isCalleeSelected="select-callsite",this.isEntryFunctionSelected="unselect-callsite"):this.isCalleeSelected="unselect-callsite",this.showSplitButton="true"},selectModule(t){let e=this.$store.moduleCallsiteMap[this.$store.selectedTargetDataset][t];this.numberOfCallsites=Object.keys(e).length;for(let s in this.callsites)C["u"]("#callsite-information-"+s.id).style("display","none");this.callsites={},e.forEach(t=>{this.callsites[t]=this.$store.callsites[this.$store.selectedTargetDataset][t],C["u"]("#callsite-information-"+this.callsites[t].id).style("display","block")})},selectCallsitesByModule(t){this.selectedModule=t,this.selectedCallsite="";let e=Object.keys(this.$store.callsites[this.$store.selectedTargetDataset]),s=this.$store.callsites["ensemble"];for(let a in e)s.hasOwnProperty(a)&&(document.getElementById(s[a].id).style.opacity=.2,document.getElementById(s[a].id).style.borderStyle="solid");let i=this.$store.moduleCallsiteMap[t];for(let a in i)s.hasOwnProperty(a)&&(document.getElementById(s[a].id).style.opacity=1,document.getElementById(s[a].id).style.borderStyle="dotted")},getSelectedOutlierRanks(t){return this.selectedOutlierRanks[t]},split(){"select-callsite"==this.isEntryFunctionSelected?(this.$socket.emit("split_by_entry_callsites",{selectedModule:this.$store.selectedModule,dataset:this.$store.selectedTargetDataset}),E.$emit("split-by-entry-callsites")):"select-callsite"==this.isCalleeSelected&&(this.$socket.emit("split_by_callees",{selectedModule:this.$store.selectedModule,dataset:this.$store.selectedTargetDataset}),E.$emit("split-by-callees"))}}},Ps=Ds,Es=(s("a700"),Object(x["a"])(Ps,Qe,Ze,!1,null,null,null)),Is=Es.exports,Bs=(s("8055"),{name:"SingleCallFlow",components:{Splitpanes:D.a,SuperGraph:ve,CCT:ke,SingleScatterplot:Fe,SingleHistogram:Ue,CallsiteInformation:Is},watch:{showTarget:function(t){E.$emit("show-target-auxiliary")}},data:()=>({appName:"CallFlow",left:!1,formats:["CCT","SuperGraph"],selectedFormat:"SuperGraph",datasets:[],selectedTargetDataset:"",selectedDataset2:"",groupBy:["Name","Module","File"],selectedGroupBy:"Module",filterBy:["Inclusive","Exclusive"],filterRange:[0,100],selectedFilterBy:"Inclusive",selectedIncTime:0,filterPercRange:[0,100],selectedFilterPerc:5,metrics:["Exclusive","Inclusive"],selectedMetric:"Inclusive",runtimeColorMap:[],distributionColorMap:[],selectedRuntimeColorMap:"OrRd",colorPoints:[3,4,5,6,7,8,9],selectedColorPoint:9,selectedColorMin:null,selectedColorMax:null,selectedColorMinText:"",selectedColorMaxText:"",groupModes:["include callbacks","exclude callbacks"],selectedGroupMode:"include callbacks",scatterMode:["mean","all"],selectedScatterMode:"all",selectedFunctionsInCCT:70,isCallgraphInitialized:!1,isCCTInitialized:!1,datas:["Dataframe","Graph"],selectedData:"Dataframe",firstRender:!0,ranks:[],initLoad:!0,comparisonMode:!1,selectedCompareDataset:null,selectedOutlierBand:4,defaultCallSite:"",modes:["Ensemble","Single"],selectedMode:"Single",exhibitModes:["Presentation","Default"],selectedExhibitMode:"Default",selectedMPIBinCount:20,selectedRuntimeSortBy:"Inclusive",sortByModes:["Inclusive","Exclusive","Standard Deviation"],scales:["Log","Linear"],selectedScale:"Linear",props:["name","rank","dataset","all_ranks"],selectedProp:"rank",metricTimeMap:{},selectedRunBinCount:20}),mounted(){this.fetchData(),E.$on("lasso_selection",()=>{this.$store.resetTargetDataset=!0,this.clearLocal(),this.setTargetDataset(),this.fetchData()}),E.$on("show_target_auxiliary",()=>{this.clearLocal(),this.init()})},methods:{async fetchData(){void 0===this.$store.selectedDatasets&&this.$router.push("/"),this.$store.auxiliarySortBy=this.auxiliarySortBy,this.$store.selectedMPIBinCount=this.selectedMPIBinCount,this.$store.selectedRunBinCount=this.selectedRunBinCount;const t=await m.POSTRequest("supergraph_data",{datasets:this.$store.selectedDatasets,sortBy:this.$store.auxiliarySortBy,MPIBinCount:this.$store.selectedMPIBinCount,RunBinCount:this.$store.selectedRunBinCount,re_process:1});console.debug("[/supergraph_data]",t),this.dataReady=!0,this.setupStore(t),this.init()},setupStore(t){this.$store.modules=t["module"],this.$store.callsites=t["callsite"],this.$store.gradients=t["gradients"],this.$store.moduleCallsiteMap=t["moduleCallsiteMap"],this.$store.callsiteModuleMap=t["callsiteModuleMap"],this.datasets=this.$store.selectedDatasets,this.numOfRuns>=2?(this.modes=["Single","Ensemble"],this.selectedMode="Ensemble"):1==this.numOfRuns&&(this.enableDist=!1,this.modes=["Single"],this.selectedMode="Single"),this.$store.moduleCallsiteMap=t["module_callsite_map"],this.$store.callsiteModuleMap=t["callsite_module_map"],this.$store.selectedMPIBinCount=this.selectedMPIBinCount,this.$store.selectedRunBinCount=this.selectedRunBinCount},init(){console.assert(this.selectedMode,"Single"),console.log("Mode : ",this.selectedMode),console.log("Number of runs :",this.$store.numOfRuns),console.log("Dataset : ",this.selectedTargetDataset),console.log("Format = ",this.selectedFormat),this.setGlobalVariables(),this.setTargetDataset(),this.setupColors(),this.setViewDimensions(),this.setComponentMap(),"SuperGraph"==this.selectedFormat?(this.setSelectedModule(),this.initComponents(this.currentSingleSuperGraphComponents)):"CCT"==this.selectedFormat&&this.initComponents(this.currentSingleCCTComponents),E.$emit("single-refresh-boxplot",{})},setGlobalVariables(){this.$store.selectedScatterMode="mean",this.$store.nodeInfo={},this.$store.selectedMode=this.selectedMode,this.$store.selectedFunctionsInCCT=this.selectedFunctionsInCCT,this.$store.selectedHierarchyMode=this.selectedHierarchyMode,"Single"==this.$store.selectedMode&&(this.$store.selectedProp="rank"),this.$store.selectedScale=this.selectedScale,this.$store.selectedCompareMode=this.selectedCompareMode,this.$store.selectedIQRFactor=this.selectedIQRFactor,this.$store.selectedRuntimeSortBy=this.selectedRuntimeSortBy,this.$store.selectedNumOfClusters=this.selectedNumOfClusters,this.$store.selectedEdgeAlignment="Top",this.$store.datasetMap={};for(let t=0;t{let i=0,a=0;return"Inclusive"==e?(i=this.$store.maxIncTime[t],a=this.$store.maxIncTime[s],this.metricTimeMap=this.$store.maxIncTime):"Exclusive"==e&&(i=this.$store.maxExcTime[t],a=this.$store.maxExcTime[s],this.metricTimeMap=this.$store.maxExcTime),parseFloat(i)-parseFloat(a)});return s},sortModulesByMetric(t){let e=Object.keys(this.$store.modules[this.selectedTargetDataset]),s={};for(let a of e)s[a]=this.$store.modules[this.selectedTargetDataset][a][this.$store.selectedMetric]["mean_time"];let i=Object.keys(s).map((function(t){return[t,s[t]]}));return i.sort((function(t,e){return e[1]-t[1]})),i},updateColors(){this.clearLocal(),this.setupColors(),this.init()},async updateFormat(){this.clearLocal(),this.init()},updateTargetDataset(){this.clear(),this.$store.selectedTargetDataset=this.selectedTargetDataset,console.debug("[Update] Target Dataset: ",this.selectedTargetDataset),C["v"](".tick").remove(),this.init()},updateMode(){this.clear(),this.init()},updateMetric(){this.$store.selectedMetric=this.selectedMetric,this.clear(),this.init()},updateScale(){this.$store.selectedScale=this.selectedScale,this.clear(),this.init()},updateIQRFactor(){this.$store.selectedIQRFactor=this.selectedIQRFactor,this.clearLocal(),this.init()},updateRuntimeSortBy(){this.$store.selectedRuntimeSortBy=this.selectedRuntimeSortBy,E.$emit("callsite-information-sort")},updateMPIBinCount(){this.$store.selectedMPIBinCount=this.selectedMPIBinCount,this.$store.reprocess=1,this.requestEnsembleData(),this.clearLocal(),this.init()}}}),As=Bs,Os=Object(x["a"])(As,v,$,!1,null,null,null),Hs=Os.exports,Rs=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-app",{attrs:{id:"inspire"}},[s("v-toolbar",{attrs:{id:"toolbar",color:"teal",dark:"",fixed:"",app:"","clipped-right":""}},[s("v-toolbar-side-icon",{on:{click:function(e){e.stopPropagation(),t.left=!t.left}}},[s("v-icon",[t._v("settings")])],1),s("v-toolbar-title",{staticStyle:{"margin-right":"3em"}},[t._v(t._s(t.appName))]),s("v-flex",{staticClass:"ma-2",attrs:{xs3:""}},[s("v-select",{attrs:{label:"Select Target run (Sorted by inclusive runtime)",items:t.datasets,"menu-props":{maxHeight:"400"},box:""},on:{change:function(e){return t.updateTargetDataset()}},scopedSlots:t._u([{key:"selection",fn:function(e){var s=e.item;return[t._v(" "+t._s(t.datasets.indexOf(s)+1)+". "+t._s(s)+" - "+t._s(t.formatRuntimeWithoutUnits(t.metricTimeMap[s]))+" ")]}},{key:"item",fn:function(e){var s=e.item;return[t._v(" "+t._s(t.datasets.indexOf(s)+1)+". "+t._s(s)+" - "+t._s(t.formatRuntimeWithoutUnits(t.metricTimeMap[s]))+" ")]}}]),model:{value:t.selectedTargetDataset,callback:function(e){t.selectedTargetDataset=e},expression:"selectedTargetDataset"}})],1),s("v-flex",{staticClass:"ma-2",attrs:{xs3:""}},["SuperGraph"==t.selectedFormat?s("v-select",{attrs:{label:"Select Compare run",items:t.datasets,"menu-props":{maxHeight:"400"},box:""},on:{change:function(e){return t.updateCompareDataset()}},scopedSlots:t._u([{key:"selection",fn:function(e){var s=e.item;return[t._v(" "+t._s(t.datasets.indexOf(s)+1)+". "+t._s(s)+" - "+t._s(t.formatRuntimeWithoutUnits(t.metricTimeMap[s]))+" ")]}},{key:"item",fn:function(e){var s=e.item;return[t._v(" "+t._s(t.datasets.indexOf(s)+1)+". "+t._s(s)+" - "+t._s(t.formatRuntimeWithoutUnits(t.metricTimeMap[s]))+" ")]}}],null,!1,2364397756),model:{value:t.selectedCompareDataset,callback:function(e){t.selectedCompareDataset=e},expression:"selectedCompareDataset"}}):t._e()],1),s("v-spacer"),s("v-flex",{staticClass:"ma-1",attrs:{xs2:""}},[s("v-select",{attrs:{label:"Graph to visualize",items:t.formats,"menu-props":{maxHeight:"400"},box:""},on:{change:function(e){return t.updateFormat()}},model:{value:t.selectedFormat,callback:function(e){t.selectedFormat=e},expression:"selectedFormat"}})],1)],1),s("v-navigation-drawer",{attrs:{temporary:"",fixed:""},model:{value:t.left,callback:function(e){t.left=e},expression:"left"}},[s("v-btn",{attrs:{slot:"activator",color:"primary",dark:""},slot:"activator"},[t._v("Open Dialog")]),s("v-card",{attrs:{flex:"","fill-height":"",id:"control-panel"}},[s("v-layout",{attrs:{row:"",wrap:""}},[s("v-btn",{attrs:{icon:""}},[s("v-icon",{on:{click:function(e){return t.reset()}}},[t._v("refresh")])],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",{staticClass:"teal lighten-4"},[t._v("Visual Encoding")])],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",[t._v(" "+t._s(t.targetInfo)+" "),s("v-spacer"),s("v-spacer"),s("v-switch",{attrs:{color:"#009687"},on:{change:function(e){return t.updateTargetColor()}},model:{value:t.showTarget,callback:function(e){t.showTarget=e},expression:"showTarget"}})],1)],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Metric",items:t.metrics,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateMetric()}},model:{value:t.selectedMetric,callback:function(e){t.selectedMetric=e},expression:"selectedMetric"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Number of bins for Run Distribution",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateRunBinCount()}},model:{value:t.selectedRunBinCount,callback:function(e){t.selectedRunBinCount=e},expression:"selectedRunBinCount"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Number of bins for MPI Distribution",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateMPIBinCount()}},model:{value:t.selectedMPIBinCount,callback:function(e){t.selectedMPIBinCount=e},expression:"selectedMPIBinCount"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Scale",items:t.scales,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateScale()}},model:{value:t.selectedScale,callback:function(e){t.selectedScale=e},expression:"selectedScale"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Bin by attribute",items:t.props,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateProp()}},model:{value:t.selectedProp,callback:function(e){t.selectedProp=e},expression:"selectedProp"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",{staticClass:"teal lighten-4"},[t._v("Colors")])],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Runtime Color Map",items:t.runtimeColorMap,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedRuntimeColorMap,callback:function(e){t.selectedRuntimeColorMap=e},expression:"selectedRuntimeColorMap"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Distribution Color Map",items:t.distributionColorMap,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedDistributionColorMap,callback:function(e){t.selectedDistributionColorMap=e},expression:"selectedDistributionColorMap"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Target Color",items:t.targetColors,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateTargetColor()}},model:{value:t.selectedTargetColor,callback:function(e){t.selectedTargetColor=e},expression:"selectedTargetColor"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Color points (3-9)",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedColorPoint,callback:function(e){t.selectedColorPoint=e},expression:"selectedColorPoint"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Color minimum (in seconds)",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedColorMinText,callback:function(e){t.selectedColorMinText=e},expression:"selectedColorMinText"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"Color maximum (in seconds)",type:"number","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateColors()}},model:{value:t.selectedColorMaxText,callback:function(e){t.selectedColorMaxText=e},expression:"selectedColorMaxText"}})],1),s("v-flex",{staticClass:"ma-1",attrs:{xs12:""}},[s("v-subheader",{staticClass:"teal lighten-4"},[t._v("Call site Correspondence")])],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-select",{attrs:{label:"Sort by",items:t.sortByModes,"menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateRuntimeSortBy()}},model:{value:t.selectedRuntimeSortBy,callback:function(e){t.selectedRuntimeSortBy=e},expression:"selectedRuntimeSortBy"}})],1),s("v-flex",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}],staticClass:"ma-1",attrs:{xs12:""}},[s("v-text-field",{staticClass:"mt-0",attrs:{label:"IQR Factor",type:"float","menu-props":{maxHeight:"200"},"persistent-hint":""},on:{change:function(e){return t.updateIQRFactor()}},model:{value:t.selectedIQRFactor,callback:function(e){t.selectedIQRFactor=e},expression:"selectedIQRFactor"}})],1)],1)],1)],1),"Ensemble"==t.selectedMode?s("v-content",{staticClass:"pt-auto"},[s("v-layout",{directives:[{name:"show",rawName:"v-show",value:"SuperGraph"==t.selectedFormat,expression:"selectedFormat == 'SuperGraph'"}]},[s("splitpanes",{staticClass:"default-theme",attrs:{id:"callgraph-dashboard"}},[s("splitpanes",{attrs:{horizontal:"","splitpanes-size":25}},[s("ModuleHierarchy",{ref:"ModuleHierarchy"}),s("EnsembleScatterplot",{ref:"EnsembleScatterplot"}),s("EnsembleHistogram",{ref:"EnsembleHistogram"})],1),s("splitpanes",{attrs:{horizontal:"","splitpanes-size":55}},[s("SuperGraph",{ref:"SuperGraph"})],1),s("splitpanes",{attrs:{horizontal:"","splitpanes-size":20}},[s("CallsiteCorrespondence",{ref:"CallsiteCorrespondence"}),s("ParameterProjection",{ref:"ParameterProjection"})],1)],1)],1),s("v-layout",{directives:[{name:"show",rawName:"v-show",value:"CCT"==t.selectedFormat,expression:"selectedFormat == 'CCT'"}]},[s("splitpanes",{attrs:{id:" ensemble-cct-dashboard"}},[s("splitpanes",{attrs:{horizontal:"","splitpanes-size":100}},[s("CCT",{ref:"CCT"})],1)],1)],1),s("v-layout",{directives:[{name:"show",rawName:"v-show",value:"CCT"==t.selectedFormat&&"Compare"==t.selectedMode,expression:"selectedFormat == 'CCT' && selectedMode == 'Compare'"}]},[s("splitpanes",{attrs:{id:"compare-cct-dashboard"}},[s("splitpanes",{attrs:{horizontal:"","splitpanes-size":50}},[s("CCT",{ref:"CCT1"})],1),s("splitpanes",{attrs:{horizontal:"","splitpanes-size":50}},[s("CCT",{ref:"CCT2"})],1)],1)],1)],1):t._e(),s("v-footer",{attrs:{id:"footer",color:"teal",app:""}},[t._v(" Lawrence Livermore National Laboratory, and University of California, Davis "),s("v-spacer"),s("span",[t._v("©2020")])],1)],1)},Fs=[],Gs=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-layout",{attrs:{row:"",wrap:"",id:t.id}},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")]),s("v-spacer"),s("span",{staticClass:"component-info"},[s("p")]),1==t.isCallsiteSelected?s("v-layout",{attrs:{row:"",wrap:""}},[s("v-btn",{staticClass:"ma-1 reveal-button",attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.clickCallsite}},[t._v(" Reveal ")])],1):t._e(),1==t.isModuleSelected?s("v-layout",{attrs:{row:"",wrap:""}},[s("v-btn",{staticClass:"ma-1 reveal-button",class:t.isEntryFunctionSelected,attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.showEntryFunctions}},[t._v(" Entry call sites ")]),s("v-btn",{staticClass:"ma-1 reveal-button",class:t.isCalleeSelected,attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.showExitFunctions}},[t._v(" Callees ")]),s("v-spacer"),"true"==t.showSplitButton?s("v-btn",{staticClass:"ma-1 reveal-button",attrs:{small:"",tile:"",outlined:"",color:"white"},on:{click:t.split}},[t._v(" Split ")]):t._e()],1):t._e(),s("v-layout",{staticClass:"component-data",attrs:{row:"",wrap:""}},[s("p",{staticClass:"subtitle-2"},[t._v(" Unmatched "+t._s(t.numberOfDifferenceCallsites)+" callsites. ")])]),t._l(t.differenceCallsites,(function(e){return s("v-container",{key:t.getID(e.id),staticClass:"callsite-information-node"},[s("v-layout",{attrs:{row:"",wrap:""}},[s("v-flex",{attrs:{md1:""}},[s("v-card",{staticClass:"mx-auto",attrs:{width:"25px",tile:"",outlined:""}},[s("v-tooltip",{attrs:{bottom:""}},[[s("v-flex",{class:t.selectClassName[e.name],attrs:{id:e.name,"text-xs-center":""},on:{click:t.changeSelectedClassName}},[t._v(" "+t._s(t.formatNumberOfHops(e.component_level))+" ")])],s("span",[t._v("Component level: "+t._s(t.formatNumberOfHops(e.component_level)))])],2)],1)],1),s("v-flex",{attrs:{md11:""}},[s("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(i){var a=i.on;return[s("v-flex",t._g({staticClass:"pl-2 subtitle-2 font-weight-black"},a),[t._v(" "+t._s(t.formatName(e.name))+" ")])]}}],null,!0)},[s("span",[t._v(t._s(e.name))])])],1)],1),s("v-layout",{attrs:{row:"",wrap:""}},[s("v-spacer"),"Ensemble"==t.selectedMode?s("div",{staticClass:"subtitle-2",style:"color: "+t.targetColor},[t._v(" Std. Dev. : "+t._s(t.targetStandardDeviation[e.name])+" "+t._s(t.selectedMode)+" ")]):t._e()],1),s("BoxPlot",{ref:e.id,refInFor:!0,attrs:{callsite:e,showTarget:"false"}}),s("v-layout",{attrs:{row:"",wrap:""}},[s("div",{staticClass:"subtitle-2",style:"color: "+t.ensembleColor},[t._v(" Mean : "+t._s(t.ensembleMeans[e.name])+" ")]),s("v-spacer"),s("div",{staticClass:"subtitle-2",style:"color: "+t.ensembleColor},[t._v(" Std. Dev. : "+t._s(t.ensembleStandardDeviation[e.name])+" ")])],1)],1)})),s("v-layout",{staticClass:"component-data",attrs:{row:"",wrap:""}},[s("p",{staticClass:"subtitle-2"},[t._v(" Matched "+t._s(t.numberOfIntersectionCallsites)+" callsites. ")])]),t._l(t.intersectionCallsites,(function(e){return s("v-container",{key:t.getID(e.id),staticClass:"callsite-information-node"},[s("v-layout",{staticStyle:{"align-items":"center"},attrs:{row:"",wrap:""}},[s("v-flex",{attrs:{md1:""}},[s("v-card",{staticClass:"mx-auto",attrs:{width:"25px",tile:"",outlined:""}},[s("v-flex",{class:t.selectClassName[e.name],attrs:{id:e.name,"text-xs-center":""},on:{click:t.changeSelectedClassName}},[t._v(" "+t._s(t.formatNumberOfHops(e.component_level))+" ")])],1)],1),s("v-flex",{attrs:{md11:""}},[s("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(i){var a=i.on;return[s("v-flex",t._g({staticClass:"pl-2 subtitle-2 font-weight-black"},a),[t._v(" "+t._s(t.formatName(e.name))+" ")])]}}],null,!0)},[s("span",[t._v(t._s(e.name))])])],1)],1),s("v-layout",{attrs:{row:"",wrap:""}},[s("div",{staticClass:"body-2",style:"color: "+t.targetColor},[t._v(" Mean : "+t._s(t.targetMeans[e.name])+" ")]),s("v-spacer"),s("div",{staticClass:"body-2",style:"color: "+t.targetColor},[t._v(" Std. Dev. : "+t._s(t.targetStandardDeviation[e.name])+" ")])],1),s("BoxPlot",{ref:e.id,refInFor:!0,attrs:{callsite:e,showTarget:"false"}}),s("v-layout",{attrs:{row:"",wrap:""}},[s("div",{staticClass:"body-2",style:"color: "+t.ensembleColor},[t._v(" Mean : "+t._s(t.ensembleMeans[e.name])+" ")]),s("v-spacer"),s("div",{staticClass:"body-2",style:"color: "+t.ensembleColor},[t._v(" Std. Dev. : "+t._s(t.ensembleStandardDeviation[e.name])+" ")])],1),s("v-layout",{attrs:{row:"",wrap:""}},[s("v-flex",{staticClass:"body-2",attrs:{md12:""}},[t._v("Ranks : "+t._s(t.selectedOutlierRanks)+" ")]),s("v-spacer"),s("v-flex",{staticClass:"body-2",attrs:{md12:""}},[t._v("Datasets : "+t._s(t.selectedOutlierDatasets))])],1)],1)}))],2)},Ls=[],qs=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("svg",{staticClass:"boxplot",attrs:{id:t.id,width:t.containerWidth,height:t.containerHeight}},[s("Box",{ref:"Box"}),s("Markers",{ref:"Markers"}),s("Outliers",{ref:"Outliers"}),s("ToolTip",{ref:"ToolTip"})],1)},Ws=[],Ns=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"box"})},zs=[],Vs={name:"Box",data:()=>({id:"box",paddingTop:10,textOffset:40,fontSize:10,debug:!1,superscript:"⁰¹²³⁴⁵⁶⁷⁸⁹"}),methods:{init(t,e,s,i,a){this.debug&&(console.log("Ensemble q: ",e),console.log("Target q: ",s)),this.q=e,this.targetq=s,this.xScale=i,this.svg=C["u"]("#boxplot-"+t.id),this.id="box-"+t.id,this.g=this.svg.select(".box").attrs({transform:"translate(0, "+this.$parent.boxPosition+")"}),this.ensembleBox(),this.$store.showTarget&&a&&this.targetBox(),this.centerLine(),this.axis(),this.$parent.$refs.ToolTip.init("boxplot-"+t.id)},ensembleBox(){let t=this;this.boxSVG=this.g.append("rect").attrs({class:"ensembleBox",y:0,x:this.xScale(this.q.q1),height:this.$parent.rectHeight,fill:this.$store.distributionColor.ensemble,width:this.xScale(this.q.q3)-this.xScale(this.q.q1),stroke:"#202020","stroke-width":.5}).style("z-index",1).on("mouseover",e=>{t.$parent.$refs.ToolTip.renderQ(t.q)}).on("mouseout",e=>{t.$parent.$refs.ToolTip.clear()})},targetBox(){let t=this;this.targetBoxSVG=this.g.append("rect").attr("class","targetbox").attrs({y:0,x:this.xScale(this.targetq.q1),height:this.$parent.rectHeight,fill:this.$store.distributionColor.target,width:e=>t.targetq.q1==t.targetq.q3?3:t.xScale(t.targetq.q3)-t.xScale(t.targetq.q1),stroke:"#202020","stroke-width":.5}).style("z-index",1).on("mouseover",e=>{t.$parent.$refs.ToolTip.renderQ(t.targetq)}).on("mouseout",e=>{t.$parent.$refs.ToolTip.clear()})},centerLine(){this.centerLineSVG=this.g.insert("line","rect").attrs({class:"centerLine",y1:this.$parent.centerLinePosition,x1:this.xScale(this.q.min),y2:this.$parent.centerLinePosition,x2:this.xScale(this.q.max),stroke:"black"}).style("stroke-width","1.5").style("z-index",10)},clear(){this.g.selectAll(".ensembleBox").remove(),this.$store.showTarget&&this.g.selectAll(".targetbox").remove(),this.g.selectAll(".centerLine").remove()},addxAxisLabel(){let t=this.xScale.domain()[1];this.x_max_exponent=N(t);this.superscript[this.x_max_exponent];let e="(e+"+this.x_max_exponent+") Exclusive Runtime (μs)";this.g.append("text").attr("class","axis-label").attr("x",this.$parent.boxWidth-20).attr("y",3.8*this.$parent.centerLinePosition).style("font-size","12px").style("text-anchor","end").text(e)},axis(){this.addxAxisLabel();const t=C["b"](this.xScale).ticks(5).tickFormat((t,e)=>{let s=W(t,1);return""+s[0]}),e=this.g.append("g").attrs({class:"axis",id:"xAxis",transform:"translate(0,"+2.5*this.$parent.centerLinePosition+")"}).call(t);e.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("line").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")}}},js=Vs,Ys=Object(x["a"])(js,Ns,zs,!1,null,null,null),Xs=Ys.exports,Ks=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"marker"})},Us=[],Qs={name:"Markers",data:()=>({paddingTop:10,textOffset:40,fontSize:10,topPosition:-.2,bottomPosition:.75}),mounted(){},methods:{init(t,e,s,i,a){this.$store.selectedMarker="target",this.q=e,this.targetq=s,this.xScale=i,this.svg=C["u"]("#boxplot-"+t.id),this.g=this.svg.select(".marker").attrs({transform:"translate(0, "+this.$parent.boxPosition+")"}),this.markery1=this.$parent.centerLinePosition-this.$parent.rectHeight/2,this.markery2=this.$parent.centerLinePosition+this.$parent.rectHeight/2,this.medianMarker(),this.extremeMarkers()},medianMarker(){this.medianMarkery1=this.$parent.centerLinePosition-this.$parent.rectHeight,this.medianMarkery2=this.$parent.centerLinePosition+this.$parent.rectHeight,this.medianLine=this.g.append("line").attrs({class:"median",y1:this.medianMarkery1,x1:this.xScale(this.q.q2),y2:this.medianMarkery2,x2:this.xScale(this.q.q2),stroke:"black"}).style("stroke-width","2").style("z-index",10)},extremeMarkers(){this.targetData=this.targetq,this.data=this.q,this.$store.showTarget&&this.minMaxTargetMarker()},minMaxEnsembleMarker(){this.g.append("line").attrs({class:"whisker",y1:this.markery1,x1:this.xScale(this.q.min),y2:this.markery2,x2:this.xScale(this.q.min),stroke:this.$store.distributionColor.ensemble}).style("stroke-width","1.5"),this.g.append("line").attrs({class:"whisker",y1:this.markery1,x1:this.xScale(this.q.max),y2:this.markery2,x2:this.xScale(this.q.max),stroke:this.$store.distributionColor.ensemble}).style("stroke-width","1.5")},minMaxTargetMarker(){this.g.append("line").attrs({class:"whisker",y1:this.markery1,x1:this.xScale(this.targetData.min),y2:this.markery2,x2:this.xScale(this.targetData.min),stroke:this.$store.distributionColor.target}).style("stroke-width","1.5"),this.g.append("line").attrs({class:"whisker",y1:this.markery1,x1:this.xScale(this.targetData.max),y2:this.markery2,x2:this.xScale(this.targetData.max),stroke:this.$store.distributionColor.target}).style("stroke-width","1.5")},minText(){if(this.$store.showTarget){let t=this.targetData.min;this.g.append("text").attrs({class:"whiskerText body-1",x:.5*this.fontSize,y:this.$parent.containerHeight*this.topPosition,fill:C["o"](this.$store.distributionColor.target).darker(1)}).style("stroke-width","1").text("Min: "+q(t))}let t=this.data.min;this.g.append("text").attrs({class:"whiskerText body-1",x:.5*this.fontSize,y:this.$parent.containerHeight*this.bottomPosition,fill:C["o"](this.$store.distributionColor.ensemble).darker(1)}).style("stroke-width","1").text("Min: "+q(t))},maxText(){if(this.$store.showTarget){let t=this.targetData.max;this.g.append("text").attrs({class:"whiskerText body-1",x:this.$parent.containerWidth-9*this.fontSize,y:this.$parent.containerHeight*this.topPosition,fill:C["o"](this.$store.distributionColor.target).darker(1)}).style("stroke-width","1").text("Max:"+q(t))}let t=this.data.max;this.g.append("text").attrs({class:"whiskerText body-1",x:this.$parent.containerWidth-9*this.fontSize,y:this.$parent.containerHeight*this.bottomPosition,fill:C["o"](this.$store.distributionColor.ensemble).darker(1)}).style("stroke-width","1").text("Max:"+q(t))},medianText(){if(this.$store.showTarget){let t=this.targetData.q2;this.g.append("text").attrs({class:"whiskerText body-1",x:this.$parent.containerWidth/2-4.5*this.fontSize,y:this.$parent.containerHeight*this.topPosition,fill:C["o"](this.$store.distributionColor.target).darker(1)}).style("stroke-width","1").text("Med.:"+q(t))}let t=this.data.q2;this.g.append("text").attrs({class:"whiskerText body-1",x:this.$parent.containerWidth/2-4.5*this.fontSize,y:this.$parent.containerHeight*this.bottomPosition,fill:C["o"](this.$store.distributionColor.ensemble).darker(1)}).style("stroke-width","1").text("Med.:"+q(t))},qTexts(){this.q1Text(),this.q3Text()},q1Text(){this.g.append("text").attrs({class:"whiskerText",x:this.$parent.containerWidth/3,y:this.informationHeight*this.topPosition,fill:C["o"](this.fill).darker(1)}).style("stroke-width","2").text("q1: "+q(this.q.q1))},q3Text(){this.g.append("text").attrs({class:"whiskerText",x:this.$parent.boxWidth/3*2,y:this.informationHeight*this.topPosition,fill:C["o"](this.fill).darker(1)}).style("stroke-width","1").text("q3: "+q(this.q.q3))},formatName(t){if(t.length<20)return t;let e=this.trunc(t,20);return e},clear(){this.g.selectAll(".whiskerText").remove(),this.g.selectAll(".whisker").remove(),this.g.selectAll(".median").remove()}}},Zs=Qs,Js=Object(x["a"])(Zs,Ks,Us,!1,null,null,null),ti=Js.exports,ei=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"outlier"})},si=[],ii={name:"Outliers",data:()=>({paddingTop:10,textOffset:40,fontSize:10,outlierRadius:4,informationHeight:70}),created(){this.id="outliers-"+this.callsiteID},methods:{init(t,e,s,i,a,r,o,l,n){this.q=t,this.targetq=e,this.ensembleWhiskerIndices=s,this.targetWhiskerIndices=i,this.d=a,this.targetd=r,this.xScale=o,this.callsite=l,this.svg=C["u"]("#boxplot-"+l.id),this.g=this.svg.select(".outlier").attrs({transform:"translate(0, "+this.paddingTop+")"}),this.height=this.$parent.containerHeight,this.width=this.$parent.containerWidth,this.boxHeight=this.height-this.paddingTop-this.informationHeight,this.boxWidth=this.width,this.ensembleOutliers(),this.$store.showTarget&&n&&this.targetOutliers(),this.$parent.$refs.ToolTip.init("boxplot-"+l.id)},groupByBand(t,e){let s,i,a,r,o=[],l=0,n=0,h=0;for(let d=0;de&&(o.push({values:s,x:i,count:n,ranks:r,datasets:a}),n>h&&(h=n),s=[],i=[],a=[],r=[],s.push(c.value),i.push(c.x),a.push(c.dataset),r.push(c.rank),n=1,l=c.x),d==t.length-1&&(u>e?o.push({values:s,x:i,datasets:a,ranks:r,count:n}):u>e&&(s=[],i=[],a=[],r=[],s.push(c.value),i.push(c.x),r.push(c.rank),a.push(c.dataset),n=1,o.push({values:s,x:i,datasets:a,ranks:r,count:n})))}return{circles:o,max_count:h}},groupOutliers(t,e,s){const i=e**2,a=t.map(t=>{let e=this.xScale(t.value);return{x:e,value:t.value,rank:t.rank,dataset:t.dataset}}).sort((t,e)=>t.x-e.x),r=.001;let o=null,l=null;function n(t,e){let s=o;while(s){if(i-r>(s.x-t)**2+(s.y-e)**2)return!0;s=s.next}return!1}for(const c of a){while(o&&o.xt.count/this.max_count+4,cx:t=>t.x[0],cy:t=>this.boxHeight/2+this.informationHeight,class:"ensemble-outlier"}).style("opacity",1).style("fill",this.$store.distributionColor.ensemble).on("click",e=>{t.$parent.$parent.selectedOutlierRanks=e["ranks"].sort((t,e)=>t-e),t.$parent.$parent.selectedOutlierDatasets=e["datasets"].filter((t,e,s)=>s.indexOf(t)===e),console.log(t.$parent.$parent.selectedOutlierRanks)}).on("mouseover",e=>{t.$parent.$refs.ToolTip.renderOutliers(e)}).on("mouseout",e=>{t.$parent.$refs.ToolTip.clear()})},targetOutliers(){let t=this,e=this.$store.callsites[this.$store.selectedTargetDataset][this.callsite.name],s=[];if(void 0!=e){s=e[this.$store.selectedMetric]["outliers"];let i=[];for(let t=0;t0==this.max_count?0:t.count/this.max_count+4,cx:t=>t.x[0],cy:t=>this.boxHeight/2-this.informationHeight/4,class:"target-outlier"}).style("opacity",1).style("fill",this.$store.distributionColor.target).on("click",e=>{t.$parent.$parent.selectedOutlierRanks=e["ranks"].sort((t,e)=>t-e),t.$parent.$parent.selectedOutlierDatasets=e["datasets"].filter((t,e,s)=>s.indexOf(t)===e)}).on("mouseover",e=>{t.$parent.$refs.ToolTip.renderOutliers(e)}).on("mouseout",e=>{t.$parent.$refs.ToolTip.clear()})}else this.target_outliers=[]},clear(){this.g.selectAll(".ensemble-outlier").remove(),this.g.selectAll(".target-outlier").remove()}}},ai=ii,ri=Object(x["a"])(ai,ei,si,!1,null,null,null),oi=ri.exports,li=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:"tooltip-auxiliary-function"}})},ni=[],hi={name:"ToolTip",components:{},data:()=>({textCount:0,textxOffset:20,textyOffset:20,textPadding:18,offset:10,fontSize:12}),methods:{init(t){this.id=t,this.toolTipDiv=C["u"]("#"+t),this.height=80,this.halfWidth=document.getElementById(this.id).clientWidth/2,this.halfHeight=document.getElementById(this.id).clientHeight/2},addText(t){this.toolTipText=this.toolTipDiv.append("text").style("font-family","sans-serif").style("font-size","").attrs({class:"toolTipContent",x:()=>this.mousePosX>this.halfWidth?this.mousePosX-this.halfWidth+this.textxOffset+"px":this.mousePosX+this.textxOffset+"px",y:()=>this.mousePosY>this.halfHeight?this.mousePosY+this.textyOffset+this.textPadding*this.textCount-this.halfHeight+"px":this.mousePosY+this.textyOffset+this.textPadding*this.textCount+"px"}).text(t),this.textCount+=1},quartiles(){this.addText("Q1: "+G(this.data.q1)),this.addText("Q3: "+G(this.data.q3))},outliers(){this.addText(this.data.count+" outliers")},drawRect(t,e){this.clear(),this.width=t*this.fontSize;C["q"]().domain([2,11]).range([50,150]);this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipRect=this.toolTipDiv.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:this.width,height:e*this.fontSize,x:()=>this.mousePosX>this.halfWidth?this.mousePosX-this.halfWidth+"px":this.mousePosX+"px",y:()=>this.mousePosY>this.halfHeight?this.mousePosY-this.halfHeight+"px":this.mousePosY+"px"})},renderQ(t){this.data=t,this.drawRect(13,4),this.quartiles()},renderOutliers(t){this.data=t,this.drawRect(10,4),this.outliers()},trunc(t,e){return t=t.replace(//g,"proc "),t.length>e?t.substr(0,e-1)+"...":t},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},di=hi,ci=Object(x["a"])(di,li,ni,!1,null,null,null),ui=ci.exports,fi={name:"BoxPlot",props:["callsite","width","height","showTarget"],data:()=>({id:"",boxContainerID:"",markerContainerID:"",outlierContainerID:"",padding:{top:10,bottom:10,left:10,right:10},targetBoxWidth:0,targetBoxHeight:0,targetBoxFill:"",targetBoxX:0,targetBoxY:0,containerHeight:150,containerWidth:0,parentID:"",informationHeight:70,outlierHeight:20,rectHeight:0,centerLinePosition:0,boxHeight:0,boxWidth:0}),components:{Box:Xs,Outliers:oi,Markers:ti,ToolTip:ui},mounted(){this.init();let t=this;E.$on("ensemble-refresh-boxplot",e=>{t.clear(),t.init()})},created(){this.id="boxplot-"+this.callsite.id},methods:{init(){this.containerHeight=150,this.containerWidth=this.$parent.boxplotWidth-2*this.padding.right-1*this.padding.left,this.boxHeight=this.containerHeight-this.informationHeight,this.boxWidth=this.containerWidth,this.boxPosition=this.informationHeight/2+this.outlierHeight/2,this.centerLinePosition=(this.boxHeight-this.informationHeight/4)/2,this.rectHeight=this.boxHeight-this.informationHeight/4-this.outlierHeight/4,this.process(this.callsite),this.svg=C["u"]("#boxplot-"+this.callsite.id).attrs({width:this.containerWidth,height:this.containerHeight});let t=Math.min(this.q.min,this.targetq.min),e=Math.max(this.q.max,this.targetq.max);this.xScale=C["q"]().domain([t,e]).range([.05*this.containerWidth,this.containerWidth-.05*this.containerWidth]),this.visualize(this.callsite)},process(t){this.ensemble_data=this.$store.callsites["ensemble"][t.name][this.$store.selectedMetric]["q"],void 0!=this.$store.callsites[this.$store.selectedTargetDataset][t.name]?this.target_data=this.$store.callsites[this.$store.selectedTargetDataset][t.name][this.$store.selectedMetric]["q"]:this.target_data=[0,0,0,0,0],this.q=this.qFormat(this.ensemble_data),this.targetq=this.qFormat(this.target_data)},qFormat(t){let e={min:t[0],q1:t[1],q2:t[2],q3:t[3],max:t[4]};return e},visualize(t){this.$refs.Box.init(t,this.q,this.targetq,this.xScale,this.showTarget),this.$refs.Markers.init(t,this.q,this.targetq,this.xScale,this.showTarget),this.$refs.Outliers.init(this.q,this.targetq,this.ensembleWhiskerIndices,this.targetWhiskerIndices,this.d,this.targetd,this.xScale,this.callsite,this.showTarget)},clear(){this.$refs.Box.clear(),this.$refs.Markers.clear(),this.$refs.Outliers.clear()}}},mi=fi,pi=Object(x["a"])(mi,qs,Ws,!1,null,null,null),gi=pi.exports,xi={name:"CallsiteCorrespondence",components:{BoxPlot:gi},data:()=>({selected:{},id:"auxiliary-function-overview",people:[],message:"Call Site Correspondence",callsites:[],dataReady:!1,numberOfIntersectionCallsites:0,numberOfDifferenceCallsites:0,firstRender:!0,padding:{top:0,right:10,bottom:0,left:10},textOffset:25,boxplotHeight:340,boxplotWidth:0,duration:300,iqrFactor:.15,outlierRadius:4,targetOutlierList:{},outlierList:{},callsiteIDMap:{},settings:[{title:"Sort by Inclusive runtime"},{title:"Sort by Exclusive Runtime"}],compareMode:!1,selectedModule:"",selectedCallsite:"",informationHeight:70,revealCallsites:[],selectedMetric:"",targetMeans:{},targetVariance:{},targetStandardDeviation:{},ensembleMeans:{},ensembleVariance:{},ensembleStandardDeviation:{},targetColor:"",differenceCallsites:{},intersectionCallsites:{},isModuleSelected:!1,isCallsiteSelected:!1,isEntryFunctionSelected:"unselect-callsite",isCalleeSelected:"unselect-callsite",showSplitButton:"false",selectClassName:{},selectedOutlierRanks:{},selectedOutlierDatasets:{},showKNCCallsite:{},showuKNCCallsite:{},selectedMode:"Single"}),mounted(){let t=this;E.$on("highlight-dataset",e=>{let s=e["dataset"];t.$store.showTarget&&t.highlightCallsitesByDataset(s)}),E.$on("highlight-datasets",e=>{console.log("[Interaction] Highlighting the datasets :",e),t.highlight(e)}),E.$on("ensemble-select-module",e=>{let s=e["module"];this.isModuleSelected=!0,t.selectModule(s)}),E.$on("callsite-information-sort",e=>{let s=t.$store.selectedRuntimeSortBy;t.differenceCallsites=t.sortByAttribute(t.knc["difference"],s),t.intersectionCallsites=t.sortByAttribute(t.knc["intersection"],s)})},methods:{init(){if(this.firstRender){this.width=document.getElementById(this.id).clientWidth;let t="Ensemble"==this.$store.selectedMode?.65:1;this.height=t*this.$store.viewHeight,this.boxplotWidth=this.width-this.padding.left-this.padding.right,document.getElementById(this.id).style.maxHeight=this.height+"px",this.firstRender=!1}this.visualize()},visualize(){this.setStates(),this.boxplotByMetric()},setStates(){this.callsites=this.$store.callsites["ensemble"],this.targetCallsites=this.$store.callsites[this.$store.selectedTargetDataset],this.knc=this.KNC(),this.numberOfDifferenceCallsites=Object.keys(this.knc["difference"]).length,this.numberOfIntersectionCallsites=Object.keys(this.knc["intersection"]).length,this.differenceCallsites=this.sortByAttribute(this.knc["difference"],this.$store.selectedMetric),this.intersectionCallsites=this.sortByAttribute(this.knc["intersection"],this.$store.selectedMetric),this.intersectionCallsites=this.hideAllCallsites(this.intersectionCallsites),this.differenceCallsites=this.hideAllCallsites(this.differenceCallsites),this.selectedModule=this.$store.selectedModule,this.selectedMode=this.$store.selectedMode,this.selectedCallsite=this.$store.selectedCallsite,this.selectedMetric=this.$store.selectedMetric,"Ensemble"==this.$store.selectedMetric?(this.ensembleColor=C["o"](this.$store.distributionColor.ensemble).darker(1),this.targetColor=C["o"](this.$store.distributionColor.target).darker(1)):(this.ensembleColor=this.$store.runtimeColor.textColor,this.targetColor=this.$store.runtimeColor.textColor)},boxplotByMetric(){for(let t in this.callsites)void 0!=this.targetCallsites[t]?(this.targetMeans[t]=q(this.targetCallsites[t][this.$store.selectedMetric]["mean_time"]),this.targetVariance[t]=q(this.targetCallsites[t][this.$store.selectedMetric]["variance"]),this.targetStandardDeviation[t]=q(this.targetCallsites[t][this.$store.selectedMetric]["std_deviation"]),this.ensembleMeans[t]=q(this.callsites[t][this.$store.selectedMetric]["mean_time"]),this.ensembleVariance[t]=q(this.callsites[t][this.$store.selectedMetric]["variance"]),this.ensembleStandardDeviation[t]=q(this.callsites[t][this.$store.selectedMetric]["std_deviation"])):(this.targetMeans[t]=0,this.targetVariance[t]=0,this.targetStandardDeviation[t]=0,this.ensembleMeans[t]=0,this.ensembleVariance[t]=0,this.ensembleStandardDeviation[t]=0),this.selectClassName[t]="unselect-callsite"},borderColorByMetric(){for(let t in this.intersectionCallsites){let e=this.intersectionCallsites[t],s=e[this.$store.selectedMetric]["mean_time"],i="callsite-information-"+e.id;document.getElementById(i).style.borderColor=this.$store.color.getColorByValue(s)}},getID(t){return"callsite-correspondence-"+t},changeSelectedClassName(){event.stopPropagation();let t=event.currentTarget.id;"select-callsite"==this.selectClassName[t]?(this.revealCallsites.splice(this.revealCallsites.indexOf(t),1),event.target.className="flex text-xs-center unselect-callsite",this.selectClassName[t]="unselect-callsite"):(this.selectClassName[t]="select-callsite",event.target.className="flex text-xs-center select-callsite",this.revealCallsites.push(t)),0==this.revealCallsites.length?this.switchIsSelectedCallsite(!1):this.switchIsSelectedCallsite(!0),console.debug("Selected callsites: ",this.revealCallsites)},switchIsSelectedCallsite(t){this.isCallsiteSelected=t},switchIsSelectedModule(t){this.isModuleSelected=t},selectedClassName(t){return this.selectClassName[t]},formatModule(t){return t.length<10?t:this.trunc(t,10)},formatName(t){if(t.length<25)return t;let e=z(t,25);return e},formatNumberOfHops(t){return void 0==t||void 0==t[0]?"-":t[0]-1},formatRuntime(t){let e=C["g"](".2"),s=e(t)+" μs";return s},KNC(){let t=new Set(Object.keys(this.$store.callsites["ensemble"])),e=new Set(Object.keys(this.$store.callsites[this.$store.selectedTargetDataset])),s=new Set([...t].filter(t=>!e.has(t))),i=new Set([...t].filter(t=>e.has(t)));return{difference:Array.from(s),intersection:Array.from(i)}},showAllCallsites(t){for(let e=0;e/g,"proc "),t.length>e?t.substr(0,e-1)+"...":t},selectModule(t){let e=this.$store.moduleCallsiteMap["ensemble"][t];this.differenceCallsites={},this.knc["difference"].forEach(t=>{e.indexOf(t)>-1&&(this.differenceCallsites[t]=this.$store.callsites["ensemble"][t])}),this.numberOfDifferenceCallsites=Object.keys(this.differenceCallsites).length,this.intersectionCallsites={},this.knc["intersection"].forEach(t=>{e.indexOf(t)>-1&&(this.intersectionCallsites[t]=this.$store.callsites["ensemble"][t])}),this.numberOfIntersectionCallsites=Object.keys(this.intersectionCallsites).length},selectCallsitesByModule(t){this.selectedModule=t,this.selectedCallsite="";let e=Object.keys(this.$store.callsites[this.$store.selectedTargetDataset]),s=this.$store.callsites["ensemble"];for(let a in e)s.hasOwnProperty(a)&&(document.getElementById(s[a].id).style.opacity=.2,document.getElementById(s[a].id).style.borderStyle="solid");let i=this.$store.moduleCallsiteMap[t];for(let a in i)s.hasOwnProperty(a)&&(document.getElementById(s[a].id).style.opacity=1,document.getElementById(s[a].id).style.borderStyle="dotted")},sortByAttribute(t,e){let s=this,i=t.map((function(t){return[t,s.callsites[t]]}));return"Exclusive"==e||"Inclusive"==e?i=i.sort((function(t,s){return s[1][e]["mean_time"]-t[1][e]["mean_time"]})):"Standard Deviation"==e&&i.sort((function(t,e){return e[1][s.$store.selectedMetric]["std_deviation"]-t[1][s.$store.selectedMetric]["std_deviation"]})),t=i.reduce((function(t,e){return t[e[0]]=e[1],t}),{}),t},getSelectedOutlierDatasets(t){return this.selectedOutlierDatasets[t]},getSelectedOutlierRanks(t){return this.selectedOutlierRanks[t]},split(){"select-callsite"==this.isEntryFunctionSelected?(this.$socket.emit("split_by_entry_callsites",{mode:this.$store.selectedMode,selectedModule:this.$store.selectedModule,datasets:this.$store.selectedDatasets}),E.$emit("reveal-callsite")):"select-callsite"==this.isCalleeSelected&&(this.$socket.emit("split_by_callees",{mode:this.$store.selectedMode,selectedModule:this.$store.selectedModule,datasets:this.$store.selectedDatasets}),E.$emit("reveal-callsite"))}}},bi=xi,yi=(s("183b"),Object(x["a"])(bi,Gs,Ls,!1,null,null,null)),vi=yi.exports,$i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{id:t.id}},[s("v-layout",{staticClass:"chip-container"},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")]),s("v-spacer"),s("span",{staticClass:"component-info"},[t._v(" Number of "+t._s(t.selectedPropLabel)+" = "+t._s(t.selectedPropSum)+" ")])],1),s("svg",{attrs:{id:t.svgID}}),s("ToolTip",{ref:"ToolTip"})],1)},Ci=[],Mi=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:"tooltip-ensemble-histogram"}})},_i=[],Ti={name:"ToolTip",components:{},data:()=>({id:"",textCount:0,textxOffset:20,textyOffset:20,textPadding:18,offset:10,fontSize:12}),sockets:{tooltip(t){this.render(t)}},methods:{init(t){this.id=t,this.toolTipDiv=C["u"]("#"+this.id),this.height=80,this.halfWidth=document.getElementById(this.id).clientWidth/2,this.halfHeight=document.getElementById(this.id).clientHeight/2},addText(t){this.toolTipText=this.toolTipDiv.append("text").style("font-family","sans-serif").style("font-size","").attrs({class:"toolTipContent",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth?this.mousePosX-this.width+this.textxOffset+"px":this.mousePosX+this.textxOffset+"px",y:()=>this.mousePosY+this.halfHeight>document.getElementById(this.id).clientHeight?this.mousePosY+this.textyOffset+this.textPadding*this.textCount-this.height+"px":this.mousePosY+this.textyOffset+this.textPadding*this.textCount+"px"}).text(t),this.textCount+=1},info(){this.addText("Count: "+this.data)},render(t){this.clear(),this.data=t,this.width=10*this.fontSize;C["q"]().domain([2,11]).range([50,150]);this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipRect=this.toolTipDiv.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:this.width,height:"50",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth?this.mousePosX-this.width+"px":this.mousePosX+"px",y:()=>this.mousePosY+this.halfHeight>document.getElementById(this.id).clientHeight?this.mousePosY-this.height+"px":this.mousePosY+"px"}),this.info()},trunc(t,e){return t=t.replace(//g,"proc "),t.length>e?t.substr(0,e-1)+"...":t},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},ki=Ti,wi=Object(x["a"])(ki,Mi,_i,!1,null,null,null),Si=wi.exports,Di={name:"EnsembleHistogram",components:{ToolTip:Si},props:[],data:()=>({data:[],width:null,height:null,padding:{top:10,right:10,bottom:10,left:15},dataset_index:[],id:"ensemble-histogram-view",svgID:"ensemble-histogram-view-svg",firstRender:!0,xVals:[],freq:[],selectedColorBy:"Inclusive",MPIcount:0,message:"Runtime Distribution",paddingFactor:3.5,thisNode:"",selectedPropLabel:"",selectedPropSum:0,x_max_exponent:0,superscript:"⁰¹²³⁴⁵⁶⁷⁸⁹"}),mounted(){let t=this;E.$on("ensemble-histogram",(function(e){console.log("Ensemble Histogram: ",e["module"]),void 0!=e["callsite"]?t.thisNode=e["module"]+"="+e["callsite"]:t.thisNode=e["module"],t.visualize(e["module"])}))},methods:{init(){this.width=.25*window.innerWidth,this.height=.33*this.$store.viewHeight,this.boxWidth=this.width-1*(this.padding.right+this.padding.left),this.boxHeight=this.height-2*(this.padding.top+this.padding.bottom),this.xAxisHeight=this.boxWidth-(this.paddingFactor+1)*this.padding.left,this.yAxisHeight=this.boxHeight-(this.paddingFactor+1)*this.padding.left,this.svg=C["u"]("#"+this.svgID).attrs({width:this.boxWidth,height:this.boxHeight,transform:"translate("+this.padding.left+","+this.padding.top+")"}),E.$emit("ensemble-histogram",{module:this.$store.selectedModule,dataset:this.$store.runNames})},dataProcess(t){let e=[],s=0,i=0;s=t["x_min"],i=t["x_max"];let a=(i-s)/this.$store.selectedMPIBinCount;0==a&&(a=1);for(let r=0;rt+e)},clear(){C["v"](".dist-histogram-bar").remove(),C["v"](".dist-histogram-target").remove(),C["v"](".dist-histogram-others").remove(),C["u"](".x-axis").remove(),C["u"](".y-axis").remove(),C["v"](".binRank").remove(),C["v"](".lineRank").remove(),C["v"](".target_lineRank").remove(),C["v"](".tick").remove(),C["v"](".histogram-axis-label").remove(),this.$refs.ToolTip.clear()},targetBars(){let t=this;this.svg.selectAll(".dist-target").data(this.targetFreq).enter().append("rect").attr("class","dist-histogram-bar dist-target").attrs({x:(t,e)=>this.xScale(this.targetXVals[e]),y:(t,e)=>this.yScale(t),width:t=>this.xScale.bandwidth(),height:t=>Math.abs(this.yAxisHeight-this.yScale(t)),fill:this.$store.distributionColor.target,opacity:1,"stroke-width":"0.2px",stroke:"#202020",transform:"translate("+this.paddingFactor*this.padding.left+",0)"}).on("mouseover",(function(e,s){t.$refs.ToolTip.render(e)})).on("mouseout",(function(e,s){t.$refs.ToolTip.clear()}))},ensembleBars(){let t=this;this.svg.selectAll(".dist-ensemble").data(this.freq).enter().append("rect").attr("class","dist-histogram-bar dist-ensemble").attrs({x:(t,e)=>this.xScale(this.xVals[e]),y:(t,e)=>this.yScale(t),width:t=>this.xScale.bandwidth(),height:t=>Math.abs(this.yAxisHeight-this.yScale(t)),fill:e=>{let s=t.$store.distributionColor.ensemble;return s},opacity:1,"stroke-width":"0.2px",stroke:"#202020",transform:"translate("+this.paddingFactor*this.padding.left+",0)"}).on("mouseover",(function(e,s){t.$refs.ToolTip.render(e)})).on("mouseout",(function(e,s){t.$refs.ToolTip.clear()}))},addxAxisLabel(){let t=this.xScale.domain()[1];this.x_max_exponent=N(t);this.superscript[this.x_max_exponent];let e="(e+"+this.x_max_exponent+") "+this.$store.selectedMetric+" Runtime (μs)";this.svg.append("text").attrs({class:"histogram-axis-label",x:this.boxWidth-this.padding.left,y:this.yAxisHeight+3*this.padding.top}).style("font-size","12px").style("text-anchor","end").text(e)},xAxis(){let t=this;this.addxAxisLabel();const e=C["b"](this.xScale).ticks(5).tickFormat((e,s)=>{if(s%3==0){let s=W(e,t.x_max_exponent);return""+s[0]}}),s=this.svg.append("g").attrs({class:"x-axis",transform:"translate("+this.paddingFactor*this.padding.left+","+this.yAxisHeight+")"}).call(e);s.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),s.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.5),s.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")},yAxis(){const t=C["c"](this.yScale).ticks(10).tickFormat((t,e)=>{if("rank"==this.$store.selectedProp){if(1==t)return t;if(t%10==0)return t}else if("dataset"==this.$store.selectedProp){if(t%1==0)return t}else if("name"==this.$store.selectedProp&&t%1==0)return t});let e="";"name"==this.$store.selectedProp?e="Number of Callsites":"dataset"==this.$store.selectedProp?e="Number of Runs":"rank"==this.$store.selectedProp?e="Number of Ranks":"all_ranks"==this.$store.selectedProp&&(e="Number of Processes"),this.svg.append("text").attrs({transform:"rotate(-90)",class:"histogram-axis-label",x:-this.padding.top,y:this.padding.left}).style("font-size","12px").style("text-anchor","end").text(e);const s=this.svg.append("g").attrs({class:"y-axis",transform:"translate("+this.paddingFactor*this.padding.left+", 0)"}).call(t);s.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),s.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.2),s.selectAll("text").style("font-size","12px").style("font-family","sans-serif").style("font-weight","lighter")}}},Pi=Di,Ei=Object(x["a"])(Pi,$i,Ci,!1,null,null,null),Ii=Ei.exports,Bi=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-layout",{attrs:{row:"",wrap:"",id:t.id}},[s("v-layout",{staticClass:"chip-container"},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")])],1),s("span",{staticClass:"component-info"},[t._v(" Module = "+t._s(t.formatModule(t.selectedModule))+" ")]),s("ToolTip",{ref:"ToolTip"})],1)},Ai=[],Oi=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{staticClass:"tooltip"})},Hi=[],Ri={name:"ToolTip",components:{},data:()=>({id:"",textCount:0,textxOffset:20,textyOffset:20,textPadding:18,offset:10,fontSize:12}),sockets:{tooltip(t){this.render(t)}},methods:{init(t){this.id=t,this.toolTipDiv=C["u"]("#"+this.id),this.height=80,this.halfWidth=document.getElementById(this.id).clientWidth/2,this.halfHeight=document.getElementById(this.id).clientHeight/2},addText(t){this.toolTipText=this.toolTipDiv.append("text").style("font-family","sans-serif").style("font-size","").attrs({class:"toolTipContent",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth?this.mousePosX-this.width+this.textxOffset+"px":this.mousePosX+this.textxOffset+"px",y:()=>this.mousePosY+this.halfHeight>document.getElementById(this.id).clientHeight?this.mousePosY+this.textyOffset+this.textPadding*this.textCount-this.height+"px":this.mousePosY+this.textyOffset+this.textPadding*this.textCount+"px"}).text(t),this.textCount+=1},info(){this.addText("Name: "+z(this.data.data.id,40));let t="";"Exclusive"==this.$store.selectedMetric?t="Exc.":"Inclusive"==this.$store.selectedMetric&&(t="Inc."),this.addText("Target "+t+" time: "+G(this.data.data.data[this.$store.selectedMetric]["max_time"]))},render(t){this.clear(),this.data=t,this.width=26*this.fontSize;C["q"]().domain([2,11]).range([50,150]);this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipRect=this.toolTipDiv.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:this.width,height:"50",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth?this.mousePosX-this.width+"px":this.mousePosX+"px",y:()=>this.mousePosY+this.halfHeight>document.getElementById(this.id).clientHeight?this.mousePosY-this.height+"px":this.mousePosY+"px"}),this.info()},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},Fi=Ri,Gi=Object(x["a"])(Fi,Oi,Hi,!1,null,null,null),Li=Gi.exports;class qi{constructor(){this.linkedList=new de}isEmpty(){return!this.linkedList.head}peek(){return this.linkedList.head?this.linkedList.head.value:null}enqueue(t){this.linkedList.append(t)}dequeue(){const t=this.linkedList.deleteHead();return t?t.value:null}toString(t){return this.linkedList.toString(t)}}var Wi={name:"ModuleHierarchy",components:{ToolTip:Li},props:[],data:()=>({margin:{top:5,right:5,bottom:5,left:5},level:[0,0],colorByAttr:"Inclusive",direction:["LR","TD"],selectedDirection:"TD",textTruncForNode:15,color:null,width:null,height:null,totalSize:0,b:{w:150,h:30,s:3,t:10},selectedSplitOption:{name:"split-caller"},splitOptions:[{name:"split-caller"},{name:"split-callee"},{name:"split-level"}],placeholder:"Split options",maxLevel:0,path_hierarchy:[],id:"",padding:0,message:"Supernode Hierarchy",offset:4,stroke_width:4,metric:"",selectedModule:"",svgID:"module-hierarchy-svg"}),watch:{level:{handler:function(t,e){this.update_level()},deep:!0}},mounted(){this.id="module-hierarchy-overview"},methods:{async init(){"Inclusive"==this.$store.selectedMetric?this.metric="max_time (inc)":"Exclusive"==this.$store.selectedMetric&&(this.metric="max_time"),this.selectedModule=this.$store.selectedModule;await m.POSTRequest("module_hierarchy",{module:this.$store.selectedModule,datasets:this.$store.selectedDatasets})},formatModule(t){return t.length<10?t:this.trunc(t,10)},setupSVG(){this.width=document.getElementById(this.id).clientWidth,this.height=.3*this.$store.viewHeight,this.icicleWidth=this.width-this.margin.right-this.margin.left,this.icicleHeight=this.height-this.margin.top-this.margin.bottom,this.hierarchySVG=C["u"]("#"+this.id).append("svg").attrs({id:this.svgID,width:this.icicleWidth+this.margin.right+this.margin.left+10,height:this.icicleHeight+this.margin.top+this.margin.bottom}),this.$refs.ToolTip.init(this.svgID)},update_maxlevels(t){let e=t["level"];for(const[s,i]of Object.entries(e))this.maxLevelthis.maxLevel)return void console.error("Cannot generate icicle plot, min_level > max_level");for(let s=0;s=this.minLevel||e{e.enqueue(t)}),o=t}return t},update_from_graph(t){let e=this.bfs(t);this.drawIcicles(e)},trunc(t,e){return t=t.replace(//g,"proc "),t.length>e?t.substr(0,e-1)+"...":t},clear(){C["v"](".icicleNode").remove(),C["v"](".icicleText").remove(),C["v"](".hierarchy-targetLines").remove(),C["v"](".linear-gradient").remove()},descendents(t){let e=[],s=[];s.push(t),e.push(t);while(0!=s.length)t=s.pop(),void 0!=t.children&&t.children.forEach((function(t){e.push(t),s.push(t)}));return e},partition(t){var e=this.width,s=this.height,i=0,a=!1,r=t.height+1;return t.x0=t.y0=i,t.x1=e,t.y1=s/r,t.eachBefore(this.positionNode(s,r)),a&&t.eachBefore(this.roundNode),t},positionNode(t,e){let s=this;return function(i){i.children&&("Exclusive"==s.$store.selectedHierarchyMode?s.diceByValue(i,i.x0,t*(i.depth+1)/e,i.x1,t*(i.depth+2)/e):"Uniform"==s.$store.selectedHierarchyMode&&s.dice(i,i.x0,t*(i.depth+1)/e,i.x1,t*(i.depth+2)/e));var a=i.x0,r=i.y0,o=i.x1-s.padding,l=i.y1-s.padding;o"LR"==this.selectedDirection?this.icicleHeight:this.width).attr("height",()=>"LR"==this.selectedDirection?this.width-50:this.height-50).style("opacity",0);let e=C["h"](t),s=this.partition(e);this.nodes=this.descendents(s),this.setupModuleMeanGradients(),this.setupCallsiteMeanGradients(),this.addNodes(),this.addText(),this.$store.showTarget&&this.drawTargetLine(),C["u"]("#container").on("mouseleave",this.mouseleave),this.totalSize=e.value},setupCallsiteMeanGradients(){this.$store.selectedModule;let t=Object.keys(this.$store.callsites["ensemble"]),e="Horizontal";this.hist_min=0,this.hist_max=0;let s=this.$store.callsites["ensemble"];for(let a=0;at.data.data.id).attr("x",t=>"LR"==this.selectedDirection?(Number.isNaN(t.y0),t.data.count*this.width/t.data.length):t.x0).attr("y",t=>"LR"==this.selectedDirection?t.x0+this.offset+this.stroke_width:t.y0+this.offset).attr("width",t=>"LR"==this.selectedDirection?Number.isNaN(t.y1-t.y0)?this.width/t.data.length-this.offset-this.stroke_width:t.y1-t.y0-this.offset-this.stroke_width:t.x1-t.x0-this.offset-this.stroke_width).attr("height",t=>"LR"==this.selectedDirection?t.x1-t.x0-this.offset:t.y1-t.y0-this.offset-this.stroke_width).style("fill",(t,e)=>{let s=void 0;return s=0==t.depth&&void 0!=this.$store.modules[this.$store.selectedTargetDataset][t.data.data.name]?"url(#mean-module-gradient-"+t.data.data.id+")":void 0!=this.$store.callsites[this.$store.selectedTargetDataset][t.data.data.name]?"url(#mean-callsite-gradient-"+t.data.data.id+")":this.$store.distributionColor.ensemble,s}).style("stroke",t=>{let e=t.data.data[this.$store.selectedMetric]["max_time"];return C["o"](this.$store.runtimeColor.getColorByValue(e))}).style("stroke-width",this.stroke_width).style("opacity",t=>t.exit?.5:1).on("click",this.click).on("mouseover",t=>{const e=(100*t.value/this.totalSize).toPrecision(3);this.percentageString=e+"%",e<.1&&(this.percentageString="< 0.1%");const s=this.getAncestors(t);C["v"](".icicleNode").style("opacity",.1),this.hierarchy.selectAll(".icicleNode").filter(t=>s.indexOf(t)>=0).style("opacity",1),this.$refs.ToolTip.render(t)}).on("mouseout",t=>{C["v"](".icicleNode").style("opacity",1)})},addText(){this.hierarchy.selectAll(".icicleText").data(this.nodes).enter().append("text").attr("class","icicleText").attr("transform",t=>"LR"==this.selectedDirection?"rotate(90)":"rotate(0)").attr("x",t=>"LR"==this.selectedDirection?(Number.isNaN(t.y0),t.data.count*this.width/t.data.length):t.x0+2*this.offset).attr("y",t=>"LR"==this.selectedDirection?t.x0:t.y0+2.5*(this.stroke_width+this.offset)).attr("width",t=>"LR"==this.selectedDirection?(Number.isNaN(t.y1-t.y0),this.width/t.data.length):this.width).style("fill",t=>{let e=this.$store.runtimeColor.setContrast(this.$store.runtimeColor.getColor(t));return e}).style("font-size","14px").text(t=>{if(t.y1-t.y0<10||t.x1-t.x0<50)return"";let e=t.data.id,s=(V(this.id,e)["width"],14),i=Math.floor((t.x1-t.x0)/s);return e=z(e,i),e})},click(t){let e=this.selectedSplitOption.name;C["v"](".icicleNode").style("opacity",.3);let s=this.getAncestors(t);this.hierarchy.selectAll(".icicleNode").filter(t=>s.indexOf(t)>=0).style("opacity",1),this.$socket.emit(e,{})},mouseleave(){C["u"]("#trail").style("visibility","hidden"),C["v"](".icicleNode").on("mouseover",null),C["v"](".icicleNode").transition().duration(1e3).style("opacity",1).each("end",(function(){}))},mouseover(t){this.$refs.ToolTip.render(t)},mouseout(t){this.$refs.ToolTip.clear()},getAncestors(t){const e=[];let s=t;while(s.parent)e.unshift(s),s=s.parent;return e.unshift(s),e},initializeBreadcrumbTrail(){document.getElementById(this.svgID).clientWidth;const t=C["u"]("#sequence").append("svg:svg").attr("width",this.icicleWidth).attr("height",50).attr("id","trail");t.append("svg:text").attr("id","endlabel").style("fill","#000")},breadcrumbPoints(t){const e=[];return e.push("0,0"),e.push(this.b.w+",0"),e.push(`${this.b.w+this.b.t},${this.b.h/2}`),e.push(`${this.b.w},${this.b.h}`),e.push("0,"+this.b.h),t>0&&e.push(`${this.b.t},${this.b.h/2}`),e.join(" ")},updateBreadcrumbs(t,e){const s=C["u"]("#trail").selectAll("g").data(t,t=>t.name+t.depth),i=s.enter().append("svg:g");i.append("svg:polygon").attr("points",this.breadcrumbPoints).style("fill",()=>"#f1f1f1"),i.append("svg:text").attr("x",(this.b.w+this.b.t)/2).attr("y",this.b.h/2).attr("dy","0.35em").attr("text-anchor","middle").text(t=>t.name),s.attr("transform",(t,e)=>`translate(${e*(this.b.w+this.b.s)}, 0)`),s.exit().remove(),C["u"]("#trail").select("#endlabel").attr("x",(t.length+.5)*(this.b.w+this.b.s)).attr("y",this.b.h/2).attr("dy","0.35em").attr("text-anchor","middle").text(e),C["u"]("#trail").style("visibility","")},toggleLegend(){const t=C["u"]("#legend");"hidden"==t.style("visibility")?t.style("visibility",""):t.style("visibility","hidden")}}},Ni=Wi,zi=Object(x["a"])(Ni,Bi,Ai,!1,null,null,null),Vi=zi.exports,ji=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-layout",{attrs:{row:"",wrap:"",id:t.id}},[s("v-layout",{staticClass:"chip-container"},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")]),s("v-spacer")],1),s("span",{staticClass:"component-info"}),s("svg",{attrs:{id:t.svgID}}),s("ToolTip",{ref:"ToolTip"})],1)},Yi=[],Xi=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("g",{attrs:{id:"tooltip_scatterplot"}})},Ki=[],Ui={name:"ToolTip",data:()=>({id:"",textCount:0,textxOffset:20,textyOffset:20,textPadding:18,offset:10,fontSize:12}),methods:{init(t){this.id=t,this.toolTipDiv=C["u"]("#"+this.id).append("svg").attr("class","toolTipSVG"),this.toolTipG=this.toolTipDiv.append("g"),this.height=80,this.halfWidth=document.getElementById(this.id).clientWidth/2,this.halfHeight=document.getElementById(this.id).clientHeight/2},addText(t){this.toolTipText=this.toolTipG.append("text").style("font-family","sans-serif").style("font-size","").attrs({class:"toolTipContent",x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth?this.mousePosX-this.width+this.textxOffset+"px":this.mousePosX+this.textxOffset+"px",y:()=>this.mousePosY+this.halfHeight>document.getElementById(this.id).clientHeight?this.mousePosY+this.textyOffset+this.textPadding*this.textCount-this.height+"px":this.mousePosY+this.textyOffset+this.textPadding*this.textCount+"px"}).text(t),this.textCount+=1},trunc(t,e){return t=t.replace(//g,"proc "),t.length>e?t.substr(0,e-1)+"...":t},truncTimeLabel(t){return"Inclusive"==t?"Inc.":"Exclusive"==t?"Exc.":void 0},info(){this.addText("Callsite: "+z(this.data.callsite,10)),this.addText("Mean "+this.truncTimeLabel(this.$store.selectedMetric)+" Time: "+G(this.data.value)),this.addText("Run: "+this.data.run)},render(t){this.clear(),this.width=19*this.fontSize;var e=C["q"]().domain([2,11]).range([50,150]);this.mousePos=C["m"](C["u"]("#"+this.id).node()),this.mousePosX=this.mousePos[0],this.mousePosY=this.mousePos[1],this.toolTipG.attr("height",e(10)+"px"),this.toolTipRect=this.toolTipG.append("rect").attrs({class:"toolTipContent",fill:"white",stroke:"black",rx:"10px","fill-opacity":1,width:this.width,height:this.height,x:()=>this.mousePosX+this.halfWidth>document.getElementById(this.id).clientWidth?this.mousePosX-this.width+"px":this.mousePosX+"px",y:()=>this.mousePosY+this.halfHeight>document.getElementById(this.id).clientHeight?this.mousePosY-this.height+"px":this.mousePosY+"px"}),this.data=t,this.info()},clear(){this.textCount=0,C["v"](".toolTipContent").remove()}}},Qi=Ui,Zi=Object(x["a"])(Qi,Xi,Ki,!1,null,null,null),Ji=Zi.exports,ta={name:"EnsembleScatterplot",components:{ToolTip:Ji},data:()=>({padding:{top:10,right:10,bottom:15,left:15},xMin:0,xMax:0,yMin:0,yMax:0,firstRender:!0,xData:[],yData:[],nameData:[],id:"ensemble-scatterplot-view",svgID:"ensemble-scatterplot-view-svg",message:"Metric Correlation",boxOffset:20,settings:[{title:"Show Difference plot"},{title:"aaa"}],moduleUnDesirability:1,x_max_exponent:0,y_max_exponent:0,superscript:"⁰¹²³⁴⁵⁶⁷⁸⁹",includesTarget:!0,undesirability:{},maxUndesirability:0,maxVarianceCallsite:""}),mounted(){let t=this;E.$on("ensemble-scatterplot",(function(e){console.log("Ensemble Scatterplot: ",e),t.visualize(e["module"])}))},methods:{init(){this.width=.25*window.innerWidth,this.height=.33*this.$store.viewHeight,this.boxWidth=this.width-this.padding.right-this.padding.left,this.boxHeight=this.height-this.padding.top-this.padding.bottom,this.svg=C["u"]("#"+this.svgID).attr("width",this.boxWidth).attr("height",this.boxHeight-this.padding.top).attr("transform","translate("+this.padding.left+","+this.padding.top+")"),E.$emit("ensemble-scatterplot",{module:this.$store.selectedModule,dataset:this.$store.selectedDatasets})},preprocess(t,e){for(let s in t["mean"])this.yData.push(t["mean"][s]);for(let s in t["diff"])this.xData.push(t["diff"][s]),this.nameData.push(s)},visualize(t){this.firstRender||this.clear(),this.firstRender=!1,this.maxVarianceCallsite="",this.maxUndesirability=0,this.selectedModule=t,this.selectedEnsembleModuleData=this.$store.modules["ensemble"][this.selectedModule][this.$store.selectedMetric],this.ensembleProcess(),void 0!=this.$store.modules[this.$store.selectedTargetDataset][this.selectedModule]&&(this.selectedTargetModuleData=this.$store.modules[this.$store.selectedTargetDataset][this.selectedModule][this.$store.selectedMetric],this.targetProcess());let e=Math.max(this.xMax,this.xtargetMax),s=Math.min(this.xMin,this.xtargetMin),i=Math.max(this.yMax,this.ytargetMax),a=Math.min(this.yMin,this.ytargetMin);this.xScale=C["q"]().domain([s,e]).range([this.padding.left,this.xAxisHeight]),this.yScale=C["q"]().domain([a,i]).range([this.yAxisHeight,this.padding.top]),this.xAxis(),this.yAxis(),this.ensembleDots(),this.$store.showTarget&&void 0!=this.$store.modules[this.$store.selectedTargetDataset][this.selectedModule]&&this.targetDots(),this.setTitle(),this.$refs.ToolTip.init(this.svgID)},setTitle(){this.moduleUnDesirability=this.maxUndesirability},ensembleProcess(){let t=[],e=[];for(let a=0;a{if(e%3==0){let e=W(t,this.x_max_exponent);return""+e[0]}});var e=this.svg.append("g").attr("class","axis").attr("id","xAxis").attr("transform","translate("+3*this.padding.left+","+this.yAxisHeight+")").call(t);e.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),e.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px"),e.selectAll("text").style("font-size","14px").style("font-family","sans-serif").style("font-weight","lighter")},addyAxisLabel(){let t=this.yScale.domain()[1];this.y_max_exponent=N(t);this.superscript[this.y_max_exponent];let e="(e+"+this.y_max_exponent+") Inclusive Runtime (μs)";this.svg.append("text").attr("class","scatterplot-axis-label").attr("transform","rotate(-90)").attr("x",-this.padding.top).attr("y",this.padding.left).style("text-anchor","end").style("font-size","12px").text(e)},yAxis(){let t=10;this.addyAxisLabel();let e=C["c"](this.yScale).ticks(t).tickFormat((e,s)=>{if(s%3==0||s==t-1){let t=W(e,this.y_max_exponent);return""+t[0]}});var s=this.svg.append("g").attr("id","yAxis").attr("class","axis").attr("transform","translate("+4*this.padding.left+", 0)").call(e);s.selectAll("path").style("fill","none").style("stroke","black").style("stroke-width","1px"),s.selectAll("line").style("fill","none").style("stroke","#000").style("stroke-width","1px").style("opacity",.5),s.selectAll("text").style("font-size","14px").style("font-family","sans-serif").style("font-weight","lighter")},trendline(){let t=this;var e=C["j"]().x((function(e,s){return t.xScale(t.xArray[s])+3*t.padding.left})).y((function(e,s){return t.yScale(t.yArray[s])}));this.svg.append("g").attr("class","trend-line").append("path").datum(this.regressionY).attr("d",e).style("stroke","black").style("stroke-width","1px").style("opacity",.5)},calculateQDC(t,e){let s=this.$store.callsites[e][t][this.$store.selectedMetric]["q"];0==s[3]&&0==s[1]?this.undesirability[t]=1:this.undesirability[t]=(s[3]-s[1])/(s[3]+s[1])*100,this.maxUndesirabilitythis.xScale(this.xArray[e].val)+3*this.padding.left,cy:()=>this.yScale(this.yArray[e].val)}).style("stroke","#202020").style("stroke-width",.5).style("fill",this.$store.distributionColor.ensemble).on("mouseover",()=>{let a={callsite:s,QCD:i,value:t.xArray[e].val,run:t.xArray[e].run};t.$refs.ToolTip.render(a)}).on("mouseout",()=>{t.$refs.ToolTip.clear()})}},targetDots(){let t=this;for(let e=0;ethis.xScale(this.xtargetArray[e].val)+3*this.padding.left,cy:(e,s)=>this.yScale(t.ytargetArray[s].val)}).style("fill",this.$store.distributionColor.target).style("stroke",this.$store.runtimeColor.edgeStrokeColor).style("stroke-width",.5).on("mouseover",()=>{let r={callsite:s,QCD:a,value:t.xtargetArray[e].val,run:i};t.$refs.ToolTip.render(r)}).on("mouseout",()=>{t.$refs.ToolTip.clear()})}},correlationText(){let t=this,e=C["g"]("0.2f");this.svg.append("g").append("text").attr("class","text").text("corr-coef: "+e(this.corre_coef)).attr("x",(function(e){return t.boxWidth-t.width/3})).attr("y",(function(t){return 20}))},clear(){C["v"](".ensemble-dot").remove(),C["v"](".target-dot").remove(),C["v"](".axis").remove(),C["v"](".trend-line").remove(),C["v"](".scatterplot-axis-label").remove(),C["v"](".text").remove()}}},ea=ta,sa=Object(x["a"])(ea,ji,Yi,!1,null,null,null),ia=sa.exports,aa=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("v-card",{attrs:{id:t.id}},[s("v-layout",{staticClass:"chip-container"},[s("v-chip",{staticClass:"chip",attrs:{chips:"",color:"teal",label:"",outlined:"",clearable:""}},[t._v(" "+t._s(t.message)+" ")])],1),s("svg",{attrs:{id:t.svgId}})],1)},ra=[],oa=s("705b"),la=s.n(oa);function na(){var t,e=[],s=75,i=!0,a=!1,r=!0,o="lasso",l={start:function(){},draw:function(){},end:function(){}};function n(n){var h,d,c,u,f=n.append("g").attr("class",o),m=f.append("path").attr("class","drawn"),p=f.append("path").attr("class","loop_close"),g=f.append("circle").attr("class","origin"),x=C["e"]().on("start",b).on("drag",y).on("end",v);function b(){u=[],h="",m.attr("d",null),p.attr("d",null),e.nodes().forEach((function(t){t.__lasso.possible=!1,t.__lasso.selected=!1,t.__lasso.hoverSelect=!1,t.__lasso.loopSelect=!1;var e=t.getBoundingClientRect();t.__lasso.lassoPoint=[Math.round(e.left+e.width/2),Math.round(e.top+e.height/2)]})),r&&e.on("mouseover.lasso",(function(){this.__lasso.hoverSelect=!0})),l.start()}function y(){var t,r;"touchmove"===C["f"].sourceEvent.type?(t=C["f"].sourceEvent.touches[0].clientX,r=C["f"].sourceEvent.touches[0].clientY):(t=C["f"].sourceEvent.clientX,r=C["f"].sourceEvent.clientY);var o=C["m"](this)[0],n=C["m"](this)[1];""===h?(h=h+"M "+o+" "+n,d=[t,r],c=[o,n],g.attr("cx",o).attr("cy",n).attr("r",7).attr("display",null)):h=h+" L "+o+" "+n,u.push([t,r]);var f=Math.sqrt(Math.pow(t-d[0],2)+Math.pow(r-d[1],2)),x="M "+o+" "+n+" L "+c[0]+" "+c[1];m.attr("d",h),p.attr("d",x),a=f<=s,a&&i?p.attr("display",null):p.attr("display","none"),e.nodes().forEach((function(t){t.__lasso.loopSelect=!(!a||!i)&&la()(u,t.__lasso.lassoPoint)<1,t.__lasso.possible=t.__lasso.hoverSelect||t.__lasso.loopSelect})),l.draw()}function v(){e.on("mouseover.lasso",null),e.nodes().forEach((function(t){t.__lasso.selected=t.__lasso.possible,t.__lasso.possible=!1})),m.attr("d",null),p.attr("d",null),g.attr("display","none"),l.end()}t.call(x)}return n.items=function(t){if(!arguments.length)return e;e=t;var s=e.nodes();return s.forEach((function(t){t.__lasso={possible:!1,selected:!1}})),n},n.className=function(t){return o=t,n},n.possibleItems=function(){return e.filter((function(){return this.__lasso.possible}))},n.selectedItems=function(){return e.filter((function(){return this.__lasso.selected}))},n.notPossibleItems=function(){return e.filter((function(){return!this.__lasso.possible}))},n.notSelectedItems=function(){return e.filter((function(){return!this.__lasso.selected}))},n.closePathDistance=function(t){return arguments.length?(s=t,n):s},n.closePathSelect=function(t){return arguments.length?(i=!0===t,n):i},n.isPathClosed=function(t){return arguments.length?(a=!0===t,n):a},n.hoverSelect=function(t){return arguments.length?(r=!0===t,n):r},n.on=function(t,e){if(!arguments.length)return l;if(1===arguments.length)return l[t];var s=["start","draw","end"];return s.indexOf(t)>-1&&(l[t]=e),n},n.targetArea=function(e){return arguments.length?(t=e,n):t},n}var ha={name:"ParameterProjection",props:[],data:()=>({id:"parameter-projection-view",svgId:"parameter-projection-view-svg",ts:null,config:null,vis:null,colorBy:null,zoomed:!1,xMin:0,xMax:0,yMin:0,yMax:0,message:"Parameter Projection",showMessage:!1,colorset:["#FF7F00","#16BECF","#984EA3","#8C564B","#E377C2","#7F7F7F","#BCBD21","#4daf4a","#D62728"]}),sockets:{parameter_projection(t){t=JSON.parse(t),console.log("Projections: ",t),this.visualize(t)}},mounted(){let t=this;E.$on("highlight_dataset",e=>{console.log("[Projection] Highlighting the dataset :",e),t.highlight(e)}),E.$on("update_number_of_clusters",e=>{t.clear(),m.POSTRequest("projection",{datasets:t.$store.selectedDatasets,targetDataset:t.$store.selectedTargetDataset,groupBy:"module",numOfClusters:t.$store.selectedNumOfClusters})})},methods:{async init(){let t=document.getElementById(this.id);this.width=t.clientWidth,this.tooltipHeight=110,this.height=.33*this.$store.viewHeight-this.tooltipHeight,this.padding={left:50,top:0,right:50,bottom:30},this.x=C["q"]().range([0,this.width]),this.y=C["q"]().range([this.height,0]);let e=await m.POSTRequest("projection",{datasets:this.$store.selectedDatasets,targetDataset:this.$store.selectedTargetDataset,groupBy:"module",numOfClusters:this.$store.selectedNumOfClusters});e=JSON.parse(e),console.debug("[/projection] data: ",e),this.visualize(e)},axis(){this.xAxis=C["b"](this.x).tickFormat((t,e)=>""),this.yAxis=C["c"](this.y).tickFormat((t,e)=>""),this.yDom=[0,0],this.xAxisSVG=this.svg.append("g").attrs({transform:`translate(${this.padding.left}, ${this.height-this.padding.bottom})`,class:"x-axis",color:"transparent"}).call(this.xAxis),this.yAxisSVG=this.svg.append("g").attrs({transform:`translate(${this.padding.left}, ${this.padding.top})`,class:"y-axis",color:"transparent"}).call(this.yAxis),this.lineLength=75,this.svg.append("svg:defs").append("svg:marker").attr("id","triangle").attr("refX",15).attr("refY",-1.5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 -5 10 10").style("stroke","black"),this.svg.append("line").attr("x1",this.padding.bottom).attr("y1",this.height-this.padding.bottom/2).attr("x2",this.lineLength).attr("y2",this.height-this.padding.bottom/2).attr("stroke-width",1.5).attr("stroke","black").style("opacity",.5),this.svg.append("line").attr("x1",this.padding.bottom).attr("y1",this.height-this.padding.bottom/2).attr("x2",this.padding.bottom).attr("y2",this.height-.75*this.lineLength).attr("stroke-width",1.5).attr("stroke","black").style("opacity",.5),this.svg.append("text").attrs({class:"projection-axis-label",x:this.lineLength,y:this.height}).style("text-anchor","end").style("font-size","10px").style("fill","none").style("font-size","10px").style("stroke","black").style("stroke-width","1px").style("opacity",.5).text("PC1"),this.svg.append("text").attrs({class:"projection-axis-label",x:-this.height+.75*this.lineLength,y:.75*this.padding.bottom,transform:"rotate(-90)"}).style("text-anchor","end").style("fill","none").style("font-size","10px").style("stroke","black").style("stroke-width","1px").style("opacity",.5).text("PC2")},preprocess(t){let e=[];this.numberOfPoints=Object.entries(t["x"]).length;for(let s=0;sthis.xMax&&(this.xMax=a),rthis.yMax&&(this.yMax=r)}return e},setup(){this.svg=C["u"]("#"+this.svgId).attrs({width:this.width,height:this.height,transform:"translate(0, 0)"}).style("stroke-width",1).style("stroke",this.$store.ensemble).style("background-color",this.$store.ensemble),this.t=this.svg.transition().duration(750),this.axis()},addTooltipTextBlock(){this.tooltip=C["u"]("#"+this.id).append("div").attrs({class:"tooltip",id:"parameter-projection-tooltip"}).style("opacity",1)},drawInnerCircle(){let t=this;this.circles=this.svg.selectAll("circle").data(this.$store.projection).enter().append("circle").attrs({class:t=>"dot",id:t=>"dot-"+this.$store.datasetMap[t[2]],r:t=>6,fill:e=>{let s="";return s=(e[2]==t.$store.selectedTargetDataset&&t.$store.showTarget,this.colorset[e[4]]),s},cx:(e,s)=>t.x(e[0]),cy:e=>t.y(e[1])})},drawOuterDisc(){this.outerCircles=this.svg.selectAll(".outer-circle").data(this.$store.projection).enter().append("circle").attrs({class:t=>"outer-circle",id:t=>"outer-circle-"+self.$store.datasetMap[t[2]],r:8,"stroke-width":3,stroke:t=>t[2]==self.$store.selectedTargetDataset&&self.$store.showTarget?this.colorset[t[4]]:C["o"](self.$store.DistributionColor.ensemble),"fill-opacity":0,cx:(t,e)=>self.x(t[0]),cy:t=>self.y(t[1])}).on("mouseover",t=>{this.mouseover(t)}).on("click",t=>{}).on("dblclick",t=>{})},addLassoFeature(){this.lasso=na().className("lasso"+this.id).closePathSelect(!0).closePathDistance(100).items(this.circles).targetArea(this.svg).on("start",this.lassoStart).on("draw",this.lassoDraw).on("end",this.lassoEnd),this.svg.call(this.lasso)},visualize(t){this.setup(),this.$store.projection=this.preprocess(t),this.x.domain([2*this.xMin,2*this.xMax]),this.y.domain([2*this.yMin,2*this.yMax]),this.xAxisSVG.call(this.xAxis),this.yAxisSVG.call(this.yAxis),this.drawInnerCircle(),this.addTooltipTextBlock(),this.addLassoFeature(),this.highlight(this.$store.selectedTargetDataset),this.showDetails(this.$store.selectedTargetDataset)},showDetails(t){this.tooltip.html("Run: "+t+"
[PC1] Inc. time (max): "+G(this.$store.maxIncTime[t])+"
[PC2] Exc. time (max): "+G(this.$store.maxExcTime[t]))},mouseover(t){let e=t[2];C["v"](".dot").style("opacity",.5),this.tooltip.transition().duration(200).style("opacity",1).style("left",10),this.showDetails(e)},click(t){let e=this;this.selectedRun=t[2],C["v"](".dot").attr("stroke",e.$store.distributionColor.ensemble).attr("stroke-width",3),C["u"]("#dot-"+e.$store.datasetMap[t[2]]).attr("stroke",e.$store.distributionColor.compare).attr("stroke-width",3),C["u"]("#outer-dot"+e.$store.datasetMap[e.$store.selectedTargetDataset]).attr("stroke",e.$store.distributionColor.target).attr("stroke-width",3),this.compareDataset=t[2],this.$store.selectedCompareDataset=this.compareDataset,this.$emit("compare"),this.$socket.emit("compare",{targetDataset:e.$store.selectedTargetDataset,compareDataset:this.compareDataset,selectedMetric:this.$store.selectedMetric})},dblclick(t){let e=t[2];this.$socket.emit("dist_group_highlight",{datasets:[e],groupBy:this.$store.selectedGroupBy}),this.$socket.emit("dist_auxiliary",{datasets:[e],sortBy:this.$store.auxiliarySortBy,module:"all"}),this.$store.selectedTargetDataset=e,E.$emit("highlight-datasets",this.$store.selectedTargetDataset)},lassoStart(){C["v"](".dot").attrs({opacity:1}),this.lasso.items().attr("r",t=>4.5).classed("not_possible",!0).classed("selected",!1)},lassoDraw(){this.lasso.possibleItems().classed("not_possible",!1).classed("possible",!0),this.lasso.notPossibleItems().classed("not_possible",!0).classed("possible",!1)},lassoEnd(){C["v"](".dot").attrs({opacity:.5}),this.selectedDatasets=[],this.lasso.items().classed("not_possible",!1).classed("possible",!1),this.lasso.selectedItems().classed("selected",!0).attr("r",t=>4.5).attr("id",t=>{this.selectedDatasets.push(t[2])}).attr("opacity",1),this.lasso.notSelectedItems().attr("r",4.5).attr("opacity",.3),this.$store.selectedDatasets=this.selectedDatasets,E.$emit("lasso-selection",this.$store.selectedDatasets)},zoom(){this.zoomed=!0;let t=this;this.svg.selectAll(".circle"+this.id).transition(this.t).attr("cx",(function(e){return t.x(e["PC0"][0])})).attr("cy",(function(e){return t.y(e["PC1"][0])})),this.svg.selectAll(".selection").attrs({x:0,y:0,width:0,height:0})},unzoom(){this.zoomed=!1,this.x.domain([2*this.xMin,2*this.xMax]),this.y.domain([2*this.yMin,2*this.yMax]);let t=this;this.svg.selectAll(".circle"+this.id).transition(this.t).attr("cx",(function(e){return t.x(e["PC0"][0])})).attr("cy",(function(e){return t.y(e["PC1"][0])}))},brushended(){let t=350,e=C["f"].selection;if(e){let t=e.map(this.x.invert),s=e.map(this.y.invert);if(this.selectedIds=this.findIdsInRegion(t[0],t[1],s[0],s[1]),this.x.domain([e[0][0],e[1][0]].map(this.x.invert,this.x)),this.y.domain([e[1][1],e[0][1]].map(this.y.invert,this.y)),!C["f"].sourceEvent)return;C["u"](".brush").call(this.brush.move,null)}else{if(!this.idleTimeout)return this.idleTimeout=setTimeout(this.idled,t);this.x.domain([2*this.xMin,2*this.xMax]),this.y.domain([2*this.yMin,2*this.yMax])}this.zoom(),this.select()},idled(){this.idleTimeout=null},highlight(t){let e=this.$store.datasetMap[t];this.circles=this.svg.selectAll("#dot-"+e).attrs({opacity:1,stroke:this.$store.distributionColor.target,"stroke-width":3}),this.circles=this.svg.selectAll("#dot-"+e).attrs({opacity:1,stroke:this.$store.distributionColor.target,"stroke-width":4.5})},clear(){C["v"]("#parameter-projection-tooltip").remove(),C["v"](".outer-circle").remove(),this.svg.selectAll(".lasso").remove(),this.svg.selectAll(".projection-axis-label").remove()}}},da=ha,ca=Object(x["a"])(da,aa,ra,!1,null,null,null),ua=ca.exports,fa={name:"EnsembleCallFlow",components:{Splitpanes:D.a,SuperGraph:ve,CCT:ke,EnsembleScatterplot:ia,EnsembleHistogram:Ii,ModuleHierarchy:Vi,ParameterProjection:ua,CallsiteCorrespondence:vi},watch:{showTarget:function(t){E.$emit("show-target-auxiliary")}},data:()=>({appName:"CallFlow",server:"localhost:5000",config:{headers:{"Access-Control-Allow-Origin":"*"}},left:!1,formats:["CCT","SuperGraph"],selectedFormat:"SuperGraph",datasets:[],selectedTargetDataset:"",selectedDataset2:"",groupBy:["Name","Module","File"],selectedGroupBy:"Module",filterBy:["Inclusive","Exclusive"],filterRange:[0,100],selectedFilterBy:"Inclusive",selectedIncTime:0,filterPercRange:[0,100],selectedFilterPerc:5,metrics:["Exclusive","Inclusive"],selectedMetric:"Inclusive",runtimeColorMap:[],distributionColorMap:[],selectedRuntimeColorMap:"Blues",selectedDistributionColorMap:"Reds",colorPoints:[3,4,5,6,7,8,9],selectedColorPoint:9,selectedColorMin:null,selectedColorMax:null,selectedColorMinText:"",selectedColorMaxText:"",groupModes:["include callbacks","exclude callbacks"],selectedGroupMode:"include callbacks",scatterMode:["mean","all"],selectedScatterMode:"all",selectedFunctionsInCCT:70,selectedDiffNodeAlignment:"Top",diffNodeAlignment:["Middle","Top"],isCallgraphInitialized:!1,isCCTInitialized:!1,datas:["Dataframe","Graph"],selectedData:"Dataframe",firstRender:!0,summaryChip:"Ensemble Super Graph",auxiliarySortBy:"time (inc)",ranks:[],initLoad:!0,comparisonMode:!1,selectedCompareDataset:null,compareModes:["MEAN_DIFF","RANK_DIFF"],selectedCompareMode:"MEAN_DIFF",selectedOutlierBand:4,modes:["Ensemble","Single"],selectedMode:"Ensemble",exhibitModes:["Presentation","Default"],selectedExhibitMode:"Default",presentationPage:0,presentationOrder:["run_information","ensemble_supergraph","ensemble_gradients","ensemble_mini_histogram","module_hierarchy","ensemble_auxiliary","ensemble_similarity","ensemble_projection"],parameter_analysis:!0,selectedRunBinCount:20,selectedMPIBinCount:20,selectedHierarchyMode:"Uniform",hierarchyModes:["Uniform","Exclusive"],selectedRuntimeSortBy:"Inclusive",sortByModes:["Inclusive","Exclusive","Standard Deviation"],scales:["Log","Linear"],selectedScale:"Linear",props:["name","rank","dataset","all_ranks"],selectedProp:"rank",dimensions:["max_inclusive_time","max_exclusive_time","rank_count"],selectedPC1:"max_inclusive_time",selectedPC2:"max_exclusive_time",selectedIQRFactor:.15,selectedNumOfClusters:3,targetColorMap:{Green:"#4EAF4A",Blue:"#4681B4",Brown:"#AF9B90",Red:"#A90400"},targetColors:["Green","Blue","Brown"],selectedTargetColor:"Green",showTarget:!0,targetInfo:"Target Guides",metricTimeMap:{}}),mounted(){this.fetchData(),E.$on("lasso_selection",()=>{this.$store.resetTargetDataset=!0,this.clearLocal(),this.setTargetDataset(),this.requestEnsembleData()})},methods:{async fetchData(){void 0===this.$store.selectedDatasets&&this.$router.push("/"),this.$store.auxiliarySortBy=this.auxiliarySortBy,this.$store.selectedMPIBinCount=this.selectedMPIBinCount,this.$store.selectedRunBinCount=this.selectedRunBinCount;const t=await m.POSTRequest("supergraph_data",{datasets:this.$store.selectedDatasets,sortBy:this.$store.auxiliarySortBy,MPIBinCount:this.$store.selectedMPIBinCount,RunBinCount:this.$store.selectedRunBinCount,re_process:1});console.debug("[/supergraph_data]",t),this.dataReady=!0,this.setupStore(t),this.init()},init(){console.assert(this.selectedMode,"Single"),console.log("Mode : ",this.selectedMode),console.log("Number of runs :",this.$store.numOfRuns),console.log("Datasets : ",this.$store.selectedDatasets),console.log("Format = ",this.selectedFormat),this.setGlobalVariables(),this.setTargetDataset(),this.setupColors(),this.setViewDimensions(),this.setComponentMap(),"SuperGraph"==this.selectedFormat?(this.setSelectedModule(),this.initComponents(this.currentEnsembleSuperGraphComponents)):"CCT"==this.selectedFormat&&this.initComponents(this.currentEnsembleCCTComponents),E.$emit("ensemble-refresh-boxplot",{})},setupStore(t){this.$store.modules=t["module"],this.$store.callsites=t["callsite"],this.$store.gradients=t["gradients"],this.$store.moduleCallsiteMap=t["moduleCallsiteMap"],this.$store.callsiteModuleMap=t["callsiteModuleMap"],this.datasets=this.$store.selectedDatasets,this.numOfRuns>=2?(this.modes=["Single","Ensemble"],this.selectedMode="Ensemble"):1==this.numOfRuns&&(this.enableDist=!1,this.modes=["Single"],this.selectedMode="Single")},setGlobalVariables(){this.$store.selectedMPIBinCount=this.selectedMPIBinCount,this.$store.selectedRunBinCount=this.selectedRunBinCount,this.$store.auxiliarySortBy=this.auxiliarySortBy,this.$store.reprocess=0,this.$store.comparisonMode=this.comparisonMode,this.$store.fontSize=14,this.$store.transitionDuration=1e3,this.$store.showTarget=this.showTarget,this.$store.encoding="MEAN_GRADIENTS",this.$store.selectedScatterMode="mean",this.$store.nodeInfo={},this.$store.selectedMode=this.selectedMode,this.$store.selectedFunctionsInCCT=this.selectedFunctionsInCCT,this.$store.selectedHierarchyMode=this.selectedHierarchyMode,this.$store.selectedFormat=this.selectedFormat,this.$store.selectedProp=this.selectedProp,this.$store.selectedScale=this.selectedScale,this.$store.selectedCompareMode=this.selectedCompareMode,this.$store.selectedIQRFactor=this.selectedIQRFactor,this.$store.selectedRuntimeSortBy=this.selectedRuntimeSortBy,this.$store.selectedNumOfClusters=this.selectedNumOfClusters,this.$store.selectedEdgeAlignment="Top",this.$store.datasetMap={};for(let t=0;t{let i=0,a=0;return"Inclusive"==e?(i=this.$store.maxIncTime[t],a=this.$store.maxIncTime[s],this.metricTimeMap=this.$store.maxIncTime):"Exclusive"==e&&(i=this.$store.maxExcTime[t],a=this.$store.maxExcTime[s],this.metricTimeMap=this.$store.maxExcTime),parseFloat(i)-parseFloat(a)});return s},updateColors(){this.clearLocal(),this.setupColors(),this.init()},updateFormat(){this.clearLocal(),this.reset(),this.init()},updateMode(){this.clear(),this.init()},updateMetric(){this.$store.selectedMetric=this.selectedMetric,this.clearLocal(),this.init()},updateColor(){this.clear(),this.init()},updateColorPoint(){this.clearLocal(),this.init()},updateFunctionsInCCT(){m.POSTRequest("cct",{dataset:this.$store.selectedTargetDataset,functionInCCT:this.selectedFunctionsInCCT})},updateDiffNodeAlignment(){console.log("Alignment mode: ",this.selectedDiffNodeAlignment),this.$store.selectedDiffNodeAlignment=this.selectedDiffNodeAlignment,E.$emit("update-diff-node-alignment")},updateAuxiliarySortBy(){this.$store.auxiliarySortBy=this.auxiliarySortBy,E.$emit("update-auxiliary-sort-by")},async updateCompareDataset(){this.summaryChip="Diff SuperGraph",this.$store.selectedCompareDataset=this.selectedCompareDataset,this.$store.comparisonMode=!0,this.$store.encoding=this.selectedCompareMode;const t=await m.POSTRequest("compare",{targetDataset:this.$store.selectedTargetDataset,compareDataset:this.$store.selectedCompareDataset,selectedMetric:this.$store.selectedMetric});this.$refs.SuperGraph.activateCompareMode(t)},updateProp(){this.$store.selectedProp=this.selectedProp,this.clearLocal(),this.init()},updateScale(){this.$store.selectedScale=this.selectedScale,this.clearLocal(),this.init()},updateHierarchyMode(){this.$store.selectedHierarchyMode=this.selectedHierarchyMode,this.clearLocal(),this.init()},updateIQRFactor(){this.$store.selectedIQRFactor=this.selectedIQRFactor,this.clearLocal(),this.init()},updateRuntimeSortBy(){this.$store.selectedRuntimeSortBy=this.selectedRuntimeSortBy,E.$emit("callsite-information-sort")},updateNumOfClusters(){this.$store.selectedNumOfClusters=this.selectedNumOfClusters,E.$emit("update-number-of-clusters")},updateTargetColor(){this.$store.showTarget=this.showTarget,this.clear(),this.init(),E.$emit("ensemble-auxiliary",{})},updateRunBinCount(){this.$store.selectedRunBinCount=this.selectedRunBinCount,this.requestEnsembleData(),this.clearLocal(),this.init()},updateMPIBinCount(){this.$store.selectedMPIBinCount=this.selectedMPIBinCount,this.$store.reprocess=1,this.requestEnsembleData(),this.clearLocal(),this.init()}}},ma=fa,pa=Object(x["a"])(ma,Rs,Fs,!1,null,null,null),ga=pa.exports;i["default"].use(a);const xa=new a["Store"],ba=new r["a"]({routes:[{path:"/single",name:"SingleCallFlow",component:Hs,props:!0},{path:"/ensemble",name:"EnsembleCallFlow",component:ga,props:!0}]});i["default"].config.productionTip=!1,i["default"].use(n["a"]),i["default"].use(r["a"]),i["default"].use(l.a),i["default"].use(d.a),new i["default"]({store:xa,render:t=>t(y),el:"#app",router:ba,components:{App:y},template:""}),i["default"].config.devtools=!0;e["default"]=ba},7456:function(t,e,s){},"7dad":function(t,e,s){},8985:function(t,e,s){"use strict";var i=s("ded0"),a=s.n(i);a.a},9993:function(t,e,s){"use strict";var i=s("7dad"),a=s.n(i);a.a},a700:function(t,e,s){"use strict";var i=s("0007"),a=s.n(i);a.a},acf7:function(t,e,s){"use strict";var i=s("7456"),a=s.n(i);a.a},ceb8:function(t,e,s){},ded0:function(t,e,s){}}); +//# sourceMappingURL=app.a978f178.js.map \ No newline at end of file diff --git a/app/dist/js/app.a978f178.js.map b/app/dist/js/app.a978f178.js.map new file mode 100644 index 00000000..99d667b7 --- /dev/null +++ b/app/dist/js/app.a978f178.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/callsiteCorrespondence/callsiteCorrespondence.vue?c37b","webpack:///./src/components/App.vue?c28e","webpack:///./src/lib/APIService.js","webpack:///src/components/App.vue","webpack:///./src/components/App.vue?7ffd","webpack:///./src/components/App.vue","webpack:///./src/components/callflowSingle.vue?4b8b","webpack:///./src/lib/color/COLORS.js","webpack:///./src/lib/color/color.js","webpack:///./src/components/EventHandler.js","webpack:///./src/components/supergraph/supergraph.vue?1617","webpack:///./src/algorithms/sankey.js","webpack:///./src/components/supergraph/nodes.vue?86a1","webpack:///./src/components/utils.js","webpack:///./src/components/supergraph/encodings/meanGradients.vue?3256","webpack:///src/components/supergraph/encodings/meanGradients.vue","webpack:///./src/components/supergraph/encodings/meanGradients.vue?cd0d","webpack:///./src/components/supergraph/encodings/meanGradients.vue","webpack:///./src/components/supergraph/encodings/guides.vue?f4b4","webpack:///src/components/supergraph/encodings/guides.vue","webpack:///./src/components/supergraph/encodings/guides.vue?0589","webpack:///./src/components/supergraph/encodings/guides.vue","webpack:///./src/components/supergraph/encodings/targetLine.vue?84b2","webpack:///src/components/supergraph/encodings/targetLine.vue","webpack:///./src/components/supergraph/encodings/targetLine.vue?4d5b","webpack:///./src/components/supergraph/encodings/targetLine.vue","webpack:///./src/components/supergraph/encodings/tooltip.vue?4203","webpack:///src/components/supergraph/encodings/tooltip.vue","webpack:///./src/components/supergraph/encodings/tooltip.vue?d26c","webpack:///./src/components/supergraph/encodings/tooltip.vue","webpack:///./src/components/supergraph/encodings/mean.vue?db4c","webpack:///src/components/supergraph/encodings/mean.vue","webpack:///./src/components/supergraph/encodings/mean.vue?0197","webpack:///./src/components/supergraph/encodings/mean.vue","webpack:///./src/components/supergraph/encodings/meanDiff.vue?7145","webpack:///src/components/supergraph/encodings/meanDiff.vue","webpack:///./src/components/supergraph/encodings/meanDiff.vue?3c15","webpack:///./src/components/supergraph/encodings/meanDiff.vue","webpack:///./src/components/supergraph/encodings/rankDiff.vue?ef49","webpack:///src/components/supergraph/encodings/rankDiff.vue","webpack:///./src/components/supergraph/encodings/rankDiff.vue?0558","webpack:///./src/components/supergraph/encodings/rankDiff.vue","webpack:///src/components/supergraph/nodes.vue","webpack:///./src/components/supergraph/nodes.vue?c05d","webpack:///./src/components/supergraph/nodes.vue","webpack:///./src/components/supergraph/edges.vue?0a84","webpack:///src/components/supergraph/edges.vue","webpack:///./src/components/supergraph/edges.vue?50fd","webpack:///./src/components/supergraph/edges.vue","webpack:///./src/components/supergraph/miniHistograms.vue?fbf7","webpack:///src/components/supergraph/miniHistograms.vue","webpack:///./src/components/supergraph/miniHistograms.vue?b01b","webpack:///./src/components/supergraph/miniHistograms.vue","webpack:///./src/components/colormap.vue?bd41","webpack:///src/components/colormap.vue","webpack:///./src/components/colormap.vue?610b","webpack:///./src/components/colormap.vue","webpack:///./src/datastructures/graph.js","webpack:///./src/datastructures/linkedListNode.js","webpack:///./src/datastructures/comparator.js","webpack:///./src/datastructures/linkedList.js","webpack:///./src/datastructures/node.js","webpack:///./src/datastructures/edge.js","webpack:///./src/algorithms/dfs.js","webpack:///./src/algorithms/detectcycle.js","webpack:///src/components/supergraph/supergraph.vue","webpack:///./src/components/supergraph/supergraph.vue?22c7","webpack:///./src/components/supergraph/supergraph.vue","webpack:///./src/components/cct/cct.vue?e8ff","webpack:///src/components/cct/cct.vue","webpack:///./src/components/cct/cct.vue?45a5","webpack:///./src/components/cct/cct.vue","webpack:///./src/components/singleScatterplot/singleScatterplot.vue?edd6","webpack:///./src/components/singleScatterplot/tooltip.vue?e1c6","webpack:///src/components/singleScatterplot/tooltip.vue","webpack:///./src/components/singleScatterplot/tooltip.vue?2470","webpack:///./src/components/singleScatterplot/tooltip.vue","webpack:///src/components/singleScatterplot/singleScatterplot.vue","webpack:///./src/components/singleScatterplot/singleScatterplot.vue?1f69","webpack:///./src/components/singleScatterplot/singleScatterplot.vue","webpack:///./src/components/singleHistogram/singleHistogram.vue?288e","webpack:///./src/components/singleHistogram/tooltip.vue?0b08","webpack:///src/components/singleHistogram/tooltip.vue","webpack:///./src/components/singleHistogram/tooltip.vue?c0c8","webpack:///./src/components/singleHistogram/tooltip.vue","webpack:///src/components/singleHistogram/singleHistogram.vue","webpack:///./src/components/singleHistogram/singleHistogram.vue?9964","webpack:///./src/components/singleHistogram/singleHistogram.vue","webpack:///./src/components/callsiteInformation/callsiteInformation.vue?a1d8","webpack:///./src/components/callsiteInformation/boxplot.vue?a784","webpack:///./src/components/callsiteInformation/box.vue?29ec","webpack:///src/components/callsiteInformation/box.vue","webpack:///./src/components/callsiteInformation/box.vue?2b90","webpack:///./src/components/callsiteInformation/box.vue","webpack:///./src/components/callsiteInformation/markers.vue?4ccf","webpack:///src/components/callsiteInformation/markers.vue","webpack:///./src/components/callsiteInformation/markers.vue?9b2d","webpack:///./src/components/callsiteInformation/markers.vue","webpack:///./src/components/callsiteInformation/outlier.vue?6973","webpack:///src/components/callsiteInformation/outlier.vue","webpack:///./src/components/callsiteInformation/outlier.vue?3fe7","webpack:///./src/components/callsiteInformation/outlier.vue","webpack:///./src/components/callsiteInformation/tooltip.vue?35e9","webpack:///src/components/callsiteInformation/tooltip.vue","webpack:///./src/components/callsiteInformation/tooltip.vue?fc3d","webpack:///./src/components/callsiteInformation/tooltip.vue","webpack:///src/components/callsiteInformation/boxplot.vue","webpack:///./src/components/callsiteInformation/boxplot.vue?5957","webpack:///./src/components/callsiteInformation/boxplot.vue","webpack:///src/components/callsiteInformation/callsiteInformation.vue","webpack:///./src/components/callsiteInformation/callsiteInformation.vue?52a8","webpack:///./src/components/callsiteInformation/callsiteInformation.vue","webpack:///src/components/callflowSingle.vue","webpack:///./src/components/callflowSingle.vue?baa2","webpack:///./src/components/callflowSingle.vue","webpack:///./src/components/callflowEnsemble.vue?019e","webpack:///./src/components/callsiteCorrespondence/callsiteCorrespondence.vue?551c","webpack:///./src/components/callsiteCorrespondence/boxplot.vue?e5fd","webpack:///./src/components/callsiteCorrespondence/box.vue?cfc8","webpack:///src/components/callsiteCorrespondence/box.vue","webpack:///./src/components/callsiteCorrespondence/box.vue?d068","webpack:///./src/components/callsiteCorrespondence/box.vue","webpack:///./src/components/callsiteCorrespondence/markers.vue?484d","webpack:///src/components/callsiteCorrespondence/markers.vue","webpack:///./src/components/callsiteCorrespondence/markers.vue?fa10","webpack:///./src/components/callsiteCorrespondence/markers.vue","webpack:///./src/components/callsiteCorrespondence/outlier.vue?f1ce","webpack:///src/components/callsiteCorrespondence/outlier.vue","webpack:///./src/components/callsiteCorrespondence/outlier.vue?4c4a","webpack:///./src/components/callsiteCorrespondence/outlier.vue","webpack:///./src/components/callsiteCorrespondence/tooltip.vue?3349","webpack:///src/components/callsiteCorrespondence/tooltip.vue","webpack:///./src/components/callsiteCorrespondence/tooltip.vue?ae8b","webpack:///./src/components/callsiteCorrespondence/tooltip.vue","webpack:///src/components/callsiteCorrespondence/boxplot.vue","webpack:///./src/components/callsiteCorrespondence/boxplot.vue?081c","webpack:///./src/components/callsiteCorrespondence/boxplot.vue","webpack:///src/components/callsiteCorrespondence/callsiteCorrespondence.vue","webpack:///./src/components/callsiteCorrespondence/callsiteCorrespondence.vue?5438","webpack:///./src/components/callsiteCorrespondence/callsiteCorrespondence.vue","webpack:///./src/components/ensembleHistogram/ensembleHistogram.vue?50fb","webpack:///./src/components/ensembleHistogram/tooltip.vue?0ffe","webpack:///src/components/ensembleHistogram/tooltip.vue","webpack:///./src/components/ensembleHistogram/tooltip.vue?d936","webpack:///./src/components/ensembleHistogram/tooltip.vue","webpack:///src/components/ensembleHistogram/ensembleHistogram.vue","webpack:///./src/components/ensembleHistogram/ensembleHistogram.vue?f809","webpack:///./src/components/ensembleHistogram/ensembleHistogram.vue","webpack:///./src/components/moduleHierarchy/moduleHierarchy.vue?53a5","webpack:///./src/components/moduleHierarchy/tooltip.vue?4250","webpack:///src/components/moduleHierarchy/tooltip.vue","webpack:///./src/components/moduleHierarchy/tooltip.vue?828c","webpack:///./src/components/moduleHierarchy/tooltip.vue","webpack:///./src/datastructures/queue.js","webpack:///src/components/moduleHierarchy/moduleHierarchy.vue","webpack:///./src/components/moduleHierarchy/moduleHierarchy.vue?55a9","webpack:///./src/components/moduleHierarchy/moduleHierarchy.vue","webpack:///./src/components/ensembleScatterplot/ensembleScatterplot.vue?940e","webpack:///./src/components/ensembleScatterplot/tooltip.vue?55be","webpack:///src/components/ensembleScatterplot/tooltip.vue","webpack:///./src/components/ensembleScatterplot/tooltip.vue?2d23","webpack:///./src/components/ensembleScatterplot/tooltip.vue","webpack:///src/components/ensembleScatterplot/ensembleScatterplot.vue","webpack:///./src/components/ensembleScatterplot/ensembleScatterplot.vue?7360","webpack:///./src/components/ensembleScatterplot/ensembleScatterplot.vue","webpack:///./src/components/parameterProjection/parameterProjection.vue?66b1","webpack:///./src/lib/lasso.js","webpack:///src/components/parameterProjection/parameterProjection.vue","webpack:///./src/components/parameterProjection/parameterProjection.vue?8f47","webpack:///./src/components/parameterProjection/parameterProjection.vue","webpack:///src/components/callflowEnsemble.vue","webpack:///./src/components/callflowEnsemble.vue?eac2","webpack:///./src/components/callflowEnsemble.vue","webpack:///./src/main.js","webpack:///./src/components/supergraph/supergraph.vue?5489","webpack:///./src/components/App.vue?be97","webpack:///./src/components/callsiteInformation/callsiteInformation.vue?359d","webpack:///./src/components/cct/cct.vue?c196"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","attrs","staticStyle","_v","runCounts","_e","_s","experiment","data_path","save_path","filter_by","filter_perc","group_by","staticClass","runtimeHeaders","runtime","scopedSlots","_u","fn","props","item","run","min_inclusive_runtime","max_inclusive_runtime","min_exclusive_runtime","max_exclusive_runtime","staticRenderFns","APIService","constructor","url","timeoutPromise","ms","promise","Promise","resolve","reject","timeoutId","setTimeout","Error","then","res","clearTimeout","err","POSTRequest","endpoint","jsonBody","fullURL","console","log","httpResponse","fetch","method","cache","credentials","headers","body","JSON","stringify","response","status","json","catch","error","GETRequest","debug","component","on","$event","stopPropagation","left","appName","datasets","maxHeight","updateTargetDataset","ref","indexOf","formatRuntimeWithoutUnits","metricTimeMap","model","callback","$$v","selectedTargetDataset","expression","formats","updateFormat","selectedFormat","slot","reset","metrics","updateMetric","selectedMetric","directives","rawName","updateMPIBinCount","selectedMPIBinCount","scales","updateScale","selectedScale","runtimeColorMap","updateColors","selectedRuntimeColorMap","selectedColorPoint","selectedColorMinText","selectedColorMaxText","sortByModes","updateRuntimeSortBy","selectedRuntimeSortBy","selectedMode","CategoricalColors","0","1","2","3","4","5","6","7","8","9","blue","orange","red","teal","green","yellow","purple","pink","brown","gray","UniformColorMaps","coolwarm","viridis","inferno","cividis","ColorBrewer","10","11","12","Color","colorscale","grey","highlight","ensemble","target","catColors","colorPadding","categoricalColors","colorbrewer","getScale","getColor","dictionary","attribute","getColorByValue","rgbArrayToHex","setColorPadding","colorPoint","ret","fraction","setColorScale","type","min","max","scaleType","colorMin","colorMax","colors","d3","chroma","padding","gamma","domain","mmax","Math","abs","CYKToRGB","CMYK","y","k","componentToHex","hex","toString","g","b","round","setContrast","rgb","hexToRgb","parseInt","getAllColors","keys","getCatColor","id","exec","rgbToHex","color_arr","_rgb","floor","valToPercentColor","val","colormap","idx","percentColToD3Rgb","percentCol","col256","map","elm","valToD3Rgb","EventBus","Vue","summaryChip","Sankey","sankey","nodeWidth","nodePadding","size","nodes","links","levelSpacing","referenceValue","minNodeScale","maxLevel","nodeMap","store","nodesByBreadth","targetDataset","widthScale","minDistanceBetweenNode","addLinkID","forEach","node","link","undefined","source","source_data","target_data","computeNodeLinks","sourceLinks","targetLinks","maxLinkVal","minLinkVal","numberOfLinks","computeNodeValues","sourceSum","sum","weight","targetSum","sourceTargetSum","targetWeight","targetTargetSum","max_flow","targetValue","scaleNodeBreadths","kx","x","level","computeNodeBreadths","remainingNodes","nextNodes","count","dx","scalePow","range","pushIntermediateNodeBottom","tempNode","split","fixEnsembleScale","ensembleScale","column","divValue","initializeNodeDepth","scale","levelCount","selectedSuperNodePositionMode","sort","a","nodeHeight","edge","parY","height","targetHeight","flowScale","scaled_weight","targetEnsembleRatio","heightRatio","relaxLeftToRight","alpha","weightedSource","center","breadth","relaxRightToLeft","weightedTarget","reverse","resolveCollisions","max_dy","dy","y0","ascendingDepth","computeNodeDepths","iterations","sortKeys","entries","values","pow","beta","computeLinkDepths","ascendingSourceDepth","ascendingTargetDepth","sy","ty","_","arguments","layout","relayout","setMinNodeScale","curvature","x0","x1","xi","x2","x3","y1","formatRuntimeWithUnits","format","formatRunCounts","formatRuntimeWithExponent","min_exponent","exponent","multiplier","mantessa","split_ret_by_e","parseFloat","toFixed","formatExponent","truncNames","str","len","str_list","replace","substr","textSize","text","container","append","getBBox","remove","width","getGradients","nodeName","gradients","callsites","measure","attr","bbox","textWrap","each","word","words","line","lineNumber","lineHeight","tspan","pop","join","getComputedTextLength","Graph","isDirected","vertices","edges","addVertex","newVertex","getKey","getVertexByKey","vertexKey","getNeighbors","vertex","getAllVertices","getAllEdges","addEdge","startVertex","endVertex","deleteEdge","findEdge","getWeight","reduce","graphEdge","getVerticesIndices","verticesIndices","index","getAdjacencyMatrix","adjacencyMatrix","Array","fill","Infinity","vertexIndex","neighbor","neighborIndex","LinkedListNode","next","Comparator","compareFunction","compare","defaultCompareFunction","equal","lessThan","greaterThan","lessThanOrEqual","greaterThanOrEqual","compareOriginal","LinkedList","comparatorFunction","head","tail","prepend","newNode","delete","deletedNode","currentNode","find","deleteTail","deletedTail","deleteHead","deletedHead","fromArray","toArray","currNode","prevNode","nextNode","GraphVertex","edgeComparator","edgeA","edgeB","neighborsConverter","getEdges","linkedListNode","getDegree","hasEdge","requiredEdge","edgeNode","hasNeighbor","vertexNode","edgeFinder","deleteAllEdges","GraphEdge","startVertexKey","endVertexKey","tmp","initCallbacks","callbacks","initiatedCallback","stubCallback","allowTraversalCallback","seen","nextVertex","allowTraversal","enterVertex","leaveVertex","depthFirstSearchRecursive","graph","currentVertex","previousVertex","depthFirstSearch","detectDirectedCycle","cycle","dfsParentMap","whiteSet","graySet","blackSet","currentCycleVertex","previousCycleVertex","firstWhiteKey","message","corr_coef","svgID","isCallsiteSelected","revealCallsite","isModuleSelected","class","isEntryFunctionSelected","showEntryFunctions","isCalleeSelected","showExitFunctions","showSplitButton","numberOfcallsites","_l","callsite","getID","_g","selectClassName","changeSelectedClassName","formatNumberOfHops","component_level","formatName","formatModule","mean","variance","stdDeviation","refInFor","containerWidth","containerHeight","updateCompareDataset","selectedCompareDataset","targetInfo","updateTargetColor","showTarget","updateRunBinCount","selectedRunBinCount","updateProp","selectedProp","distributionColorMap","selectedDistributionColorMap","targetColors","selectedTargetColor","updateIQRFactor","selectedIQRFactor","clickCallsite","numberOfDifferenceCallsites","style","targetColor","targetStandardDeviation","ensembleColor","ensembleMeans","ensembleStandardDeviation","numberOfIntersectionCallsites","targetMeans","selectedOutlierRanks","selectedOutlierDatasets","selectedPropLabel","selectedPropSum","selectedModule","Queue","linkedList","isEmpty","peek","enqueue","dequeue","removedHead","svgId","lasso","targetArea","items","closePathDistance","closePathSelect","isPathClosed","hoverSelect","className","start","draw","end","_this","tpath","origin","torigin","drawnCoords","dyn_path","close_path","origin_node","drag","dragstart","dragmove","dragend","e","__lasso","possible","selected","loopSelect","box","getBoundingClientRect","lassoPoint","top","sourceEvent","touches","clientX","clientY","tx","distance","sqrt","close_draw_path","classifyPoint","possibleItems","filter","selectedItems","notPossibleItems","notSelectedItems","types","use","Vuex","router","Router","routes","path","SingleCallFlow","EnsembleCallFlow","config","productionTip","BootstrapVue","Vuetify","VueMaterial","h","App","el","components","template","devtools"],"mappings":"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C3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,WAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,UAAY,YACzB,CAAC,UAAY,WAAa,WAC1B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,SAAW,WAAa,YACzB,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,WAC1B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,SAAW,YACzB,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,WAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CA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CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,WAC3B,CAAC,UAAY,UAAY,YACzB,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,UAAY,YACzB,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,SAAW,YACzB,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAA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AAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,SAAW,YACzB,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,WAC1B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,UAAY,YAC1B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,WAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,YAC1B,CAAC,WAAa,WAAa,UAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,UAAY,WAC1B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,YAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,SAAW,YACxB,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,WAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,UAAY,WAAa,WAC1B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,SAAW,WAAa,WACzB,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,WAAa,YAC3B,CAAC,WAAa,YAAa,aAE5BC,QAAS,CACR,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,KAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,KACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,MACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,KAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,KAAQ,IAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,IAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,KACjB,CAAC,MAAQ,MAAQ,KACjB,CAAC,MAAQ,MAAQ,KACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,IAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,KAAQ,MAAQ,KACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,KAAQ,KAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,KACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,KAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,IAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,MAAQ,MAAQ,MACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,KAAQ,MAAQ,OACjB,CAAC,MAAQ,MAAQ,OACjB,CAAC,MAAQ,KAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,KACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,OACjB,CAAC,EAAQ,MAAQ,MACjB,CAAC,EAAQ,MAAQ,QAElBV,MAAO,CACN,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,GAAK,kBAAoB,mBAC1B,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAo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AG,kBAAoB,mBACxB,CAAC,EAAG,kBAAoB,mBACxB,CAAC,EAAG,kBAAoB,mBACxB,CAAC,EAAG,kBAAoB,mBACxB,CAAC,EAAG,kBAAoB,mBACxB,CAAC,EAAG,kBAAoB,mBACxB,CAAC,EAAG,kBAAoB,mBACxB,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,kBACxC,CAAC,iBAAmB,kBAAoB,IACxC,CAAC,iBAAmB,kBAAoB,kBACxC,CAAC,iBAAmB,kBAAoB,kBACxC,CAAC,iBAAmB,kBAAoB,kBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,iBAAmB,kBAAoB,mBACxC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,GAAK,kBAC1B,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,iBAAmB,IACxC,CAAC,kBAAoB,iBAAmB,kBACxC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,kBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,GAAK,oBAC1B,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,iBAAmB,kBAAoB,oBACxC,CAAC,iBAAmB,kBAAoB,oBACxC,CAAC,iBAAmB,kBAAoB,oBACxC,CAAC,iBAAmB,kBAAoB,oBACxC,CAAC,iBAAmB,kBAAoB,oBACxC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,IACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,mBAAqB,mBAC1C,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,iBAAmB,mBACxC,CAAC,kBAAoB,GAAK,mBAC1B,CAAC,kBAAoB,iBAAmB,oBACxC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,mBAAqB,mBAC1C,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,kBAAoB,mBACzC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,iBAAmB,mBAAqB,qBACzC,CAAC,GAAK,mBAAqB,qBAC3B,CAAC,iBAAmB,mBAAqB,qBACzC,CAAC,iBAAmB,mBAAqB,qBACzC,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,GAAK,qBAC1B,CAAC,iBAAmB,GAAK,qBACzB,CAAC,iBAAmB,mBAAqB,qBACzC,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,GAAK,mBAAqB,qBAC3B,CAAC,iBAAmB,mBAAqB,qBACzC,CAAC,iBAAmB,mBAAqB,qBACzC,CAAC,kBAAoB,mBAAqB,qBAC1C,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,kBAAoB,qBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,kBAAoB,oBACzC,CAAC,kBAAoB,mBAAqB,oBAC1C,CAAC,kBAAoB,mBAAqB,sBAK/Bc,EAAc,CAC1B,QAAW,CACVtB,EAAG,CAAC,SAAU,UAAW,WACzBC,EAAG,CAAC,SAAU,UAAW,UAAW,WACpCC,EAAG,CAAC,SAAU,UAAW,UAAW,UAAW,WAC/CC,EAAG,CAAC,SAAU,UAAW,UAAW,UAAW,UAAW,WAC1DC,EAAG,CAAC,SAAU,UAAW,UAAW,UAAW,UAAW,UAAW,WACrEC,EAAG,CAAC,SAAU,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAChFC,EAAG,CAAC,SAAU,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE5F,KAAQ,CACPN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,OAAU,CACTN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,KAAQ,CACPN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,OAAU,CACTN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,KAAQ,CACPN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,KAAQ,CACPN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,OAAU,CACTN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,KAAQ,CACPN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,KAAQ,CACPN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,KAAQ,CACPN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,KAAQ,CACPN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,OAAU,CACTN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,QAAW,CACVN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,MAAS,CACRN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,OAAU,CACTN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,QAAW,CACVN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,KAAQ,CACPN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,MAAS,CACRN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,KAAQ,CACPN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC5FiB,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACxGC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAEpH,KAAQ,CACPxB,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC5FiB,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACxGC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAEpH,KAAQ,CACPxB,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC5FiB,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACxGC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAEpH,KAAQ,CACPxB,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC5FiB,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACxGC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAEpH,KAAQ,CACPxB,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC5FiB,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACxGC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAEpH,KAAQ,CACPxB,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC5FiB,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACxGC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAEpH,OAAU,CACTxB,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC5FiB,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACxGC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAEpH,SAAY,CACXxB,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC5FiB,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACxGC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAEpH,aAAgB,CACfxB,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC5FiB,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACxGC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAEpH,OAAU,CACTxB,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC5FiB,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACxGC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAEpH,OAAU,CACTxB,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAElF,MAAS,CACRL,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAElF,OAAU,CACTL,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC5FiB,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACxGC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACnHC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE/H,QAAW,CACVzB,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,QAAW,CACVN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAElF,KAAQ,CACPL,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAE7F,KAAQ,CACPN,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAElF,KAAQ,CACPL,EAAG,CAAC,UAAW,UAAW,WAC1BC,EAAG,CAAC,UAAW,UAAW,UAAW,WACrCC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,WAChDC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3DC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACtEC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACjFC,EAAG,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC5FiB,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACxGC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACnHC,GAAI,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,aCt4DjH,MAAMC,EACpB9G,cACChC,KAAK+I,WAAa,KAClB/I,KAAKgJ,KAAO,UACZhJ,KAAKiJ,UAAY,UACjBjJ,KAAKkJ,SAAW,UAChBlJ,KAAKmJ,OACJnJ,KAAKoJ,UAAY,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WACpOpJ,KAAKqJ,aAAe,GACpBrJ,KAAKsJ,kBAAoBtC,EACzBhH,KAAKuJ,YAAcb,EACnB1I,KAAKqI,iBAAmBA,EAGzBmB,WACC,OAAOxJ,KAAK+I,WAGbU,SAASC,EAAYC,GACpB,OAAO3J,KAAK+I,WAAWW,EAAWC,IAGnCC,gBAAgB9K,GACf,OAAOkB,KAAK6J,cAAc7J,KAAK+I,WAAWjK,IAG3CgL,gBAAgBC,GACf,IAAIC,EAAM,GACNC,EAAW,EAAIF,EACnB,IAAK,IAAIxN,EAAI,EAAGA,EAAIwN,EAAYxN,GAAK,EACpCyN,EAAIjN,KAAKR,EAAI0N,GAGd,OADAD,EAAIjN,KAAK,GACFiN,EAGRE,cAAcC,EAAO,YAAaC,EAAM,EAAGC,EAAM,EAAGC,EAAY,UAAWP,EAAa,KACvF/J,KAAKmK,KAAOA,EACZnK,KAAKuK,SAAWH,EAChBpK,KAAKwK,SAAWH,EAChB,IAAII,EAASzK,KAAKuJ,YAAYe,GAAWP,GACzC/J,KAAKqJ,aAAerJ,KAAK8J,gBAAgBC,GAEzC,IAAIhB,EAAa,KACjB,OAAQoB,GACR,IAAK,SACJpB,EAAa2B,OAAgBA,QAC7B,MACD,IAAK,YACJ3B,EAAa4B,WAAaF,GACxBG,QAAQ,CAAC,EAAK,IACdC,MAAM,IACNC,OAAO,CAACV,EAAKC,IACf,MACD,IAAK,YACJtB,EAAa4B,WAAaF,GACxBG,QAAQ,CAAC,EAAK,IACdC,MAAM,IACNC,OAAO,CAACV,EAAKC,IACf,MACD,IAAK,YACJtB,EAAa4B,WAAaF,GACxBK,OAAO,CAAC,EAAG,IACb,MACD,IAAK,WAAY,CAChB,IAAIC,EAAOC,KAAKX,IAAIW,KAAKC,IAAIb,GAAMY,KAAKC,IAAIZ,IAC5CtB,EAAa4B,WAAa,UACxBC,QAAQ,CAAC,EAAK,IACdE,OAAO,CAACC,GAAOA,IACjB,MAED,IAAK,WACJhC,EAAa4B,WAAaF,GACxBI,MAAM,IACNC,OAAO,CAACV,EAAKC,IACf,MACD,IAAK,gBACJtB,EAAa4B,WAAaF,GACxBG,QAAQ,CAAC,EAAK,IACdC,MAAM,IACNC,OAAO,CAACV,EAAKC,IACf,MAEDrK,KAAK+I,WAAaA,EAGnBmC,SAASC,GACR,IAAI7N,EAAS,GACTa,EAAIgN,EAAK,GACTjN,EAAIiN,EAAK,GACTC,EAAID,EAAK,GACTE,EAAI,EAUR,SAASC,EAAenN,GACvB,IAAIoN,EAAMpN,EAAEqN,SAAS,IACrB,OAAqB,GAAdD,EAAI9O,OAAc,IAAM8O,EAAMA,EAGtC,OAbAjO,EAAOqB,EAAI,EAAIqM,KAAKZ,IAAI,EAAGjM,GAAK,EAAIkN,GAAKA,GACzC/N,EAAOmO,EAAI,EAAIT,KAAKZ,IAAI,EAAGlM,GAAK,EAAImN,GAAKA,GACzC/N,EAAOoO,EAAI,EAAIV,KAAKZ,IAAI,EAAGgB,GAAK,EAAIC,GAAKA,GAEzC/N,EAAOqB,EAAIqM,KAAKW,MAAiB,IAAXrO,EAAOqB,GAC7BrB,EAAOmO,EAAIT,KAAKW,MAAiB,IAAXrO,EAAOmO,GAC7BnO,EAAOoO,EAAIV,KAAKW,MAAiB,IAAXrO,EAAOoO,GAOtB,IAAMJ,EAAehO,EAAOqB,GAAK2M,EAAehO,EAAOmO,GAAKH,EAAehO,EAAOoO,GAG1FE,YAAYL,GACX,MAAMM,EAAM7L,KAAK8L,SAASP,GACpBhN,EAAIyM,KAAKW,OAA0B,IAAlBI,SAASF,EAAIlN,GAChB,IAAlBoN,SAASF,EAAIJ,GACK,IAAlBM,SAASF,EAAIH,IAAa,KAE5B,OAAQnN,EAAI,IAAO,OAAS,OAG7ByN,eACC,OAAOtP,OAAOuP,KAAKjM,KAAKuJ,aAGzB2C,YAAYC,GACX,OAAOnM,KAAKoJ,UAAU+C,GAGvBL,SAASP,GACR,MAAMjO,EAAS,4CAA4C8O,KAAKb,GAChE,OAAOjO,EAAS,CACfqB,EAAGoN,SAASzO,EAAO,GAAI,IACvBmO,EAAGM,SAASzO,EAAO,GAAI,IACvBoO,EAAGK,SAASzO,EAAO,GAAI,KACpB,KAGL+O,SAAS1N,EAAG8M,EAAGC,GACd,MAAO,MAAQ,GAAK,KAAO/M,GAAK,KAAO8M,GAAK,GAAKC,GAAGF,SAAS,IAAI3L,MAAM,GAGxEgK,cAAcyC,GACbA,EAAYA,EAAUC,KACtB,IAAI5N,EAAIqM,KAAKwB,MAAMF,EAAU,IACzBb,EAAIT,KAAKwB,MAAMF,EAAU,IACzBZ,EAAIV,KAAKwB,MAAMF,EAAU,IAC7B,MAAO,MAAQ,GAAK,KAAO3N,GAAK,KAAO8M,GAAK,GAAKC,GAAGF,SAAS,IAAI3L,MAAM,GAGxE4M,kBAAkBC,EAAKC,GACtB,MAAMC,EAAM5B,KAAKZ,IAChBY,KAAKX,IAAI,EAAGW,KAAKW,MAAMe,EAAMC,EAASlQ,SACtCkQ,EAASlQ,OAAS,GAEnB,OAAOkQ,EAASC,GAGjBC,kBAAkBC,GACjB,MAAMC,EAASD,EAAWE,IAAIC,GAAOjC,KAAKW,MAAY,IAANsB,IAChD,MAAQ,OAAMF,EAAO,OAAOA,EAAO,OAAOA,EAAO,MAGlDG,WAAWR,EAAKC,GACf,OAAO3M,KAAK6M,kBAAkB7M,KAAKyM,kBAAkBC,EAAKC,K,mCCxK5D,MAAMQ,EAAW,IAAIC,aAEND,QCXX,EAAS,WAAa,IAAIpN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,WAAW,CAACc,YAAY,kBAAkB,CAACd,EAAG,SAAS,CAACc,YAAY,OAAOZ,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,MAAQ,GAAG,SAAW,GAAG,UAAY,KAAK,CAACN,EAAIQ,GAAG,IAAIR,EAAIW,GAAGX,EAAIsN,aAAa,OAAOlN,EAAG,YAAYA,EAAG,OAAO,CAACc,YAAY,kBAAkB,CAAClB,EAAIQ,GAAG,eAAeR,EAAIW,GAAGX,EAAI+F,gBAAgB,iBAAiB,GAAG3F,EAAG,WAAW,CAACA,EAAG,MAAM,CAACE,MAAM,CAAC,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,cAAc,CAACF,EAAG,gBAAgB,CAAC2E,IAAI,kBAAkB3E,EAAG,gBAAgB,CAAC2E,IAAI,kBAAkB3E,EAAG,iBAAiB,CAAC2E,IAAI,mBAAmB3E,EAAG,mBAAmB,CAAC2E,IAAI,sBAAsB,QAAQ,IACnrB,EAAkB,G,wBCWP,SAASwI,IACvB,IAAIC,EAAS,GACZC,EAAY,GACZC,EAAc,EACdC,EAAO,CAAC,EAAG,GACXC,EAAQ,GACRC,EAAQ,GACRC,EAAe,GACfC,EAAiB,EACjBC,EAAe,EACfC,EAAW,EACXC,EAAU,GACVC,EAAQ,GACR9J,GAAQ,EACR+J,EAAiB,GAGjBC,EAAgB,GAEjB,IAAIC,EACAC,EAAyB,EA4G7B,SAASC,IACR,IAAI3B,EAAM,EACVe,EAAMa,SAAQ,SAAUC,GACvBR,EAAQQ,EAAKtC,IAAMsC,EACfrK,GACHjB,QAAQiB,MAAM,qBAAsBqK,EAAKtC,GAAI,eAAgBS,GAE9DA,GAAO,KAGRgB,EAAMY,SAAQ,SAAUE,QACKC,GAAxBV,EAAQS,EAAKE,UAChBX,EAAQS,EAAKE,QAAUhC,EACvBA,GAAO,QAGoB+B,GAAxBV,EAAQS,EAAKvF,UAChB8E,EAAQS,EAAKvF,QAAUyD,EACvBA,GAAO,GAER8B,EAAKG,YAAcZ,EAAQS,EAAKE,QAChCF,EAAKI,YAAcb,EAAQS,EAAKvF,WAOlC,SAAS4F,IACRpB,EAAMa,SAAQ,SAAUC,GACvBA,EAAKO,YAAc,GACnBP,EAAKQ,YAAc,GACnBR,EAAK,cAAgB,EACrBA,EAAK,cAAgB,QAEtBb,EAAMY,SAAQ,SAAUE,GACvBA,EAAKG,YAAYG,YAAYjS,KAAK2R,GAClCA,EAAKG,YAAYK,WAAalE,KAAKX,IAAIqE,EAAKG,YAAYK,WAAYR,EAAK,WACzEA,EAAKG,YAAYM,WAAanE,KAAKZ,IAAIsE,EAAKG,YAAYM,WAAYT,EAAK,WAEzEA,EAAKI,YAAYG,YAAYlS,KAAK2R,GAClCA,EAAKI,YAAYK,WAAanE,KAAKZ,IAAIsE,EAAKI,YAAYK,WAAYT,EAAK,WACzEA,EAAKI,YAAYI,WAAalE,KAAKX,IAAIqE,EAAKI,YAAYI,WAAYR,EAAK,cAG1Ef,EAAMa,SAAQ,SAAUC,GACvB,IAAIW,EAAgBpE,KAAKX,IAAIoE,EAAKO,YAAYvS,OAAQgS,EAAKQ,YAAYxS,QAExC,GAA3BgS,EAAKO,YAAYvS,SAEpB2S,EAAgBX,EAAKQ,YAAYxS,QAElCgS,EAAK,YAAcW,KAKrB,SAASC,IACR1B,EAAMa,SAAQ,SAAUC,GACvB,IAAIa,EAAYC,eAAId,EAAKO,YAAcN,GAC/BA,EAAKc,QAGTC,EAAYF,eAAId,EAAKQ,YAAcP,GAC/BA,EAAKc,QAITE,EAAkBH,eAAId,EAAKO,YAAcN,GACrCA,EAAKiB,cAGTC,EAAkBL,eAAId,EAAKQ,YAAcP,GACrCA,EAAKiB,cAGblB,EAAKoB,SAAW7E,KAAKX,IAAIiF,EAAWG,GAEnB,gBAAbhB,EAAKtE,OAIRsE,EAAK3P,MAAQ2P,EAAK,eAAe,aACjCA,EAAKqB,YAAc,OACsBnB,GAArCF,EAAKP,EAAM7I,yBACdoJ,EAAKqB,YAAcrB,EAAKP,EAAM7I,uBAAuB,eAAe,oBAK7BsJ,GAArCF,EAAKP,EAAM7I,yBACdoJ,EAAKqB,YAAc9E,KAAKX,IAAIoE,EAAKqB,YAAa9E,KAAKX,IAAIqF,EAAiBE,KAGzEzM,QAAQiB,MAAM,sCAAuCqK,EAAKtC,GAAI,KAAMsC,EAAK3P,OACzEqE,QAAQiB,MAAM,6CAA8CqK,EAAKtC,GAAI,KAAMsC,EAAKqB,gBAgBlF,SAASC,EAAkBC,GAC1BrC,EAAMa,SAAQ,SAAUC,GACvB,IAAIwB,EAAI5B,EAAWI,EAAKyB,OACxBzB,EAAKwB,EAAIA,KAQX,SAASE,IACR,IAAIC,EAAiBzC,EACjB0C,EAAY,GACZH,EAAQ,EACRI,EAAQ,EACZ,MAAOF,EAAe3T,OACrB4T,EAAY,GACZD,EAAe5B,SAAQ,SAAUC,GAChCA,EAAKyB,MAAQA,EACbzB,EAAK8B,GAAK/C,EACViB,EAAKO,YAAYR,SAAQ,SAAUE,GAClC2B,EAAUtT,KAAK2R,EAAKI,mBAGtBsB,EAAiBC,EACjBH,GAAS,EACTI,GAAS,EAGVnN,QAAQiB,MAAM,6CAA8C8L,GAE5D5B,EAAqC,EAAZd,EACzBa,EAAamC,iBAAW1F,OAAO,CAAC,EAAGoF,IAAQO,MAAM,CAACnC,EAAwBZ,EAAK,KAC/EqC,GAAmBrC,EAAK,GAAKF,GAAcQ,GA4B5C,SAAS0C,EAA2B/C,GACnC,IAAIgD,EACJ,IAAK,IAAIpU,EAAI,EAAGA,EAAIoR,EAAMlR,OAAQF,GAAK,EACL,gBAA7BoR,EAAMpR,GAAG4P,GAAGyE,MAAM,KAAK,KAC1BD,EAAWhD,EAAMpR,GACjBoR,EAAMhQ,OAAOpB,EAAG,IAMlB,YAHgBoS,GAAZgC,GACHhD,EAAM5Q,KAAK4T,GAELhD,EAqBR,SAASkD,IACR,IAAIC,EAAgB1G,eAAI+D,EAAiB4C,IACxC,IAAIC,EAAW,EAUf,OARCA,EADGlD,EAAiB,EACTA,EAGAyB,eAAIwB,EAAStC,GAChBA,EAAK3P,OAIPkM,KAAKC,IAAKyC,EAAK,IAAMqD,EAAOtU,OAAS,GAAKgR,GAAgBuD,IAGlE,OAAOF,EA0CR,SAASG,IACR,IAAIC,EAAQL,IACRM,EAAa,EAEjBhD,EAAeK,SAAQ,SAAUb,GACW,yBAAvCO,EAAMkD,8BACTjO,QAAQC,IAAI,iCAGZuK,EAAM0D,MAAK,SAAUC,EAAG5F,GACvB,MAA2C,aAAvCwC,EAAMkD,8BACF1F,EAAE,cAAgB4F,EAAE,cAEoB,aAAvCpD,EAAMkD,8BACP1F,EAAE,QAAU4F,EAAE,aADjB,KAKP3D,EAAQ+C,EAA2B/C,GAGnCA,EAAMa,SAAQ,SAAUC,EAAMlS,GAC7B,IAAIgV,EAAa,EACjB3D,EAAMY,SAAQ,SAAUgD,GACnBA,EAAK,WAAa/C,GACC,MAAlB+C,EAAK,WAA4C,MAAvBA,EAAK,UAAU,OAC5CD,EAAavG,KAAKX,IAAIkH,EAAYC,EAAK,UAAU,UAIpD/C,EAAKrD,EAAIJ,KAAKX,IAAIkH,EAAYhV,GAC9BkS,EAAKgD,KAAOhD,EAAKrD,EAEjBjI,QAAQiB,MAAM,+BAAgCqK,EAAKtC,IACnDhJ,QAAQiB,MAAM,gCAAiCqK,EAAK3P,OACpDqE,QAAQiB,MAAM,uCAAwC2J,GACtD5K,QAAQiB,MAAM,2CAA4C8M,GAE1DzC,EAAKiD,OAASjD,EAAK3P,MAAQiP,EAAemD,EAC1CzC,EAAKkD,aAAelD,EAAKqB,YAAc/B,EAAemD,EAEtD/N,QAAQiB,MAAM,sCAAuCqK,EAAKiD,WAE3DP,GAAc,KAGfvD,EAAMY,SAAQ,SAAUE,GACvB,IAAIkD,EAAYlD,EAAKG,YAAY/P,MAAQ4P,EAAKG,YAAYgB,SAC1DnB,EAAKmD,cAAgBnD,EAAKc,OAASoC,EACnClD,EAAKgD,OAAShD,EAAKmD,cAAgBX,EAEnC,IAAIY,EAAuBpD,EAAKG,YAAYiB,YAAcpB,EAAKG,YAAY/P,MAC3E4P,EAAKiB,aAAejB,EAAKc,OAASsC,EAClCpD,EAAKiD,aAAejD,EAAKiB,aAAeuB,EAExC,IAAIa,EAAcrD,EAAKiD,aAAejD,EAAKgD,OACvCK,GAAeD,GAClB3O,QAAQC,IAAI,wFAKf,SAAS4O,EAAiBC,GAUzB,SAASC,EAAexD,GACvB,OAAOyD,EAAOzD,EAAKE,QAAUF,EAAKc,OAVnCrB,EAAeK,SAAQ,SAAUb,EAAOyE,GACvCzE,EAAMa,SAAQ,SAAUC,GACvB,GAAIA,EAAKQ,YAAYxS,OAAQ,CAC5B,IAAI2O,EAAIV,OAAO+D,EAAKQ,YAAaiD,GAAkBxH,OAAO+D,EAAKQ,YAAanQ,GAC5E2P,EAAKrD,IAAMA,EAAI+G,EAAO1D,IAASwD,SAUnC,SAASI,EAAiBJ,GAWzB,SAASK,EAAe5D,GACvB,OAAOyD,EAAOzD,EAAKvF,QAAUuF,EAAKc,OAXnCrB,EAAetO,QAAQ0S,UAAU/D,SAAQ,SAAUb,GAClDA,EAAMa,SAAQ,SAAUC,GACvB,GAAIA,EAAKO,YAAYvS,OAAQ,CAC5B,IAAI2O,EAAIV,OAAO+D,EAAKO,YAAasD,GAAkB5H,OAAO+D,EAAKO,YAAalQ,GAE5E2P,EAAKrD,IAAMA,EAAI+G,EAAO1D,IAASwD,SAUnC,SAASO,IACR,IAAIC,EAAS,EAoCb,OAnCAtE,EAAeK,SAAQ,SAAUb,GAChC,IAAIc,EACHiE,EACAC,EAAK,EAKN,IAAKlE,KAFLd,EAAM0D,KAAKuB,GAEEjF,GACZ+E,EAAKC,EAAKlE,EAAKrD,EACXsH,EAAK,IACRjE,EAAKrD,GAAKsH,GAEXC,EAAKlE,EAAKrD,EAAIqD,EAAKiD,OAASjE,EAK7B,GADAiF,EAAKC,EAAKlF,EAAcC,EAAK,GACzBgF,EAAK,EAAG,CACXC,EAAKlE,EAAKrD,GAAKsH,EAEf,IAAK,IAAInW,EAAIoR,EAAMlR,OAAS,EAAGF,EAAI,IAAKA,EACvCkS,EAAOd,EAAMpR,GACbmW,EAAKjE,EAAKrD,EAAIqD,EAAKiD,OAASjE,EAAckF,EACtCD,EAAK,IAAIjE,EAAKrD,GAAKsH,GACvBC,EAAKlE,EAAKrD,EAIZsH,EAAKC,EAAKlF,EAAcC,EAAK,GACzBgF,EAAK,IACRD,EAASzH,KAAKX,IAAIqI,EAAID,OAIjBA,EAyCR,SAASG,EAAetB,EAAG5F,GAC1B,OAAO4F,EAAE,KAAO5F,EAAE,KAGnB,SAASmH,EAAkBC,GAE1B3E,EAAiBzD,SACftL,KAAI,SAAUhB,GAAK,OAAOA,EAAE8R,SAC5B6C,SAASrI,QACTsI,QAAQrF,GACRX,KAAI,SAAU5O,GACd,IAAI4L,EAAM,GACV,IAAK,IAAIzN,EAAI,EAAGA,EAAI6B,EAAE6U,OAAOxW,OAAQF,GAAK,EAAG,CACjC6B,EAAE6U,OAAO1W,GACpByN,EAAIjN,KAAKqB,EAAE6U,OAAO1W,IAEnB,OAAOyN,KAGTiH,IACAuB,IAEA,IAAK,IAAIjW,EAAI,EAAGA,EAAIuW,IAAcvW,EAAG,CACpC,IAAI0V,EAAQjH,KAAKkI,IAAI,IAAM3W,GACvB4W,EAAOnI,KAAKX,IAAI,EAAI4H,GAAQ1V,EAAI,GAAKuW,GACzCT,EAAiBJ,GACRO,EAAkBW,GAC3BnB,EAAiBC,GACRO,EAAkBW,IAQ7B,SAASC,IAuCR,SAASC,EAAqB/B,EAAG5F,GAChC,OAAO4F,EAAE1C,OAAOxD,EAAIM,EAAEkD,OAAOxD,EAG9B,SAASkI,EAAqBhC,EAAG5F,GAChC,OAAO4F,EAAEnI,OAAOiC,EAAIM,EAAEvC,OAAOiC,EA3C9BuC,EAAMa,SAAQ,SAAUC,GACvBA,EAAKO,YAAYqC,KAAKiC,GACtB7E,EAAKQ,YAAYoC,KAAKgC,MAWvB1F,EAAMa,SAAQ,SAAUC,GACvB,IAAI8E,EAAK,EAAGC,EAAK,EAEjB/E,EAAKO,YAAYqC,MAAK,SAAUC,EAAG5F,GAClC,OAAOA,EAAEmD,YAAYzD,EAAIkG,EAAEzC,YAAYzD,KAGxCqD,EAAKQ,YAAYoC,MAAK,SAAUC,EAAG5F,GAClC,OAAO4F,EAAExC,YAAY1D,EAAIM,EAAEoD,YAAY1D,KAGxCqD,EAAKO,YAAYR,SAAQ,SAAUE,GACjB,aAAbA,EAAKvE,OACRuE,EAAK6E,GAAKA,EACVA,GAAM7E,EAAKgD,WAGbjD,EAAKQ,YAAYT,SAAQ,SAAUE,GACjB,aAAbA,EAAKvE,OACRuE,EAAK8E,GAAKA,EACVA,GAAM9E,EAAKgD,cA8Bf,SAASS,EAAO1D,GACf,OAAO,EAGR,SAAS3P,EAAM4P,GACd,OAAOA,EAAKc,OA2Cb,OA/qBAjC,EAAOC,UAAY,SAAUiG,GAC5B,OAAKC,UAAUjX,QACf+Q,GAAaiG,EACNlG,GAFwBC,GAKhCD,EAAOM,aAAe,SAAU4F,GAC/B,OAAKC,UAAUjX,QACfoR,GAAgB4F,EACTlG,GAFwBM,GAKhCN,EAAOE,YAAc,SAAUgG,GAC9B,OAAKC,UAAUjX,QACfgR,GAAegG,EACRlG,GAFwBE,GAKhCF,EAAOI,MAAQ,SAAU8F,GACxB,OAAKC,UAAUjX,QACfkR,EAAQ8F,EACDlG,GAFwBI,GAKhCJ,EAAOK,MAAQ,SAAU6F,GACxB,OAAKC,UAAUjX,QACfmR,EAAQ6F,EACDlG,GAFwBK,GAKhCL,EAAOG,KAAO,SAAU+F,GACvB,OAAKC,UAAUjX,QACfiR,EAAO+F,EACAlG,GAFwBG,GAKhCH,EAAOS,SAAW,SAAUyF,GAC3B,OAAKC,UAAUjX,QACfuR,EAAWyF,EACJlG,GAFwBS,GAKhCT,EAAOa,cAAgB,SAAUqF,GAChC,OAAKC,UAAUjX,QACf2R,EAAgBqF,EACTlG,GAFwBa,GAKhCb,EAAOW,MAAQ,SAAUuF,GACxB,OAAKC,UAAUjX,QACfyR,EAAQuF,EACDlG,GAFwBW,GAKhCX,EAAOoG,OAAS,SAAUb,GAYzB,OAXAvE,IACAQ,IACA5L,QAAQiB,MAAM,iCACdiL,IACAlM,QAAQiB,MAAM,kCACd+L,IACAhN,QAAQiB,MAAM,oCACdyO,EAAkBC,GAClB3P,QAAQiB,MAAM,iCACdgP,IACAjQ,QAAQiB,MAAM,mCACPmJ,GAGRA,EAAOqG,SAAW,WAEjB,OADAR,IACO7F,GAGRA,EAAOsG,gBAAkB,SAAUJ,GAClC,OAAKC,UAAUjX,QACfsR,GAAgB0F,EACTlG,GAFwBQ,GAKhCR,EAAOmB,KAAO,WACb,IAAIoF,EAAY,GAGhB,SAASpF,EAAKtQ,GACb,IAAI2V,EAAK3V,EAAEwQ,OAAOqB,EAAI7R,EAAEwQ,OAAO8C,OAC9BsC,EAAK5V,EAAE+K,OAAO8G,EACdgE,EAAKvJ,OAAqBqJ,EAAIC,GAC9BE,EAAKD,EAAGH,GACRK,EAAKF,EAAG,EAAIH,GACZnB,EAAKvU,EAAEwQ,OAAOxD,EAAIhN,EAAEmV,GAAKnV,EAAEwQ,OAAO8C,OAAS,EAC3C0C,EAAKhW,EAAE+K,OAAOiC,EAAIhN,EAAEoV,GAAKpV,EAAE+K,OAAOuI,OAAS,EAC5C,MAAO,IAAMqC,EAAK,IAAMpB,EACrB,IAAMuB,EAAK,IAAMvB,EACjB,IAAMwB,EAAK,IAAMC,EACjB,IAAMJ,EAAK,IAAMI,EAQrB,OALA1F,EAAKoF,UAAY,SAAUL,GAC1B,OAAKC,UAAUjX,QACfqX,GAAaL,EACN/E,GAFwBoF,GAIzBpF,GAwkBDnB,ECjtBR,IAAI,EAAS,WAAa,IAAIxN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,gBAAgB,CAAC2E,IAAI,kBAAkB3E,EAAG,OAAO,CAAC2E,IAAI,SAAS3E,EAAG,UAAU,CAAC2E,IAAI,YAAY3E,EAAG,SAAS,CAAC2E,IAAI,WAAW3E,EAAG,aAAa,CAAC2E,IAAI,eAAe3E,EAAG,WAAW,CAAC2E,IAAI,aAAa3E,EAAG,WAAW,CAAC2E,IAAI,cAAc,IAC3V,EAAkB,GCiBf,SAASuP,EAAuB3H,GACtC,GAAW,GAAPA,EACH,OAAOA,EAER,IAAI4H,EAAS5J,OAAU,MACvB,OAAO4J,EAAO5H,GAGR,SAAS6H,EAAgB7H,GAC/B,OAAW,GAAPA,EACIA,EAAM,OAEPA,EAAM,QAGP,SAAS1H,EAA0B0H,GACzC,IAAI4H,EAAS5J,OAAU,MACvB,OAAO4J,EAAO5H,GAIR,SAAS8H,EAA0B9H,EAAK+H,EAAe,GAC7D,IAAIH,EAAS5J,OAAU,MACnBV,EAAMsK,EAAO5H,GACjB,GAAW,GAAP1C,EACH,MAAO,CAAC,EAAG,EAAGyK,GAGf,IAAIC,EAAW,EACXC,EAAa,EACbC,EAAW,EACf,IAAyB,GAArB5K,EAAIjF,QAAQ,KAAY,CAC3B,IAAI8P,EAAiB7K,EAAIwB,WAAWoF,MAAM,KAC1C8D,EAAW3I,SAAS8I,EAAe,GAAGjE,MAAM,KAAK,IACjD+D,EAAa5I,SAAS2I,GAAYD,EAClCG,EAAWE,WAAWD,EAAe,IAEtC,MAAO,CAACD,EAASG,QAAQ,GAAIL,EAAUD,GAIjC,SAASO,EAAetI,GAC9B,IAAI4H,EAAS5J,OAAU,MACnBV,EAAMsK,EAAO5H,GACbgI,EAAW1K,EAOf,OALC0K,GADwB,GAArB1K,EAAIjF,QAAQ,KACJgH,SAAS/B,EAAIwB,WAAWoF,MAAM,KAAK,GAAGA,MAAM,KAAK,IAGjD,EAEL8D,EAoBD,SAASO,EAAWC,EAAKC,GAK/B,GAJID,EAAInQ,QAAQ,OACfmQ,EAAMA,EAAItE,MAAM,KAAK,IAGlBsE,EAAInQ,QAAQ,MAAQ,EAAG,CAC1B,IAAIqQ,EAAWF,EAAItE,MAAM,KACzBsE,EAAME,EAASA,EAAS3Y,OAAS,GAIlC,OADAyY,EAAMA,EAAIG,QAAQ,uBAAwB,SAClCH,EAAIzY,OAAS0Y,EAAOD,EAAII,OAAO,EAAGH,EAAM,GAAK,MAAQD,EAGvD,SAASK,EAASpJ,EAAIqJ,GAC5B,MAAMC,EAAY/K,OAAU,IAAMyB,GAChCuJ,OAAO,OACTD,EAAUC,OAAO,QACfrV,MAAM,CACN4P,GAAI,MACJ7E,GAAI,QAEJoK,KAAMpX,GAAMoX,GACd,MAAM9H,EAAO+H,EAAUhH,OAAOkH,UAE9B,OADAF,EAAUG,SACH,CACNC,MAAOnI,EAAKmI,MACZnE,OAAQhE,EAAKgE,QAIR,SAASoE,EAAa5H,EAAOO,GACnC,IAAIsH,EAAW,GACXC,EAAY,GAYhB,MAXiB,cAAbvH,EAAKtE,WAAkEwE,GAA1CT,EAAMlR,QAAQ,YAAYyR,EAAKzQ,SAC/D+X,EAAWtH,EAAKzQ,OAChBgY,EAAY9H,EAAMlR,QAAQ,YAAY+Y,GAAU7H,EAAMpI,gBAAgB,cAEjD,kBAAb2I,EAAKtE,MACb4L,EAAWtH,EAAKpQ,KAChB2X,EAAY9H,EAAM+H,UAAU,YAAYF,GAAU7H,EAAMpI,gBAAgB,cAEnD,gBAAb2I,EAAKtE,OACb6L,EAAY,IAENA,EAgBD,SAASE,EAAQV,GACvB,IAAKA,GAAwB,IAAhBA,EAAK/Y,OAAc,MAAO,CAAEiV,OAAQ,EAAGmE,MAAO,GAE3D,MAAMJ,EAAY/K,OAAU,QAAQgL,OAAO,OAAOS,KAAK,QAAS,SAChEV,EAAUC,OAAO,QAAQrV,MAAM,CAAE4P,GAAI,IAAM7E,GAAI,MAAQoK,KAAKA,GAE5D,MAAMY,EAAOX,EAAUhH,OAAOkH,UAG9B,OAFAF,EAAUG,SAEH,CAAElE,OAAQ0E,EAAK1E,OAAQmE,MAAOO,EAAKP,OAQpC,SAASQ,EAASb,EAAMK,GAC9BL,EAAKc,MAAK,WACT,IAECC,EAFGf,EAAO9K,OAAU1K,MACpBwW,EAAQhB,EAAKA,OAAO5E,MAAM,OAAO2B,UAEjCkE,EAAO,GACPC,EAAa,EACbC,EAAa,IACb1G,EAAIuF,EAAKW,KAAK,KACd/K,EAAIoK,EAAKW,KAAK,KACdzD,EAAK,EACLkE,EAAQpB,EAAKA,KAAK,MAAME,OAAO,SAASS,KAAK,KAAMzD,EAAK,MAEzD,MAAQ6D,EAAOC,EAAMK,MACpBJ,EAAK1Z,KAAKwZ,GACVK,EAAMpB,KAAKiB,EAAKK,KAAK,MACjBF,EAAMnI,OAAOsI,wBAA0BlB,IAC1CY,EAAKI,MACLD,EAAMpB,KAAKiB,EAAKK,KAAK,MACrBL,EAAO,CAACF,GACRK,EAAQpB,EAAKE,OAAO,SAASS,KAAK,IAAKlG,GAAGkG,KAAK,IAAK/K,GAAG+K,KAAK,OAAQO,EAAaC,EAAajE,EAAK,MAAM8C,KAAKe,OC3LlH,IAAI,EAAS,WAAa,IAAIxW,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,EAAkB,GCatB,GACA,qBACA,WACA,cACA,sBAGA,SACA,UACA,aACA,kBAGA,iBACA,kBAGA,eAIA,YACA,yBACA,4BACA,eAEA,6BACA,wCACA,8BAEA,EACA,gBACA,gBACA,gBACA,kBAEA,SACA,KACA,sEACA,kGACA,mGAEA,0BACA,kGACA,mGAEA,yBACA,KACA,MAGA,6BACA,2BACA,OACA,iBACA,yBACA,uEAKA,YACA,wCACA,iBAGA,EACA,aACA,yCACA,OACA,WACA,uBACA,OAGA,OAGA,WACA,SACA,wCAmBA,OAjBA,EADA,wCACA,aAGA,OAGA,8BACA,oEACA,kDAGA,2BAEA,kEACA,kDAGA,GAEA,kBACA,uBACA,EAGA,iBAGA,QACA,uBACA,sCAEA,0BACA,gEACA,sCAGA,sCAGA,8BACA,oEACA,sCAGA,2CALA,KAYA,YCnJqX,ICOjX,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,K,QClBX,GAAS,WAAa,IAAIpM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,GAAkB,GCatB,IACA,YACA,cACA,cAEA,WACA,YACA,SACA,WACA,aACA,wBAGA,SACA,QACA,aAGA,wBACA,iBAIA,UAEA,kBAGA,4BACA,iBAKA,WAGA,GAFA,2CAEA,oCACA,kDAEA,8BAEA,gBACA,gBACA,mCACA,kCAEA,yCAKA,eACA,qCACA,oBAEA,6BACA,UAGA,MACA,eACA,OACA,0BACA,0BACA,KACA,KACA,0BACA,KACA,mBACA,WACA,qBAMA,cACA,qCACA,iCAEA,oBAGA,6BACA,UAEA,KACA,YAGA,gBACA,KACA,kBACA,oCACA,uCACA,qBACA,gCACA,MACA,eACA,OACA,8BACA,6BACA,MACA,gBACA,eAEA,qBACA,0BACA,YAIA,CACA,0CACA,UAEA,MACA,eACA,OACA,8BACA,6BACA,MACA,gBACA,eAEA,qBACA,0BACA,aAIA,eACA,UACA,MACA,eACA,OACA,8BACA,6BACA,MACA,YACA,eAEA,qBACA,0BACA,SAIA,wBACA,cACA,MACA,eACA,OACA,8BACA,6BACA,4BACA,YACA,eAEA,qBACA,0BACA,SAIA,KACA,MACA,eACA,OACA,8BACA,0BACA,4BACA,IACA,eAEA,qBACA,0BACA,wBAEA,eACA,MACA,eACA,OACA,8BACA,0BACA,4BACA,MACA,eAEA,qBACA,0BACA,0BAKA,eAEA,yBACA,oBAEA,oBACA,oBAIA,WACA,+CACA,sDC/N8W,MCO1W,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,GAAkB,GCctB,IACA,kBACA,cAEA,WACA,mBAGA,SACA,QACA,aAEA,0DACA,8DAEA,eACA,mBAIA,aACA,yBAEA,6BACA,oEACA,2CAEA,UAEA,MACA,eACA,OACA,oBACA,gEACA,KACA,KACA,0BACA,KACA,iBACA,gDAMA,QACA,mCC7DkX,MCO9W,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,cAChH,GAAkB,GCatB,IACA,YACA,eACA,cAEA,WACA,uBACA,YACA,eACA,eACA,eACA,WACA,UACA,YACA,YACA,qBACA,uBAGA,SACA,QACA,UACA,4BACA,6BAMA,YACA,QAKA,OAJA,0CACA,mCAEA,kCACA,GAMA,YACA,QAKA,OAJA,2CACA,mCAEA,kCACA,GASA,eAEA,iDACA,gCACA,gCAKA,aACA,iBAIA,kCACA,mCAQA,YACA,iCACA,iCACA,yBAEA,gDAEA,wCACA,+BACA,eACA,OACA,0BACA,YACA,eACA,UACA,iBACA,YACA,qBAEA,OACA,eACA,iBAGA,2BACA,yBAQA,WACA,kBACA,+BACA,eACA,kCACA,sBACA,OACA,wBACA,MACA,yBAEA,MACA,qEAGA,SAOA,sBACA,kCACA,oDACA,+CAOA,mBACA,SACA,mCACA,yDAEA,uCACA,mCAGA,SACA,mCACA,2DAEA,uCACA,qCAKA,SAEA,EADA,sCACA,8EAGA,uDAEA,SACA,6BACA,2FACA,mDAIA,sCACA,kBAIA,wBACA,oBAGA,sBAEA,iBACA,mCACA,oCAGA,8BAEA,wCACA,kBACA,wDACA,8CACA,UACA,OACA,2BACA,gEAEA,cACA,eACA,OACA,qBACA,sBACA,SACA,YACA,0BAEA,gBAEA,cACA,eACA,OACA,YACA,SACA,0BAEA,cAEA,cACA,eACA,OACA,aACA,SACA,0BAEA,WAEA,cACA,eACA,OACA,qBACA,sBACA,aACA,YACA,0BAEA,gBACA,cACA,eACA,OACA,aACA,SACA,0BAEA,cAGA,iBACA,KACA,4CAQA,QACA,iBACA,sCACA,uCCxR+W,MCO3W,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,GAAkB,GCWtB,IACA,YACA,WACA,eACA,YAEA,SACA,UACA,aACA,kBAEA,wEACA,4EAGA,kBAGA,gBACA,QACA,IACA,wBACA,sBACA,kFACA,mFAEA,2BACA,4GACA,6GAGA,mIACA,0EAGA,YACA,4CACA,iBACA,aACA,0CACA,OACA,WACA,uBACA,EAEA,EAEA,UACA,SAEA,cACA,kBACA,uBACA,EAEA,kBAEA,SACA,SAYA,MAXA,uBACA,wCAGA,wCACA,oDAEA,0CACA,+CAGA,MAKA,YCvF4W,MCOxW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,GAAkB,G,wBCetB,IACA,gBACA,cAEA,WACA,cACA,yBACA,cAGA,SACA,YACA,aACA,kBACA,YAEA,eACA,kBACA,kBAGA,UACA,uBAEA,gBACA,gBACA,gBACA,gBACA,qBACA,qBAEA,qCACA,yCAQA,2CAPA,oEACA,oEACA,oEACA,oEACA,0EACA,2EAYA,QACA,IACA,qCACA,gCACA,uBACA,mBACA,gBACA,kBAIA,aACA,8JACA,4HAGA,YACA,wCACA,iBAGA,EACA,aACA,yCACA,OACA,WACA,EAEA,UACA,WAGA,kBACA,GAEA,qBACA,6EACA,YAIA,YC3GgX,MCO5W,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,GAAkB,GCatB,IACA,qBACA,cAEA,WACA,cACA,yBACA,oBAGA,SACA,YACA,aACA,kBACA,YAEA,eACA,kBACA,iBACA,kBAGA,UACA,uBAEA,gBACA,gBACA,gBACA,gBACA,qBACA,qBAEA,qCACA,yCAQA,2CAPA,oEACA,oEACA,oEACA,oEACA,0EACA,4EAaA,aACA,6IACA,0EAGA,YACA,aACA,qCACA,mBACA,sBACA,eAEA,eAEA,6CACA,OACA,oDACA,wBAGA,kBACA,OACA,QACA,QACA,QACA,YAGA,gBACA,YAEA,6BACA,2BAEA,aACA,2BACA,2BAEA,iCACA,OACA,iBACA,kEAMA,gBACA,6BACA,kCAGA,mBACA,4BACA,2CACA,eACA,UACA,CACA,iBACA,KACA,cACA,0BACA,iBAGA,mBACA,GAEA,uBACA,wBACA,GAGA,yDACA,eACA,OACA,qBACA,OACA,8BACA,oBAEA,mBACA,0BACA,QACA,GAEA,4BAIA,YACA,wCACA,iBAGA,EACA,aACA,yCACA,OACA,WACA,uBACA,EAGA,IAIA,mBACA,SAoBA,MAnBA,uBACA,6BAEA,yBAEA,OADA,kEACA,sCAGA,2BAGA,uBAEA,OADA,gEACA,sCAGA,4BAGA,IAEA,wBACA,uBACA,EAGA,mBAGA,oBACA,yCAKA,iBACA,+CAGA,YCvNgX,MCO5W,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCcf,IACA,qBACA,YACA,QACA,WACA,iBACA,UACA,cACA,YACA,aAEA,WACA,oBACA,aACA,uBACA,eACA,oBACA,oBACA,oBACA,WACA,cACA,4BACA,mBAGA,SACA,QACA,aACA,oCAEA,mBACA,WACA,GAEA,uBACA,qCAEA,cACA,8CACA,cACA,4DACA,KACA,6DACA,KACA,iCAIA,mBACA,oBACA,eACA,6EACA,0EACA,uFAGA,0DACA,8DAEA,cACA,kBAGA,YACA,iBACA,eAEA,uCAEA,oBACA,YACA,gEACA,6CAEA,+BACA,kBAEA,0CAEA,0CAGA,SACA,QACA,8BACA,wBACA,eACA,MAKA,UACA,8BACA,yDAIA,iBACA,8BAGA,iBACA,UACA,uDAEA,oBACA,gEAEA,eACA,6DAEA,gBACA,8DAIA,YACA,qDACA,uBACA,QACA,YACA,OACA,iBACA,+BACA,8DACA,YAGA,6BACA,OACA,yCACA,sBACA,mBACA,qBACA,kBACA,uBACA,EAEA,IAGA,sCACA,6BACA,qCACA,oCAGA,SAGA,GAFA,wBAEA,8BAEA,2BACA,oCACA,gCAEA,0DAGA,sCACA,2BACA,6CACA,6BAGA,kCACA,kCACA,8BACA,wCASA,8BACA,kCACA,wCAGA,gCACA,kCACA,wCAGA,kCACA,qCAGA,qCACA,4BACA,kCACA,oCACA,4CAGA,8BACA,kCACA,4CAGA,gCACA,uCAQA,aACA,2CACA,qEACA,4CAIA,YACA,2BACA,sEACA,uCACA,yBACA,yBACA,qBAKA,aACA,cACA,eACA,OACA,aACA,MACA,0BACA,eACA,eACA,sBACA,wBAGA,SACA,0BACA,6CAGA,WACA,0BACA,iCAIA,oBACA,wBACA,0BAEA,cACA,0BACA,uBACA,aACA,kCACA,iCACA,yBAGA,eACA,cACA,eACA,OACA,aACA,MACA,0BACA,eACA,eACA,gBACA,wBAGA,SACA,0BACA,iCAIA,mBACA,2DACA,GAEA,GAEA,wBACA,4BACA,0BACA,iCAGA,8BAEA,iCACA,uBACA,aACA,kCACA,iCACA,yBAGA,OACA,cACA,eACA,uBACA,OACA,sBACA,YACA,uBACA,MACA,UAEA,mBACA,iBACA,0CACA,aAEA,WACA,wCACA,oDAEA,0CACA,+CAEA,gDACA,iDAEA,SACA,2BACA,kCACA,SAGA,uCACA,cACA,YAGA,oCACA,qBAKA,kBACA,iCAGA,iBACA,oBACA,iEAEA,eACA,4DAEA,gBACA,6DAIA,QACA,6BACA,kCACA,yBACA,gCACA,qBACA,wBAIA,kBACA,oCACA,qCAEA,gCAGA,wBACA,8BAEA,yCACA,yCAGA,2BACA,gCAMA,6BAEA,4CCjb8V,MCO1V,GAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,UAAU,CAAC2E,IAAI,aAAa,IACzJ,GAAkB,GCetB,IACA,qBACA,cAEA,SACA,WACA,uBACA,MACA,SACA,cAEA,SAGA,UACA,iBAGA,SACA,QACA,aACA,+BAEA,sCACA,2BACA,2BACA,wDACA,yBACA,2BAGA,qCACA,yBACA,2BAKA,aAEA,iCACA,uBACA,uBACA,OACA,aACA,eAEA,gBACA,qDACA,uCAEA,oBACA,4BACA,8CAIA,oBACA,qBAKA,wBACA,qEACA,8CACA,cACA,gCACA,gCAKA,uEACA,uEAEA,+DACA,8CACA,cACA,gCACA,gCAEA,6EACA,yEAEA,sCAEA,oBACA,UACA,UACA,aACA,KACA,UACA,UACA,UAGA,0BACA,yCACA,oBACA,cACA,QACA,QACA,yEACA,yEAMA,qCACA,oBACA,cACA,QACA,QAEA,QACA,+CACA,+CAEA,UAEA,oBACA,UACA,UACA,aACA,KACA,UACA,UACA,UAGA,aAEA,iCACA,uBACA,OACA,MACA,QAOA,MANA,2BACA,WAEA,cACA,kBAEA,yCACA,yBAEA,4CACA,oCADA,GAKA,QACA,cACA,uCAEA,YACA,qCAEA,YACA,2CADA,EAIA,kDAEA,sBAGA,sBAMA,mBACA,0CACA,sBACA,qCAEA,aACA,cACA,sBAGA,QACA,uCACA,4CACA,mDC5M8V,MCO1V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,GAAkB,GCctB,I,UAAA,CACA,sBACA,cACA,SACA,WACA,QACA,UACA,UACA,QACA,QACA,QACA,mBACA,mBACA,SACA,gCAEA,cACA,MACA,WACA,WACA,SACA,cAGA,UACA,kCAGA,SACA,UACA,uBACA,mBACA,mBACA,YACA,+EACA,mFAEA,2BACA,eACA,SAEA,6DACA,0GACA,sBAEA,mEAEA,4GACA,oBAKA,gBACA,iCACA,4BAIA,QACA,iBACA,+BAGA,iBACA,SACA,UACA,eACA,yCACA,kBACA,mBAEA,2BACA,YACA,uCACA,cACA,yCACA,gBACA,iBAGA,oCACA,4BACA,sBACA,oCAEA,mCACA,4BACA,uBACA,kCAEA,4BACA,UACA,uCACA,8CAEA,4BACA,oBACA,eACA,OACA,eACA,yBACA,yBACA,UACA,gDAEA,KACA,6BAEA,8CACA,uBACA,eACA,UAKA,YACA,kCACA,sCACA,+BACA,uDACA,8BAGA,oCACA,iCC7IuW,MCOnW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAKN,EAAIoM,OACpH,GAAkB,GCgBtB,IACA,wBACA,cAEA,SAEA,WACA,uBACA,UACA,UACA,WACA,WACA,UACA,SACA,UACA,WAEA,yBAGA,YAIA,SACA,QACA,aACA,gDACA,gDAEA,4CACA,+FAEA,qCACA,YACA,OACA,gBAEA,eAGA,SACA,gBACA,mBAGA,WACA,oBACA,sIACA,qJAEA,gFACA,8JAIA,aACA,qBACA,SACA,IAEA,6BACA,0BAEA,6BACA,0BAEA,kCACA,0BACA,KAEA,6BACA,6BACA,KAEA,8BACA,6BACA,KAGA,mCACA,mCACA,qCAGA,gCACA,iCAEA,wGAGA,oBACA,0BACA,OACA,KACA,MACA,MACA,eACA,kCACA,SAGA,wBACA,OACA,KACA,KACA,oBACA,oCAEA,QACA,sBACA,yBAGA,oBACA,qCACA,sCACA,sBACA,8BACA,wBACA,OACA,mBACA,mBACA,yBACA,iBACA,kCACA,qCAIA,wBACA,sBACA,0BACA,OACA,WACA,KACA,OACA,uBACA,sBACA,oCAEA,QAGA,wBACA,sBACA,0BACA,OACA,WACA,uBACA,KACA,MACA,sBACA,oCAEA,wBAEA,wBACA,sBACA,0BACA,OACA,WACA,uBACA,KACA,KACA,sBACA,+CAEA,yBAGA,gBACA,8BAGA,QACA,kCACA,8BAIA,qBACA,yCACA,+CAGA,eACA,2BACA,iCAGA,gBACA,aACA,gBACA,gBACA,+BACA,mDACA,mDAEA,aACA,iBCzNkV,MCO9U,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCXA,MAAM6K,GAIpBhV,YAAYiV,GAAa,GACxBjX,KAAKkX,SAAW,GAChBlX,KAAKmX,MAAQ,GACbnX,KAAKiX,WAAaA,EAOnBG,UAAUC,GAGT,OAFArX,KAAKkX,SAASG,EAAUC,UAAYD,EAE7BrX,KAORuX,eAAeC,GACd,OAAOxX,KAAKkX,SAASM,GAOtBC,aAAaC,GACZ,OAAOA,EAAOD,eAMfE,iBACC,OAAOjb,OAAOuW,OAAOjT,KAAKkX,UAM3BU,cACC,OAAOlb,OAAOuW,OAAOjT,KAAKmX,OAO3BU,QAAQrG,GAEP,IAAIsG,EAAc9X,KAAKuX,eAAe/F,EAAKsG,YAAYR,UACnDS,EAAY/X,KAAKuX,eAAe/F,EAA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A,qCACA,SACA,2BACA,wBAGA,wBAGA,eACA,0BACA,kCACA,2CACA,uDACA,2CAGA,kCACA,4CACA,4CACA,6CAIA,QACA,iCACA,iCACA,kCACA,qCAGA,SACA,0CACA,+EAEA,6BAEA,8DACA,2BACA,2BAEA,oBAEA,4BACA,2DACA,sCACA,gEAEA,2DACA,2DACA,6DAMA,iBACA,SACA,IACA,uBACA,qBACA,cACA,2BACA,aAGA,gEACA,KAGA,OADA,YACA,GAMA,0BACA,iBAEA,mCACA,gCACA,4BACA,oBACA,gBACA,aAEA,UAMA,eACA,gBACA,0BACA,2BACA,2CACA,gCACA,6BACA,gCACA,iDACA,mBAEA,mBAEA,sEAMA,uBACA,gBACA,YAEA,SACA,KAEA,4BACA,oBACA,cAEA,4CACA,4CACA,+CAEA,uBACA,mBAEA,mEACA,2EAEA,gBACA,UACA,MAEA,mBACA,4DAEA,wCAEA,KACA,qBACA,iBAEA,SACA,mBACA,qBACA,yCAEA,GACA,wBACA,UACA,kBACA,8BACA,mBACA,+BACA,gBACA,oBACA,SAEA,UAEA,IACA,UACA,MAGA,8CAEA,mBACA,iBACA,yDAEA,kBAEA,wCAIA,SACA,2BACA,YACA,YACA,mBACA,+BACA,cACA,YAEA,UAEA,kEAEA,OACA,wBAEA,sBAEA,wDAEA,SACA,2BACA,YACA,YACA,cACA,mBACA,+BACA,YAEA,UAEA,gEAEA,OACA,wBAEA,sBAEA,wDAEA,QACA,SACA,YAKA,yDAEA,6BACA,WAEA,gDACA,6BACA,WACA,wCACA,eAIA,OACA,QACA,UAIA,uBACA,8CC/YmW,MCQ/V,I,UAAY,eACd,GACA,EACA,GACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAa,IAAIrd,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,eAAeF,EAAG,WAAW,CAAC2E,IAAI,cAAc,IAChM,GAAkB,GCmBtB,IACA,WACA,YACA,aAGA,WACA,kBACA,QACA,MACA,QACA,SACA,QAEA,WACA,YACA,UACA,4BACA,kBAGA,SAMA,cACA,qCACA,gBAQA,gBACA,uCACA,iBAIA,SAIA,OACA,oCACA,gCACA,0CACA,oDAEA,uCACA,kCACA,2CACA,oDAIA,oEACA,YACA,0DAEA,oCACA,iBACA,qBAGA,2BAQA,cACA,iCACA,YACA,cACA,cAUA,OAPA,YACA,aACA,WACA,WACA,aAGA,GAUA,mBACA,yBACA,QAEA,WASA,oBAEA,SACA,wCACA,oDACA,0CACA,+CAIA,kDACA,0CAEA,OACA,OACA,SAWA,qBACA,gBAEA,EACA,6GAEA,gCACA,kBACA,EACA,EACA,kDACA,EACA,iBAEA,UAQA,SACA,kBACA,gCACA,2BACA,4BAEA,MACA,EACA,iBACA,iBACA,QACA,qBAGA,sBAGA,WAEA,oCACA,uBACA,OACA,4BACA,YACA,iBAUA,SAEA,6BACA,SAEA,EADA,iBACA,iBAEA,GAEA,8CACA,QACA,kBAIA,WACA,2BACA,kBACA,mBAWA,qBACA,iCACA,QACA,oEACA,EACA,oDAEA,EACA,kEACA,EACA,sDAEA,EACA,kEACA,EACA,sDAEA,2BAEA,QACA,2BACA,uBACA,WACA,yBACA,OAEA,wCACA,kBACA,UACA,kBACA,wBAGA,oCACA,kBACA,UACA,iBACA,8CAGA,wCACA,kBACA,UACA,kBACA,mBAEA,QACA,UACA,kBACA,oBAGA,SACA,UACA,kBACA,uBAGA,qCAQA,gBACA,gCACA,2BAEA,qDACA,sDAGA,wBACA,eAGA,SACA,WACA,YAIA,cACA,oBACA,uCAOA,gBACA,qBACA,iDACA,+BACA,+CACA,wBAEA,0BAQA,UACA,YACA,qBAEA,4BACA,4BAEA,sCAGA,kBAGA,yCACA,wCAEA,yBAGA,YAEA,qBAGA,WACA,qDACA,uBACA,SACA,qBAQA,oDAMA,QACA,6BACA,6BACA,+BC9Y4V,MCQxV,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,IAAM,GAAG,KAAO,GAAG,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,WAAW,CAACc,YAAY,kBAAkB,CAACd,EAAG,SAAS,CAACc,YAAY,OAAOZ,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,MAAQ,GAAG,SAAW,GAAG,UAAY,KAAK,CAACN,EAAIQ,GAAG,IAAIR,EAAIW,GAAGX,EAAI2d,SAAS,QAAQ,GAAGvd,EAAG,OAAO,CAACc,YAAY,kBAAkB,CAAClB,EAAIQ,GAAG,kBAAkBR,EAAIW,GAAGX,EAAI4d,WAAW,OAAOxd,EAAG,MAAM,CAACE,MAAM,CAAC,GAAKN,EAAI6d,SAASzd,EAAG,UAAU,CAAC2E,IAAI,aAAa,IAC1f,GAAkB,GCDlB,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,0BAChH,GAAkB,GCatB,IACA,eACA,cACA,SACA,WACA,MACA,YACA,eACA,eACA,eACA,UACA,cAEA,SACA,WACA,iBAGA,SAIA,YACA,SACA,QACA,UACA,oCACA,cACA,2BAEA,0CACA,6DACA,+DAGA,YACA,aACA,mDACA,8CACA,iDACA,gCACA,gCACA,wCACA,+BACA,eACA,OACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,qBAEA,OACA,MACA,8EACA,+BAEA,oBAGA,MACA,sBAGA,YACA,YACA,kBAGA,WACA,kBACA,+BACA,eACA,kCACA,iCACA,OACA,uBACA,MACA,8EACA,2CAEA,gCAGA,MACA,oCAGA,SAGA,YAEA,mDAIA,QACA,iBACA,sCCnHgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCSf,IACA,yBACA,YACA,YAEA,WACA,SACA,OACA,SACA,UACA,SAEA,SACA,SACA,OACA,OACA,OACA,OACA,eACA,YACA,WACA,sBACA,6BACA,kCACA,aACA,yBACA,kBACA,iBACA,iBACA,cAGA,UACA,WACA,wCACA,UACA,kDACA,0BAIA,SACA,OACA,iCACA,uCAEA,8DACA,gEAEA,gBACA,gBACA,4BACA,+CACA,KACA,YACA,yDAGA,mDACA,oDAEA,8BACA,mBACA,wDACA,GACA,6CAIA,UACA,kBACA,aAEA,oBACA,sBAEA,qBACA,eACA,eACA,eACA,eACA,iBACA,iBAEA,qBAEA,8BACA,4BAEA,qBAEA,8BACA,2CAEA,2DACA,gEAEA,aACA,aACA,aAKA,UACA,6DACA,4BAEA,yBACA,yBAEA,KACA,KACA,IACA,IACA,IACA,IAEA,mCACA,gBACA,gBACA,UAGA,mCACA,gBACA,gBACA,UAGA,qBAIA,kBAOA,IANA,eACA,IACA,IACA,IACA,IAEA,YACA,QACA,QAIA,KACA,KAGA,QACA,IACA,uBACA,SACA,SACA,OACA,OAGA,UACA,QAGA,SAEA,uBACA,iBAIA,SACA,KACA,KAEA,oBACA,kBACA,kBACA,kBAGA,QACA,IACA,IACA,IACA,IAEA,oBACA,QACA,QACA,QACA,QACA,QAEA,cACA,UACA,UACA,iBAEA,UACA,OACA,QACA,cAIA,gBACA,8BACA,yBACA,0CACA,EACA,qDACA,SACA,eACA,2BACA,2CACA,8CACA,0BACA,2BACA,SAGA,QACA,WACA,qBACA,eACA,aACA,UACA,mBACA,4BACA,gBAGA,eACA,YACA,OACA,aACA,WACA,UACA,aACA,qCACA,IACA,iBACA,MAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BAEA,EACA,kBACA,0BACA,kCACA,gCAGA,gBACA,8BACA,yBACA,0CACA,EACA,qDACA,SACA,eACA,OACA,mBACA,wBACA,oBACA,yBAEA,2BACA,0BACA,SAGA,QACA,WAEA,qBACA,aACA,aACA,UACA,mBACA,4BACA,gBAGA,eACA,YACA,mBACA,qBACA,KACA,YACA,0DAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BACA,oBAEA,EACA,kBACA,0BACA,kCACA,gCAGA,YACA,WACA,WAEA,iBACA,gCAEA,iBACA,gCAGA,SACA,YACA,2BACA,eACA,gCACA,YACA,+CACA,4BACA,oBACA,KACA,YACA,2DAIA,OACA,WACA,SACA,kBACA,kBACA,QACA,iBACA,oBACA,YACA,yBACA,iDAEA,yBACA,gCAEA,oDACA,0BACA,0BAGA,kBACA,WACA,iBACA,SACA,YACA,eACA,qBACA,oDACA,sBACA,+BAEA,sBACA,cAIA,QACA,wBACA,yBACA,+BAEA,uCCra0W,MCOtW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,IAAM,GAAG,KAAO,GAAG,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,WAAW,CAACc,YAAY,kBAAkB,CAACd,EAAG,SAAS,CAACc,YAAY,OAAOZ,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,MAAQ,GAAG,SAAW,GAAG,UAAY,KAAK,CAACN,EAAIQ,GAAG,IAAIR,EAAIW,GAAGX,EAAI2d,SAAS,QAAQ,GAAGvd,EAAG,MAAM,CAACE,MAAM,CAAC,GAAKN,EAAI6d,SAASzd,EAAG,UAAU,CAAC2E,IAAI,aAAa,IAC1Z,GAAkB,GCDlB,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,wBAChH,GAAkB,GCctB,IACA,eACA,cACA,SACA,WACA,8BACA,YACA,eACA,eACA,eACA,UACA,YACA,mBACA,qBAEA,SACA,WACA,iBAGA,SAIA,YACA,SACA,QACA,gBACA,0CACA,cACA,2BAEA,0CACA,gEACA,qEAGA,YACA,aACA,mDACA,kFACA,uDACA,gCACA,gCACA,wCAEA,YACA,YACA,kDAGA,sBACA,aACA,8BAEA,OACA,0BACA,oBAIA,WACA,mCACA,+BACA,eACA,OACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,kBAEA,OACA,MACA,oFACA,wCAEA,oBAGA,MACA,sBAGA,mBAEA,kBACA,+BACA,eACA,kCACA,iCACA,OACA,uBACA,MACA,oFACA,oDAEA,gCAGA,MACA,oCAGA,mBACA,QACA,iBAGA,cAIA,QACA,iBACA,sCCpIgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCUf,IACA,uBACA,YACA,YAEA,SACA,WACA,QACA,WACA,YACA,qBACA,oBACA,SACA,OACA,SACA,UACA,SAEA,iBACA,2BACA,kCACA,eACA,SACA,QACA,4BACA,WACA,mCACA,kBACA,aACA,iBACA,2BAGA,UACA,WACA,sCACA,8CACA,6BAIA,SACA,OACA,iCACA,sCAEA,8DACA,gEAEA,kDACA,yDACA,kCAEA,yDACA,wCAEA,gFACA,iFAEA,uCACA,oBACA,sBACA,oEAGA,4BACA,8EACA,oCACA,6CAIA,cACA,gEACA,qEACA,wCAEA,wBACA,gBACA,eACA,iBACA,4BACA,qBAEA,qBAEA,mBACA,+DAEA,qCACA,qBAEA,8BACA,2CACA,sBACA,mCACA,qBAEA,8BACA,2CACA,uBAIA,QACA,yCACA,2BACA,2BACA,yCACA,4BACA,6BACA,0BACA,yBACA,4BAGA,aACA,aACA,mBACA,YACA,aACA,aACA,qBACA,eACA,qCAGA,gBACA,iCACA,4BAIA,iBACA,SACA,KACA,aACA,aAEA,4BACA,gCACA,cAaA,OAVA,kBACA,0BACA,qCACA,qCAEA,aACA,SAEA,eAEA,qBAGA,oBACA,SACA,6BACA,0CAOA,gBACA,kBACA,QACA,OACA,WACA,SAGA,gBACA,WACA,OACA,KACA,QAEA,SAIA,gBACA,OACA,IACA,IACA,aACA,YACA,SAIA,gBACA,SACA,WACA,MACA,sBACA,aACA,eAEA,cACA,cAGA,IACA,SAEA,KACA,UACA,KAGA,OA1CA,UAyCA,QACA,CACA,SACA,UAIA,qBACA,6CAGA,OACA,WACA,SACA,mCACA,gBACA,QACA,eACA,OACA,6BACA,SACA,2BAEA,SACA,eAEA,8BACA,UACA,0CAEA,2CACA,UACA,uBACA,mBAEA,mBACA,0BACA,0DACA,uBACA,uBACA,wBACA,6CACA,OACA,yBACA,+BAEA,8BACA,0DACA,uBACA,uBACA,wBACA,6CACA,OACA,yBACA,+BAEA,6BACA,6DACA,uBACA,qBACA,yBACA,4BAIA,gBACA,8BACA,yBACA,0CACA,EACA,MACA,oBACA,KACA,2BAHA,gBAMA,SACA,eACA,OACA,6BACA,wCACA,wCAEA,0BACA,2BACA,SAIA,QACA,qBACA,eACA,aACA,UACA,mBACA,WACA,QACA,cACA,qBAEA,iBAIA,WACA,YACA,OACA,eACA,gDAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BACA,oBAEA,EACA,kBACA,0BACA,kCACA,gCAGA,QACA,eACA,aACA,UACA,mBACA,qBAGA,SACA,eACA,OACA,wBACA,6BACA,oBACA,sBAEA,0BACA,2BACA,4BAEA,iBACA,YACA,OACA,eACA,UACA,2DAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BACA,oBAEA,EACA,kBACA,0BACA,kCACA,gCAGA,gBACA,6DACA,4BACA,wCAEA,4BAEA,cACA,+DAEA,0BACA,kCAEA,MACA,iBACA,YACA,+BACA,oBAEA,mBAEA,mCACA,0BACA,MACA,6BACA,QAEA,cACA,QACA,IACA,aACA,OACA,QAEA,OACA,UAGA,YACA,EACA,GACA,SACA,EAEA,wBACA,wBAEA,sCACA,iBAEA,aAEA,QACA,IACA,EACA,IACA,EACA,KACA,EACA,IACA,EACA,KACA,EACA,IACA,EACA,KACA,EACA,IACA,EAEA,EACA,eACA,YACA,qCACA,gBACA,QAEA,yBACA,gEAKA,eACA,oBACA,UACA,mBACA,qBAGA,WACA,YACA,oCACA,sBACA,KACA,YACA,wDAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BAC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AAIoM,GAAG,MAAQpM,EAAIsf,eAAe,OAAStf,EAAIuf,kBAAkB,CAACnf,EAAG,MAAM,CAAC2E,IAAI,QAAQ3E,EAAG,UAAU,CAAC2E,IAAI,YAAY3E,EAAG,WAAW,CAAC2E,IAAI,aAAa3E,EAAG,UAAU,CAAC2E,IAAI,aAAa,IAC7T,GAAkB,GCDlB,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACc,YAAY,SAChH,GAAkB,GCctB,IACA,WACA,WACA,SACA,cACA,cACA,YACA,SACA,2BAGA,SAQA,cACA,aACA,8BACA,6BAEA,SACA,eACA,cAGA,kCACA,oBAEA,gBACA,eACA,OACA,yDAGA,WACA,YACA,kBACA,kDAMA,MACA,WACA,yBACA,eACA,oBACA,OACA,IACA,+BACA,+BACA,2CACA,SACA,2BACA,EAEA,8CAEA,iBACA,oBAEA,mBACA,mBACA,6CAEA,kBACA,mCAOA,aAEA,0BACA,sBACA,OACA,mBACA,mCACA,iCACA,mCACA,iCACA,iBAEA,4BACA,qBAMA,gBACA,8BACA,yBACA,0CACA,uDACA,sBACA,mCACA,mCACA,8CACA,0BACA,2BACA,SAMA,OACA,qBACA,4BACA,SACA,mBACA,aACA,gBAGA,qBACA,OACA,qBACA,mEAEA,QAEA,oBACA,qBACA,wBACA,4BAEA,oBACA,qBACA,wBACA,4BAEA,oBACA,0BACA,kCACA,gCAMA,QACA,kCACA,yCACA,iDACA,8CCxK4V,MCOxV,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIlB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACc,YAAY,YAChH,GAAkB,GCatB,IACA,eACA,WACA,cACA,cACA,YACA,gBACA,oBAGA,SASA,gBACA,oCACA,SACA,eACA,cAGA,kCAEA,gBACA,kBACA,OACA,yDAGA,wEACA,wEAEA,oBACA,uBAOA,eACA,4EACA,4EACA,uBACA,eACA,OACA,eACA,uBACA,gCACA,uBACA,gCACA,iBAEA,0BACA,qBAMA,iBACA,6BACA,iBAEA,2BAOA,qBACA,sBACA,OACA,gBACA,iBACA,oCACA,iBACA,oCACA,+CAEA,4BAEA,sBACA,OACA,gBACA,iBACA,oCACA,iBACA,oCACA,+CAEA,6BAMA,UACA,0BACA,sBACA,OACA,2BACA,mBACA,gDACA,+DAEA,0BACA,oBAQA,UACA,0BACA,sBACA,OACA,2BACA,8CACA,gDACA,+DAEA,0BACA,mBAMA,aACA,yBACA,sBACA,OACA,2BACA,kDACA,gDACA,+DAEA,0BACA,oBAMA,SACA,cACA,eAMA,SACA,sBACA,OACA,oBACA,gCACA,0CACA,mCAEA,0BACA,2BAMA,SACA,sBACA,OACA,oBACA,4BACA,0CACA,mCAEA,0BACA,2BAQA,cACA,eACA,SAEA,uBACA,UAMA,QACA,0CACA,sCACA,wCC7NgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIlB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACc,YAAY,aAChH,GAAkB,GCatB,IACA,gBACA,WACA,cACA,cACA,YACA,gBACA,uBAGA,UACA,qCAGA,SAaA,wBACA,SACA,eACA,8BACA,4BACA,SACA,eACA,cACA,gBAGA,kCACA,gBACA,mBACA,OACA,gDAIA,yCACA,uCAEA,kEACA,yBAEA,sBACA,kDAQA,iBACA,IAKA,QALA,KACA,IAEA,IACA,IAEA,6BACA,WAGA,OACA,MACA,KACA,KACA,KACA,MAGA,sBAEA,MACA,YACA,gBACA,kBACA,eAEA,MAIA,MACA,QACA,SACA,IACA,QACA,QACA,aAEA,MACA,KAEA,KACA,KACA,KACA,KAEA,gBACA,YACA,kBACA,eAEA,IACA,OAIA,gBACA,IACA,QACA,SACA,IACA,WACA,QACA,UAGA,MACA,KACA,KACA,KACA,KAEA,gBACA,YACA,eACA,kBACA,IACA,QACA,SACA,IACA,WACA,QACA,YAMA,OACA,UACA,cAUA,qBACA,aAEA,YACA,2BACA,OACA,IACA,cACA,YACA,qBAGA,qBAEA,OACA,kBAGA,gBACA,QACA,SACA,6BACA,SAEA,SAEA,SAIA,kBAGA,4BAGA,iBACA,QACA,QACA,GACA,oCACA,mBACA,OAEA,eACA,GAIA,YACA,eACA,WAGA,gDACA,gBACA,+BAEA,mBAEA,UAOA,wBACA,SACA,4BACA,eACA,aAGA,UAMA,iBACA,WAEA,+EACA,KACA,cACA,4CAEA,SACA,sCACA,mBACA,QACA,qBACA,yBACA,qBAIA,0EACA,oBACA,6BACA,2BACA,eACA,OACA,KACA,kBACA,EAGA,yBAGA,aACA,gDACA,yBAEA,mBACA,oDACA,eAKA,mEACA,wEACA,oBAGA,mBACA,4CAEA,kBACA,uCAIA,yBAOA,QACA,+CACA,gDCjUgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIlB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,iCAChH,GAAkB,GCctB,IACA,eACA,cAEA,WACA,YACA,eACA,eACA,eACA,UACA,cAGA,SAKA,QACA,UACA,8BACA,eACA,8DACA,iEAOA,WACA,iCACA,eACA,kCACA,sBACA,OACA,uBACA,MACA,8BACA,oDAEA,qCAEA,MACA,+BACA,qFAEA,uEAGA,QACA,mBAMA,YACA,qCAEA,sCAMA,WACA,2CAQA,cACA,aACA,2BACA,wCACA,iDACA,gCACA,gCAEA,iCACA,eACA,OACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,uBACA,MACA,8BACA,mCAEA,oBAEA,MACA,+BACA,oCAEA,uBAUA,WACA,YACA,oBACA,kBAOA,kBACA,YACA,oBACA,iBAMA,QACA,iBACA,sCCrJgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCMf,IACA,eACA,OACA,WACA,QACA,SACA,cAEA,WACA,MACA,kBACA,qBACA,sBACA,SACA,OACA,UACA,QACA,UAEA,iBACA,kBACA,iBACA,aACA,aACA,oBACA,iBACA,YACA,qBACA,iBACA,aACA,qBACA,YACA,aAEA,YACA,OACA,YACA,WACA,YAGA,UACA,YACA,WAEA,mCACA,UACA,YAIA,UACA,qCAGA,SAIA,OACA,yBACA,uFACA,2DACA,kCAEA,+DACA,oEACA,6EAEA,4BAEA,8CACA,OACA,gBACA,0BACA,8BAGA,qBACA,4CACA,6EAEA,+BAOA,aACA,uEACA,2EACA,mKAMA,QACA,uBACA,2BACA,6BAOA,gBACA,oEACA,mHAGA,6BAIA,6CAOA,WACA,OACA,SACA,QACA,QACA,QACA,UAEA,YC5JgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCoHf,IACA,2BACA,YACA,YAEA,WACA,mCACA,gCACA,aACA,oBACA,eACA,0CACA,cACA,kBACA,eACA,aACA,cACA,gBACA,eACA,iBACA,UACA,oCACA,qCAEA,kBACA,oBACA,oBACA,mBACA,kBACA,eACA,kBACA,2BACA,yBACA,oBACA,sBACA,4CACA,qCACA,wBACA,mBACA,wBACA,2BACA,QACA,YACA,kBAGA,UACA,WAKA,iCACA,yBACA,8BAMA,sCACA,qCACA,gDAIA,SAIA,OACA,qBACA,wDACA,iDACA,qCACA,kEACA,kEACA,0BACA,oBAEA,kBAOA,YACA,iBACA,2BACA,wBAOA,SACA,iCAOA,YAEA,+CACA,2CACA,mDACA,+CACA,oDAIA,wEACA,0DAGA,oCACA,eACA,6BAOA,sBACA,6BACA,wBACA,qCACA,gBACA,SACA,yCACA,+CASA,kBAEA,6BACA,6CACA,eACA,gBAEA,mBACA,eAEA,uBACA,oBAEA,8CAUA,qBACA,sCACA,kBAwBA,MApBA,+BACA,wBACA,OACA,6CAGA,yBACA,sBACA,OACA,kDACA,qDAKA,0BAEA,OADA,aACA,IACA,IAEA,GAOA,0BACA,wBACA,6BAEA,4CACA,+DACA,+DACA,8CAEA,0CACA,6DACA,8BAGA,+BACA,kCAEA,mCAQA,4BACA,2BAOA,0BACA,yBAOA,qBACA,gCAOA,gBACA,mBACA,EAEA,SAOA,cACA,eACA,SAEA,cACA,UAOA,sBACA,+BACA,IAEA,QAOA,iBACA,mBACA,aACA,UAMA,QACA,4BACA,+CAQA,WACA,uBAOA,kBACA,oBACA,qCACA,8BACA,sCACA,4CAGA,4BAOA,sBACA,oBACA,mDACA,+CACA,2CAEA,iDAEA,6BAOA,qBACA,oBACA,4CACA,wCACA,kDAEA,0CAEA,6BASA,gBACA,oCACA,mCACA,GAEA,6CAIA,4BACA,4CACA,UACA,QAKA,kBAGA,cACA,wCACA,mCACA,GACA,4DACA,UACA,YAQA,2BACA,sBACA,yBAEA,kBACA,0DAEA,oCAEA,eACA,sBACA,wBACA,SACA,iBACA,wBACA,SACA,2BAIA,uCACA,eACA,sBACA,wBACA,SACA,gBACA,wBACA,SACA,6BASA,2BACA,qCAMA,QACA,iDACA,8CACA,0CACA,4CAEA,qCACA,2CACA,sCACA,0CACA,4CAEA,gCCrkB4W,MCQxW,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCgNf,I,UAAA,CACA,sBACA,YACA,eAEA,cACA,OAEA,qBACA,mBACA,wBAGA,OACA,uBACA,mCAIA,WACA,mBACA,QACA,6BACA,4BACA,YACA,yBACA,oBACA,iCACA,yBACA,mCACA,oBACA,6BACA,kBACA,wBACA,qBACA,kCACA,2BACA,mBACA,wBACA,+BACA,4BACA,qBACA,sBACA,sBACA,wBACA,wBACA,qDACA,sCACA,2BACA,0BACA,0BACA,0BACA,oBACA,4BACA,yBACA,eACA,SACA,YACA,kBACA,4BACA,sBACA,iCACA,4BACA,sBAEA,wCACA,8BACA,uBACA,kCACA,2DACA,wBACA,uBACA,4CACA,oBACA,iBACA,yBAGA,UACA,iBAEA,6BACA,kCACA,kBACA,wBACA,mBAGA,mCACA,kBACA,eAIA,SAIA,uBACA,kCACA,uBAEA,iDACA,yDACA,yDAEA,+CACA,sCACA,mCACA,4CACA,4CACA,eAGA,sCACA,kBACA,mBAEA,aAGA,cACA,gCACA,oCACA,qCACA,qDACA,qDAEA,2CAGA,mBACA,iCACA,8BACA,oBACA,mBACA,sBACA,4BAGA,uDACA,uDAEA,yDACA,0DAGA,OACA,2CACA,yCACA,sDACA,qDACA,6CAEA,0BACA,wBACA,mBACA,yBACA,uBAGA,mCACA,yBACA,6DACA,4BACA,qDAEA,sCAGA,qBACA,uCACA,wBACA,2CACA,+DACA,6DACA,qCACA,iCAGA,6CACA,yDACA,qDACA,6DACA,6DACA,wCAEA,0BACA,uDACA,iEAGA,yCACA,4BACA,kEAEA,iDACA,wBACA,+CACA,wBACA,oCAGA,mBACA,mBACA,mCAEA,+CACA,sCACA,6BACA,aAGA,SACA,IAEA,KACA,wCACA,yBACA,0CACA,0BAGA,0CACA,SACA,OACA,KAGA,kDACA,oCACA,6BACA,oBACA,mCAEA,6DAEA,sBACA,wBACA,mDACA,KACA,KACA,WAEA,wEAGA,cAEA,+BACA,6DACA,4BAGA,iEACA,2EACA,uDAEA,gDACA,6CACA,6CACA,oDAGA,oBACA,wCAEA,QACA,IAGA,EADA,yCACA,EAEA,gDAGA,EADA,wCACA,EAEA,+CAEA,uBACA,wBAIA,uBACA,WACA,OACA,8BACA,kCACA,iDACA,kDACA,kCACA,iDACA,kDACA,mCACA,IACA,KAEA,8BACA,kCACA,aACA,oDAEA,aACA,qDAEA,kCACA,aACA,oDAEA,aACA,qDAEA,mCACA,IACA,MAIA,4BACA,eAEA,4BACA,eAGA,2CACA,2CAEA,uCACA,2BACA,EACA,EACA,6BACA,0BAIA,oBACA,iCACA,4BACA,gDAGA,kBACA,uDACA,wCACA,4BACA,2BACA,6BACA,iCAIA,QACA,2BACA,sDACA,mCACA,8DAIA,aACA,2BACA,6DACA,mCACA,uDAIA,kBACA,2BACA,aAIA,mBACA,2BACA,cAKA,6BACA,mBACA,OACA,UAGA,wBACA,eAEA,OADA,sDACA,EAEA,qBACA,QACA,IAUA,MATA,gBACA,4BACA,4BAC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,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIlB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACc,YAAY,YAChH,GAAkB,GCatB,IACA,eACA,WACA,cACA,cACA,YACA,gBACA,qBAGA,YAGA,SACA,gBACA,oCACA,SACA,eACA,cAGA,kCAEA,gBACA,kBACA,OACA,yDAGA,wEACA,wEAEA,oBACA,uBAIA,eACA,4EACA,4EACA,uBACA,eACA,OACA,eACA,uBACA,0BACA,uBACA,0BACA,iBAEA,0BACA,qBAGA,iBACA,6BACA,iBAGA,wBACA,2BAOA,uBACA,sBACA,OACA,gBACA,iBACA,2BACA,iBACA,2BACA,gDAEA,4BAEA,sBACA,OACA,gBACA,iBACA,2BACA,iBACA,2BACA,gDAEA,6BAGA,qBACA,sBACA,OACA,gBACA,iBACA,oCACA,iBACA,oCACA,8CAEA,4BAEA,sBACA,OACA,gBACA,iBACA,oCACA,iBACA,oCACA,8CAEA,6BAGA,UACA,2BACA,0BACA,sBACA,OACA,2BACA,mBACA,gDACA,8DAEA,0BACA,mBAGA,oBACA,sBACA,OACA,2BACA,mBACA,mDACA,gEAEA,0BACA,oBAGA,UACA,2BACA,0BACA,sBACA,OACA,2BACA,8CACA,gDACA,8DAEA,0BACA,kBAGA,oBACA,sBACA,OACA,2BACA,8CACA,mDACA,gEAEA,0BACA,mBAGA,aACA,2BACA,yBACA,sBACA,OACA,2BACA,kDACA,gDACA,8DAEA,0BACA,mBAGA,mBACA,sBACA,OACA,2BACA,kDACA,mDACA,gEAEA,0BACA,oBAGA,SACA,cACA,eAGA,SACA,sBACA,OACA,oBAEA,gCACA,0CACA,mCAEA,0BACA,2BAGA,SACA,sBACA,OACA,oBAEA,4BACA,0CACA,mCAEA,0BACA,2BAGA,cACA,eACA,SAEA,uBACA,UAGA,QACA,0CACA,sCACA,wCCzPgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIlB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACc,YAAY,aAChH,GAAkB,GCatB,IACA,gBACA,WACA,cACA,cACA,YACA,gBACA,uBAGA,UACA,qCAGA,SACA,wBACA,SACA,eACA,8BACA,4BACA,SACA,eACA,cACA,gBAGA,kCACA,gBACA,mBACA,OACA,gDAIA,yCACA,uCAEA,kEACA,yBAEA,wBACA,2BACA,sBAEA,kDAGA,iBACA,IAKA,QALA,KACA,IAEA,IACA,IAEA,6BACA,WAGA,OACA,MACA,KACA,KACA,KACA,MAGA,sBAEA,MACA,YACA,gBACA,kBACA,eAEA,MAIA,MACA,QACA,SACA,IACA,QACA,QACA,aAEA,MACA,KAEA,KACA,KACA,KACA,KAEA,gBACA,YACA,kBACA,eAEA,IACA,OAIA,gBACA,IACA,QACA,SACA,IACA,WACA,QACA,UAGA,MACA,KACA,KACA,KACA,KAEA,gBACA,YACA,eACA,kBACA,IACA,QACA,SACA,IACA,WACA,QACA,YAMA,OACA,UACA,cAIA,qBACA,aAEA,YACA,2BACA,OACA,IACA,cACA,YACA,qBAGA,qBAEA,OACA,kBAGA,gBACA,QACA,SACA,6BACA,SAEA,SAEA,SAIA,kBAGA,4BAGA,iBACA,QACA,QACA,GACA,oCACA,mBACA,OAEA,eACA,GAIA,YACA,eACA,WAGA,gDACA,gBACA,+BAEA,mBAEA,UAGA,wBACA,SACA,4BACA,eACA,aAGA,UAGA,mBACA,yBACA,WAEA,gGACA,KACA,sCACA,mBACA,QACA,qBACA,yBACA,qBAKA,2EAEA,oBACA,+BACA,6BACA,eACA,OACA,8BACA,MACA,OAEA,8CACA,2BAGA,mBACA,qDACA,eAKA,mEACA,wEACA,kBAEA,sDAEA,mBACA,4CAEA,kBACA,mCAIA,iBACA,WAEA,+EACA,KACA,cACA,4CAEA,SACA,sCACA,mBACA,QACA,qBACA,yBACA,qBAIA,0EACA,oBACA,6BACA,2BACA,eACA,OACA,KACA,kBACA,EAGA,yBAGA,aACA,gDACA,yBAEA,mBACA,mDACA,eAKA,mEACA,wEACA,oBAGA,mBACA,4CAEA,kBACA,uCAIA,yBAMA,QACA,+CACA,gDCzVgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIlB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,iCAChH,GAAkB,GCctB,IACA,eACA,cAEA,WACA,YACA,eACA,eACA,eACA,UACA,cAGA,SACA,QACA,UACA,8BACA,eACA,8DACA,iEAGA,WACA,iCACA,eACA,kCACA,sBACA,OACA,uBACA,MACA,8BACA,oDAEA,qCAEA,MACA,+BACA,qFAEA,uEAGA,QACA,mBAGA,YACA,qCAEA,sCAGA,WACA,2CAGA,cACA,aACA,2BACA,wCACA,iDACA,gCACA,gCAEA,iCACA,eACA,OACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,uBACA,MACA,8BACA,mCAEA,oBAEA,MACA,+BACA,oCAEA,uBAMA,WACA,YACA,oBACA,kBAGA,kBACA,YACA,oBACA,iBAGA,WAEA,OADA,4CACA,oCAGA,QACA,iBACA,sCC5HgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCMf,IACA,eACA,OACA,WACA,QACA,SACA,cAEA,WACA,MACA,kBACA,qBACA,sBACA,SACA,OACA,UACA,QACA,UAEA,iBACA,kBACA,iBACA,aACA,aACA,oBACA,iBACA,YACA,qBACA,iBACA,aACA,qBACA,YACA,aAEA,YACA,OACA,YACA,WACA,YAGA,UACA,YACA,WACA,qCACA,UACA,YAIA,UACA,qCAGA,SACA,OACA,yBACA,uFACA,2DACA,kCAEA,+DACA,oEACA,6EAEA,4BAEA,8CACA,OACA,0BACA,8BAGA,4CACA,wCAEA,qBACA,cACA,6EAEA,+BAGA,WACA,mGACA,oEACA,mHAGA,6BAGA,wCACA,6CAGA,WACA,OACA,SACA,QACA,QACA,QACA,UAEA,UAGA,aACA,uEACA,2EACA,mKAGA,QACA,uBACA,2BACA,+BC5IgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCgNf,IACA,8BACA,YACA,YAEA,WACA,YACA,iCACA,UACA,mCACA,aACA,aACA,gCACA,8BACA,eACA,0CACA,cACA,kBACA,eACA,aACA,cACA,gBACA,qBACA,eACA,iBACA,UACA,oCACA,qCAEA,eACA,kBACA,oBACA,qBACA,mBACA,kBACA,eACA,kBACA,2BACA,iBACA,oBACA,6BACA,eACA,uBACA,yBACA,oBACA,sBACA,4CACA,qCACA,wBACA,mBACA,wBACA,2BACA,mBACA,oBACA,wBAEA,UACA,WAEA,8BACA,mBACA,qBACA,mCAIA,+BACA,2DACA,iBAGA,mCACA,kBAEA,yBACA,oBAGA,sCACA,qCACA,wCACA,oBACA,GAEA,0CACA,sBACA,MAKA,SACA,OACA,qBACA,wDACA,iDACA,qCACA,kEACA,kEACA,oBAEA,kBAGA,YACA,iBACA,wBAIA,YACA,iDACA,2CACA,mCAGA,oBAEA,6CACA,wBACA,OACA,+CACA,0BACA,OAEA,8CACA,uBACA,4BAEA,gDACA,yBACA,4BAGA,iDACA,4BAEA,+CACA,0BAGA,+CACA,2CACA,mDACA,+CACA,wCACA,0BACA,wCACA,UACA,wBACA,sCACA,YAGA,sDACA,sDAIA,kBACA,iCACA,4BACA,sBACA,oDACA,cAGA,yBACA,oDACA,aAGA,6BACA,GACA,EACA,oDACA,kBAIA,wBACA,4DAEA,2BACA,2DAEA,+BACA,GACA,EACA,8CACA,oBAIA,sBACA,yBACA,kCACA,wBACA,2BACA,qCAEA,6CAIA,sBACA,yCACA,oCACA,6CACA,+BACA,wBACA,GACA,yDAKA,SACA,oCAIA,0BACA,wBACA,6BAEA,4CACA,+DACA,+DACA,8CAEA,0CACA,6DACA,8BAGA,+BACA,kCAEA,kCAEA,4DAGA,4BACA,2BAGA,0BACA,yBAGA,qBACA,gCAIA,gBACA,mBACA,EAEA,kBAGA,cACA,eACA,SAEA,cACA,UAGA,sBACA,+BACA,IAEA,QAGA,iBACA,mBACA,aACA,UAIA,MACA,8DACA,UACA,uEAEA,UACA,6BAGA,UACA,4BAGA,OACA,yBACA,6BAKA,oBACA,2BACA,gBAIA,oBACA,eACA,eAEA,UAIA,2BACA,wBACA,6BACA,0BACA,wCACA,QACA,eACA,gCAIA,4BACA,wBACA,6BACA,QACA,eACA,gCAIA,UAEA,WACA,uBAGA,iBACA,oBACA,mBACA,qCACA,8BACA,sCACA,wCAGA,4BAGA,sBACA,oBACA,mDACA,+CACA,2CAEA,iDAEA,6BAGA,qBACA,oBACA,4CACA,wCACA,kDAEA,0CAEA,6BAGA,WAEA,OADA,4CACA,oCAGA,gBACA,gDACA,GAEA,4BACA,mCACA,kBACA,kDACA,YACA,MAGA,6CACA,0BACA,OAEA,8BACA,qCACA,kBACA,oDACA,YACA,MAGA,+CACA,4BACA,QAGA,2BACA,sBACA,yBAEA,kBACA,0DAEA,oCAEA,eACA,sBACA,wBACA,SACA,iBACA,wBACA,SACA,2BAIA,uCACA,eACA,sBACA,wBACA,SACA,gBACA,wBACA,SACA,6BAMA,qBAEA,WACA,qBACA,4BAuBA,MApBA,+BACA,wBACA,OACA,6CAGA,yBACA,sBACA,OACA,+CACA,kDAKA,0BAEA,OADA,aACA,IACA,IAEA,GAIA,8BACA,wCAGA,2BACA,qCAIA,QACA,iDACA,8CACA,8BACA,0CACA,wCAEA,4BACA,2CACA,sCACA,8BACA,0CACA,wCAEA,+BCxtB+W,MCQ3W,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,QCnBX,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,WAAW,CAACc,YAAY,kBAAkB,CAACd,EAAG,SAAS,CAACc,YAAY,OAAOZ,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,MAAQ,GAAG,SAAW,GAAG,UAAY,KAAK,CAACN,EAAIQ,GAAG,IAAIR,EAAIW,GAAGX,EAAI2d,SAAS,OAAOvd,EAAG,YAAYA,EAAG,OAAO,CAACc,YAAY,kBAAkB,CAAClB,EAAIQ,GAAG,cAAcR,EAAIW,GAAGX,EAAImhB,mBAAmB,MAAMnhB,EAAIW,GAAGX,EAAIohB,iBAAiB,QAAQ,GAAGhhB,EAAG,MAAM,CAACE,MAAM,CAAC,GAAKN,EAAI6d,SAASzd,EAAG,UAAU,CAAC2E,IAAI,aAAa,IACvhB,GAAkB,GCDlB,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,iCAChH,GAAkB,GCatB,IACA,eACA,cAEA,WACA,MACA,YACA,eACA,eACA,eACA,UACA,cAEA,SACA,WACA,iBAIA,SACA,QACA,UACA,oCAEA,eACA,8DACA,iEAGA,WACA,iCACA,eACA,kCACA,sBACA,OACA,uBACA,MAEA,8BACA,6CAEA,gDAEA,qCAEA,MAEA,+BACA,8CAGA,eACA,iBACA,gCACA,YACA,KAIA,eACA,iBACA,gCACA,OAIA,QACA,mBAGA,OACA,mCAGA,UACA,aACA,YACA,4BACA,wCACA,iDACA,gCACA,gCAEA,uDACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,YACA,MAEA,8BACA,6CAEA,+BAEA,oBAEA,MAEA,+BACA,8CAEA,gCAEA,sBAIA,aAGA,WAEA,OADA,4CACA,oCAGA,QACA,iBACA,sCCvIgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCYf,IACA,yBACA,YACA,YAEA,SACA,WACA,QACA,WACA,YACA,SACA,OACA,SACA,UACA,SAEA,iBACA,6BACA,oCACA,eACA,SACA,QACA,4BACA,WACA,+BACA,kBACA,YACA,qBACA,kBACA,iBACA,2BAGA,UACA,WACA,wCACA,qDACA,iBACA,yCAEA,uBAEA,6BAIA,SACA,OAEA,iCACA,uCAGA,kEACA,oEAEA,wEACA,yEAGA,uCACA,oBACA,sBACA,oEAGA,8BACA,kCACA,gCAIA,eACA,SACA,IACA,IAEA,aACA,aAEA,4CACA,OACA,KAGA,+CACA,cAGA,yBAGA,cACA,0BACA,mCACA,GACA,yDACA,GAGA,yFACA,sBACA,gBACA,eACA,iBACA,4BACA,qBACA,SAGA,aACA,SACA,CACA,6FACA,sBACA,sBACA,qBACA,wBACA,mCACA,KAuBA,OApBA,4DAEA,qBAEA,mBACA,iCAEA,qCACA,qBAEA,8BACA,2CACA,sBACA,mCACA,qBAEA,+BACA,2CACA,sBAEA,GAGA,aACA,aACA,yBACA,oBACA,aACA,aACA,gBAEA,2BACA,kBAEA,qCAGA,WACA,iCACA,+BACA,iCACA,mCACA,sCACA,+BAEA,6CACA,MAIA,QACA,uCACA,0CACA,0CACA,2BACA,2BACA,4BACA,6BACA,oCACA,yBACA,yCACA,4BAGA,aACA,WACA,SACA,0BACA,sBACA,QACA,eACA,+CACA,OACA,SACA,iCAEA,SACA,eAEA,SACA,wBAEA,UACA,0CAEA,0CACA,UACA,uBACA,iBACA,UACA,aACA,qCADA,QAMA,8BACA,6BAEA,6BACA,4BAIA,eACA,WACA,SACA,4BACA,gBACA,QACA,eACA,iDACA,OACA,SACA,2BAEA,SACA,eAEA,SACA,wBAEA,UACA,0CAEA,SACA,0CACA,UAEA,UACA,uBACA,iBACA,UACA,aACA,qCADA,QAMA,8BACA,6BAEA,6BACA,4BAIA,gBACA,8BACA,yBACA,0CACA,EACA,MACA,oBACA,KACA,2BAHA,gBAMA,SACA,eACA,OACA,6BACA,kCACA,wCAEA,0BACA,2BACA,SAKA,QACA,WACA,qBACA,eACA,aACA,SACA,mBACA,WACA,QACA,EACA,kBAEA,iBAIA,WACA,YACA,OACA,eACA,UACA,aACA,qCACA,IACA,iBACA,MAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BACA,oBAEA,EACA,kBACA,0BACA,kCACA,gCAGA,QACA,eACA,aACA,UACA,mBACA,qCACA,QACA,SACA,WACA,cAEA,wCACA,UACA,cAEA,qCACA,OACA,WAKA,SACA,iCACA,wBACA,oCACA,mBACA,iCACA,oBACA,wCACA,yBAGA,SACA,eACA,OACA,wBACA,6BACA,oBACA,sBAEA,0BACA,2BACA,QAEA,iBACA,YACA,OACA,eACA,UACA,2DAEA,QAEA,EACA,kBACA,qBACA,wBACA,4BAEA,EACA,kBACA,qBACA,uBACA,4BACA,oBAEA,EACA,kBACA,0BACA,kCACA,kCC5b0W,MCOtW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,IAAM,GAAG,KAAO,GAAG,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,WAAW,CAACc,YAAY,kBAAkB,CAACd,EAAG,SAAS,CAACc,YAAY,OAAOZ,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,MAAQ,GAAG,SAAW,GAAG,UAAY,KAAK,CAACN,EAAIQ,GAAG,IAAIR,EAAIW,GAAGX,EAAI2d,SAAS,QAAQ,GAAGvd,EAAG,OAAO,CAACc,YAAY,kBAAkB,CAAClB,EAAIQ,GAAG,aAAaR,EAAIW,GAAGX,EAAIif,aAAajf,EAAIqhB,iBAAiB,OAAOjhB,EAAG,UAAU,CAAC2E,IAAI,aAAa,IACze,GAAkB,GCDlB,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACc,YAAY,aAChH,GAAkB,GCctB,IACA,eACA,cAEA,WACA,MACA,YACA,eACA,eACA,eACA,UACA,cAEA,SACA,WACA,iBAIA,SACA,QACA,UACA,oCAEA,eACA,8DACA,iEAGA,WACA,iCACA,eACA,kCACA,sBACA,OACA,uBACA,MAEA,8BACA,6CAEA,gDAEA,qCAEA,MAEA,+BACA,8CAGA,eACA,iBACA,gCACA,YACA,KAIA,eACA,iBACA,gCACA,OAIA,QACA,mBAGA,OACA,+CACA,SACA,wCACA,SACA,0CACA,UAEA,oGAGA,UACA,aACA,YACA,4BACA,wCACA,iDACA,gCACA,gCAEA,uDACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,YACA,MACA,2EACA,+BAEA,oBAEA,MACA,6EACA,gCAEA,sBAIA,aAGA,QACA,iBACA,sCCpIgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCTA,MAAMogB,GACpBrf,cAKChC,KAAKshB,WAAa,IAAI1H,GAMvB2H,UACC,OAAQvhB,KAAKshB,WAAWxH,KAOzB0H,OACC,OAAKxhB,KAAKshB,WAAWxH,KAId9Z,KAAKshB,WAAWxH,KAAKhb,MAHpB,KAWT2iB,QAAQ3iB,GACPkB,KAAKshB,WAAW5L,OAAO5W,GAQxB4iB,UACC,MAAMC,EAAc3hB,KAAKshB,WAAW9G,aACpC,OAAOmH,EAAcA,EAAY7iB,MAAQ,KAO1C0M,SAASrG,GAER,OAAOnF,KAAKshB,WAAW9V,SAASrG,IClClC,QACA,uBACA,YACA,YAEA,SACA,WACA,QACA,MACA,QACA,SACA,QAEA,YACA,wBACA,sBACA,uBACA,oBACA,WACA,WACA,YACA,YACA,GACA,MACA,KACA,IACA,MAEA,qBACA,qBAEA,cACA,CACA,qBAEA,CACA,qBAEA,CACA,qBAGA,4BACA,WACA,kBACA,MACA,UACA,8BACA,SACA,eACA,UACA,kBACA,+BAGA,OACA,OACA,sBACA,qBAEA,UAIA,UACA,qCAGA,SACA,aACA,wCACA,6BACA,0CACA,wBAEA,qDACA,kCACA,kCACA,yCAKA,gBACA,mBACA,EAEA,kBAGA,WACA,wDACA,sCACA,+DACA,iEAEA,yBACA,aACA,cACA,OACA,cACA,6DACA,8DAGA,qCAGA,oBACA,iBACA,mCACA,kBACA,gBACA,mBAMA,eACA,aACA,SAIA,GAHA,4BACA,4BAEA,4BAEA,YADA,oEAIA,+CACA,uCACA,MAEA,kCADA,+BAIA,sBAGA,sBAEA,iDACA,qBAGA,OACA,eAGA,QAEA,OACA,qCAEA,SAEA,aAEA,SAEA,OAGA,oBACA,oBAEA,SACA,KAGA,CACA,WACA,qCACA,SANA,CACA,WACA,uCAOA,SACA,sBAEA,8BAEA,0BACA,eAKA,IAEA,UAGA,qBACA,kBACA,qBAGA,WAEA,OADA,4CACA,oCAGA,QACA,+BACA,+BACA,0CACA,qCAIA,eACA,SACA,KACA,UACA,UACA,kBACA,eACA,eAGA,gCACA,UACA,aAGA,UAGA,aACA,iBACA,cACA,IACA,KAEA,aAQA,OAPA,YACA,OACA,SACA,qCACA,GACA,6BAEA,GAGA,kBACA,WACA,mBACA,aACA,4CACA,cACA,EACA,KACA,gBACA,KACA,iBAEA,2CACA,OACA,EACA,KACA,gBACA,KACA,kBAIA,WACA,OACA,iBACA,iBACA,MACA,aAEA,MACA,aAGA,OACA,OACA,OACA,SAIA,aAKA,OAJA,sBACA,sBACA,sBACA,sBACA,GAGA,gBACA,IACA,EADA,aAEA,KACA,WAEA,QACA,YACA,OACA,OACA,OACA,YACA,iBACA,aAIA,uBACA,QAEA,EADA,eACA,uDAEA,0DAGA,IACA,EADA,aAEA,KACA,WACA,mBAEA,YACA,qBACA,OACA,oCAIA,oBACA,kBACA,cAEA,gBACA,wCACA,iBAMA,sDAIA,eACA,mBACA,iBACA,6BACA,kBAEA,YAEA,kBACA,6BACA,cAEA,gBAEA,mBAGA,gBACA,oBAGA,+BAEA,gCACA,kCACA,gBACA,eACA,wBACA,sBAIA,sDAGA,wBAGA,6BACA,+BACA,iDAGA,eAEA,gBACA,gBACA,wCACA,6BACA,WACA,OACA,uBACA,cACA,6DAEA,uBACA,cACA,6DAMA,6BACA,WACA,OACA,KACA,qDAEA,sBACA,yBACA,0CACA,gCAEA,gBACA,oBACA,gBACA,gBACA,kBACA,gBAEA,oBACA,gBACA,gBACA,gBACA,kBAGA,8DACA,0DAEA,6BACA,2BACA,OACA,oBACA,eACA,yBACA,KACA,aACA,qDAMA,2BACA,mDAGA,eAEA,gBACA,gBACA,sCACA,6BACA,WACA,OACA,uBACA,cACA,6DAEA,uBACA,cACA,6DAIA,6BACA,WACA,OACA,KACA,qDAEA,sBACA,yBACA,wCACA,gCAEA,gBACA,oBACA,gBACA,gBACA,kBACA,gBAEA,oBACA,gBACA,gBACA,gBACA,kBAGA,8DACA,0DAEA,6BACA,2BACA,OACA,oBACA,eACA,yBACA,KACA,aACA,qDAMA,iBACA,wCAEA,qCACA,yBAEA,IACA,KACA,SACA,GACA,6BACA,yCACA,CACA,4CACA,4BACA,aACA,0BACA,YACA,qCAEA,oDACA,8CACA,4BACA,aACA,0BACA,YACA,gCAIA,IACA,IADA,IAGA,GACA,mCACA,gCAEA,2BAEA,wCACA,8BACA,KACA,IACA,uDACA,YACA,KACA,IACA,2DACA,YACA,iBACA,gDAKA,eACA,0CAGA,cACA,wCAGA,GADA,oBACA,QAEA,IACA,KACA,YACA,4CACA,4BACA,cACA,qDACA,4BACA,UAEA,8CACA,4BACA,cACA,0CACA,aACA,qCAGA,UAEA,GADA,KACA,4CAEA,6BACA,UAEA,wCACA,6BACA,KACA,uBACA,KACA,2BACA,iBACA,qBA2EA,WAGA,eACA,yBACA,iBACA,QACA,eACA,2BACA,aACA,gBAEA,YACA,8BACA,mBACA,uCAIA,MAEA,YACA,6BACA,mCAEA,kBAEA,gBACA,6BACA,wBAEA,uDAGA,wCAGA,yCAEA,iBACA,6BACA,sBAEA,yCAEA,qBACA,aAUA,OARA,EADA,6FACA,qDAEA,8EACA,kDAEA,uCAGA,IAEA,mBACA,0DACA,6DAEA,wCACA,mBACA,OACA,GAEA,GAEA,uBACA,mBACA,oDACA,4BACA,OACA,gCAGA,6BAIA,0CAGA,eACA,yBACA,2BACA,mBAGA,+BAEA,kBAEA,4CAMA,UACA,eACA,yBACA,iBACA,QACA,eACA,2BACA,oBACA,6BACA,aAEA,aAEA,YACA,8BACA,mBACA,uCAIA,oBAEA,YACA,6BACA,KAEA,0CAEA,gBACA,8BACA,wBACA,0BAIA,YAEA,iBACA,2CACA,sCAEA,WAEA,0BACA,SACA,8BACA,SAEA,gBAEA,GADA,sBACA,IAEA,4BAEA,OADA,SACA,KAIA,SACA,oCAGA,0CAEA,2BAEA,eACA,yBACA,UACA,iBAEA,mBAEA,yBAIA,aAEA,8CAGA,2CAGA,sBACA,aACA,cACA,mBACA,4BAMA,aAoBA,8BAGA,YAEA,4BAKA,gBACA,WACA,QACA,eACA,aACA,WAGA,OADA,aACA,GAGA,4BAEA,sDACA,SACA,aACA,kBACA,+BACA,kBACA,mBAEA,iEAIA,oBACA,WAUA,OATA,cACA,sBACA,6CACA,kCACA,sBACA,KAEA,oCAEA,aAIA,uBAEA,eACA,UACA,eACA,0BAGA,4BAEA,EACA,sBACA,qCACA,4BAEA,EACA,mBACA,gCACA,qBACA,oBACA,6BACA,gBAGA,OACA,YACA,iDAIA,kBAGA,iBACA,oBACA,4CACA,qBACA,oBACA,6BACA,QAGA,yCAGA,eACA,0BACA,gCACA,yBAEA,kCCxgCwW,MCOpW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WAAa,IAAIpF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,IAAM,GAAG,KAAO,GAAG,GAAKN,EAAIoM,KAAK,CAAChM,EAAG,WAAW,CAACc,YAAY,kBAAkB,CAACd,EAAG,SAAS,CAACc,YAAY,OAAOZ,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,MAAQ,GAAG,SAAW,GAAG,UAAY,KAAK,CAACN,EAAIQ,GAAG,IAAIR,EAAIW,GAAGX,EAAI2d,SAAS,OAAOvd,EAAG,aAAa,GAAGA,EAAG,OAAO,CAACc,YAAY,mBAAmBd,EAAG,MAAM,CAACE,MAAM,CAAC,GAAKN,EAAI6d,SAASzd,EAAG,UAAU,CAAC2E,IAAI,aAAa,IACnd,GAAkB,GCDlB,GAAS,WAAa,IAAI/E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,MAAM,CAAC,GAAK,0BAChH,GAAkB,GCctB,IACA,eACA,WACA,MACA,YACA,eACA,eACA,eACA,UACA,cAGA,SACA,QACA,UACA,uBACA,aACA,cACA,2BAEA,0CACA,eACA,8DACA,iEAGA,WACA,+BACA,eACA,kCACA,sBACA,OACA,uBACA,MAEA,8BACA,6CAEA,gDAEA,qCAEA,MAEA,+BACA,8CAGA,eACA,iBACA,gCACA,YACA,KAIA,eACA,iBACA,gCACA,OAIA,QACA,mBAGA,WAEA,OADA,4CACA,oCAGA,kBACA,qBACA,OACA,eACA,YADA,GAKA,OACA,oDACA,aACA,QACA,gDACA,UACA,oBAEA,qCAIA,UACA,aACA,4BACA,8CACA,iDACA,gCACA,gCACA,wCACA,qDACA,uBACA,aACA,eACA,UACA,iBACA,iBACA,mBACA,MAEA,8BACA,6CAEA,+BAEA,oBAEA,MAEA,+BACA,8CAEA,gCAEA,sBAGA,YACA,aAGA,QACA,iBACA,sCCpJgW,MCO5V,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCUf,IACA,2BACA,YACA,YAEA,WACA,SACA,OACA,SACA,UACA,SAEA,OACA,OACA,OACA,OACA,eACA,SACA,SACA,YACA,+BACA,sCACA,6BACA,aACA,wDACA,uBACA,iBACA,iBACA,yBACA,kBACA,kBACA,oBACA,yBAGA,UACA,WACA,0CACA,wCACA,6BAIA,SACA,OACA,iCACA,uCAEA,8DACA,gEAEA,gCACA,4BACA,+CACA,0EAEA,gCACA,kCACA,wCAIA,gBACA,uBACA,8BAGA,uBACA,8BACA,uBAIA,aACA,kBACA,aAEA,oBACA,4BACA,yBACA,sBAEA,iHACA,4BAEA,iFACA,sIACA,sBAGA,0CACA,sCACA,sCACA,sCAEA,+EACA,8EAEA,aACA,aACA,oBACA,6GACA,kBAGA,gBACA,qCAGA,WACA,kDAGA,kBACA,SACA,KACA,wDACA,qEACA,6BACA,WACA,iEACA,OACA,QACA,WACA,gCACA,sCAEA,QACA,WACA,gCACA,wCAMA,IACA,EADA,uDAEA,wCACA,wBAEA,yCACA,8CAGA,eACA,eACA,eACA,eACA,iBACA,iBAEA,kFACA,iDACA,qDAEA,mDACA,qDAGA,gBACA,IAmBA,EAnBA,KACA,KAEA,wFACA,6BACA,WACA,8DACA,QACA,WACA,gCACA,wCAEA,QACA,WACA,gCACA,wCAMA,GADA,uCACA,wCACA,6BAEA,2CACA,kFACA,6CAEA,qBACA,qBACA,qBACA,qBACA,uBACA,wBAGA,gBACA,SACA,KACA,IACA,IACA,IACA,IAEA,mCACA,gBACA,gBACA,UAGA,mCACA,gBACA,gBACA,UAGA,qBAGA,iBACA,SACA,KACA,IACA,IACA,IACA,IAEA,mCACA,oBACA,oBACA,UAGA,mCACA,oBACA,oBACA,UAGA,qBAIA,kBAOA,IANA,eACA,IACA,IACA,IACA,IAEA,YACA,QACA,QAIA,KACA,KAGA,QACA,IACA,uBACA,SACA,SACA,OACA,OAIA,UACA,QAGA,SAEA,uBACA,iBAIA,SACA,KACA,KAEA,oBACA,kBACA,kBACA,kBAGA,QACA,IACA,IACA,IACA,IAEA,oBACA,QACA,QACA,QACA,QACA,QAEA,cACA,UACA,UACA,iBAEA,MAEA,OACA,QACA,eAKA,gBACA,8BACA,yBACA,0CACA,uDACA,wBACA,uCACA,6CACA,8CACA,0BACA,2BACA,SAGA,QACA,qBACA,4BACA,UACA,mBACA,WACA,+BACA,iBAIA,2BACA,qBACA,mBACA,4EACA,QAEA,oBACA,qBACA,wBACA,4BAEA,oBACA,qBACA,uBACA,4BAEA,oBACA,0BACA,kCACA,gCAGA,gBACA,8BACA,yBACA,0CACA,uDACA,wBACA,uCACA,gCACA,4BACA,4BACA,2BACA,0BACA,SAGA,QACA,SACA,qBACA,0BACA,SACA,mBACA,mBACA,+BACA,iBAIA,2BACA,mBACA,qBACA,0DACA,QAEA,oBACA,qBACA,wBACA,4BAEA,oBACA,qBACA,uBACA,4BACA,oBAEA,oBACA,0BACA,kCACA,gCAGA,YACA,WACA,eACA,iBACA,iDAEA,iBACA,gCAGA,qBACA,2BACA,eACA,wBACA,YACA,wBACA,4BACA,qBAGA,kBACA,mEAEA,iBACA,yBAGA,mDAEA,gDACA,kCAEA,0FAEA,oDACA,UAGA,eACA,WACA,uCACA,iCAGA,GAFA,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IAANxO,EACXoO,GAFyBI,GAMjCJ,EAAMK,aAAe,SAAUzO,GAC9B,OAAKC,UAAUjX,QACfylB,GAAqB,IAANzO,EACRoO,GAFyBK,GAMjCL,EAAMM,YAAc,SAAU1O,GAC7B,OAAKC,UAAUjX,QACf0lB,GAAoB,IAAN1O,EACPoO,GAFyBM,GAMjCN,EAAMvd,GAAK,SAAU6F,EAAMsJ,GAC1B,IAAKC,UAAUjX,OAAU,OAAO6H,EAChC,GAAyB,IAArBoP,UAAUjX,OAAgB,OAAO6H,EAAG6F,GACxC,IAAIwa,EAAQ,CAAC,QAAS,OAAQ,OAI9B,OAHIA,EAAM5f,QAAQoF,IAAS,IAC1B7F,EAAG6F,GAAQsJ,GAELoO,GAIRA,EAAMC,WAAa,SAAUrO,GAC5B,OAAKC,UAAUjX,QACfqlB,EAAarO,EACNoO,GAFyBC,GAK1BD,ECrPR,QACA,2BACA,SACA,WACA,+BACA,sCACA,QACA,YACA,SACA,aACA,UACA,OACA,OACA,OACA,OACA,+BACA,eACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,aAGA,SACA,wBACA,gBACA,+BACA,oBAGA,UACA,WACA,8BACA,yDACA,iBAGA,sCACA,UACA,4BACA,mCACA,6CACA,iBACA,kDAIA,SACA,aACA,uCAEA,yBACA,uBAEA,0DAEA,gDACA,sCACA,uCAEA,wCACA,sCACA,gDACA,iBACA,kDAEA,gBACA,wCACA,mBAGA,OACA,4CACA,IAGA,4CACA,IAGA,gBAEA,uBACA,YACA,OACA,6CACA,mCAEA,eACA,sBAEA,iBAEA,uBACA,YACA,OACA,iEACA,eACA,sBAEA,iBAEA,mBAEA,SACA,mBACA,qBACA,sBACA,gBACA,kBACA,sBACA,uBACA,sBACA,eACA,yBACA,wBAEA,SACA,eACA,+BACA,6CACA,2BACA,6CACA,yBACA,uBAEA,oBAEA,SACA,eACA,+BACA,6CACA,+BACA,2CACA,yBACA,uBAEA,oBAEA,SACA,eACA,OACA,8BACA,kBACA,gBAEA,2BACA,0BACA,qBACA,0BACA,wBACA,4BACA,oBACA,YAEA,SACA,eACA,OACA,8BACA,mCACA,0BACA,0BAEA,2BACA,qBACA,0BACA,wBACA,4BACA,oBACA,aAGA,cACA,SACA,kDAEA,wCACA,sBACA,QACA,qBACA,qBACA,2BACA,aACA,yBACA,qCACA,qCAEA,gBACA,YAEA,cACA,aAEA,cACA,aAEA,cACA,aAEA,cACA,aAGA,UAGA,QACA,gBACA,gBACA,OACA,iBACA,mBACA,8BAEA,wBACA,qCACA,+CAGA,2CAEA,aAGA,sBAEA,oBACA,aACA,cACA,OACA,gBACA,oCAEA,oBAGA,kBACA,WACA,sBACA,oBACA,6BACA,QACA,iBACA,OACA,SACA,MAEA,MACA,oCAEA,KACA,EAEA,SACA,SASA,OAJA,GAHA,sCACA,oBAEA,qBAIA,GAEA,UACA,UAEA,MACA,aAKA,gBAEA,2BACA,2BACA,6BACA,QACA,iBACA,OACA,SACA,eAEA,MACA,6CAEA,IACA,iBACA,UAEA,yCACA,uBAEA,oBAEA,+CAGA,iBACA,UACA,aAEA,MACA,eAGA,mBACA,oBAEA,kBAGA,sBAKA,kBACA,gBACA,2BACA,oBACA,uBACA,oBACA,qBACA,4BACA,0BACA,wBAEA,2BAGA,aACA,aAEA,0CACA,yCACA,yCAEA,+BAEA,+BAEA,uBACA,2BAEA,uBACA,kDACA,qDAGA,eACA,kBACA,QACA,EADA,+BAIA,6BAJA,+BAOA,+BAIA,aACA,WAEA,mCAEA,aACA,aACA,cACA,mBACA,iBACA,qBAGA,SACA,WACA,sBACA,eACA,mDACA,uBAEA,0CACA,kDACA,uBACA,OACA,kEAEA,iDACA,uBAGA,yBACA,uDAGA,sBAGA,6BACA,6CACA,mCACA,6CAIA,YACA,WACA,0CACA,aACA,sCAGA,oCACA,aACA,mCACA,eAEA,oCAEA,QACA,qBACA,oCAOA,aACA,sBACA,YAGA,WACA,QACA,YACA,KAEA,2BACA,wBAGA,YAEA,WACA,gBACA,2BACA,uBAGA,WACA,mBACA,2BACA,wBAGA,WACA,sBACA,aAGA,yBAEA,WACA,QACA,2BACA,uBAGA,WACA,gBACA,uBACA,YACA,KAEA,cACA,mCAEA,kBAGA,+DAEA,mDAEA,yDAGA,OAEA,eAOA,WACA,SACA,6BACA,mBACA,uBACA,2BAEA,uBACA,2BAIA,wCACA,IACA,IACA,QACA,YAIA,SAEA,eAGA,yCACA,yCAOA,WACA,SACA,6BACA,mBACA,uBACA,2BAEA,uBACA,4BAIA,aACA,UACA,mBACA,KAMA,CACA,2BACA,uBAWA,GATA,2DAGA,2DACA,4DAKA,mBACA,OAMA,gDA1BA,CACA,qBACA,iDAEA,yCACA,yCAuBA,YACA,eAGA,QACA,uBAGA,aACA,gCAEA,kDACA,UACA,4CACA,mBAGA,kDACA,UACA,4CACA,sBAIA,QACA,iDAEA,iCACA,sCACA,yDC7nB4W,MCOxW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QC0Yf,IACA,wBACA,YACA,eAEA,cACA,OAEA,uBACA,qBACA,mBACA,uBACA,2BAGA,OACA,uBACA,mCAIA,WACA,mBACA,wBACA,QACA,SACA,oCAGA,QACA,6BACA,4BACA,YACA,yBACA,oBACA,iCACA,yBACA,mCACA,oBACA,6BACA,kBACA,wBACA,qBACA,kCACA,2BACA,mBACA,wBACA,gCACA,oCACA,4BACA,qBACA,sBACA,sBACA,wBACA,wBACA,qDACA,sCACA,2BACA,0BACA,0BACA,gCACA,mCACA,0BACA,oBACA,4BACA,yBACA,eACA,mCACA,6BACA,SACA,YACA,kBACA,4BACA,uCACA,gCACA,sBACA,4BACA,wBAEA,wCACA,8BACA,mBACA,mBACA,kBACA,sBACA,qBACA,0BACA,mBACA,qBACA,sBACA,uBAEA,sBACA,uBACA,uBACA,gCACA,uCACA,kCACA,2DACA,wBACA,uBACA,4CACA,oBACA,oEACA,iCACA,iCACA,sBACA,wBACA,gBACA,gBACA,eACA,gBACA,eAEA,sCACA,4BACA,cACA,2BACA,mBAGA,UACA,iBAEA,6BACA,kCACA,kBACA,wBACA,8BAIA,SAIA,uBACA,kCACA,uBAEA,iDACA,yDACA,yDAEA,+CACA,sCACA,mCACA,4CACA,4CACA,eAGA,sCACA,kBACA,mBAEA,aAGA,OACA,2CACA,yCACA,sDACA,wDACA,6CAEA,0BACA,wBACA,mBACA,yBACA,uBAGA,mCACA,yBACA,+DACA,4BACA,uDAEA,wCAGA,cACA,gCACA,oCACA,qCACA,qDACA,qDAEA,2CAGA,mBACA,iCACA,8BACA,oBACA,mBACA,sBACA,6BAIA,qBACA,yDACA,yDAEA,iDACA,wBACA,+CACA,wBACA,mCACA,uCACA,sCAEA,uCACA,wBACA,2CACA,+DACA,6DACA,+CAEA,2CACA,6CACA,yDACA,qDACA,6DACA,6DACA,wCAEA,0BACA,uDACA,iEAGA,yCACA,mEAGA,mBACA,mBACA,mCAEA,+CACA,sCACA,6BACA,aAGA,SACA,IAEA,KACA,wCACA,yBACA,0CACA,0BAGA,0CACA,SACA,OACA,KAGA,kDACA,oCACA,6BACA,oBACA,mCAEA,6DAEA,sHAEA,wEAGA,oBACA,wCAEA,QACA,IAGA,EADA,yCACA,EAEA,gDAGA,EADA,wCACA,EAEA,+CAEA,+CAGA,kBACA,mDACA,0CACA,sBACA,6BACA,+BACA,kCACA,+BACA,6BAKA,uBACA,WACA,OACA,kCACA,iDACA,kDACA,kCACA,iDACA,kDACA,mCACA,IACA,KAGA,4BACA,eAEA,4BACA,eAGA,2CACA,2CAEA,uCACA,2BACA,EACA,EACA,6BACA,0BAIA,4BACA,QACA,IACA,8CACA,yCAEA,WACA,EACA,6DAEA,WACA,EACA,6DAQA,4CACA,gBACA,EACA,EACA,kCACA,0BAIA,cAEA,+BACA,6DACA,4BAGA,oCACA,uEACA,iCACA,iCACA,yDACA,0BAEA,iDACA,gDAGA,4BAGA,iEACA,2EACA,uDAEA,6CACA,8BAEA,mDAEA,gDACA,6CACA,6CACA,oDAIA,uBACA,mDAGA,KACA,eACA,wCACA,4BACA,aAIA,sCACA,kBAQA,OAJA,sBACA,oBAGA,GAGA,oBACA,iCACA,4BACA,gDAGA,aACA,2BACA,wDACA,mCACA,gEAIA,QACA,2BACA,+DACA,mCACA,yDAIA,kBACA,2BACA,aAIA,mBACA,2BACA,cAKA,6BACA,mBACA,OACA,UAGA,wBACA,eAEA,OADA,sDACA,EAEA,qBACA,QACA,IAUA,MATA,gBACA,4BACA,4BACA,2CACA,iBACA,4BACA,4BACA,2CAEA,8BAEA,UAIA,eACA,kBACA,mBACA,aAGA,eACA,kBACA,aACA,aAGA,aACA,aACA,aAGA,eACA,+CACA,kBACA,aAGA,cACA,aACA,aAGA,mBACA,kBACA,aAGA,uBACA,qBACA,0CACA,6CAIA,0BACA,+DACA,qEACA,uCAGA,wBACA,iDACA,qCAGA,6BACA,mCACA,+DACA,8BACA,8CACA,uCACA,gDACA,kDACA,4CAEA,8CAGA,aACA,2CACA,kBACA,aAGA,cACA,6CACA,kBACA,aAGA,sBACA,6DACA,kBACA,aAGA,kBACA,qDACA,kBACA,aAGA,sBACA,6DACA,sCAGA,sBACA,6DACA,sCAGA,oBACA,uCACA,aACA,YACA,kCAGA,oBACA,yDACA,2BACA,kBACA,aAGA,oBACA,yDACA,wBACA,2BACA,kBACA,eCjgC0V,MCOtV,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCIfzU,aAAIwX,IAAIC,GACR,MAAM3W,GAAQ,IAAI2W,WAEZC,GAAS,IAAIC,OAAO,CACzBC,OAAQ,CACP,CACCC,KAAM,UACN5mB,KAAM,iBACNgG,UAAW6gB,GACX3jB,OAAO,GAER,CACC0jB,KAAM,YACN5mB,KAAM,mBACNgG,UAAW8gB,GACX5jB,OAAO,MAKV6L,aAAIgY,OAAOC,eAAgB,EAC3BjY,aAAIwX,IAAIU,QACRlY,aAAIwX,IAAIG,QACR3X,aAAIwX,IAAIW,KACRnY,aAAIwX,IAAIY,KAER,IAAIpY,aAAI,CACPc,MADO,GAEPpO,OAAQ2lB,GAAKA,EAAEC,GACfC,GAAI,OACJb,UACAc,WAAY,CAAEF,OACdG,SAAU,WAEXzY,aAAIgY,OAAOU,UAAW,EAEPhB,iB,kFC1Df,yBAA2f,EAAG,G,kCCA9f,yBAA0c,EAAG,G,kCCA7c,yBAA4e,EAAG,G,kCCA/e,yBAAof,EAAG,G","file":"js/app.a978f178.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteCorrespondence.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteCorrespondence.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('div',{attrs:{\"id\":\"app\"}},[_c('v-toolbar',{attrs:{\"id\":\"toolbar\",\"color\":\"teal\",\"fixed\":\"\",\"app\":\"\",\"clipped-right\":\"\"}},[_c('v-toolbar-title',{staticStyle:{\"margin-right\":\"3em\",\"color\":\"white\"}},[_vm._v(\" CallFlow \")]),_c('v-btn',{attrs:{\"outlined\":\"\"}},[_c('router-link',{attrs:{\"to\":\"/single\",\"replace\":\"\"}},[_vm._v(\"Single\")])],1),(_vm.runCounts > 1)?_c('v-btn',{attrs:{\"outlined\":\"\"}},[_c('router-link',{attrs:{\"to\":\"/ensemble\",\"replace\":\"\"}},[_vm._v(\"Ensemble\")])],1):_vm._e()],1),_c('router-view'),_c('v-content',[_c('v-layout',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" General Information \")])],1),_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" Experiment: \"+_vm._s(_vm.data.experiment)+\" \")])],1),_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" Data path: \"+_vm._s(_vm.data.data_path)+\" \")])],1),_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" .callflow save path: \"+_vm._s(_vm.data.save_path)+\" \")])],1),_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" Filter by attribute: \"+_vm._s(_vm.data.filter_by)+\" \")])],1),_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" Filter percentage: \"+_vm._s(_vm.data.filter_perc)+\" \")])],1),_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\" Group by attribute: \"+_vm._s(_vm.data.group_by)+\" \")])],1)],1),_c('v-container',[_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',[_vm._v(\"Runtime Information\")]),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"dense\":\"\",\"headers\":_vm.runtimeHeaders,\"items\":_vm.runtime,\"items-per-page\":5},scopedSlots:_vm._u([{key:\"items\",fn:function(props){return [_c('tr',[_c('td',{attrs:{\"nowrap\":\"true\"}},[_vm._v(_vm._s(props.item.run))]),_c('td',{attrs:{\"nowrap\":\"true\"}},[_vm._v(\" \"+_vm._s(props.item.min_inclusive_runtime)+\" \")]),_c('td',{attrs:{\"nowrap\":\"true\"}},[_vm._v(\" \"+_vm._s(props.item.max_inclusive_runtime)+\" \")]),_c('td',{attrs:{\"nowrap\":\"true\"}},[_vm._v(\" \"+_vm._s(props.item.min_exclusive_runtime)+\" \")]),_c('td',{attrs:{\"nowrap\":\"true\"}},[_vm._v(\" \"+_vm._s(props.item.max_exclusive_runtime)+\" \")])])]}}])})],1)],1)],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n *\n * SPDX-License-Identifier: MIT\n */\n\nclass APIService {\n\t/**\n * A\n */\n\tconstructor() {\n\t\tthis.url = \"http://localhost:5000/\"; // For local\n\t}\n \n\t/**\n * Force to reject the promise in the specified seconds.\n * @param {Numeric} ms milliseconds before rejecting the promise\n * @param {Promise} promise Promise of interest.\n * @return {Promise} A promise with timeout.\n */\n\ttimeoutPromise(ms, promise) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst timeoutId = setTimeout(() => {\n\t\t\t\treject(new Error(\"Promise times out\"));\n\t\t\t}, ms);\n\t\t\tpromise.then(\n\t\t\t\t(res) => {\n\t\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\t\tresolve(res);\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\t\treject(err);\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n \n\t/**\n\t * Send a POST request to the firestore.\n\t * @param {String} endpoint \n\t * @param {JSON} jsonBody \n\t * @return {Promise} response\n\t */\n\tPOSTRequest(endpoint=\"\", jsonBody={}) {\n\t\tconst fullURL = this.url + endpoint;\n\t\tconsole.log(\"[POST Request]\", fullURL, \"body: \", jsonBody);\n\t\tconst httpResponse = fetch(fullURL, {\n\t\t\tmethod: \"POST\",\n\t\t\tcache: \"default\", // *default, no-cache, reload, force-cache, only-if-cached\n\t\t\tcredentials: \"same-origin\", // include, *same-origin, omit\n\t\t\theaders: {\"Content-Type\": \"application/json\"},\n\t\t\tbody: JSON.stringify(jsonBody),\n\t\t}).then((response) => {\n\t\t\tswitch (response.status) {\n\t\t\tcase 200:\n\t\t\t\treturn response.json();\n\t\t\tcase 401:\n\t\t\t\treturn Promise.reject(\"unauthorized\");\n\t\t\tcase 500:\n\t\t\t\treturn Promise.reject(\"not_allowed\");\n\t\t\tdefault:\n\t\t\t\treturn Promise.reject(\"unknown_error\");\n\t\t\t}\n\t\t}).catch((error) => {\n\t\t\tconsole.error(error);\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t\treturn this.timeoutPromise(10000, httpResponse);\n\t}\n\n\t/**\n\t * Send a GET request to the firestore.\n\t * @param {String} endpoint \n\t * @param {String} requestType \n\t * @param {JSON} headers \n\t * @return {Promise} response\n\t */\n\tGETRequest(endpoint=\"\", headers={\"Content-Type\": \"application/json\"}) {\n\t\tconst fullURL = this.url + endpoint;\n\t\tconsole.debug(\"[GET Request]\", fullURL, headers);\n\t\tconst httpResponse = fetch(fullURL, {\n\t\t\tmethod: \"GET\",\n\t\t\theaders: headers,\n\t\t\tcache: \"default\", // *default, no-cache, reload, force-cache, only-if-cached\n\t\t\tcredentials: \"same-origin\", // include, *same-origin, omit\n\t\t}).then((response) => {\n\t\t\tswitch (response.status) {\n\t\t\tcase 200:\n\t\t\t\treturn response.json();\n\t\t\tcase 401:\n\t\t\t\treturn Promise.reject(\"unauthorized\");\n\t\t\tcase 500:\n\t\t\t\treturn Promise.reject(\"not_allowed\");\n\t\t\tdefault:\n\t\t\t\treturn Promise.reject(\"unknown_error\");\n\t\t\t}\n\t\t}).catch((error) => {\n\t\t\tconsole.error(error);\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t\treturn this.timeoutPromise(10000, httpResponse);\n\t}\n}\nexport default new APIService();\n ","/**\n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n *\n * SPDX-License-Identifier: MIT\n */\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=25391d76&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{attrs:{\"id\":\"inspire\"}},[_c('v-toolbar',{attrs:{\"id\":\"toolbar\",\"color\":\"teal\",\"dark\":\"\",\"fixed\":\"\",\"app\":\"\",\"clipped-right\":\"\"}},[_c('v-toolbar-side-icon',{on:{\"click\":function($event){$event.stopPropagation();_vm.left = !_vm.left}}},[_c('v-icon',[_vm._v(\"settings\")])],1),_c('v-toolbar-title',{staticStyle:{\"margin-right\":\"3em\"}},[_vm._v(_vm._s(_vm.appName))]),_c('v-flex',{staticClass:\"ma-2\",attrs:{\"xs3\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Select a run (Sorted by inclusive runtime)\",\"items\":_vm.datasets,\"menu-props\":{ maxHeight: '400' },\"box\":\"\"},on:{\"change\":function($event){return _vm.updateTargetDataset()}},scopedSlots:_vm._u([{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.datasets.indexOf(item) + 1)+\". \"+_vm._s(item)+\" - \"+_vm._s(_vm.formatRuntimeWithoutUnits(_vm.metricTimeMap[item]))+\" \")]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.datasets.indexOf(item) + 1)+\". \"+_vm._s(item)+\" - \"+_vm._s(_vm.formatRuntimeWithoutUnits(_vm.metricTimeMap[item]))+\" \")]}}]),model:{value:(_vm.selectedTargetDataset),callback:function ($$v) {_vm.selectedTargetDataset=$$v},expression:\"selectedTargetDataset\"}})],1),_c('v-spacer'),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs2\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Graph to visualize\",\"items\":_vm.formats,\"menu-props\":{ maxHeight: '400' },\"box\":\"\"},on:{\"change\":function($event){return _vm.updateFormat()}},model:{value:(_vm.selectedFormat),callback:function ($$v) {_vm.selectedFormat=$$v},expression:\"selectedFormat\"}})],1)],1),_c('v-navigation-drawer',{attrs:{\"temporary\":\"\",\"fixed\":\"\"},model:{value:(_vm.left),callback:function ($$v) {_vm.left=$$v},expression:\"left\"}},[_c('v-btn',{attrs:{\"slot\":\"activator\",\"color\":\"primary\",\"dark\":\"\"},slot:\"activator\"},[_vm._v(\"Open Dialog\")]),_c('v-card',{attrs:{\"flex\":\"\",\"fill-height\":\"\",\"id\":\"control-panel\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-btn',{attrs:{\"icon\":\"\"}},[_c('v-icon',{on:{\"click\":function($event){return _vm.reset()}}},[_vm._v(\"refresh\")])],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',{staticClass:\"teal lighten-4\"},[_vm._v(\"Visual Encoding\")])],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Metric\",\"items\":_vm.metrics,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateMetric()}},model:{value:(_vm.selectedMetric),callback:function ($$v) {_vm.selectedMetric=$$v},expression:\"selectedMetric\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Number of bins for MPI Distribution\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateMPIBinCount()}},model:{value:(_vm.selectedMPIBinCount),callback:function ($$v) {_vm.selectedMPIBinCount=$$v},expression:\"selectedMPIBinCount\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Scale\",\"items\":_vm.scales,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateScale()}},model:{value:(_vm.selectedScale),callback:function ($$v) {_vm.selectedScale=$$v},expression:\"selectedScale\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',{staticClass:\"teal lighten-4\"},[_vm._v(\"Colors\")])],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Runtime Color Map\",\"items\":_vm.runtimeColorMap,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedRuntimeColorMap),callback:function ($$v) {_vm.selectedRuntimeColorMap=$$v},expression:\"selectedRuntimeColorMap\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Color points (3-9)\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedColorPoint),callback:function ($$v) {_vm.selectedColorPoint=$$v},expression:\"selectedColorPoint\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Color minimum (in seconds)\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedColorMinText),callback:function ($$v) {_vm.selectedColorMinText=$$v},expression:\"selectedColorMinText\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Color maximum (in seconds)\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedColorMaxText),callback:function ($$v) {_vm.selectedColorMaxText=$$v},expression:\"selectedColorMaxText\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',{staticClass:\"teal lighten-4\"},[_vm._v(\"Call site Information\")])],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Sort by\",\"items\":_vm.sortByModes,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateRuntimeSortBy()}},model:{value:(_vm.selectedRuntimeSortBy),callback:function ($$v) {_vm.selectedRuntimeSortBy=$$v},expression:\"selectedRuntimeSortBy\"}})],1)],1)],1)],1),(_vm.selectedMode == 'Single')?_c('v-content',{staticClass:\"pt-auto\"},[_c('v-layout',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}]},[_c('splitpanes',{staticClass:\"default-theme\",attrs:{\"id\":\"callgraph-dashboard\"}},[_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":25}},[_c('SingleHistogram',{ref:\"SingleHistogram\"}),_c('SingleScatterplot',{ref:\"SingleScatterplot\"})],1),_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":55}},[_c('SuperGraph',{ref:\"SingleSuperGraph\"})],1),_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":20}},[_c('CallsiteInformation',{ref:\"CallsiteInformation\"})],1)],1)],1),_c('v-layout',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'CCT'),expression:\"selectedFormat == 'CCT'\"}]},[_c('splitpanes',{attrs:{\"id\":\"single-cct-dashboard\"}},[_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":100}},[_c('CCT',{ref:\"SingleCCT\"})],1)],1)],1)],1):_vm._e(),_c('v-footer',{attrs:{\"id\":\"footer\",\"color\":\"teal\",\"app\":\"\"}},[_vm._v(\" Lawrence Livermore National Laboratory and VIDi Labs, University of California, Davis \"),_c('v-spacer'),_c('span',[_vm._v(\"© 2020\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*******************************************************************************\n * Copyright (c) 2020, Lawrence Livermore National Security, LLC.\n * Produced at the Lawrence Livermore National Laboratory.\n *\n * Written by Suraj Kesavan .\n *\n * LLNL-CODE-740862. All rights reserved.\n *\n * This file is part of CallFlow. For details, see:\n * https://github.com/LLNL/CallFlow\n * Please also read the LICENSE file for the MIT License notice.\n ******************************************************************************/\nexport const CategoricalColors = {\n\t0: [0.31, 0.48, 0.65],\n\t1: [0.94, 0.56, 0.22],\n\t2: [0.87, 0.35, 0.36],\n\t3: [0.47, 0.72, 0.70],\n\t4: [0.36, 0.63, 0.32],\n\t5: [0.93, 0.78, 0.33],\n\t6: [0.69, 0.48, 0.63],\n\t7: [0.99, 0.62, 0.66],\n\t8: [0.61, 0.46, 0.38],\n\t9: [0.73, 0.69, 0.67],\n\tblue: [0.31, 0.48, 0.65],\n\torange: [0.94, 0.56, 0.22],\n\tred: [0.87, 0.35, 0.36],\n\tteal: [0.47, 0.72, 0.70],\n\tgreen: [0.36, 0.63, 0.32],\n\tyellow: [0.93, 0.78, 0.33],\n\tpurple: [0.69, 0.48, 0.63],\n\tpink: [0.99, 0.62, 0.66],\n\tbrown: [0.61, 0.46, 0.38],\n\tgray: [0.73, 0.69, 0.67]\n};\n\nexport const UniformColorMaps = {\n\tcoolwarm: [\n\t\t[0.33479085, 0.28308437, 0.75649522],\n\t\t[0.33899903, 0.290177126, 0.762712568],\n\t\t[0.343207654, 0.297250671, 0.768868416],\n\t\t[0.347417048, 0.304305324, 0.774961783],\n\t\t[0.351627529, 0.311341308, 0.780991701],\n\t\t[0.355839407, 0.31835875, 0.786957213],\n\t\t[0.36005298, 0.325357701, 0.792857371],\n\t\t[0.364268538, 0.332338134, 0.798691243],\n\t\t[0.368486361, 0.339299959, 0.804457904],\n\t\t[0.372706719, 0.346243025, 0.810156445],\n\t\t[0.376929872, 0.353167127, 0.815785967],\n\t\t[0.381156069, 0.360072011, 0.821345583],\n\t\t[0.385385551, 0.366957379, 0.826834419],\n\t\t[0.389618546, 0.373822891, 0.832251614],\n\t\t[0.393855272, 0.380668171, 0.837596318],\n\t\t[0.398095935, 0.387492809, 0.842867695],\n\t\t[0.402340732, 0.394296365, 0.848064921],\n\t\t[0.406589846, 0.401078368, 0.853187185],\n\t\t[0.410843451, 0.407838324, 0.85823369],\n\t\t[0.415101708, 0.414575715, 0.863203651],\n\t\t[0.419364766, 0.42129, 0.868096298],\n\t\t[0.423632761, 0.42798062, 0.872910872],\n\t\t[0.42790582, 0.434646997, 0.877646629],\n\t\t[0.432184055, 0.441288536, 0.882302838],\n\t\t[0.436467566, 0.447904626, 0.886878783],\n\t\t[0.440756441, 0.454494645, 0.891373761],\n\t\t[0.445050754, 0.461057956, 0.895787081],\n\t\t[0.449350569, 0.46759391, 0.900118069],\n\t\t[0.453655933, 0.474101849, 0.904366064],\n\t\t[0.457966884, 0.480581104, 0.908530419],\n\t\t[0.462283444, 0.487030998, 0.912610501],\n\t\t[0.466605623, 0.493450846, 0.916605692],\n\t\t[0.470933417, 0.499839955, 0.920515388],\n\t\t[0.475266811, 0.506197626, 0.924339],\n\t\t[0.479605773, 0.512523155, 0.928075953],\n\t\t[0.483950261, 0.51881583, 0.931725687],\n\t\t[0.488300218, 0.525074937, 0.935287658],\n\t\t[0.492655572, 0.531299757, 0.938761334],\n\t\t[0.497016241, 0.537489567, 0.9421462],\n\t\t[0.501382127, 0.543643642, 0.945441756],\n\t\t[0.505753118, 0.549761254, 0.948647516],\n\t\t[0.510129092, 0.555841671, 0.951763009],\n\t\t[0.514509909, 0.561884161, 0.954787781],\n\t\t[0.51889542, 0.56788799, 0.957721391],\n\t\t[0.52328546, 0.573852423, 0.960563413],\n\t\t[0.527679851, 0.579776725, 0.96331344],\n\t\t[0.532078401, 0.58566016, 0.965971076],\n\t\t[0.536480908, 0.591501991, 0.968535941],\n\t\t[0.540887154, 0.597301482, 0.971007674],\n\t\t[0.545296909, 0.603057899, 0.973385925],\n\t\t[0.54970993, 0.608770507, 0.975670362],\n\t\t[0.554125961, 0.614438572, 0.977860667],\n\t\t[0.558544733, 0.620061363, 0.97995654],\n\t\t[0.562965965, 0.625638149, 0.981957693],\n\t\t[0.567389365, 0.631168202, 0.983863856],\n\t\t[0.571814625, 0.636650795, 0.985674775],\n\t\t[0.576241429, 0.642085204, 0.987390209],\n\t\t[0.580669445, 0.647470707, 0.989009935],\n\t\t[0.585098332, 0.652806586, 0.990533745],\n\t\t[0.589527737, 0.658092124, 0.991961445],\n\t\t[0.593957293, 0.663326609, 0.99329286],\n\t\t[0.598386625, 0.668509332, 0.994527827],\n\t\t[0.602815344, 0.673639585, 0.995666201],\n\t\t[0.607243051, 0.678716668, 0.996707851],\n\t\t[0.611669336, 0.683739881, 0.997652664],\n\t\t[0.61609378, 0.688708529, 0.998500538],\n\t\t[0.620515949, 0.693621923, 0.999251393],\n\t\t[0.624935404, 0.698479377, 0.999905158],\n\t\t[0.629351691, 0.70328021, 1.000461782],\n\t\t[0.633764351, 0.708023743, 1.000921227],\n\t\t[0.63817291, 0.712709307, 1.001283473],\n\t\t[0.64257689, 0.717336232, 1.001548513],\n\t\t[0.646975798, 0.721903859, 1.001716355],\n\t\t[0.651369136, 0.726411529, 1.001787026],\n\t\t[0.655756395, 0.730858592, 1.001760564],\n\t\t[0.660137059, 0.735244402, 1.001637025],\n\t\t[0.664510601, 0.739568319, 1.00141648],\n\t\t[0.668876488, 0.743829708, 1.001099013],\n\t\t[0.673234178, 0.74802794, 1.000684725],\n\t\t[0.67758312, 0.752162394, 1.000173733],\n\t\t[0.681922758, 0.756232453, 0.999566166],\n\t\t[0.686252527, 0.760237507, 0.998862171],\n\t\t[0.690571854, 0.764176951, 0.998061908],\n\t\t[0.69488016, 0.76805019, 0.997165552],\n\t\t[0.699176859, 0.771856631, 0.996173293],\n\t\t[0.703461358, 0.775595691, 0.995085337],\n\t\t[0.707733059, 0.779266794, 0.993901902],\n\t\t[0.711991357, 0.782869367, 0.992623222],\n\t\t[0.71623564, 0.786402849, 0.991249546],\n\t\t[0.720465291, 0.789866684, 0.989781136],\n\t\t[0.724679689, 0.793260321, 0.98821827],\n\t\t[0.728878207, 0.79658322, 0.986561237],\n\t\t[0.73306021, 0.799834846, 0.984810343],\n\t\t[0.737225063, 0.803014673, 0.982965908],\n\t\t[0.741372122, 0.806122181, 0.981028263],\n\t\t[0.745500742, 0.80915686, 0.978997757],\n\t\t[0.749610271, 0.812118205, 0.97687475],\n\t\t[0.753700055, 0.81500572, 0.974659614],\n\t\t[0.757769435, 0.817818918, 0.972352739],\n\t\t[0.76181775, 0.820557319, 0.969954524],\n\t\t[0.765844332, 0.823220451, 0.967465384],\n\t\t[0.769848514, 0.825807851, 0.964885746],\n\t\t[0.773829624, 0.828319063, 0.962216051],\n\t\t[0.777786987, 0.83075364, 0.95945675],\n\t\t[0.781719925, 0.833111145, 0.956608311],\n\t\t[0.78562776, 0.835391146, 0.953671211],\n\t\t[0.789509808, 0.837593223, 0.950645941],\n\t\t[0.793365387, 0.839716962, 0.947533006],\n\t\t[0.79719381, 0.84176196, 0.944332919],\n\t\t[0.80099439, 0.843727822, 0.94104621],\n\t\t[0.804766438, 0.84561416, 0.937673417],\n\t\t[0.808509264, 0.847420597, 0.934215092],\n\t\t[0.812222176, 0.849146765, 0.930671799],\n\t\t[0.815904482, 0.850792304, 0.927044111],\n\t\t[0.81955549, 0.852356864, 0.923332614],\n\t\t[0.823174505, 0.853840103, 0.919537906],\n\t\t[0.826760834, 0.855241688, 0.915660596],\n\t\t[0.830313782, 0.856561298, 0.911701301],\n\t\t[0.833832656, 0.857798619, 0.907660652],\n\t\t[0.837316761, 0.858953345, 0.903539289],\n\t\t[0.840765403, 0.860025183, 0.899337864],\n\t\t[0.844177889, 0.861013847, 0.895057037],\n\t\t[0.847553526, 0.861919061, 0.89069748],\n\t\t[0.850891622, 0.862740559, 0.886259872],\n\t\t[0.854191486, 0.863478084, 0.881744906],\n\t\t[0.857452428, 0.864131388, 0.877153282],\n\t\t[0.860673759, 0.864700235, 0.872485708],\n\t\t[0.863854792, 0.865184396, 0.867742904],\n\t\t[0.867330172, 0.864540194, 0.862606204],\n\t\t[0.871070379, 0.862768866, 0.857104915],\n\t\t[0.874730228, 0.860914529, 0.851568855],\n\t\t[0.878309568, 0.858977443, 0.845998954],\n\t\t[0.881808244, 0.856957876, 0.840396142],\n\t\t[0.885226105, 0.854856108, 0.834761348],\n\t\t[0.888562998, 0.852672423, 0.829095499],\n\t\t[0.89181877, 0.850407119, 0.823399519],\n\t\t[0.894993269, 0.848060498, 0.817674334],\n\t\t[0.898086346, 0.845632873, 0.811920864],\n\t\t[0.901097852, 0.843124565, 0.80614003],\n\t\t[0.90402764, 0.840535903, 0.800332749],\n\t\t[0.906875564, 0.837867225, 0.794499937],\n\t\t[0.909641483, 0.835118874, 0.788642506],\n\t\t[0.912325257, 0.832291206, 0.782761367],\n\t\t[0.914926747, 0.829384579, 0.776857427],\n\t\t[0.917445821, 0.826399364, 0.770931591],\n\t\t[0.919882348, 0.823335935, 0.76498476],\n\t\t[0.9222362, 0.820194675, 0.759017834],\n\t\t[0.924507255, 0.816975975, 0.753031706],\n\t\t[0.926695392, 0.813680232, 0.74702727],\n\t\t[0.928800497, 0.810307851, 0.741005413],\n\t\t[0.930822459, 0.806859241, 0.73496702],\n\t\t[0.932761172, 0.803334821, 0.728912971],\n\t\t[0.934616533, 0.799735013, 0.722844143],\n\t\t[0.936388447, 0.796060247, 0.71676141],\n\t\t[0.938076822, 0.792310959, 0.71066564],\n\t\t[0.939681571, 0.78848759, 0.704557696],\n\t\t[0.941202613, 0.784590588, 0.69843844],\n\t\t[0.942639873, 0.780620404, 0.692308727],\n\t\t[0.943993281, 0.776577495, 0.686169407],\n\t\t[0.945262772, 0.772462324, 0.680021326],\n\t\t[0.94644829, 0.768275358, 0.673865327],\n\t\t[0.947549782, 0.764017068, 0.667702244],\n\t\t[0.948567201, 0.75968793, 0.66153291],\n\t\t[0.949500509, 0.755288422, 0.65535815],\n\t\t[0.950349672, 0.750819028, 0.649178786],\n\t\t[0.951114665, 0.746280235, 0.642995633],\n\t\t[0.951795465, 0.741672531, 0.636809501],\n\t\t[0.952392062, 0.736996408, 0.630621194],\n\t\t[0.952904448, 0.732252362, 0.624431512],\n\t\t[0.953332623, 0.727440889, 0.618241248],\n\t\t[0.953676597, 0.722562488, 0.612051188],\n\t\t[0.953936383, 0.717617658, 0.605862116],\n\t\t[0.954112003, 0.7126069, 0.599674805],\n\t\t[0.954203486, 0.707530716, 0.593490026],\n\t\t[0.95421087, 0.702389608, 0.587308543],\n\t\t[0.954134199, 0.697184077, 0.581131111],\n\t\t[0.953973524, 0.691914624, 0.574958483],\n\t\t[0.953728904, 0.686581749, 0.568791403],\n\t\t[0.953400406, 0.68118595, 0.562630608],\n\t\t[0.952988106, 0.675727722, 0.556476831],\n\t\t[0.952492085, 0.670207559, 0.550330796],\n\t\t[0.951912435, 0.664625951, 0.544193222],\n\t\t[0.951249252, 0.658983382, 0.538064822],\n\t\t[0.950502644, 0.653280336, 0.531946299],\n\t\t[0.949672726, 0.647517287, 0.525838353],\n\t\t[0.948759618, 0.641694704, 0.519741675],\n\t\t[0.947763452, 0.635813053, 0.51365695],\n\t\t[0.946684367, 0.629872786, 0.507584854],\n\t\t[0.94552251, 0.623874352, 0.50152606],\n\t\t[0.944278035, 0.617818187, 0.495481231],\n\t\t[0.942951107, 0.611704718, 0.489451023],\n\t\t[0.941541896, 0.60553436, 0.483436086],\n\t\t[0.940050585, 0.599307515, 0.477437063],\n\t\t[0.938477361, 0.593024572, 0.471454589],\n\t\t[0.936822421, 0.586685904, 0.465489292],\n\t\t[0.935085971, 0.580291867, 0.459541794],\n\t\t[0.933268225, 0.573842799, 0.453612707],\n\t\t[0.931369406, 0.567339019, 0.44770264],\n\t\t[0.929389745, 0.560780821, 0.44181219],\n\t\t[0.927329482, 0.554168481, 0.43594195],\n\t\t[0.925188866, 0.547502243, 0.430092505],\n\t\t[0.922968152, 0.540782329, 0.424264432],\n\t\t[0.920667608, 0.534008926, 0.418458302],\n\t\t[0.918287506, 0.52718219, 0.412674678],\n\t\t[0.915828131, 0.520302242, 0.406914115],\n\t\t[0.913289773, 0.513369162, 0.401177161],\n\t\t[0.910672733, 0.506382987, 0.395464359],\n\t\t[0.90797732, 0.499343711, 0.389776241],\n\t\t[0.905203852, 0.492251274, 0.384113335],\n\t\t[0.902352654, 0.485105562, 0.37847616],\n\t\t[0.899424062, 0.477906402, 0.372865229],\n\t\t[0.89641842, 0.470653555, 0.367281047],\n\t\t[0.893336079, 0.463346707, 0.361724112],\n\t\t[0.890177401, 0.455985471, 0.356194915],\n\t\t[0.886942755, 0.448569368, 0.35069394],\n\t\t[0.88363252, 0.441097828, 0.345221665],\n\t\t[0.880247082, 0.433570174, 0.339778559],\n\t\t[0.876786838, 0.425985617, 0.334365086],\n\t\t[0.87325219, 0.418343238, 0.328981703],\n\t\t[0.869643553, 0.410641979, 0.32362886],\n\t\t[0.865961348, 0.402880625, 0.318306999],\n\t\t[0.862206003, 0.395057791, 0.313016558],\n\t\t[0.858377959, 0.387171894, 0.307757966],\n\t\t[0.854477661, 0.379221139, 0.302531647],\n\t\t[0.850505566, 0.371203487, 0.29733802],\n\t\t[0.846462136, 0.363116629, 0.292177494],\n\t\t[0.842347845, 0.354957949, 0.287050476],\n\t\t[0.838163173, 0.346724482, 0.281957365],\n\t\t[0.83390861, 0.338412871, 0.276898554],\n\t\t[0.829584652, 0.330019309, 0.27187443],\n\t\t[0.825191806, 0.321539471, 0.266885377],\n\t\t[0.820730585, 0.312968442, 0.26193177],\n\t\t[0.816201511, 0.304300615, 0.257013981],\n\t\t[0.811605116, 0.295529586, 0.252132377],\n\t\t[0.806941937, 0.286648013, 0.247287319],\n\t\t[0.802212521, 0.277647446, 0.242479163],\n\t\t[0.797417423, 0.268518124, 0.237708261],\n\t\t[0.792557206, 0.259248713, 0.232974961],\n\t\t[0.787632439, 0.249825977, 0.228279608],\n\t\t[0.782643702, 0.24023436, 0.223622539],\n\t\t[0.77759158, 0.230455444, 0.219004091],\n\t\t[0.772476668, 0.220467236, 0.214424597],\n\t\t[0.767299568, 0.210243209, 0.209884384],\n\t\t[0.762060889, 0.199751005, 0.20538378],\n\t\t[0.756761248, 0.188950611, 0.200923108],\n\t\t[0.75140127, 0.177791763, 0.196502688],\n\t\t[0.745981587, 0.166210104, 0.192122839],\n\t\t[0.740502838, 0.154121318, 0.187783878],\n\t\t[0.734965671, 0.14141175, 0.183486121],\n\t\t[0.729370739, 0.127922592, 0.179229881],\n\t\t[0.723718704, 0.113421308, 0.175015472],\n\t\t[0.718010235, 0.097545076, 0.170843206],\n\t\t[0.712246006, 0.079673653, 0.166713395],\n\t\t[0.7064267, 0.058582625, 0.162626353],\n\t\t[0.700553008, 0.031592475, 0.158582393],\n\t\t[0.694625625, 0.00296461, 0.154581828]\n\t],\n\t// Used by matplotlib.\n\tviridis: [\n\t\t[0.282364553, 0, 0.331010194],\n\t\t[0.284420163, 0, 0.337034427],\n\t\t[0.286408722, 0, 0.34299986],\n\t\t[0.288328018, 0, 0.348901425],\n\t\t[0.290179378, 0.002654874, 0.35473812],\n\t\t[0.291960279, 0.007927574, 0.360508963],\n\t\t[0.29367257, 0.013523701, 0.366210869],\n\t\t[0.295314593, 0.019446928, 0.371841938],\n\t\t[0.296885699, 0.025709273, 0.377402605],\n\t\t[0.298386438, 0.032320043, 0.382889257],\n\t\t[0.299815971, 0.039284989, 0.388299074],\n\t\t[0.301173065, 0.046263605, 0.393633812],\n\t\t[0.302457462, 0.052924483, 0.398887738],\n\t\t[0.303669591, 0.059347679, 0.404062513],\n\t\t[0.304807765, 0.065576775, 0.409154501],\n\t\t[0.305872694, 0.071646986, 0.414162002],\n\t\t[0.306863542, 0.077587483, 0.419085269],\n\t\t[0.307780278, 0.083417867, 0.423919761],\n\t\t[0.308622494, 0.08915478, 0.428667953],\n\t\t[0.309390937, 0.094810863, 0.433324403],\n\t\t[0.310084053, 0.100399347, 0.437890473],\n\t\t[0.310702155, 0.105925447, 0.442362838],\n\t\t[0.311245178, 0.111398995, 0.446741648],\n\t\t[0.31171373, 0.116826841, 0.451025994],\n\t\t[0.312107495, 0.122211059, 0.455213669],\n\t\t[0.312426421, 0.12756, 0.45930581],\n\t\t[0.312671026, 0.132871715, 0.463299323],\n\t\t[0.312842848, 0.13815391, 0.467195234],\n\t\t[0.312939857, 0.143406419, 0.470990554],\n\t\t[0.312964756, 0.148633022, 0.474688209],\n\t\t[0.312917276, 0.153833244, 0.478285325],\n\t\t[0.31279806, 0.159008292, 0.481781833],\n\t\t[0.312607967, 0.164161309, 0.485179603],\n\t\t[0.312347642, 0.169291531, 0.488475883],\n\t\t[0.312018787, 0.174399964, 0.491673367],\n\t\t[0.311623294, 0.179485609, 0.494771427],\n\t\t[0.311159847, 0.184551638, 0.497770623],\n\t\t[0.310631264, 0.189595869, 0.500670447],\n\t\t[0.310038598, 0.194617768, 0.503473667],\n\t\t[0.309383825, 0.199620123, 0.50617997],\n\t\t[0.308668394, 0.204599571, 0.508789973],\n\t\t[0.307893026, 0.209558887, 0.511307017],\n\t\t[0.30705867, 0.214494832, 0.513728818],\n\t\t[0.306169637, 0.219410015, 0.516060621],\n\t\t[0.305226907, 0.224301183, 0.518300247],\n\t\t[0.304230908, 0.229169665, 0.520452297],\n\t\t[0.303184327, 0.23401591, 0.522516303],\n\t\t[0.30208911, 0.238838555, 0.52449521],\n\t\t[0.300947275, 0.243638109, 0.526391045],\n\t\t[0.299761321, 0.248411187, 0.528204854],\n\t\t[0.298533409, 0.253162399, 0.529940558],\n\t\t[0.297264904, 0.257887398, 0.531597292],\n\t\t[0.295957559, 0.262587449, 0.533178503],\n\t\t[0.294613881, 0.267263788, 0.534687595],\n\t\t[0.293235389, 0.271914152, 0.536124789],\n\t\t[0.29182587, 0.276539894, 0.537493845],\n\t\t[0.29038714, 0.281137685, 0.538796077],\n\t\t[0.288919537, 0.285713038, 0.540035142],\n\t\t[0.287426163, 0.290260619, 0.541210432],\n\t\t[0.285909075, 0.294782589, 0.542327277],\n\t\t[0.284368457, 0.299280222, 0.54338595],\n\t\t[0.282808854, 0.30375224, 0.544389916],\n\t\t[0.281231181, 0.308198925, 0.545340709],\n\t\t[0.279638204, 0.312619061, 0.546240852],\n\t\t[0.278029366, 0.317014946, 0.54709281],\n\t\t[0.276408749, 0.321385415, 0.547898161],\n\t\t[0.2747762, 0.325731625, 0.548659129],\n\t\t[0.273133607, 0.330054743, 0.549376904],\n\t\t[0.271483073, 0.334352558, 0.550054129],\n\t\t[0.269825453, 0.338628329, 0.55069316],\n\t\t[0.268162615, 0.3428799, 0.551295679],\n\t\t[0.266495079, 0.347108488, 0.551861999],\n\t\t[0.264824946, 0.351315001, 0.552395838],\n\t\t[0.263152656, 0.355499532, 0.552898352],\n\t\t[0.261479291, 0.359663188, 0.553370667],\n\t\t[0.2598069, 0.363804861, 0.553815549],\n\t\t[0.258135127, 0.367926736, 0.554233229],\n\t\t[0.256465488, 0.372027779, 0.554624491],\n\t\t[0.254796664, 0.376110092, 0.554991545],\n\t\t[0.253131545, 0.380173687, 0.5553352],\n\t\t[0.251468935, 0.38421961, 0.555657646],\n\t\t[0.249809319, 0.388246886, 0.555958715],\n\t\t[0.248154519, 0.392256574, 0.556239496],\n\t\t[0.246502819, 0.396250722, 0.556502059],\n\t\t[0.244855438, 0.400228368, 0.556746262],\n\t\t[0.243211275, 0.404191591, 0.556972229],\n\t\t[0.241572085, 0.40813939, 0.557181851],\n\t\t[0.239935321, 0.412073822, 0.557375231],\n\t\t[0.238302445, 0.415993928, 0.557553271],\n\t\t[0.236672664, 0.419901774, 0.557716013],\n\t\t[0.235044688, 0.423797366, 0.557863499],\n\t\t[0.233418402, 0.42768078, 0.557996644],\n\t\t[0.23179415, 0.43155403, 0.558115514],\n\t\t[0.23017062, 0.435415152, 0.558221055],\n\t\t[0.228545837, 0.439268241, 0.558311286],\n\t\t[0.226921796, 0.443110292, 0.558388185],\n\t\t[0.225295059, 0.446944385, 0.558450748],\n\t\t[0.223665357, 0.450770477, 0.5585],\n\t\t[0.222033173, 0.454587707, 0.558533891],\n\t\t[0.220395682, 0.458399026, 0.558554442],\n\t\t[0.218753476, 0.462202555, 0.558559625],\n\t\t[0.217103794, 0.466001277, 0.55854943],\n\t\t[0.2154464, 0.469793276, 0.55852386],\n\t\t[0.213781237, 0.473579536, 0.558482909],\n\t\t[0.212104356, 0.477363125, 0.558424526],\n\t\t[0.210416546, 0.481140084, 0.558348751],\n\t\t[0.208715672, 0.48491544, 0.558254507],\n\t\t[0.207002655, 0.488686237, 0.558142856],\n\t\t[0.205274058, 0.492454453, 0.558011716],\n\t\t[0.203529732, 0.496219216, 0.557860134],\n\t\t[0.201769075, 0.499981516, 0.557687063],\n\t\t[0.199990512, 0.503743321, 0.557493446],\n\t\t[0.198194207, 0.507501758, 0.557276358],\n\t\t[0.196378932, 0.511260752, 0.557037681],\n\t\t[0.19454391, 0.515016431, 0.556773514],\n\t\t[0.192687798, 0.518772751, 0.556483695],\n\t\t[0.190809699, 0.522527822, 0.556167356],\n\t\t[0.188910106, 0.52628262, 0.555823406],\n\t\t[0.186988225, 0.530037105, 0.555450744],\n\t\t[0.185044047, 0.533791419, 0.555048516],\n\t\t[0.183076504, 0.537546494, 0.554614502],\n\t\t[0.181087511, 0.541301431, 0.554148901],\n\t\t[0.17907907, 0.54505611, 0.553651486],\n\t\t[0.177048511, 0.548811719, 0.553119441],\n\t\t[0.174998106, 0.552566177, 0.55255165],\n\t\t[0.172927152, 0.556323508, 0.551946906],\n\t\t[0.170840345, 0.560079758, 0.551305519],\n\t\t[0.168735186, 0.563836905, 0.550623112],\n\t\t[0.166617897, 0.56759401, 0.549902026],\n\t\t[0.164486938, 0.571352034, 0.549137847],\n\t\t[0.162350105, 0.575110037, 0.54833296],\n\t\t[0.160206983, 0.57886796, 0.547482915],\n\t\t[0.158062641, 0.582625896, 0.54658912],\n\t\t[0.15592085, 0.58638281, 0.545648332],\n\t\t[0.153785246, 0.590140667, 0.544660266],\n\t\t[0.151663046, 0.593897574, 0.543623383],\n\t\t[0.149559345, 0.597654419, 0.542537144],\n\t\t[0.147481636, 0.601409324, 0.541399051],\n\t\t[0.145437381, 0.605164162, 0.540210518],\n\t\t[0.14343467, 0.60891604, 0.538969112],\n\t\t[0.141480867, 0.61266593, 0.537672481],\n\t\t[0.139587165, 0.616415793, 0.536320242],\n\t\t[0.137763667, 0.620161689, 0.534912064],\n\t\t[0.136020919, 0.623906545, 0.533446178],\n\t\t[0.13437266, 0.627646426, 0.531922315],\n\t\t[0.132832383, 0.631384239, 0.530339651],\n\t\t[0.131410838, 0.635118107, 0.528695928],\n\t\t[0.130125622, 0.638846942, 0.526990734],\n\t\t[0.128989086, 0.642572693, 0.52522357],\n\t\t[0.128017628, 0.646291446, 0.523393293],\n\t\t[0.127225586, 0.650007125, 0.521497893],\n\t\t[0.126630843, 0.653714779, 0.519538336],\n\t\t[0.126246801, 0.657418325, 0.517512535],\n\t\t[0.126089944, 0.661112834, 0.515420512],\n\t\t[0.126172637, 0.664801273, 0.513260659],\n\t\t[0.126511086, 0.668481527, 0.511032406],\n\t\t[0.127114669, 0.672153753, 0.508734767],\n\t\t[0.127995817, 0.675817772, 0.506367566],\n\t\t[0.129165005, 0.679470699, 0.503930954],\n\t\t[0.130626887, 0.683115418, 0.501421577],\n\t\t[0.132387924, 0.686749032, 0.49884169],\n\t\t[0.134452914, 0.690371463, 0.49618857],\n\t\t[0.136822787, 0.693983608, 0.493462472],\n\t\t[0.13949652, 0.697582617, 0.490662686],\n\t\t[0.142474978, 0.7011703, 0.487788732],\n\t\t[0.145750228, 0.70474282, 0.484838975],\n\t\t[0.149321849, 0.708302973, 0.481813842],\n\t\t[0.153179377, 0.711847929, 0.478713792],\n\t\t[0.157318564, 0.715378589, 0.475536944],\n\t\t[0.161730716, 0.718893812, 0.472282406],\n\t\t[0.166406002, 0.722391787, 0.468951725],\n\t\t[0.171338542, 0.725874284, 0.465543101],\n\t\t[0.17651572, 0.729337518, 0.462055133],\n\t\t[0.181930053, 0.732785241, 0.458487921],\n\t\t[0.187571031, 0.736211639, 0.454843239],\n\t\t[0.193429649, 0.739619614, 0.451117964],\n\t\t[0.199499186, 0.743008988, 0.447313047],\n\t\t[0.205767887, 0.746376001, 0.443429285],\n\t\t[0.212229375, 0.749723376, 0.439463504],\n\t\t[0.218873428, 0.753047369, 0.435417594],\n\t\t[0.22569701, 0.756349669, 0.431288292],\n\t\t[0.232688469, 0.759628568, 0.427078537],\n\t\t[0.239843791, 0.7628837, 0.422786019],\n\t\t[0.247153668, 0.766113396, 0.418412723],\n\t\t[0.254613428, 0.769318467, 0.413957329],\n\t\t[0.262218889, 0.772498701, 0.409418458],\n\t\t[0.269962666, 0.77565145, 0.404798189],\n\t\t[0.277841418, 0.778778314, 0.400092862],\n\t\t[0.285848026, 0.781875674, 0.395303604],\n\t\t[0.29398231, 0.784946086, 0.39042969],\n\t\t[0.302235095, 0.787985957, 0.385473325],\n\t\t[0.310604419, 0.790996053, 0.380432913],\n\t\t[0.319087196, 0.793977129, 0.375305722],\n\t\t[0.327678425, 0.796925609, 0.370097109],\n\t\t[0.336377071, 0.799844013, 0.36480084],\n\t\t[0.34517577, 0.80272881, 0.359421265],\n\t\t[0.354076535, 0.805582464, 0.353955096],\n\t\t[0.363072889, 0.808400495, 0.348402578],\n\t\t[0.37216392, 0.811184613, 0.342763768],\n\t\t[0.381347905, 0.813934495, 0.337037614],\n\t\t[0.390618224, 0.816648721, 0.331226329],\n\t\t[0.399976821, 0.81932765, 0.325327258],\n\t\t[0.409415973, 0.821969907, 0.319342572],\n\t\t[0.418938096, 0.824574796, 0.313270474],\n\t\t[0.428536113, 0.82714301, 0.307110897],\n\t\t[0.438211485, 0.829672159, 0.300864482],\n\t\t[0.447961789, 0.832162866, 0.294529459],\n\t\t[0.457781391, 0.83461486, 0.288106667],\n\t\t[0.467672971, 0.837028362, 0.281594598],\n\t\t[0.477628958, 0.839401127, 0.274993962],\n\t\t[0.487651997, 0.841734348, 0.268301762],\n\t\t[0.497733674, 0.844025807, 0.261523769],\n\t\t[0.507875022, 0.846277099, 0.254656114],\n\t\t[0.518075249, 0.848488769, 0.247698899],\n\t\t[0.528325832, 0.850658669, 0.240654148],\n\t\t[0.538630828, 0.852786888, 0.233517501],\n\t\t[0.548980458, 0.854874335, 0.226295687],\n\t\t[0.559378838, 0.856921058, 0.218982461],\n\t\t[0.569817428, 0.858926, 0.211583929],\n\t\t[0.580294553, 0.860889673, 0.204097969],\n\t\t[0.590811638, 0.862813564, 0.196522789],\n\t\t[0.601358084, 0.864696671, 0.188865211],\n\t\t[0.611937091, 0.866539951, 0.181121292],\n\t\t[0.622540157, 0.868342445, 0.173298674],\n\t\t[0.633168288, 0.870107082, 0.165394846],\n\t\t[0.643812988, 0.87183295, 0.15741903],\n\t\t[0.654472815, 0.873520492, 0.149372194],\n\t\t[0.665146187, 0.875172136, 0.141258413],\n\t\t[0.675825719, 0.87678702, 0.133091913],\n\t\t[0.686511527, 0.878367982, 0.12487704],\n\t\t[0.697194143, 0.879914204, 0.116633111],\n\t\t[0.707874818, 0.881428483, 0.108373929],\n\t\t[0.718543932, 0.882912056, 0.100128072],\n\t\t[0.729204, 0.884365666, 0.091925366],\n\t\t[0.739843331, 0.885790592, 0.083809287],\n\t\t[0.750462567, 0.887190215, 0.075839053],\n\t\t[0.761059494, 0.888563872, 0.068090072],\n\t\t[0.771623442, 0.889914889, 0.060669955],\n\t\t[0.782157864, 0.891244958, 0.053711966],\n\t\t[0.792653349, 0.892555409, 0.047401118],\n\t\t[0.803110167, 0.893848926, 0.04195436],\n\t\t[0.81352, 0.895126859, 0.03764563],\n\t\t[0.823881496, 0.896391553, 0.034852646],\n\t\t[0.834195319, 0.897645338, 0.033642701],\n\t\t[0.844452225, 0.898889585, 0.034045498],\n\t\t[0.854655562, 0.900125934, 0.036085859],\n\t\t[0.864796013, 0.901357784, 0.039789107],\n\t\t[0.874876944, 0.902585761, 0.044954025],\n\t\t[0.884885947, 0.903815287, 0.051230115],\n\t\t[0.894826973, 0.905044656, 0.058381191],\n\t\t[0.90470253, 0.906278205, 0.066205641],\n\t\t[0.91450577, 0.907515306, 0.074534887],\n\t\t[0.924239732, 0.908759607, 0.083251002],\n\t\t[0.933898589, 0.910011479, 0.092251508],\n\t\t[0.943486439, 0.911272564, 0.101473717],\n\t\t[0.952999453, 0.912545233, 0.110858769]\n\t],\n\tinferno: [\n\t\t[0.002810891, 0.000239715, 0.013984976],\n\t\t[0.004019847, 0.000978214, 0.018722507],\n\t\t[0.005535928, 0.00187858, 0.024433316],\n\t\t[0.007352275, 0.002928594, 0.031151042],\n\t\t[0.009463158, 0.004122023, 0.038856908],\n\t\t[0.011875164, 0.00544392, 0.047160074],\n\t\t[0.014598821, 0.006882989, 0.05549261],\n\t\t[0.017636359, 0.008432151, 0.063833581],\n\t\t[0.021017968, 0.010065827, 0.072260641],\n\t\t[0.024743935, 0.011784159, 0.080708378],\n\t\t[0.028837804, 0.013566889, 0.089219815],\n\t\t[0.033326247, 0.015396259, 0.097809251],\n\t\t[0.038216424, 0.017268324, 0.106440143],\n\t\t[0.043430971, 0.019154971, 0.115162139],\n\t\t[0.048693764, 0.021040888, 0.123967748],\n\t\t[0.054003412, 0.022919329, 0.132833018],\n\t\t[0.05937446, 0.024767653, 0.141775321],\n\t\t[0.064826084, 0.026549139, 0.150830309],\n\t\t[0.070349827, 0.028263587, 0.159955322],\n\t\t[0.075950411, 0.029888422, 0.169148722],\n\t\t[0.081637827, 0.031404016, 0.17841319],\n\t\t[0.087425459, 0.032773279, 0.187768133],\n\t\t[0.093315577, 0.033979154, 0.197195807],\n\t\t[0.099307652, 0.035007297, 0.206679544],\n\t\t[0.105402262, 0.035836467, 0.216206467],\n\t\t[0.11160571, 0.036444525, 0.225770396],\n\t\t[0.117916762, 0.036813662, 0.235353395],\n\t\t[0.124336908, 0.036927557, 0.244940257],\n\t\t[0.130861794, 0.036773825, 0.254505012],\n\t\t[0.137489231, 0.036346007, 0.264028401],\n\t\t[0.144209431, 0.035642023, 0.273476467],\n\t\t[0.151015433, 0.034667062, 0.28281847],\n\t\t[0.157897349, 0.03343447, 0.292023612],\n\t\t[0.164837843, 0.031964803, 0.301050012],\n\t\t[0.171827177, 0.030285889, 0.309867094],\n\t\t[0.178846632, 0.028428459, 0.318436221],\n\t\t[0.185883931, 0.026431189, 0.326727546],\n\t\t[0.192913861, 0.024349971, 0.334701716],\n\t\t[0.199922206, 0.022233669, 0.342332673],\n\t\t[0.206896794, 0.020130048, 0.349604188],\n\t\t[0.213821188, 0.018085948, 0.356495421],\n\t\t[0.220686239, 0.01614765, 0.36300284],\n\t\t[0.227481223, 0.014355535, 0.369119105],\n\t\t[0.234203612, 0.012742013, 0.374850293],\n\t\t[0.240846275, 0.011335284, 0.380200563],\n\t\t[0.247409605, 0.010157358, 0.385183383],\n\t\t[0.25389244, 0.00922676, 0.389814002],\n\t\t[0.260296425, 0.008548931, 0.394106082],\n\t\t[0.26662827, 0.008128897, 0.398079916],\n\t\t[0.272888184, 0.007967771, 0.401752554],\n\t\t[0.279082984, 0.008062521, 0.405141928],\n\t\t[0.285215144, 0.008411444, 0.408265426],\n\t\t[0.291290587, 0.009006962, 0.411140969],\n\t\t[0.297313415, 0.009846182, 0.41378732],\n\t\t[0.303287625, 0.010914426, 0.416217169],\n\t\t[0.309220747, 0.012204296, 0.418446847],\n\t\t[0.31511472, 0.013704677, 0.420488274],\n\t\t[0.320976396, 0.015407335, 0.422354544],\n\t\t[0.32680655, 0.017302461, 0.42405678],\n\t\t[0.33261022, 0.019380479, 0.425606502],\n\t\t[0.33839282, 0.021633451, 0.427012121],\n\t\t[0.344153787, 0.024052574, 0.428282941],\n\t\t[0.349898892, 0.026629309, 0.429426665],\n\t\t[0.35562785, 0.029355256, 0.43044874],\n\t\t[0.361346591, 0.032224413, 0.431358727],\n\t\t[0.367053482, 0.035230654, 0.432159193],\n\t\t[0.372752567, 0.038365761, 0.4328564],\n\t\t[0.3784468, 0.041595697, 0.433455535],\n\t\t[0.384135533, 0.044788621, 0.433960296],\n\t\t[0.389822923, 0.047944779, 0.434373977],\n\t\t[0.395506485, 0.051063276, 0.434700381],\n\t\t[0.401189511, 0.054146112, 0.434943693],\n\t\t[0.4068728, 0.057192222, 0.435104814],\n\t\t[0.412556166, 0.060199931, 0.435185819],\n\t\t[0.418243957, 0.063171283, 0.435188731],\n\t\t[0.423933314, 0.06610722, 0.435114544],\n\t\t[0.429627404, 0.069008639, 0.434966249],\n\t\t[0.435324174, 0.071876171, 0.434743925],\n\t\t[0.441027491, 0.074713043, 0.43444847],\n\t\t[0.446733669, 0.077518064, 0.434082054],\n\t\t[0.452446383, 0.080294305, 0.433643485],\n\t\t[0.458162952, 0.083041445, 0.433136016],\n\t\t[0.463885774, 0.085763765, 0.432560539],\n\t\t[0.469615152, 0.088460854, 0.431914896],\n\t\t[0.475348183, 0.09113465, 0.431200416],\n\t\t[0.481089526, 0.093787482, 0.430415748],\n\t\t[0.486835457, 0.096418645, 0.429563306],\n\t\t[0.49258791, 0.099031404, 0.428642651],\n\t\t[0.498344739, 0.101627493, 0.427653271],\n\t\t[0.504107463, 0.104208064, 0.426595937],\n\t\t[0.50987656, 0.106775461, 0.425470369],\n\t\t[0.515649029, 0.109331131, 0.424277141],\n\t\t[0.521426769, 0.111875723, 0.423014653],\n\t\t[0.527208676, 0.114410574, 0.421683562],\n\t\t[0.532994806, 0.116939588, 0.42028318],\n\t\t[0.538784144, 0.119462794, 0.418815247],\n\t\t[0.544575216, 0.121981175, 0.417278404],\n\t\t[0.550371412, 0.124498872, 0.415673254],\n\t\t[0.556167707, 0.127014924, 0.41399861],\n\t\t[0.561966129, 0.129532943, 0.412254628],\n\t\t[0.567764629, 0.132053983, 0.410442205],\n\t\t[0.573565191, 0.134579443, 0.408560423],\n\t\t[0.579363842, 0.137111442, 0.40661025],\n\t\t[0.585160178, 0.139651746, 0.404592207],\n\t\t[0.590957491, 0.142202192, 0.40250478],\n\t\t[0.596749843, 0.144763781, 0.400348019],\n\t\t[0.602540203, 0.147339963, 0.398121837],\n\t\t[0.608324672, 0.149931559, 0.395828373],\n\t\t[0.614106177, 0.152539886, 0.393466468],\n\t\t[0.619878803, 0.155167953, 0.39103732],\n\t\t[0.62564502, 0.157816339, 0.388541343],\n\t\t[0.631405276, 0.16048786, 0.385977888],\n\t\t[0.637153672, 0.163184363, 0.383348244],\n\t\t[0.642895026, 0.165908225, 0.380651089],\n\t\t[0.648622504, 0.168659106, 0.377887791],\n\t\t[0.654340024, 0.171441466, 0.375058945],\n\t\t[0.660042722, 0.174255929, 0.372166993],\n\t\t[0.665730985, 0.17710425, 0.369210216],\n\t\t[0.671404338, 0.179990219, 0.366189835],\n\t\t[0.677058916, 0.182912273, 0.363108386],\n\t\t[0.682697502, 0.185876068, 0.359964293],\n\t\t[0.688315275, 0.188880002, 0.356760156],\n\t\t[0.693913094, 0.19192974, 0.353495316],\n\t\t[0.699488019, 0.195022636, 0.350170452],\n\t\t[0.705038579, 0.198163531, 0.346787702],\n\t\t[0.710566106, 0.20135422, 0.343346184],\n\t\t[0.716066836, 0.204595038, 0.339850629],\n\t\t[0.721539555, 0.207888681, 0.336298229],\n\t\t[0.726982448, 0.21123646, 0.332693775],\n\t\t[0.73239625, 0.214641094, 0.329035403],\n\t\t[0.737776233, 0.2181018, 0.325326951],\n\t\t[0.743124048, 0.221622403, 0.32156649],\n\t\t[0.748435031, 0.225202042, 0.317758905],\n\t\t[0.75370943, 0.228844711, 0.313903188],\n\t\t[0.75894657, 0.232551318, 0.309999301],\n\t\t[0.764142757, 0.236320958, 0.306051185],\n\t\t[0.769298574, 0.240158638, 0.302057753],\n\t\t[0.774410361, 0.24406134, 0.298021999],\n\t\t[0.77947869, 0.248033102, 0.293943781],\n\t\t[0.784498961, 0.252072896, 0.289827098],\n\t\t[0.789472323, 0.256183813, 0.28567083],\n\t\t[0.794397096, 0.260364835, 0.281476823],\n\t\t[0.799269603, 0.264617985, 0.277247087],\n\t\t[0.804091318, 0.26894337, 0.27298138],\n\t\t[0.808857686, 0.273339856, 0.26868175],\n\t\t[0.813569116, 0.277811732, 0.264349842],\n\t\t[0.818223052, 0.282355751, 0.259985752],\n\t\t[0.822818703, 0.286973061, 0.255592213],\n\t\t[0.82735609, 0.291664924, 0.251166929],\n\t\t[0.831830811, 0.296431042, 0.246713936],\n\t\t[0.836244108, 0.301270823, 0.242231798],\n\t\t[0.840591599, 0.306183914, 0.237722542],\n\t\t[0.844875422, 0.311171845, 0.23318565],\n\t\t[0.849092282, 0.316232129, 0.228623159],\n\t\t[0.853241223, 0.321365084, 0.224035636],\n\t\t[0.857322167, 0.326571094, 0.21942059],\n\t\t[0.861331902, 0.331848603, 0.21478101],\n\t\t[0.865271396, 0.337198333, 0.210114175],\n\t\t[0.869138558, 0.342616591, 0.205424062],\n\t\t[0.872933212, 0.34810625, 0.200705817],\n\t\t[0.876653352, 0.353663534, 0.195963343],\n\t\t[0.88029782, 0.359288934, 0.191192908],\n\t\t[0.883868435, 0.364982926, 0.18639468],\n\t\t[0.887360283, 0.37074069, 0.181568458],\n\t\t[0.890776984, 0.376566224, 0.176712017],\n\t\t[0.894114775, 0.382452576, 0.171827069],\n\t\t[0.897374185, 0.388403856, 0.166908161],\n\t\t[0.900554463, 0.39441505, 0.161956811],\n\t\t[0.903654355, 0.400486745, 0.156970616],\n\t\t[0.90667454, 0.406618534, 0.151946006],\n\t\t[0.909613336, 0.41280737, 0.146884076],\n\t\t[0.91247216, 0.419054438, 0.141779605],\n\t\t[0.915247473, 0.425354607, 0.136631311],\n\t\t[0.917941576, 0.431711138, 0.13143639],\n\t\t[0.920553003, 0.438118822, 0.126193019],\n\t\t[0.92308235, 0.444578324, 0.12089804],\n\t\t[0.925528158, 0.451090351, 0.115545644],\n\t\t[0.927890089, 0.457649617, 0.11013577],\n\t\t[0.930168274, 0.464258499, 0.104662026],\n\t\t[0.932363432, 0.470912662, 0.099122862],\n\t\t[0.934473651, 0.477613532, 0.093511016],\n\t\t[0.936498751, 0.484357723, 0.087826678],\n\t\t[0.93844068, 0.491146702, 0.082060883],\n\t\t[0.940296388, 0.497977037, 0.076213354],\n\t\t[0.942067334, 0.504847466, 0.070277474],\n\t\t[0.943752836, 0.511760795, 0.06424713],\n\t\t[0.945353009, 0.518710501, 0.058120676],\n\t\t[0.946867593, 0.525700159, 0.051891455],\n\t\t[0.948295769, 0.532725216, 0.04556084],\n\t\t[0.949638198, 0.53978828, 0.039112476],\n\t\t[0.950894169, 0.546884747, 0.032903658],\n\t\t[0.952063015, 0.55401443, 0.027232246],\n\t\t[0.953145915, 0.561180175, 0.0221163],\n\t\t[0.954141311, 0.568376334, 0.017577226],\n\t\t[0.955049698, 0.575605576, 0.01363671],\n\t\t[0.955869597, 0.582863221, 0.010318691],\n\t\t[0.956603366, 0.590152978, 0.007647565],\n\t\t[0.957247693, 0.597469118, 0.005653645],\n\t\t[0.957804685, 0.604814517, 0.004365192],\n\t\t[0.958272553, 0.612188026, 0.003815359],\n\t\t[0.958651994, 0.619586903, 0.004038404],\n\t\t[0.958943236, 0.627013907, 0.005072597],\n\t\t[0.959145208, 0.63446323, 0.00695773],\n\t\t[0.95925702, 0.641938676, 0.009736864],\n\t\t[0.959279647, 0.649436413, 0.013456641],\n\t\t[0.959213225, 0.656956325, 0.018166728],\n\t\t[0.959055721, 0.664501335, 0.023921376],\n\t\t[0.958809389, 0.672064551, 0.030777952],\n\t\t[0.958472175, 0.679649817, 0.038798466],\n\t\t[0.958045344, 0.687253245, 0.047545867],\n\t\t[0.957527869, 0.694876673, 0.05639001],\n\t\t[0.956920137, 0.702516187, 0.065327227],\n\t\t[0.956222221, 0.710172696, 0.074362977],\n\t\t[0.955435128, 0.717847108, 0.083500802],\n\t\t[0.954558502, 0.725534474, 0.092742519],\n\t\t[0.953590125, 0.733238676, 0.102098349],\n\t\t[0.952533796, 0.740954728, 0.111570461],\n\t\t[0.95138945, 0.748682482, 0.121171091],\n\t\t[0.950157939, 0.756419958, 0.130904998],\n\t\t[0.948841532, 0.764165035, 0.140781309],\n\t\t[0.947441335, 0.771919616, 0.150814361],\n\t\t[0.945959663, 0.779676661, 0.161005763],\n\t\t[0.944398407, 0.787439028, 0.171373044],\n\t\t[0.942762103, 0.795200653, 0.181921587],\n\t\t[0.941049699, 0.802964391, 0.192669999],\n\t\t[0.939264076, 0.810723142, 0.203627758],\n\t\t[0.937415841, 0.818475746, 0.214804757],\n\t\t[0.935510862, 0.826217989, 0.226217167],\n\t\t[0.933559455, 0.833942752, 0.237872127],\n\t\t[0.93156307, 0.8416528, 0.249795364],\n\t\t[0.929529596, 0.849338965, 0.262001658],\n\t\t[0.927483114, 0.856994896, 0.274501251],\n\t\t[0.925440807, 0.864610442, 0.287299789],\n\t\t[0.923403333, 0.872186154, 0.300442835],\n\t\t[0.921409474, 0.879705858, 0.31392195],\n\t\t[0.919490918, 0.887156115, 0.327744186],\n\t\t[0.917656842, 0.894536376, 0.341960845],\n\t\t[0.915969564, 0.901820516, 0.35653516],\n\t\t[0.914460404, 0.908999767, 0.37149754],\n\t\t[0.913185926, 0.916052067, 0.386828249],\n\t\t[0.912202301, 0.922961588, 0.402519028],\n\t\t[0.911571271, 0.929705491, 0.418535415],\n\t\t[0.911358961, 0.936266305, 0.434834633],\n\t\t[0.911626842, 0.942626533, 0.451364946],\n\t\t[0.912435288, 0.948769029, 0.468038546],\n\t\t[0.913828005, 0.954687153, 0.484787691],\n\t\t[0.915840127, 0.960372411, 0.501502204],\n\t\t[0.91848121, 0.965832199, 0.51812067],\n\t\t[0.921749977, 0.971070576, 0.534539304],\n\t\t[0.925624725, 0.976102635, 0.550702793],\n\t\t[0.930072492, 0.980946133, 0.566595441],\n\t\t[0.9350529, 0.985618856, 0.58210261],\n\t\t[0.940520965, 0.990140356, 0.597269626],\n\t\t[0.946429162, 0.994525842, 0.612080146],\n\t\t[0.952736995, 0.998796066, 0.626535043],\n\t\t[0.959399507, 1.002963285, 0.640626478]\n\t],\n\tcividis: [\n\t\t[0.0000, 0.1262, 0.3015],\n\t\t[0.0000, 0.1292, 0.3077],\n\t\t[0.0000, 0.1321, 0.3142],\n\t\t[0.0000, 0.1350, 0.3205],\n\t\t[0.0000, 0.1379, 0.3269],\n\t\t[0.0000, 0.1408, 0.3334],\n\t\t[0.0000, 0.1437, 0.3400],\n\t\t[0.0000, 0.1465, 0.3467],\n\t\t[0.0000, 0.1492, 0.3537],\n\t\t[0.0000, 0.1519, 0.3606],\n\t\t[0.0000, 0.1546, 0.3676],\n\t\t[0.0000, 0.1574, 0.3746],\n\t\t[0.0000, 0.1601, 0.3817],\n\t\t[0.0000, 0.1629, 0.3888],\n\t\t[0.0000, 0.1657, 0.3960],\n\t\t[0.0000, 0.1685, 0.4031],\n\t\t[0.0000, 0.1714, 0.4102],\n\t\t[0.0000, 0.1743, 0.4172],\n\t\t[0.0000, 0.1773, 0.4241],\n\t\t[0.0000, 0.1798, 0.4307],\n\t\t[0.0000, 0.1817, 0.4347],\n\t\t[0.0000, 0.1834, 0.4363],\n\t\t[0.0000, 0.1852, 0.4368],\n\t\t[0.0000, 0.1872, 0.4368],\n\t\t[0.0000, 0.1901, 0.4365],\n\t\t[0.0000, 0.1930, 0.4361],\n\t\t[0.0000, 0.1958, 0.4356],\n\t\t[0.0000, 0.1987, 0.4349],\n\t\t[0.0000, 0.2015, 0.4343],\n\t\t[0.0000, 0.2044, 0.4336],\n\t\t[0.0000, 0.2073, 0.4329],\n\t\t[0.0055, 0.2101, 0.4322],\n\t\t[0.0236, 0.2130, 0.4314],\n\t\t[0.0416, 0.2158, 0.4308],\n\t\t[0.0576, 0.2187, 0.4301],\n\t\t[0.0710, 0.2215, 0.4293],\n\t\t[0.0827, 0.2244, 0.4287],\n\t\t[0.0932, 0.2272, 0.4280],\n\t\t[0.1030, 0.2300, 0.4274],\n\t\t[0.1120, 0.2329, 0.4268],\n\t\t[0.1204, 0.2357, 0.4262],\n\t\t[0.1283, 0.2385, 0.4256],\n\t\t[0.1359, 0.2414, 0.4251],\n\t\t[0.1431, 0.2442, 0.4245],\n\t\t[0.1500, 0.2470, 0.4241],\n\t\t[0.1566, 0.2498, 0.4236],\n\t\t[0.1630, 0.2526, 0.4232],\n\t\t[0.1692, 0.2555, 0.4228],\n\t\t[0.1752, 0.2583, 0.4224],\n\t\t[0.1811, 0.2611, 0.4220],\n\t\t[0.1868, 0.2639, 0.4217],\n\t\t[0.1923, 0.2667, 0.4214],\n\t\t[0.1977, 0.2695, 0.4212],\n\t\t[0.2030, 0.2723, 0.4209],\n\t\t[0.2082, 0.2751, 0.4207],\n\t\t[0.2133, 0.2780, 0.4205],\n\t\t[0.2183, 0.2808, 0.4204],\n\t\t[0.2232, 0.2836, 0.4203],\n\t\t[0.2281, 0.2864, 0.4202],\n\t\t[0.2328, 0.2892, 0.4201],\n\t\t[0.2375, 0.2920, 0.4200],\n\t\t[0.2421, 0.2948, 0.4200],\n\t\t[0.2466, 0.2976, 0.4200],\n\t\t[0.2511, 0.3004, 0.4201],\n\t\t[0.2556, 0.3032, 0.4201],\n\t\t[0.2599, 0.3060, 0.4202],\n\t\t[0.2643, 0.3088, 0.4203],\n\t\t[0.2686, 0.3116, 0.4205],\n\t\t[0.2728, 0.3144, 0.4206],\n\t\t[0.2770, 0.3172, 0.4208],\n\t\t[0.2811, 0.3200, 0.4210],\n\t\t[0.2853, 0.3228, 0.4212],\n\t\t[0.2894, 0.3256, 0.4215],\n\t\t[0.2934, 0.3284, 0.4218],\n\t\t[0.2974, 0.3312, 0.4221],\n\t\t[0.3014, 0.3340, 0.4224],\n\t\t[0.3054, 0.3368, 0.4227],\n\t\t[0.3093, 0.3396, 0.4231],\n\t\t[0.3132, 0.3424, 0.4236],\n\t\t[0.3170, 0.3453, 0.4240],\n\t\t[0.3209, 0.3481, 0.4244],\n\t\t[0.3247, 0.3509, 0.4249],\n\t\t[0.3285, 0.3537, 0.4254],\n\t\t[0.3323, 0.3565, 0.4259],\n\t\t[0.3361, 0.3593, 0.4264],\n\t\t[0.3398, 0.3622, 0.4270],\n\t\t[0.3435, 0.3650, 0.4276],\n\t\t[0.3472, 0.3678, 0.4282],\n\t\t[0.3509, 0.3706, 0.4288],\n\t\t[0.3546, 0.3734, 0.4294],\n\t\t[0.3582, 0.3763, 0.4302],\n\t\t[0.3619, 0.3791, 0.4308],\n\t\t[0.3655, 0.3819, 0.4316],\n\t\t[0.3691, 0.3848, 0.4322],\n\t\t[0.3727, 0.3876, 0.4331],\n\t\t[0.3763, 0.3904, 0.4338],\n\t\t[0.3798, 0.3933, 0.4346],\n\t\t[0.3834, 0.3961, 0.4355],\n\t\t[0.3869, 0.3990, 0.4364],\n\t\t[0.3905, 0.4018, 0.4372],\n\t\t[0.3940, 0.4047, 0.4381],\n\t\t[0.3975, 0.4075, 0.4390],\n\t\t[0.4010, 0.4104, 0.4400],\n\t\t[0.4045, 0.4132, 0.4409],\n\t\t[0.4080, 0.4161, 0.4419],\n\t\t[0.4114, 0.4189, 0.4430],\n\t\t[0.4149, 0.4218, 0.4440],\n\t\t[0.4183, 0.4247, 0.4450],\n\t\t[0.4218, 0.4275, 0.4462],\n\t\t[0.4252, 0.4304, 0.4473],\n\t\t[0.4286, 0.4333, 0.4485],\n\t\t[0.4320, 0.4362, 0.4496],\n\t\t[0.4354, 0.4390, 0.4508],\n\t\t[0.4388, 0.4419, 0.4521],\n\t\t[0.4422, 0.4448, 0.4534],\n\t\t[0.4456, 0.4477, 0.4547],\n\t\t[0.4489, 0.4506, 0.4561],\n\t\t[0.4523, 0.4535, 0.4575],\n\t\t[0.4556, 0.4564, 0.4589],\n\t\t[0.4589, 0.4593, 0.4604],\n\t\t[0.4622, 0.4622, 0.4620],\n\t\t[0.4656, 0.4651, 0.4635],\n\t\t[0.4689, 0.4680, 0.4650],\n\t\t[0.4722, 0.4709, 0.4665],\n\t\t[0.4756, 0.4738, 0.4679],\n\t\t[0.4790, 0.4767, 0.4691],\n\t\t[0.4825, 0.4797, 0.4701],\n\t\t[0.4861, 0.4826, 0.4707],\n\t\t[0.4897, 0.4856, 0.4714],\n\t\t[0.4934, 0.4886, 0.4719],\n\t\t[0.4971, 0.4915, 0.4723],\n\t\t[0.5008, 0.4945, 0.4727],\n\t\t[0.5045, 0.4975, 0.4730],\n\t\t[0.5083, 0.5005, 0.4732],\n\t\t[0.5121, 0.5035, 0.4734],\n\t\t[0.5158, 0.5065, 0.4736],\n\t\t[0.5196, 0.5095, 0.4737],\n\t\t[0.5234, 0.5125, 0.4738],\n\t\t[0.5272, 0.5155, 0.4739],\n\t\t[0.5310, 0.5186, 0.4739],\n\t\t[0.5349, 0.5216, 0.4738],\n\t\t[0.5387, 0.5246, 0.4739],\n\t\t[0.5425, 0.5277, 0.4738],\n\t\t[0.5464, 0.5307, 0.4736],\n\t\t[0.5502, 0.5338, 0.4735],\n\t\t[0.5541, 0.5368, 0.4733],\n\t\t[0.5579, 0.5399, 0.4732],\n\t\t[0.5618, 0.5430, 0.4729],\n\t\t[0.5657, 0.5461, 0.4727],\n\t\t[0.5696, 0.5491, 0.4723],\n\t\t[0.5735, 0.5522, 0.4720],\n\t\t[0.5774, 0.5553, 0.4717],\n\t\t[0.5813, 0.5584, 0.4714],\n\t\t[0.5852, 0.5615, 0.4709],\n\t\t[0.5892, 0.5646, 0.4705],\n\t\t[0.5931, 0.5678, 0.4701],\n\t\t[0.5970, 0.5709, 0.4696],\n\t\t[0.6010, 0.5740, 0.4691],\n\t\t[0.6050, 0.5772, 0.4685],\n\t\t[0.6089, 0.5803, 0.4680],\n\t\t[0.6129, 0.5835, 0.4673],\n\t\t[0.6168, 0.5866, 0.4668],\n\t\t[0.6208, 0.5898, 0.4662],\n\t\t[0.6248, 0.5929, 0.4655],\n\t\t[0.6288, 0.5961, 0.4649],\n\t\t[0.6328, 0.5993, 0.4641],\n\t\t[0.6368, 0.6025, 0.4632],\n\t\t[0.6408, 0.6057, 0.4625],\n\t\t[0.6449, 0.6089, 0.4617],\n\t\t[0.6489, 0.6121, 0.4609],\n\t\t[0.6529, 0.6153, 0.4600],\n\t\t[0.6570, 0.6185, 0.4591],\n\t\t[0.6610, 0.6217, 0.4583],\n\t\t[0.6651, 0.6250, 0.4573],\n\t\t[0.6691, 0.6282, 0.4562],\n\t\t[0.6732, 0.6315, 0.4553],\n\t\t[0.6773, 0.6347, 0.4543],\n\t\t[0.6813, 0.6380, 0.4532],\n\t\t[0.6854, 0.6412, 0.4521],\n\t\t[0.6895, 0.6445, 0.4511],\n\t\t[0.6936, 0.6478, 0.4499],\n\t\t[0.6977, 0.6511, 0.4487],\n\t\t[0.7018, 0.6544, 0.4475],\n\t\t[0.7060, 0.6577, 0.4463],\n\t\t[0.7101, 0.6610, 0.4450],\n\t\t[0.7142, 0.6643, 0.4437],\n\t\t[0.7184, 0.6676, 0.4424],\n\t\t[0.7225, 0.6710, 0.4409],\n\t\t[0.7267, 0.6743, 0.4396],\n\t\t[0.7308, 0.6776, 0.4382],\n\t\t[0.7350, 0.6810, 0.4368],\n\t\t[0.7392, 0.6844, 0.4352],\n\t\t[0.7434, 0.6877, 0.4338],\n\t\t[0.7476, 0.6911, 0.4322],\n\t\t[0.7518, 0.6945, 0.4307],\n\t\t[0.7560, 0.6979, 0.4290],\n\t\t[0.7602, 0.7013, 0.4273],\n\t\t[0.7644, 0.7047, 0.4258],\n\t\t[0.7686, 0.7081, 0.4241],\n\t\t[0.7729, 0.7115, 0.4223],\n\t\t[0.7771, 0.7150, 0.4205],\n\t\t[0.7814, 0.7184, 0.4188],\n\t\t[0.7856, 0.7218, 0.4168],\n\t\t[0.7899, 0.7253, 0.4150],\n\t\t[0.7942, 0.7288, 0.4129],\n\t\t[0.7985, 0.7322, 0.4111],\n\t\t[0.8027, 0.7357, 0.4090],\n\t\t[0.8070, 0.7392, 0.4070],\n\t\t[0.8114, 0.7427, 0.4049],\n\t\t[0.8157, 0.7462, 0.4028],\n\t\t[0.8200, 0.7497, 0.4007],\n\t\t[0.8243, 0.7532, 0.3984],\n\t\t[0.8287, 0.7568, 0.3961],\n\t\t[0.8330, 0.7603, 0.3938],\n\t\t[0.8374, 0.7639, 0.3915],\n\t\t[0.8417, 0.7674, 0.3892],\n\t\t[0.8461, 0.7710, 0.3869],\n\t\t[0.8505, 0.7745, 0.3843],\n\t\t[0.8548, 0.7781, 0.3818],\n\t\t[0.8592, 0.7817, 0.3793],\n\t\t[0.8636, 0.7853, 0.3766],\n\t\t[0.8681, 0.7889, 0.3739],\n\t\t[0.8725, 0.7926, 0.3712],\n\t\t[0.8769, 0.7962, 0.3684],\n\t\t[0.8813, 0.7998, 0.3657],\n\t\t[0.8858, 0.8035, 0.3627],\n\t\t[0.8902, 0.8071, 0.3599],\n\t\t[0.8947, 0.8108, 0.3569],\n\t\t[0.8992, 0.8145, 0.3538],\n\t\t[0.9037, 0.8182, 0.3507],\n\t\t[0.9082, 0.8219, 0.3474],\n\t\t[0.9127, 0.8256, 0.3442],\n\t\t[0.9172, 0.8293, 0.3409],\n\t\t[0.9217, 0.8330, 0.3374],\n\t\t[0.9262, 0.8367, 0.3340],\n\t\t[0.9308, 0.8405, 0.3306],\n\t\t[0.9353, 0.8442, 0.3268],\n\t\t[0.9399, 0.8480, 0.3232],\n\t\t[0.9444, 0.8518, 0.3195],\n\t\t[0.9490, 0.8556, 0.3155],\n\t\t[0.9536, 0.8593, 0.3116],\n\t\t[0.9582, 0.8632, 0.3076],\n\t\t[0.9628, 0.8670, 0.3034],\n\t\t[0.9674, 0.8708, 0.2990],\n\t\t[0.9721, 0.8746, 0.2947],\n\t\t[0.9767, 0.8785, 0.2901],\n\t\t[0.9814, 0.8823, 0.2856],\n\t\t[0.9860, 0.8862, 0.2807],\n\t\t[0.9907, 0.8901, 0.2759],\n\t\t[0.9954, 0.8940, 0.2708],\n\t\t[1.0000, 0.8979, 0.2655],\n\t\t[1.0000, 0.9018, 0.2600],\n\t\t[1.0000, 0.9057, 0.2593],\n\t\t[1.0000, 0.9094, 0.2634],\n\t\t[1.0000, 0.9131, 0.2680],\n\t\t[1.0000, 0.9169, 0.2731]\n\t],\n\tgreen: [\n\t\t[0.9686274509803922, 0.9882352941176471, 0.9607843137254902],\n\t\t[0.9647058823529412, 0.9882352941176471, 0.9568627450980393],\n\t\t[0.9647058823529412, 0.9882352941176471, 0.9568627450980393],\n\t\t[0.9607843137254902, 0.984313725490196, 0.9529411764705882],\n\t\t[0.9607843137254902, 0.984313725490196, 0.9490196078431372],\n\t\t[0.9568627450980393, 0.984313725490196, 0.9490196078431372],\n\t\t[0.9568627450980393, 0.984313725490196, 0.9450980392156862],\n\t\t[0.9529411764705882, 0.9803921568627451, 0.9411764705882353],\n\t\t[0.9490196078431372, 0.9803921568627451, 0.9411764705882353],\n\t\t[0.9490196078431372, 0.9803921568627451, 0.9372549019607843],\n\t\t[0.9450980392156862, 0.9803921568627451, 0.9333333333333333],\n\t\t[0.9450980392156862, 0.9803921568627451, 0.9333333333333333],\n\t\t[0.9411764705882353, 0.9764705882352941, 0.9294117647058824],\n\t\t[0.9411764705882353, 0.9764705882352941, 0.9254901960784314],\n\t\t[0.9372549019607843, 0.9764705882352941, 0.9254901960784314],\n\t\t[0.9333333333333333, 0.9764705882352941, 0.9215686274509803],\n\t\t[0.9333333333333333, 0.9725490196078431, 0.9176470588235294],\n\t\t[0.9294117647058824, 0.9725490196078431, 0.9176470588235294],\n\t\t[0.9254901960784314, 0.9725490196078431, 0.9137254901960784],\n\t\t[0.9254901960784314, 0.9725490196078431, 0.9098039215686274],\n\t\t[0.9215686274509803, 0.9686274509803922, 0.9058823529411765],\n\t\t[0.9215686274509803, 0.9686274509803922, 0.9058823529411765],\n\t\t[0.9176470588235294, 0.9686274509803922, 0.9019607843137255],\n\t\t[0.9137254901960784, 0.9686274509803922, 0.8980392156862745],\n\t\t[0.9137254901960784, 0.9647058823529412, 0.8941176470588236],\n\t\t[0.9098039215686274, 0.9647058823529412, 0.8941176470588236],\n\t\t[0.9058823529411765, 0.9647058823529412, 0.8901960784313725],\n\t\t[0.9058823529411765, 0.9647058823529412, 0.8862745098039215],\n\t\t[0.9019607843137255, 0.9607843137254902, 0.8823529411764706],\n\t\t[0.8980392156862745, 0.9607843137254902, 0.8823529411764706],\n\t\t[0.8941176470588236, 0.9607843137254902, 0.8784313725490196],\n\t\t[0.8941176470588236, 0.9568627450980393, 0.8745098039215686],\n\t\t[0.8901960784313725, 0.9568627450980393, 0.8705882352941177],\n\t\t[0.8862745098039215, 0.9568627450980393, 0.8666666666666667],\n\t\t[0.8823529411764706, 0.9568627450980393, 0.8627450980392157],\n\t\t[0.8823529411764706, 0.9529411764705882, 0.8627450980392157],\n\t\t[0.8784313725490196, 0.9529411764705882, 0.8588235294117647],\n\t\t[0.8745098039215686, 0.9529411764705882, 0.8549019607843137],\n\t\t[0.8705882352941177, 0.9490196078431372, 0.8509803921568627],\n\t\t[0.8666666666666667, 0.9490196078431372, 0.8470588235294118],\n\t\t[0.8666666666666667, 0.9490196078431372, 0.8431372549019608],\n\t\t[0.8627450980392157, 0.9450980392156862, 0.8392156862745098],\n\t\t[0.8588235294117647, 0.9450980392156862, 0.8352941176470589],\n\t\t[0.8549019607843137, 0.9450980392156862, 0.8313725490196079],\n\t\t[0.8509803921568627, 0.9411764705882353, 0.8274509803921568],\n\t\t[0.8470588235294118, 0.9411764705882353, 0.8235294117647058],\n\t\t[0.8431372549019608, 0.9372549019607843, 0.8196078431372549],\n\t\t[0.8392156862745098, 0.9372549019607843, 0.8156862745098039],\n\t\t[0.8352941176470589, 0.9372549019607843, 0.8117647058823529],\n\t\t[0.8313725490196079, 0.9333333333333333, 0.807843137254902],\n\t\t[0.8313725490196079, 0.9333333333333333, 0.807843137254902],\n\t\t[0.8274509803921568, 0.9333333333333333, 0.803921568627451],\n\t\t[0.8235294117647058, 0.9294117647058824, 0.796078431372549],\n\t\t[0.8196078431372549, 0.9294117647058824, 0.792156862745098],\n\t\t[0.8156862745098039, 0.9254901960784314, 0.788235294117647],\n\t\t[0.8117647058823529, 0.9254901960784314, 0.7843137254901961],\n\t\t[0.807843137254902, 0.9254901960784314, 0.7803921568627451],\n\t\t[0.803921568627451, 0.9215686274509803, 0.7764705882352941],\n\t\t[0.8, 0.9215686274509803, 0.7725490196078432],\n\t\t[0.796078431372549, 0.9176470588235294, 0.7686274509803922],\n\t\t[0.792156862745098, 0.9176470588235294, 0.7647058823529411],\n\t\t[0.788235294117647, 0.9176470588235294, 0.7607843137254902],\n\t\t[0.7843137254901961, 0.9137254901960784, 0.7568627450980392],\n\t\t[0.7764705882352941, 0.9137254901960784, 0.7529411764705882],\n\t\t[0.7725490196078432, 0.9098039215686274, 0.7490196078431373],\n\t\t[0.7686274509803922, 0.9098039215686274, 0.7450980392156863],\n\t\t[0.7647058823529411, 0.9058823529411765, 0.7411764705882353],\n\t\t[0.7607843137254902, 0.9058823529411765, 0.7372549019607844],\n\t\t[0.7568627450980392, 0.9019607843137255, 0.7333333333333333],\n\t\t[0.7529411764705882, 0.9019607843137255, 0.7254901960784313],\n\t\t[0.7490196078431373, 0.9019607843137255, 0.7215686274509804],\n\t\t[0.7450980392156863, 0.8980392156862745, 0.7176470588235294],\n\t\t[0.7411764705882353, 0.8980392156862745, 0.7137254901960784],\n\t\t[0.7333333333333333, 0.8941176470588236, 0.7098039215686275],\n\t\t[0.7294117647058823, 0.8941176470588236, 0.7058823529411765],\n\t\t[0.7254901960784313, 0.8901960784313725, 0.7019607843137254],\n\t\t[0.7215686274509804, 0.8901960784313725, 0.6980392156862745],\n\t\t[0.7176470588235294, 0.8862745098039215, 0.6901960784313725],\n\t\t[0.7137254901960784, 0.8862745098039215, 0.6862745098039216],\n\t\t[0.7098039215686275, 0.8823529411764706, 0.6823529411764706],\n\t\t[0.7019607843137254, 0.8823529411764706, 0.6784313725490196],\n\t\t[0.6980392156862745, 0.8784313725490196, 0.6745098039215687],\n\t\t[0.6941176470588235, 0.8784313725490196, 0.6705882352941176],\n\t\t[0.6901960784313725, 0.8745098039215686, 0.6666666666666666],\n\t\t[0.6823529411764706, 0.8745098039215686, 0.6588235294117647],\n\t\t[0.6784313725490196, 0.8705882352941177, 0.6549019607843137],\n\t\t[0.6745098039215687, 0.8705882352941177, 0.6509803921568628],\n\t\t[0.6705882352941176, 0.8666666666666667, 0.6470588235294118],\n\t\t[0.6666666666666666, 0.8627450980392157, 0.6431372549019608],\n\t\t[0.6588235294117647, 0.8627450980392157, 0.6392156862745098],\n\t\t[0.6549019607843137, 0.8588235294117647, 0.6352941176470588],\n\t\t[0.6509803921568628, 0.8588235294117647, 0.6274509803921569],\n\t\t[0.6470588235294118, 0.8549019607843137, 0.6235294117647059],\n\t\t[0.6392156862745098, 0.8549019607843137, 0.6196078431372549],\n\t\t[0.6352941176470588, 0.8509803921568627, 0.615686274509804],\n\t\t[0.6313725490196078, 0.8509803921568627, 0.611764705882353],\n\t\t[0.6235294117647059, 0.8470588235294118, 0.6078431372549019],\n\t\t[0.6196078431372549, 0.8431372549019608, 0.6],\n\t\t[0.615686274509804, 0.8431372549019608, 0.596078431372549],\n\t\t[0.6078431372549019, 0.8392156862745098, 0.592156862745098],\n\t\t[0.6039215686274509, 0.8392156862745098, 0.5882352941176471],\n\t\t[0.6, 0.8352941176470589, 0.5843137254901961],\n\t\t[0.592156862745098, 0.8313725490196079, 0.5803921568627451],\n\t\t[0.5882352941176471, 0.8313725490196079, 0.5725490196078431],\n\t\t[0.5843137254901961, 0.8274509803921568, 0.5686274509803921],\n\t\t[0.5764705882352941, 0.8274509803921568, 0.5647058823529412],\n\t\t[0.5725490196078431, 0.8235294117647058, 0.5607843137254902],\n\t\t[0.5686274509803921, 0.8196078431372549, 0.5568627450980392],\n\t\t[0.5607843137254902, 0.8196078431372549, 0.5529411764705883],\n\t\t[0.5568627450980392, 0.8156862745098039, 0.5490196078431373],\n\t\t[0.5490196078431373, 0.8117647058823529, 0.5411764705882353],\n\t\t[0.5450980392156862, 0.8117647058823529, 0.5372549019607843],\n\t\t[0.5411764705882353, 0.807843137254902, 0.5333333333333333],\n\t\t[0.5333333333333333, 0.803921568627451, 0.5294117647058824],\n\t\t[0.5294117647058824, 0.803921568627451, 0.5254901960784314],\n\t\t[0.5215686274509804, 0.8, 0.5215686274509804],\n\t\t[0.5176470588235295, 0.796078431372549, 0.5176470588235295],\n\t\t[0.5098039215686274, 0.796078431372549, 0.5137254901960784],\n\t\t[0.5058823529411764, 0.792156862745098, 0.5098039215686274],\n\t\t[0.5019607843137255, 0.788235294117647, 0.5058823529411764],\n\t\t[0.49411764705882355, 0.788235294117647, 0.5019607843137255],\n\t\t[0.49019607843137253, 0.7843137254901961, 0.4980392156862745],\n\t\t[0.4823529411764706, 0.7803921568627451, 0.49411764705882355],\n\t\t[0.47843137254901963, 0.7803921568627451, 0.48627450980392156],\n\t\t[0.47058823529411764, 0.7764705882352941, 0.4823529411764706],\n\t\t[0.4666666666666667, 0.7725490196078432, 0.47843137254901963],\n\t\t[0.4588235294117647, 0.7686274509803922, 0.4745098039215686],\n\t\t[0.4549019607843137, 0.7686274509803922, 0.47058823529411764],\n\t\t[0.4470588235294118, 0.7647058823529411, 0.47058823529411764],\n\t\t[0.44313725490196076, 0.7607843137254902, 0.4666666666666667],\n\t\t[0.43529411764705883, 0.7607843137254902, 0.4627450980392157],\n\t\t[0.43137254901960786, 0.7568627450980392, 0.4588235294117647],\n\t\t[0.4235294117647059, 0.7529411764705882, 0.4549019607843137],\n\t\t[0.4196078431372549, 0.7490196078431373, 0.45098039215686275],\n\t\t[0.4117647058823529, 0.7490196078431373, 0.4470588235294118],\n\t\t[0.40784313725490196, 0.7450980392156863, 0.44313725490196076],\n\t\t[0.4, 0.7411764705882353, 0.4392156862745098],\n\t\t[0.396078431372549, 0.7372549019607844, 0.43529411764705883],\n\t\t[0.38823529411764707, 0.7372549019607844, 0.43137254901960786],\n\t\t[0.3843137254901961, 0.7333333333333333, 0.43137254901960786],\n\t\t[0.3764705882352941, 0.7294117647058823, 0.42745098039215684],\n\t\t[0.3686274509803922, 0.7254901960784313, 0.4235294117647059],\n\t\t[0.36470588235294116, 0.7215686274509804, 0.4196078431372549],\n\t\t[0.3568627450980392, 0.7215686274509804, 0.41568627450980394],\n\t\t[0.35294117647058826, 0.7176470588235294, 0.4117647058823529],\n\t\t[0.34509803921568627, 0.7137254901960784, 0.40784313725490196],\n\t\t[0.3411764705882353, 0.7098039215686275, 0.40784313725490196],\n\t\t[0.33725490196078434, 0.7058823529411765, 0.403921568627451],\n\t\t[0.32941176470588235, 0.7058823529411765, 0.4],\n\t\t[0.3254901960784314, 0.7019607843137254, 0.396078431372549],\n\t\t[0.3176470588235294, 0.6980392156862745, 0.39215686274509803],\n\t\t[0.3137254901960784, 0.6941176470588235, 0.39215686274509803],\n\t\t[0.3058823529411765, 0.6901960784313725, 0.38823529411764707],\n\t\t[0.30196078431372547, 0.6862745098039216, 0.3843137254901961],\n\t\t[0.2980392156862745, 0.6862745098039216, 0.3803921568627451],\n\t\t[0.2901960784313726, 0.6823529411764706, 0.3803921568627451],\n\t\t[0.28627450980392155, 0.6784313725490196, 0.3764705882352941],\n\t\t[0.2823529411764706, 0.6745098039215687, 0.37254901960784315],\n\t\t[0.27450980392156865, 0.6705882352941176, 0.3686274509803922],\n\t\t[0.27058823529411763, 0.6666666666666666, 0.36470588235294116],\n\t\t[0.26666666666666666, 0.6627450980392157, 0.36470588235294116],\n\t\t[0.25882352941176473, 0.6588235294117647, 0.3607843137254902],\n\t\t[0.2549019607843137, 0.6549019607843137, 0.3568627450980392],\n\t\t[0.25098039215686274, 0.6549019607843137, 0.35294117647058826],\n\t\t[0.24705882352941178, 0.6509803921568628, 0.35294117647058826],\n\t\t[0.24313725490196078, 0.6470588235294118, 0.34901960784313724],\n\t\t[0.23529411764705882, 0.6431372549019608, 0.34509803921568627],\n\t\t[0.23137254901960785, 0.6392156862745098, 0.3411764705882353],\n\t\t[0.22745098039215686, 0.6352941176470588, 0.3411764705882353],\n\t\t[0.2235294117647059, 0.6313725490196078, 0.33725490196078434],\n\t\t[0.2196078431372549, 0.6274509803921569, 0.3333333333333333],\n\t\t[0.21568627450980393, 0.6235294117647059, 0.32941176470588235],\n\t\t[0.21176470588235294, 0.6196078431372549, 0.32941176470588235],\n\t\t[0.20784313725490197, 0.615686274509804, 0.3254901960784314],\n\t\t[0.20392156862745098, 0.611764705882353, 0.3215686274509804],\n\t\t[0.2, 0.6078431372549019, 0.3176470588235294],\n\t\t[0.19607843137254902, 0.6039215686274509, 0.3137254901960784],\n\t\t[0.19215686274509805, 0.6, 0.3137254901960784],\n\t\t[0.18823529411764706, 0.596078431372549, 0.30980392156862746],\n\t\t[0.1843137254901961, 0.592156862745098, 0.3058823529411765],\n\t\t[0.1803921568627451, 0.5882352941176471, 0.30196078431372547],\n\t\t[0.17647058823529413, 0.5843137254901961, 0.30196078431372547],\n\t\t[0.16862745098039217, 0.5803921568627451, 0.2980392156862745],\n\t\t[0.16470588235294117, 0.5764705882352941, 0.29411764705882354],\n\t\t[0.1607843137254902, 0.5725490196078431, 0.2901960784313726],\n\t\t[0.1568627450980392, 0.5686274509803921, 0.2901960784313726],\n\t\t[0.15294117647058825, 0.5647058823529412, 0.28627450980392155],\n\t\t[0.14901960784313725, 0.5607843137254902, 0.2823529411764706],\n\t\t[0.1450980392156863, 0.5607843137254902, 0.2784313725490196],\n\t\t[0.1411764705882353, 0.5568627450980392, 0.2784313725490196],\n\t\t[0.13725490196078433, 0.5529411764705883, 0.27450980392156865],\n\t\t[0.13333333333333333, 0.5490196078431373, 0.27058823529411763],\n\t\t[0.12941176470588237, 0.5450980392156862, 0.26666666666666666],\n\t\t[0.12549019607843137, 0.5411764705882353, 0.2627450980392157],\n\t\t[0.12156862745098039, 0.5372549019607843, 0.2627450980392157],\n\t\t[0.11764705882352941, 0.5333333333333333, 0.25882352941176473],\n\t\t[0.11372549019607843, 0.5294117647058824, 0.2549019607843137],\n\t\t[0.10980392156862745, 0.5254901960784314, 0.25098039215686274],\n\t\t[0.10588235294117647, 0.5215686274509804, 0.25098039215686274],\n\t\t[0.10196078431372549, 0.5176470588235295, 0.24705882352941178],\n\t\t[0.09803921568627451, 0.5137254901960784, 0.24313725490196078],\n\t\t[0.09411764705882353, 0.5098039215686274, 0.23921568627450981],\n\t\t[0.09019607843137255, 0.5058823529411764, 0.23921568627450981],\n\t\t[0.08627450980392157, 0.5019607843137255, 0.23529411764705882],\n\t\t[0.08235294117647059, 0.4980392156862745, 0.23137254901960785],\n\t\t[0.0784313725490196, 0.49411764705882355, 0.22745098039215686],\n\t\t[0.07450980392156863, 0.49019607843137253, 0.22745098039215686],\n\t\t[0.07058823529411765, 0.48627450980392156, 0.2235294117647059],\n\t\t[0.06666666666666667, 0.4823529411764706, 0.2196078431372549],\n\t\t[0.06274509803921569, 0.47843137254901963, 0.21568627450980393],\n\t\t[0.06274509803921569, 0.4745098039215686, 0.21568627450980393],\n\t\t[0.058823529411764705, 0.47058823529411764, 0.21176470588235294],\n\t\t[0.054901960784313725, 0.4666666666666667, 0.20784313725490197],\n\t\t[0.050980392156862744, 0.4627450980392157, 0.20392156862745098],\n\t\t[0.047058823529411764, 0.4588235294117647, 0.20392156862745098],\n\t\t[0.043137254901960784, 0.4549019607843137, 0.2],\n\t\t[0.043137254901960784, 0.45098039215686275, 0.19607843137254902],\n\t\t[0.0392156862745098, 0.4470588235294118, 0.19607843137254902],\n\t\t[0.03529411764705882, 0.44313725490196076, 0.19215686274509805],\n\t\t[0.03137254901960784, 0.4392156862745098, 0.18823529411764706],\n\t\t[0.03137254901960784, 0.43529411764705883, 0.1843137254901961],\n\t\t[0.027450980392156862, 0.43137254901960786, 0.1843137254901961],\n\t\t[0.023529411764705882, 0.4235294117647059, 0.1803921568627451],\n\t\t[0.023529411764705882, 0.4196078431372549, 0.17647058823529413],\n\t\t[0.0196078431372549, 0.41568627450980394, 0.17647058823529413],\n\t\t[0.0196078431372549, 0.4117647058823529, 0.17254901960784313],\n\t\t[0.01568627450980392, 0.40784313725490196, 0.16862745098039217],\n\t\t[0.01568627450980392, 0.403921568627451, 0.16862745098039217],\n\t\t[0.01568627450980392, 0.4, 0.16470588235294117],\n\t\t[0.011764705882352941, 0.39215686274509803, 0.16470588235294117],\n\t\t[0.011764705882352941, 0.38823529411764707, 0.1607843137254902],\n\t\t[0.00784313725490196, 0.3843137254901961, 0.1568627450980392],\n\t\t[0.00784313725490196, 0.3803921568627451, 0.1568627450980392],\n\t\t[0.00784313725490196, 0.3764705882352941, 0.15294117647058825],\n\t\t[0.00784313725490196, 0.3686274509803922, 0.15294117647058825],\n\t\t[0.00392156862745098, 0.36470588235294116, 0.14901960784313725],\n\t\t[0.00392156862745098, 0.3607843137254902, 0.1450980392156863],\n\t\t[0.00392156862745098, 0.3568627450980392, 0.1450980392156863],\n\t\t[0.00392156862745098, 0.35294117647058826, 0.1411764705882353],\n\t\t[0.00392156862745098, 0.34509803921568627, 0.1411764705882353],\n\t\t[0.00392156862745098, 0.3411764705882353, 0.13725490196078433],\n\t\t[0, 0.33725490196078434, 0.13725490196078433],\n\t\t[0, 0.3333333333333333, 0.13333333333333333],\n\t\t[0, 0.3254901960784314, 0.12941176470588237],\n\t\t[0, 0.3215686274509804, 0.12941176470588237],\n\t\t[0, 0.3176470588235294, 0.12549019607843137],\n\t\t[0, 0.3137254901960784, 0.12549019607843137],\n\t\t[0, 0.3058823529411765, 0.12156862745098039],\n\t\t[0, 0.30196078431372547, 0.12156862745098039],\n\t\t[0, 0.2980392156862745, 0.11764705882352941],\n\t\t[0, 0.2901960784313726, 0.11764705882352941],\n\t\t[0, 0.28627450980392155, 0.11372549019607843],\n\t\t[0, 0.2823529411764706, 0.11372549019607843],\n\t\t[0, 0.2784313725490196, 0.10980392156862745],\n\t\t[0, 0.27058823529411763, 0.10980392156862745],\n\t\t[0, 0.26666666666666666, 0.10588235294117647]\n\t],\n\torange: [\n\t\t[1, 0.9607843137254902, 0.9215686274509803],\n\t\t[1, 0.9607843137254902, 0.9176470588235294],\n\t\t[1, 0.9568627450980393, 0.9137254901960784],\n\t\t[1, 0.9568627450980393, 0.9098039215686274],\n\t\t[1, 0.9529411764705882, 0.9058823529411765],\n\t\t[1, 0.9529411764705882, 0.9019607843137255],\n\t\t[1, 0.9490196078431372, 0.9019607843137255],\n\t\t[1, 0.9490196078431372, 0.8980392156862745],\n\t\t[1, 0.9450980392156862, 0.8941176470588236],\n\t\t[1, 0.9450980392156862, 0.8901960784313725],\n\t\t[1, 0.9411764705882353, 0.8862745098039215],\n\t\t[1, 0.9411764705882353, 0.8823529411764706],\n\t\t[1, 0.9372549019607843, 0.8784313725490196],\n\t\t[1, 0.9372549019607843, 0.8745098039215686],\n\t\t[1, 0.9333333333333333, 0.8705882352941177],\n\t\t[1, 0.9333333333333333, 0.8666666666666667],\n\t\t[0.996078431372549, 0.9294117647058824, 0.8627450980392157],\n\t\t[0.996078431372549, 0.9294117647058824, 0.8588235294117647],\n\t\t[0.996078431372549, 0.9254901960784314, 0.8549019607843137],\n\t\t[0.996078431372549, 0.9254901960784314, 0.8509803921568627],\n\t\t[0.996078431372549, 0.9215686274509803, 0.8470588235294118],\n\t\t[0.996078431372549, 0.9215686274509803, 0.8431372549019608],\n\t\t[0.996078431372549, 0.9176470588235294, 0.8392156862745098],\n\t\t[0.996078431372549, 0.9176470588235294, 0.8352941176470589],\n\t\t[0.996078431372549, 0.9137254901960784, 0.8313725490196079],\n\t\t[0.996078431372549, 0.9137254901960784, 0.8274509803921568],\n\t\t[0.996078431372549, 0.9098039215686274, 0.8235294117647058],\n\t\t[0.996078431372549, 0.9098039215686274, 0.8196078431372549],\n\t\t[0.996078431372549, 0.9058823529411765, 0.8156862745098039],\n\t\t[0.996078431372549, 0.9019607843137255, 0.8117647058823529],\n\t\t[0.996078431372549, 0.9019607843137255, 0.807843137254902],\n\t\t[0.996078431372549, 0.8980392156862745, 0.8],\n\t\t[0.996078431372549, 0.8980392156862745, 0.796078431372549],\n\t\t[0.996078431372549, 0.8941176470588236, 0.792156862745098],\n\t\t[0.996078431372549, 0.8941176470588236, 0.788235294117647],\n\t\t[0.996078431372549, 0.8901960784313725, 0.7843137254901961],\n\t\t[0.996078431372549, 0.8862745098039215, 0.7803921568627451],\n\t\t[0.996078431372549, 0.8862745098039215, 0.7725490196078432],\n\t\t[0.996078431372549, 0.8823529411764706, 0.7686274509803922],\n\t\t[0.996078431372549, 0.8823529411764706, 0.7647058823529411],\n\t\t[0.996078431372549, 0.8784313725490196, 0.7607843137254902],\n\t\t[0.996078431372549, 0.8745098039215686, 0.7529411764705882],\n\t\t[0.996078431372549, 0.8745098039215686, 0.7490196078431373],\n\t\t[0.996078431372549, 0.8705882352941177, 0.7450980392156863],\n\t\t[0.996078431372549, 0.8666666666666667, 0.7411764705882353],\n\t\t[0.996078431372549, 0.8666666666666667, 0.7333333333333333],\n\t\t[0.996078431372549, 0.8627450980392157, 0.7294117647058823],\n\t\t[0.996078431372549, 0.8588235294117647, 0.7254901960784313],\n\t\t[0.996078431372549, 0.8549019607843137, 0.7176470588235294],\n\t\t[0.9921568627450981, 0.8549019607843137, 0.7137254901960784],\n\t\t[0.9921568627450981, 0.8509803921568627, 0.7058823529411765],\n\t\t[0.9921568627450981, 0.8470588235294118, 0.7019607843137254],\n\t\t[0.9921568627450981, 0.8470588235294118, 0.6980392156862745],\n\t\t[0.9921568627450981, 0.8431372549019608, 0.6901960784313725],\n\t\t[0.9921568627450981, 0.8392156862745098, 0.6862745098039216],\n\t\t[0.9921568627450981, 0.8352941176470589, 0.6784313725490196],\n\t\t[0.9921568627450981, 0.8313725490196079, 0.6745098039215687],\n\t\t[0.9921568627450981, 0.8313725490196079, 0.6666666666666666],\n\t\t[0.9921568627450981, 0.8274509803921568, 0.6627450980392157],\n\t\t[0.9921568627450981, 0.8235294117647058, 0.6549019607843137],\n\t\t[0.9921568627450981, 0.8196078431372549, 0.6509803921568628],\n\t\t[0.9921568627450981, 0.8156862745098039, 0.6431372549019608],\n\t\t[0.9921568627450981, 0.8156862745098039, 0.6392156862745098],\n\t\t[0.9921568627450981, 0.8117647058823529, 0.6313725490196078],\n\t\t[0.9921568627450981, 0.807843137254902, 0.6274509803921569],\n\t\t[0.9921568627450981, 0.803921568627451, 0.6196078431372549],\n\t\t[0.9921568627450981, 0.8, 0.615686274509804],\n\t\t[0.9921568627450981, 0.796078431372549, 0.6078431372549019],\n\t\t[0.9921568627450981, 0.792156862745098, 0.6],\n\t\t[0.9921568627450981, 0.788235294117647, 0.596078431372549],\n\t\t[0.9921568627450981, 0.7843137254901961, 0.5882352941176471],\n\t\t[0.9921568627450981, 0.7803921568627451, 0.5843137254901961],\n\t\t[0.9921568627450981, 0.7764705882352941, 0.5764705882352941],\n\t\t[0.9921568627450981, 0.7725490196078432, 0.5686274509803921],\n\t\t[0.9921568627450981, 0.7686274509803922, 0.5647058823529412],\n\t\t[0.9921568627450981, 0.7647058823529411, 0.5568627450980392],\n\t\t[0.9921568627450981, 0.7607843137254902, 0.5529411764705883],\n\t\t[0.9921568627450981, 0.7568627450980392, 0.5450980392156862],\n\t\t[0.9921568627450981, 0.7529411764705882, 0.5372549019607843],\n\t\t[0.9921568627450981, 0.7490196078431373, 0.5333333333333333],\n\t\t[0.9921568627450981, 0.7450980392156863, 0.5254901960784314],\n\t\t[0.9921568627450981, 0.7411764705882353, 0.5176470588235295],\n\t\t[0.9921568627450981, 0.7372549019607844, 0.5137254901960784],\n\t\t[0.9921568627450981, 0.7333333333333333, 0.5058823529411764],\n\t\t[0.9921568627450981, 0.7294117647058823, 0.4980392156862745],\n\t\t[0.9921568627450981, 0.7254901960784313, 0.49411764705882355],\n\t\t[0.9921568627450981, 0.7215686274509804, 0.48627450980392156],\n\t\t[0.9921568627450981, 0.7176470588235294, 0.47843137254901963],\n\t\t[0.9921568627450981, 0.7137254901960784, 0.4745098039215686],\n\t\t[0.9921568627450981, 0.7098039215686275, 0.4666666666666667],\n\t\t[0.9921568627450981, 0.7058823529411765, 0.4588235294117647],\n\t\t[0.9921568627450981, 0.7019607843137254, 0.4549019607843137],\n\t\t[0.9921568627450981, 0.6980392156862745, 0.4470588235294118],\n\t\t[0.9921568627450981, 0.6941176470588235, 0.44313725490196076],\n\t\t[0.9921568627450981, 0.6901960784313725, 0.43529411764705883],\n\t\t[0.9921568627450981, 0.6862745098039216, 0.42745098039215684],\n\t\t[0.9921568627450981, 0.6823529411764706, 0.4235294117647059],\n\t\t[0.9921568627450981, 0.6784313725490196, 0.41568627450980394],\n\t\t[0.9921568627450981, 0.6745098039215687, 0.4117647058823529],\n\t\t[0.9921568627450981, 0.6705882352941176, 0.403921568627451],\n\t\t[0.9921568627450981, 0.6666666666666666, 0.396078431372549],\n\t\t[0.9921568627450981, 0.6627450980392157, 0.39215686274509803],\n\t\t[0.9921568627450981, 0.6549019607843137, 0.3843137254901961],\n\t\t[0.9921568627450981, 0.6509803921568628, 0.3803921568627451],\n\t\t[0.9921568627450981, 0.6470588235294118, 0.37254901960784315],\n\t\t[0.9921568627450981, 0.6431372549019608, 0.3686274509803922],\n\t\t[0.9921568627450981, 0.6392156862745098, 0.3607843137254902],\n\t\t[0.9921568627450981, 0.6352941176470588, 0.3568627450980392],\n\t\t[0.9921568627450981, 0.6313725490196078, 0.34901960784313724],\n\t\t[0.9921568627450981, 0.6274509803921569, 0.34509803921568627],\n\t\t[0.9921568627450981, 0.6235294117647059, 0.33725490196078434],\n\t\t[0.9921568627450981, 0.6196078431372549, 0.3333333333333333],\n\t\t[0.9921568627450981, 0.615686274509804, 0.3254901960784314],\n\t\t[0.9921568627450981, 0.611764705882353, 0.3215686274509804],\n\t\t[0.9921568627450981, 0.6078431372549019, 0.3137254901960784],\n\t\t[0.9921568627450981, 0.6039215686274509, 0.30980392156862746],\n\t\t[0.9882352941176471, 0.6, 0.30196078431372547],\n\t\t[0.9882352941176471, 0.596078431372549, 0.2980392156862745],\n\t\t[0.9882352941176471, 0.592156862745098, 0.2901960784313726],\n\t\t[0.9882352941176471, 0.5882352941176471, 0.28627450980392155],\n\t\t[0.9882352941176471, 0.5843137254901961, 0.2823529411764706],\n\t\t[0.9882352941176471, 0.5764705882352941, 0.27450980392156865],\n\t\t[0.9882352941176471, 0.5725490196078431, 0.27058823529411763],\n\t\t[0.9882352941176471, 0.5686274509803921, 0.2627450980392157],\n\t\t[0.9882352941176471, 0.5647058823529412, 0.25882352941176473],\n\t\t[0.984313725490196, 0.5607843137254902, 0.25098039215686274],\n\t\t[0.984313725490196, 0.5568627450980392, 0.24705882352941178],\n\t\t[0.984313725490196, 0.5529411764705883, 0.24313725490196078],\n\t\t[0.984313725490196, 0.5490196078431373, 0.23529411764705882],\n\t\t[0.984313725490196, 0.5450980392156862, 0.23137254901960785],\n\t\t[0.9803921568627451, 0.5411764705882353, 0.22745098039215686],\n\t\t[0.9803921568627451, 0.5372549019607843, 0.2196078431372549],\n\t\t[0.9803921568627451, 0.5333333333333333, 0.21568627450980393],\n\t\t[0.9803921568627451, 0.5294117647058824, 0.21176470588235294],\n\t\t[0.9803921568627451, 0.5215686274509804, 0.20392156862745098],\n\t\t[0.9764705882352941, 0.5176470588235295, 0.2],\n\t\t[0.9764705882352941, 0.5137254901960784, 0.19607843137254902],\n\t\t[0.9764705882352941, 0.5098039215686274, 0.18823529411764706],\n\t\t[0.9725490196078431, 0.5058823529411764, 0.1843137254901961],\n\t\t[0.9725490196078431, 0.5019607843137255, 0.1803921568627451],\n\t\t[0.9725490196078431, 0.4980392156862745, 0.17254901960784313],\n\t\t[0.9686274509803922, 0.49411764705882355, 0.16862745098039217],\n\t\t[0.9686274509803922, 0.49019607843137253, 0.16470588235294117],\n\t\t[0.9686274509803922, 0.4823529411764706, 0.1607843137254902],\n\t\t[0.9647058823529412, 0.47843137254901963, 0.15294117647058825],\n\t\t[0.9647058823529412, 0.4745098039215686, 0.14901960784313725],\n\t\t[0.9607843137254902, 0.47058823529411764, 0.1450980392156863],\n\t\t[0.9607843137254902, 0.4666666666666667, 0.1411764705882353],\n\t\t[0.9607843137254902, 0.4627450980392157, 0.13725490196078433],\n\t\t[0.9568627450980393, 0.4588235294117647, 0.13333333333333333],\n\t\t[0.9568627450980393, 0.4549019607843137, 0.12549019607843137],\n\t\t[0.9529411764705882, 0.45098039215686275, 0.12156862745098039],\n\t\t[0.9529411764705882, 0.4470588235294118, 0.11764705882352941],\n\t\t[0.9490196078431372, 0.4392156862745098, 0.11372549019607843],\n\t\t[0.9490196078431372, 0.43529411764705883, 0.10980392156862745],\n\t\t[0.9450980392156862, 0.43137254901960786, 0.10588235294117647],\n\t\t[0.9450980392156862, 0.42745098039215684, 0.10196078431372549],\n\t\t[0.9411764705882353, 0.4235294117647059, 0.09803921568627451],\n\t\t[0.9411764705882353, 0.4196078431372549, 0.09411764705882353],\n\t\t[0.9372549019607843, 0.41568627450980394, 0.09019607843137255],\n\t\t[0.9372549019607843, 0.4117647058823529, 0.08627450980392157],\n\t\t[0.9333333333333333, 0.40784313725490196, 0.08235294117647059],\n\t\t[0.9294117647058824, 0.403921568627451, 0.0784313725490196],\n\t\t[0.9294117647058824, 0.4, 0.0784313725490196],\n\t\t[0.9254901960784314, 0.396078431372549, 0.07450980392156863],\n\t\t[0.9254901960784314, 0.38823529411764707, 0.07058823529411765],\n\t\t[0.9215686274509803, 0.3843137254901961, 0.06666666666666667],\n\t\t[0.9176470588235294, 0.3803921568627451, 0.06274509803921569],\n\t\t[0.9176470588235294, 0.3764705882352941, 0.06274509803921569],\n\t\t[0.9137254901960784, 0.37254901960784315, 0.058823529411764705],\n\t\t[0.9098039215686274, 0.3686274509803922, 0.054901960784313725],\n\t\t[0.9098039215686274, 0.36470588235294116, 0.054901960784313725],\n\t\t[0.9058823529411765, 0.3607843137254902, 0.050980392156862744],\n\t\t[0.9019607843137255, 0.3568627450980392, 0.047058823529411764],\n\t\t[0.8980392156862745, 0.35294117647058826, 0.047058823529411764],\n\t\t[0.8941176470588236, 0.34901960784313724, 0.043137254901960784],\n\t\t[0.8941176470588236, 0.34509803921568627, 0.043137254901960784],\n\t\t[0.8901960784313725, 0.3411764705882353, 0.0392156862745098],\n\t\t[0.8862745098039215, 0.33725490196078434, 0.03529411764705882],\n\t\t[0.8823529411764706, 0.3333333333333333, 0.03529411764705882],\n\t\t[0.8784313725490196, 0.32941176470588235, 0.03137254901960784],\n\t\t[0.8745098039215686, 0.3254901960784314, 0.03137254901960784],\n\t\t[0.8705882352941177, 0.3215686274509804, 0.03137254901960784],\n\t\t[0.8666666666666667, 0.3215686274509804, 0.027450980392156862],\n\t\t[0.8627450980392157, 0.3176470588235294, 0.027450980392156862],\n\t\t[0.8588235294117647, 0.3137254901960784, 0.023529411764705882],\n\t\t[0.8549019607843137, 0.30980392156862746, 0.023529411764705882],\n\t\t[0.8509803921568627, 0.3058823529411765, 0.023529411764705882],\n\t\t[0.8470588235294118, 0.30196078431372547, 0.0196078431372549],\n\t\t[0.8431372549019608, 0.2980392156862745, 0.0196078431372549],\n\t\t[0.8392156862745098, 0.2980392156862745, 0.0196078431372549],\n\t\t[0.8352941176470589, 0.29411764705882354, 0.01568627450980392],\n\t\t[0.8313725490196079, 0.2901960784313726, 0.01568627450980392],\n\t\t[0.8235294117647058, 0.28627450980392155, 0.01568627450980392],\n\t\t[0.8196078431372549, 0.2823529411764706, 0.01568627450980392],\n\t\t[0.8156862745098039, 0.2823529411764706, 0.01568627450980392],\n\t\t[0.8117647058823529, 0.2784313725490196, 0.011764705882352941],\n\t\t[0.803921568627451, 0.27450980392156865, 0.011764705882352941],\n\t\t[0.8, 0.27058823529411763, 0.011764705882352941],\n\t\t[0.796078431372549, 0.27058823529411763, 0.011764705882352941],\n\t\t[0.788235294117647, 0.26666666666666666, 0.011764705882352941],\n\t\t[0.7843137254901961, 0.2627450980392157, 0.011764705882352941],\n\t\t[0.7803921568627451, 0.2627450980392157, 0.011764705882352941],\n\t\t[0.7725490196078432, 0.25882352941176473, 0.011764705882352941],\n\t\t[0.7686274509803922, 0.2549019607843137, 0.011764705882352941],\n\t\t[0.7607843137254902, 0.2549019607843137, 0.00784313725490196],\n\t\t[0.7568627450980392, 0.25098039215686274, 0.00784313725490196],\n\t\t[0.7490196078431373, 0.24705882352941178, 0.00784313725490196],\n\t\t[0.7450980392156863, 0.24705882352941178, 0.00784313725490196],\n\t\t[0.7411764705882353, 0.24313725490196078, 0.00784313725490196],\n\t\t[0.7333333333333333, 0.24313725490196078, 0.00784313725490196],\n\t\t[0.7294117647058823, 0.23921568627450981, 0.00784313725490196],\n\t\t[0.7215686274509804, 0.23921568627450981, 0.00784313725490196],\n\t\t[0.7176470588235294, 0.23529411764705882, 0.00784313725490196],\n\t\t[0.7098039215686275, 0.23137254901960785, 0.00784313725490196],\n\t\t[0.7058823529411765, 0.23137254901960785, 0.00784313725490196],\n\t\t[0.6980392156862745, 0.22745098039215686, 0.011764705882352941],\n\t\t[0.6941176470588235, 0.22745098039215686, 0.011764705882352941],\n\t\t[0.6862745098039216, 0.2235294117647059, 0.011764705882352941],\n\t\t[0.6823529411764706, 0.2235294117647059, 0.011764705882352941],\n\t\t[0.6745098039215687, 0.2196078431372549, 0.011764705882352941],\n\t\t[0.6705882352941176, 0.2196078431372549, 0.011764705882352941],\n\t\t[0.6666666666666666, 0.21568627450980393, 0.011764705882352941],\n\t\t[0.6588235294117647, 0.21568627450980393, 0.011764705882352941],\n\t\t[0.6549019607843137, 0.21176470588235294, 0.011764705882352941],\n\t\t[0.6470588235294118, 0.21176470588235294, 0.011764705882352941],\n\t\t[0.6431372549019608, 0.20784313725490197, 0.011764705882352941],\n\t\t[0.6392156862745098, 0.20784313725490197, 0.011764705882352941],\n\t\t[0.6313725490196078, 0.20392156862745098, 0.011764705882352941],\n\t\t[0.6274509803921569, 0.20392156862745098, 0.011764705882352941],\n\t\t[0.6235294117647059, 0.2, 0.011764705882352941],\n\t\t[0.615686274509804, 0.2, 0.011764705882352941],\n\t\t[0.611764705882353, 0.19607843137254902, 0.011764705882352941],\n\t\t[0.6078431372549019, 0.19607843137254902, 0.011764705882352941],\n\t\t[0.6, 0.19215686274509805, 0.011764705882352941],\n\t\t[0.596078431372549, 0.19215686274509805, 0.011764705882352941],\n\t\t[0.592156862745098, 0.18823529411764706, 0.011764705882352941],\n\t\t[0.5843137254901961, 0.18823529411764706, 0.011764705882352941],\n\t\t[0.5803921568627451, 0.1843137254901961, 0.011764705882352941],\n\t\t[0.5764705882352941, 0.1843137254901961, 0.011764705882352941],\n\t\t[0.5725490196078431, 0.1803921568627451, 0.01568627450980392],\n\t\t[0.5647058823529412, 0.1803921568627451, 0.01568627450980392],\n\t\t[0.5607843137254902, 0.17647058823529413, 0.01568627450980392],\n\t\t[0.5568627450980392, 0.17647058823529413, 0.01568627450980392],\n\t\t[0.5529411764705883, 0.17254901960784313, 0.01568627450980392],\n\t\t[0.5450980392156862, 0.17254901960784313, 0.01568627450980392],\n\t\t[0.5411764705882353, 0.16862745098039217, 0.01568627450980392],\n\t\t[0.5372549019607843, 0.16862745098039217, 0.01568627450980392],\n\t\t[0.5333333333333333, 0.16470588235294117, 0.01568627450980392],\n\t\t[0.5254901960784314, 0.16470588235294117, 0.01568627450980392],\n\t\t[0.5215686274509804, 0.1607843137254902, 0.01568627450980392],\n\t\t[0.5176470588235295, 0.1607843137254902, 0.01568627450980392],\n\t\t[0.5137254901960784, 0.1568627450980392, 0.01568627450980392],\n\t\t[0.5058823529411764, 0.1568627450980392, 0.01568627450980392],\n\t\t[0.5019607843137255, 0.15294117647058825, 0.01568627450980392],\n\t\t[0.4980392156862745, 0.15294117647058825, 0.01568627450980392]\n\t]\n};\n\n\nexport const ColorBrewer = {\n\t\"Default\": {\n\t\t3: [\"#fffff\", \"#6C8B9F\", \"#023858\"],\n\t\t4: [\"#fffff\", \"#C3D0D8\", \"#6C8B9F\", \"#023858\"],\n\t\t5: [\"#fffff\", \"#C3D0D8\", \"#88A1B1\", \"#52778D\", \"#023858\"],\n\t\t6: [\"#fffff\", \"#E1E7EB\", \"#88A1B1\", \"#52778D\", \"#37627B\", \"#023858\"],\n\t\t7: [\"#fffff\", \"#C3D0D8\", \"#A6B9C4\", \"#6C8B9F\", \"#52778D\", \"#37627B\", \"#023858\"],\n\t\t8: [\"#fffff\", \"#E1E7EB\", \"#C3D0D8\", \"#A6B9C4\", \"#6C8B9F\", \"#52778D\", \"#37627B\", \"#023858\"],\n\t\t9: [\"#fffff\", \"#E1E7EB\", \"#C3D0D8\", \"#A6B9C4\", \"#88A1B1\", \"#6C8B9F\", \"#52778D\", \"#37627B\", \"#023858\"]\n\t},\n\t\"OrRd\": {\n\t\t3: [\"#fee8c8\", \"#fdbb84\", \"#e34a33\"],\n\t\t4: [\"#fef0d9\", \"#fdcc8a\", \"#fc8d59\", \"#d7301f\"],\n\t\t5: [\"#fef0d9\", \"#fdcc8a\", \"#fc8d59\", \"#e34a33\", \"#b30000\"],\n\t\t6: [\"#fef0d9\", \"#fdd49e\", \"#fdbb84\", \"#fc8d59\", \"#e34a33\", \"#b30000\"],\n\t\t7: [\"#fef0d9\", \"#fdd49e\", \"#fdbb84\", \"#fc8d59\", \"#ef6548\", \"#d7301f\", \"#990000\"],\n\t\t8: [\"#fff7ec\", \"#fee8c8\", \"#fdd49e\", \"#fdbb84\", \"#fc8d59\", \"#ef6548\", \"#d7301f\", \"#990000\"],\n\t\t9: [\"#fff7ec\", \"#fee8c8\", \"#fdd49e\", \"#fdbb84\", \"#fc8d59\", \"#ef6548\", \"#d7301f\", \"#b30000\", \"#7f0000\"]\n\t},\n\t\"YlOrRd\": {\n\t\t3: [\"#ffeda0\", \"#feb24c\", \"#f03b20\"],\n\t\t4: [\"#ffffb2\", \"#fecc5c\", \"#fd8d3c\", \"#e31a1c\"],\n\t\t5: [\"#ffffb2\", \"#fecc5c\", \"#fd8d3c\", \"#f03b20\", \"#bd0026\"],\n\t\t6: [\"#ffffb2\", \"#fed976\", \"#feb24c\", \"#fd8d3c\", \"#f03b20\", \"#bd0026\"],\n\t\t7: [\"#ffffb2\", \"#fed976\", \"#feb24c\", \"#fd8d3c\", \"#fc4e2a\", \"#e31a1c\", \"#b10026\"],\n\t\t8: [\"#ffffcc\", \"#ffeda0\", \"#fed976\", \"#feb24c\", \"#fd8d3c\", \"#fc4e2a\", \"#e31a1c\", \"#b10026\"],\n\t\t9: [\"#ffffcc\", \"#ffeda0\", \"#fed976\", \"#feb24c\", \"#fd8d3c\", \"#fc4e2a\", \"#e31a1c\", \"#bd0026\", \"#800026\"]\n\t},\n\t\"YlGn\": {\n\t\t3: [\"#f7fcb9\", \"#addd8e\", \"#31a354\"],\n\t\t4: [\"#ffffcc\", \"#c2e699\", \"#78c679\", \"#238443\"],\n\t\t5: [\"#ffffcc\", \"#c2e699\", \"#78c679\", \"#31a354\", \"#006837\"],\n\t\t6: [\"#ffffcc\", \"#d9f0a3\", \"#addd8e\", \"#78c679\", \"#31a354\", \"#006837\"],\n\t\t7: [\"#ffffcc\", \"#d9f0a3\", \"#addd8e\", \"#78c679\", \"#41ab5d\", \"#238443\", \"#005a32\"],\n\t\t8: [\"#ffffe5\", \"#f7fcb9\", \"#d9f0a3\", \"#addd8e\", \"#78c679\", \"#41ab5d\", \"#238443\", \"#005a32\"],\n\t\t9: [\"#ffffe5\", \"#f7fcb9\", \"#d9f0a3\", \"#addd8e\", \"#78c679\", \"#41ab5d\", \"#238443\", \"#006837\", \"#004529\"]\n\t},\n\t\"YlGnBu\": {\n\t\t3: [\"#edf8b1\", \"#7fcdbb\", \"#2c7fb8\"],\n\t\t4: [\"#ffffcc\", \"#a1dab4\", \"#41b6c4\", \"#225ea8\"],\n\t\t5: [\"#ffffcc\", \"#a1dab4\", \"#41b6c4\", \"#2c7fb8\", \"#253494\"],\n\t\t6: [\"#ffffcc\", \"#c7e9b4\", \"#7fcdbb\", \"#41b6c4\", \"#2c7fb8\", \"#253494\"],\n\t\t7: [\"#ffffcc\", \"#c7e9b4\", \"#7fcdbb\", \"#41b6c4\", \"#1d91c0\", \"#225ea8\", \"#0c2c84\"],\n\t\t8: [\"#ffffd9\", \"#edf8b1\", \"#c7e9b4\", \"#7fcdbb\", \"#41b6c4\", \"#1d91c0\", \"#225ea8\", \"#0c2c84\"],\n\t\t9: [\"#ffffd9\", \"#edf8b1\", \"#c7e9b4\", \"#7fcdbb\", \"#41b6c4\", \"#1d91c0\", \"#225ea8\", \"#253494\", \"#081d58\"]\n\t},\n\t\"GnBu\": {\n\t\t3: [\"#e0f3db\", \"#a8ddb5\", \"#43a2ca\"],\n\t\t4: [\"#f0f9e8\", \"#bae4bc\", \"#7bccc4\", \"#2b8cbe\"],\n\t\t5: [\"#f0f9e8\", \"#bae4bc\", \"#7bccc4\", \"#43a2ca\", \"#0868ac\"],\n\t\t6: [\"#f0f9e8\", \"#ccebc5\", \"#a8ddb5\", \"#7bccc4\", \"#43a2ca\", \"#0868ac\"],\n\t\t7: [\"#f0f9e8\", \"#ccebc5\", \"#a8ddb5\", \"#7bccc4\", \"#4eb3d3\", \"#2b8cbe\", \"#08589e\"],\n\t\t8: [\"#f7fcf0\", \"#e0f3db\", \"#ccebc5\", \"#a8ddb5\", \"#7bccc4\", \"#4eb3d3\", \"#2b8cbe\", \"#08589e\"],\n\t\t9: [\"#f7fcf0\", \"#e0f3db\", \"#ccebc5\", \"#a8ddb5\", \"#7bccc4\", \"#4eb3d3\", \"#2b8cbe\", \"#0868ac\", \"#084081\"]\n\t},\n\t\"BuGn\": {\n\t\t3: [\"#e5f5f9\", \"#99d8c9\", \"#2ca25f\"],\n\t\t4: [\"#edf8fb\", \"#b2e2e2\", \"#66c2a4\", \"#238b45\"],\n\t\t5: [\"#edf8fb\", \"#b2e2e2\", \"#66c2a4\", \"#2ca25f\", \"#006d2c\"],\n\t\t6: [\"#edf8fb\", \"#ccece6\", \"#99d8c9\", \"#66c2a4\", \"#2ca25f\", \"#006d2c\"],\n\t\t7: [\"#edf8fb\", \"#ccece6\", \"#99d8c9\", \"#66c2a4\", \"#41ae76\", \"#238b45\", \"#005824\"],\n\t\t8: [\"#f7fcfd\", \"#e5f5f9\", \"#ccece6\", \"#99d8c9\", \"#66c2a4\", \"#41ae76\", \"#238b45\", \"#005824\"],\n\t\t9: [\"#f7fcfd\", \"#e5f5f9\", \"#ccece6\", \"#99d8c9\", \"#66c2a4\", \"#41ae76\", \"#238b45\", \"#006d2c\", \"#00441b\"]\n\t},\n\t\"PuBuGn\": {\n\t\t3: [\"#ece2f0\", \"#a6bddb\", \"#1c9099\"],\n\t\t4: [\"#f6eff7\", \"#bdc9e1\", \"#67a9cf\", \"#02818a\"],\n\t\t5: [\"#f6eff7\", \"#bdc9e1\", \"#67a9cf\", \"#1c9099\", \"#016c59\"],\n\t\t6: [\"#f6eff7\", \"#d0d1e6\", \"#a6bddb\", \"#67a9cf\", \"#1c9099\", \"#016c59\"],\n\t\t7: [\"#f6eff7\", \"#d0d1e6\", \"#a6bddb\", \"#67a9cf\", \"#3690c0\", \"#02818a\", \"#016450\"],\n\t\t8: [\"#fff7fb\", \"#ece2f0\", \"#d0d1e6\", \"#a6bddb\", \"#67a9cf\", \"#3690c0\", \"#02818a\", \"#016450\"],\n\t\t9: [\"#fff7fb\", \"#ece2f0\", \"#d0d1e6\", \"#a6bddb\", \"#67a9cf\", \"#3690c0\", \"#02818a\", \"#016c59\", \"#014636\"]\n\t},\n\t\"PuBu\": {\n\t\t3: [\"#ece7f2\", \"#a6bddb\", \"#2b8cbe\"],\n\t\t4: [\"#f1eef6\", \"#bdc9e1\", \"#74a9cf\", \"#0570b0\"],\n\t\t5: [\"#f1eef6\", \"#bdc9e1\", \"#74a9cf\", \"#2b8cbe\", \"#045a8d\"],\n\t\t6: [\"#f1eef6\", \"#d0d1e6\", \"#a6bddb\", \"#74a9cf\", \"#2b8cbe\", \"#045a8d\"],\n\t\t7: [\"#f1eef6\", \"#d0d1e6\", \"#a6bddb\", \"#74a9cf\", \"#3690c0\", \"#0570b0\", \"#034e7b\"],\n\t\t8: [\"#fff7fb\", \"#ece7f2\", \"#d0d1e6\", \"#a6bddb\", \"#74a9cf\", \"#3690c0\", \"#0570b0\", \"#034e7b\"],\n\t\t9: [\"#fff7fb\", \"#ece7f2\", \"#d0d1e6\", \"#a6bddb\", \"#74a9cf\", \"#3690c0\", \"#0570b0\", \"#045a8d\", \"#023858\"]\n\t},\n\t\"BuPu\": {\n\t\t3: [\"#e0ecf4\", \"#9ebcda\", \"#8856a7\"],\n\t\t4: [\"#edf8fb\", \"#b3cde3\", \"#8c96c6\", \"#88419d\"],\n\t\t5: [\"#edf8fb\", \"#b3cde3\", \"#8c96c6\", \"#8856a7\", \"#810f7c\"],\n\t\t6: [\"#edf8fb\", \"#bfd3e6\", \"#9ebcda\", \"#8c96c6\", \"#8856a7\", \"#810f7c\"],\n\t\t7: [\"#edf8fb\", \"#bfd3e6\", \"#9ebcda\", \"#8c96c6\", \"#8c6bb1\", \"#88419d\", \"#6e016b\"],\n\t\t8: [\"#f7fcfd\", \"#e0ecf4\", \"#bfd3e6\", \"#9ebcda\", \"#8c96c6\", \"#8c6bb1\", \"#88419d\", \"#6e016b\"],\n\t\t9: [\"#f7fcfd\", \"#e0ecf4\", \"#bfd3e6\", \"#9ebcda\", \"#8c96c6\", \"#8c6bb1\", \"#88419d\", \"#810f7c\", \"#4d004b\"]\n\t},\n\t\"RdPu\": {\n\t\t3: [\"#fde0dd\", \"#fa9fb5\", \"#c51b8a\"],\n\t\t4: [\"#feebe2\", \"#fbb4b9\", \"#f768a1\", \"#ae017e\"],\n\t\t5: [\"#feebe2\", \"#fbb4b9\", \"#f768a1\", \"#c51b8a\", \"#7a0177\"],\n\t\t6: [\"#feebe2\", \"#fcc5c0\", \"#fa9fb5\", \"#f768a1\", \"#c51b8a\", \"#7a0177\"],\n\t\t7: [\"#feebe2\", \"#fcc5c0\", \"#fa9fb5\", \"#f768a1\", \"#dd3497\", \"#ae017e\", \"#7a0177\"],\n\t\t8: [\"#fff7f3\", \"#fde0dd\", \"#fcc5c0\", \"#fa9fb5\", \"#f768a1\", \"#dd3497\", \"#ae017e\", \"#7a0177\"],\n\t\t9: [\"#fff7f3\", \"#fde0dd\", \"#fcc5c0\", \"#fa9fb5\", \"#f768a1\", \"#dd3497\", \"#ae017e\", \"#7a0177\", \"#49006a\"]\n\t},\n\t\"PuRd\": {\n\t\t3: [\"#e7e1ef\", \"#c994c7\", \"#dd1c77\"],\n\t\t4: [\"#f1eef6\", \"#d7b5d8\", \"#df65b0\", \"#ce1256\"],\n\t\t5: [\"#f1eef6\", \"#d7b5d8\", \"#df65b0\", \"#dd1c77\", \"#980043\"],\n\t\t6: [\"#f1eef6\", \"#d4b9da\", \"#c994c7\", \"#df65b0\", \"#dd1c77\", \"#980043\"],\n\t\t7: [\"#f1eef6\", \"#d4b9da\", \"#c994c7\", \"#df65b0\", \"#e7298a\", \"#ce1256\", \"#91003f\"],\n\t\t8: [\"#f7f4f9\", \"#e7e1ef\", \"#d4b9da\", \"#c994c7\", \"#df65b0\", \"#e7298a\", \"#ce1256\", \"#91003f\"],\n\t\t9: [\"#f7f4f9\", \"#e7e1ef\", \"#d4b9da\", \"#c994c7\", \"#df65b0\", \"#e7298a\", \"#ce1256\", \"#980043\", \"#67001f\"]\n\t},\n\t\"YlOrBr\": {\n\t\t3: [\"#fff7bc\", \"#fec44f\", \"#d95f0e\"],\n\t\t4: [\"#ffffd4\", \"#fed98e\", \"#fe9929\", \"#cc4c02\"],\n\t\t5: [\"#ffffd4\", \"#fed98e\", \"#fe9929\", \"#d95f0e\", \"#993404\"],\n\t\t6: [\"#ffffd4\", \"#fee391\", \"#fec44f\", \"#fe9929\", \"#d95f0e\", \"#993404\"],\n\t\t7: [\"#ffffd4\", \"#fee391\", \"#fec44f\", \"#fe9929\", \"#ec7014\", \"#cc4c02\", \"#8c2d04\"],\n\t\t8: [\"#ffffe5\", \"#fff7bc\", \"#fee391\", \"#fec44f\", \"#fe9929\", \"#ec7014\", \"#cc4c02\", \"#8c2d04\"],\n\t\t9: [\"#ffffe5\", \"#fff7bc\", \"#fee391\", \"#fec44f\", \"#fe9929\", \"#ec7014\", \"#cc4c02\", \"#993404\", \"#662506\"]\n\t},\n\t\"Purples\": {\n\t\t3: [\"#efedf5\", \"#bcbddc\", \"#756bb1\"],\n\t\t4: [\"#f2f0f7\", \"#cbc9e2\", \"#9e9ac8\", \"#6a51a3\"],\n\t\t5: [\"#f2f0f7\", \"#cbc9e2\", \"#9e9ac8\", \"#756bb1\", \"#54278f\"],\n\t\t6: [\"#f2f0f7\", \"#dadaeb\", \"#bcbddc\", \"#9e9ac8\", \"#756bb1\", \"#54278f\"],\n\t\t7: [\"#f2f0f7\", \"#dadaeb\", \"#bcbddc\", \"#9e9ac8\", \"#807dba\", \"#6a51a3\", \"#4a1486\"],\n\t\t8: [\"#fcfbfd\", \"#efedf5\", \"#dadaeb\", \"#bcbddc\", \"#9e9ac8\", \"#807dba\", \"#6a51a3\", \"#4a1486\"],\n\t\t9: [\"#fcfbfd\", \"#efedf5\", \"#dadaeb\", \"#bcbddc\", \"#9e9ac8\", \"#807dba\", \"#6a51a3\", \"#54278f\", \"#3f007d\"]\n\t},\n\t\"Blues\": {\n\t\t3: [\"#deebf7\", \"#9ecae1\", \"#3182bd\"],\n\t\t4: [\"#eff3ff\", \"#bdd7e7\", \"#6baed6\", \"#2171b5\"],\n\t\t5: [\"#eff3ff\", \"#bdd7e7\", \"#6baed6\", \"#3182bd\", \"#08519c\"],\n\t\t6: [\"#eff3ff\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#3182bd\", \"#08519c\"],\n\t\t7: [\"#eff3ff\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#4292c6\", \"#2171b5\", \"#084594\"],\n\t\t8: [\"#f7fbff\", \"#deebf7\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#4292c6\", \"#2171b5\", \"#084594\"],\n\t\t9: [\"#f7fbff\", \"#deebf7\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#4292c6\", \"#2171b5\", \"#08519c\", \"#08306b\"]\n\t},\n\t\"Greens\": {\n\t\t3: [\"#e5f5e0\", \"#a1d99b\", \"#31a354\"],\n\t\t4: [\"#edf8e9\", \"#bae4b3\", \"#74c476\", \"#238b45\"],\n\t\t5: [\"#edf8e9\", \"#bae4b3\", \"#74c476\", \"#31a354\", \"#006d2c\"],\n\t\t6: [\"#edf8e9\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#31a354\", \"#006d2c\"],\n\t\t7: [\"#edf8e9\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#41ab5d\", \"#238b45\", \"#005a32\"],\n\t\t8: [\"#f7fcf5\", \"#e5f5e0\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#41ab5d\", \"#238b45\", \"#005a32\"],\n\t\t9: [\"#f7fcf5\", \"#e5f5e0\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#41ab5d\", \"#238b45\", \"#006d2c\", \"#00441b\"]\n\t},\n\t\"Oranges\": {\n\t\t3: [\"#fee6ce\", \"#fdae6b\", \"#e6550d\"],\n\t\t4: [\"#feedde\", \"#fdbe85\", \"#fd8d3c\", \"#d94701\"],\n\t\t5: [\"#feedde\", \"#fdbe85\", \"#fd8d3c\", \"#e6550d\", \"#a63603\"],\n\t\t6: [\"#feedde\", \"#fdd0a2\", \"#fdae6b\", \"#fd8d3c\", \"#e6550d\", \"#a63603\"],\n\t\t7: [\"#feedde\", \"#fdd0a2\", \"#fdae6b\", \"#fd8d3c\", \"#f16913\", \"#d94801\", \"#8c2d04\"],\n\t\t8: [\"#fff5eb\", \"#fee6ce\", \"#fdd0a2\", \"#fdae6b\", \"#fd8d3c\", \"#f16913\", \"#d94801\", \"#8c2d04\"],\n\t\t9: [\"#fff5eb\", \"#fee6ce\", \"#fdd0a2\", \"#fdae6b\", \"#fd8d3c\", \"#f16913\", \"#d94801\", \"#a63603\", \"#7f2704\"]\n\t},\n\t\"Reds\": {\n\t\t3: [\"#fee0d2\", \"#fc9272\", \"#de2d26\"],\n\t\t4: [\"#fee5d9\", \"#fcae91\", \"#fb6a4a\", \"#cb181d\"],\n\t\t5: [\"#fee5d9\", \"#fcae91\", \"#fb6a4a\", \"#de2d26\", \"#a50f15\"],\n\t\t6: [\"#fee5d9\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#de2d26\", \"#a50f15\"],\n\t\t7: [\"#fee5d9\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#ef3b2c\", \"#cb181d\", \"#99000d\"],\n\t\t8: [\"#fff5f0\", \"#fee0d2\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#ef3b2c\", \"#cb181d\", \"#99000d\"],\n\t\t9: [\"#fff5f0\", \"#fee0d2\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#ef3b2c\", \"#cb181d\", \"#a50f15\", \"#67000d\"]\n\t},\n\t\"Greys\": {\n\t\t3: [\"#f0f0f0\", \"#bdbdbd\", \"#636363\"],\n\t\t4: [\"#f7f7f7\", \"#cccccc\", \"#969696\", \"#525252\"],\n\t\t5: [\"#f7f7f7\", \"#cccccc\", \"#969696\", \"#636363\", \"#252525\"],\n\t\t6: [\"#f7f7f7\", \"#d9d9d9\", \"#bdbdbd\", \"#969696\", \"#636363\", \"#252525\"],\n\t\t7: [\"#f7f7f7\", \"#d9d9d9\", \"#bdbdbd\", \"#969696\", \"#737373\", \"#525252\", \"#252525\"],\n\t\t8: [\"#ffffff\", \"#f0f0f0\", \"#d9d9d9\", \"#bdbdbd\", \"#969696\", \"#737373\", \"#525252\", \"#252525\"],\n\t\t9: [\"#ffffff\", \"#f0f0f0\", \"#d9d9d9\", \"#bdbdbd\", \"#969696\", \"#737373\", \"#525252\", \"#252525\", \"#000000\"]\n\t},\n\t\"PuOr\": {\n\t\t3: [\"#f1a340\", \"#f7f7f7\", \"#998ec3\"],\n\t\t4: [\"#e66101\", \"#fdb863\", \"#b2abd2\", \"#5e3c99\"],\n\t\t5: [\"#e66101\", \"#fdb863\", \"#f7f7f7\", \"#b2abd2\", \"#5e3c99\"],\n\t\t6: [\"#b35806\", \"#f1a340\", \"#fee0b6\", \"#d8daeb\", \"#998ec3\", \"#542788\"],\n\t\t7: [\"#b35806\", \"#f1a340\", \"#fee0b6\", \"#f7f7f7\", \"#d8daeb\", \"#998ec3\", \"#542788\"],\n\t\t8: [\"#b35806\", \"#e08214\", \"#fdb863\", \"#fee0b6\", \"#d8daeb\", \"#b2abd2\", \"#8073ac\", \"#542788\"],\n\t\t9: [\"#b35806\", \"#e08214\", \"#fdb863\", \"#fee0b6\", \"#f7f7f7\", \"#d8daeb\", \"#b2abd2\", \"#8073ac\", \"#542788\"],\n\t\t10: [\"#7f3b08\", \"#b35806\", \"#e08214\", \"#fdb863\", \"#fee0b6\", \"#d8daeb\", \"#b2abd2\", \"#8073ac\", \"#542788\", \"#2d004b\"],\n\t\t11: [\"#7f3b08\", \"#b35806\", \"#e08214\", \"#fdb863\", \"#fee0b6\", \"#f7f7f7\", \"#d8daeb\", \"#b2abd2\", \"#8073ac\", \"#542788\", \"#2d004b\"]\n\t},\n\t\"BrBG\": {\n\t\t3: [\"#d8b365\", \"#f5f5f5\", \"#5ab4ac\"],\n\t\t4: [\"#a6611a\", \"#dfc27d\", \"#80cdc1\", \"#018571\"],\n\t\t5: [\"#a6611a\", \"#dfc27d\", \"#f5f5f5\", \"#80cdc1\", \"#018571\"],\n\t\t6: [\"#8c510a\", \"#d8b365\", \"#f6e8c3\", \"#c7eae5\", \"#5ab4ac\", \"#01665e\"],\n\t\t7: [\"#8c510a\", \"#d8b365\", \"#f6e8c3\", \"#f5f5f5\", \"#c7eae5\", \"#5ab4ac\", \"#01665e\"],\n\t\t8: [\"#8c510a\", \"#bf812d\", \"#dfc27d\", \"#f6e8c3\", \"#c7eae5\", \"#80cdc1\", \"#35978f\", \"#01665e\"],\n\t\t9: [\"#8c510a\", \"#bf812d\", \"#dfc27d\", \"#f6e8c3\", \"#f5f5f5\", \"#c7eae5\", \"#80cdc1\", \"#35978f\", \"#01665e\"],\n\t\t10: [\"#543005\", \"#8c510a\", \"#bf812d\", \"#dfc27d\", \"#f6e8c3\", \"#c7eae5\", \"#80cdc1\", \"#35978f\", \"#01665e\", \"#003c30\"],\n\t\t11: [\"#543005\", \"#8c510a\", \"#bf812d\", \"#dfc27d\", \"#f6e8c3\", \"#f5f5f5\", \"#c7eae5\", \"#80cdc1\", \"#35978f\", \"#01665e\", \"#003c30\"]\n\t},\n\t\"PRGn\": {\n\t\t3: [\"#af8dc3\", \"#f7f7f7\", \"#7fbf7b\"],\n\t\t4: [\"#7b3294\", \"#c2a5cf\", \"#a6dba0\", \"#008837\"],\n\t\t5: [\"#7b3294\", \"#c2a5cf\", \"#f7f7f7\", \"#a6dba0\", \"#008837\"],\n\t\t6: [\"#762a83\", \"#af8dc3\", \"#e7d4e8\", \"#d9f0d3\", \"#7fbf7b\", \"#1b7837\"],\n\t\t7: [\"#762a83\", \"#af8dc3\", \"#e7d4e8\", \"#f7f7f7\", \"#d9f0d3\", \"#7fbf7b\", \"#1b7837\"],\n\t\t8: [\"#762a83\", \"#9970ab\", \"#c2a5cf\", \"#e7d4e8\", \"#d9f0d3\", \"#a6dba0\", \"#5aae61\", \"#1b7837\"],\n\t\t9: [\"#762a83\", \"#9970ab\", \"#c2a5cf\", \"#e7d4e8\", \"#f7f7f7\", \"#d9f0d3\", \"#a6dba0\", \"#5aae61\", \"#1b7837\"],\n\t\t10: [\"#40004b\", \"#762a83\", \"#9970ab\", \"#c2a5cf\", \"#e7d4e8\", \"#d9f0d3\", \"#a6dba0\", \"#5aae61\", \"#1b7837\", \"#00441b\"],\n\t\t11: [\"#40004b\", \"#762a83\", \"#9970ab\", \"#c2a5cf\", \"#e7d4e8\", \"#f7f7f7\", \"#d9f0d3\", \"#a6dba0\", \"#5aae61\", \"#1b7837\", \"#00441b\"]\n\t},\n\t\"PiYG\": {\n\t\t3: [\"#e9a3c9\", \"#f7f7f7\", \"#a1d76a\"],\n\t\t4: [\"#d01c8b\", \"#f1b6da\", \"#b8e186\", \"#4dac26\"],\n\t\t5: [\"#d01c8b\", \"#f1b6da\", \"#f7f7f7\", \"#b8e186\", \"#4dac26\"],\n\t\t6: [\"#c51b7d\", \"#e9a3c9\", \"#fde0ef\", \"#e6f5d0\", \"#a1d76a\", \"#4d9221\"],\n\t\t7: [\"#c51b7d\", \"#e9a3c9\", \"#fde0ef\", \"#f7f7f7\", \"#e6f5d0\", \"#a1d76a\", \"#4d9221\"],\n\t\t8: [\"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\"],\n\t\t9: [\"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#f7f7f7\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\"],\n\t\t10: [\"#8e0152\", \"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\", \"#276419\"],\n\t\t11: [\"#8e0152\", \"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#f7f7f7\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\", \"#276419\"]\n\t},\n\t\"RdBu\": {\n\t\t3: [\"#ef8a62\", \"#f7f7f7\", \"#67a9cf\"],\n\t\t4: [\"#ca0020\", \"#f4a582\", \"#92c5de\", \"#0571b0\"],\n\t\t5: [\"#ca0020\", \"#f4a582\", \"#f7f7f7\", \"#92c5de\", \"#0571b0\"],\n\t\t6: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#d1e5f0\", \"#67a9cf\", \"#2166ac\"],\n\t\t7: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#f7f7f7\", \"#d1e5f0\", \"#67a9cf\", \"#2166ac\"],\n\t\t8: [\"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\"],\n\t\t9: [\"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#f7f7f7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\"],\n\t\t10: [\"#67001f\", \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\", \"#053061\"],\n\t\t11: [\"#67001f\", \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#f7f7f7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\", \"#053061\"]\n\t},\n\t\"RdGy\": {\n\t\t3: [\"#ef8a62\", \"#ffffff\", \"#999999\"],\n\t\t4: [\"#ca0020\", \"#f4a582\", \"#bababa\", \"#404040\"],\n\t\t5: [\"#ca0020\", \"#f4a582\", \"#ffffff\", \"#bababa\", \"#404040\"],\n\t\t6: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#e0e0e0\", \"#999999\", \"#4d4d4d\"],\n\t\t7: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#ffffff\", \"#e0e0e0\", \"#999999\", \"#4d4d4d\"],\n\t\t8: [\"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#e0e0e0\", \"#bababa\", \"#878787\", \"#4d4d4d\"],\n\t\t9: [\"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#ffffff\", \"#e0e0e0\", \"#bababa\", \"#878787\", \"#4d4d4d\"],\n\t\t10: [\"#67001f\", \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#e0e0e0\", \"#bababa\", \"#878787\", \"#4d4d4d\", \"#1a1a1a\"],\n\t\t11: [\"#67001f\", \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#ffffff\", \"#e0e0e0\", \"#bababa\", \"#878787\", \"#4d4d4d\", \"#1a1a1a\"]\n\t},\n\t\"RdYlBu\": {\n\t\t3: [\"#fc8d59\", \"#ffffbf\", \"#91bfdb\"],\n\t\t4: [\"#d7191c\", \"#fdae61\", \"#abd9e9\", \"#2c7bb6\"],\n\t\t5: [\"#d7191c\", \"#fdae61\", \"#ffffbf\", \"#abd9e9\", \"#2c7bb6\"],\n\t\t6: [\"#d73027\", \"#fc8d59\", \"#fee090\", \"#e0f3f8\", \"#91bfdb\", \"#4575b4\"],\n\t\t7: [\"#d73027\", \"#fc8d59\", \"#fee090\", \"#ffffbf\", \"#e0f3f8\", \"#91bfdb\", \"#4575b4\"],\n\t\t8: [\"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee090\", \"#e0f3f8\", \"#abd9e9\", \"#74add1\", \"#4575b4\"],\n\t\t9: [\"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee090\", \"#ffffbf\", \"#e0f3f8\", \"#abd9e9\", \"#74add1\", \"#4575b4\"],\n\t\t10: [\"#a50026\", \"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee090\", \"#e0f3f8\", \"#abd9e9\", \"#74add1\", \"#4575b4\", \"#313695\"],\n\t\t11: [\"#a50026\", \"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee090\", \"#ffffbf\", \"#e0f3f8\", \"#abd9e9\", \"#74add1\", \"#4575b4\", \"#313695\"]\n\t},\n\t\"Spectral\": {\n\t\t3: [\"#fc8d59\", \"#ffffbf\", \"#99d594\"],\n\t\t4: [\"#d7191c\", \"#fdae61\", \"#abdda4\", \"#2b83ba\"],\n\t\t5: [\"#d7191c\", \"#fdae61\", \"#ffffbf\", \"#abdda4\", \"#2b83ba\"],\n\t\t6: [\"#d53e4f\", \"#fc8d59\", \"#fee08b\", \"#e6f598\", \"#99d594\", \"#3288bd\"],\n\t\t7: [\"#d53e4f\", \"#fc8d59\", \"#fee08b\", \"#ffffbf\", \"#e6f598\", \"#99d594\", \"#3288bd\"],\n\t\t8: [\"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\"],\n\t\t9: [\"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\"],\n\t\t10: [\"#9e0142\", \"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\", \"#5e4fa2\"],\n\t\t11: [\"#9e0142\", \"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\", \"#5e4fa2\"]\n\t},\n\t\"AntiSpectral\": {\n\t\t3: [\"#99d594\", \"#ffffbf\", \"#fc8d59\"],\n\t\t4: [\"#2b83ba\", \"#abdda4\", \"#fdae61\", \"#d7191c\"],\n\t\t5: [\"#d7191c\", \"#fdae61\", \"#ffffbf\", \"#abdda4\", \"#2b83ba\"],\n\t\t6: [\"#d53e4f\", \"#fc8d59\", \"#fee08b\", \"#e6f598\", \"#99d594\", \"#3288bd\"],\n\t\t7: [\"#d53e4f\", \"#fc8d59\", \"#fee08b\", \"#ffffbf\", \"#e6f598\", \"#99d594\", \"#3288bd\"],\n\t\t8: [\"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\"],\n\t\t9: [\"#3288bd\", \"#66c2a5\", \"#abdda4\", \"#ffffbf\", \"#fee08b\", \"#e6f598\", \"#fdae61\", \"#f46d43\", \"#d53e4f\"],\n\t\t10: [\"#9e0142\", \"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\", \"#5e4fa2\"],\n\t\t11: [\"#9e0142\", \"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\", \"#5e4fa2\"]\n\t},\n\t\"RdYlGn\": {\n\t\t3: [\"#fc8d59\", \"#ffffbf\", \"#91cf60\"],\n\t\t4: [\"#d7191c\", \"#fdae61\", \"#a6d96a\", \"#1a9641\"],\n\t\t5: [\"#d7191c\", \"#fdae61\", \"#ffffbf\", \"#a6d96a\", \"#1a9641\"],\n\t\t6: [\"#d73027\", \"#fc8d59\", \"#fee08b\", \"#d9ef8b\", \"#91cf60\", \"#1a9850\"],\n\t\t7: [\"#d73027\", \"#fc8d59\", \"#fee08b\", \"#ffffbf\", \"#d9ef8b\", \"#91cf60\", \"#1a9850\"],\n\t\t8: [\"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#d9ef8b\", \"#a6d96a\", \"#66bd63\", \"#1a9850\"],\n\t\t9: [\"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#d9ef8b\", \"#a6d96a\", \"#66bd63\", \"#1a9850\"],\n\t\t10: [\"#a50026\", \"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#d9ef8b\", \"#a6d96a\", \"#66bd63\", \"#1a9850\", \"#006837\"],\n\t\t11: [\"#a50026\", \"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#d9ef8b\", \"#a6d96a\", \"#66bd63\", \"#1a9850\", \"#006837\"]\n\t},\n\t\"Accent\": {\n\t\t3: [\"#7fc97f\", \"#beaed4\", \"#fdc086\"],\n\t\t4: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\"],\n\t\t5: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\", \"#386cb0\"],\n\t\t6: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\", \"#386cb0\", \"#f0027f\"],\n\t\t7: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\", \"#386cb0\", \"#f0027f\", \"#bf5b17\"],\n\t\t8: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\", \"#386cb0\", \"#f0027f\", \"#bf5b17\", \"#666666\"]\n\t},\n\t\"Dark2\": {\n\t\t3: [\"#1b9e77\", \"#d95f02\", \"#7570b3\"],\n\t\t4: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\"],\n\t\t5: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\"],\n\t\t6: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\", \"#e6ab02\"],\n\t\t7: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\", \"#e6ab02\", \"#a6761d\"],\n\t\t8: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\", \"#e6ab02\", \"#a6761d\", \"#666666\"]\n\t},\n\t\"Paired\": {\n\t\t3: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\"],\n\t\t4: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\"],\n\t\t5: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\"],\n\t\t6: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\"],\n\t\t7: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\"],\n\t\t8: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\"],\n\t\t9: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\", \"#cab2d6\"],\n\t\t10: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\", \"#cab2d6\", \"#6a3d9a\"],\n\t\t11: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\", \"#cab2d6\", \"#6a3d9a\", \"#ffff99\"],\n\t\t12: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\", \"#cab2d6\", \"#6a3d9a\", \"#ffff99\", \"#b15928\"]\n\t},\n\t\"Pastel1\": {\n\t\t3: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\"],\n\t\t4: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\"],\n\t\t5: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\"],\n\t\t6: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\"],\n\t\t7: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\", \"#e5d8bd\"],\n\t\t8: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\", \"#e5d8bd\", \"#fddaec\"],\n\t\t9: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\", \"#e5d8bd\", \"#fddaec\", \"#f2f2f2\"]\n\t},\n\t\"Pastel2\": {\n\t\t3: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\"],\n\t\t4: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\"],\n\t\t5: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\", \"#e6f5c9\"],\n\t\t6: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\", \"#e6f5c9\", \"#fff2ae\"],\n\t\t7: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\", \"#e6f5c9\", \"#fff2ae\", \"#f1e2cc\"],\n\t\t8: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\", \"#e6f5c9\", \"#fff2ae\", \"#f1e2cc\", \"#cccccc\"]\n\t},\n\t\"Set1\": {\n\t\t3: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\"],\n\t\t4: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\"],\n\t\t5: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\"],\n\t\t6: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\"],\n\t\t7: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\", \"#a65628\"],\n\t\t8: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\", \"#a65628\", \"#f781bf\"],\n\t\t9: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\", \"#a65628\", \"#f781bf\", \"#999999\"]\n\t},\n\t\"Set2\": {\n\t\t3: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\"],\n\t\t4: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\"],\n\t\t5: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\", \"#a6d854\"],\n\t\t6: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\", \"#a6d854\", \"#ffd92f\"],\n\t\t7: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\", \"#a6d854\", \"#ffd92f\", \"#e5c494\"],\n\t\t8: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\", \"#a6d854\", \"#ffd92f\", \"#e5c494\", \"#b3b3b3\"]\n\t},\n\t\"Set3\": {\n\t\t3: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\"],\n\t\t4: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\"],\n\t\t5: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\"],\n\t\t6: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\"],\n\t\t7: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\"],\n\t\t8: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\"],\n\t\t9: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\", \"#d9d9d9\"],\n\t\t10: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\", \"#d9d9d9\", \"#bc80bd\"],\n\t\t11: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\", \"#d9d9d9\", \"#bc80bd\", \"#ccebc5\"],\n\t\t12: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\", \"#d9d9d9\", \"#bc80bd\", \"#ccebc5\", \"#ffed6f\"]\n\t}\n};","/*******************************************************************************\n * Copyright (c) 2020, Lawrence Livermore National Security, LLC.\n * Produced at the Lawrence Livermore National Laboratory.\n *\n * Written by Suraj Kesavan .\n *\n * LLNL-CODE-740862. All rights reserved.\n *\n * This file is part of CallFlow. For details, see:\n * https://github.com/LLNL/CallFlow\n * Please also read the LICENSE file for the MIT License notice.\n ******************************************************************************/\nimport * as d3 from \"d3\";\nimport * as chroma from \"chroma-js\";\nimport { CategoricalColors, UniformColorMaps, ColorBrewer } from \"./COLORS\";\n\nexport default class Color {\n\tconstructor() {\n\t\tthis.colorscale = null;\n\t\tthis.grey = \"#252525\";\n\t\tthis.highlight = \"#AF9B90\";\n\t\tthis.ensemble = \"#C0C0C0\";\n\t\tthis.target =\n\t\t\tthis.catColors = [\"#3366cc\", \"#dc3912\", \"#ff9900\", \"#109618\", \"#990099\", \"#0099c6\", \"#dd4477\", \"#66aa00\", \"#b82e2e\", \"#316395\", \"#994499\", \"#22aa99\", \"#aaaa11\", \"#6633cc\", \"#e67300\", \"#8b0707\", \"#651067\", \"#329262\", \"#5574a6\", \"#3b3eac\"];\n\t\tthis.colorPadding = [];\n\t\tthis.categoricalColors = CategoricalColors;\n\t\tthis.colorbrewer = ColorBrewer;\n\t\tthis.UniformColorMaps = UniformColorMaps;\n\t}\n\n\tgetScale() {\n\t\treturn this.colorscale;\n\t}\n\n\tgetColor(dictionary, attribute) {\n\t\treturn this.colorscale(dictionary[attribute]);\n\t}\n\n\tgetColorByValue(value) {\n\t\treturn this.rgbArrayToHex(this.colorscale(value));\n\t}\n\n\tsetColorPadding(colorPoint) {\n\t\tlet ret = [];\n\t\tlet fraction = 1 / colorPoint;\n\t\tfor (let i = 0; i < colorPoint; i += 1) {\n\t\t\tret.push(i * fraction);\n\t\t}\n\t\tret.push(1);\n\t\treturn ret;\n\t}\n\n\tsetColorScale(type = \"Inclusive\", min = 0, max = 0, scaleType = \"Default\", colorPoint = \"9\") {\n\t\tthis.type = type;\n\t\tthis.colorMin = min;\n\t\tthis.colorMax = max;\n\t\tlet colors = this.colorbrewer[scaleType][colorPoint];\n\t\tthis.colorPadding = this.setColorPadding(colorPoint);\n\n\t\tlet colorscale = null;\n\t\tswitch (type) {\n\t\tcase \"Module\":\n\t\t\tcolorscale = d3.scaleOrdinal(d3.schemeCategory10);\n\t\t\tbreak;\n\t\tcase \"Inclusive\":\n\t\t\tcolorscale = chroma.scale(colors)\n\t\t\t\t.padding([0.0, 0.0])\n\t\t\t\t.gamma(0.5)\n\t\t\t\t.domain([min, max]);\n\t\t\tbreak;\n\t\tcase \"Exclusive\":\n\t\t\tcolorscale = chroma.scale(colors)\n\t\t\t\t.padding([0.0, 0.0])\n\t\t\t\t.gamma(0.5)\n\t\t\t\t.domain([min, max]);\n\t\t\tbreak;\n\t\tcase \"Imbalance\":\n\t\t\tcolorscale = chroma.scale(colors)\n\t\t\t\t.domain([0, 1]);\n\t\t\tbreak;\n\t\tcase \"MeanDiff\": {\n\t\t\tlet mmax = Math.max(Math.abs(min), Math.abs(max));\n\t\t\tcolorscale = chroma.scale(\"RdYlGn\")\n\t\t\t\t.padding([0.0, 0.0])\n\t\t\t\t.domain([mmax, -mmax]);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"RankDiff\":\n\t\t\tcolorscale = chroma.scale(colors)\n\t\t\t\t.gamma(0.5)\n\t\t\t\t.domain([min, max]);\n\t\t\tbreak;\n\t\tcase \"MeanGradients\":\n\t\t\tcolorscale = chroma.scale(colors)\n\t\t\t\t.padding([0.0, 0.0])\n\t\t\t\t.gamma(0.5)\n\t\t\t\t.domain([min, max]);\n\t\t\tbreak;\n\t\t}\n\t\tthis.colorscale = colorscale;\n\t}\n\n\tCYKToRGB(CMYK) {\n\t\tlet result = {};\n\t\tlet c = CMYK[0];\n\t\tlet m = CMYK[1];\n\t\tlet y = CMYK[2];\n\t\tlet k = 0;\n\n\t\tresult.r = 1 - Math.min(1, c * (1 - k) + k);\n\t\tresult.g = 1 - Math.min(1, m * (1 - k) + k);\n\t\tresult.b = 1 - Math.min(1, y * (1 - k) + k);\n\n\t\tresult.r = Math.round(result.r * 255);\n\t\tresult.g = Math.round(result.g * 255);\n\t\tresult.b = Math.round(result.b * 255);\n\n\t\tfunction componentToHex(c) {\n\t\t\tvar hex = c.toString(16);\n\t\t\treturn hex.length == 1 ? \"0\" + hex : hex;\n\t\t}\n\n\t\treturn \"#\" + componentToHex(result.r) + componentToHex(result.g) + componentToHex(result.b);\n\t}\n\n\tsetContrast(hex) {\n\t\tconst rgb = this.hexToRgb(hex);\n\t\tconst o = Math.round(((parseInt(rgb.r) * 299) +\n\t\t\t(parseInt(rgb.g) * 587) +\n\t\t\t(parseInt(rgb.b) * 114)) / 1000);\n\n\t\treturn (o > 128) ? \"#000\" : \"#fff\";\n\t}\n\n\tgetAllColors() {\n\t\treturn Object.keys(this.colorbrewer);\n\t}\n\n\tgetCatColor(id) {\n\t\treturn this.catColors[id];\n\t}\n\n\thexToRgb(hex) {\n\t\tconst result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\t\treturn result ? {\n\t\t\tr: parseInt(result[1], 16),\n\t\t\tg: parseInt(result[2], 16),\n\t\t\tb: parseInt(result[3], 16),\n\t\t} : null;\n\t}\n\n\trgbToHex(r, g, b) {\n\t\treturn \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n\t}\n\n\trgbArrayToHex(color_arr) {\n\t\tcolor_arr = color_arr._rgb;\n\t\tlet r = Math.floor(color_arr[0]);\n\t\tlet g = Math.floor(color_arr[1]);\n\t\tlet b = Math.floor(color_arr[2]);\n\t\treturn \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n\t}\n\n\tvalToPercentColor(val, colormap) {\n\t\tconst idx = Math.min(\n\t\t\tMath.max(0, Math.round(val * colormap.length)),\n\t\t\tcolormap.length - 1);\n\n\t\treturn colormap[idx];\n\t}\n\n\tpercentColToD3Rgb(percentCol) {\n\t\tconst col256 = percentCol.map(elm => Math.round(elm * 255));\n\t\treturn `rgb(${col256[0]}, ${col256[1]}, ${col256[2]})`;\n\t}\n\n\tvalToD3Rgb(val, colormap) {\n\t\treturn this.percentColToD3Rgb(this.valToPercentColor(val, colormap));\n\t}\n\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport Vue from \"vue\";\n\nconst EventBus = new Vue();\n\nexport default EventBus;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.summaryChip)+\" \")]),_c('v-spacer'),_c('span',{staticClass:\"component-info\"},[_vm._v(\" Encoding = \"+_vm._s(_vm.selectedMetric)+\" runtime. \")])],1),_c('v-layout',[_c('svg',{attrs:{\"id\":_vm.id}},[_c('g',{attrs:{\"id\":\"container\"}},[_c('EnsembleEdges',{ref:\"EnsembleEdges\"}),_c('EnsembleNodes',{ref:\"EnsembleNodes\"}),_c('MiniHistograms',{ref:\"MiniHistograms\"}),_c('EnsembleColorMap',{ref:\"EnsembleColorMap\"})],1)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\nimport * as d3 from \"d3\";\nimport { scalePow } from \"d3-scale\";\nimport { max, min, sum } from \"d3-array\";\n\nexport default function Sankey() {\n\tvar sankey = {},\n\t\tnodeWidth = 24,\n\t\tnodePadding = 8,\n\t\tsize = [1, 1],\n\t\tnodes = [],\n\t\tlinks = [],\n\t\tlevelSpacing = 10,\n\t\treferenceValue = 0,\n\t\tminNodeScale = 0,\n\t\tmaxLevel = 1,\n\t\tnodeMap = {},\n\t\tstore = {},\n\t\tdebug = true,\n\t\tnodesByBreadth = [],\n\t\tmax_dy = 0,\n\t\tfitNodeInWindowHeight = 5,\n\t\ttargetDataset = \"\";\n\n\tlet widthScale;\n\tlet minDistanceBetweenNode = 0;\n\n\tsankey.nodeWidth = function (_) {\n\t\tif (!arguments.length) {return nodeWidth;}\n\t\tnodeWidth = +_;\n\t\treturn sankey;\n\t};\n\n\tsankey.levelSpacing = function (_) {\n\t\tif (!arguments.length) {return levelSpacing;}\n\t\tlevelSpacing = +_;\n\t\treturn sankey;\n\t};\n\n\tsankey.nodePadding = function (_) {\n\t\tif (!arguments.length) {return nodePadding;}\n\t\tnodePadding = +_;\n\t\treturn sankey;\n\t};\n\n\tsankey.nodes = function (_) {\n\t\tif (!arguments.length) {return nodes;}\n\t\tnodes = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.links = function (_) {\n\t\tif (!arguments.length) {return links;}\n\t\tlinks = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.size = function (_) {\n\t\tif (!arguments.length) {return size;}\n\t\tsize = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.maxLevel = function (_) {\n\t\tif (!arguments.length) {return maxLevel;}\n\t\tmaxLevel = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.targetDataset = function (_) {\n\t\tif (!arguments.length) {return targetDataset;}\n\t\ttargetDataset = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.store = function (_) {\n\t\tif (!arguments.length) {return store;}\n\t\tstore = _;\n\t\treturn sankey;\n\t};\n\n\tsankey.layout = function (iterations) {\n\t\taddLinkID();\n\t\tcomputeNodeLinks();\n\t\tconsole.debug(\"[Sankey] Computed Node links.\");\n\t\tcomputeNodeValues();\n\t\tconsole.debug(\"[Sankey] Computed node values.\");\n\t\tcomputeNodeBreadths();\n\t\tconsole.debug(\"[Sankey] Computed node breadths.\");\n\t\tcomputeNodeDepths(iterations);\n\t\tconsole.debug(\"[Sankey] Computed node depths\");\n\t\tcomputeLinkDepths();\n\t\tconsole.debug(\"[Sankey] Computed linke depths.\");\n\t\treturn sankey;\n\t};\n\n\tsankey.relayout = function () {\n\t\tcomputeLinkDepths();\n\t\treturn sankey;\n\t};\n\n\tsankey.setMinNodeScale = function (_) {\n\t\tif (!arguments.length) {return minNodeScale;}\n\t\tminNodeScale = +_;\n\t\treturn sankey;\n\t};\n\n\tsankey.link = function () {\n\t\tvar curvature = .4;\n\n\t\t// this function draw links at bottom\n\t\tfunction link(d) {\n\t\t\tvar x0 = d.source.x + d.source.height,\n\t\t\t\tx1 = d.target.x,\n\t\t\t\txi = d3.interpolateNumber(x0, x1),\n\t\t\t\tx2 = xi(curvature),\n\t\t\t\tx3 = xi(1 - curvature),\n\t\t\t\ty0 = d.source.y + d.sy + d.source.height / 2,\n\t\t\t\ty1 = d.target.y + d.ty + d.target.height / 2;\n\t\t\treturn \"M\" + x0 + \",\" + y0\n\t\t\t\t+ \"C\" + x2 + \",\" + y0\n\t\t\t\t+ \" \" + x3 + \",\" + y1\n\t\t\t\t+ \" \" + x1 + \",\" + y1;\n\t\t}\n\n\t\tlink.curvature = function (_) {\n\t\t\tif (!arguments.length) {return curvature;}\n\t\t\tcurvature = +_;\n\t\t\treturn link;\n\t\t};\n\t\treturn link;\n\t};\n\n\tfunction addLinkID() {\n\t\tlet idx = 0, node;\n\t\tnodes.forEach(function (node) {\n\t\t\tnodeMap[node.id] = node;\n\t\t\tif (debug) {\n\t\t\t\tconsole.debug(\"[Assign Link ids] \", node.id, \"with index: \", idx);\n\t\t\t}\n\t\t\tidx += 1;\n\t\t});\n\n\t\tlinks.forEach(function (link) {\n\t\t\tif (nodeMap[link.source] == undefined) {\n\t\t\t\tnodeMap[link.source] = idx;\n\t\t\t\tidx += 1;\n\t\t\t}\n\n\t\t\tif (nodeMap[link.target] == undefined) {\n\t\t\t\tnodeMap[link.target] = idx;\n\t\t\t\tidx += 1;\n\t\t\t}\n\t\t\tlink.source_data = nodeMap[link.source];\n\t\t\tlink.target_data = nodeMap[link.target];\n\t\t});\n\t}\n\n\n\t// Populate the sourceLinks and targetLinks for each node.\n\t// Also, if the source and target are not objects, assume they are indices.\n\tfunction computeNodeLinks() {\n\t\tnodes.forEach(function (node) {\n\t\t\tnode.sourceLinks = [];\n\t\t\tnode.targetLinks = [];\n\t\t\tnode[\"maxLinkVal\"] = 0;\n\t\t\tnode[\"minLinkVal\"] = 1000000000000000;\n\t\t});\n\t\tlinks.forEach(function (link) {\n\t\t\tlink.source_data.sourceLinks.push(link);\n\t\t\tlink.source_data.maxLinkVal = Math.max(link.source_data.maxLinkVal, link[\"weight\"]);\n\t\t\tlink.source_data.minLinkVal = Math.min(link.source_data.minLinkVal, link[\"weight\"]);\n\n\t\t\tlink.target_data.targetLinks.push(link);\n\t\t\tlink.target_data.minLinkVal = Math.min(link.target_data.minLinkVal, link[\"weight\"]);\n\t\t\tlink.target_data.maxLinkVal = Math.max(link.target_data.maxLinkVal, link[\"weight\"]);\n\t\t});\n\n\t\tnodes.forEach(function (node) {\n\t\t\tlet numberOfLinks = Math.max(node.sourceLinks.length, node.targetLinks.length);\n\n\t\t\tif (node.sourceLinks.length == 0) {\n\t\t\t\t//it has no outgoing links\n\t\t\t\tnumberOfLinks = node.targetLinks.length;\n\t\t\t}\n\t\t\tnode[\"maxLinks\"] = numberOfLinks;\n\t\t});\n\t}\n\n\t// Compute the value (size) of each node by summing the associated links.\n\tfunction computeNodeValues() {\n\t\tnodes.forEach(function (node) {\n\t\t\tlet sourceSum = sum(node.sourceLinks, (link) => {\n\t\t\t\treturn link.weight;\n\t\t\t});\n\n\t\t\tlet targetSum = sum(node.targetLinks, (link) => {\n\t\t\t\treturn link.weight;\n\t\t\t});\n\n\n\t\t\tlet sourceTargetSum = sum(node.sourceLinks, (link) => {\n\t\t\t\treturn link.targetWeight;\n\t\t\t});\n\n\t\t\tlet targetTargetSum = sum(node.targetLinks, (link) => {\n\t\t\t\treturn link.targetWeight;\n\t\t\t});\n\n\t\t\tnode.max_flow = Math.max(sourceSum, targetSum);\n\n\t\t\tif (node.type == \"intermediate\") {\n\t\t\t\t// console.log(node.name, node.value, node.targetValue);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnode.value = node[\"actual_time\"][\"Inclusive\"];\n\t\t\t\tnode.targetValue = 0;\n\t\t\t\tif (node[store.selectedTargetDataset] != undefined) {\n\t\t\t\t\tnode.targetValue = node[store.selectedTargetDataset][\"actual_time\"][\"Inclusive\"];\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Relaxing the edges a nodes a bit to account for the flow. But target edges arent correct.\n\t\t\t// node.value = Math.max(node.value, Math.max(sourceSum, targetSum));\n\t\t\tif (node[store.selectedTargetDataset] != undefined) {\n\t\t\t\tnode.targetValue = Math.max(node.targetValue, Math.max(sourceTargetSum, targetTargetSum));\n\t\t\t}\n\n\t\t\tconsole.debug(\"[Compute node values] Adjusted flow\", node.id, \": \", node.value);\n\t\t\tconsole.debug(\"[Compute node values] Adjusted target flow\", node.id, \": \", node.targetValue);\n\t\t});\n\t}\n\n\n\t//////////////////// Associated functions for : computeNodeBreadths /////////////////\n\tfunction moveSourcesRight() {\n\t\tnodes.forEach(function (node) {\n\t\t\tif (!node.targetLinks.length) {\n\t\t\t\tnode.level = d3.min(node.sourceLinks, function (d) {\n\t\t\t\t\treturn d.target_data.level;\n\t\t\t\t}) - 1;\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction scaleNodeBreadths(kx) {\n\t\tnodes.forEach(function (node) {\n\t\t\tlet x = widthScale(node.level);\n\t\t\tnode.x = x;\n\t\t});\n\t}\n\n\t// Iteratively assign the breadth (x-position) for each node.\n\t// Nodes are assigned the maximum breadth of incoming neighbors plus one;\n\t// nodes with no incoming links are assigned breadth zero, while\n\t// nodes with no outgoing links are assigned the maximum breadth.\n\tfunction computeNodeBreadths() {\n\t\tlet remainingNodes = nodes;\n\t\tlet nextNodes = [];\n\t\tlet level = 0;\n\t\tlet count = 0;\n\t\twhile (remainingNodes.length) {\n\t\t\tnextNodes = [];\n\t\t\tremainingNodes.forEach(function (node) {\n\t\t\t\tnode.level = level;\n\t\t\t\tnode.dx = nodeWidth;\n\t\t\t\tnode.sourceLinks.forEach(function (link) {\n\t\t\t\t\tnextNodes.push(link.target_data);\n\t\t\t\t});\n\t\t\t});\n\t\t\tremainingNodes = nextNodes;\n\t\t\tlevel += 1;\n\t\t\tcount += 1;\n\t\t}\n\n\t\tconsole.debug(\"[Compute node breadths] Number of levels: \", level);\n\n\t\tminDistanceBetweenNode = nodeWidth * 2;\n\t\twidthScale = scalePow().domain([0, level]).range([minDistanceBetweenNode, size[0]]);\n\t\tscaleNodeBreadths((size[0] - nodeWidth) / (maxLevel));\n\t}\n\n\t//////////////////// Associated functions for : ComputeNodeDepths /////////////////\n\tfunction resolveOutsidePositioning() {\n\t\tfor (let node of nodes) {\n\t\t\tnode.height *= (1 - max_dy / size[1]);\n\t\t}\n\n\t\tfor (let link of links) {\n\t\t\tlink.height *= (1 - max_dy / size[1]);\n\t\t}\n\n\t\tnodesByBreadth.forEach(function (nodes) {\n\t\t\tnodes.sort(ascendingDepth);\n\n\t\t\tfor (let i = nodes.length - 1; i >= 0; --i) {\n\t\t\t\tlet node = nodes[i];\n\t\t\t\tlet dy = node.y - node.y * (1 - max_dy / size[1]);\n\t\t\t\tnode.y -= dy;\n\n\t\t\t\tif (i != 0) {\n\t\t\t\t\tnode.y += i * nodePadding;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction pushIntermediateNodeBottom(nodes) {\n\t\tlet tempNode;\n\t\tfor (let i = 0; i < nodes.length; i += 1) {\n\t\t\tif (nodes[i].id.split(\"_\")[0] == \"intermediate\") {\n\t\t\t\ttempNode = nodes[i];\n\t\t\t\tnodes.splice(i, 1);\n\t\t\t}\n\t\t}\n\t\tif (tempNode != undefined) {\n\t\t\tnodes.push(tempNode);\n\t\t}\n\t\treturn nodes;\n\t}\n\n\tfunction pushNodeBottomIfIntermediateTargets(nodes) {\n\t\tlet tempNode;\n\t\tfor (let i = 0; i < nodes.length; i += 1) {\n\t\t\tlet targets = nodes[i].targetLinks;\n\t\t\tfor (let j = 0; j < targets.length; j += 1) {\n\t\t\t\tlet target = targets[j].target;\n\t\t\t\tif (target.split(\"_\")[0] == \"intermediate\") {\n\t\t\t\t\ttempNode = nodes[i];\n\t\t\t\t\tnodes.splice(i, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (tempNode != undefined) {\n\t\t\tnodes.push(tempNode);\n\t\t}\n\t\treturn nodes;\n\t}\n\n\tfunction fixEnsembleScale() {\n\t\tlet ensembleScale = min(nodesByBreadth, (column) => {\n\t\t\tlet divValue = 0;\n\t\t\tif (referenceValue > 0) {\n\t\t\t\tdivValue = referenceValue;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdivValue = sum(column, (node) => {\n\t\t\t\t\treturn node.value;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn Math.abs((size[1] - (column.length - 1) * nodePadding)) / divValue;\n\t\t});\n\n\t\treturn ensembleScale;\n\t}\n\n\tfunction fixTargetScale() {\n\t\tlet targetScale = d3.min(nodesByBreadth, (column) => {\n\t\t\tvar divValue = 1;\n\t\t\tif (referenceValue > 0) {\n\t\t\t\tdivValue = referenceValue;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdivValue = sum(column, (node) => {\n\t\t\t\t\treturn node.targetValue;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn Math.abs((size[1] - (nodes.length - 1) * nodePadding)) / divValue;\n\t\t});\n\t\treturn targetScale;\n\t}\n\n\tfunction fixFlowScale(link) {\n\t\tlet sourceSum = sum(link.source_data.sourceLinks, (link) => {\n\t\t\treturn link.weight;\n\t\t});\n\n\t\tlet targetSum = sum(link.target_data.targetLinks, (link) => {\n\t\t\treturn link.weight;\n\t\t});\n\n\n\t\t// let sourceTargetSum = sum(node.sourceLinks, (link) => {\n\t\t// return link.targetWeight\n\t\t// })\n\n\t\t// let targetTargetSum = sum(node.targetLinks, (link) => {\n\t\t// return link.targetWeight\n\t\t// })\n\n\t\tlet total_value = Math.max(link.source_data.value, link.source_data.max_flow);\n\n\t\treturn (total_value / link.source_data.max_flow);\n\t}\n\n\tfunction initializeNodeDepth() {\n\t\tlet scale = fixEnsembleScale();\n\t\tlet levelCount = 0;\n\n\t\tnodesByBreadth.forEach(function (nodes) {\n\t\t\tif (store.selectedSuperNodePositionMode == \"Minimal edge crossing\") {\n\t\t\t\tconsole.log(\"TODO: Minimize edge crossing.\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\tnodes.sort(function (a, b) {\n\t\t\t\t\tif (store.selectedSuperNodePositionMode == \"Inclusive\") {\n\t\t\t\t\t\treturn b[\"time (inc)\"] - a[\"time (inc)\"];\n\t\t\t\t\t}\n\t\t\t\t\telse if (store.selectedSuperNodePositionMode == \"Exclusive\") {\n\t\t\t\t\t\treturn b[\"time\"] - a[\"time\"];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tnodes = pushIntermediateNodeBottom(nodes);\n\t\t\t// nodes = pushNodeBottomIfIntermediateTargets(nodes)\n\n\t\t\tnodes.forEach(function (node, i) {\n\t\t\t\tlet nodeHeight = 0;\n\t\t\t\tlinks.forEach(function (edge) {\n\t\t\t\t\tif (edge[\"target\"] == node) {\n\t\t\t\t\t\tif (edge[\"source\"] != null && edge[\"source\"][\"y\"] != null) {\n\t\t\t\t\t\t\tnodeHeight = Math.max(nodeHeight, edge[\"source\"][\"y\"]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tnode.y = Math.max(nodeHeight, i);\n\t\t\t\tnode.parY = node.y;\n\n\t\t\t\tconsole.debug(\"[Compute node depths] Node: \", node.id);\n\t\t\t\tconsole.debug(\"[Compute node depths] value: \", node.value);\n\t\t\t\tconsole.debug(\"[Compute node depths] minNodeScale: \", minNodeScale);\n\t\t\t\tconsole.debug(\"[Compute node depths] Ensemble scaling: \", scale);\n\n\t\t\t\tnode.height = node.value * minNodeScale * scale;\n\t\t\t\tnode.targetHeight = node.targetValue * minNodeScale * scale;\n\n\t\t\t\tconsole.debug(\"[Compute node depths] Node height: \", node.height);\n\t\t\t});\n\t\t\tlevelCount += 1;\n\t\t});\n\n\t\tlinks.forEach(function (link) {\n\t\t\tlet flowScale = link.source_data.value / link.source_data.max_flow;\n\t\t\tlink.scaled_weight = link.weight * flowScale;\n\t\t\tlink.height = link.scaled_weight * scale;\n\n\t\t\tlet targetEnsembleRatio = (link.source_data.targetValue / link.source_data.value);\n\t\t\tlink.targetWeight = link.weight * targetEnsembleRatio;\n\t\t\tlink.targetHeight = link.targetWeight * scale;\n\n\t\t\tlet heightRatio = link.targetHeight / link.height;\n\t\t\tif (heightRatio != targetEnsembleRatio) {\n\t\t\t\tconsole.log(\"Error: The target-ensemble link height ratio is incosistent with the link's value\");\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction relaxLeftToRight(alpha) {\n\t\tnodesByBreadth.forEach(function (nodes, breadth) {\n\t\t\tnodes.forEach(function (node) {\n\t\t\t\tif (node.targetLinks.length) {\n\t\t\t\t\tvar y = d3.sum(node.targetLinks, weightedSource) / d3.sum(node.targetLinks, value);\n\t\t\t\t\tnode.y += (y - center(node)) * alpha;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tfunction weightedSource(link) {\n\t\t\treturn center(link.source) * link.weight;\n\t\t}\n\t}\n\n\tfunction relaxRightToLeft(alpha) {\n\t\tnodesByBreadth.slice().reverse().forEach(function (nodes) {\n\t\t\tnodes.forEach(function (node) {\n\t\t\t\tif (node.sourceLinks.length) {\n\t\t\t\t\tvar y = d3.sum(node.sourceLinks, weightedTarget) / d3.sum(node.sourceLinks, value);\n\n\t\t\t\t\tnode.y += (y + center(node)) * alpha;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tfunction weightedTarget(link) {\n\t\t\treturn center(link.target) * link.weight;\n\t\t}\n\t}\n\n\tfunction resolveCollisions() {\n\t\tlet max_dy = 0;\n\t\tnodesByBreadth.forEach(function (nodes) {\n\t\t\tvar node,\n\t\t\t\tdy,\n\t\t\t\ty0 = 0;\n\n\t\t\t// Push any overlapping nodes down.\n\t\t\tnodes.sort(ascendingDepth);\n\n\t\t\tfor (node of nodes) {\n\t\t\t\tdy = y0 - node.y;\n\t\t\t\tif (dy > 0) {\n\t\t\t\t\tnode.y += dy;\n\t\t\t\t}\n\t\t\t\ty0 = node.y + node.height + nodePadding;\n\t\t\t}\n\n\t\t\t// If the bottommost node goes outside the bounds, push it back up.\n\t\t\tdy = y0 - nodePadding - size[1];\n\t\t\tif (dy > 0) {\n\t\t\t\ty0 = node.y -= dy;\n\t\t\t\t// Push any overlapping nodes back up.\n\t\t\t\tfor (let i = nodes.length - 2; i > 0; --i) {\n\t\t\t\t\tnode = nodes[i];\n\t\t\t\t\tdy = node.y + node.height + nodePadding - y0;\n\t\t\t\t\tif (dy > 0) {node.y -= dy;}\n\t\t\t\t\ty0 = node.y;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdy = y0 - nodePadding - size[1];\n\t\t\tif (dy > 0) {\n\t\t\t\tmax_dy = Math.max(dy, max_dy);\n\t\t\t}\n\t\t});\n\n\t\treturn max_dy;\n\t}\n\n\tfunction resolveCollisions_old(alpha) {\n\t\tconst i = nodesByBreadth.length >> 1;\n\t\tconst subject = nodesByBreadth[i];\n\t\tsubject.y = resolveCollisionsBottomToTop(nodesByBreadth, subject.y - nodePadding, i - 1, alpha);\n\t\t// resolveCollisionsTopToBottom(nodesByBreadth, subject.y1 + nodePadding, i + 1, alpha);\n\t\tsubject.y = resolveCollisionsBottomToTop(nodesByBreadth, subject.y, nodesByBreadth.length - 1, alpha);\n\t\t// resolveCollisionsTopToBottom(nodesByBreadth, y0, 0, alpha);\n\t}\n\n\t// Push any overlapping nodes down.\n\tfunction resolveCollisionsTopToBottom(nodes, y, i, alpha) {\n\t\tfor (; i < nodes.length; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst dy = (y - node.y0) * alpha;\n\t\t\tif (dy > 1e-6) {node.y0 += dy, node.y1 += dy;}\n\t\t\ty = node.y1 + nodePadding;\n\t\t}\n\t}\n\n\t// Push any overlapping nodes up.\n\tfunction resolveCollisionsBottomToTop(nodes, y, i, alpha) {\n\t\tfor (; i >= 0; --i) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst dy = (node.y1 - y) * alpha;\n\t\t\tif (dy > 1e-6) {node.y0 -= dy, node.y1 -= dy;}\n\t\t\ty = node.y0 - nodePadding;\n\t\t}\n\t\treturn y;\n\t}\n\n\t// function ascendingDepth(a, b) {\n\t// console.log(a['parY'], b['parY'])\n\t// if (a[\"parY\"] > b[\"parY\"]) {\n\t// return a[\"parY\"] - b[\"parY\"];\n\t// }\n\t// return a[\"maxLinks\"] - b[\"maxLinks\"];\n\t// }\n\n\tfunction ascendingDepth(a, b) {\n\t\treturn a[\"y\"] - b[\"y\"];\n\t}\n\n\tfunction computeNodeDepths(iterations) {\n\t\t// Nodes by breadth does not consider the intermediate nodes.\n\t\tnodesByBreadth = d3.nest()\n\t\t\t.key(function (d) { return d.level; })\n\t\t\t.sortKeys(d3.ascending)\n\t\t\t.entries(nodes)\n\t\t\t.map(function (d) {\n\t\t\t\tlet ret = [];\n\t\t\t\tfor (let i = 0; i < d.values.length; i += 1) {\n\t\t\t\t\tlet node = d.values[i];\n\t\t\t\t\tret.push(d.values[i]);\n\t\t\t\t}\n\t\t\t\treturn ret;\n\t\t\t});\n\n\t\tinitializeNodeDepth();\n\t\tresolveCollisions();\n\n\t\tfor (var i = 0; i < iterations; ++i) {\n\t\t\tlet alpha = Math.pow(0.99, i);\n\t\t\tlet beta = Math.max(1 - alpha, (i + 1) / iterations);\n\t\t\trelaxRightToLeft(alpha);\n\t\t\tmax_dy = resolveCollisions(beta);\n\t\t\trelaxLeftToRight(alpha);\n\t\t\tmax_dy = resolveCollisions(beta);\n\t\t}\n\n\t\t// if (max_dy > 0) {\n\t\t// resolveOutsidePositioning()\n\t\t// }\n\t}\n\n\tfunction computeLinkDepths() {\n\t\tnodes.forEach(function (node) {\n\t\t\tnode.sourceLinks.sort(ascendingTargetDepth);\n\t\t\tnode.targetLinks.sort(ascendingSourceDepth);\n\n\t\t\t// node.sourceLinks.sort(descendingTargetDepth);\n\t\t\t// node.targetLinks.sort(descendingSourceDepth);\n\n\t\t\t// Push links having less weight to the bottom.\n\t\t\t// node.sourceLinks.sort(ascendingEdgeValue);\n\t\t\t// node.targetLinks.sort(descendingEdgeValue);\n\n\t\t});\n\n\t\tnodes.forEach(function (node) {\n\t\t\tvar sy = 0, ty = 0;\n\n\t\t\tnode.sourceLinks.sort(function (a, b) {\n\t\t\t\treturn b.source_data.y - a.source_data.y;\n\t\t\t});\n\n\t\t\tnode.targetLinks.sort(function (a, b) {\n\t\t\t\treturn a.target_data.y - b.target_data.y;\n\t\t\t});\n\n\t\t\tnode.sourceLinks.forEach(function (link) {\n\t\t\t\tif (link.type != \"back_edge\") {\n\t\t\t\t\tlink.sy = sy;\n\t\t\t\t\tsy += link.height;\n\t\t\t\t}\n\t\t\t});\n\t\t\tnode.targetLinks.forEach(function (link) {\n\t\t\t\tif (link.type != \"back_edge\") {\n\t\t\t\t\tlink.ty = ty;\n\t\t\t\t\tty += link.height;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tfunction ascendingSourceDepth(a, b) {\n\t\t\treturn a.source.y - b.source.y;\n\t\t}\n\n\t\tfunction ascendingTargetDepth(a, b) {\n\t\t\treturn a.target.y - b.target.y;\n\t\t}\n\n\t\tfunction descendingTargetDepth(a, b) {\n\t\t\treturn b.target.y - a.target.y;\n\t\t}\n\n\t\tfunction descendingSourceDepth(a, b) {\n\t\t\treturn b.source.y - a.source.y;\n\t\t}\n\n\t\tfunction ascendingEdgeValue(a, b) {\n\t\t\treturn a[\"weight\"] - b[\"weight\"];\n\t\t}\n\n\t\tfunction descendingEdgeValue(a, b) {\n\t\t\treturn b[\"weight\"] - a[\"weight\"];\n\t\t}\n\t}\n\n\tfunction center(node) {\n\t\treturn 0;\n\t}\n\n\tfunction value(link) {\n\t\treturn link.weight;\n\t}\n\n\tfunction targetValue(link) {\n\t\treturn link.source_data[targetDataset][\"time (inc)\"];\n\t}\n\n\tfunction computeNodeLayers(nodes) {\n\t\tlet x0 = 0, y0 = 0, x1 = 1, y1 = 1; // extent\n\t\tconst x = max(nodes, d => d.level) + 1;\n\t\tconst kx = (x1 - x0 - this.nodeWidth) / (x - 1);\n\t\tconst columns = new Array(x);\n\t\tfor (const node of nodes) {\n\t\t\tconst i = Math.max(0, Math.min(x - 1, Math.floor(this.justify.call(null, node, x))));\n\t\t\tnode.layer = i;\n\t\t\tnode.x = x0 + i * kx;\n\t\t\t// node.x1 = node.x0 + this.nodeWidth;\n\t\t\tif (columns[i]) {columns[i].push(node);}\n\t\t\telse {columns[i] = [node];}\n\t\t}\n\n\t\tfor (const column of columns) {\n\t\t\tcolumn.sort(this.ascendingBreadth);\n\t\t}\n\t\treturn columns;\n\t}\n\n\tfunction targetDepth(d) {\n\t\treturn d.target.depth;\n\t}\n\n\tfunction left(node) {\n\t\treturn node.depth;\n\t}\n\n\tfunction right(node, n) {\n\t\treturn n - 1 - node.height;\n\t}\n\n\tfunction justify(node, n) {\n\t\treturn node.sourceLinks.length ? node.level : n - 1;\n\t}\n\n\treturn sankey;\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}},[_c('MeanGradients',{ref:\"MeanGradients\"}),_c('Mean',{ref:\"Mean\"}),_c('ToolTip',{ref:\"ToolTip\"}),_c('Guides',{ref:\"Guides\"}),_c('TargetLine',{ref:\"TargetLine\"}),_c('MeanDiff',{ref:\"MeanDiff\"}),_c('RankDiff',{ref:\"RankDiff\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport * as d3 from \"d3\";\n\n\nexport function formatName(name) {\n\tif (name.length < 20) {\n\t\treturn name;\n\t}\n\tlet ret = this.trunc(name, 20);\n\treturn ret;\n}\n\nexport function formatRuntimeWithUnits(val) {\n\tif (val == 0) {\n\t\treturn val;\n\t}\n\tlet format = d3.format(\".2\");\n\treturn format(val);\n}\n\nexport function formatRunCounts(val) {\n\tif (val == 1) {\n\t\treturn val + \" run\";\n\t}\n\treturn val + \" runs\";\n}\n\nexport function formatRuntimeWithoutUnits(val) {\n\tlet format = d3.format(\".2\");\n\treturn format(val);\n}\n\n// Returns [mantessa, exponent, max_exponent]\nexport function formatRuntimeWithExponent(val, min_exponent = 0) {\n\tlet format = d3.format(\".2\");\n\tlet ret = format(val);\n\tif (ret == 0) {\n\t\treturn [0, 0, min_exponent];\n\t}\n\n\tlet exponent = 0;\n\tlet multiplier = 0;\n\tlet mantessa = 0;\n\tif (ret.indexOf(\"e\") != -1) {\n\t\tlet split_ret_by_e = ret.toString().split(\"e\");\n\t\texponent = parseInt(split_ret_by_e[1].split(\"+\")[1]);\n\t\tmultiplier = parseInt(exponent) - min_exponent;\n\t\tmantessa = parseFloat(split_ret_by_e[0]); //* (10 ** multiplier));\n\t}\n\treturn [mantessa.toFixed(2), exponent, min_exponent];\n}\n\n// Returns only the exponenet of the value. \nexport function formatExponent(val) {\n\tlet format = d3.format(\".2\");\n\tlet ret = format(val);\n\tlet exponent = ret;\n\tif (ret.indexOf(\"e\") != -1) {\n\t\texponent = parseInt(ret.toString().split(\"e\")[1].split(\"+\")[1]);\n\t}\n\telse {\n\t\texponent = 0;\n\t}\n\treturn exponent;\n}\n\nexport function measureText(string, fontSize = 10) {\n\tconst widths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2796875, 0.2765625, 0.3546875, 0.5546875, 0.5546875, 0.8890625, 0.665625, 0.190625, 0.3328125, 0.3328125, 0.3890625, 0.5828125, 0.2765625, 0.3328125, 0.2765625, 0.3015625, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.2765625, 0.2765625, 0.584375, 0.5828125, 0.584375, 0.5546875, 1.0140625, 0.665625, 0.665625, 0.721875, 0.721875, 0.665625, 0.609375, 0.7765625, 0.721875, 0.2765625, 0.5, 0.665625, 0.5546875, 0.8328125, 0.721875, 0.7765625, 0.665625, 0.7765625, 0.721875, 0.665625, 0.609375, 0.721875, 0.665625, 0.94375, 0.665625, 0.665625, 0.609375, 0.2765625, 0.3546875, 0.2765625, 0.4765625, 0.5546875, 0.3328125, 0.5546875, 0.5546875, 0.5, 0.5546875, 0.5546875, 0.2765625, 0.5546875, 0.5546875, 0.221875, 0.240625, 0.5, 0.221875, 0.8328125, 0.5546875, 0.5546875, 0.5546875, 0.5546875, 0.3328125, 0.5, 0.2765625, 0.5546875, 0.5, 0.721875, 0.5, 0.5, 0.5, 0.3546875, 0.259375, 0.353125, 0.5890625];\n\tconst avg = 0.5279276315789471;\n\treturn string\n\t\t.split(\"\")\n\t\t.map(c => c.charCodeAt(0) < widths.length ? widths[c.charCodeAt(0)] : avg)\n\t\t.reduce((cur, acc) => acc + cur) * fontSize;\n}\n\nexport function addIndexToBeginning(arr) {\n\tlet ret = [];\n\tfor (let i = 0; i < arr.length; i += 1) {\n\t\tret.push(i + \". \" + arr[i]);\n\t}\n\treturn ret;\n}\n\nexport function truncNames(str, len) {\n\tif (str.indexOf(\"=\")) {\n\t\tstr = str.split(\"=\")[0];\n\t}\n\n\tif (str.indexOf(\":\") > -1) {\n\t\tlet str_list = str.split(\":\");\n\t\tstr = str_list[str_list.length - 1];\n\t}\n\n\tstr = str.replace(//g, \"proc \");\n\treturn (str.length > len) ? str.substr(0, len - 1) + \"...\" : str;\n}\n\nexport function textSize(id, text) {\n\tconst container = d3.select(\"#\" + id)\n\t\t.append(\"svg\");\n\tcontainer.append(\"text\")\n\t\t.attrs({\n\t\t\tx: -99999,\n\t\t\ty: -99999\n\t\t})\n\t\t.text((d) => text);\n\tconst size = container.node().getBBox();\n\tcontainer.remove();\n\treturn {\n\t\twidth: size.width,\n\t\theight: size.height\n\t};\n}\n\nexport function getGradients(store, node) {\n\tlet nodeName = \"\";\n\tlet gradients = {};\n\tif (node.type == \"super-node\" && store.modules[\"ensemble\"][node.module] != undefined) {\n\t\tnodeName = node.module;\n\t\tgradients = store.modules[\"ensemble\"][nodeName][store.selectedMetric][\"gradients\"];\n\t}\n\telse if (node.type == \"component-node\") {\n\t\tnodeName = node.name;\n\t\tgradients = store.callsites[\"ensemble\"][nodeName][store.selectedMetric][\"gradients\"];\n\t}\n\telse if (node.type == \"intermediate\") {\n\t\tgradients = {};\n\t}\n\treturn gradients;\n}\n\n/**\n * Remove duplicates from an array.\n * @param {*} arr \n */\nexport function removeDuplicates(arr) {\n\tvar seen = {};\n\treturn arr.filter(function (item) {\n\t\treturn seen.hasOwnProperty(item) ? false : (seen[item] = true);\n\t});\n}\n\n// create a dummy element, apply the appropriate classes,\n// and then measure the element\nexport function measure(text) {\n\tif (!text || text.length === 0) return { height: 0, width: 0 };\n\n\tconst container = d3.select(\"body\").append(\"svg\").attr(\"class\", \"dummy\");\n\tcontainer.append(\"text\").attrs({ x: -1000, y: -1000 }).text(text);\n\n\tconst bbox = container.node().getBBox();\n\tcontainer.remove();\n\n\treturn { height: bbox.height, width: bbox.width };\n}\n\n/**\n * \n * @param {*} text \n * @param {*} width \n */\nexport function textWrap(text, width) {\n\ttext.each(function () {\n\t\tvar text = d3.select(this),\n\t\t\twords = text.text().split(/\\s+/).reverse(),\n\t\t\tword,\n\t\t\tline = [],\n\t\t\tlineNumber = 0,\n\t\t\tlineHeight = 1.1, // ems\n\t\t\tx = text.attr(\"x\"),\n\t\t\ty = text.attr(\"y\"),\n\t\t\tdy = 0,\n\t\t\ttspan = text.text(null).append(\"tspan\").attr(\"dy\", dy + \"em\");\n\n\t\twhile ((word = words.pop())) {\n\t\t\tline.push(word);\n\t\t\ttspan.text(line.join(\" \"));\n\t\t\tif (tspan.node().getComputedTextLength() > width) {\n\t\t\t\tline.pop();\n\t\t\t\ttspan.text(line.join(\" \"));\n\t\t\t\tline = [word];\n\t\t\t\ttspan = text.append(\"tspan\").attr(\"x\", x).attr(\"y\", y).attr(\"dy\", ++lineNumber * lineHeight + dy + \"em\").text(word);\n\t\t\t}\n\t\t}\n\t});\n}\n\n/**\n * Calculate the distance between two given points.\n * @param {Number} x1 1st coordinate (x)\n * @param {Number} y1 1st coordinate (y)\n * @param {Number} x2 2nd coordinate (x)\n * @param {Number} y2 2nd coordinate (y)\n */\nexport function distanceBtwnPoints(x1, y1, x2, y2) {\n\tconst a = x1 - x2;\n\tconst b = y1 - y2;\n\treturn Math.abs(Math.sqrt(a * a + b * b));\n}\n\n/**\n * Split string to lists by , (paranthesis proof)\n * @param {*} string \n */\nexport function stringToList(string) {\n\tconst re = /(:\\s|,\\s)/; // regular expression with capturing parentheses\n\treturn string.split(re);\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./meanGradients.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./meanGradients.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./meanGradients.vue?vue&type=template&id=075e4932&\"\nimport script from \"./meanGradients.vue?vue&type=script&lang=js&\"\nexport * from \"./meanGradients.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./guides.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./guides.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./guides.vue?vue&type=template&id=08e49f69&\"\nimport script from \"./guides.vue?vue&type=script&lang=js&\"\nexport * from \"./guides.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./targetLine.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./targetLine.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./targetLine.vue?vue&type=template&id=4fe5a2b7&\"\nimport script from \"./targetLine.vue?vue&type=script&lang=js&\"\nexport * from \"./targetLine.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=5a0388d8&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mean.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mean.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./mean.vue?vue&type=template&id=3c73b7ab&\"\nimport script from \"./mean.vue?vue&type=script&lang=js&\"\nexport * from \"./mean.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./meanDiff.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./meanDiff.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./meanDiff.vue?vue&type=template&id=1aa47ee0&\"\nimport script from \"./meanDiff.vue?vue&type=script&lang=js&\"\nexport * from \"./meanDiff.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rankDiff.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rankDiff.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./rankDiff.vue?vue&type=template&id=12a5a548&\"\nimport script from \"./rankDiff.vue?vue&type=script&lang=js&\"\nexport * from \"./rankDiff.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nodes.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nodes.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./nodes.vue?vue&type=template&id=0271fad4&\"\nimport script from \"./nodes.vue?vue&type=script&lang=js&\"\nexport * from \"./nodes.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}},[_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edges.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edges.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./edges.vue?vue&type=template&id=34fd47ea&\"\nimport script from \"./edges.vue?vue&type=script&lang=js&\"\nexport * from \"./edges.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./miniHistograms.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./miniHistograms.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./miniHistograms.vue?vue&type=template&id=eb456b3a&\"\nimport script from \"./miniHistograms.vue?vue&type=script&lang=js&\"\nexport * from \"./miniHistograms.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":_vm.id}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colormap.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colormap.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./colormap.vue?vue&type=template&id=5ebf74ab&\"\nimport script from \"./colormap.vue?vue&type=script&lang=js&\"\nexport * from \"./colormap.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nexport default class Graph {\n\t/**\n * @param {boolean} isDirected\n */\n\tconstructor(isDirected = false) {\n\t\tthis.vertices = {};\n\t\tthis.edges = {};\n\t\tthis.isDirected = isDirected;\n\t}\n\n\t/**\n * @param {GraphVertex} newVertex\n * @returns {Graph}\n */\n\taddVertex(newVertex) {\n\t\tthis.vertices[newVertex.getKey()] = newVertex;\n\n\t\treturn this;\n\t}\n\n\t/**\n * @param {string} vertexKey\n * @returns GraphVertex\n */\n\tgetVertexByKey(vertexKey) {\n\t\treturn this.vertices[vertexKey];\n\t}\n\n\t/**\n * @param {GraphVertex} vertex\n * @returns {GraphVertex[]}\n */\n\tgetNeighbors(vertex) {\n\t\treturn vertex.getNeighbors();\n\t}\n\n\t/**\n * @return {GraphVertex[]}\n */\n\tgetAllVertices() {\n\t\treturn Object.values(this.vertices);\n\t}\n\n\t/**\n * @return {GraphEdge[]}\n */\n\tgetAllEdges() {\n\t\treturn Object.values(this.edges);\n\t}\n\n\t/**\n * @param {GraphEdge} edge\n * @returns {Graph}\n */\n\taddEdge(edge) {\n\t\t// Try to find and end start vertices.\n\t\tlet startVertex = this.getVertexByKey(edge.startVertex.getKey());\n\t\tlet endVertex = this.getVertexByKey(edge.endVertex.getKey());\n\n\t\t// Insert start vertex if it wasn't inserted.\n\t\tif (!startVertex) {\n\t\t\tthis.addVertex(edge.startVertex);\n\t\t\tstartVertex = this.getVertexByKey(edge.startVertex.getKey());\n\t\t}\n\n\t\t// Insert end vertex if it wasn't inserted.\n\t\tif (!endVertex) {\n\t\t\tthis.addVertex(edge.endVertex);\n\t\t\tendVertex = this.getVertexByKey(edge.endVertex.getKey());\n\t\t}\n\n\t\t// Check if edge has been already added.\n\t\tif (this.edges[edge.getKey()]) {\n\t\t\tthrow new Error(\"Edge has already been added before\");\n\t\t} else {\n\t\t\tthis.edges[edge.getKey()] = edge;\n\t\t}\n\n\t\t// Add edge to the vertices.\n\t\tif (this.isDirected) {\n\t\t\t// If graph IS directed then add the edge only to start vertex.\n\t\t\tstartVertex.addEdge(edge);\n\t\t} else {\n\t\t\t// If graph ISN'T directed then add the edge to both vertices.\n\t\t\tstartVertex.addEdge(edge);\n\t\t\tendVertex.addEdge(edge);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n * @param {GraphEdge} edge\n */\n\tdeleteEdge(edge) {\n\t\t// Delete edge from the list of edges.\n\t\tif (this.edges[edge.getKey()]) {\n\t\t\tdelete this.edges[edge.getKey()];\n\t\t} else {\n\t\t\tthrow new Error(\"Edge not found in graph\");\n\t\t}\n\n\t\t// Try to find and end start vertices and delete edge from them.\n\t\tconst startVertex = this.getVertexByKey(edge.startVertex.getKey());\n\t\tconst endVertex = this.getVertexByKey(edge.endVertex.getKey());\n\n\t\tstartVertex.deleteEdge(edge);\n\t\tendVertex.deleteEdge(edge);\n\t}\n\n\t/**\n * @param {GraphVertex} startVertex\n * @param {GraphVertex} endVertex\n * @return {(GraphEdge|null)}\n */\n\tfindEdge(startVertex, endVertex) {\n\t\tconst vertex = this.getVertexByKey(startVertex.getKey());\n\n\t\tif (!vertex) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn vertex.findEdge(endVertex);\n\t}\n\n\t/**\n * @return {number}\n */\n\tgetWeight() {\n\t\treturn this.getAllEdges().reduce((weight, graphEdge) => {\n\t\t\treturn weight + graphEdge.weight;\n\t\t}, 0);\n\t}\n\n\t/**\n * Reverse all the edges in directed graph.\n * @return {Graph}\n */\n\treverse() {\n\t\t/** @param {GraphEdge} edge */\n\t\tthis.getAllEdges().forEach((edge) => {\n\t\t\t// Delete straight edge from graph and from vertices.\n\t\t\tthis.deleteEdge(edge);\n\n\t\t\t// Reverse the edge.\n\t\t\tedge.reverse();\n\n\t\t\t// Add reversed edge back to the graph and its vertices.\n\t\t\tthis.addEdge(edge);\n\t\t});\n\n\t\treturn this;\n\t}\n\n\t/**\n * @return {object}\n */\n\tgetVerticesIndices() {\n\t\tconst verticesIndices = {};\n\t\tthis.getAllVertices().forEach((vertex, index) => {\n\t\t\tverticesIndices[vertex.getKey()] = index;\n\t\t});\n\n\t\treturn verticesIndices;\n\t}\n\n\t/**\n * @return {*[][]}\n */\n\tgetAdjacencyMatrix() {\n\t\tconst vertices = this.getAllVertices();\n\t\tconst verticesIndices = this.getVerticesIndices();\n\n\t\t// Init matrix with infinities meaning that there is no ways of\n\t\t// getting from one vertex to another yet.\n\t\tconst adjacencyMatrix = Array(vertices.length).fill(null).map(() => {\n\t\t\treturn Array(vertices.length).fill(Infinity);\n\t\t});\n\n\t\t// Fill the columns.\n\t\tvertices.forEach((vertex, vertexIndex) => {\n\t\t\tvertex.getNeighbors().forEach((neighbor) => {\n\t\t\t\tconst neighborIndex = verticesIndices[neighbor.getKey()];\n\t\t\t\tadjacencyMatrix[vertexIndex][neighborIndex] = this.findEdge(vertex, neighbor).weight;\n\t\t\t});\n\t\t});\n\n\t\treturn adjacencyMatrix;\n\t}\n\n\t/**\n * @return {string}\n */\n\ttoString() {\n\t\treturn Object.keys(this.vertices).toString();\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nexport default class LinkedListNode {\n\tconstructor(value, next = null) {\n\t\tthis.value = value;\n\t\tthis.next = next;\n\t}\n\n\ttoString(callback) {\n\t\treturn callback ? callback(this.value) : `${this.value}`;\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nexport default class Comparator {\n\t/**\n\t * @param {function(a: *, b: *)} [compareFunction] - It may be custom compare function that, let's\n\t * say may compare custom objects together.\n\t */\n\tconstructor(compareFunction) {\n\t\tthis.compare = compareFunction || Comparator.defaultCompareFunction;\n\t}\n\n\t/**\n\t * Default comparison function. It just assumes that \"a\" and \"b\" are strings or numbers.\n\t * @param {(string|number)} a\n\t * @param {(string|number)} b\n\t * @returns {number}\n\t */\n\tstatic defaultCompareFunction(a, b) {\n\t\tif (a === b) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn a < b ? -1 : 1;\n\t}\n\n\t/**\n\t * Checks if two variables are equal.\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {boolean}\n\t */\n\tequal(a, b) {\n\t\treturn this.compare(a, b) === 0;\n\t}\n\n\t/**\n\t * Checks if variable \"a\" is less than \"b\".\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {boolean}\n\t */\n\tlessThan(a, b) {\n\t\treturn this.compare(a, b) < 0;\n\t}\n\n\t/**\n\t * Checks if variable \"a\" is greater than \"b\".\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {boolean}\n\t */\n\tgreaterThan(a, b) {\n\t\treturn this.compare(a, b) > 0;\n\t}\n\n\t/**\n\t * Checks if variable \"a\" is less than or equal to \"b\".\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {boolean}\n\t */\n\tlessThanOrEqual(a, b) {\n\t\treturn this.lessThan(a, b) || this.equal(a, b);\n\t}\n\n\t/**\n\t * Checks if variable \"a\" is greater than or equal to \"b\".\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {boolean}\n\t */\n\tgreaterThanOrEqual(a, b) {\n\t\treturn this.greaterThan(a, b) || this.equal(a, b);\n\t}\n\n\t/**\n\t * Reverses the comparison order.\n\t */\n\treverse() {\n\t\tconst compareOriginal = this.compare;\n\t\tthis.compare = (a, b) => compareOriginal(b, a);\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\nimport LinkedListNode from \"./linkedListNode\";\nimport Comparator from \"./comparator\";\n\nexport default class LinkedList {\n\t/**\n\t * @param {Function} [comparatorFunction]\n\t */\n\tconstructor(comparatorFunction) {\n\t\t/** @var LinkedListNode */\n\t\tthis.head = null;\n\n\t\t/** @var LinkedListNode */\n\t\tthis.tail = null;\n\n\t\tthis.compare = new Comparator(comparatorFunction);\n\t}\n\n\t/**\n\t * @param {*} value\n\t * @return {LinkedList}\n\t */\n\tprepend(value) {\n\t\t// Make new node to be a head.\n\t\tconst newNode = new LinkedListNode(value, this.head);\n\t\tthis.head = newNode;\n\n\t\t// If there is no tail yet let's make new node a tail.\n\t\tif (!this.tail) {\n\t\t\tthis.tail = newNode;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * @param {*} value\n\t * @return {LinkedList}\n\t */\n\tappend(value) {\n\t\tconst newNode = new LinkedListNode(value);\n\n\t\t// If there is no head yet let's make new node a head.\n\t\tif (!this.head) {\n\t\t\tthis.head = newNode;\n\t\t\tthis.tail = newNode;\n\n\t\t\treturn this;\n\t\t}\n\n\t\t// Attach new node to the end of linked list.\n\t\tthis.tail.next = newNode;\n\t\tthis.tail = newNode;\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * @param {*} value\n\t * @return {LinkedListNode}\n\t */\n\tdelete(value) {\n\t\tif (!this.head) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet deletedNode = null;\n\n\t\t// If the head must be deleted then make next node that is differ\n\t\t// from the head to be a new head.\n\t\twhile (this.head && this.compare.equal(this.head.value, value)) {\n\t\t\tdeletedNode = this.head;\n\t\t\tthis.head = this.head.next;\n\t\t}\n\n\t\tlet currentNode = this.head;\n\n\t\tif (currentNode !== null) {\n\t\t\t// If next node must be deleted then make next node to be a next next one.\n\t\t\twhile (currentNode.next) {\n\t\t\t\tif (this.compare.equal(currentNode.next.value, value)) {\n\t\t\t\t\tdeletedNode = currentNode.next;\n\t\t\t\t\tcurrentNode.next = currentNode.next.next;\n\t\t\t\t} else {\n\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Check if tail must be deleted.\n\t\tif (this.compare.equal(this.tail.value, value)) {\n\t\t\tthis.tail = currentNode;\n\t\t}\n\n\t\treturn deletedNode;\n\t}\n\n\t/**\n\t * @param {Object} findParams\n\t * @param {*} findParams.value\n\t * @param {function} [findParams.callback]\n\t * @return {LinkedListNode}\n\t */\n\tfind({ value = undefined, callback = undefined }) {\n\t\tif (!this.head) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet currentNode = this.head;\n\n\t\twhile (currentNode) {\n\t\t\t// If callback is specified then try to find node by callback.\n\t\t\tif (callback && callback(currentNode.value)) {\n\t\t\t\treturn currentNode;\n\t\t\t}\n\n\t\t\t// If value is specified then try to compare by value..\n\t\t\tif (value !== undefined && this.compare.equal(currentNode.value, value)) {\n\t\t\t\treturn currentNode;\n\t\t\t}\n\n\t\t\tcurrentNode = currentNode.next;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * @return {LinkedListNode}\n\t */\n\tdeleteTail() {\n\t\tconst deletedTail = this.tail;\n\n\t\tif (this.head === this.tail) {\n\t\t\t// There is only one node in linked list.\n\t\t\tthis.head = null;\n\t\t\tthis.tail = null;\n\n\t\t\treturn deletedTail;\n\t\t}\n\n\t\t// If there are many nodes in linked list...\n\n\t\t// Rewind to the last node and delete \"next\" link for the node before the last one.\n\t\tlet currentNode = this.head;\n\t\twhile (currentNode.next) {\n\t\t\tif (!currentNode.next.next) {\n\t\t\t\tcurrentNode.next = null;\n\t\t\t} else {\n\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t}\n\t\t}\n\n\t\tthis.tail = currentNode;\n\n\t\treturn deletedTail;\n\t}\n\n\t/**\n\t * @return {LinkedListNode}\n\t */\n\tdeleteHead() {\n\t\tif (!this.head) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst deletedHead = this.head;\n\n\t\tif (this.head.next) {\n\t\t\tthis.head = this.head.next;\n\t\t} else {\n\t\t\tthis.head = null;\n\t\t\tthis.tail = null;\n\t\t}\n\n\t\treturn deletedHead;\n\t}\n\n\t/**\n\t * @param {*[]} values - Array of values that need to be converted to linked list.\n\t * @return {LinkedList}\n\t */\n\tfromArray(values) {\n\t\tvalues.forEach(value => this.append(value));\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * @return {LinkedListNode[]}\n\t */\n\ttoArray() {\n\t\tconst nodes = [];\n\n\t\tlet currentNode = this.head;\n\t\twhile (currentNode) {\n\t\t\tnodes.push(currentNode);\n\t\t\tcurrentNode = currentNode.next;\n\t\t}\n\n\t\treturn nodes;\n\t}\n\n\t/**\n\t * @param {function} [callback]\n\t * @return {string}\n\t */\n\ttoString(callback) {\n\t\treturn this.toArray().map(node => node.toString(callback)).toString();\n\t}\n\n\t/**\n\t * Reverse a linked list.\n\t * @returns {LinkedList}\n\t */\n\treverse() {\n\t\tlet currNode = this.head;\n\t\tlet prevNode = null;\n\t\tlet nextNode = null;\n\n\t\twhile (currNode) {\n\t\t\t// Store next node.\n\t\t\tnextNode = currNode.next;\n\n\t\t\t// Change next node of the current node so it would link to previous node.\n\t\t\tcurrNode.next = prevNode;\n\n\t\t\t// Move prevNode and currNode nodes one step forward.\n\t\t\tprevNode = currNode;\n\t\t\tcurrNode = nextNode;\n\t\t}\n\n\t\t// Reset head and tail.\n\t\tthis.tail = this.head;\n\t\tthis.head = prevNode;\n\n\t\treturn this;\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport LinkedList from \"./linkedList\";\n\nexport default class GraphVertex {\n\t/**\n * @param {*} value\n */\n\tconstructor(value) {\n\t\tif (value === undefined) {\n\t\t\tthrow new Error(\"Graph vertex must have a value\");\n\t\t}\n\n\t\t/**\n * @param {GraphEdge} edgeA\n * @param {GraphEdge} edgeB\n */\n\t\tconst edgeComparator = (edgeA, edgeB) => {\n\t\t\tif (edgeA.getKey() === edgeB.getKey()) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\treturn edgeA.getKey() < edgeB.getKey() ? -1 : 1;\n\t\t};\n\n\t\t// Normally you would store string value like vertex name.\n\t\t// But generally it may be any object as well\n\t\tthis.value = value;\n\t\tthis.edges = new LinkedList(edgeComparator);\n\t}\n\n\t/**\n * @param {GraphEdge} edge\n * @returns {GraphVertex}\n */\n\taddEdge(edge) {\n\t\tthis.edges.append(edge);\n\n\t\treturn this;\n\t}\n\n\t/**\n * @param {GraphEdge} edge\n */\n\tdeleteEdge(edge) {\n\t\tthis.edges.delete(edge);\n\t}\n\n\t/**\n * @returns {GraphVertex[]}\n */\n\tgetNeighbors() {\n\t\tconst edges = this.edges.toArray();\n\n\t\t/** @param {LinkedListNode} node */\n\t\tconst neighborsConverter = (node) => {\n\t\t\treturn node.value.startVertex === this ? node.value.endVertex : node.value.startVertex;\n\t\t};\n\n\t\t// Return either start or end vertex.\n\t\t// For undirected graphs it is possible that current vertex will be the end one.\n\t\treturn edges.map(neighborsConverter);\n\t}\n\n\t/**\n * @return {GraphEdge[]}\n */\n\tgetEdges() {\n\t\treturn this.edges.toArray().map(linkedListNode => linkedListNode.value);\n\t}\n\n\t/**\n * @return {number}\n */\n\tgetDegree() {\n\t\treturn this.edges.toArray().length;\n\t}\n\n\t/**\n * @param {GraphEdge} requiredEdge\n * @returns {boolean}\n */\n\thasEdge(requiredEdge) {\n\t\tconst edgeNode = this.edges.find({\n\t\t\tcallback: edge => edge === requiredEdge,\n\t\t});\n\n\t\treturn !!edgeNode;\n\t}\n\n\t/**\n * @param {GraphVertex} vertex\n * @returns {boolean}\n */\n\thasNeighbor(vertex) {\n\t\tconst vertexNode = this.edges.find({\n\t\t\tcallback: edge => edge.startVertex === vertex || edge.endVertex === vertex,\n\t\t});\n\n\t\treturn !!vertexNode;\n\t}\n\n\t/**\n * @param {GraphVertex} vertex\n * @returns {(GraphEdge|null)}\n */\n\tfindEdge(vertex) {\n\t\tconst edgeFinder = (edge) => {\n\t\t\treturn edge.startVertex === vertex || edge.endVertex === vertex;\n\t\t};\n\n\t\tconst edge = this.edges.find({ callback: edgeFinder });\n\n\t\treturn edge ? edge.value : null;\n\t}\n\n\t/**\n * @returns {string}\n */\n\tgetKey() {\n\t\treturn this.value;\n\t}\n\n\t/**\n * @return {GraphVertex}\n */\n\tdeleteAllEdges() {\n\t\tthis.getEdges().forEach(edge => this.deleteEdge(edge));\n\n\t\treturn this;\n\t}\n\n\t/**\n * @param {function} [callback]\n * @returns {string}\n */\n\ttoString(callback) {\n\t\treturn callback ? callback(this.value) : `${this.value}`;\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nexport default class GraphEdge {\n\t/**\n * @param {GraphVertex} startVertex\n * @param {GraphVertex} endVertex\n * @param {number} [weight=1]\n */\n\tconstructor(startVertex, endVertex, weight = 0) {\n\t\tthis.startVertex = startVertex;\n\t\tthis.endVertex = endVertex;\n\t\tthis.weight = weight;\n\t}\n\n\t/**\n * @return {string}\n */\n\tgetKey() {\n\t\tconst startVertexKey = this.startVertex.getKey();\n\t\tconst endVertexKey = this.endVertex.getKey();\n\n\t\treturn `${startVertexKey}_${endVertexKey}`;\n\t}\n\n\t/**\n * @return {GraphEdge}\n */\n\treverse() {\n\t\tconst tmp = this.startVertex;\n\t\tthis.startVertex = this.endVertex;\n\t\tthis.endVertex = tmp;\n\n\t\treturn this;\n\t}\n\n\t/**\n * @return {string}\n */\n\ttoString() {\n\t\treturn this.getKey();\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n/**\n * @typedef {Object} Callbacks\n *\n * @property {function(vertices: Object): boolean} [allowTraversal] -\n * Determines whether DFS should traverse from the vertex to its neighbor\n * (along the edge). By default prohibits visiting the same vertex again.\n *\n * @property {function(vertices: Object)} [enterVertex] - Called when DFS enters the vertex.\n *\n * @property {function(vertices: Object)} [leaveVertex] - Called when DFS leaves the vertex.\n */\n\n/**\n * @param {Callbacks} [callbacks]\n * @returns {Callbacks}\n */\nfunction initCallbacks(callbacks = {}) {\n\tconst initiatedCallback = callbacks;\n\n\tconst stubCallback = () => { };\n\n\tconst allowTraversalCallback = (\n\t\t() => {\n\t\t\tconst seen = {};\n\t\t\treturn ({ nextVertex }) => {\n\t\t\t\tif (!seen[nextVertex.getKey()]) {\n\t\t\t\t\tseen[nextVertex.getKey()] = true;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}\n\t)();\n\n\tinitiatedCallback.allowTraversal = callbacks.allowTraversal || allowTraversalCallback;\n\tinitiatedCallback.enterVertex = callbacks.enterVertex || stubCallback;\n\tinitiatedCallback.leaveVertex = callbacks.leaveVertex || stubCallback;\n\n\treturn initiatedCallback;\n}\n\n/** \n * @param {Graph} graph\n * @param {GraphVertex} currentVertex\n * @param {GraphVertex} previousVertex\n * @param {Callbacks} callbacks\n */\nfunction depthFirstSearchRecursive(graph, currentVertex, previousVertex, callbacks) {\n\tcallbacks.enterVertex({ currentVertex, previousVertex });\n\n\tgraph.getNeighbors(currentVertex).forEach((nextVertex) => {\n\t\tif (callbacks.allowTraversal({ previousVertex, currentVertex, nextVertex })) {\n\t\t\tdepthFirstSearchRecursive(graph, nextVertex, currentVertex, callbacks);\n\t\t}\n\t});\n\n\tcallbacks.leaveVertex({ currentVertex, previousVertex });\n}\n/**\n * @param {Graph} graph\n * @param {GraphVertex} startVertex\n * @param {Callbacks} [callbacks]\n */\nexport default function depthFirstSearch(graph, startVertex, callbacks) {\n\tconst previousVertex = null;\n\tdepthFirstSearchRecursive(graph, startVertex, previousVertex, initCallbacks(callbacks));\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport depthFirstSearch from \"./dfs\";\n\n/**\n * Detect cycle in directed graph using Depth First Search.\n *\n * @param {Graph} graph\n */\nexport default function detectDirectedCycle(graph) {\n\tlet cycle = null;\n\n\t// Will store parents (previous vertices) for all visited nodes.\n\t// This will be needed in order to specify what path exactly is a cycle.\n\tconst dfsParentMap = {};\n\n\t// White set (UNVISITED) contains all the vertices that haven't been visited at all.\n\tconst whiteSet = {};\n\n\t// Gray set (VISITING) contains all the vertices that are being visited right now\n\t// (in current path).\n\tconst graySet = {};\n\n\t// Black set (VISITED) contains all the vertices that has been fully visited.\n\t// Meaning that all children of the vertex has been visited.\n\tconst blackSet = {};\n\n\t// If we encounter vertex in gray set it means that we've found a cycle.\n\t// Because when vertex in gray set it means that its neighbors or its neighbors\n\t// neighbors are still being explored.\n\n\t// Init white set and add all vertices to it.\n\t/** @param {GraphVertex} vertex */\n\tgraph.getAllVertices().forEach((vertex) => {\n\t\twhiteSet[vertex.getKey()] = vertex;\n\t});\n\n\t// Describe BFS callbacks.\n\tconst callbacks = {\n\t\tenterVertex: ({ currentVertex, previousVertex }) => {\n\t\t\tif (graySet[currentVertex.getKey()]) {\n\t\t\t\t// If current vertex already in grey set it means that cycle is detected.\n\t\t\t\t// Let's detect cycle path.\n\t\t\t\tcycle = {};\n\n\t\t\t\tlet currentCycleVertex = currentVertex;\n\t\t\t\tlet previousCycleVertex = previousVertex;\n\n\t\t\t\twhile (previousCycleVertex.getKey() !== currentVertex.getKey()) {\n\t\t\t\t\tcycle[currentCycleVertex.getKey()] = previousCycleVertex;\n\t\t\t\t\tcurrentCycleVertex = previousCycleVertex;\n\t\t\t\t\tpreviousCycleVertex = dfsParentMap[previousCycleVertex.getKey()];\n\t\t\t\t}\n\n\t\t\t\tcycle[currentCycleVertex.getKey()] = previousCycleVertex;\n\t\t\t} else {\n\t\t\t\t// Otherwise let's add current vertex to gray set and remove it from white set.\n\t\t\t\tgraySet[currentVertex.getKey()] = currentVertex;\n\t\t\t\tdelete whiteSet[currentVertex.getKey()];\n\n\t\t\t\t// Update DFS parents list.\n\t\t\t\tdfsParentMap[currentVertex.getKey()] = previousVertex;\n\t\t\t}\n\t\t},\n\t\tleaveVertex: ({ currentVertex }) => {\n\t\t\t// If all node's children has been visited let's remove it from gray set\n\t\t\t// and move it to the black set meaning that all its neighbors are visited.\n\t\t\tblackSet[currentVertex.getKey()] = currentVertex;\n\t\t\tdelete graySet[currentVertex.getKey()];\n\t\t},\n\t\tallowTraversal: ({ nextVertex }) => {\n\t\t\t// If cycle was detected we must forbid all further traversing since it will\n\t\t\t// cause infinite traversal loop.\n\t\t\tif (cycle) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Allow traversal only for the vertices that are not in black set\n\t\t\t// since all black set vertices have been already visited.\n\t\t\treturn !blackSet[nextVertex.getKey()];\n\t\t},\n\t};\n\n\t// Start exploring vertices.\n\twhile (Object.keys(whiteSet).length) {\n\t\t// Pick fist vertex to start BFS from.\n\t\tconst firstWhiteKey = Object.keys(whiteSet)[0];\n\t\tconst startVertex = whiteSet[firstWhiteKey];\n\n\t\tconsole.debug(firstWhiteKey, startVertex);\n\t\t// Do Depth First Search.\n\t\tdepthFirstSearch(graph, startVertex, callbacks);\n\t}\n\n\treturn [cycle, graySet, blackSet, whiteSet];\n} ","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./supergraph.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./supergraph.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./supergraph.vue?vue&type=template&id=595c6e5c&scoped=true&\"\nimport script from \"./supergraph.vue?vue&type=script&lang=js&\"\nexport * from \"./supergraph.vue?vue&type=script&lang=js&\"\nimport style0 from \"./supergraph.vue?vue&type=style&index=0&id=595c6e5c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"595c6e5c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"id\":_vm.id}},[_c('g',{attrs:{\"id\":\"container\"}}),_c('ColorMap',{ref:\"ColorMap\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cct.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cct.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./cct.vue?vue&type=template&id=1976c798&scoped=true&\"\nimport script from \"./cct.vue?vue&type=script&lang=js&\"\nexport * from \"./cct.vue?vue&type=script&lang=js&\"\nimport style0 from \"./cct.vue?vue&type=style&index=0&id=1976c798&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1976c798\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"id\":_vm.id}},[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")])],1),_c('span',{staticClass:\"component-info\"},[_vm._v(\" Correlation : \"+_vm._s(_vm.corr_coef)+\" \")]),_c('svg',{attrs:{\"id\":_vm.svgID}}),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip_scatterplot\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=72f86dd1&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./singleScatterplot.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./singleScatterplot.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./singleScatterplot.vue?vue&type=template&id=0002fadd&\"\nimport script from \"./singleScatterplot.vue?vue&type=script&lang=js&\"\nexport * from \"./singleScatterplot.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"id\":_vm.id}},[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")])],1),_c('svg',{attrs:{\"id\":_vm.svgID}}),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip-histogram\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=c72afc90&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./singleHistogram.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./singleHistogram.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./singleHistogram.vue?vue&type=template&id=899aa658&\"\nimport script from \"./singleHistogram.vue?vue&type=script&lang=js&\"\nexport * from \"./singleHistogram.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"id\":_vm.id}},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")]),_c('v-spacer'),(_vm.isCallsiteSelected == true)?_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-btn',{staticClass:\"ma-1 reveal-button\",attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.revealCallsite}},[_vm._v(\" Reveal \")])],1):_vm._e(),(_vm.isModuleSelected == true)?_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-btn',{staticClass:\"ma-1 reveal-button\",class:_vm.isEntryFunctionSelected,attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.showEntryFunctions}},[_vm._v(\" Entry call sites \")]),_c('v-btn',{staticClass:\"ma-1 reveal-button\",class:_vm.isCalleeSelected,attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.showExitFunctions}},[_vm._v(\" Callees \")]),_c('v-spacer'),(_vm.showSplitButton == 'true')?_c('v-btn',{staticClass:\"ma-1 reveal-button\",attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.split}},[_vm._v(\" Split \")]):_vm._e()],1):_vm._e(),_c('span',{staticClass:\"component-info\"},[_vm._v(\" \"+_vm._s(_vm.numberOfcallsites)+\" call sites. \")]),_vm._l((_vm.callsites),function(callsite){return _c('v-container',{key:_vm.getID(callsite.id),staticClass:\"callsite-information-node\"},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"md1\":\"\"}},[_c('v-card',{staticClass:\"mx-auto\",attrs:{\"width\":\"25px\",\"tile\":\"\",\"outlined\":\"\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-flex',_vm._g({class:_vm.selectClassName[callsite.name],attrs:{\"text-xs-center\":\"\",\"id\":callsite.name},on:{\"click\":_vm.changeSelectedClassName}},on),[_vm._v(\" \"+_vm._s(_vm.formatNumberOfHops(callsite.component_level))+\" \")])]}}],null,true)},[_c('span',[_vm._v(\" Callsite depth:\"+_vm._s(_vm.formatNumberOfHops(callsite.component_level))+\" \")])])],1)],1),_c('v-flex',{attrs:{\"md11\":\"\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-flex',_vm._g({staticClass:\"pl-2 subtitle-2 font-weight-black\"},on),[_vm._v(\" \"+_vm._s(_vm.formatName(callsite.name))+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(callsite.name))])])],1)],1),_c('v-layout',{staticClass:\"information\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"subtitle-2\"},[_vm._v(\" Module: \"+_vm._s(_vm.formatModule(callsite.module))+\" \")])]),_c('v-layout',{staticClass:\"information\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"subtitle-2\"},[_vm._v(\"Mean : \"+_vm._s(_vm.mean[callsite.name]))]),_c('v-spacer')],1),_c('v-layout',{staticClass:\"information\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"subtitle-2\"},[_vm._v(\"Variance : \"+_vm._s(_vm.variance[callsite.name]))])]),_c('v-layout',{staticClass:\"information\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"subtitle-2\"},[_vm._v(\" Std. deviation : \"+_vm._s(_vm.stdDeviation[callsite.name])+\" \")])]),_c('BoxPlot',{ref:callsite.id,refInFor:true,attrs:{\"callsite\":callsite}})],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"boxplot\",attrs:{\"id\":_vm.id,\"width\":_vm.containerWidth,\"height\":_vm.containerHeight}},[_c('Box',{ref:\"Box\"}),_c('Markers',{ref:\"Markers\"}),_c('Outliers',{ref:\"Outliers\"}),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"box\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./box.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./box.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./box.vue?vue&type=template&id=c2ef3b32&\"\nimport script from \"./box.vue?vue&type=script&lang=js&\"\nexport * from \"./box.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"marker\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./markers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./markers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./markers.vue?vue&type=template&id=238bd994&\"\nimport script from \"./markers.vue?vue&type=script&lang=js&\"\nexport * from \"./markers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"outlier\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outlier.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outlier.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./outlier.vue?vue&type=template&id=5d8c57b6&\"\nimport script from \"./outlier.vue?vue&type=script&lang=js&\"\nexport * from \"./outlier.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip-auxiliary-function\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=4efe2e83&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./boxplot.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./boxplot.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./boxplot.vue?vue&type=template&id=2b888fb2&\"\nimport script from \"./boxplot.vue?vue&type=script&lang=js&\"\nexport * from \"./boxplot.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteInformation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteInformation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./callsiteInformation.vue?vue&type=template&id=3b788001&\"\nimport script from \"./callsiteInformation.vue?vue&type=script&lang=js&\"\nexport * from \"./callsiteInformation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./callsiteInformation.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callflowSingle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callflowSingle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./callflowSingle.vue?vue&type=template&id=4ea627ca&\"\nimport script from \"./callflowSingle.vue?vue&type=script&lang=js&\"\nexport * from \"./callflowSingle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{attrs:{\"id\":\"inspire\"}},[_c('v-toolbar',{attrs:{\"id\":\"toolbar\",\"color\":\"teal\",\"dark\":\"\",\"fixed\":\"\",\"app\":\"\",\"clipped-right\":\"\"}},[_c('v-toolbar-side-icon',{on:{\"click\":function($event){$event.stopPropagation();_vm.left = !_vm.left}}},[_c('v-icon',[_vm._v(\"settings\")])],1),_c('v-toolbar-title',{staticStyle:{\"margin-right\":\"3em\"}},[_vm._v(_vm._s(_vm.appName))]),_c('v-flex',{staticClass:\"ma-2\",attrs:{\"xs3\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Select Target run (Sorted by inclusive runtime)\",\"items\":_vm.datasets,\"menu-props\":{ maxHeight: '400' },\"box\":\"\"},on:{\"change\":function($event){return _vm.updateTargetDataset()}},scopedSlots:_vm._u([{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.datasets.indexOf(item) + 1)+\". \"+_vm._s(item)+\" - \"+_vm._s(_vm.formatRuntimeWithoutUnits(_vm.metricTimeMap[item]))+\" \")]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.datasets.indexOf(item) + 1)+\". \"+_vm._s(item)+\" - \"+_vm._s(_vm.formatRuntimeWithoutUnits(_vm.metricTimeMap[item]))+\" \")]}}]),model:{value:(_vm.selectedTargetDataset),callback:function ($$v) {_vm.selectedTargetDataset=$$v},expression:\"selectedTargetDataset\"}})],1),_c('v-flex',{staticClass:\"ma-2\",attrs:{\"xs3\":\"\"}},[(_vm.selectedFormat == 'SuperGraph')?_c('v-select',{attrs:{\"label\":\"Select Compare run\",\"items\":_vm.datasets,\"menu-props\":{ maxHeight: '400' },\"box\":\"\"},on:{\"change\":function($event){return _vm.updateCompareDataset()}},scopedSlots:_vm._u([{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.datasets.indexOf(item) + 1)+\". \"+_vm._s(item)+\" - \"+_vm._s(_vm.formatRuntimeWithoutUnits(_vm.metricTimeMap[item]))+\" \")]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.datasets.indexOf(item) + 1)+\". \"+_vm._s(item)+\" - \"+_vm._s(_vm.formatRuntimeWithoutUnits(_vm.metricTimeMap[item]))+\" \")]}}],null,false,2364397756),model:{value:(_vm.selectedCompareDataset),callback:function ($$v) {_vm.selectedCompareDataset=$$v},expression:\"selectedCompareDataset\"}}):_vm._e()],1),_c('v-spacer'),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs2\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Graph to visualize\",\"items\":_vm.formats,\"menu-props\":{ maxHeight: '400' },\"box\":\"\"},on:{\"change\":function($event){return _vm.updateFormat()}},model:{value:(_vm.selectedFormat),callback:function ($$v) {_vm.selectedFormat=$$v},expression:\"selectedFormat\"}})],1)],1),_c('v-navigation-drawer',{attrs:{\"temporary\":\"\",\"fixed\":\"\"},model:{value:(_vm.left),callback:function ($$v) {_vm.left=$$v},expression:\"left\"}},[_c('v-btn',{attrs:{\"slot\":\"activator\",\"color\":\"primary\",\"dark\":\"\"},slot:\"activator\"},[_vm._v(\"Open Dialog\")]),_c('v-card',{attrs:{\"flex\":\"\",\"fill-height\":\"\",\"id\":\"control-panel\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-btn',{attrs:{\"icon\":\"\"}},[_c('v-icon',{on:{\"click\":function($event){return _vm.reset()}}},[_vm._v(\"refresh\")])],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',{staticClass:\"teal lighten-4\"},[_vm._v(\"Visual Encoding\")])],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',[_vm._v(\" \"+_vm._s(_vm.targetInfo)+\" \"),_c('v-spacer'),_c('v-spacer'),_c('v-switch',{attrs:{\"color\":\"#009687\"},on:{\"change\":function($event){return _vm.updateTargetColor()}},model:{value:(_vm.showTarget),callback:function ($$v) {_vm.showTarget=$$v},expression:\"showTarget\"}})],1)],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Metric\",\"items\":_vm.metrics,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateMetric()}},model:{value:(_vm.selectedMetric),callback:function ($$v) {_vm.selectedMetric=$$v},expression:\"selectedMetric\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Number of bins for Run Distribution\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateRunBinCount()}},model:{value:(_vm.selectedRunBinCount),callback:function ($$v) {_vm.selectedRunBinCount=$$v},expression:\"selectedRunBinCount\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Number of bins for MPI Distribution\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateMPIBinCount()}},model:{value:(_vm.selectedMPIBinCount),callback:function ($$v) {_vm.selectedMPIBinCount=$$v},expression:\"selectedMPIBinCount\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Scale\",\"items\":_vm.scales,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateScale()}},model:{value:(_vm.selectedScale),callback:function ($$v) {_vm.selectedScale=$$v},expression:\"selectedScale\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Bin by attribute\",\"items\":_vm.props,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateProp()}},model:{value:(_vm.selectedProp),callback:function ($$v) {_vm.selectedProp=$$v},expression:\"selectedProp\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',{staticClass:\"teal lighten-4\"},[_vm._v(\"Colors\")])],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Runtime Color Map\",\"items\":_vm.runtimeColorMap,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedRuntimeColorMap),callback:function ($$v) {_vm.selectedRuntimeColorMap=$$v},expression:\"selectedRuntimeColorMap\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Distribution Color Map\",\"items\":_vm.distributionColorMap,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedDistributionColorMap),callback:function ($$v) {_vm.selectedDistributionColorMap=$$v},expression:\"selectedDistributionColorMap\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Target Color\",\"items\":_vm.targetColors,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateTargetColor()}},model:{value:(_vm.selectedTargetColor),callback:function ($$v) {_vm.selectedTargetColor=$$v},expression:\"selectedTargetColor\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Color points (3-9)\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedColorPoint),callback:function ($$v) {_vm.selectedColorPoint=$$v},expression:\"selectedColorPoint\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Color minimum (in seconds)\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedColorMinText),callback:function ($$v) {_vm.selectedColorMinText=$$v},expression:\"selectedColorMinText\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"Color maximum (in seconds)\",\"type\":\"number\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateColors()}},model:{value:(_vm.selectedColorMaxText),callback:function ($$v) {_vm.selectedColorMaxText=$$v},expression:\"selectedColorMaxText\"}})],1),_c('v-flex',{staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-subheader',{staticClass:\"teal lighten-4\"},[_vm._v(\"Call site Correspondence\")])],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Sort by\",\"items\":_vm.sortByModes,\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateRuntimeSortBy()}},model:{value:(_vm.selectedRuntimeSortBy),callback:function ($$v) {_vm.selectedRuntimeSortBy=$$v},expression:\"selectedRuntimeSortBy\"}})],1),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}],staticClass:\"ma-1\",attrs:{\"xs12\":\"\"}},[_c('v-text-field',{staticClass:\"mt-0\",attrs:{\"label\":\"IQR Factor\",\"type\":\"float\",\"menu-props\":{ maxHeight: '200' },\"persistent-hint\":\"\"},on:{\"change\":function($event){return _vm.updateIQRFactor()}},model:{value:(_vm.selectedIQRFactor),callback:function ($$v) {_vm.selectedIQRFactor=$$v},expression:\"selectedIQRFactor\"}})],1)],1)],1)],1),(_vm.selectedMode == 'Ensemble')?_c('v-content',{staticClass:\"pt-auto\"},[_c('v-layout',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'SuperGraph'),expression:\"selectedFormat == 'SuperGraph'\"}]},[_c('splitpanes',{staticClass:\"default-theme\",attrs:{\"id\":\"callgraph-dashboard\"}},[_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":25}},[_c('ModuleHierarchy',{ref:\"ModuleHierarchy\"}),_c('EnsembleScatterplot',{ref:\"EnsembleScatterplot\"}),_c('EnsembleHistogram',{ref:\"EnsembleHistogram\"})],1),_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":55}},[_c('SuperGraph',{ref:\"SuperGraph\"})],1),_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":20}},[_c('CallsiteCorrespondence',{ref:\"CallsiteCorrespondence\"}),_c('ParameterProjection',{ref:\"ParameterProjection\"})],1)],1)],1),_c('v-layout',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'CCT'),expression:\"selectedFormat == 'CCT'\"}]},[_c('splitpanes',{attrs:{\"id\":\" ensemble-cct-dashboard\"}},[_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":100}},[_c('CCT',{ref:\"CCT\"})],1)],1)],1),_c('v-layout',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFormat == 'CCT' && _vm.selectedMode == 'Compare'),expression:\"selectedFormat == 'CCT' && selectedMode == 'Compare'\"}]},[_c('splitpanes',{attrs:{\"id\":\"compare-cct-dashboard\"}},[_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":50}},[_c('CCT',{ref:\"CCT1\"})],1),_c('splitpanes',{attrs:{\"horizontal\":\"\",\"splitpanes-size\":50}},[_c('CCT',{ref:\"CCT2\"})],1)],1)],1)],1):_vm._e(),_c('v-footer',{attrs:{\"id\":\"footer\",\"color\":\"teal\",\"app\":\"\"}},[_vm._v(\" Lawrence Livermore National Laboratory, and University of California, Davis \"),_c('v-spacer'),_c('span',[_vm._v(\"©2020\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"id\":_vm.id}},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")]),_c('v-spacer'),_c('span',{staticClass:\"component-info\"},[_c('p')]),(_vm.isCallsiteSelected == true)?_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-btn',{staticClass:\"ma-1 reveal-button\",attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.clickCallsite}},[_vm._v(\" Reveal \")])],1):_vm._e(),(_vm.isModuleSelected == true)?_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-btn',{staticClass:\"ma-1 reveal-button\",class:_vm.isEntryFunctionSelected,attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.showEntryFunctions}},[_vm._v(\" Entry call sites \")]),_c('v-btn',{staticClass:\"ma-1 reveal-button\",class:_vm.isCalleeSelected,attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.showExitFunctions}},[_vm._v(\" Callees \")]),_c('v-spacer'),(_vm.showSplitButton == 'true')?_c('v-btn',{staticClass:\"ma-1 reveal-button\",attrs:{\"small\":\"\",\"tile\":\"\",\"outlined\":\"\",\"color\":\"white\"},on:{\"click\":_vm.split}},[_vm._v(\" Split \")]):_vm._e()],1):_vm._e(),_c('v-layout',{staticClass:\"component-data\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('p',{staticClass:\"subtitle-2\"},[_vm._v(\" Unmatched \"+_vm._s(_vm.numberOfDifferenceCallsites)+\" callsites. \")])]),_vm._l((_vm.differenceCallsites),function(callsite){return _c('v-container',{key:_vm.getID(callsite.id),staticClass:\"callsite-information-node\"},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"md1\":\"\"}},[_c('v-card',{staticClass:\"mx-auto\",attrs:{\"width\":\"25px\",\"tile\":\"\",\"outlined\":\"\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"}},[[_c('v-flex',{class:_vm.selectClassName[callsite.name],attrs:{\"id\":callsite.name,\"text-xs-center\":\"\"},on:{\"click\":_vm.changeSelectedClassName}},[_vm._v(\" \"+_vm._s(_vm.formatNumberOfHops(callsite.component_level))+\" \")])],_c('span',[_vm._v(\"Component level: \"+_vm._s(_vm.formatNumberOfHops(callsite.component_level)))])],2)],1)],1),_c('v-flex',{attrs:{\"md11\":\"\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-flex',_vm._g({staticClass:\"pl-2 subtitle-2 font-weight-black\"},on),[_vm._v(\" \"+_vm._s(_vm.formatName(callsite.name))+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(callsite.name))])])],1)],1),_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-spacer'),(_vm.selectedMode == 'Ensemble')?_c('div',{staticClass:\"subtitle-2\",style:('color: ' + _vm.targetColor)},[_vm._v(\" Std. Dev. : \"+_vm._s(_vm.targetStandardDeviation[callsite.name])+\" \"+_vm._s(_vm.selectedMode)+\" \")]):_vm._e()],1),_c('BoxPlot',{ref:callsite.id,refInFor:true,attrs:{\"callsite\":callsite,\"showTarget\":\"false\"}}),_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"subtitle-2\",style:('color: ' + _vm.ensembleColor)},[_vm._v(\" Mean : \"+_vm._s(_vm.ensembleMeans[callsite.name])+\" \")]),_c('v-spacer'),_c('div',{staticClass:\"subtitle-2\",style:('color: ' + _vm.ensembleColor)},[_vm._v(\" Std. Dev. : \"+_vm._s(_vm.ensembleStandardDeviation[callsite.name])+\" \")])],1)],1)}),_c('v-layout',{staticClass:\"component-data\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('p',{staticClass:\"subtitle-2\"},[_vm._v(\" Matched \"+_vm._s(_vm.numberOfIntersectionCallsites)+\" callsites. \")])]),_vm._l((_vm.intersectionCallsites),function(callsite){return _c('v-container',{key:_vm.getID(callsite.id),staticClass:\"callsite-information-node\"},[_c('v-layout',{staticStyle:{\"align-items\":\"center\"},attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"md1\":\"\"}},[_c('v-card',{staticClass:\"mx-auto\",attrs:{\"width\":\"25px\",\"tile\":\"\",\"outlined\":\"\"}},[_c('v-flex',{class:_vm.selectClassName[callsite.name],attrs:{\"id\":callsite.name,\"text-xs-center\":\"\"},on:{\"click\":_vm.changeSelectedClassName}},[_vm._v(\" \"+_vm._s(_vm.formatNumberOfHops(callsite.component_level))+\" \")])],1)],1),_c('v-flex',{attrs:{\"md11\":\"\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-flex',_vm._g({staticClass:\"pl-2 subtitle-2 font-weight-black\"},on),[_vm._v(\" \"+_vm._s(_vm.formatName(callsite.name))+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(callsite.name))])])],1)],1),_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"body-2\",style:('color: ' + _vm.targetColor)},[_vm._v(\" Mean : \"+_vm._s(_vm.targetMeans[callsite.name])+\" \")]),_c('v-spacer'),_c('div',{staticClass:\"body-2\",style:('color: ' + _vm.targetColor)},[_vm._v(\" Std. Dev. : \"+_vm._s(_vm.targetStandardDeviation[callsite.name])+\" \")])],1),_c('BoxPlot',{ref:callsite.id,refInFor:true,attrs:{\"callsite\":callsite,\"showTarget\":\"false\"}}),_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('div',{staticClass:\"body-2\",style:('color: ' + _vm.ensembleColor)},[_vm._v(\" Mean : \"+_vm._s(_vm.ensembleMeans[callsite.name])+\" \")]),_c('v-spacer'),_c('div',{staticClass:\"body-2\",style:('color: ' + _vm.ensembleColor)},[_vm._v(\" Std. Dev. : \"+_vm._s(_vm.ensembleStandardDeviation[callsite.name])+\" \")])],1),_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{staticClass:\"body-2\",attrs:{\"md12\":\"\"}},[_vm._v(\"Ranks : \"+_vm._s(_vm.selectedOutlierRanks)+\" \")]),_c('v-spacer'),_c('v-flex',{staticClass:\"body-2\",attrs:{\"md12\":\"\"}},[_vm._v(\"Datasets : \"+_vm._s(_vm.selectedOutlierDatasets))])],1)],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"boxplot\",attrs:{\"id\":_vm.id,\"width\":_vm.containerWidth,\"height\":_vm.containerHeight}},[_c('Box',{ref:\"Box\"}),_c('Markers',{ref:\"Markers\"}),_c('Outliers',{ref:\"Outliers\"}),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"box\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./box.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./box.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./box.vue?vue&type=template&id=2cb96a89&\"\nimport script from \"./box.vue?vue&type=script&lang=js&\"\nexport * from \"./box.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"marker\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./markers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./markers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./markers.vue?vue&type=template&id=04f138be&\"\nimport script from \"./markers.vue?vue&type=script&lang=js&\"\nexport * from \"./markers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"outlier\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outlier.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outlier.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./outlier.vue?vue&type=template&id=57ab6b88&\"\nimport script from \"./outlier.vue?vue&type=script&lang=js&\"\nexport * from \"./outlier.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip-auxiliary-function\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=f2cd4d12&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./boxplot.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./boxplot.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./boxplot.vue?vue&type=template&id=48a491bd&\"\nimport script from \"./boxplot.vue?vue&type=script&lang=js&\"\nexport * from \"./boxplot.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteCorrespondence.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteCorrespondence.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./callsiteCorrespondence.vue?vue&type=template&id=0af86715&\"\nimport script from \"./callsiteCorrespondence.vue?vue&type=script&lang=js&\"\nexport * from \"./callsiteCorrespondence.vue?vue&type=script&lang=js&\"\nimport style0 from \"./callsiteCorrespondence.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":_vm.id}},[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")]),_c('v-spacer'),_c('span',{staticClass:\"component-info\"},[_vm._v(\" Number of \"+_vm._s(_vm.selectedPropLabel)+\" = \"+_vm._s(_vm.selectedPropSum)+\" \")])],1),_c('svg',{attrs:{\"id\":_vm.svgID}}),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip-ensemble-histogram\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=61ae9698&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n \n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ensembleHistogram.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ensembleHistogram.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ensembleHistogram.vue?vue&type=template&id=46619d74&\"\nimport script from \"./ensembleHistogram.vue?vue&type=script&lang=js&\"\nexport * from \"./ensembleHistogram.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"id\":_vm.id}},[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")])],1),_c('span',{staticClass:\"component-info\"},[_vm._v(\" Module = \"+_vm._s(_vm.formatModule(_vm.selectedModule))+\" \")]),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{staticClass:\"tooltip\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=26bc4b82&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport LinkedList from \"./linkedList\";\n\nexport default class Queue {\n\tconstructor() {\n\t\t// We're going to implement Queue based on LinkedList since the two\n\t\t// structures are quite similar. Namely, they both operate mostly on\n\t\t// the elements at the beginning and the end. Compare enqueue/dequeue\n\t\t// operations of Queue with append/deleteHead operations of LinkedList.\n\t\tthis.linkedList = new LinkedList();\n\t}\n\n\t/**\n * @return {boolean}\n */\n\tisEmpty() {\n\t\treturn !this.linkedList.head;\n\t}\n\n\t/**\n * Read the element at the front of the queue without removing it.\n * @return {*}\n */\n\tpeek() {\n\t\tif (!this.linkedList.head) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this.linkedList.head.value;\n\t}\n\n\t/**\n * Add a new element to the end of the queue (the tail of the linked list).\n * This element will be processed after all elements ahead of it.\n * @param {*} value\n */\n\tenqueue(value) {\n\t\tthis.linkedList.append(value);\n\t}\n\n\t/**\n * Remove the element at the front of the queue (the head of the linked list).\n * If the queue is empty, return null.\n * @return {*}\n */\n\tdequeue() {\n\t\tconst removedHead = this.linkedList.deleteHead();\n\t\treturn removedHead ? removedHead.value : null;\n\t}\n\n\t/**\n * @param [callback]\n * @return {string}\n */\n\ttoString(callback) {\n\t\t// Return string representation of the queue's linked list.\n\t\treturn this.linkedList.toString(callback);\n\t}\n}","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./moduleHierarchy.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./moduleHierarchy.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./moduleHierarchy.vue?vue&type=template&id=0c33ddfb&\"\nimport script from \"./moduleHierarchy.vue?vue&type=script&lang=js&\"\nexport * from \"./moduleHierarchy.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"id\":_vm.id}},[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")]),_c('v-spacer')],1),_c('span',{staticClass:\"component-info\"}),_c('svg',{attrs:{\"id\":_vm.svgID}}),_c('ToolTip',{ref:\"ToolTip\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('g',{attrs:{\"id\":\"tooltip_scatterplot\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tooltip.vue?vue&type=template&id=56c2c469&\"\nimport script from \"./tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ensembleScatterplot.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ensembleScatterplot.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ensembleScatterplot.vue?vue&type=template&id=0900031f&\"\nimport script from \"./ensembleScatterplot.vue?vue&type=script&lang=js&\"\nexport * from \"./ensembleScatterplot.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"id\":_vm.id}},[_c('v-layout',{staticClass:\"chip-container\"},[_c('v-chip',{staticClass:\"chip\",attrs:{\"chips\":\"\",\"color\":\"teal\",\"label\":\"\",\"outlined\":\"\",\"clearable\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")])],1),_c('svg',{attrs:{\"id\":_vm.svgId}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport * as d3 from \"d3\";\nimport classifyPoint from \"robust-point-in-polygon\";\n\nfunction lasso() {\n\n\tvar items = [],\n\t\tclosePathDistance = 75,\n\t\tclosePathSelect = true,\n\t\tisPathClosed = false,\n\t\thoverSelect = true,\n\t\ttargetArea,\n\t\tclassName = \"lasso\",\n\t\ton = { start: function () { }, draw: function () { }, end: function () { } };\n\n\t// Function to execute on call\n\tfunction lasso(_this) {\n\n\t\t// add a new group for the lasso\n\t\tvar g = _this.append(\"g\")\n\t\t\t.attr(\"class\", className);\n\n\t\t// add the drawn path for the lasso\n\t\tvar dyn_path = g.append(\"path\")\n\t\t\t.attr(\"class\", \"drawn\");\n\n\t\t// add a closed path\n\t\tvar close_path = g.append(\"path\")\n\t\t\t.attr(\"class\", \"loop_close\");\n\n\t\t// add an origin node\n\t\tvar origin_node = g.append(\"circle\")\n\t\t\t.attr(\"class\", \"origin\");\n\n\t\t// The transformed lasso path for rendering\n\t\tvar tpath;\n\n\t\t// The lasso origin for calculations\n\t\tvar origin;\n\n\t\t// The transformed lasso origin for rendering\n\t\tvar torigin;\n\n\t\t// Store off coordinates drawn\n\t\tvar drawnCoords;\n\n\t\t// Apply drag behaviors\n\t\tvar drag = d3.drag()\n\t\t\t.on(\"start\", dragstart)\n\t\t\t.on(\"drag\", dragmove)\n\t\t\t.on(\"end\", dragend);\n\n\t\t// Call drag\n\t\ttargetArea.call(drag);\n\n\t\tfunction dragstart() {\n\t\t\t// Init coordinates\n\t\t\tdrawnCoords = [];\n\n\t\t\t// Initialize paths\n\t\t\ttpath = \"\";\n\t\t\tdyn_path.attr(\"d\", null);\n\t\t\tclose_path.attr(\"d\", null);\n\n\t\t\t// Set every item to have a false selection and reset their center point and counters\n\t\t\titems.nodes().forEach(function (e) {\n\t\t\t\te.__lasso.possible = false;\n\t\t\t\te.__lasso.selected = false;\n\t\t\t\te.__lasso.hoverSelect = false;\n\t\t\t\te.__lasso.loopSelect = false;\n\n\t\t\t\tvar box = e.getBoundingClientRect();\n\t\t\t\te.__lasso.lassoPoint = [Math.round(box.left + box.width / 2), Math.round(box.top + box.height / 2)];\n\t\t\t});\n\n\t\t\t// if hover is on, add hover function\n\t\t\tif (hoverSelect) {\n\t\t\t\titems.on(\"mouseover.lasso\", function () {\n\t\t\t\t\t// if hovered, change lasso selection attribute to true\n\t\t\t\t\tthis.__lasso.hoverSelect = true;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Run user defined start function\n\t\t\ton.start();\n\t\t}\n\n\t\tfunction dragmove() {\n\t\t\t// Get mouse position within body, used for calculations\n\t\t\tvar x, y;\n\t\t\tif (d3.event.sourceEvent.type === \"touchmove\") {\n\t\t\t\tx = d3.event.sourceEvent.touches[0].clientX;\n\t\t\t\ty = d3.event.sourceEvent.touches[0].clientY;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tx = d3.event.sourceEvent.clientX;\n\t\t\t\ty = d3.event.sourceEvent.clientY;\n\t\t\t}\n\n\n\t\t\t// Get mouse position within drawing area, used for rendering\n\t\t\tvar tx = d3.mouse(this)[0];\n\t\t\tvar ty = d3.mouse(this)[1];\n\n\t\t\t// Initialize the path or add the latest point to it\n\t\t\tif (tpath === \"\") {\n\t\t\t\ttpath = tpath + \"M \" + tx + \" \" + ty;\n\t\t\t\torigin = [x, y];\n\t\t\t\ttorigin = [tx, ty];\n\t\t\t\t// Draw origin node\n\t\t\t\torigin_node\n\t\t\t\t\t.attr(\"cx\", tx)\n\t\t\t\t\t.attr(\"cy\", ty)\n\t\t\t\t\t.attr(\"r\", 7)\n\t\t\t\t\t.attr(\"display\", null);\n\t\t\t}\n\t\t\telse {\n\t\t\t\ttpath = tpath + \" L \" + tx + \" \" + ty;\n\t\t\t}\n\n\t\t\tdrawnCoords.push([x, y]);\n\n\t\t\t// Calculate the current distance from the lasso origin\n\t\t\tvar distance = Math.sqrt(Math.pow(x - origin[0], 2) + Math.pow(y - origin[1], 2));\n\n\t\t\t// Set the closed path line\n\t\t\tvar close_draw_path = \"M \" + tx + \" \" + ty + \" L \" + torigin[0] + \" \" + torigin[1];\n\n\t\t\t// Draw the lines\n\t\t\tdyn_path.attr(\"d\", tpath);\n\n\t\t\tclose_path.attr(\"d\", close_draw_path);\n\n\t\t\t// Check if the path is closed\n\t\t\tisPathClosed = distance <= closePathDistance ? true : false;\n\n\t\t\t// If within the closed path distance parameter, show the closed path. otherwise, hide it\n\t\t\tif (isPathClosed && closePathSelect) {\n\t\t\t\tclose_path.attr(\"display\", null);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tclose_path.attr(\"display\", \"none\");\n\t\t\t}\n\n\t\t\titems.nodes().forEach(function (n) {\n\t\t\t\tn.__lasso.loopSelect = (isPathClosed && closePathSelect) ? (classifyPoint(drawnCoords, n.__lasso.lassoPoint) < 1) : false;\n\t\t\t\tn.__lasso.possible = n.__lasso.hoverSelect || n.__lasso.loopSelect;\n\t\t\t});\n\n\t\t\ton.draw();\n\t\t}\n\n\t\tfunction dragend() {\n\t\t\t// Remove mouseover tagging function\n\t\t\titems.on(\"mouseover.lasso\", null);\n\n\t\t\titems.nodes().forEach(function (n) {\n\t\t\t\tn.__lasso.selected = n.__lasso.possible;\n\t\t\t\tn.__lasso.possible = false;\n\t\t\t});\n\n\t\t\t// Clear lasso\n\t\t\tdyn_path.attr(\"d\", null);\n\t\t\tclose_path.attr(\"d\", null);\n\t\t\torigin_node.attr(\"display\", \"none\");\n\n\t\t\t// Run user defined end function\n\t\t\ton.end();\n\t\t}\n\t}\n\n\t// Set or get list of items for lasso to select\n\tlasso.items = function (_) {\n\t\tif (!arguments.length) { return items; }\n\t\titems = _;\n\t\tvar nodes = items.nodes();\n\t\tnodes.forEach(function (n) {\n\t\t\tn.__lasso = {\n\t\t\t\t\"possible\": false,\n\t\t\t\t\"selected\": false\n\t\t\t};\n\t\t});\n\t\treturn lasso;\n\t};\n\n\tlasso.className = function (_) {\n\t\tclassName = _;\n\t\treturn lasso;\n\t};\n\n\t// Return possible items\n\tlasso.possibleItems = function () {\n\t\treturn items.filter(function () {\n\t\t\treturn this.__lasso.possible;\n\t\t});\n\t};\n\n\t// Return selected items\n\tlasso.selectedItems = function () {\n\t\treturn items.filter(function () {\n\t\t\treturn this.__lasso.selected;\n\t\t});\n\t};\n\n\t// Return not possible items\n\tlasso.notPossibleItems = function () {\n\t\treturn items.filter(function () {\n\t\t\treturn !this.__lasso.possible;\n\t\t});\n\t};\n\n\t// Return not selected items\n\tlasso.notSelectedItems = function () {\n\t\treturn items.filter(function () {\n\t\t\treturn !this.__lasso.selected;\n\t\t});\n\t};\n\n\t// Distance required before path auto closes loop\n\tlasso.closePathDistance = function (_) {\n\t\tif (!arguments.length) { return closePathDistance; }\n\t\tclosePathDistance = _;\n\t\treturn lasso;\n\t};\n\n\t// Option to loop select or not\n\tlasso.closePathSelect = function (_) {\n\t\tif (!arguments.length) { return closePathSelect; }\n\t\tclosePathSelect = _ === true ? true : false;\n\t\treturn lasso;\n\t};\n\n\t// Not sure what this is for\n\tlasso.isPathClosed = function (_) {\n\t\tif (!arguments.length) { return isPathClosed; }\n\t\tisPathClosed = _ === true ? true : false;\n\t\treturn lasso;\n\t};\n\n\t// Option to select on hover or not\n\tlasso.hoverSelect = function (_) {\n\t\tif (!arguments.length) { return hoverSelect; }\n\t\thoverSelect = _ === true ? true : false;\n\t\treturn lasso;\n\t};\n\n\t// Events\n\tlasso.on = function (type, _) {\n\t\tif (!arguments.length) { return on; }\n\t\tif (arguments.length === 1) { return on[type]; }\n\t\tvar types = [\"start\", \"draw\", \"end\"];\n\t\tif (types.indexOf(type) > -1) {\n\t\t\ton[type] = _;\n\t\t}\n\t\treturn lasso;\n\t};\n\n\t// Area where lasso can be triggered from\n\tlasso.targetArea = function (_) {\n\t\tif (!arguments.length) { return targetArea; }\n\t\ttargetArea = _;\n\t\treturn lasso;\n\t};\n\n\treturn lasso;\n}\n\nexport { lasso };","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./parameterProjection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./parameterProjection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./parameterProjection.vue?vue&type=template&id=7351f3a3&\"\nimport script from \"./parameterProjection.vue?vue&type=script&lang=js&\"\nexport * from \"./parameterProjection.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callflowEnsemble.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callflowEnsemble.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./callflowEnsemble.vue?vue&type=template&id=5e71b554&\"\nimport script from \"./callflowEnsemble.vue?vue&type=script&lang=js&\"\nexport * from \"./callflowEnsemble.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/** \n * Copyright 2017-2020 Lawrence Livermore National Security, LLC and other\n * CallFlow Project Developers. See the top-level LICENSE file for details.\n * \n * SPDX-License-Identifier: MIT\n */\n\nimport Vue from \"vue\";\nimport * as Vuex from \"vuex\";\nimport Router from \"vue-router\";\nimport Vuetify from \"vuetify\";\nimport BootstrapVue from \"bootstrap-vue\";\nimport VueMaterial from \"vue-material\";\nimport \"vue-material/dist/vue-material.min.css\";\nimport \"vue-material/dist/theme/default.css\";\nimport \"vuetify/dist/vuetify.min.css\";\nimport \"material-design-icons-iconfont/dist/material-design-icons.css\";\n\nimport App from \"./components/App\";\nimport SingleCallFlow from \"./components/callflowSingle\";\nimport EnsembleCallFlow from \"./components/callflowEnsemble\";\n\nVue.use(Vuex);\nconst store = new Vuex.Store();\n\nconst router = new Router({\n\troutes: [\n\t\t{\n\t\t\tpath: \"/single\",\n\t\t\tname: \"SingleCallFlow\",\n\t\t\tcomponent: SingleCallFlow,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: \"/ensemble\",\n\t\t\tname: \"EnsembleCallFlow\",\n\t\t\tcomponent: EnsembleCallFlow,\n\t\t\tprops: true\n\t\t},\n\t]\n});\n\nVue.config.productionTip = false;\nVue.use(BootstrapVue);\nVue.use(Router);\nVue.use(Vuetify);\nVue.use(VueMaterial);\n\nnew Vue({\n\tstore,\n\trender: h => h(App),\n\tel: \"#app\",\n\trouter,\n\tcomponents: { App },\n\ttemplate: \"\"\n});\nVue.config.devtools = true;\n\nexport default router;\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./supergraph.vue?vue&type=style&index=0&id=595c6e5c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./supergraph.vue?vue&type=style&index=0&id=595c6e5c&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteInformation.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./callsiteInformation.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cct.vue?vue&type=style&index=0&id=1976c798&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cct.vue?vue&type=style&index=0&id=1976c798&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/app/src/components/parameterProjection/parameterProjection.vue b/app/src/components/parameterProjection/parameterProjection.vue index 6e4963bc..c208e865 100644 --- a/app/src/components/parameterProjection/parameterProjection.vue +++ b/app/src/components/parameterProjection/parameterProjection.vue @@ -95,8 +95,8 @@ export default { groupBy: "module", numOfClusters: this.$store.selectedNumOfClusters, }); - console.debug("[/projection] data: ", data); data = JSON.parse(data); + console.debug("[/projection] data: ", data); this.visualize(data); }, diff --git a/app/src/components/singleHistogram/singleHistogram.vue b/app/src/components/singleHistogram/singleHistogram.vue index af5fec25..f2aa282a 100644 --- a/app/src/components/singleHistogram/singleHistogram.vue +++ b/app/src/components/singleHistogram/singleHistogram.vue @@ -82,33 +82,25 @@ export default { this.rankScaleHeight = this.boxHeight - this.histogramHeight; this.rankScaleWidth = this.histogramWidth; - this.xAxisHeight = - this.histogramWidth - (this.paddingFactor - 1.5) * this.padding.left; - this.yAxisHeight = - this.histogramHeight - (this.paddingFactor - 1.5) * this.padding.left; + this.xAxisHeight = this.histogramWidth - (this.paddingFactor - 1.5) * this.padding.left; + this.yAxisHeight = this.histogramHeight - (this.paddingFactor - 1.5) * this.padding.left; this.svg = d3.select("#" + this.svgID).attrs({ width: this.boxWidth, height: this.boxHeight, - transform: - "translate(" + this.padding.left + "," + this.padding.top + ")", + transform: "translate(" + this.padding.left + "," + this.padding.top + ")", }); EventHandler.$emit("single-histogram", { - module: Object.keys( - this.$store.modules[this.$store.selectedTargetDataset] - )[0], + module: Object.keys(this.$store.modules[this.$store.selectedTargetDataset])[0], groupBy: this.$store.selectedGroupBy, dataset: this.$store.selectedTargetDataset, }); }, setupScale(callsite) { - let store = this.$store.modules[this.$store.selectedTargetDataset][ - callsite - ]; - let data = - store[this.$store.selectedMetric]["prop_histograms"]["rank"]["target"]; + let store = this.$store.modules[this.$store.selectedTargetDataset][callsite]; + let data = store[this.$store.selectedMetric]["prop_histograms"]["rank"]["target"]; let mpiData = store[this.$store.selectedMetric]["data"]; let temp = this.dataProcess(data, mpiData); @@ -146,6 +138,7 @@ export default { d3.selectAll(".binRank").remove(); d3.selectAll(".lineRank").remove(); d3.selectAll(".brush").remove(); + d3.selectAll(".tick").remove(); this.$refs.ToolTip.clear(); }, diff --git a/app/src/components/supergraph/encodings/tooltip.vue b/app/src/components/supergraph/encodings/tooltip.vue index 177a514f..e29518c5 100644 --- a/app/src/components/supergraph/encodings/tooltip.vue +++ b/app/src/components/supergraph/encodings/tooltip.vue @@ -175,7 +175,13 @@ export default { // TODO : Improve the logic here to not process the string input multiple times. - let entry_functions = node[this.$store.selectedTargetDataset]["entry_function"].split(",").map(String); + let entry_functions = []; + if(this.$store.selectedMode !== "Ensemble") { + entry_functions = node[this.$store.selectedTargetDataset]["entry_function"].split(",").map(String); + } + else { + entry_functions = node["ensemble"]["entry_function"].split(",").map(String); + } let entry_function_runtimes = {}; for (let i = 0; i < entry_functions.length; i += 1) { let callsite = entry_functions[i].replace("'", "").replace("'", "").replace("[", "").replace("]", "").replace(" ", ""); @@ -260,7 +266,9 @@ export default { } let left_callsites = entry_function_data.length - 3; - this.addText("and " + left_callsites + " call sites more."); + if (left_callsites > 0) { + this.addText("and " + left_callsites + " call sites more."); + } }, diff --git a/app/src/components/supergraph/supergraph.vue b/app/src/components/supergraph/supergraph.vue index aca4bc39..a19be878 100644 --- a/app/src/components/supergraph/supergraph.vue +++ b/app/src/components/supergraph/supergraph.vue @@ -73,11 +73,11 @@ export default { treeHeight: null, data: null, message: "Summary Graph View", - debug: false, sankeyWidth: 0, sankeyHeight: 0, summaryChip: "SuperGraph", selectedMetric: "", + existingIntermediateNodes: {}, }), mounted() { @@ -122,18 +122,16 @@ export default { // check cycle. let detectcycle = detectDirectedCycle(this.data.graph); - if (this.debug) { - for (let i = 0; i < this.data.links.length; i += 1) { - let link = this.data.links[i]; - let source_callsite = link["source"]; - let target_callsite = link["target"]; - let weight = link["weight"]; - - console.debug("============================================="); - console.debug("[Ensemble SuperGraph] Source Name :", source_callsite); - console.debug("[Ensemble SuperGraph] Target Name :", target_callsite); - console.debug("[Ensemble SuperGraph] Weight: ", weight); - } + for (let i = 0; i < this.data.links.length; i += 1) { + let link = this.data.links[i]; + let source_callsite = link["source"]; + let target_callsite = link["target"]; + let weight = link["weight"]; + + console.debug("============================================="); + console.debug("[Ensemble SuperGraph] Source Name :", source_callsite); + console.debug("[Ensemble SuperGraph] Target Name :", target_callsite); + console.debug("[Ensemble SuperGraph] Weight: ", weight); } this.render(); @@ -217,14 +215,8 @@ export default { } else if (node.type == "component-node") { nodeMap[node.name] = idx; } - if (this.debug) { - console.log( - "[Preprocess] Assigning", - node.id, - " with map index: ", - idx - ); - } + + console.debug(`[Supergraph] Assigning ${node.id} with index ${idx}`); idx += 1; } graph.nodeMap = nodeMap; @@ -270,14 +262,9 @@ export default { * Internal function to initiate the intermediate nodes and edges computation. */ _add_intermediate(nodes, edges) { - console.debug( - "===================Adding intermediate nodes==================" - ); const temp_nodes = nodes.slice(); const temp_edges = edges.slice(); - this.existingIntermediateNodes = {}; - let removeActualEdges = []; let count = {}; @@ -285,40 +272,22 @@ export default { const source = temp_edges[i].source; const target = temp_edges[i].target; - if (this.debug) { - console.log("=============================="); - console.log("[Ensemble SuperGraph] Source Name", source); - console.log("[Ensemble SuperGraph] Target Name", target); - console.log("[Ensemble SuperGraph] This edge: ", temp_edges[i]); - } + console.debug("[SuperGraph] Source Name", source); + console.debug("[SuperGraph] Target Name", target); + console.debug("[SuperGraph] This edge: ", temp_edges[i]); let source_node = temp_edges[i].source_data; let target_node = temp_edges[i].target_data; - if (this.debug) { - console.log( - "[Ensemble SuperGraph] Source Node", - source_node, - target_node.level - ); - console.log( - "[Ensemble SuperGraph] Target Node", - target_node, - target_node.level - ); - } + console.debug(`[SuperGraph] Source Node: ${source_node}, Level: ${source_node.level}`); + console.debug(`[Ensemble SuperGraph] Target Node: ${target_node} Level: ${target_node.level}`); const source_level = source_node.level; const target_level = target_node.level; const shift_level = target_level - source_level; - if (this.debug) { - console.log(source_level, target_level); - console.log( - "[Ensemble SuperGraph] Number of levels to shift: ", - shift_level - ); - } + console.debug(source_level, target_level); + console.debug(`[SuperGraph] Number of levels to shift: ${shift_level}`); let targetDataset = this.$store.selectedTargetDataset; // Put in intermediate nodes. @@ -345,7 +314,6 @@ export default { tempNode[targetDataset] = target_node[targetDataset]; if (firstNode) { - console.log(tempNode); nodes.push(tempNode); firstNode = false; } @@ -354,13 +322,7 @@ export default { } else { if (count[temp_edges[i].source] == undefined) { count[temp_edges[i].source] = 0; - console.log( - temp_edges[i].weight, - temp_edges[i].source, - temp_edges[i].target - ); - this.existingIntermediateNodes[target_node.id].value += - temp_edges[i].weight; + this.existingIntermediateNodes[target_node.id].value += temp_edges[i].weight; } else { count[temp_edges[i].source] += 1; } @@ -378,21 +340,16 @@ export default { max_flow: max_flow, }; edges.push(sourceTempEdge); - if (this.debug) { - console.log( - "[Ensemble SuperGraph] Adding intermediate source edge: ", - sourceTempEdge - ); - } + + console.debug(`[SuperGraph] Adding intermediate source edge: ${sourceTempEdge}`); if (j == shift_level) { edges[i].original_target = target; } edges[i].target_data = nodes[intermediate_idx]; - if (this.debug) { - console.log("[Ensemble SuperGraph] Updating this edge:", edges[i]); - } - + + console.debug(`[SuperGraph] Updating this edge: ${edges[i]}`); + const targetTempEdge = { type: "target_intermediate", source: tempNode.id, @@ -403,20 +360,15 @@ export default { max_flow: max_flow, }; edges.push(targetTempEdge); - if (this.debug) { - console.log( - "[Ensemble SuperGraph] Adding intermediate target edge: ", - targetTempEdge - ); - } + + console.log(`[SuperGraph] Adding intermediate target edge: ${targetTempEdge}`); if (j == shift_level) { edges[i].original_target = target; } edges[i].target_data = nodes[intermediate_idx]; - if (this.debug) { - console.log("[Ensemble SuperGraph] Updating this edge:", edges[i]); - } + + console.debug(`[SuperGraph] Updating this edge: ${edges[i]}`); removeActualEdges.push({ source, @@ -425,25 +377,15 @@ export default { } } - if (this.debug) { - console.log( - "[Ensemble SuperGraph] Removing", - removeActualEdges.length, - " edges." - ); - } + console.debug(`[SuperGraph] Removing ${removeActualEdges.length} edges`); for (let i = 0; i < removeActualEdges.length; i += 1) { let removeEdge = removeActualEdges[i]; - if (this.debug) { - console.log("[Ensemble SuperGraph] Removing edge: ", removeEdge); - } + + console.debug(`[SuperGraph] Removing edge: ${removeEdge}`); for (let edge_idx = 0; edge_idx < edges.length; edge_idx += 1) { let curr_edge = edges[edge_idx]; - if ( - removeEdge.source == curr_edge.source && - removeEdge.target == curr_edge.target - ) { + if (removeEdge.source == curr_edge.source && removeEdge.target == curr_edge.target) { edges.splice(edge_idx, 1); } }