From 0e2901304dd29a006f075e4084547fc330435a04 Mon Sep 17 00:00:00 2001 From: moson-mo Date: Sun, 17 Jan 2021 11:56:32 +0100 Subject: [PATCH] Initial commit --- .gitignore | 2 + LICENSE.md | 9 ++++ README.md | 38 +++++++++++++++ main.go | 21 +++++++++ screenshots/rpmui.png | Bin 0 -> 139327 bytes web/chart.html | 17 +++++++ web/css/chart.css | 14 ++++++ web/css/main.css | 29 ++++++++++++ web/js/Chart.min.js | 7 +++ web/js/chart.js | 93 +++++++++++++++++++++++++++++++++++++ web/js/jquery-3.5.1.min.js | 2 + web/main.html | 24 ++++++++++ 12 files changed, 256 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 main.go create mode 100644 screenshots/rpmui.png create mode 100644 web/chart.html create mode 100644 web/css/chart.css create mode 100644 web/css/main.css create mode 100644 web/js/Chart.min.js create mode 100644 web/js/chart.js create mode 100644 web/js/jquery-3.5.1.min.js create mode 100644 web/main.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..365fa26 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +rpmui +rpmui-linux* \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..c8698ec --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2020 moson-mo + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..5559c10 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# rpmui +## Renoir power metrics UI +
+ +A simple UI app showing some Renoir power metrics.
+It consists of
+- A small executable making use of WebKit in order to render HTML
+- The HTML/JS frontend which fetches and displays power metrics via [Chart.js]("https://www.chartjs.org/"). + +The HTML page (main.html) can also be opened directly in your browser instead. + +![rpmui](https://github.com/moson-mo/rpmui/raw/master/screenshots/rpmui.png?inline=true) +
+ +## How to install + +#### Manual + +Binaries are available from the [releases](https://github.com/moson-mo/rpmui/releases) page.
+ +## How to build + +* Install go from your package manager or download it from the [Golang](https://golang.org/dl/) site. +* Clone repo with `git clone https://github.com/moson-mo/rpmui.git` +* Change to rpmui dir: `cd rpmui` +* Build with `go build` +
+ +## How to customize + +In the default configuration, the graphs have been made for an 8-core AMD Renoir model.
+You can customize *main.html* to your own needs... +
+ +## Dependencies / Prerequisites + +* [rpms](https://gitlab.com/moson-mo/rpms/) - Renoir power metrics server +
\ No newline at end of file diff --git a/main.go b/main.go new file mode 100644 index 0000000..bc8dbea --- /dev/null +++ b/main.go @@ -0,0 +1,21 @@ +package main + +import ( + "log" + + "github.com/kardianos/osext" + "github.com/webview/webview" +) + +func main() { + path, err := osext.ExecutableFolder() + if err != nil { + log.Fatal(err) + } + w := webview.New(false) + defer w.Destroy() + w.SetTitle("Renoir Power Metrics") + w.SetSize(800, 600, webview.HintNone) + w.Navigate("file://" + path + "/web/main.html") + w.Run() +} diff --git a/screenshots/rpmui.png b/screenshots/rpmui.png new file mode 100644 index 0000000000000000000000000000000000000000..b6c893f246d16c2a2bc1b3ca2a405362005c2a04 GIT binary patch literal 139327 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

r;>cpX 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 oGbHq=eHt*~Y|Ezopr0BF}*=>Px# literal 0 HcmV?d00001 diff --git a/web/chart.html b/web/chart.html new file mode 100644 index 0000000..10f7acd --- /dev/null +++ b/web/chart.html @@ -0,0 +1,17 @@ + + + + + + + + + + + +

+ +
+ + + \ No newline at end of file diff --git a/web/css/chart.css b/web/css/chart.css new file mode 100644 index 0000000..2e3b196 --- /dev/null +++ b/web/css/chart.css @@ -0,0 +1,14 @@ +body { + font-family: monospace; +} + +#container { + position: absolute; + margin: auto; + top: 0; + right: 0; + bottom: 0; + left: 0; + height: 95%; + width: 95%; +} \ No newline at end of file diff --git a/web/css/main.css b/web/css/main.css new file mode 100644 index 0000000..2f37946 --- /dev/null +++ b/web/css/main.css @@ -0,0 +1,29 @@ +body { + font-family: monospace; +} + +#container { + position: absolute; + margin: auto; + top: 0; + right: 0; + bottom: 0; + left: 0; + height: 100%; + width: 100%; +} + +iframe { + border: 0px; +} + +.chart { + height: 100%; + width: 50%; + float: left; +} + +.sub-container { + width: 100%; + height: 50%; +} \ No newline at end of file diff --git a/web/js/Chart.min.js b/web/js/Chart.min.js new file mode 100644 index 0000000..a87f614 --- /dev/null +++ b/web/js/Chart.min.js @@ -0,0 +1,7 @@ +/*! + * Chart.js v2.9.4 + * https://www.chartjs.org + * (c) 2020 Chart.js Contributors + * Released under the MIT License + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(function(){try{return require("moment")}catch(t){}}()):"function"==typeof define&&define.amd?define(["require"],(function(t){return e(function(){try{return t("moment")}catch(t){}}())})):(t=t||self).Chart=e(t.moment)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},n=function(t,e){return t(e={exports:{}},e.exports),e.exports}((function(t){var n={};for(var i in e)e.hasOwnProperty(i)&&(n[e[i]]=i);var a=t.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var r in a)if(a.hasOwnProperty(r)){if(!("channels"in a[r]))throw new Error("missing channels property: "+r);if(!("labels"in a[r]))throw new Error("missing channel labels property: "+r);if(a[r].labels.length!==a[r].channels)throw new Error("channel and label counts mismatch: "+r);var o=a[r].channels,s=a[r].labels;delete a[r].channels,delete a[r].labels,Object.defineProperty(a[r],"channels",{value:o}),Object.defineProperty(a[r],"labels",{value:s})}a.rgb.hsl=function(t){var e,n,i=t[0]/255,a=t[1]/255,r=t[2]/255,o=Math.min(i,a,r),s=Math.max(i,a,r),l=s-o;return s===o?e=0:i===s?e=(a-r)/l:a===s?e=2+(r-i)/l:r===s&&(e=4+(i-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),n=(o+s)/2,[e,100*(s===o?0:n<=.5?l/(s+o):l/(2-s-o)),100*n]},a.rgb.hsv=function(t){var e,n,i,a,r,o=t[0]/255,s=t[1]/255,l=t[2]/255,u=Math.max(o,s,l),d=u-Math.min(o,s,l),h=function(t){return(u-t)/6/d+.5};return 0===d?a=r=0:(r=d/u,e=h(o),n=h(s),i=h(l),o===u?a=i-n:s===u?a=1/3+e-i:l===u&&(a=2/3+n-e),a<0?a+=1:a>1&&(a-=1)),[360*a,100*r,100*u]},a.rgb.hwb=function(t){var e=t[0],n=t[1],i=t[2];return[a.rgb.hsl(t)[0],100*(1/255*Math.min(e,Math.min(n,i))),100*(i=1-1/255*Math.max(e,Math.max(n,i)))]},a.rgb.cmyk=function(t){var e,n=t[0]/255,i=t[1]/255,a=t[2]/255;return[100*((1-n-(e=Math.min(1-n,1-i,1-a)))/(1-e)||0),100*((1-i-e)/(1-e)||0),100*((1-a-e)/(1-e)||0),100*e]},a.rgb.keyword=function(t){var i=n[t];if(i)return i;var a,r,o,s=1/0;for(var l in e)if(e.hasOwnProperty(l)){var u=e[l],d=(r=t,o=u,Math.pow(r[0]-o[0],2)+Math.pow(r[1]-o[1],2)+Math.pow(r[2]-o[2],2));d.04045?Math.pow((e+.055)/1.055,2.4):e/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)),100*(.2126*e+.7152*n+.0722*i),100*(.0193*e+.1192*n+.9505*i)]},a.rgb.lab=function(t){var e=a.rgb.xyz(t),n=e[0],i=e[1],r=e[2];return i/=100,r/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(n-i),200*(i-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},a.hsl.rgb=function(t){var e,n,i,a,r,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[r=255*l,r,r];e=2*l-(n=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var u=0;u<3;u++)(i=o+1/3*-(u-1))<0&&i++,i>1&&i--,r=6*i<1?e+6*(n-e)*i:2*i<1?n:3*i<2?e+(n-e)*(2/3-i)*6:e,a[u]=255*r;return a},a.hsl.hsv=function(t){var e=t[0],n=t[1]/100,i=t[2]/100,a=n,r=Math.max(i,.01);return n*=(i*=2)<=1?i:2-i,a*=r<=1?r:2-r,[e,100*(0===i?2*a/(r+a):2*n/(i+n)),100*((i+n)/2)]},a.hsv.rgb=function(t){var e=t[0]/60,n=t[1]/100,i=t[2]/100,a=Math.floor(e)%6,r=e-Math.floor(e),o=255*i*(1-n),s=255*i*(1-n*r),l=255*i*(1-n*(1-r));switch(i*=255,a){case 0:return[i,l,o];case 1:return[s,i,o];case 2:return[o,i,l];case 3:return[o,s,i];case 4:return[l,o,i];case 5:return[i,o,s]}},a.hsv.hsl=function(t){var e,n,i,a=t[0],r=t[1]/100,o=t[2]/100,s=Math.max(o,.01);return i=(2-r)*o,n=r*s,[a,100*(n=(n/=(e=(2-r)*s)<=1?e:2-e)||0),100*(i/=2)]},a.hwb.rgb=function(t){var e,n,i,a,r,o,s,l=t[0]/360,u=t[1]/100,d=t[2]/100,h=u+d;switch(h>1&&(u/=h,d/=h),i=6*l-(e=Math.floor(6*l)),0!=(1&e)&&(i=1-i),a=u+i*((n=1-d)-u),e){default:case 6:case 0:r=n,o=a,s=u;break;case 1:r=a,o=n,s=u;break;case 2:r=u,o=n,s=a;break;case 3:r=u,o=a,s=n;break;case 4:r=a,o=u,s=n;break;case 5:r=n,o=u,s=a}return[255*r,255*o,255*s]},a.cmyk.rgb=function(t){var e=t[0]/100,n=t[1]/100,i=t[2]/100,a=t[3]/100;return[255*(1-Math.min(1,e*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a)),255*(1-Math.min(1,i*(1-a)+a))]},a.xyz.rgb=function(t){var e,n,i,a=t[0]/100,r=t[1]/100,o=t[2]/100;return n=-.9689*a+1.8758*r+.0415*o,i=.0557*a+-.204*r+1.057*o,e=(e=3.2406*a+-1.5372*r+-.4986*o)>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:12.92*i,[255*(e=Math.min(Math.max(0,e),1)),255*(n=Math.min(Math.max(0,n),1)),255*(i=Math.min(Math.max(0,i),1))]},a.xyz.lab=function(t){var e=t[0],n=t[1],i=t[2];return n/=100,i/=108.883,e=(e/=95.047)>.008856?Math.pow(e,1/3):7.787*e+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(e-n),200*(n-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]},a.lab.xyz=function(t){var e,n,i,a=t[0];e=t[1]/500+(n=(a+16)/116),i=n-t[2]/200;var r=Math.pow(n,3),o=Math.pow(e,3),s=Math.pow(i,3);return n=r>.008856?r:(n-16/116)/7.787,e=o>.008856?o:(e-16/116)/7.787,i=s>.008856?s:(i-16/116)/7.787,[e*=95.047,n*=100,i*=108.883]},a.lab.lch=function(t){var e,n=t[0],i=t[1],a=t[2];return(e=360*Math.atan2(a,i)/2/Math.PI)<0&&(e+=360),[n,Math.sqrt(i*i+a*a),e]},a.lch.lab=function(t){var e,n=t[0],i=t[1];return e=t[2]/360*2*Math.PI,[n,i*Math.cos(e),i*Math.sin(e)]},a.rgb.ansi16=function(t){var e=t[0],n=t[1],i=t[2],r=1 in arguments?arguments[1]:a.rgb.hsv(t)[2];if(0===(r=Math.round(r/50)))return 30;var o=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(e/255));return 2===r&&(o+=60),o},a.hsv.ansi16=function(t){return a.rgb.ansi16(a.hsv.rgb(t),t[2])},a.rgb.ansi256=function(t){var e=t[0],n=t[1],i=t[2];return e===n&&n===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},a.ansi16.rgb=function(t){var e=t%10;if(0===e||7===e)return t>50&&(e+=3.5),[e=e/10.5*255,e,e];var n=.5*(1+~~(t>50));return[(1&e)*n*255,(e>>1&1)*n*255,(e>>2&1)*n*255]},a.ansi256.rgb=function(t){if(t>=232){var e=10*(t-232)+8;return[e,e,e]}var n;return t-=16,[Math.floor(t/36)/5*255,Math.floor((n=t%36)/6)/5*255,n%6/5*255]},a.rgb.hex=function(t){var e=(((255&Math.round(t[0]))<<16)+((255&Math.round(t[1]))<<8)+(255&Math.round(t[2]))).toString(16).toUpperCase();return"000000".substring(e.length)+e},a.hex.rgb=function(t){var e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];var n=e[0];3===e[0].length&&(n=n.split("").map((function(t){return t+t})).join(""));var i=parseInt(n,16);return[i>>16&255,i>>8&255,255&i]},a.rgb.hcg=function(t){var e,n=t[0]/255,i=t[1]/255,a=t[2]/255,r=Math.max(Math.max(n,i),a),o=Math.min(Math.min(n,i),a),s=r-o;return e=s<=0?0:r===n?(i-a)/s%6:r===i?2+(a-n)/s:4+(n-i)/s+4,e/=6,[360*(e%=1),100*s,100*(s<1?o/(1-s):0)]},a.hsl.hcg=function(t){var e=t[1]/100,n=t[2]/100,i=1,a=0;return(i=n<.5?2*e*n:2*e*(1-n))<1&&(a=(n-.5*i)/(1-i)),[t[0],100*i,100*a]},a.hsv.hcg=function(t){var e=t[1]/100,n=t[2]/100,i=e*n,a=0;return i<1&&(a=(n-i)/(1-i)),[t[0],100*i,100*a]},a.hcg.rgb=function(t){var e=t[0]/360,n=t[1]/100,i=t[2]/100;if(0===n)return[255*i,255*i,255*i];var a,r=[0,0,0],o=e%1*6,s=o%1,l=1-s;switch(Math.floor(o)){case 0:r[0]=1,r[1]=s,r[2]=0;break;case 1:r[0]=l,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=s;break;case 3:r[0]=0,r[1]=l,r[2]=1;break;case 4:r[0]=s,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=l}return a=(1-n)*i,[255*(n*r[0]+a),255*(n*r[1]+a),255*(n*r[2]+a)]},a.hcg.hsv=function(t){var e=t[1]/100,n=e+t[2]/100*(1-e),i=0;return n>0&&(i=e/n),[t[0],100*i,100*n]},a.hcg.hsl=function(t){var e=t[1]/100,n=t[2]/100*(1-e)+.5*e,i=0;return n>0&&n<.5?i=e/(2*n):n>=.5&&n<1&&(i=e/(2*(1-n))),[t[0],100*i,100*n]},a.hcg.hwb=function(t){var e=t[1]/100,n=e+t[2]/100*(1-e);return[t[0],100*(n-e),100*(1-n)]},a.hwb.hcg=function(t){var e=t[1]/100,n=1-t[2]/100,i=n-e,a=0;return i<1&&(a=(n-i)/(1-i)),[t[0],100*i,100*a]},a.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},a.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},a.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},a.gray.hsl=a.gray.hsv=function(t){return[0,0,t[0]]},a.gray.hwb=function(t){return[0,100,t[0]]},a.gray.cmyk=function(t){return[0,0,0,t[0]]},a.gray.lab=function(t){return[t[0],0,0]},a.gray.hex=function(t){var e=255&Math.round(t[0]/100*255),n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(n.length)+n},a.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}}));n.rgb,n.hsl,n.hsv,n.hwb,n.cmyk,n.xyz,n.lab,n.lch,n.hex,n.keyword,n.ansi16,n.ansi256,n.hcg,n.apple,n.gray;function i(t){var e=function(){for(var t={},e=Object.keys(n),i=e.length,a=0;a1&&(e=Array.prototype.slice.call(arguments));var n=t(e);if("object"==typeof n)for(var i=n.length,a=0;a1&&(e=Array.prototype.slice.call(arguments)),t(e))};return"conversion"in t&&(e.conversion=t.conversion),e}(i)}))}));var s=o,l={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},u={getRgba:d,getHsla:h,getRgb:function(t){var e=d(t);return e&&e.slice(0,3)},getHsl:function(t){var e=h(t);return e&&e.slice(0,3)},getHwb:c,getAlpha:function(t){var e=d(t);if(e)return e[3];if(e=h(t))return e[3];if(e=c(t))return e[3]},hexString:function(t,e){e=void 0!==e&&3===t.length?e:t[3];return"#"+v(t[0])+v(t[1])+v(t[2])+(e>=0&&e<1?v(Math.round(255*e)):"")},rgbString:function(t,e){if(e<1||t[3]&&t[3]<1)return f(t,e);return"rgb("+t[0]+", "+t[1]+", "+t[2]+")"},rgbaString:f,percentString:function(t,e){if(e<1||t[3]&&t[3]<1)return g(t,e);var n=Math.round(t[0]/255*100),i=Math.round(t[1]/255*100),a=Math.round(t[2]/255*100);return"rgb("+n+"%, "+i+"%, "+a+"%)"},percentaString:g,hslString:function(t,e){if(e<1||t[3]&&t[3]<1)return p(t,e);return"hsl("+t[0]+", "+t[1]+"%, "+t[2]+"%)"},hslaString:p,hwbString:function(t,e){void 0===e&&(e=void 0!==t[3]?t[3]:1);return"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+(void 0!==e&&1!==e?", "+e:"")+")"},keyword:function(t){return b[t.slice(0,3)]}};function d(t){if(t){var e=[0,0,0],n=1,i=t.match(/^#([a-fA-F0-9]{3,4})$/i),a="";if(i){a=(i=i[1])[3];for(var r=0;rn?(e+.05)/(n+.05):(n+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,n=(e[0]+t)%360;return e[0]=n<0?360+n:n,this.setValues("hsl",e),this},mix:function(t,e){var n=t,i=void 0===e?.5:e,a=2*i-1,r=this.alpha()-n.alpha(),o=((a*r==-1?a:(a+r)/(1+a*r))+1)/2,s=1-o;return this.rgb(o*this.red()+s*n.red(),o*this.green()+s*n.green(),o*this.blue()+s*n.blue()).alpha(this.alpha()*i+n.alpha()*(1-i))},toJSON:function(){return this.rgb()},clone:function(){var t,e,n=new y,i=this.values,a=n.values;for(var r in i)i.hasOwnProperty(r)&&(t=i[r],"[object Array]"===(e={}.toString.call(t))?a[r]=t.slice(0):"[object Number]"===e?a[r]=t:console.error("unexpected color value:",t));return n}},y.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},y.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},y.prototype.getValues=function(t){for(var e=this.values,n={},i=0;i=0;a--)e.call(n,t[a],a);else for(a=0;a=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n))},easeOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/n)+1)},easeInOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:2==(t/=.5)?1:(n||(n=.45),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),t<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*.5+1)},easeInBack:function(t){var e=1.70158;return t*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:function(t){return 1-C.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*C.easeInBounce(2*t):.5*C.easeOutBounce(2*t-1)+.5}},P={effects:C};S.easingEffects=C;var A=Math.PI,D=A/180,T=2*A,I=A/2,F=A/4,O=2*A/3,L={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},roundedRect:function(t,e,n,i,a,r){if(r){var o=Math.min(r,a/2,i/2),s=e+o,l=n+o,u=e+i-o,d=n+a-o;t.moveTo(e,l),se.left-1e-6&&t.xe.top-1e-6&&t.y0&&this.requestAnimationFrame()},advance:function(){for(var t,e,n,i,a=this.animations,r=0;r=n?(H.callback(t.onAnimationComplete,[t],e),e.animating=!1,a.splice(r,1)):++r}},Q=H.options.resolve,tt=["push","pop","shift","splice","unshift"];function et(t,e){var n=t._chartjs;if(n){var i=n.listeners,a=i.indexOf(e);-1!==a&&i.splice(a,1),i.length>0||(tt.forEach((function(e){delete t[e]})),delete t._chartjs)}}var nt=function(t,e){this.initialize(t,e)};H.extend(nt.prototype,{datasetElementType:null,dataElementType:null,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth"],_dataElementOptions:["backgroundColor","borderColor","borderWidth","pointStyle"],initialize:function(t,e){var n=this;n.chart=t,n.index=e,n.linkScales(),n.addElements(),n._type=n.getMeta().type},updateIndex:function(t){this.index=t},linkScales:function(){var t=this.getMeta(),e=this.chart,n=e.scales,i=this.getDataset(),a=e.options.scales;null!==t.xAxisID&&t.xAxisID in n&&!i.xAxisID||(t.xAxisID=i.xAxisID||a.xAxes[0].id),null!==t.yAxisID&&t.yAxisID in n&&!i.yAxisID||(t.yAxisID=i.yAxisID||a.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this._update(!0)},destroy:function(){this._data&&et(this._data,this)},createMetaDataset:function(){var t=this.datasetElementType;return t&&new t({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(t){var e=this.dataElementType;return e&&new e({_chart:this.chart,_datasetIndex:this.index,_index:t})},addElements:function(){var t,e,n=this.getMeta(),i=this.getDataset().data||[],a=n.data;for(t=0,e=i.length;tn&&this.insertElements(n,i-n)},insertElements:function(t,e){for(var n=0;na?(r=a/e.innerRadius,t.arc(o,s,e.innerRadius-a,i+r,n-r,!0)):t.arc(o,s,a,i+Math.PI/2,n-Math.PI/2),t.closePath(),t.clip()}function ot(t,e,n){var i="inner"===e.borderAlign;i?(t.lineWidth=2*e.borderWidth,t.lineJoin="round"):(t.lineWidth=e.borderWidth,t.lineJoin="bevel"),n.fullCircles&&function(t,e,n,i){var a,r=n.endAngle;for(i&&(n.endAngle=n.startAngle+at,rt(t,n),n.endAngle=r,n.endAngle===n.startAngle&&n.fullCircles&&(n.endAngle+=at,n.fullCircles--)),t.beginPath(),t.arc(n.x,n.y,n.innerRadius,n.startAngle+at,n.startAngle,!0),a=0;as;)a-=at;for(;a=o&&a<=s,u=r>=n.innerRadius&&r<=n.outerRadius;return l&&u}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,n=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,n=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},draw:function(){var t,e=this._chart.ctx,n=this._view,i="inner"===n.borderAlign?.33:0,a={x:n.x,y:n.y,innerRadius:n.innerRadius,outerRadius:Math.max(n.outerRadius-i,0),pixelMargin:i,startAngle:n.startAngle,endAngle:n.endAngle,fullCircles:Math.floor(n.circumference/at)};if(e.save(),e.fillStyle=n.backgroundColor,e.strokeStyle=n.borderColor,a.fullCircles){for(a.endAngle=a.startAngle+at,e.beginPath(),e.arc(a.x,a.y,a.outerRadius,a.startAngle,a.endAngle),e.arc(a.x,a.y,a.innerRadius,a.endAngle,a.startAngle,!0),e.closePath(),t=0;tt.x&&(e=bt(e,"left","right")):t.basen?n:i,r:l.right||a<0?0:a>e?e:a,b:l.bottom||r<0?0:r>n?n:r,l:l.left||o<0?0:o>e?e:o}}function yt(t,e,n){var i=null===e,a=null===n,r=!(!t||i&&a)&&vt(t);return r&&(i||e>=r.left&&e<=r.right)&&(a||n>=r.top&&n<=r.bottom)}N._set("global",{elements:{rectangle:{backgroundColor:pt,borderColor:pt,borderSkipped:"bottom",borderWidth:0}}});var _t=K.extend({_type:"rectangle",draw:function(){var t=this._chart.ctx,e=this._view,n=function(t){var e=vt(t),n=e.right-e.left,i=e.bottom-e.top,a=xt(t,n/2,i/2);return{outer:{x:e.left,y:e.top,w:n,h:i},inner:{x:e.left+a.l,y:e.top+a.t,w:n-a.l-a.r,h:i-a.t-a.b}}}(e),i=n.outer,a=n.inner;t.fillStyle=e.backgroundColor,t.fillRect(i.x,i.y,i.w,i.h),i.w===a.w&&i.h===a.h||(t.save(),t.beginPath(),t.rect(i.x,i.y,i.w,i.h),t.clip(),t.fillStyle=e.borderColor,t.rect(a.x,a.y,a.w,a.h),t.fill("evenodd"),t.restore())},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){return yt(this._view,t,e)},inLabelRange:function(t,e){var n=this._view;return mt(n)?yt(n,t,null):yt(n,null,e)},inXRange:function(t){return yt(this._view,t,null)},inYRange:function(t){return yt(this._view,null,t)},getCenterPoint:function(){var t,e,n=this._view;return mt(n)?(t=n.x,e=(n.y+n.base)/2):(t=(n.x+n.base)/2,e=n.y),{x:t,y:e}},getArea:function(){var t=this._view;return mt(t)?t.width*Math.abs(t.y-t.base):t.height*Math.abs(t.x-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}}),kt={},wt=st,Mt=dt,St=gt,Ct=_t;kt.Arc=wt,kt.Line=Mt,kt.Point=St,kt.Rectangle=Ct;var Pt=H._deprecated,At=H.valueOrDefault;function Dt(t,e,n){var i,a,r=n.barThickness,o=e.stackCount,s=e.pixels[t],l=H.isNullOrUndef(r)?function(t,e){var n,i,a,r,o=t._length;for(a=1,r=e.length;a0?Math.min(o,Math.abs(i-n)):o,n=i;return o}(e.scale,e.pixels):-1;return H.isNullOrUndef(r)?(i=l*n.categoryPercentage,a=n.barPercentage):(i=r*o,a=1),{chunk:i/o,ratio:a,start:s-i/2}}N._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),N._set("global",{datasets:{bar:{categoryPercentage:.8,barPercentage:.9}}});var Tt=it.extend({dataElementType:kt.Rectangle,_dataElementOptions:["backgroundColor","borderColor","borderSkipped","borderWidth","barPercentage","barThickness","categoryPercentage","maxBarThickness","minBarLength"],initialize:function(){var t,e,n=this;it.prototype.initialize.apply(n,arguments),(t=n.getMeta()).stack=n.getDataset().stack,t.bar=!0,e=n._getIndexScale().options,Pt("bar chart",e.barPercentage,"scales.[x/y]Axes.barPercentage","dataset.barPercentage"),Pt("bar chart",e.barThickness,"scales.[x/y]Axes.barThickness","dataset.barThickness"),Pt("bar chart",e.categoryPercentage,"scales.[x/y]Axes.categoryPercentage","dataset.categoryPercentage"),Pt("bar chart",n._getValueScale().options.minBarLength,"scales.[x/y]Axes.minBarLength","dataset.minBarLength"),Pt("bar chart",e.maxBarThickness,"scales.[x/y]Axes.maxBarThickness","dataset.maxBarThickness")},update:function(t){var e,n,i=this.getMeta().data;for(this._ruler=this.getRuler(),e=0,n=i.length;e=0&&p.min>=0?p.min:p.max,y=void 0===p.start?p.end:p.max>=0&&p.min>=0?p.max-p.min:p.min-p.max,_=g.length;if(v||void 0===v&&void 0!==b)for(i=0;i<_&&(a=g[i]).index!==t;++i)a.stack===b&&(r=void 0===(u=h._parseValue(f[a.index].data[e])).start?u.end:u.min>=0&&u.max>=0?u.max:u.min,(p.min<0&&r<0||p.max>=0&&r>0)&&(x+=r));return o=h.getPixelForValue(x),l=(s=h.getPixelForValue(x+y))-o,void 0!==m&&Math.abs(l)=0&&!c||y<0&&c?o-m:o+m),{size:l,base:o,head:s,center:s+l/2}},calculateBarIndexPixels:function(t,e,n,i){var a="flex"===i.barThickness?function(t,e,n){var i,a=e.pixels,r=a[t],o=t>0?a[t-1]:null,s=t=Rt?-zt:b<-Rt?zt:0)+m,y=Math.cos(b),_=Math.sin(b),k=Math.cos(x),w=Math.sin(x),M=b<=0&&x>=0||x>=zt,S=b<=Nt&&x>=Nt||x>=zt+Nt,C=b<=-Nt&&x>=-Nt||x>=Rt+Nt,P=b===-Rt||x>=Rt?-1:Math.min(y,y*p,k,k*p),A=C?-1:Math.min(_,_*p,w,w*p),D=M?1:Math.max(y,y*p,k,k*p),T=S?1:Math.max(_,_*p,w,w*p);u=(D-P)/2,d=(T-A)/2,h=-(D+P)/2,c=-(T+A)/2}for(i=0,a=g.length;i0&&!isNaN(t)?zt*(Math.abs(t)/e):0},getMaxBorderWidth:function(t){var e,n,i,a,r,o,s,l,u=0,d=this.chart;if(!t)for(e=0,n=d.data.datasets.length;e(u=s>u?s:u)?l:u);return u},setHoverStyle:function(t){var e=t._model,n=t._options,i=H.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=Lt(n.hoverBackgroundColor,i(n.backgroundColor)),e.borderColor=Lt(n.hoverBorderColor,i(n.borderColor)),e.borderWidth=Lt(n.hoverBorderWidth,n.borderWidth)},_getRingWeightOffset:function(t){for(var e=0,n=0;n0&&Ht(l[t-1]._model,s)&&(n.controlPointPreviousX=u(n.controlPointPreviousX,s.left,s.right),n.controlPointPreviousY=u(n.controlPointPreviousY,s.top,s.bottom)),t0&&(r=t.getDatasetMeta(r[0]._datasetIndex).data),r},"x-axis":function(t,e){return ae(t,e,{intersect:!1})},point:function(t,e){return ee(t,Qt(e,t))},nearest:function(t,e,n){var i=Qt(e,t);n.axis=n.axis||"xy";var a=ie(n.axis);return ne(t,i,n.intersect,a)},x:function(t,e,n){var i=Qt(e,t),a=[],r=!1;return te(t,(function(t){t.inXRange(i.x)&&a.push(t),t.inRange(i.x,i.y)&&(r=!0)})),n.intersect&&!r&&(a=[]),a},y:function(t,e,n){var i=Qt(e,t),a=[],r=!1;return te(t,(function(t){t.inYRange(i.y)&&a.push(t),t.inRange(i.x,i.y)&&(r=!0)})),n.intersect&&!r&&(a=[]),a}}},oe=H.extend;function se(t,e){return H.where(t,(function(t){return t.pos===e}))}function le(t,e){return t.sort((function(t,n){var i=e?n:t,a=e?t:n;return i.weight===a.weight?i.index-a.index:i.weight-a.weight}))}function ue(t,e,n,i){return Math.max(t[n],e[n])+Math.max(t[i],e[i])}function de(t,e,n){var i,a,r=n.box,o=t.maxPadding;if(n.size&&(t[n.pos]-=n.size),n.size=n.horizontal?r.height:r.width,t[n.pos]+=n.size,r.getPadding){var s=r.getPadding();o.top=Math.max(o.top,s.top),o.left=Math.max(o.left,s.left),o.bottom=Math.max(o.bottom,s.bottom),o.right=Math.max(o.right,s.right)}if(i=e.outerWidth-ue(o,t,"left","right"),a=e.outerHeight-ue(o,t,"top","bottom"),i!==t.w||a!==t.h){t.w=i,t.h=a;var l=n.horizontal?[i,t.w]:[a,t.h];return!(l[0]===l[1]||isNaN(l[0])&&isNaN(l[1]))}}function he(t,e){var n=e.maxPadding;function i(t){var i={left:0,top:0,right:0,bottom:0};return t.forEach((function(t){i[t]=Math.max(e[t],n[t])})),i}return i(t?["left","right"]:["top","bottom"])}function ce(t,e,n){var i,a,r,o,s,l,u=[];for(i=0,a=t.length;idiv{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}"}))&&ge.default||ge,ve="$chartjs",be="chartjs-size-monitor",xe="chartjs-render-monitor",ye="chartjs-render-animation",_e=["animationstart","webkitAnimationStart"],ke={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function we(t,e){var n=H.getStyle(t,e),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?Number(i[1]):void 0}var Me=!!function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("e",null,e)}catch(t){}return t}()&&{passive:!0};function Se(t,e,n){t.addEventListener(e,n,Me)}function Ce(t,e,n){t.removeEventListener(e,n,Me)}function Pe(t,e,n,i,a){return{type:t,chart:e,native:a||null,x:void 0!==n?n:null,y:void 0!==i?i:null}}function Ae(t){var e=document.createElement("div");return e.className=t||"",e}function De(t,e,n){var i,a,r,o,s=t[ve]||(t[ve]={}),l=s.resizer=function(t){var e=Ae(be),n=Ae(be+"-expand"),i=Ae(be+"-shrink");n.appendChild(Ae()),i.appendChild(Ae()),e.appendChild(n),e.appendChild(i),e._reset=function(){n.scrollLeft=1e6,n.scrollTop=1e6,i.scrollLeft=1e6,i.scrollTop=1e6};var a=function(){e._reset(),t()};return Se(n,"scroll",a.bind(n,"expand")),Se(i,"scroll",a.bind(i,"shrink")),e}((i=function(){if(s.resizer){var i=n.options.maintainAspectRatio&&t.parentNode,a=i?i.clientWidth:0;e(Pe("resize",n)),i&&i.clientWidth0){var r=t[0];r.label?n=r.label:r.xLabel?n=r.xLabel:a>0&&r.index-1?t.split("\n"):t}function Ve(t){var e=N.global;return{xPadding:t.xPadding,yPadding:t.yPadding,xAlign:t.xAlign,yAlign:t.yAlign,rtl:t.rtl,textDirection:t.textDirection,bodyFontColor:t.bodyFontColor,_bodyFontFamily:ze(t.bodyFontFamily,e.defaultFontFamily),_bodyFontStyle:ze(t.bodyFontStyle,e.defaultFontStyle),_bodyAlign:t.bodyAlign,bodyFontSize:ze(t.bodyFontSize,e.defaultFontSize),bodySpacing:t.bodySpacing,titleFontColor:t.titleFontColor,_titleFontFamily:ze(t.titleFontFamily,e.defaultFontFamily),_titleFontStyle:ze(t.titleFontStyle,e.defaultFontStyle),titleFontSize:ze(t.titleFontSize,e.defaultFontSize),_titleAlign:t.titleAlign,titleSpacing:t.titleSpacing,titleMarginBottom:t.titleMarginBottom,footerFontColor:t.footerFontColor,_footerFontFamily:ze(t.footerFontFamily,e.defaultFontFamily),_footerFontStyle:ze(t.footerFontStyle,e.defaultFontStyle),footerFontSize:ze(t.footerFontSize,e.defaultFontSize),_footerAlign:t.footerAlign,footerSpacing:t.footerSpacing,footerMarginTop:t.footerMarginTop,caretSize:t.caretSize,cornerRadius:t.cornerRadius,backgroundColor:t.backgroundColor,opacity:0,legendColorBackground:t.multiKeyBackground,displayColors:t.displayColors,borderColor:t.borderColor,borderWidth:t.borderWidth}}function He(t,e){return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-t.xPadding:t.x+t.xPadding}function je(t){return Ee([],We(t))}var qe=K.extend({initialize:function(){this._model=Ve(this._options),this._lastActive=[]},getTitle:function(){var t=this,e=t._options,n=e.callbacks,i=n.beforeTitle.apply(t,arguments),a=n.title.apply(t,arguments),r=n.afterTitle.apply(t,arguments),o=[];return o=Ee(o,We(i)),o=Ee(o,We(a)),o=Ee(o,We(r))},getBeforeBody:function(){return je(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(t,e){var n=this,i=n._options.callbacks,a=[];return H.each(t,(function(t){var r={before:[],lines:[],after:[]};Ee(r.before,We(i.beforeLabel.call(n,t,e))),Ee(r.lines,i.label.call(n,t,e)),Ee(r.after,We(i.afterLabel.call(n,t,e))),a.push(r)})),a},getAfterBody:function(){return je(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var t=this,e=t._options.callbacks,n=e.beforeFooter.apply(t,arguments),i=e.footer.apply(t,arguments),a=e.afterFooter.apply(t,arguments),r=[];return r=Ee(r,We(n)),r=Ee(r,We(i)),r=Ee(r,We(a))},update:function(t){var e,n,i,a,r,o,s,l,u,d,h=this,c=h._options,f=h._model,g=h._model=Ve(c),p=h._active,m=h._data,v={xAlign:f.xAlign,yAlign:f.yAlign},b={x:f.x,y:f.y},x={width:f.width,height:f.height},y={x:f.caretX,y:f.caretY};if(p.length){g.opacity=1;var _=[],k=[];y=Be[c.position].call(h,p,h._eventPosition);var w=[];for(e=0,n=p.length;ei.width&&(a=i.width-e.width),a<0&&(a=0)),"top"===d?r+=h:r-="bottom"===d?e.height+h:e.height/2,"center"===d?"left"===u?a+=h:"right"===u&&(a-=h):"left"===u?a-=c:"right"===u&&(a+=c),{x:a,y:r}}(g,x,v=function(t,e){var n,i,a,r,o,s=t._model,l=t._chart,u=t._chart.chartArea,d="center",h="center";s.yl.height-e.height&&(h="bottom");var c=(u.left+u.right)/2,f=(u.top+u.bottom)/2;"center"===h?(n=function(t){return t<=c},i=function(t){return t>c}):(n=function(t){return t<=e.width/2},i=function(t){return t>=l.width-e.width/2}),a=function(t){return t+e.width+s.caretSize+s.caretPadding>l.width},r=function(t){return t-e.width-s.caretSize-s.caretPadding<0},o=function(t){return t<=f?"top":"bottom"},n(s.x)?(d="left",a(s.x)&&(d="center",h=o(s.y))):i(s.x)&&(d="right",r(s.x)&&(d="center",h=o(s.y)));var g=t._options;return{xAlign:g.xAlign?g.xAlign:d,yAlign:g.yAlign?g.yAlign:h}}(this,x),h._chart)}else g.opacity=0;return g.xAlign=v.xAlign,g.yAlign=v.yAlign,g.x=b.x,g.y=b.y,g.width=x.width,g.height=x.height,g.caretX=y.x,g.caretY=y.y,h._model=g,t&&c.custom&&c.custom.call(h,g),h},drawCaret:function(t,e){var n=this._chart.ctx,i=this._view,a=this.getCaretPosition(t,e,i);n.lineTo(a.x1,a.y1),n.lineTo(a.x2,a.y2),n.lineTo(a.x3,a.y3)},getCaretPosition:function(t,e,n){var i,a,r,o,s,l,u=n.caretSize,d=n.cornerRadius,h=n.xAlign,c=n.yAlign,f=t.x,g=t.y,p=e.width,m=e.height;if("center"===c)s=g+m/2,"left"===h?(a=(i=f)-u,r=i,o=s+u,l=s-u):(a=(i=f+p)+u,r=i,o=s-u,l=s+u);else if("left"===h?(i=(a=f+d+u)-u,r=a+u):"right"===h?(i=(a=f+p-d-u)-u,r=a+u):(i=(a=n.caretX)-u,r=a+u),"top"===c)s=(o=g)-u,l=o;else{s=(o=g+m)+u,l=o;var v=r;r=i,i=v}return{x1:i,x2:a,x3:r,y1:o,y2:s,y3:l}},drawTitle:function(t,e,n){var i,a,r,o=e.title,s=o.length;if(s){var l=Ne(e.rtl,e.x,e.width);for(t.x=He(e,e._titleAlign),n.textAlign=l.textAlign(e._titleAlign),n.textBaseline="middle",i=e.titleFontSize,a=e.titleSpacing,n.fillStyle=e.titleFontColor,n.font=H.fontString(i,e._titleFontStyle,e._titleFontFamily),r=0;r0&&n.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var n={width:e.width,height:e.height},i={x:e.x,y:e.y},a=Math.abs(e.opacity<.001)?0:e.opacity,r=e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length;this._options.enabled&&r&&(t.save(),t.globalAlpha=a,this.drawBackground(i,e,t,n),i.y+=e.yPadding,H.rtl.overrideTextDirection(t,e.textDirection),this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),H.rtl.restoreTextDirection(t,e.textDirection),t.restore())}},handleEvent:function(t){var e,n=this,i=n._options;return n._lastActive=n._lastActive||[],"mouseout"===t.type?n._active=[]:(n._active=n._chart.getElementsAtEventForMode(t,i.mode,i),i.reverse&&n._active.reverse()),(e=!H.arrayEquals(n._active,n._lastActive))&&(n._lastActive=n._active,(i.enabled||i.custom)&&(n._eventPosition={x:t.x,y:t.y},n.update(!0),n.pivot())),e}}),Ue=Be,Ye=qe;Ye.positioners=Ue;var Ge=H.valueOrDefault;function Xe(){return H.merge(Object.create(null),[].slice.call(arguments),{merger:function(t,e,n,i){if("xAxes"===t||"yAxes"===t){var a,r,o,s=n[t].length;for(e[t]||(e[t]=[]),a=0;a=e[t].length&&e[t].push({}),!e[t][a].type||o.type&&o.type!==e[t][a].type?H.merge(e[t][a],[Re.getScaleDefaults(r),o]):H.merge(e[t][a],o)}else H._merger(t,e,n,i)}})}function Ke(){return H.merge(Object.create(null),[].slice.call(arguments),{merger:function(t,e,n,i){var a=e[t]||Object.create(null),r=n[t];"scales"===t?e[t]=Xe(a,r):"scale"===t?e[t]=H.merge(a,[Re.getScaleDefaults(r.type),r]):H._merger(t,e,n,i)}})}function Ze(t){var e=t.options;H.each(t.scales,(function(e){pe.removeBox(t,e)})),e=Ke(N.global,N[t.config.type],e),t.options=t.config.options=e,t.ensureScalesHaveIDs(),t.buildOrUpdateScales(),t.tooltip._options=e.tooltips,t.tooltip.initialize()}function $e(t,e,n){var i,a=function(t){return t.id===i};do{i=e+n++}while(H.findIndex(t,a)>=0);return i}function Je(t){return"top"===t||"bottom"===t}function Qe(t,e){return function(n,i){return n[t]===i[t]?n[e]-i[e]:n[t]-i[t]}}N._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var tn=function(t,e){return this.construct(t,e),this};H.extend(tn.prototype,{construct:function(t,e){var n=this;e=function(t){var e=(t=t||Object.create(null)).data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=Ke(N.global,N[t.type],t.options||{}),t}(e);var i=Oe.acquireContext(t,e),a=i&&i.canvas,r=a&&a.height,o=a&&a.width;n.id=H.uid(),n.ctx=i,n.canvas=a,n.config=e,n.width=o,n.height=r,n.aspectRatio=r?o/r:null,n.options=e.options,n._bufferedRender=!1,n._layers=[],n.chart=n,n.controller=n,tn.instances[n.id]=n,Object.defineProperty(n,"data",{get:function(){return n.config.data},set:function(t){n.config.data=t}}),i&&a?(n.initialize(),n.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var t=this;return Le.notify(t,"beforeInit"),H.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.initToolTip(),Le.notify(t,"afterInit"),t},clear:function(){return H.canvas.clear(this),this},stop:function(){return J.cancelAnimation(this),this},resize:function(t){var e=this,n=e.options,i=e.canvas,a=n.maintainAspectRatio&&e.aspectRatio||null,r=Math.max(0,Math.floor(H.getMaximumWidth(i))),o=Math.max(0,Math.floor(a?r/a:H.getMaximumHeight(i)));if((e.width!==r||e.height!==o)&&(i.width=e.width=r,i.height=e.height=o,i.style.width=r+"px",i.style.height=o+"px",H.retinaScale(e,n.devicePixelRatio),!t)){var s={width:r,height:o};Le.notify(e,"resize",[s]),n.onResize&&n.onResize(e,s),e.stop(),e.update({duration:n.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},n=t.scale;H.each(e.xAxes,(function(t,n){t.id||(t.id=$e(e.xAxes,"x-axis-",n))})),H.each(e.yAxes,(function(t,n){t.id||(t.id=$e(e.yAxes,"y-axis-",n))})),n&&(n.id=n.id||"scale")},buildOrUpdateScales:function(){var t=this,e=t.options,n=t.scales||{},i=[],a=Object.keys(n).reduce((function(t,e){return t[e]=!1,t}),{});e.scales&&(i=i.concat((e.scales.xAxes||[]).map((function(t){return{options:t,dtype:"category",dposition:"bottom"}})),(e.scales.yAxes||[]).map((function(t){return{options:t,dtype:"linear",dposition:"left"}})))),e.scale&&i.push({options:e.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),H.each(i,(function(e){var i=e.options,r=i.id,o=Ge(i.type,e.dtype);Je(i.position)!==Je(e.dposition)&&(i.position=e.dposition),a[r]=!0;var s=null;if(r in n&&n[r].type===o)(s=n[r]).options=i,s.ctx=t.ctx,s.chart=t;else{var l=Re.getScaleConstructor(o);if(!l)return;s=new l({id:r,type:o,options:i,ctx:t.ctx,chart:t}),n[s.id]=s}s.mergeTicksOptions(),e.isDefault&&(t.scale=s)})),H.each(a,(function(t,e){t||delete n[e]})),t.scales=n,Re.addScalesToLayout(this)},buildOrUpdateControllers:function(){var t,e,n=this,i=[],a=n.data.datasets;for(t=0,e=a.length;t=0;--n)this.drawDataset(e[n],t);Le.notify(this,"afterDatasetsDraw",[t])}},drawDataset:function(t,e){var n={meta:t,index:t.index,easingValue:e};!1!==Le.notify(this,"beforeDatasetDraw",[n])&&(t.controller.draw(e),Le.notify(this,"afterDatasetDraw",[n]))},_drawTooltip:function(t){var e=this.tooltip,n={tooltip:e,easingValue:t};!1!==Le.notify(this,"beforeTooltipDraw",[n])&&(e.draw(),Le.notify(this,"afterTooltipDraw",[n]))},getElementAtEvent:function(t){return re.modes.single(this,t)},getElementsAtEvent:function(t){return re.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return re.modes["x-axis"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,n){var i=re.modes[e];return"function"==typeof i?i(this,t,n):[]},getDatasetAtEvent:function(t){return re.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this.data.datasets[t];e._meta||(e._meta={});var n=e._meta[this.id];return n||(n=e._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e.order||0,index:t}),n},getVisibleDatasetCount:function(){for(var t=0,e=0,n=this.data.datasets.length;e3?n[2]-n[1]:n[1]-n[0];Math.abs(i)>1&&t!==Math.floor(t)&&(i=t-Math.floor(t));var a=H.log10(Math.abs(i)),r="";if(0!==t)if(Math.max(Math.abs(n[0]),Math.abs(n[n.length-1]))<1e-4){var o=H.log10(Math.abs(t)),s=Math.floor(o)-Math.floor(a);s=Math.max(Math.min(s,20),0),r=t.toExponential(s)}else{var l=-1*Math.floor(a);l=Math.max(Math.min(l,20),0),r=t.toFixed(l)}else r="0";return r},logarithmic:function(t,e,n){var i=t/Math.pow(10,Math.floor(H.log10(t)));return 0===t?"0":1===i||2===i||5===i||0===e||e===n.length-1?t.toExponential():""}}},sn=H.isArray,ln=H.isNullOrUndef,un=H.valueOrDefault,dn=H.valueAtIndexOrDefault;function hn(t,e,n){var i,a=t.getTicks().length,r=Math.min(e,a-1),o=t.getPixelForTick(r),s=t._startPixel,l=t._endPixel;if(!(n&&(i=1===a?Math.max(o-s,l-o):0===e?(t.getPixelForTick(1)-o)/2:(o-t.getPixelForTick(r-1))/2,(o+=rl+1e-6)))return o}function cn(t,e,n,i){var a,r,o,s,l,u,d,h,c,f,g,p,m,v=n.length,b=[],x=[],y=[],_=0,k=0;for(a=0;ae){for(n=0;n=c||d<=1||!s.isHorizontal()?s.labelRotation=h:(e=(t=s._getLabelSizes()).widest.width,n=t.highest.height-t.highest.offset,i=Math.min(s.maxWidth,s.chart.width-e),e+6>(a=l.offset?s.maxWidth/d:i/(d-1))&&(a=i/(d-(l.offset?.5:1)),r=s.maxHeight-fn(l.gridLines)-u.padding-gn(l.scaleLabel),o=Math.sqrt(e*e+n*n),f=H.toDegrees(Math.min(Math.asin(Math.min((t.highest.height+6)/a,1)),Math.asin(Math.min(r/o,1))-Math.asin(n/o))),f=Math.max(h,Math.min(c,f))),s.labelRotation=f)},afterCalculateTickRotation:function(){H.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){H.callback(this.options.beforeFit,[this])},fit:function(){var t=this,e=t.minSize={width:0,height:0},n=t.chart,i=t.options,a=i.ticks,r=i.scaleLabel,o=i.gridLines,s=t._isVisible(),l="bottom"===i.position,u=t.isHorizontal();if(u?e.width=t.maxWidth:s&&(e.width=fn(o)+gn(r)),u?s&&(e.height=fn(o)+gn(r)):e.height=t.maxHeight,a.display&&s){var d=mn(a),h=t._getLabelSizes(),c=h.first,f=h.last,g=h.widest,p=h.highest,m=.4*d.minor.lineHeight,v=a.padding;if(u){var b=0!==t.labelRotation,x=H.toRadians(t.labelRotation),y=Math.cos(x),_=Math.sin(x),k=_*g.width+y*(p.height-(b?p.offset:0))+(b?0:m);e.height=Math.min(t.maxHeight,e.height+k+v);var w,M,S=t.getPixelForTick(0)-t.left,C=t.right-t.getPixelForTick(t.getTicks().length-1);b?(w=l?y*c.width+_*c.offset:_*(c.height-c.offset),M=l?_*(f.height-f.offset):y*f.width+_*f.offset):(w=c.width/2,M=f.width/2),t.paddingLeft=Math.max((w-S)*t.width/(t.width-S),0)+3,t.paddingRight=Math.max((M-C)*t.width/(t.width-C),0)+3}else{var P=a.mirror?0:g.width+v+m;e.width=Math.min(t.maxWidth,e.width+P),t.paddingTop=c.height/2,t.paddingBottom=f.height/2}}t.handleMargins(),u?(t.width=t._length=n.width-t.margins.left-t.margins.right,t.height=e.height):(t.width=e.width,t.height=t._length=n.height-t.margins.top-t.margins.bottom)},handleMargins:function(){var t=this;t.margins&&(t.margins.left=Math.max(t.paddingLeft,t.margins.left),t.margins.top=Math.max(t.paddingTop,t.margins.top),t.margins.right=Math.max(t.paddingRight,t.margins.right),t.margins.bottom=Math.max(t.paddingBottom,t.margins.bottom))},afterFit:function(){H.callback(this.options.afterFit,[this])},isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(ln(t))return NaN;if(("number"==typeof t||t instanceof Number)&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},_convertTicksToLabels:function(t){var e,n,i,a=this;for(a.ticks=t.map((function(t){return t.value})),a.beforeTickToLabelConversion(),e=a.convertTicksToLabels(t)||a.ticks,a.afterTickToLabelConversion(),n=0,i=t.length;nn-1?null:this.getPixelForDecimal(t*i+(e?i/2:0))},getPixelForDecimal:function(t){return this._reversePixels&&(t=1-t),this._startPixel+t*this._length},getDecimalForPixel:function(t){var e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this.min,e=this.max;return this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0},_autoSkip:function(t){var e,n,i,a,r=this.options.ticks,o=this._length,s=r.maxTicksLimit||o/this._tickSize()+1,l=r.major.enabled?function(t){var e,n,i=[];for(e=0,n=t.length;es)return function(t,e,n){var i,a,r=0,o=e[0];for(n=Math.ceil(n),i=0;iu)return r;return Math.max(u,1)}(l,t,0,s),u>0){for(e=0,n=u-1;e1?(h-d)/(u-1):null,bn(t,i,H.isNullOrUndef(a)?0:d-a,d),bn(t,i,h,H.isNullOrUndef(a)?t.length:h+a),vn(t)}return bn(t,i),vn(t)},_tickSize:function(){var t=this.options.ticks,e=H.toRadians(this.labelRotation),n=Math.abs(Math.cos(e)),i=Math.abs(Math.sin(e)),a=this._getLabelSizes(),r=t.autoSkipPadding||0,o=a?a.widest.width+r:0,s=a?a.highest.height+r:0;return this.isHorizontal()?s*n>o*i?o/n:s/i:s*i=0&&(o=t),void 0!==r&&(t=n.indexOf(r))>=0&&(s=t),e.minIndex=o,e.maxIndex=s,e.min=n[o],e.max=n[s]},buildTicks:function(){var t=this._getLabels(),e=this.minIndex,n=this.maxIndex;this.ticks=0===e&&n===t.length-1?t:t.slice(e,n+1)},getLabelForIndex:function(t,e){var n=this.chart;return n.getDatasetMeta(e).controller._getValueScaleId()===this.id?this.getRightValue(n.data.datasets[e].data[t]):this._getLabels()[t]},_configure:function(){var t=this,e=t.options.offset,n=t.ticks;yn.prototype._configure.call(t),t.isHorizontal()||(t._reversePixels=!t._reversePixels),n&&(t._startValue=t.minIndex-(e?.5:0),t._valueRange=Math.max(n.length-(e?0:1),1))},getPixelForValue:function(t,e,n){var i,a,r,o=this;return _n(e)||_n(n)||(t=o.chart.data.datasets[n].data[e]),_n(t)||(i=o.isHorizontal()?t.x:t.y),(void 0!==i||void 0!==t&&isNaN(e))&&(a=o._getLabels(),t=H.valueOrDefault(i,t),e=-1!==(r=a.indexOf(t))?r:e,isNaN(e)&&(e=t)),o.getPixelForDecimal((e-o._startValue)/o._valueRange)},getPixelForTick:function(t){var e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t],t+this.minIndex)},getValueForPixel:function(t){var e=Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange);return Math.min(Math.max(e,0),this.ticks.length-1)},getBasePixel:function(){return this.bottom}}),wn={position:"bottom"};kn._defaults=wn;var Mn=H.noop,Sn=H.isNullOrUndef;var Cn=yn.extend({getRightValue:function(t){return"string"==typeof t?+t:yn.prototype.getRightValue.call(this,t)},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;if(e.beginAtZero){var n=H.sign(t.min),i=H.sign(t.max);n<0&&i<0?t.max=0:n>0&&i>0&&(t.min=0)}var a=void 0!==e.min||void 0!==e.suggestedMin,r=void 0!==e.max||void 0!==e.suggestedMax;void 0!==e.min?t.min=e.min:void 0!==e.suggestedMin&&(null===t.min?t.min=e.suggestedMin:t.min=Math.min(t.min,e.suggestedMin)),void 0!==e.max?t.max=e.max:void 0!==e.suggestedMax&&(null===t.max?t.max=e.suggestedMax:t.max=Math.max(t.max,e.suggestedMax)),a!==r&&t.min>=t.max&&(a?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,e.beginAtZero||t.min--)},getTickLimit:function(){var t,e=this.options.ticks,n=e.stepSize,i=e.maxTicksLimit;return n?t=Math.ceil(this.max/n)-Math.floor(this.min/n)+1:(t=this._computeTickLimit(),i=i||11),i&&(t=Math.min(i,t)),t},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:Mn,buildTicks:function(){var t=this,e=t.options.ticks,n=t.getTickLimit(),i={maxTicks:n=Math.max(2,n),min:e.min,max:e.max,precision:e.precision,stepSize:H.valueOrDefault(e.fixedStepSize,e.stepSize)},a=t.ticks=function(t,e){var n,i,a,r,o=[],s=t.stepSize,l=s||1,u=t.maxTicks-1,d=t.min,h=t.max,c=t.precision,f=e.min,g=e.max,p=H.niceNum((g-f)/u/l)*l;if(p<1e-14&&Sn(d)&&Sn(h))return[f,g];(r=Math.ceil(g/p)-Math.floor(f/p))>u&&(p=H.niceNum(r*p/u/l)*l),s||Sn(c)?n=Math.pow(10,H._decimalPlaces(p)):(n=Math.pow(10,c),p=Math.ceil(p*n)/n),i=Math.floor(f/p)*p,a=Math.ceil(g/p)*p,s&&(!Sn(d)&&H.almostWhole(d/p,p/1e3)&&(i=d),!Sn(h)&&H.almostWhole(h/p,p/1e3)&&(a=h)),r=(a-i)/p,r=H.almostEquals(r,Math.round(r),p/1e3)?Math.round(r):Math.ceil(r),i=Math.round(i*n)/n,a=Math.round(a*n)/n,o.push(Sn(d)?i:d);for(var m=1;me.length-1?null:this.getPixelForValue(e[t])}}),In=Pn;Tn._defaults=In;var Fn=H.valueOrDefault,On=H.math.log10;var Ln={position:"left",ticks:{callback:on.formatters.logarithmic}};function Rn(t,e){return H.isFinite(t)&&t>=0?t:e}var zn=yn.extend({determineDataLimits:function(){var t,e,n,i,a,r,o=this,s=o.options,l=o.chart,u=l.data.datasets,d=o.isHorizontal();function h(t){return d?t.xAxisID===o.id:t.yAxisID===o.id}o.min=Number.POSITIVE_INFINITY,o.max=Number.NEGATIVE_INFINITY,o.minNotZero=Number.POSITIVE_INFINITY;var c=s.stacked;if(void 0===c)for(t=0;t0){var e=H.min(t),n=H.max(t);o.min=Math.min(o.min,e),o.max=Math.max(o.max,n)}}))}else for(t=0;t0?t.minNotZero=t.min:t.max<1?t.minNotZero=Math.pow(10,Math.floor(On(t.max))):t.minNotZero=1)},buildTicks:function(){var t=this,e=t.options.ticks,n=!t.isHorizontal(),i={min:Rn(e.min),max:Rn(e.max)},a=t.ticks=function(t,e){var n,i,a=[],r=Fn(t.min,Math.pow(10,Math.floor(On(e.min)))),o=Math.floor(On(e.max)),s=Math.ceil(e.max/Math.pow(10,o));0===r?(n=Math.floor(On(e.minNotZero)),i=Math.floor(e.minNotZero/Math.pow(10,n)),a.push(r),r=i*Math.pow(10,n)):(n=Math.floor(On(r)),i=Math.floor(r/Math.pow(10,n)));var l=n<0?Math.pow(10,Math.abs(n)):1;do{a.push(r),10===++i&&(i=1,l=++n>=0?1:l),r=Math.round(i*Math.pow(10,n)*l)/l}while(ne.length-1?null:this.getPixelForValue(e[t])},_getFirstTickValue:function(t){var e=Math.floor(On(t));return Math.floor(t/Math.pow(10,e))*Math.pow(10,e)},_configure:function(){var t=this,e=t.min,n=0;yn.prototype._configure.call(t),0===e&&(e=t._getFirstTickValue(t.minNotZero),n=Fn(t.options.ticks.fontSize,N.global.defaultFontSize)/t._length),t._startValue=On(e),t._valueOffset=n,t._valueRange=(On(t.max)-On(e))/(1-n)},getPixelForValue:function(t){var e=this,n=0;return(t=+e.getRightValue(t))>e.min&&t>0&&(n=(On(t)-e._startValue)/e._valueRange+e._valueOffset),e.getPixelForDecimal(n)},getValueForPixel:function(t){var e=this,n=e.getDecimalForPixel(t);return 0===n&&0===e.min?0:Math.pow(10,e._startValue+(n-e._valueOffset)*e._valueRange)}}),Nn=Ln;zn._defaults=Nn;var Bn=H.valueOrDefault,En=H.valueAtIndexOrDefault,Wn=H.options.resolve,Vn={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:on.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(t){return t}}};function Hn(t){var e=t.ticks;return e.display&&t.display?Bn(e.fontSize,N.global.defaultFontSize)+2*e.backdropPaddingY:0}function jn(t,e,n,i,a){return t===i||t===a?{start:e-n/2,end:e+n/2}:ta?{start:e-n,end:e}:{start:e,end:e+n}}function qn(t){return 0===t||180===t?"center":t<180?"left":"right"}function Un(t,e,n,i){var a,r,o=n.y+i/2;if(H.isArray(e))for(a=0,r=e.length;a270||t<90)&&(n.y-=e.h)}function Gn(t){return H.isNumber(t)?t:0}var Xn=Cn.extend({setDimensions:function(){var t=this;t.width=t.maxWidth,t.height=t.maxHeight,t.paddingTop=Hn(t.options)/2,t.xCenter=Math.floor(t.width/2),t.yCenter=Math.floor((t.height-t.paddingTop)/2),t.drawingArea=Math.min(t.height-t.paddingTop,t.width)/2},determineDataLimits:function(){var t=this,e=t.chart,n=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;H.each(e.data.datasets,(function(a,r){if(e.isDatasetVisible(r)){var o=e.getDatasetMeta(r);H.each(a.data,(function(e,a){var r=+t.getRightValue(e);isNaN(r)||o.data[a].hidden||(n=Math.min(r,n),i=Math.max(r,i))}))}})),t.min=n===Number.POSITIVE_INFINITY?0:n,t.max=i===Number.NEGATIVE_INFINITY?0:i,t.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/Hn(this.options))},convertTicksToLabels:function(){var t=this;Cn.prototype.convertTicksToLabels.call(t),t.pointLabels=t.chart.data.labels.map((function(){var e=H.callback(t.options.pointLabels.callback,arguments,t);return e||0===e?e:""}))},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){var t=this.options;t.display&&t.pointLabels.display?function(t){var e,n,i,a=H.options._parseFont(t.options.pointLabels),r={l:0,r:t.width,t:0,b:t.height-t.paddingTop},o={};t.ctx.font=a.string,t._pointLabelSizes=[];var s,l,u,d=t.chart.data.labels.length;for(e=0;er.r&&(r.r=f.end,o.r=h),g.startr.b&&(r.b=g.end,o.b=h)}t.setReductions(t.drawingArea,r,o)}(this):this.setCenterPoint(0,0,0,0)},setReductions:function(t,e,n){var i=this,a=e.l/Math.sin(n.l),r=Math.max(e.r-i.width,0)/Math.sin(n.r),o=-e.t/Math.cos(n.t),s=-Math.max(e.b-(i.height-i.paddingTop),0)/Math.cos(n.b);a=Gn(a),r=Gn(r),o=Gn(o),s=Gn(s),i.drawingArea=Math.min(Math.floor(t-(a+r)/2),Math.floor(t-(o+s)/2)),i.setCenterPoint(a,r,o,s)},setCenterPoint:function(t,e,n,i){var a=this,r=a.width-e-a.drawingArea,o=t+a.drawingArea,s=n+a.drawingArea,l=a.height-a.paddingTop-i-a.drawingArea;a.xCenter=Math.floor((o+r)/2+a.left),a.yCenter=Math.floor((s+l)/2+a.top+a.paddingTop)},getIndexAngle:function(t){var e=this.chart,n=(t*(360/e.data.labels.length)+((e.options||{}).startAngle||0))%360;return(n<0?n+360:n)*Math.PI*2/360},getDistanceFromCenterForValue:function(t){var e=this;if(H.isNullOrUndef(t))return NaN;var n=e.drawingArea/(e.max-e.min);return e.options.ticks.reverse?(e.max-t)*n:(t-e.min)*n},getPointPosition:function(t,e){var n=this.getIndexAngle(t)-Math.PI/2;return{x:Math.cos(n)*e+this.xCenter,y:Math.sin(n)*e+this.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(t){var e=this.min,n=this.max;return this.getPointPositionForValue(t||0,this.beginAtZero?0:e<0&&n<0?n:e>0&&n>0?e:0)},_drawGrid:function(){var t,e,n,i=this,a=i.ctx,r=i.options,o=r.gridLines,s=r.angleLines,l=Bn(s.lineWidth,o.lineWidth),u=Bn(s.color,o.color);if(r.pointLabels.display&&function(t){var e=t.ctx,n=t.options,i=n.pointLabels,a=Hn(n),r=t.getDistanceFromCenterForValue(n.ticks.reverse?t.min:t.max),o=H.options._parseFont(i);e.save(),e.font=o.string,e.textBaseline="middle";for(var s=t.chart.data.labels.length-1;s>=0;s--){var l=0===s?a/2:0,u=t.getPointPosition(s,r+l+5),d=En(i.fontColor,s,N.global.defaultFontColor);e.fillStyle=d;var h=t.getIndexAngle(s),c=H.toDegrees(h);e.textAlign=qn(c),Yn(c,t._pointLabelSizes[s],u),Un(e,t.pointLabels[s],u,o.lineHeight)}e.restore()}(i),o.display&&H.each(i.ticks,(function(t,n){0!==n&&(e=i.getDistanceFromCenterForValue(i.ticksAsNumbers[n]),function(t,e,n,i){var a,r=t.ctx,o=e.circular,s=t.chart.data.labels.length,l=En(e.color,i-1),u=En(e.lineWidth,i-1);if((o||s)&&l&&u){if(r.save(),r.strokeStyle=l,r.lineWidth=u,r.setLineDash&&(r.setLineDash(e.borderDash||[]),r.lineDashOffset=e.borderDashOffset||0),r.beginPath(),o)r.arc(t.xCenter,t.yCenter,n,0,2*Math.PI);else{a=t.getPointPosition(0,n),r.moveTo(a.x,a.y);for(var d=1;d=0;t--)e=i.getDistanceFromCenterForValue(r.ticks.reverse?i.min:i.max),n=i.getPointPosition(t,e),a.beginPath(),a.moveTo(i.xCenter,i.yCenter),a.lineTo(n.x,n.y),a.stroke();a.restore()}},_drawLabels:function(){var t=this,e=t.ctx,n=t.options.ticks;if(n.display){var i,a,r=t.getIndexAngle(0),o=H.options._parseFont(n),s=Bn(n.fontColor,N.global.defaultFontColor);e.save(),e.font=o.string,e.translate(t.xCenter,t.yCenter),e.rotate(r),e.textAlign="center",e.textBaseline="middle",H.each(t.ticks,(function(r,l){(0!==l||n.reverse)&&(i=t.getDistanceFromCenterForValue(t.ticksAsNumbers[l]),n.showLabelBackdrop&&(a=e.measureText(r).width,e.fillStyle=n.backdropColor,e.fillRect(-a/2-n.backdropPaddingX,-i-o.size/2-n.backdropPaddingY,a+2*n.backdropPaddingX,o.size+2*n.backdropPaddingY)),e.fillStyle=s,e.fillText(r,0,-i))})),e.restore()}},_drawTitle:H.noop}),Kn=Vn;Xn._defaults=Kn;var Zn=H._deprecated,$n=H.options.resolve,Jn=H.valueOrDefault,Qn=Number.MIN_SAFE_INTEGER||-9007199254740991,ti=Number.MAX_SAFE_INTEGER||9007199254740991,ei={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ni=Object.keys(ei);function ii(t,e){return t-e}function ai(t){return H.valueOrDefault(t.time.min,t.ticks.min)}function ri(t){return H.valueOrDefault(t.time.max,t.ticks.max)}function oi(t,e,n,i){var a=function(t,e,n){for(var i,a,r,o=0,s=t.length-1;o>=0&&o<=s;){if(a=t[(i=o+s>>1)-1]||null,r=t[i],!a)return{lo:null,hi:r};if(r[e]n))return{lo:a,hi:r};s=i-1}}return{lo:r,hi:null}}(t,e,n),r=a.lo?a.hi?a.lo:t[t.length-2]:t[0],o=a.lo?a.hi?a.hi:t[t.length-1]:t[1],s=o[e]-r[e],l=s?(n-r[e])/s:0,u=(o[i]-r[i])*l;return r[i]+u}function si(t,e){var n=t._adapter,i=t.options.time,a=i.parser,r=a||i.format,o=e;return"function"==typeof a&&(o=a(o)),H.isFinite(o)||(o="string"==typeof r?n.parse(o,r):n.parse(o)),null!==o?+o:(a||"function"!=typeof r||(o=r(e),H.isFinite(o)||(o=n.parse(o))),o)}function li(t,e){if(H.isNullOrUndef(e))return null;var n=t.options.time,i=si(t,t.getRightValue(e));return null===i?i:(n.round&&(i=+t._adapter.startOf(i,n.round)),i)}function ui(t,e,n,i){var a,r,o,s=ni.length;for(a=ni.indexOf(t);a=0&&(e[r].major=!0);return e}(t,r,o,n):r}var hi=yn.extend({initialize:function(){this.mergeTicksOptions(),yn.prototype.initialize.call(this)},update:function(){var t=this,e=t.options,n=e.time||(e.time={}),i=t._adapter=new rn._date(e.adapters.date);return Zn("time scale",n.format,"time.format","time.parser"),Zn("time scale",n.min,"time.min","ticks.min"),Zn("time scale",n.max,"time.max","ticks.max"),H.mergeIf(n.displayFormats,i.formats()),yn.prototype.update.apply(t,arguments)},getRightValue:function(t){return t&&void 0!==t.t&&(t=t.t),yn.prototype.getRightValue.call(this,t)},determineDataLimits:function(){var t,e,n,i,a,r,o,s=this,l=s.chart,u=s._adapter,d=s.options,h=d.time.unit||"day",c=ti,f=Qn,g=[],p=[],m=[],v=s._getLabels();for(t=0,n=v.length;t1?function(t){var e,n,i,a={},r=[];for(e=0,n=t.length;e1e5*u)throw e+" and "+n+" are too far apart with stepSize of "+u+" "+l;for(a=h;a=a&&n<=r&&d.push(n);return i.min=a,i.max=r,i._unit=l.unit||(s.autoSkip?ui(l.minUnit,i.min,i.max,h):function(t,e,n,i,a){var r,o;for(r=ni.length-1;r>=ni.indexOf(n);r--)if(o=ni[r],ei[o].common&&t._adapter.diff(a,i,o)>=e-1)return o;return ni[n?ni.indexOf(n):0]}(i,d.length,l.minUnit,i.min,i.max)),i._majorUnit=s.major.enabled&&"year"!==i._unit?function(t){for(var e=ni.indexOf(t)+1,n=ni.length;ee&&s=0&&t0?s:1}}),ci={position:"bottom",distribution:"linear",bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}};hi._defaults=ci;var fi={category:kn,linear:Tn,logarithmic:zn,radialLinear:Xn,time:hi},gi={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};rn._date.override("function"==typeof t?{_id:"moment",formats:function(){return gi},parse:function(e,n){return"string"==typeof e&&"string"==typeof n?e=t(e,n):e instanceof t||(e=t(e)),e.isValid()?e.valueOf():null},format:function(e,n){return t(e).format(n)},add:function(e,n,i){return t(e).add(n,i).valueOf()},diff:function(e,n,i){return t(e).diff(t(n),i)},startOf:function(e,n,i){return e=t(e),"isoWeek"===n?e.isoWeekday(i).valueOf():e.startOf(n).valueOf()},endOf:function(e,n){return t(e).endOf(n).valueOf()},_create:function(e){return t(e)}}:{}),N._set("global",{plugins:{filler:{propagate:!0}}});var pi={dataset:function(t){var e=t.fill,n=t.chart,i=n.getDatasetMeta(e),a=i&&n.isDatasetVisible(e)&&i.dataset._children||[],r=a.length||0;return r?function(t,e){return e=n)&&i;switch(r){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return r;default:return!1}}function vi(t){return(t.el._scale||{}).getPointPositionForValue?function(t){var e,n,i,a,r,o=t.el._scale,s=o.options,l=o.chart.data.labels.length,u=t.fill,d=[];if(!l)return null;for(e=s.ticks.reverse?o.max:o.min,n=s.ticks.reverse?o.min:o.max,i=o.getPointPositionForValue(0,e),a=0;a0;--r)H.canvas.lineTo(t,n[r],n[r-1],!0);else for(o=n[0].cx,s=n[0].cy,l=Math.sqrt(Math.pow(n[0].x-o,2)+Math.pow(n[0].y-s,2)),r=a-1;r>0;--r)t.arc(o,s,l,n[r].angle,n[r-1].angle,!0)}}function ki(t,e,n,i,a,r){var o,s,l,u,d,h,c,f,g=e.length,p=i.spanGaps,m=[],v=[],b=0,x=0;for(t.beginPath(),o=0,s=g;o=0;--n)(e=l[n].$filler)&&e.visible&&(a=(i=e.el)._view,r=i._children||[],o=e.mapper,s=a.backgroundColor||N.global.defaultColor,o&&s&&r.length&&(H.canvas.clipArea(u,t.chartArea),ki(u,r,o,a,s,i._loop),H.canvas.unclipArea(u)))}},Mi=H.rtl.getRtlAdapter,Si=H.noop,Ci=H.valueOrDefault;function Pi(t,e){return t.usePointStyle&&t.boxWidth>e?e:t.boxWidth}N._set("global",{legend:{display:!0,position:"top",align:"center",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(t,e){var n=e.datasetIndex,i=this.chart,a=i.getDatasetMeta(n);a.hidden=null===a.hidden?!i.data.datasets[n].hidden:null,i.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(t){var e=t.data.datasets,n=t.options.legend||{},i=n.labels&&n.labels.usePointStyle;return t._getSortedDatasetMetas().map((function(n){var a=n.controller.getStyle(i?0:void 0);return{text:e[n.index].label,fillStyle:a.backgroundColor,hidden:!t.isDatasetVisible(n.index),lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:a.borderWidth,strokeStyle:a.borderColor,pointStyle:a.pointStyle,rotation:a.rotation,datasetIndex:n.index}}),this)}}},legendCallback:function(t){var e,n,i,a=document.createElement("ul"),r=t.data.datasets;for(a.setAttribute("class",t.id+"-legend"),e=0,n=r.length;el.width)&&(h+=o+n.padding,d[d.length-(e>0?0:1)]=0),s[e]={left:0,top:0,width:i,height:o},d[d.length-1]+=i+n.padding})),l.height+=h}else{var c=n.padding,f=t.columnWidths=[],g=t.columnHeights=[],p=n.padding,m=0,v=0;H.each(t.legendItems,(function(t,e){var i=Pi(n,o)+o/2+a.measureText(t.text).width;e>0&&v+o+2*c>l.height&&(p+=m+n.padding,f.push(m),g.push(v),m=0,v=0),m=Math.max(m,i),v+=o+c,s[e]={left:0,top:0,width:i,height:o}})),p+=m,f.push(m),g.push(v),l.width+=p}t.width=l.width,t.height=l.height}else t.width=l.width=t.height=l.height=0},afterFit:Si,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var t=this,e=t.options,n=e.labels,i=N.global,a=i.defaultColor,r=i.elements.line,o=t.height,s=t.columnHeights,l=t.width,u=t.lineWidths;if(e.display){var d,h=Mi(e.rtl,t.left,t.minSize.width),c=t.ctx,f=Ci(n.fontColor,i.defaultFontColor),g=H.options._parseFont(n),p=g.size;c.textAlign=h.textAlign("left"),c.textBaseline="middle",c.lineWidth=.5,c.strokeStyle=f,c.fillStyle=f,c.font=g.string;var m=Pi(n,p),v=t.legendHitBoxes,b=function(t,i){switch(e.align){case"start":return n.padding;case"end":return t-i;default:return(t-i+n.padding)/2}},x=t.isHorizontal();d=x?{x:t.left+b(l,u[0]),y:t.top+n.padding,line:0}:{x:t.left+n.padding,y:t.top+b(o,s[0]),line:0},H.rtl.overrideTextDirection(t.ctx,e.textDirection);var y=p+n.padding;H.each(t.legendItems,(function(e,i){var f=c.measureText(e.text).width,g=m+p/2+f,_=d.x,k=d.y;h.setWidth(t.minSize.width),x?i>0&&_+g+n.padding>t.left+t.minSize.width&&(k=d.y+=y,d.line++,_=d.x=t.left+b(l,u[d.line])):i>0&&k+y>t.top+t.minSize.height&&(_=d.x=_+t.columnWidths[d.line]+n.padding,d.line++,k=d.y=t.top+b(o,s[d.line]));var w=h.x(_);!function(t,e,i){if(!(isNaN(m)||m<=0)){c.save();var o=Ci(i.lineWidth,r.borderWidth);if(c.fillStyle=Ci(i.fillStyle,a),c.lineCap=Ci(i.lineCap,r.borderCapStyle),c.lineDashOffset=Ci(i.lineDashOffset,r.borderDashOffset),c.lineJoin=Ci(i.lineJoin,r.borderJoinStyle),c.lineWidth=o,c.strokeStyle=Ci(i.strokeStyle,a),c.setLineDash&&c.setLineDash(Ci(i.lineDash,r.borderDash)),n&&n.usePointStyle){var s=m*Math.SQRT2/2,l=h.xPlus(t,m/2),u=e+p/2;H.canvas.drawPoint(c,i.pointStyle,s,l,u,i.rotation)}else c.fillRect(h.leftForLtr(t,m),e,m,p),0!==o&&c.strokeRect(h.leftForLtr(t,m),e,m,p);c.restore()}}(w,k,e),v[i].left=h.leftForLtr(w,v[i].width),v[i].top=k,function(t,e,n,i){var a=p/2,r=h.xPlus(t,m+a),o=e+a;c.fillText(n.text,r,o),n.hidden&&(c.beginPath(),c.lineWidth=2,c.moveTo(r,o),c.lineTo(h.xPlus(r,i),o),c.stroke())}(w,k,e,f),x?d.x+=g+n.padding:d.y+=y})),H.rtl.restoreTextDirection(t.ctx,e.textDirection)}},_getLegendItemAt:function(t,e){var n,i,a,r=this;if(t>=r.left&&t<=r.right&&e>=r.top&&e<=r.bottom)for(a=r.legendHitBoxes,n=0;n=(i=a[n]).left&&t<=i.left+i.width&&e>=i.top&&e<=i.top+i.height)return r.legendItems[n];return null},handleEvent:function(t){var e,n=this,i=n.options,a="mouseup"===t.type?"click":t.type;if("mousemove"===a){if(!i.onHover&&!i.onLeave)return}else{if("click"!==a)return;if(!i.onClick)return}e=n._getLegendItemAt(t.x,t.y),"click"===a?e&&i.onClick&&i.onClick.call(n,t.native,e):(i.onLeave&&e!==n._hoveredItem&&(n._hoveredItem&&i.onLeave.call(n,t.native,n._hoveredItem),n._hoveredItem=e),i.onHover&&e&&i.onHover.call(n,t.native,e))}});function Di(t,e){var n=new Ai({ctx:t.ctx,options:e,chart:t});pe.configure(t,n,e),pe.addBox(t,n),t.legend=n}var Ti={id:"legend",_element:Ai,beforeInit:function(t){var e=t.options.legend;e&&Di(t,e)},beforeUpdate:function(t){var e=t.options.legend,n=t.legend;e?(H.mergeIf(e,N.global.legend),n?(pe.configure(t,n,e),n.options=e):Di(t,e)):n&&(pe.removeBox(t,n),delete t.legend)},afterEvent:function(t,e){var n=t.legend;n&&n.handleEvent(e)}},Ii=H.noop;N._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var Fi=K.extend({initialize:function(t){H.extend(this,t),this.legendHitBoxes=[]},beforeUpdate:Ii,update:function(t,e,n){var i=this;return i.beforeUpdate(),i.maxWidth=t,i.maxHeight=e,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:Ii,beforeSetDimensions:Ii,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:Ii,beforeBuildLabels:Ii,buildLabels:Ii,afterBuildLabels:Ii,beforeFit:Ii,fit:function(){var t,e=this,n=e.options,i=e.minSize={},a=e.isHorizontal();n.display?(t=(H.isArray(n.text)?n.text.length:1)*H.options._parseFont(n).lineHeight+2*n.padding,e.width=i.width=a?e.maxWidth:t,e.height=i.height=a?t:e.maxHeight):e.width=i.width=e.height=i.height=0},afterFit:Ii,isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},draw:function(){var t=this,e=t.ctx,n=t.options;if(n.display){var i,a,r,o=H.options._parseFont(n),s=o.lineHeight,l=s/2+n.padding,u=0,d=t.top,h=t.left,c=t.bottom,f=t.right;e.fillStyle=H.valueOrDefault(n.fontColor,N.global.defaultFontColor),e.font=o.string,t.isHorizontal()?(a=h+(f-h)/2,r=d+l,i=f-h):(a="left"===n.position?h+l:f-l,r=d+(c-d)/2,i=c-d,u=Math.PI*("left"===n.position?-.5:.5)),e.save(),e.translate(a,r),e.rotate(u),e.textAlign="center",e.textBaseline="middle";var g=n.text;if(H.isArray(g))for(var p=0,m=0;m=0;i--){var a=t[i];if(e(a))return a}},H.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},H.almostEquals=function(t,e,n){return Math.abs(t-e)=t},H.max=function(t){return t.reduce((function(t,e){return isNaN(e)?t:Math.max(t,e)}),Number.NEGATIVE_INFINITY)},H.min=function(t){return t.reduce((function(t,e){return isNaN(e)?t:Math.min(t,e)}),Number.POSITIVE_INFINITY)},H.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return 0===(t=+t)||isNaN(t)?t:t>0?1:-1},H.toRadians=function(t){return t*(Math.PI/180)},H.toDegrees=function(t){return t*(180/Math.PI)},H._decimalPlaces=function(t){if(H.isFinite(t)){for(var e=1,n=0;Math.round(t*e)/e!==t;)e*=10,n++;return n}},H.getAngleFromPoint=function(t,e){var n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),r=Math.atan2(i,n);return r<-.5*Math.PI&&(r+=2*Math.PI),{angle:r,distance:a}},H.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},H.aliasPixel=function(t){return t%2==0?0:.5},H._alignPixel=function(t,e,n){var i=t.currentDevicePixelRatio,a=n/2;return Math.round((e-a)*i)/i+a},H.splineCurve=function(t,e,n,i){var a=t.skip?e:t,r=e,o=n.skip?e:n,s=Math.sqrt(Math.pow(r.x-a.x,2)+Math.pow(r.y-a.y,2)),l=Math.sqrt(Math.pow(o.x-r.x,2)+Math.pow(o.y-r.y,2)),u=s/(s+l),d=l/(s+l),h=i*(u=isNaN(u)?0:u),c=i*(d=isNaN(d)?0:d);return{previous:{x:r.x-h*(o.x-a.x),y:r.y-h*(o.y-a.y)},next:{x:r.x+c*(o.x-a.x),y:r.y+c*(o.y-a.y)}}},H.EPSILON=Number.EPSILON||1e-14,H.splineCurveMonotone=function(t){var e,n,i,a,r,o,s,l,u,d=(t||[]).map((function(t){return{model:t._model,deltaK:0,mK:0}})),h=d.length;for(e=0;e0?d[e-1]:null,(a=e0?d[e-1]:null,a=e=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},H.previousItem=function(t,e,n){return n?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},H.niceNum=function(t,e){var n=Math.floor(H.log10(t)),i=t/Math.pow(10,n);return(e?i<1.5?1:i<3?2:i<7?5:10:i<=1?1:i<=2?2:i<=5?5:10)*Math.pow(10,n)},H.requestAnimFrame="undefined"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},H.getRelativePosition=function(t,e){var n,i,a=t.originalEvent||t,r=t.target||t.srcElement,o=r.getBoundingClientRect(),s=a.touches;s&&s.length>0?(n=s[0].clientX,i=s[0].clientY):(n=a.clientX,i=a.clientY);var l=parseFloat(H.getStyle(r,"padding-left")),u=parseFloat(H.getStyle(r,"padding-top")),d=parseFloat(H.getStyle(r,"padding-right")),h=parseFloat(H.getStyle(r,"padding-bottom")),c=o.right-o.left-l-d,f=o.bottom-o.top-u-h;return{x:n=Math.round((n-o.left-l)/c*r.width/e.currentDevicePixelRatio),y:i=Math.round((i-o.top-u)/f*r.height/e.currentDevicePixelRatio)}},H.getConstraintWidth=function(t){return n(t,"max-width","clientWidth")},H.getConstraintHeight=function(t){return n(t,"max-height","clientHeight")},H._calculatePadding=function(t,e,n){return(e=H.getStyle(t,e)).indexOf("%")>-1?n*parseInt(e,10)/100:parseInt(e,10)},H._getParentNode=function(t){var e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e},H.getMaximumWidth=function(t){var e=H._getParentNode(t);if(!e)return t.clientWidth;var n=e.clientWidth,i=n-H._calculatePadding(e,"padding-left",n)-H._calculatePadding(e,"padding-right",n),a=H.getConstraintWidth(t);return isNaN(a)?i:Math.min(i,a)},H.getMaximumHeight=function(t){var e=H._getParentNode(t);if(!e)return t.clientHeight;var n=e.clientHeight,i=n-H._calculatePadding(e,"padding-top",n)-H._calculatePadding(e,"padding-bottom",n),a=H.getConstraintHeight(t);return isNaN(a)?i:Math.min(i,a)},H.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},H.retinaScale=function(t,e){var n=t.currentDevicePixelRatio=e||"undefined"!=typeof window&&window.devicePixelRatio||1;if(1!==n){var i=t.canvas,a=t.height,r=t.width;i.height=a*n,i.width=r*n,t.ctx.scale(n,n),i.style.height||i.style.width||(i.style.height=a+"px",i.style.width=r+"px")}},H.fontString=function(t,e,n){return e+" "+t+"px "+n},H.longestText=function(t,e,n,i){var a=(i=i||{}).data=i.data||{},r=i.garbageCollect=i.garbageCollect||[];i.font!==e&&(a=i.data={},r=i.garbageCollect=[],i.font=e),t.font=e;var o,s,l,u,d,h=0,c=n.length;for(o=0;on.length){for(o=0;oi&&(i=r),i},H.numberOfLabelLines=function(t){var e=1;return H.each(t,(function(t){H.isArray(t)&&t.length>e&&(e=t.length)})),e},H.color=_?function(t){return t instanceof CanvasGradient&&(t=N.global.defaultColor),_(t)}:function(t){return console.error("Color.js not found!"),t},H.getHoverColor=function(t){return t instanceof CanvasPattern||t instanceof CanvasGradient?t:H.color(t).saturate(.5).darken(.1).rgbString()}}(),en._adapters=rn,en.Animation=$,en.animationService=J,en.controllers=Jt,en.DatasetController=it,en.defaults=N,en.Element=K,en.elements=kt,en.Interaction=re,en.layouts=pe,en.platform=Oe,en.plugins=Le,en.Scale=yn,en.scaleService=Re,en.Ticks=on,en.Tooltip=Ye,en.helpers.each(fi,(function(t,e){en.scaleService.registerScaleType(e,t,t._defaults)})),Li)Li.hasOwnProperty(Bi)&&en.plugins.register(Li[Bi]);en.platform.initialize();var Ei=en;return"undefined"!=typeof window&&(window.Chart=en),en.Chart=en,en.Legend=Li.legend._element,en.Title=Li.title._element,en.pluginService=en.plugins,en.PluginBase=en.Element.extend({}),en.canvasHelpers=en.helpers.canvas,en.layoutService=en.layouts,en.LinearScaleBase=Cn,en.helpers.each(["Bar","Bubble","Doughnut","Line","PolarArea","Radar","Scatter"],(function(t){en[t]=function(e,n){return new en(e,en.helpers.merge(n||{},{type:t.charAt(0).toLowerCase()+t.slice(1)}))}})),Ei})); diff --git a/web/js/chart.js b/web/js/chart.js new file mode 100644 index 0000000..b0d2c9c --- /dev/null +++ b/web/js/chart.js @@ -0,0 +1,93 @@ +function getUrlVars() { + var vars = {}; + var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) { + vars[key] = decodeURIComponent(value); + }); + return vars; +} + +function getRandomColor() { + var letters = '0123456789ABCDEF'.split(''); + var color = '#'; + for (var i = 0; i < 6; i++) { + color += letters[Math.floor(Math.random() * 16)]; + } + return color; +} + +$(document).ready(function () { + var dat = [[]]; + var colors = ["#E74C3C", "#3498DB", "#2ECC71", "#F39C12", "#2C3E50"] + + var vars = getUrlVars(); + + if (vars["metrics"] === undefined || vars["metrics"][0] === "undefined") { + $("#container").html("Please specify the metrics for the chart by adding a query parameter \"metrics\".
Multiple metrics can be separated by comma.

Example: ?metrics=SOCKET POWER,PPT FAST LIMIT,PPT SLOW LIMIT") + return; + } + + var metrics = vars["metrics"].split(','); + var title = vars["title"] + + var chart = new Chart($("#chart"), { + type: 'line', + options: { + animation: { + duration: 0, + }, + responsive: true, + maintainAspectRatio: false, + title: { + text: title, + display: true, + }, + scales: { + yAxes: [{ + ticks: { + min: 0, + }, + }] + }, + } + }); + + for (var x = 0; x < metrics.length; x++) { + dat[x] = []; + var col = ""; + if (x > colors.length) { + col = getRandomColor(); + } else { + col = colors[x]; + } + chart.data.datasets.push( + { + label: metrics[x], + fill: false, + data: dat[x], + borderColor: col + } + ); + } + + var i = 1; + window.setInterval(function () { + $.ajax({ + url: "http://127.0.0.1:8090/pmtab" + , + success: function (result) { + for (var x = 0; x < metrics.length; x++) { + dat[x].push(result[metrics[x]].Value); + } + chart.data.labels.push(""); + if (dat[0].length > 30) { + dat.forEach(function (el) { + el.shift(); + }); + chart.data.labels.shift(); + } + chart.update(); + i++; + } + }); + }, 1000); +}); \ No newline at end of file diff --git a/web/js/jquery-3.5.1.min.js b/web/js/jquery-3.5.1.min.js new file mode 100644 index 0000000..b061403 --- /dev/null +++ b/web/js/jquery-3.5.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0 + + + + + + + +
+
+ + +
+
+ + +
+
+ + + \ No newline at end of file