From 0306822a97e8797154e8e4cfd34e31d4cd8e1580 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Tru=C3=A9bano?= Date: Sat, 20 Apr 2024 12:12:14 +0200 Subject: [PATCH 01/15] Enhancing documentation --- docs/src/04_solution_strategy.adoc | 7 ++++++- docs/src/07_deployment_view.adoc | 33 ++++++++++++++++++++++++------ 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/docs/src/04_solution_strategy.adoc b/docs/src/04_solution_strategy.adoc index e5c9319..054485f 100644 --- a/docs/src/04_solution_strategy.adoc +++ b/docs/src/04_solution_strategy.adoc @@ -42,6 +42,9 @@ See https://docs.arc42.org/section-4/[Solution Strategy] in the arc42 documentat * *npm*: default package manager for Node.js, providing a command-line interface to install, manage, and publish JavaScript packages. With over a million packages available in its registry, npm simplifies adding functionality to Node.js projects by handling dependencies and providing tools for versioning and publishing packages. * *Docker*: platform that will be used for deploying our services inside containers. Containers are lightweight, portable, and self-sufficient units that contain everything needed to run an application, including the code, runtime, system tools, libraries, and settings. Docker enables developers to package their applications along with all dependencies into containers, ensuring consistency across different environments, such as development, testing, and production. * *GitHub Actions*: built-in automation tool on GitHub that allows us to automate some workflows that are triggered after some specific github branches actions at development. It provides as continuous integration of the game functionality. +* *Gatling*: Load test tool that allows us to record some user interaction from our application and simulate it as if various differnet users were accessing the application. +* *Prometheus*: monitoring and alerting toolkit designed for reliability and scalability. It collects metrics from configured targets at specified intervals, stores them efficiently, and provides a powerful query language for analyzing and alerting on these metrics. It's particularly well-suited for dynamic environments like cloud-native applications and microservices architectures. +* *Grafana*: open-source platform for monitoring and observability, providing customizable dashboards and visualization tools for analyzing metrics, logs, and other data sources. It allows users to create dynamic, interactive dashboards to monitor the health and performance of their systems and applications. === Technological decisions @@ -54,7 +57,9 @@ As a conclusion, it was worth spending time making the migration for reducing th * *Microservices*: is an architectural style that structures an application as a collection of loosely coupled services. Each service is independently deployable, scalable, and can be developed using different programming languages, frameworks, or databases. In a microservices architecture, each service typically represents a specific business function or capability and communicates with other services through well-defined APIs. This enables teams to work independently on different parts of the application, allowing us to divide the work into different teams avoiding bottlenecks during production. -* *APIs*: using microservices architecture enforces us to isolate each of the microservices and create well-defined interfaces for accesing those microservices from common gateway, reducing dependencies between services and allowing them to evolve independently. Well-defined interfaces imply not only services independance, but also team members independecance since nobody will need to wait for others for starting working themselves. +* *API Gateway*: centralized service that acts as an intermediary between clients and microservices. It serves as a single entry point for all client requests, providing various functionalities by means of routing and redirecting to the specific service in charge of that request They play a crucial role in building scalable and efficient distributed systems by abstracting away complexities and providing a unified interface for clients to interact with all available services. +* *API*: using microservices architecture enforces us to isolate each of the microservices and create well-defined interfaces for accesing those microservices from common gateway, reducing dependencies between services and allowing them to evolve independently. Well-defined interfaces imply not only services' independance, but also team members independecance since nobody will need to wait for others for starting working themselves. + === Team Organization diff --git a/docs/src/07_deployment_view.adoc b/docs/src/07_deployment_view.adoc index eb5b547..1a7664a 100644 --- a/docs/src/07_deployment_view.adoc +++ b/docs/src/07_deployment_view.adoc @@ -24,9 +24,9 @@ Using your Azure account: ** `DEPLOY_USER` does not need to be changed * Once the virtual machine is created and the repository is configured, go to Network Settings and add extra rules: -** Open port number 3000 for user services -** Open port number 8000 for accessing the web application -*** More services will be available in the future, so discussions will be made for additional ports supporting our services. +** Open port number 80 for accesing the web application, or 443 in case HTTPS is used +** Open port number 8000 for giving access to the API gateway +** Open port number 9091 for giving access to monitoring the application checking some Grafana data * Configure the virtual machine connecting through SSH for using Docker: ** Use some tool for connecting to the server using SSH (PuTTY, MobaXterm...) @@ -145,9 +145,9 @@ frame GitHub{ WebAPP -- APIGateway : port 8000 Wikidata -- WikidataAPI: port 8001 -Users -- UsersAPI : port 8002 +Users -- UsersAPI : port 8003 UsersAPI -- UsersDatabase : MongoDB (port 27017) -client -- WebAPP : Web Browser (port 3000) +client -- WebAPP : Web Browser (port 80) GitHubActions -- UbuntuServer : on release Docker -- wiq_en3a @@ -172,7 +172,7 @@ For now, the project contains: ** Web application service running on port 3000 ** Gateway (middleware) service running on port 8000 ** Wikidata API running on port 8001 -** Users API running on port 8002 +** Users API running on port 8003 ** Mongo DB server running on port 27017 ** Prometheus running on port 9090 for monitoring ** Grafana running on port 9091 for analytics and monitoring @@ -182,6 +182,27 @@ For now, the project contains: GitHub actions will provide us with continuous automatic delivery and integration, automating the deployment phase at each release. +=== Motivation + +In the deployment view of our software architecture, we delineate the physical deployment of our system components across various environments. +At the core of our deployment strategy is the utilization of cloud-based infrastructure, specifically leveraging Azure for its robustness and scalability. +Our server components, including web applications, gateway, user services, and MongoDB servers, are encapsulated within Docker containers to ensure portability and consistency across deployments. +Additionally, we employ Azure's built-in services for auto-scaling, and traffic management to optimize performance and reliability. +Continuous integration and deployment pipelines are established using tools like Jenkins or Azure DevOps, facilitating seamless updates and releases of our system components. +Monitoring and logging solutions, such as Prometheus and Grafana, are integrated to provide insights into system health and performance. +Overall, our deployment view showcases a resilient, scalable, and automated deployment architecture tailored to meet the demands of our system's evolving requirements. + +=== Mapping of Building Blocks into Infrastructure + +[cols="1,2" options="header"] +|=== +| **Name** | **Responsibility** +| Frontend | Web App container opened in port 80. +| User Management | User service container. +| Wikidata Service | Wikidata service container. +| Gateway | API Gateway service opened in port 8000. +|=== + [role="arc42help"] **** From d3a4b83a3c9567f910d86db6fcd47a8598e043ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ngel=20Mac=C3=ADas?= Date: Mon, 29 Apr 2024 00:17:15 +0200 Subject: [PATCH 02/15] initial fix approach for sonarcloud errors --- webapp/src/components/Game/Game.tsx | 6 ++++-- webapp/src/components/Game/Trivia/TriviaGame.tsx | 6 ++++-- webapp/src/components/auth/Login.tsx | 3 +-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/webapp/src/components/Game/Game.tsx b/webapp/src/components/Game/Game.tsx index 58fed46..b86280a 100644 --- a/webapp/src/components/Game/Game.tsx +++ b/webapp/src/components/Game/Game.tsx @@ -59,8 +59,10 @@ export default function Game(props: Props) { setQuestionCount(questionCount+1); setLoading(true); - if(!isNaN(Number((questions[questionCount].answers[0])))) - questions[questionCount].answers = questions[questionCount].answers.map((a) => formatNumberWithDots(a)); + if(!isNaN(Number((questions[questionCount].answers[0])))){ + const newAnswers = questions[questionCount].answers.map((a) => formatNumberWithDots(a)); + questions[questionCount].answers = newAnswers; + } setTimeout(() => { setLoading(false); diff --git a/webapp/src/components/Game/Trivia/TriviaGame.tsx b/webapp/src/components/Game/Trivia/TriviaGame.tsx index c20efd1..fac79a7 100644 --- a/webapp/src/components/Game/Trivia/TriviaGame.tsx +++ b/webapp/src/components/Game/Trivia/TriviaGame.tsx @@ -147,12 +147,14 @@ const getSetColor: (n: number) => SetColorFunction = (n: number) => { const saveAnswer = (answer: string) => { answerSelected.push(answer); - setAnswerSelected(answerSelected); + const newAnswers = [...answerSelected]; + setAnswerSelected(newAnswers); setDiceResult(0); questions.push(questionShowed as questionType); - setQuestions(questions); + const newQuestions = [...questions]; + setQuestions(newQuestions); } diff --git a/webapp/src/components/auth/Login.tsx b/webapp/src/components/auth/Login.tsx index 8e28abb..e6967da 100644 --- a/webapp/src/components/auth/Login.tsx +++ b/webapp/src/components/auth/Login.tsx @@ -24,8 +24,7 @@ const Login = (props:props) => { return; } - const response = login(username, password); - console.log(response); + const response = await login(username, password); if (!response) { setError("Invalid Credentials"); } From 16709162846b4e78bc39c0a028cc86972681a824 Mon Sep 17 00:00:00 2001 From: sergiollende Date: Mon, 29 Apr 2024 11:10:16 +0200 Subject: [PATCH 03/15] Penguin photos added --- users/index.js | 2 +- webapp/public/julien.png | Bin 0 -> 109491 bytes webapp/public/kowalski.webp | Bin 0 -> 11278 bytes webapp/public/rico.webp | Bin 0 -> 27356 bytes webapp/public/skipper.png | Bin 0 -> 11175 bytes webapp/src/components/Game/GameOver.tsx | 21 +++++++++++++++++++-- 6 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 webapp/public/julien.png create mode 100644 webapp/public/kowalski.webp create mode 100644 webapp/public/rico.webp create mode 100644 webapp/public/skipper.png diff --git a/users/index.js b/users/index.js index 367aed9..dacb3ac 100644 --- a/users/index.js +++ b/users/index.js @@ -11,7 +11,7 @@ const app = express(); const port = 8003; // Connect to MongoDB -const mongoUri = process.env.MONGODB_URI; +const mongoUri = process.env.MONGODB_URI || "mongodb+srv://prueba:prueba@cluster0.kjzbhst.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0"; mongoose.connect(mongoUri).then( console.log('Succesfully connected to MongoDB') diff --git a/webapp/public/julien.png b/webapp/public/julien.png new file mode 100644 index 0000000000000000000000000000000000000000..822064c68a87f167bad50c818543329197b2d983 GIT binary patch literal 109491 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%0DmYMq@hc}jZ~#bX$Jn(6L=@tWtOSU_Xb8^-58^eq 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 z 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 TjG=jA00000NkvXXu0mjfe$CTT literal 0 HcmV?d00001 diff --git a/webapp/public/kowalski.webp b/webapp/public/kowalski.webp new file mode 100644 index 0000000000000000000000000000000000000000..cbd273993536ae20986fd0c71b17e0bf5e16210d GIT binary patch literal 11278 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 z8MY^_KvY*S39<^WcrML+-m00000000000000000000GM*c) literal 0 HcmV?d00001 diff --git a/webapp/public/skipper.png b/webapp/public/skipper.png new file mode 100644 index 0000000000000000000000000000000000000000..a7395333bc33aca5b1fb00df32b81a99b1ecfb04 GIT binary patch literal 11175 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 FV1g_wL3aQE literal 0 HcmV?d00001 diff --git a/webapp/src/components/Game/GameOver.tsx b/webapp/src/components/Game/GameOver.tsx index fb1a56e..e0d592a 100644 --- a/webapp/src/components/Game/GameOver.tsx +++ b/webapp/src/components/Game/GameOver.tsx @@ -13,7 +13,11 @@ type props = { const GameOver = (props: props) => { - + const images = { + lowScore: '/julien.png', + mediumScore: '/rico.webp', + highScore: '/kowalski.webp', +}; const getScore = () => { let score = 0; @@ -25,6 +29,17 @@ const GameOver = (props: props) => { return score; }; + // Set the image according to the score + let score = getScore(); + let imageToShow; + if (score < 3) { + imageToShow = images.lowScore; + } else if (score < 8) { + imageToShow = images.mediumScore; + } else { + imageToShow = images.highScore; + } + return (

@@ -59,8 +74,10 @@ const GameOver = (props: props) => {

Score: {getScore()} / {props.questions.length}

+ + Score image +
- ); }; From 5a4b3c5e31316a1e769754c272176c6061136efd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Tru=C3=A9bano?= Date: Mon, 29 Apr 2024 11:40:59 +0200 Subject: [PATCH 04/15] Load testing and monitoring with grafana documented --- docs/images/10users-secA.png | Bin 0 -> 105145 bytes docs/images/10users-secB.png | Bin 0 -> 168459 bytes docs/images/2.10users-secA.png | Bin 0 -> 115028 bytes docs/images/2.10users-secB.png | Bin 0 -> 149461 bytes docs/images/2.25users-secA.png | Bin 0 -> 120929 bytes docs/images/2.25users-secB.png | Bin 0 -> 162710 bytes docs/images/2.2users-secA.png | Bin 0 -> 112029 bytes docs/images/2.2users-secB.png | Bin 0 -> 186142 bytes docs/images/2.5users-secA.png | Bin 0 -> 114072 bytes docs/images/2.5users-secB.png | Bin 0 -> 180370 bytes docs/images/2users-secA.png | Bin 0 -> 101285 bytes docs/images/2users-secB.png | Bin 0 -> 182634 bytes docs/images/5users-secA.png | Bin 0 -> 101407 bytes docs/images/5users-secB.png | Bin 0 -> 174556 bytes docs/src/08_concepts.adoc | 59 ++++++++++++++++++++++++++++++--- 15 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 docs/images/10users-secA.png create mode 100644 docs/images/10users-secB.png create mode 100644 docs/images/2.10users-secA.png create mode 100644 docs/images/2.10users-secB.png create mode 100644 docs/images/2.25users-secA.png create mode 100644 docs/images/2.25users-secB.png create mode 100644 docs/images/2.2users-secA.png create mode 100644 docs/images/2.2users-secB.png create mode 100644 docs/images/2.5users-secA.png create mode 100644 docs/images/2.5users-secB.png create mode 100644 docs/images/2users-secA.png create mode 100644 docs/images/2users-secB.png create mode 100644 docs/images/5users-secA.png create mode 100644 docs/images/5users-secB.png diff --git a/docs/images/10users-secA.png b/docs/images/10users-secA.png new file mode 100644 index 0000000000000000000000000000000000000000..0060368bb77cdd471598935c3494ddbe61d9d251 GIT binary patch literal 105145 zcma&NWmsEH*fok2DemqRcXuf6)VPL>9sE?)y(DS#B3ZGqIU@&@KU$6rX#TGCyFNKOSl3Jcd z$E$DO1@oNv}fq)>Fc6}%4}Yy z=F)oeZGP}iC4~VnqSIuYt+g})izDG8z76`FIv-a<0@fFkm0@8`VekBx-in-!o{m@e zh+X>ale2Vm#>!zyAyWsx9tw1HBRl?mdOaK<;MKnU??P~_k&I;e|M}g4?EkL|v-vYV z(U6-EP$ME*?ShMt2_>*Sz1=ojRhhcQh`v6M)#A{ek9WmMAsOuO(M5d1Pvf zDr8L5uBq)Ivxp3akCkTm)ayyten> z)F^P|<)}h0a1L|Ta6W(w8~4W*7-iE78Kv{FYcA-@yzjhNy&Rc&-OXUBclzs`QLj%I zXTC=CEP0tN^7YySJ`1?Bbet0OUJyH_r+-q4tjKO`Yjoqv>tgjbG^kutPak+ch~7QS z!CA1py`++b6|MznPN5aRKxo}7@4dW{?NsjCKhpS+0W1h!T>y&^BidwkoemFp*8PZN zh+{?V;+@Ai_IasXxRY+zoz@TSzEnXhfmC6UiDj|wHBVG$zp$O*|1JbBG;TYL>+>q_g!w7hm9^^GX*w6y9Oe#d#u`Jc9r zxqH$4$9_lS>-po3RYy-tE=Ug>_fa~!Z)imE8AaM~C)&^X`5(`)xRrXl16dhKQ0MKt ze@c{hCSWN`*aoASU9NRjBjdX=i7dT21gMYqWi+u-xBU9L@^h)p85MPr*lG<0Yvl4`b9XBRLsI&3L(05On?W`9FW;hU<~KZPr6>NA5Y@roO4Kc5 z?)`0n);8o6{db}*hR-^79Zk-DyUizBwfYXE>1mW!Gu!4dzijRjf4fT|qNK+6|Ha&L zPQLT>$<1lh8jT|bp{ZfdI1LDLq>T4%3Y6AwMD44l5Nse=s?uZl1z^;fNO+$45n-}5 zV)D=<9Y?jCP-FgYp?g5b6ZPBCN~;zAq0%eLDlVIL?nQ zV;!?eyMH10dbIdELkb(a1}1WE9k|RO-`&?v_IW?j)Hy=tDqej%yoEt>8$a~mW*zhk z_tB(eNX|%-&19ha;FxIinwCUqK6!Z2VmC5`H|f2H8Llt3H5o^^HG zi1=q3!*o4h8_e>|^KN*+MDLAHYijoPE}?OMeL$bN!w(Gp9^R@cLz&^XY-RR7BqIb9 z-HZ|vQR(>=WEJ!zZ)vq-3i%Xvm1&a#FOOSvA@m>&lE-E{mi- z=@%5`=&rW~v}`Ham=B@%&#dAnv){BPhgwR!=&!N3Yjlr{!1E=4bW}QvPIrirsuHCP z2aQYdUn+_|U0QpNTsR)Kl3=T|4#Z=wAPQJe54`xFXAzID@p#nSi~@*G7^K1X^eY`< zZ4y7fhb)z#r7q%Y#5AGT(1uEX`i!<+Y`x;OyRVIu9WZvLd@V#s=118wX7a~5KuS^; zc*Qun;CAMVg(*%1Y_ZP{#x_E+*#DAix*{d&Kfy+H(od1w{dSGrc_(WD^l|anMa_WY zw(BKc9N7OIO?o!-n8&o1gB1d*0;As&KX=! zzly+~?nH-?b%WrDUNLovkn9PQ%MhkPCi_2-%gFUTa)|&e%-)rd#fBK*^gH0$l~;;{ z*Skjp!woJo(V*6^xnmxd*$1fS8}K(~r{n@X>V|Jl7Fi_VALcf^qvLZKy@xosdPc$$ zCg!$G(yUu?P}2g^Y(pmY*}H2fo3{5r-JI;MXzXGwIH3Nu7@On!@a5Bi%NH2>l}oH{ zGM3z@KQ0-KyA+~iJHgYJl%@`M6OfHJ9L3}p;FD*D(RtDXkmhfvWB<=s{%-7Yj9%Jl ztMU-BTM2hDtuI^o6W_z4IYqF2Nn2C}1cz*~Zt9XkRtE~*c)qg_tm)TpWHQ+g3UU%+ zvRN(P-D<7)w1~7sqo@Qx=+ShB;_kYhbnivnvt8;p{+=Iu`>s0lZ#<{da@myK@h^)a zQdFDM1}2;|o`okng#&KdK2q>HG}PRkH_aApwTFzD20TcI5glOo_=|ztg0Didd>b?- z>C0;$ixcs)dveJ{qB<;bx(%Wm9qlBpvlC2@tF>=?CLAog+y&v}f;X?z2c(Q#aTasc zO-?EaO!^ftJ%znGmsb&!)yQQ7Ck#Zntl+w(y0L`Jh+6&Nu&}wppZ@SrDN+W@XB&rG zHbl!pI5FS6`7Sfd#)Gx%&^eSLx8gh@y22%lj7!taIXna3MN7-cH;cb$#V$pDso(mn zz)RC=xOsXQxOrWuprRD$d+%^QJj2xpc(*KW?7pfPk7XARlpgXrd7Lzl@gVbQWwjnr zs=K{!!DTG}GFFkBatG6LW+IQ5DIQ(oT$s;ma_kQdhmgO{N~SZrpGP}XaXRlJo+0!=L`nZYt^339g=Tg9e*RbBdprm zwwp<&9nY1iN1*`;+LhVAgG%C2E(lv$yJ#ct#5_Wl2I~>L*6{uwjf5{k^_ZvYcQcA??#;&HolZw~U0MtH zq5-UnMf?pW1|}FhG5O8Z$dRvlBG)Cl@#NWuOYD94$nm96A1BTwMI&Xy{cv2OGg{wv za^1_Fwhzyzc8D@78RZ)X1|3gy7Z4ai^VOHeF)~JP$zCJ`?dKASpqxZhqDR#PmB97l zF&9}{8mq5I*jYgx8OoAH4r=4JBtb%8E3PP{8quiG@Dh!}{|~iIb2ezA;|bk~RaCel zvPY!jEfBRMkBbtt)s9%v_*@rMU(JbMSp&(y_Xpvn*eWeno5pOUrY}~n@?hP)^8ByuA0>uZ0&ww5E7h99;F<5 zR#H7onmd$)Db9cIQ}k@7;}%$UZ5Pp|tyZRDFM=d`KXTahw2Qt!APJ7uq((-)2uWj` zIbDw$AXo(WbR;&uPjaMsbbznC*I0Iu}d(7yI%^ZWw8#Zmp>axELn@$d=o zAuc>Kz@MOFF%ywo3xaOaWwOV*!t-h7!nZyBo1Ifq-3z!qqx*dCbb|Pa&M_<*W&Tlv?=TG;4^RD>r zmtm|)o0~ec)BE6pEsqu+uED==Sqpc?3cj4xeBL}pDi_B+CrvW%8d;9h7+eDWH2b;5 zxF+OCa-0jk*;C3)%G(OkeoI^OAYv*)yo>nX={lj^QEhLsx~qJIV68 zFAB#gyL6``x)0nX_zb9R*Y*IJP0v=2iN>0y$&Ec5)Re?E$r=bP;7TdXEfT^%sQ4#G#iF-!(=1id4WkihwaSvnDj)XsO*?kBfkdWz7h4 zs>S=}6&bQeE>c8uwq@>4xxF_HP=955v}*<4=P5@kL?~q3MZI%w$a-1E=BAqcVlp3S zL9oOd7LkP_aqj*H=Rhnz3OI1t_mGI-0igLYPHLLa9L&Rgp4wyZF^%ujGE6A zG4Yg^16`4!5@YCVG~w)V&$vcLxcQO_(Rik$Gk;9Bl66L=UXV9K!2}h6x%PO#9+cg8 zx`vG69QeaeJX0b$^tjt@$A~#34zOI8#hz+DkZoK&jh3+w>Ti_YO#S_WX{*yuwV-bR zuG_j)m@tirTw6 zB!H;dfL@0=yIv$kAx>*4rwLk?s*6D6gZd>6X6oHOMEI{!BG6Wgq{BSl&#a;913+0dRhkCY!uPCd!~6k=b^d1_a{bdC zxA>C>`}60XWyViFWiK?ui*rU{X-#+>V%YFjq?c~#_zbkqb%c=PhqnssA89kZZN?L1wgv#US&D7f`mqLl=(zCmM>d!8+nlHlVwWIpX`jr~LP6!P zI=C8eLBC*6VVN;9Kket~@OsN3!9^N3O;`hK*|hr7aP$Puc-y2F629=#;is^-nwU9#fK^ zh&H;-Y?AgyiVZ;b&tH(v_Jzf&FO?QWjC$(DNTxj4q(;m0b4|0!r`3?+VZHsWxbb-@ zaIr5h7gMHPb(I;ijVXMq8bIBe*MCJ8Zs{ZpLi}iiewpe!aDrU)kvwe-0w-I*j*Gsx zyQiJ$FQQ>+*Ios++LDF!y-1wYK;`a8RL=ePYA%F_ZI5_*zLKZ@te#w1Y!baedqhw}pfLaay z+TtNFMPl#P;5_9TG6Mud9-Tz+A684jCi>i1U@dR^3Q=?tY9IpCFu)};zU@BQca4K# zi?_0k6h7B?khBW;xPg%;+$$?{mkC=}UmbfEB}~>BcJdynPqJnl`qj!s9(EnP^XdphxF0 z#dGdQFy}RXZ`^vV$nWHd7la&jWpb@EGm zwdTR$QglKl%7JY>kti3V87aV^1+PYIF-9vDaVj!-n_?}x75=y4+uKJ^3|Dufuq_d` z+uR>ztDP?{_LS~!N9(6iu7*;GB&(R&+dU3rrs^M(BNJwMElBZ>L2Dn%ngwv!>A__T zOHZx$XyHgA-k8zfq*~cTP)0-Zk-+hQnpqdRYjodM;m|gTJE#2z@b*KES-HK!k+uG8 zV?sh0-t%W1Vbszjw%%i^^Ua=^srH1>9iGL>^NQ6NG2p_G(FZq!X=oCl3b{d+nvDv% z-PYHK%(ZG1+d4yfHq8gc{SXIgk9k(ukx{b)FwX|mBzt>5>z-c___qFd+NhtAPWMD+ z^38ZFHTXO2`)Tav{p3h5f;saWKe6hXn}t{ zym97y&w>VUtM&5s`sigN`{j;IaiDIJ;7Idhk@VcJ%JY~Ghb|ARuVY0c!~$eLRS4h$ znuF~CaP5d?@@iCtp{s6&bj~$u<`e7$joTkhiUo2*SLLt!J}QW2MQv^A zUH7DoS$%cdf*AQGyJ8Rv(|&ckQxGGIQC;4S)gJYq{F2>CeL|POSC!5&))h|saK6^z zK}}cF#^tcMoftmw@DW9=a3{6LGW|h3g4Gb7ncZq@Vd$NOrB>btd#UF>ym$0PIXT|| zI(~HQ86qM1Oura~R}&x39=+NVe8^hbRpjU%5DfgO-@ZIe4DX_uXC-ak)hqWmMl9c z=!3$bo+Z~cWbrO>gqnw7V^D{3^NIFzqidYsr^ke_Q8-*?=3bw@E7@7y5e?0ha9pNv z!DP)~JzMw-mkGtAFXwI}HI6%ww;AP=xm4x9_wggA3X7I}Fv&annBCKl#cQV@xI2Ve z>WgJ0r!fV!R=y#AL?31^+MayQT)2HU!qevWqp$!2M8AL3$wVnd6i(G1vC^Pe@0*;e z_YEnVQB-Kv>d6)|P?Ct6P@glOW#nLtP&a+)lAg>G1i7F)rzmlQU*cn`_6=aU7xw2B zukRAqPxt2;1e;&psS#-9)P4dvUoYOQ$26Gl>+CODS#oht7|8HjShI?NC_A1g#qUF( ze6;4Jj59(UIy@=UpS_Upk50PRRe28usSUgQKi;l{f~4h5NhnV;V${Z^ZbFNmzfe#^ z6CpWhaaHyRC$0DL{rJZaE=^oX+eH|PR7JtJc_7DjxqM!Z!gBa}*`3DWlFGe;HQJ|g zqaY@C#6RfYln$Q_Lwj2I&7K~@wQ}1Lp-B-uP_A=g0EyNwl(usQ_q2jUuvn`KTqo;h zPx4i|M?+s9DN_wJ{e#$jQ>v2Q&dp1R22DbxvER^_u_ zfZ=fd$2_+&(#Je0M%z$C-&_B+5X@7(*MQ$RMN)SYbLLjxn4Dro@$nm4LPQav!&4Gj zSenh}m4F9f^lr8__7GGuq7zh9RHS&1jCp>2e)7B~jM+50rWT%Gq=-lJezRxU#lwa_ z&JZK%_lPV?;e``0v=rvrLyR}*tXVYGBQ!`s%MjHGnEH4=*_}=6dZnCjUc_cU=wG_Zv5q4Y0-MO-{ZK{6{bC$jL)_ zCg&b!7q>p;k*sc8%oPyCe7);A;6+Y)TozpGJd*ZwylcBXL485O z^za~PTs{l>kG?^afO0pnq|-Z!n$Uuf67t?0JwxJIL}kD7EM?@VTykH_sMqT5CGc;f z-lNw{X^Q*EnAR%&E8Ei~sX0j>yy8e8#)%oAO9Y?Iv1KB9Rc_se(MA*+V=NxgR(P&^ zTl#Q5DUCS|Uj9cA2~hp(Z5UO3z|2OM(?G(%a$vQ0c_!UFl<*J7cEFto*WNgl=uNk? zjg~XY|NIBz-+zLn*aw=|A4zVC6C7`^Br;=Y*5KR7fp<3D?d%KiMdAFqPY+h6=H}9- z>9LYj-iBmQVkt`nZIcUH=2!)0or<^GU$Vf{-0 zLh$TXQ}Qz=cWRUv9?84t*g)1zU13*9Um29JvP9_igE5rD!I4ppvGYW6*<FDXhElN$?ex4n8*qWO?tS zv7H2zdQ*Gl=zwd=6QUspbAPMu_mro&8_C+Q*vjN)H|IO<=v4l?j`CB(FP*-#{`*bX zGf(R-+DHJuYq0B?a9gC9tg@4ypOSEZrDHF`A)VRrBSMp^Y>OLR({F&{kzE(Pkz{gG zomOgLiFeEIL(j6$5WM>ErfcxS<)qnoy~Q6HRKhJ3>lpArA7GM3dfQ3%w>V-u36Z=<*$P_6Ys^-2Tf#e>nFM=osnRnIFR@1ss|!g|EVv^2SB20J*?u zBYzo~SVHv2wnm73SrK|Ngw)nQ9^YN8t%KOl2@>e_2(Ma*T z6!)C6_SVxNBsD~prBCX%`if;qUwf`WY-lNKh0)MH8E-n7CIT?ztY-oYoH*Pe?g_)Nr8N z>?2p0eV~ym+fJ+|AF0&rJG~_Wv>P596)rCUwYv@$Mq?N{z6PI{o}Wx2Mh-uyP#GNy zZrsqhVXwE5r1MBsDK(!IB9AOc0&}sY!c2AviKb8BVHwoJWJ>A*`_v-!SahSHTz zQ19MW&aln~EXga+;-~CL*^K$|(Ppp`u&S*ETgen-HY7us@WqD70@oSnL%(Na{oR*g zkG0?|auJX*OWCz$EDAN{oWQAn+&W@n*T<>rtO&Z&PgMOyD5)X*$Rs~y+@}N1&+@oD z_f8e8bL6*91hdfwX}3JK^s3r)lniFAd$mYnP&Dn2+Xd)(1YP*A$Jb?(A8_*m?u)qWv~QSOH=7&t%aFZ2Oo-xF;)L(6B^*-rGMBm=vl)umE(CMx z)B^dZXkXSJcv4j8g+KiZsur1gO&!Klmoo`k(#ZvEuCY6<_tdNOmmRJjXko~Wz&U|Q=Kn%J4 zRZi0_WjZ{J$M%%_0%xzbEBht}EjY7{4FT}lRIKE;R|njQO2!3O-3`}i{rbD?`)E`I zJ}+bp6y6Dqg?}NNc=BI76P1vl6vW$)YgRhL;VR8P`PD`$798&i)D0WLVNIsP*{N;F&%lOdHY1dZH(%VXx za>iqC7?pC?JIuxwLwAZU6S=ogt{TIEVY?sR&mYs_*3#)v`WsM7mxXlDtdGT_mp|VZ zUawZ)00h|i8IFiUH8s;huMQg4p_fygHz_f!Dfd@v1zL}9tM1?)J^*^@O2BZ~eKb`> zCvC3i54LDwzN642ctaF7%)y(Lm|C~LhaI(^Yr(-kYIz#Fe&O-ftYI7uBV``2%AR_I zxb@{eBDGYuQa`u~?Yx!T1gwwJ&%!AoNPblKupaXmwm1gcDvPu{cwQ2NYVlnQ%xv+r2kvB8Zcy>u0BeGP?Qm-Slk4JbaO zSI#$AFV_dH;k{d~gli}v8W;8-p=gd1u3$o~Js@zr+8O!?jCLI?%F$-ka5_a69Gn;?rL`g=9VRjggT-@tOjd zcIF_u)la4$a5hl*w8A2GsWU^I=XQ3xSf<&2{~@BZQB~}Y1TFa8(#QpS|MFhl1aPV@ zcb87CE=VvTta7sLx#}9S%Z}SSX_mBusNL96=RPc>1lIsCvWDsz_;J2!zx#B4=vBI1 zvV1bV`q+9t(DZ&Ou8KIaz)k-9m8DM#M z3VV3T*{<~j|M6f>VgobYKjb%VR##12NAJug*wghGR~PG=^AsaBh8VVn%j=dm$|>gk zHy5gv)~SCcRP!oKoSBr$p&5zt>w_6m9^$7l5Hjun7}6 zPn73Q0$3t150ItTEUH|slmj%<${(8vBHS*FaMVh@^KQ*s4f06muN;U$NM>FoUkNQ> zT9`-=tC|yA5}7j6*j=pw_Q>eC`0HckrhxYQI`{ZvN-atEA^XzVQGXxn`9*)X`n67H z7{LXr;)uNY6iVG#hV@powxQ%+z^x~l88YoQb~EFj!he>5JYVnq2vwQA*S$jsb$wu1 z-gz6R@SFbx2+exhp~%!)%M*EH+oe^f1x`5ue*iWajjd^72NGg72-XLa5ikyWufB*# z0%MD>60KJ3;2QdN+`88N3t+tJhY)xuP8GvCnD06)4i z>D|T`olkyVle^m1TqEaS{Vv@K4!vj0ZQUMJ)6Voa8U}!#Es5uI^ZSM?W7N%K=9?l+ z&CSsvHOry`1~Zq^(3IpCG$nZrH}HD2sN^j#_1Nu{0BLj8I_o+zuLa$WeXc4AF3DQX zv~-OlC(51YOHBt+q~(6W>rw}h?gA`}2vclN#FJL-m-wsXvB(k8g3DjI+8Rix2XoUq zolAkC_exP{#%LlU_&X>eckV6WLGEWR?(V@wEg~6Y|TwXVw1jLF?9noBv8rPs_6&iS|&g2ao*R+3up-A0yN+V_z5M?cP*BGm+?P3c_Xa zXo}cj=UfDpk8$Og;c5g(mQ6+`yTO3S9HJ94m+7kLw= zY@xY`g2NG1s7Idv8nYuthD~<=yxU_P@b0%8wEJvr&tc)xuSDfRXopMr4RFCdo5>NP z`D8pR>^nR?i39$?VPhxbuEvk*<^1b`3(WeQfrNx;GQ1O>;(x>jIlq=t1+e)GXNFdG zhy_!Af2Wjud2#u`YvIy*bbD83N2adU*8uvy!Q%cx$iAl_0wX1lXxb0>$mQfK*b4Fr zw|z~NdZ(dS4zdj`Hw~F&AZ>4kr62f4`OjZ(CKY~j*vl6RpEohNh<}F^^T20AkMfnKFcnu^J#FcTsgJa*J&WN;?7E-MDR{8{)cSFuli3vPeJANNB3R)N8RiP{t0 z{MrxA1Ir`0?c!@6b{7WWTs0M$s&$KZseN*sJ={VjAg0q?TgT|Z)72;z27_j2Y$KH3 zQmYd*B+E&1NFCpRvNTH0^K(1;JpWte zbwpCTRhu0hs*W*?O#lv?*ak16+o?y-(#w9az;4(0eZYImBCD{Il%wqP=b|j#hr=Tc z#zef@hlS#e_nuzO%GzcWS{xRZ%7#5iq?Bi-5b{&>#9=j*B|;Z=YL1TgtZiKX^Hg86 zuqJy|$>rxK51B~I+49dZ%apo|+US*NOSIBbRd?roj`ueYd4Ki9tZXGe$lU9e6$ zXO;nADpQNk?}f@TrE|0jI+X^p)|)E=Op+PJJ8J@NG1dbDbl;q0Wuin#DeU)$MhAgf z(s`F|=m->eCal8gfTU*#*d#b_bO@~u#F8?76j4?MX#TGjI2Zm2nHqjAqzu&>a=nQ( z44n@1lhe10t2aH*Tg+3_s3eEqS|?0Bwy+o8i6ffdeMsyW z{|;QIl(YFPBoze5X*vDopmqHfMLH1s=gBBy5{)xeWLLwmT%;-EVzQAx=a9x;WLO_a zN7GZiC@;`Sz^0o=PR2UnAl}Jom0rWDO++NVX<2r>_KnsWt52F5aCg|~a$XwKgj|w` zMhbb|J`b1+_;$8WAJn>h2x)2lNgxms(-%DGWcE)3gFZ5- z;2I7p30EkZKK=)W@gshnw70YC%r^GK;2F;jJ;?Y}d!6?{8O%J5ycj+pBQ5bU`hDAg z9WUY&4q^2)C+!zLR7v+(7Cf_%EaG9w<<(VuQ|hkcy4kRqB^PK2BUDz1kL`rHy~B{# zPNW!6yLxn+&aSw5b+y4)h=)K0Wa4*aST84-jFjZ;dp34SAI|qZpr;;kJNljwMX}cPe-jh;IfI$3*HzleDZsv z<>7#*sLbdZ*%umcED10ypM6Rl&s=rOmzJlQTqh(ZtajA%`BeMk=zJTzJ$dkV+Qc*K z^fWK=H4u>JzLu3*qXS=G!t!M;HB{1Q^jg%NE_ro*hQIMtMkK-ZKG>5@xb?UDAyFk8 zuOGCAriFp?xkhKmnTl$G_juayQ{f382RT^#8>jL&w#8IxaiGl>{9Bknj5E15n}Glg z$B`3OR*x5?j=EA2i<=1$vsIln@%v-n*zIb#fTe0wZd>BA@^U6?k118`?TxMDU~`5K ze>{)Ho#{`=s-2y&g}ISo{l)(qvCb=8PVDLl8Ex?;u6%lePgv*Dsddk^nKRUw^T$Yd zWYk0aK4Me~>0f^7xf?~T+Jn#096bH;Hg40=RbyLWT2V{;K!)W2m3Y6#QJjUeD-ag1 z9=fb!G5*<~(%c-k@68itn1~n3Uym`|@_Bm9j<*+@Yn|aQxNPw9iR%vF2YK@A<0l;M zrl68VLtb%Tv{`1K#}rREzPh@+#49?AS{@Dq8Aup(6A=tN{b!v%=MZ`yUl@MNgDqD601_wffvG-;>28w-Ka5wS7kYFwqxNP?acP|cM zhckT8(9vPg3#T(^OaVp;C3A8!Vi{5Jz9)Izfxl* zsP1%ofA(1DiZK3QICSvA>t^o~Mmv=q?0^{|c1==h)GerTh)CT%WB3dK!qJCmBvVSP zOizyp2E!8rDOGWf&W>2+uYNYy*cpl}M1uhNUrUsLpFWuCfD`GK16|M@3^yDgvg2&J?e`o| z9|e-i4UW>OK4?5v6A}`pdgu6t-NIPP$Uo4U?uqHHXr`El$Z@3LZC(g;`!9;fBnDl+Qtu%zo{`*-p<>hFJPD7=V6Cu&f` z>J@inWcOJ7SL6JQ6p|W@eh1C6NGbKv9&XmL*^)FHzKGcenB>l)8_*|5&YjxY*?k+D z{dUl>9+7ND37Y>E-+6UVCFUof;igvhJ0^5Bgls-h_h!84)@;J)veWALT(9H@`TvC* zZ}wk$&o?!g69s*F6>F~;j8(jz@yjBvgMLiR?NIs8oPqP7?L}X%#KN4lV478WJ8tO3 zOR_=;vo-;Cs&m&v*KP~VXEY=vq>Hwnnz_QSxW5qrvR>AQ)7Tuycn6L}goUY?xye#L z6UHTGvgolLc^hxjKKd1!zr3y)`j9@lX{wx6Nhr)P-EV@qM21N(>ga<>8j8*#78x5i zuJLm9M#D?4YzlLhn$cB1VmsO3yvSp_;L_r98_Xuwd~1TSBnb-(xgq@yO=Y`HIK$?i zdx6&@x7v>M{H@RQI2_gVEmSfudvvU*!(H_r7+q&zU6t~CjON?LLNpHK(Gx5QGj(`>l!f`9fF1Q2(wfsnr#I{UwxJQukz5@jj zbxVj8?y!*+$L5p|ZI0u0Cy_dmu8vVZxtnEU$4`o{m;q6L-Gg(lXqd^AG`j1JcaJe8 z9O#Z$0XY{{A;2PXGSFhrkUGLVmb_<_n;Za8UOS_JThPBC-a97#2xT${*GISpG zvE#cwk$`EEVp44_ZJZTLaaHVXoGLCZlltU-(+v1q?rV*C)>CoDZ8|Hn)g>DV_G@M! zSokarFptsaV-~D-`22ikFfnIeCeSsdk1p?X?ZBZ^rE!8Xq2Xcun6ZhI6UW{XJ=vLP zn555QYHQA-T|@qKl6z4bq7#e@XXQ=hnv1m3zbth+9VRSIei+T_idoe;HeqXTp5I#> zOZCsQps@iNt!=TcA(y%hc5k!7{SYYIE)mUs-gcXMQqju>Q}-s0uPY)qkyH|~=oW*k z>$}%DFgKp*IJWLOjJtLC)M-U5kfNT|VaGSkPL6hX5&u3b$KhUJ;~eU2g*%vY(?MRGN(xoNoEb!yKe-bixn_Cn^Z1GV39R_RGQVNSuc5NdydxmPs+%t!x%0 zbu~-H$RX*>`k+YzYjC11Lk5}4g1d)sE9#9P)gQZOH4w#o42JT_B=w%ppO3>wx(h{4intfs1X>-d9tEzrZe`wYX15yaQ2q0?hz4$tCfWz>jF>A*qI z2#`UAx>s&jw7eX{(9ua?09SFUc>Jp zdg8@+l{ES_u@9@5pz|Gv=P0^~HV~n>Q}4VRORU(vGTxg?M1A5q1`BSV z8SSI9xAlIRj>uR4%`3b#Aw+B)s^}m@Qk~e|eQ7csD!~L>+?6hPY_JgYmlbT=?V?IicJ+d$Loa(%|cd z2`5Mqw-Y)vgZ1+A+8Q5p(s-xuu4OfI!gKx{ARfo;?B~8xjn{a0zHIm7bAH|jq?1LL zTi11J--|v>L07pL+NK`Ix7(UOvqG3}vh({N2#ZOsiI`U?Y#nntX7lr_l^FCM=1hEE zcd`=SLN};#H_DNFM9R!&=yUS%;>61_=R^mPQjVBI4uNr#?_+wQ##?uTGxgilS&P}n zDI9CsVr79#x5HZe_}O$*b0DCDqJ~nhJ4gi{4<*FW-v^Wq#_ZDbEh^jX1DTFdS)CE8!*E+0})`&A8@iL37V zvR(5R0Fi=+wUA_7tKyHQfM} zvOzuce>~yEmC^7y>iLDkeh<&Cm|deU%iJg>JieU%WM@np}x6KC(!87kzE50XeXMVAW9fpo#1n3qzz z3RvyWr?J)tl-Hj+NsM(yCyNWc%G(JfUc$5C4KdRD<&MMAf+M$Wb5?`7Qo!Qz0Xk|;J)V=)C$Uw#|H`?QvvbP88`-N-xS=$-dO}xl_mUWCu9Q}pn zeT=t?m~~4O&Z$9um-_xi8sD-xm9)?L<0%&|T(lZMuW^{h^0gNSk>Wi6wbv5m@v0K-oEB%IG;Bl!xegVvv|@tggrhuy;doNyU%&Gj?7 zS*A#ogzAH3mdI@rNY|(QALiX{o9cw@VqB#=0c*$^CkTGpmK~Xh$7ZK=XqT>pF2QJq z%?T$dJRTKZOG#*%%s3-yK|e$KLeI%vyx-ZIFJJ7)x#ZKGXJYbC+O?zyLGv*Qy1H_q#bb7 z58)j&a+BPLZ#jtkS^$R2fY)O_AfF{YmVjOqEpcwNq_rK;Z(OpZ8bNHwD3$q3` z_MhwBON-y1L1j!fZE9i6-Yd-lqYb}(ecoR+3-;bZl$mAv__gEu{33oeO|SUA=vRfm ztm1+?05S2;6^8R4@MH8Fx?8h&*S|hg6z`=wB(Lh&y}M<|6gK{qSiM?peP8LavxpFx=x-t}FF~n23{ZOs zS-(H>^5ZOH56CM*ND6t+>sxlGy3P+kRtJGLa+Qu&_h#g0!?NH~V4$JPzL^*$=YkdU z+&Dark-@iHgZ5d2DWmp4(9&n*@l}V4ddk5#ILCDR6=uQ&ztPfjRET2S>^IJ1^ULM9 zL3=%NF4VLhwq?SZ+ISPEcmEGvZygoo8@2xm2uMqJOQ$G9cPS;^LnGZabV&$ON=kQk zGjt;jl0zdPF{E^zhwuBI^IK=FbN+R)Tu;q??|t3Z_1R}QCkJDRN9vR{5%#^Z?8$TZ znvZ3y`}3=rmsG^GNTJ&yjrz>FR0a`$StKS$Ap|vLMm^tAizHVXBs76FYq={}_GNZ% zEjr_mkM%k+$;;^Eh)^m->NBSv4JKEJ|J8Iu>}-sav5{MJ^yKzD&>-%i+vcl#fZ42) z^EEfs@a_smg8voYJs58-pJv;sEi@+9xhI^Y9>xUj<&q0vz^aWG#`&|5Q%Cg#g#+Vq zAiRK(EE7j2RIKaKsHq}qZ}#Zr{et6{5oH96M!eLmHx3q-zQcO_ghkU0*n zwELtD-2Ow~ri8wL3z_K=6tyW#)?|3|CL$F?h(Yaz!gg#){T}!qhMQ%jvB5ZPUMiBKFa-#aV7YUjb}wF=(-v$Ko>2P34UxVq z7mp5FrLlDx_?u`;f%3Q{J`MC8%l8W}^@cuZ$JVl+`yS)2bec(JuP~NQfF~2-doG_| zNZtkkud)FVbZ96tpggF-M~UZo+_!0jh4Om9=*Uhf6?PtF_Q4lo7CV3;bHd zlCs~_8K95fr!Rv0dp(p&aEl%jF~F4)f=Z;+BxApgTc}>95_8HIk^LAp&kc>sVWzSb z1$m}nXD)`CRd8fal=dhk?jd1R7b@|#xoQ+JhGg`IG#>e~#(=fx_D6l9s(X$T~ zn3jm5Bs;c31*1`4Kp(Qf>gF$^9-OGAPQ|UF3uVm@hZ7?wP0k-o4qPsV{!+4h;2ey{ z())W>W@0AqC6s-{^G(rqm5MDyUyD7AbvyTCMdp60cbU|a7-eDALnjm#5Z+@JoKd`QmZx zD=f%_$A5u^y-kWxz{IFzb}nYuhmnS(s+kt&Peh6v6CKMD_HcI`K{QgVUq{s>R;{ux zI0~)%-humn1fc8lC$b*d&@P#+Z&Gr2G73*`fs#35s3z~!Rf^$A#U0*N7^^$v|KLmI zzq1+98P>R#aR+sw%=}C%dNzeiBDyGreqB-E>x2+mq`-YX_BFSlVt-T67YZWeL3VQH{{G|KsKiuukZpV{!q(VUb(%poQ?vqH!VeX7 z*aamS_^pc3vvVA!3JCG*H0D;I4Sa(Y(&-dPp8WBtHaEmfS_UFqztqglx7CLL<2G$% z_+hU9U(hNQo2~6K0cnt69@<2vV64(&sOiUDA|LD570z9J7KzubAv1oVQR;SoBW(&e z*R`h!_l4k~@lU%JJhSw665`2{9`+>&gOA=s;ZLr?B7>YHe53gKQhrNc?2ay8JMJwn zF|HP@AcBW(iq9I{QLb-1+^7stnGa zOe<}H;fFx|?{FWs1*b%YPk&?mL&Xw!^^)&;)fdjWRj^xnvK97@Sx`IdHVlOTw!1|i zKrAh=6ve9tVIxf0&5>xIia^0|r{!W{3rUNT9ews?@exH)=h-uJ$$0pq{bSVsB65kh zy3~q%U}zW_K@+M2n3RT8Hg~tMLTac`q@J#9)tCuL_!u!+#4^6Ox{s7s6iAU`YiMk3 zsOt_D@3p0!JCP%2Vx06?`(Zt%4$6(T>wO6k`Pc7m#od5a?@lO7VyiUy%_^YpbhJI0 zwyCZs1@&G=VbBGeaO>~dw2HbOhJFJcZtTnMD{O6F``OdetxtEY9|x_^gO=Fea_c!5 zcDNac0#bwveJx~C>n_YhPx^J+GNb7fklUVarh#nQvA2nQS3Z^jto3naQ5dYOWqk%u zWR!w<$vQ9Wjs`eUKB^B9eyDo4flJib$#USUPwd^Yj;$@%mhmID)I<4-aKkEgX<9Jl zo1Jc%@JMW@!}|v6`tz8?+!H&}o}JjhXtUk5B+DmHv?7npWMvrdAtRrnk26JEo3o%Ez2Yz6s7bhh54UJV=LgYe=`%h4Cw~8yR|%hIwip) zh^X5mrSvdqsx>u9({3U}w;ST%(yh1}dT$Cag>W~DB{e%b#saN0k$ERy)?+O-SfHfe(GlnA z4mCPk1+f3P|6##@|1_R`uSO`jbGw;Dn76^dEZlmNSWY;1=#lWj=`Upd@}20B+E8O( zC)#nYqnVV*60l({L)fY7+lx#$TCZMT%_&^3^j;Zz8*}IGjt=IsnDwDQ*Bt1UmU0^N zZo=Zp1uw5})+MzX-6G3u<6BKeAPZXS($Tm$S*;OfiL<8G7`Bb8r8JHdCFMQc(~U)U z-%+I5N<)SxOLNCUJd9!488v)3y^Q=O*ZG&wZ&_k-vG@UEsQP>Yj88@+va7rX?AFw4 z9-$eC$nlig@!>F5ZbcTkkdkB1Kn;zbS;S0(Wo$RV1q~U0KFzMcd^MQ=0@b|8Jog(h z!Z#ERDYS;XNE9i0U`-y7D3DB4X4<)p&5FgTt%c6l{aRYm+rKpIsr{=4m+@88VN9xD z2M=lA;`HuB*+U29_?JE+<$g5L5~L!VUbkZ9)2~5M@i&aU&ywff3Bm>TmMqbZSMVp! z9?zdb4n~v+O{&Vk@?LJPRXjO#(%=rm{mn(be|l7ax9r7(pKP;lY_l!_Jw}z;GHYtK z`upApxM~OXq$;a}5uGlro>?$*Xb&>3=h%R>CLs`z{YwJ4U`b6Ajo{*+}%<5i(#T3&wEXE-Mz6D3$z-( z#g$|46sT4hoGc%nk0f;3oosE2_1`CMz$j&ngXrLS8VF~p3oGfM0(y?0KZBc+i%`!h z&A35(&Gy!D?-?F-Re}gDU9%nCW9&j3c(stdw~Ug}RXLXIb-A%ilJh#|DC*tWt!xqX zT3w9%uTA{s9$L|SZw3^}DA0VHc@D*As|0*&}d+ctm2k@Lq8zMg% zcFFlV#>I&2#!BSW$3LE(ho3ig6wd6KIIcau-A4Lf@2~!+=THqhoCIo^Ja^Fbivzx9 zRCf7{YI}=fyVcifw^Xn8o^LCb_SyQo2+}k1#4weyedixQDH=03p)>-QtBS(6w}(~n z9AowIu6YPeoX-(Xe+Mo3-HRX26&|=d1*~|BR=I6AHh5?DUBHBQ@14IkHcrUQ{2q1% zUUxma(bOeLhYe8)m91Iq5;_vuK6y4*skJ}=2zqx&&1v?J5Ij)V$tJl8(|b8_I`GBl z+rE=iJ=^J^#ioERuy4`=-p*-umOQd)DsGq6wg;tY5^CDey4iC)`J87?ZgFLEc}>2p9AB*9W}R9S&u1 ztEu+gI*!Ki%o1kU=Z?zvr@JMZI`exMudr>sR&$v`UzA5HK%9e`SN+ZZ{-`l*UG9E< zOTV9Mek1;)uV1^rdsP&o?rdeAcDQ{50q=*_hR8{&g0<7HOqFasYHOwW*wuA_Ehtm% z#L$enyNaURIr#@A-Qk~NV!~qwR7b)O6$4nv~H7dygF6i1N1 zEE>XRn59e*+UY6mS(%3En#FsHB~DYC`t!T<*RSDdp)4k#t&mk& zoo8Z&XbaC#j3fB=jG8pM7bGaDS^Pj1qrTMcM{FS&g6P=l6*0V2m>u^h>lb!=Ci`*b zsHA)PXQH;bG~|j|0Bd0q z5&<_s@N<4ukNSOTsu&%XnH~iQR-;FfDR*D{y0npAP7uU4tx)0}Hj31<6Ep?D?!D0F zK_dPgdEy#@LXi8Z!;6d@!W>^uy!uz&n2n-UE@^CIl)_os!rJ02E|ssk0Iow1n}r
uPb|#=zMuoTtkB5W)ezBzh9}tDr$A{&&9%2BwjKCTC?W_SAx%A0p&!wv9 zb-H$&AK06stpcb;*O!>J*KfWF+i^Gt($e7--qsc0-1+bu?nkzs{&>A-5xf6gZ;#(z zhgW`3cRpcG!bmI1gfA8Pg?z!&Y!kLiQ&-nB)=7mGZUPrW8P~9sd_3iO^F)t-=heKL z8J3=heCQ8UuP$9<@4~i@P5k*qEHDkR&U$7<9a6TlzhG4{UTy6v7AT|Irfv%@T$GmM z5xoYlkMvUGfTtbP;c6*~tZC&OqRAXvgo;E%k`Q;Hc>`x~*5Pu9{GWCd>^)w-w?6kh zgU!(yEFsjsx^8Cp#%tHHdC8+=w#4$wN&=CJpmLr~f~XHkW_~nIa>u4m8=k?)$vVIP!#y3aoEn{tPWg zD|6aZ?OLd0DFoVt-$to>(%8-e;j1TCE2#Xl*$f|RXuO_V#n#fiapK?zt{r`m7ec-) zOyE@hzFWuaizJ6-6Ow`AklccBz#d3`LYwxY7lXt(oJn?d*57mG)&`%GlB4^pJ?X*~ z>90C7Zp*DV%WdqKhI}o?wXU!kZ!C4z^_;lwfq}3!zs@-2 zl7XY;xkih=3kjw!!u_3nOZ98L$YPH{$UAMw#ybUct1`L;dAd=84t1nSeQ5! zk$#Vb9f=R+$E%ShrO;v>BJBRtUSIts5k_63U^fr_4bfcIF{tPHFX1Z1rqWfuaLc{R zp17rDO5iA)zg;?@e>~7uXV?%*`Z43!*D6%(@e8phjjEZy|5a_*aY1J*&lvc^7vw0k z#!`)>PpiKQR$XS6+DZd2lAmstAF>A1CdtVbbW;^sB z@o{cptV`xy-!1QlbMfy|m1)zKPYBS7^f++q7kx@fV31GmQIBbe+NAV@uMAiqZ25ze zf)KuT&$L)r5=-1?#9y|oDyHvgC9Sd4k;FO~FgST#eruAN96N+;{&V4vR*|YqpuKaV z+k8jA0jh;tLopLCh6FUe^rJe_~!CroCE{wW%Xd{8nG-Jjv8G>~s8iTmCb zGUC-z5h!m-dWNYTFf%th+nppb@OVFJZ9I`yF}A+4!ilU?f>C#KZOOHF4KM3W))jWS zPFT|1J`DxS(Df7ZDa;3+TcRP%ZUNs zc|6}4iHnTaE@lT=m0MAL;SDK7Vh@6s8Hek}w31;oBh(BZBesXPlhBrgMU^$KR*UD9 zx_#``PpEcdJww`0Fg#INAPV$pbsy1J4+G{13z*qUf*b0XRx9cxa(*D5?W6l9YX+4VI296b=GZ8L zc~R<~gwcNZ4+mdRt~xpJy4)n1quUxdG~eD}gGgz9oZAFEA=^`(+1uIoEw5(-&>n-a z=&6YH;hsf4Qtui&mYyzuScF-+7eoCX3H%?^6}=R|Ow|q%5|&L1oz)e!Kb|r0`;3r+ z)5p+Ib2q|GEkq#{j>EdcwsiBmRo`_N!mC5heiV*_=`s7lobqe;5=+O<;DTG{eN8n@ zrvSZleS@9Z{K@`P;_P3oK`YOb>lzcIvPcgSHJSd_8xnX-<^%}#>k(Y@v|qV1tsE{j z+4plkzEDT|u+zoztD9XjSDSpRVKmd1Wu0g2LF>bq;D2(M_7VAEZk(>p^|{qI51XPW z9T`EusEu_>B1X{xJ7WsU!X?@@Y1 zq#c-tYs*4_BfLay%RUAWgQnJ2b0rbe!XH6LUPFBzLe5!sjXHLNT2FlCW99A-a)ep} zNj2FO!E5;@L!#etp3=f49Js8qEYw~!nL45YJ+FZj#m3(ihk!q}o8aHa3#wmQ zK)Js-?)8mgadcmea&gADLa)MMMXTRNF^J>SJay~;Ed#>&bKm~<-ydlI*`O8M>ZMWom@2A70YF&d@r@h-<#Q# zzmHWqHel@*YU!W;2mLm3{m?%Gxpkp>tg3y1Grzs%8AGVEtr5gUzR+3@-%?K<64QSb zG9GxA&T1g+OPY%6;{4f@NKI5UcI&u^{w4%7{dNL5{oy_8Zs)IL6e*~0E%3o=wYhkkm}XE}9t!;>F!%-L4eyYS82lWV1&RGk>vDvyzMq z3g^mtNwS7C&uxdE+(CKU`sw*BCafil)ybKoEm| znXEL9z97ItTlbEdyg!7qN_jq$S<1?rnaPp2ZJ<@s zq$sfA?><=HTHIZg;~zsqF-xWGqdr(|@NrH)3-@02qo#?6t^=Fp4@`8?#o+?`IF|Bk zljACVg+-oFiaD)0lF#&VjXhL%Ztl(LMw5=m?XW^cSuJJGT361mNttaXu|)b zCO_Zjy?&@GiTH<7FL%B{yd8S@Ky7TKCbX+clTWQW*$ALClitQjzM{sgXl+F)s<)I; zSX(z)uzKHPRUGO*V{EjUc3e2*ly8|X2dETdX=z?o_BS@>+Tqb5-;k||(lZiO&R&c? zF16GeSJVWFq(Oe!uUxe3)i!)vA@X@5vptCSD}GfsqXg+$LH_i0eu<15nJVcJ*Th%#cn9r0r}r@TO*N^sjL}` zVx>wBNVO^6T9IxXb2Wg+xelAI4FA>ZJ8_;Po^kF*0k;o$mud5#(=GjH;6bV5fylM? zZ<;uxJ%?XSUb(3C@FgH0pBR_40)J(0#hpr)ukNcG%&U-q9*T80B3agujw~Nqk3X`c zhXMo*3gpoSH&`Jtvt0o{QDs+lLm~!|-flOUG@F6n1m96QcpfGQ27ct7{^wlo)q9 z^9cOhjNjG^R!!H!ZfWO*1_UfXmuR;0-14c1f^wDs6wlpVzgJw7XH%$8@w@v%FSbq4D6JFm7^U5Ss^w3h!v}ck-^?ZCXws{t zX-fu-JXRvvm7erCg-DX`YCuu*d@ zC3bW4;WlV8vRJXf4>v&5$THT1uhK;+1i~?LxJttgn3)v4ZQdWI+c}%}T3c;#RbT3r z+Tcy0YZIMD4X_MQXAJL&uE?vZ3@z7`S)DfLu?4blUx9OQ zTJw{G@N=uRXv<9f;6*YI-2z0N1uc-d>8_CDW{9K9=m92RDTQV6wQ=sS9}FJHY=}8S z^Ev&Iyqwa=5!@-8DE0*%NRdkP?H7t)?~&|L$5Ik=_=N-*>cc>$n^lN8ZYq){WmYp| zP(H%UQt|PtP-bCu#+9nXh6XnW8$$s{D{fkq)xZdGRCDE78m^X?qCZ69JnLU|GL9bZklGkfdrd;b1=W4cT?>80Pmk$Sg}UCl>MZSjGf!7_NYSArPT z4*~l9G{fGwf4Vi1F!c?47iG#&7%Op$_e9&_C1yH5RNtbL6zov3*izc8Yp{ zU7i*Cw?_WWgDYVY*8|q0n?`KJA`abUW1NK7HxFHV((z-HGacSKcDjwTZf=VyQACY(0TU!!qQnbB3 zIigNAsy$-^C`PltyH?{XiqvXp?7z>E672=wC#a=-V=N9|H2Gs^^u~TxzUaY5P&CaG ziJI~qqGuZwvJfgc#iB2nSotTJ%h=HAvzU`?k;=#Y46=elOL1K<52>iA zYW4@0SagK_IrJ|@x6NUzh-dAae>V`CxuUG+i`}8?hiCl+jaYI)@}Y2Xz0k`s-dGYI z(o=5&5@7dN{`ViO#D^QV%FspjgY9z8RJsk#P|Y|n9__&XWSsuwt#pmi>=5rzXxCGc z3I9M(W6jd!&VpTH8V4N}+CW7aUACJV-A#xa1>`L*=^bacd9$}%uu&yK?;rHH^K>)v zL6N`YJ+9`)V7AuSHVtlV|8rhdV=(D)Ca04kMt~fCa@h!Z1A1v9pF&2uW;f`l^+a`w z7P5P72Rw-Rs>Vj5=)(XTQA0T+GlY2!hHYI}_hwW9D7$+2Z=CThsJ43i%@_j<=6Pv@ zP~f+B@|Y_vRKT*i^DnK z$^K2ikOSPI7L$Qqu)Xc)G3u>dta({nMy?25(l(yS6j^|INBSU5nOZwWtdNB_oG*kX z>My{fM*QA*98lTmv3%y=6CI0X10W7ohhIs`qYq&AOkd)HMqMP*9$u;bN>Ew4G5M7+ zbz**HH+is76=|(=dyri1^f^u^{`rlo8X4h4*ZoL20Gf~eGaG>Udl7c)5WNhJQ;W$T z+jTPEBK^Zilv*}{PX0EPZNYc)9ZP>xkJKf!+c3hV8lOX4O%rQ+g)GNSqi0THxG|(+ zkjGtp@*>hrVyXl^WuNRPv^h2gEl!!x!!Av0>2mIR>x93e*Red~WGulMLjN1bkO!Fu z+n|T9Qz$4Q;Iq7hkK5R+(bb*1`%p=Vl)XJTEdwd(v!iABKAAt+_ima0m(D9&l+hBfhy5LxGWGJNZbwv zP77n%zOVLtQV-sMvxHofhSC3lE9UA-TDDd!s0at1@NVi?#6b z@=`q45Y_)xI$w|Me}G##MpVDb|n!kKNaHp1HlS$L8cMz ze0Vtq8)+&kC|xTg_eH`&iij zKsCM)p#Ew^X`I9%Pg)cM9-AQ;t2;Pzs_alxKh7ctxJ{C)cS9ct{vMwGdnujBx zLZ1H&Y{2lXBBjzC5)&qNB`TNgIhxg>(To{0(WVrRN8XIq@eibyFOu7AMAmVg^5yud zu{UmA2|8!Jt&w?bR7h3bo^!<{lcY`Fgd%WQT)cgiZ(A@sl%yR=;R0 zM;eIsa$MDkgeu}AuE{Isf=FNo#{>a}t?Ih=+vRb;AZjsihS?Whj6~slP-J|Yz{<8B z%`A~vM^ac_meH4-Uo@fnNeJVWqK~a$b`rT#yK47mi{G8_*?Ll?1p3mw}YfzHw@N7O3Y)z6K|tzj2r{y|1K`*75Z3h?$oR+XARm>?a<* zPWt+P$dw>MO|Lz-HE8&lh-E$2=6x0YhGu2xDT|E2BG;`kO}GFXL_Xei>?9@RH`ZqE z-_|j-k$*{H!c#?sM*i2Y z0@bywJ|aI4h&CJAdyY-+K45viOb_aO*#?oSSe|wAZfw^U3onkhiHT8 zyEwrD{@7SwK7Yt5-SHQ3;@C`|b!S4yR_FjHa(L7v&5P9!5&&4{rQ?@5bKZ zD3~kx*{ok5ptF1Bn10kIRrPQa!~5~=1nVL+d738UZpK&gHF8^_a3ljhSmkGdj7RA2 z4?wl?nwun=M08Yr^n#d*b?9f!jTp<0}@^~g57=$B!hwF_Io+z1L3g+6EzYL~M){HoNJZt`u$$x=(zs6jR7^MB7zM)S<|O zb5+na3%2s_eyysNGjIeAFG?F@Gb$j_XVO_CD z`A|5Hg-kG4;v|<4auhTrzR!8TmjUJ;^+yiy<^IkwMelr-27$LrN2SN6J)PWG?RxYP zKVVoi9KO{Znz-MgJIzy%fHmmvPcLMFAHxv2K7G31UC}(@e=Ak5BddB{q;q}H6+L$^QfEQyI#=AYhAZ1buir zyHQ_DWxX%!Tg!y69w3A=E~*>{OMxc1qGo;y-hGKRFit&XfZ*8E8S-6hRQxDj^8VKZ z#+8rtdPUo<@S=9>=&F(9g3r3nG}`a^w0zFf2hw`WWe{OWQ3Eq43n9n6BTdHu;QhsP z0EVvB=uC#GGZ(V!eeq$88L)CB%$}E;@IU;ZC`fVlFT)l)qOipk*}uu0l|T&Mb&$3d zZtSpG2pA~79lEn4^RZMCZT_I+rg#_a;NIX#ODtH*qpk~Obavc}_arP}Y<9?(C- z);ho5`Qu{v&oP7=Eap)^h04fm;_VHIW73MQ_P)j=2@DYfBGR`>KoTbU@0c8&<37>q zt;l8FUszmb{MW-}h1>$y=x8jR{f*y8>y{K^1@mSlyQioDo}(8oq3vx9ii1X+-KFn# zona&KPN%L(hz%MmAl^;IWtl&WgzJsTJtoI47lF>c?RjZBA4K%OT8JKj(P56ihfmF{ z1!`T-vds@X-rKY?oMa;5n)N7&O}&y_L}hT?o>Ss}6b%}H=o z?nO8u&74y<*=vjScUvb$=9Cw|uB7@97+j4vdP%`=urH;Yr&d zXjeIF@b}ucu)5g1_xyTJAL$QW4~)~)L$o^tq9#*bd>KD|7mMwW9MVA*{^W~(o2w@b z-wLwmI5Hic?Wimn9CRU!p%fdIY_#tT2>3>hkDl26Oh9hn%;aw= z)e#ehgwIITrdzdUk60eJB7q~U>*9mvZIyZF5t3rsKLCG0MYo{W8m>Dv9WFg|H2QZk z-pRwIXCn{rlTr$spW_Y)k=&OLH`D9&H5Z@2a95pF>iz7Ws+!eGt+>dKLr8p>Fq0c9 zKFCquq6vBmIQWm~coz(Wi&ykFIQcoO|5gwDk%t}6E-CPhJ#g&~(G0oBgEvUc|qv{o1L3uPKR^1Q$+re%6} zKxaoF&k~45@R8~J#@$j!>`l|Afb)U|nFhBK? zxMZDRS9l}eH+J9)W2(kv922Y;{o6cP-Pn9lq>RE+mlTue zAZB%bN8(T>E#V^YPli{G9B1L4zy!M=MfjgHDG}KyeZ~a!PNdO|j|5|~iM}BVXqRAP z)`q4g7aefjOIFqgxr<@@&yi8Tiq4YC02G-PRozE&K0XBMwmK}KdhcT1ag~E{<3ZH4 znl18uQJ{sB(p}v~Y_@)H>R?=4It}<(W3eeiv%6lf@So2>WZa#|s^%aTsaIm1gDbda z%B?o%GHn-gV`L8-*j$KOf`qsMmqG#8BmC9E2Hhm_RIQhRx zoH@6I6WGm1P{fm+$5&=G1+#8KqyDu6vo!w<%yK~+v8?ZE&KoRieE0Bm9uE%|ZY;<& z>wuj<;)ilke=v>M%DlK5kla4Tp_T~DqBbNE$?bKuXc{P6Y-vD&FmJ!AX*%YX-mM87 zOLqJ1o}Tu1=#$i9;4-~T#C5(3`a+ZvTzlqbuRZhhylbLYPT`z1l{i1>9jg4$4&uF^ zis95%-U#rm(>_=m|D%1jW2Sts<+;9f^DQlZRMXY{`V0Rfq)Ya_L2r=^p&IeAfJ022 zz9*4WmER_g>y46jJJ#|yKtH}?VryK%cp^SV~jH~15OF1d2_TMWR;g3PaZVSwN|4ae3<3IF6%UfMxtFj`I z=q8W8jS3^#DduN8`ciROnN)#tczkzIZo$*(4CJBvX$koG#w+j5F1+9(XSjz8as};@ zUGKFAdW_%C4oHihkYOyzU`6xm<=|IjoHwc(+plw{?2nnG9drM6JaXV18Xm)U4VnEP z5a$1FhQpXT*j#w9lPFI)er4o1Bkw=l77e87@}KR0NtS@?l8sGVA_GrCovNQLz#GH% z=HIP?4*$CkgsMO&&Pb)o1JTb zx+|;QU!|7aESo&ECI1^>SL-js~$a>g0eLjLi86$a`47WaOr zCZYFsQW83(>=J;6+WScJ>S|H2r$Ah=U?qUjt;Q>YVoNL+Ozng#{9|pL zkPr^Kq6DNY2t5=V8r@u>KYBIe?MJk<^>ZHhmZ$NFaF)UnAa(|iuc>@4?CWVtc&YVkQ~`c8!p!2+nT{yoJ4qa zd^d2SQr5=(&5P-3>?o^uw#*x`#0P>}bUM1*ev)FWyz?vYI0qr9 zM(MYcB+iPT@dih8_o z>txD|L>oM{!P2fbQU<>r=2)qyQ1O36jG<8I2|BdZ4!gM=74;ey=1xoG{o_*bFXh@o zfqZA%*({4ssEg1hfzHws)Ay!i-S6{9!cEOKwx(Z%v}2l%t^h<=V5t{*GMOf0Z6K^j z50Ss<(;y!u^2(0IBJ+#_2W1)n;{L0eWRa=F%uWb1FC6(G8QiQ0+})K<#{oo~pAng# zMu-95;+`*RD$s^G$3tUk9WcL3{>+%p3=R23l}QDrhC}&ItH&n9Dymg;v#B8WqcUw7 zGtTa5S<_KC{Gayfp7<(~mB02%Dj){UH z>F10Oa;6rrbKP?%n1;Zm+EC74z%nnspZY#s@diy-7hHC^y1Vlxg9#e{;HbcfVXeLJ zT{}|f$Gg{AMtzMibo2tOw1jE1_1OMtgY=Az{Y^}G3pv+Z34K!J{y(ZdtM4_2Zl|k2 zR?7UncBOs{)IosAhb31-U||B46(CTG&J(|F69M6USe$A&TDn!UB07it3^n%S0iDCX zBf8JLUD}x)1)1IirSHJOgsPF($YnxRrocY~zJrzjj3Ry=vBS^fG2na2g@}fpoHBN! zn2HpIh;9NOZas(}FT4E{W+OCF5DZnX|DPTfEL3Ifc%8at@W$T_-5Kg3mBSq?u5kNo zR(w1^Vuhrq(CV@0G2g4R-(SF*Q!E*-AECl0+VE!QC+c4Z#U(WCd8oRfI{;S^A&P8LN(5 zEc&yCkJq|MFMexOeaT{l*rjnm{n+QiGj7!9#PzB8@Xpe>o>5KPB^6VioB`-D z;~lNK@Y(-$q{oL}2jc;L_K)g7&~pCAJN>oejZs8*BpA)QXX;IgA01@?6ryXhH5kga z&^S!UZly42c4ah#O-afQhg6#nJ%goD&__`1v#k0aFTL)Mf^<`;MA7Pw{RnK0AXEyu z?f<19K13-bbLExiq66(8Pz-JoTJ0^^7vRZ49A*>n~3#cftLe zZ5q0}SE)v8fx;f(R7GrL7%;%eU>p%tWq!rfAkP4&_$U@2Q6INTm!Y0k`kcyH*S$~E zp?n?2%_n}hcc8=lB+3rilcE55)4lHl>>JNpLFLwPiAt@pkhjK+&hW!%Brri3kq@Jx z&AZ$jL7UOcs3aN)4tO2L7M*?pkw39j8cQ@ktlMMH3+L4RUH-UzQ}>;<#FoFa{Upy? zCnIx2??!bgy85&BRygkP&2NJ0yPC+AH!jOo37Q(4YE)u2DbHJrH#>3tLlNC=d_l8N z4}z6SkFDZ+qJB;pMK^w50(WMv%G~GqB46D8+6{PNQtzPgX%kQJyr@TCp5tk8yJa`j zOd2NOH`JwfXUlRIrmXu^sIW3hE#`-N{D)|3MS+1|t0dV4lx(EU6-_q|3kc{CN1v_x z^!dY}QzwK|f1fNG|ECl{!@UuAPBsw8YFTi9j)8D_FXEU^2v_HD0@*BER(NSciEn9UOSwgZCy$dxNLy zOPvLet!tChs#3-pQ74$HvcPEq>GH*<&@y?ZgTr*m;&Y3UGitgv+3Eow&W($eiuZ-QBL8?$!(DO3521Jgz)cb{yf&ee{BA@_P)|d z$mk1)UJ#+}TGx_TyG5p902+oR%73YXxERWhg58K^c(`VAQAr5O=&Qms`h4Mz)~4O5 z;U|TiO37nEKefxo2yLm#?_B?#RJO9Xu>WFX1?vAcE5PR<8O8|&oh+{HguRd16)#)^ zCF`HVeJk-UdKi4fSODl!W`t%|Bg5e*N{N0hV|K^t7kri?>5*u5AXL#vqcwVg;_q+> z02>tFd59foMU1S}1cSN49^e&lgCM2<#+*3U=wH>ZtS0JLdrnYUNB%g1W>v%guG}5( zxGwB_EkGN#*J8wsb}sqLGnmLwGs=umzZ?3FS9yakey#>g0Gz`ICnw@#8VBjU(2(m9 z+X>S#S3B=LcR*FNHUu`>F9uRxUZH?m5m?1{@7pHBwuggH*PEj<^voH|4gDAC1Zy zuoaHD54+*$Mc9#W_@P&dTJXhY^$?=(P;qemZpPt%77R5)0vdT&1Ot@C-If!gnIMIR%Ss2#c^QR({0fTusyu)PBw zxQP-VAtiX_$n^;z-+lF5^VBGdgV4#;V_NJ~PijorRgRANAUP{(j?clzW+(VZJ6Tog zV0sj24HN9D9Okr@Hy}M$SB^wA&_~+fa6_YF`lQ-B>ypjWNG}5egY#CneQ#j}Tys{N z#^6Vcqes+YB7RV;Zp0tU6kDDNB*PXxT-mKtC6sKmxX(WuN*2y{rCw&1HDy^hv5uCN z9KLB?=xax40A7dr$);}8b zK;F<&flZ}u3vaJnvaYZ%WYZnY3Tb zquP=VrA}c%)Dx!#MX~OtBMH31-V(dly|$`EJQh!tWmu7of|TFzleR8Ds5NkV9I&qk zHb>htq%ee%PzC=;V=H#e{A1!kpHz1@SztGKhP9(_lglaed(7TA|0Ly2>EdYEtQw?^ zh%2_zjlse3PTz6HpqwjpX_`YFV5NlIK4Pho6h} zN5B*wK^#+Uv2gnmdV_e@6{aey2^-5n(654__@G&*HL9~aKD`BRkX4n%G|E-5 z;2u{z48^9b_(wQ0wEx-95dZRzVZ@WNid8CgHLz4c3=q|Tm0%uj=gr8uy=!K-@B#Du z-|LEeuFzPl5NH|3cl8MXLZMdwediZL?V=;4YqtDCTr{cDY;$VIPJbJEIhRE1``)rH z?>)6U)AcfwAnU^B=!Fl(nr*DDxKJKoREoyGO3gjH)y8tX50>VgrFbigAh%BdV4)SS zsqVoyZ9R%)s*zO^85qgxb+NOHvCzmzX;QQ4ohwf!!t(OB&@ArOZ<~`S$Gjq*?|ZMl*8N*0-guB73e(JKD%4v?R7l6? zQg{tueORZ47}Jc1M*Zr`o@x~&pWJh{mjb1r&vupto}5ze3;oy!fVLdprtY^^&P1gg zE3-L{A1G6+2~^dHDS>4QG}gbv9VSPruI2|1Fe`$Hj#(dHNTvOz}jE@3=fCeI@y5iqShyb>TXk2WU+lNtV{mzE46uvrvmnF@o^O& z)@R>srtpo2To+_+$J)VXtcAG4z4%ov_zcrob@IXHU-Lnem6{qhw6wh6vZFD|+_0xD zkC!TQrJ2D$Q~Q2(q$oUjOd0a^)fUYZS*Cs1$BI~bB9)xXqQ*Cscv9@@npQLQ0YRNq zY;1!>c8v{1LT~qW3RIQi`nX7i`KZ|__c-R+qCycvBd%|ij*V)%?0sOdjW6nJABn$o zW3m6fKHkl9$lXFIAuVD*CwQnB{K27(&a!uA`Yttfa+{*e2l(K-Kr>`*0c(n5gp@+H z(nz(k6XE#6aW!=Nur>F%pt2bJLLad8F`VbLluF}g$MIbrdz95p65^KAae6?p_V(eg z24RJoDj-cJ(1D=izx{!`R2OTz{5U(6K?$OL`IO6}cnxA^S9*G4T{R#!d}*?k1~8ZA zTA10$c6B3s22`9BR9g)t4*A+_{6Bzl^1Cf;GJ$0k&!#0$tL8gQM`+QeH}TT@$sXM@ zFfpMQpQ)qTm%_f$W=E4&eN8_bkXn+-C8)6xAbG%ex2;YchxdP$2E%bqn$66`ght%! z>g*zI`yUX(?`4(g3xl~fDHe@r1-(VJ``zGfewRA;AeO|Mdef;}x>VE(z|M4^r2RJED+S?6#8Z}059Xbtp8f*yz$=H>8v-LIF zvoZ2oK@lS&T&0!s+ImYz^jNY{k-#FF2K;E_t5UrQz5D)+^6W4}SeT~`EKT(GK%~1o zD-UqCZDUPj?pGzYexQUkR=hnN_e0dE=VCbDxA7-$OL*U13$Lck?8=958o5ASrZzh@ zrnceX*KD+NEe#7`8iBivW~+kk7ulAK0%7qc+0$c2_ohQualPl=62FQM7aw|ftov>R z9#Qwr<62@^f-=0o-C66E@o^udMMGu%BY z@rSX@QMqO8B}Rz}xnt_O8E<7pSj$~FLm2_hc5k!ba#OfDFCS6s_2J?OG38NyG6)9} z(t(xnsV?{7)WWQKX#g(&y@v$rYm9b4S~HwG>&;u;cVRTz-6h4vj}?HS1S3@OxHHPp ziI@Y@3jkqYZ$EA{Sf_O9#?w*&b4nJzsMiB#N|n@b=eT*{3*ehe3IdI6V6*o?5>_~Y zO{vAeTE$VT_4X@d<-nuB)c|)X@k(a=rHa7Mr{7fIxvvT}-((HHGJF2ozid@G8bDGo z-4ITXi*#rfiI}Mu1{&z;cTg3ahAgQus{j}$I6?^rP8*g)tgJ6O-d&&a+nt7}b$WDo zY6!dUZbT(mvE1GF8_{v~Gbny2Nxya0 zlkLQxeWj+EoMSxn3j`59pt5*i1tKuNyBq*YD~-SC7Z-A}Z0p@2`}8mX`mkm5t`N2w ze8M%$V|A0Mw9Ay|<$~;z90LFr@1_)ag_Hqc@AYJMSu$fvabfOV%b(}cjV1+_wCuR4 z`ufRUT>UJDUSPM}HN|-=pRaqBXH$3N;>j9-fnV0S(1OEHAtFpNtmY6uNITdN0`fS$ z7sZ@g-shTgwN4|O6V=8&11mf1-E2w~^o_aB!+pxg%f8(e#avNfMBZFBqaY-eeU(o)}Rz!%8N@bf8pYw7A?*RhAUeO$j)%j_`UkC zA}7}Cfcg<$*6{Pxt*wSO87CeT-@`A$5ql>cRBWy)NqkqJZ)gmOkv{cK$PF#B007 z%|iE(w#1d=J#ce=!T2fh7o+4?py)&@mkjFldM^h<>VZ0M`&2qNZW;=Hd130Ai3tte zLJt6>nU3oh{&HK_!h{Y}*)NGlMpq1XnqgFxAA>(P!BGpn_xz#38<+SPQ3 z$#U-Wp3lnTi~W}W))o!`kAehgQhOJal@Y=&_XUuwrvzqIjG0xtbBhvW%ve9t2J8uo z?Kl3?^5)maaSz{8Q}3KQwmqn&N$0o3IYq%)H0Gb((o zZHML>p$Luf?)SI6zoqnO#AN6G6$~dG)qQ;2mf__d;}Z1w;bHpMk{|!>|3*Roe=dtC z*x;Ee zkpAl=i>;;+PEBi4RwsQlBi)00-PcR*jeu%e_8R~iBR%85tk~?=a)a-a z`fPvuzY$%6!>1b~uEzmyWqeQN0N6?3OTgQv)HM|6^}k>BC9hyC|NjrJr{tlWyL~T* z(ydS6$VLU?tI4{1_rXkd-%|<-oOVe-YrF;kxCe&7NY|0u`Ry|pn<(kX)8C7!$~X8Q zlmP`71aHoh;|vUCYhwHUL4vQ#2*qgzyW7k74nyB+=+J#Y&;Pr`iUPop($LT_4rSz9 zS_WOH>Q)yi?e27*NKghSa@1^?93LFDgXZ<_fQfm5t}`S-ps*mQKLuHZ%d>=@X_0Yf zu+V?Pn5T{C^xlLg9YyYy5>Sezv8~nbN}pexq#*-T51Tr4(StknfsI*a#wEp5#Xbbf z^ybbdCWEmQ(?LMBx6WcA7m{tO`7t~Nwb%r#mkUxx|l(nLqd&(>b{5#dRSa-V@lfzp1|+vKmsLbmglLM~ST z7bM9V-!-qyvThX6xT1c@aV9gC(dHOP6xh8W*opm&DK3D*(q_RI3!x#Thxa^hIT_8| zcu%YUNh$o(z`OC(BmqJr+0K%+)W7z%4xM-!TQx$wu1H=N{~GyH)?-t_QGMMQD0}QD zBY4S6boPPJ8t3CeQpG}Cbl`1n0ENp|WXMYNgFERJr(}0s=dfw##wiPQtnlE#f@TF+7fYPKM;&4!P5BfKUQA{^ja#C_*<(|El zdrWtAqCY61U$PssehOlSu@<|ak6HCQzQZTsjGqYF*+0FF_^8M$y-VfFwdD0JyT~w3 zjG2~4**A3k{5HM8&4;G8Y8=e5hkyOe3YmXzd+TJypzc=`Z9rQUmyr11z9Eq>+dUNT z(`hn&{}xndJRhg)dY7P@jkYSXo#y`jghO#vgNKL1{TmG)HT@^c)}u|{3g@U9n_Ycq z)5JV_ECjr`lR;HUMRROCn%*Go>pAy#a!5!B&*xBn!s{&>oM=h>XZI}R|MtNR-mjMH zMh93M!X2Ltao>z~(m$slH0yq%QpvoC3%(?fI9og^^&b$vSm{c3goFAkcK;c3$HA6) z2DJa!H>;j<8N2IuicUw$ptJ9IZZvZmmHS;?AFw^QG!Y)Ame|JYucs1(@9zq_ZT;=* zdgD23YETdH_RVxT&28wBw)=|`vuay9U^_2b==g2lDY%}#aOr|=S`Y%MT|PRX#cE=s zc!xfdU}KfpUW=_@x1bMw*PfigZitUz$0f)w`z5b7@h2xiP_~AhPuZN<@tc$)!{!EN zzYW-0W0NNgjZPf)vjn=99VY#$h@F%}=cWWLJZ}1lrYZAP4zzT5a zH<~JR_g&PPowh-nEe!M|rm;177zzB~x77z(krq-k!66~#osqsZ5!;d!9zT}yl};By z^|wYO(gV~y-C!C>oAckz5E>rL#KKZS6GWh2X=XI`t*dCO0g31N$#HCL|G&;VKm%+rNJyhg$hf+ z?o++k1-T%_9)T`NC48JkAP^$B|2QU?2o9czMrJigtsm{l_<%l?Nh%$W5b zM*eyB-7<=mp?`LL+a>=Yh;Er0*G$Z!3=PbpCdx&u>3AAgGq@Yz=Z>iL_4*~=;C3V} zQ8sk_EgnR?a-~Q^{dR?`*AwjC%Jc-YnZ7-N173Zz*Rg>+tGm-=PFYGRjehutsYByDcMgNmMbmp{Rf`j-lf70Y z%D)6J`sue0Po_0HzjNMzjjj6`cKOtrl#Df;!}@w1je}WreDCGOK-bmdSqxqg&bP&P zfEQ$-Wm4Se{VbVFJQ3uJD-Oxjp(5V4IlG+P?~tq5E47iF7$7fB0U2|rohPxoUYOHI zDd`o%4aP79%5QgGBn2E3OH4Y@04WC%dFo>}m(iY`KIj-!M%owK5_Q>p+{nh zY9Ic(shC!G&w-H<7Q;ZDjNp#hd}`%Joe#pUpLXp)Hclo~Fij=twwQ~VQpEYXr!{A( z#-;xoOgq*c$=w_1+r>-aq=oT;C-m-RTq0w-s~6MVh|s$mE$_d1#hZ10ParcI%)X<= znLbptvy6D=h7K8c=eX66a={ZbD||YFCCMr{G@tu*huD`S>*v91_{h2>5u2O(zfdx z`K{)zCvAh6G_#%*LW2d8C`JbJ800j=DN~MsLErZTnmfnxF{ZJKB4ps=#d zZ`AqJh3N*dL!z2Q{>=H%eL_3to+uj1uY@)}-k+#@cBGRnv`I^GlIA~D{1s~#&74G= z5%1%<#xQq$&5QPrfl0QKP)0qJaMR7vP$*}=FLe;Iy=dVN#(&X2wvTd|*#pNsE4b|^ zp?GsiG545_qH1?B=yM@JZokfs*HpndIj2g@;zxYrB0*YMSp- z#++234sF_sZO$mRc-d}MGe(@kH$slvP7y+}T+`K$)Yi8=fc(+y%Pmw3yI{a`@cr9u6P*#SO%dgkHZqjO;+WI5O0cE47VFmO;F$!h^^K_1?y$0#baeH2 zhwJf+_}KF_KQ~M*HrKX`Us+Ppzae^;H0pn;49{BYEI+gcm8BG_HSD%*tFP4uoDIz0 zjJSSs&ndWua}r;2HpIXeW#1v4a9`A&pT`FlDoR9vo^#i_7l6mOo^#|0DTEB0~AeSwHFXxeztin%A1b+`$28bx9bDb>4!$N@qwCoQ%_;X)C6E%3TXlWIxBvCg&=6G(Kp?=fP zL)#^$qFvVcO>Ok~=@)xy7;)1I(kK1%shQHq(mbR$w~Jei>CfhCLg}x?#Sk9Tj42=% z@KSdG?qHbX)R9hcI}jx6lJ-mA5R?m4+iCGjWg>GkNj`_6Rfbx10e)+Sxy9I5VwF4M z96^YONql$2e9UfRN!I#5MS49j7sBCCrg>L}O%?k6>JQ^;D^_kkJzkapcUSHZCxTM5 z%9wieBXa%CaZO2l)^ra=OkEpt)fl&V!t}mCCwlTC>^{ZWel zJLZ|a;Bd1wmhtL}0AXKCp_NM%*!%SC? z?7>w3W_s7RR@nB72fcOkDvsw!nPYXqQ`E%af zAnAUSTK#gFuLx^C5W<_-PMM1N>U?x`2ZY3SfA;8Txc_{UE|Yr~G`8Cs4n2jO@2AsT z8rZTpf>3Yt)*5MUGtFF)grp?jn&0erG1hNs6B~eS#)7uimr^^k>XBICeQX8eX4k(= zvd+dqaKj!PyYDunioovT3oKM&APBR7Uw;NXM~oTHDKw};nfLdR)@XO(@uIdU_CjQM zv~0vs2LJJHah7|yPgBIjbRoa30KyLCGF6t*NphE?Im&q7_b#wbq>Q>L-qdFsjwxo3 zWS;KQ!76bQ|LZEX^KaoKKwcFi%B*tz!g-`)kZAAYj!6aj($k-AdF8umYqscB$PqNg z7Ifi6CZF@zME?x*%Lw%$#&(e{*1i#Z?E$I&D)GZNB>z;@nbZZ~oW?(S*G!UO9_yN% zy(?B3q(BfBPbaDuAAMWT-~MshoLXe*rO*$k8_k66m-DmWw_k3OkjPqXm18VK#;~w5 zbH7wJ!$&6#44u;bdtq)UmpllEy2?4BP~oMO4^i?SrTcr*0;t|c+2sd~+Kp5;eQwWw zO-qjfYoAYNdCt!b6EJl=>Re6lrFJebcQI#Vh@qm5bdRo-t+m~OqOHZB#*JsE8hq0+ zx66i#j%tjPKj7^Qy`4>bTBE=7gtTBNwH(jPy`|h4lk}5X=U6xwc+~w)EEfm@#u{t(q#*CGn)p#;2BU(t0P=Hy6*`$EyBHWmQc$_-vt| zS`uG4_wG@iseG?HDsM%ebDamd`!q`acnrcve}F^qr~_p3x>6gPrj$ErWai~yJ9hc3 zKqh5Gmtd=dqsf+DxUW!Mujq}JEMxxhIwY?4EHmc`<1oiAgAQozP2A~s&uXbwtxX|y zUv*o(aSnJeX&e#fSoqJ9wt_oGt~0224YLem>J-#(wA;y59i%O_N5|` z+0C82Fp+_>r8OTLTU3hcFLA?@jM!>CNFMtgH2Bs@e(6KQ%;omwy{H-Wk+Jdco7(s+ zTVodfgVdr<(m7IF!nQNB58uOvYAi%1@&kR{Rc}1#O_<>!uZstOQ*!TAmo(zhJxThY z>C936^)^~O&QfHwBPiAuC(iXB5%E+_V{zInNN`p+q^c~iBSI0E{7#VkSJMv;b-d2? zH7{R!MOpnyvb^zzce^hspME9_s~69ZJ-R*>J@J(7A%5&mM?Cj^Q;P%!>HT)qUdlUV z(bMYB)91r^Su^ZrF0#e$mEp5z$ft(nB*;@{t%lN%7pAu@S)+v>qzqfBTXY14h8Fyt zqm@wAwH&2xz9sw(S|i7qOC8yiR||?$b~Y2PKJ)ToP^QAS*GrOks!*%9%@m7}k3q^% z>jz+mzygR#=eYeg8Go?VXc+4G35YGdux~W-Pk=&ILq1KonL>pBLN*-~-Wiz(uTxc7 zoGW`R{Ym|uhIzcUjZD3n*T-#-qyQs&`o9lgiO=_R|qyQsbZc6aM}}3x*&K@I#s8 z*g-F&MSAlAT<4r{vrv2@(*s-ixtkVv5G(Lxn z^NaKqN0M+!aIP?9eVr#$?qiTETKl2S{DTPo_b)^b*>*jivkjXMZCNtm3P2DlOp}Wi z7J3-)x!!4Qp^ij?j&IL+S5Sm0b{(o6VAY|9LSU=he_l?uglAmqvf(Fhg9S|Jf3!sM zk4By%i(bh6NcTL4ZUo1g;(BqI9r!!Pq;gRHqj0p=q?H})rbRN9dIEGc|2YbnIL`l3 zIg83%JMGU6d2>P3Y7ZQ007bR#Ezz=BK{KtH|3_JEeE=b(2Zzl8`{8=yd-z}e|MRy0 zCqb$Ird;h$#s5)dk~IN{Ch+ki=9w<#%4to&9@ORn*^{4aOOm(SeGPdo(sOzCzfzh1 zS3P<#JPAEkFT!%dC&70fAKI}16FMjFIS#lTBc2`0$u3>%5|CJ%ef>Ue-&0j)Yf?XT z==^~JC`TWZoz8rE$+C^s zzU9^3O|zF^XN*WndMu$WY91G!a3C{qZ=_$!dOAHBzI(yZkaE~y>Sg3V$+;iE_F`8E zstK0uNC0i01-r2j-pREs@R8M$ZcMd1NYFA-7!dD>XGW@wxnrES4(_8#nmA+LR5U@4 z4>(QGp{M-2mks-VU8U$E8y={NKeR%^7eGU5ywLT962r(C{iPv(!+t}cJ1*xldqYrF zPGs{=)nrQg8RI4G@!{Y)RnGk0?#5-DpM5V}7PETbeOz!rwYzwcedmJ}ZvsO!45WpaPaI4!KF>{h}W z<*|soXv}%qVBnMqTBHLr`=l9YN3v?kIJ|c))#e!L_L8Wpn%hK%o4L&yHhj}v52#;` zJ^_t};*U!VK9BY9t{boSB?@ajZ~@Rid97DmquiK}K9~w;Z;=dD^^{+dgYoPFPKDyl zv#m-BZ>dObqFhAHEE0>xVU0>a5l$+qP4{GRj~6^OX@2DHZ(BL(WgqKmbiy(?wt<$< zsf{^XO#JM7AaEpG6LE}JGbE4WXUMhx>*xBz2n&F6&M?q>(|1s%HJ})@Hijt`UqLY>2hemX?0^UPeP@-96q- zT61=_a9=7fU5%lay zYaybUSe47af-qRQ@4d6jEBh{wflc~B@eajwcLRkMq|PNbKVp@HOS5;|idC49A5CJx z;NjO%H#K%-R5#cWAANMpr0rkpr|~q;dx}YIHWibPn6>MQBHpT~mtKR|)q3;dFb;ZP z8}!4vaUFI6SNEv{yXzrCKIx<2`H6K?k(1&0LNKu&Zq4flDGXf(e{N;o?98 z(x`x_D*fPC9VyfwKk{*76A-AL!sV=%c3*OUM8#bB=QmLd*o#ws+r?HP_N17Z$7_zj3?KjQR-H`m_q@Vz`d ze|@cMO=yVio_;>x>!J$Z|7GljY^On+8x0@g!%lb>bcT%VIvCJP=YAL)gN}JIw=Fo< zRN>lJw`2pD)nu0J?aH9j9Q`~eXo&PXp+)XR)#TXWWLle_ClGA^?rj(AS`oo3d@0tr za6x?%;?){b|E&;SW_yFFux8D7`v>{BvbMP=F6){J2E_gMBK!<)y`S0@zq$U$3~=Wj z&f&Jal83DCsT?kw3>cU`RqRGaI$>O?9j(-%vYh0 zL=?%ere5)v&gHKqXd51~3w+!he7I$?aw37^g_t$=yx&i^_nU9#NwmFo+#~%IE3F=u zt95}q!zLM|F;u(R{I3SUmR%pd22 z%sEDSF1(XS#Q~wgkZ=DEG#U?e+k1J@R@1N29%)X#+y)kJEnh8sM~&T%YjVGT?SwxK zPqZAJx(ZOm$BQeLc#bhtKsVciw`h2s?P%bbI`;Iy%+ibBR}s%p`Wa;&eg1J4I9N?= zD}5@jQWV);d7ivhl|mtY-vzqjWPfTIU&b)4>`y=#scxfRT@h)VyVGqY*p~XnL>Vrp ztKmOib#a}-=oddiW*&ufl+d)%Ft{l+66E-%4Pz*$-FC-nM(^t8>I>z%g?frH*ChR@ zRbf^L<6LwtJ3Sxr?U&0PsDqgC-ZgP|NZ+^P5HY6aHAaXvgO%niz>jzAMw;O2t7&lJ z96ttIoEv~fH<`Io^6p9U&5Ha5>C5@>)N=Zn14nlTi7ttPz}asSVVTqxk|It=UaG3T z**;w!_!(mStW@y)E{`J~WB&)iroHt_d#Ns!VhOZ#=ly8vwIR_UOt=|VNOKpo>vQ>{ zHfuHgi&zkovheG0E}VnIK^B36wo3CGzspCd8+9WvVz{N^k9w+ICulgl@pX{!>5-eh zP6OSOQ?gA2Il8g-^2-X^wZPFeyv4S#@%`q0t#EC|5d5LaZK46moeBp1VlmXJ{T^RJrNE_4 z#|n+lvdo+b#_P;wdV{#ujR!Z0nJxnf+iVz+HJN+w)jbAL8Y$Uw%GmN;uMYD}ud#~f z=km5Wf0xp~Uo-r57O!b1!La|HmzOosjyoI_9Kk)SN(TZ`Cdim7JCh>8AosY$t?790 zgu?KFr-4BJLs0QCRXv;?2XSjp4!y*)H29ExV?8kx8Q*d)UM7VM%-ggu6t#mc5AOz-NZm(2B|hM z`0T-KHp|9zp|FcciloHZn?zPx&Lm?9d8V*OR^#)vV)?BH?tJn?)W0i68nY)VhQHXI zTcEkTlz;B>Qhtf`-s_q@YbXB{m*mLlS^0>5ArVwT2-B@NTbo(pCO;gy9E|v|b&J=a zh06P;v3pfyS#~aLY~VX*oKg8qSMPMp7aNUGbY|aHTH4!zB*(UHFn!85mNS(}^YYUyvq(g1RRT?YJKkbVKMf|I8r(rV;O z^ESjT=$oTB-?(|NRHhXe#pF*NNwh=i7Jrjvx|WeOJ=8Uzxb$jgS#-wWkHg1CL)CL# zzmat`s@Fk-@jcQM^oAx!M#-^w(E0QxqqV1;>%_`IT)Z=iF#`Sfis)}~cUc@Zg%MZV z+IAw-*iU_Y1>d!Pi>~IbPB~BDPtoi-ptBm<9{3tdTS>^lN-5%@&$tw-yr_kICR3Wi zZ`3T(yd(B~hq4Hx#H+k|23z)V#z-pT!OiMWx2OZigGshaFWZB9GK~>x+fkc5oBwbE7SA z{q%+QjB*k0LmZOAQAyKJ&9em;F%jo!&0626H!IfL5w~8Oh?xsX(SPolvj~`*U=l$g zN_oHZhgADbu}mXg3?@Yz`E;c#j-m-fs+x*@0w2x@O&Qm~e_X{sGmSc;jG0BHsWW2J z$=$z~u5BqszS?=oi4Se(d~Zp;|76=sx9o6O(RWh5@*;|J__?vXApTSna&Ls9;-_$j zH=mAhs|1?)f)KYsw#aG&|rJS!{HYPe6<2}=GCW3hJ zQDUdI^P2;VWqdt&$2B#*ID0oUQCY;X3a%x>Ww(5ePsH#bGjiiIt26aawMied)B@DD z?(g>ow};YjwoBFtPhPy1mA@p;5$&h073FpRBFMVx&Vf0AQ7p_aT| zP43uVw%ay!hkSYcF9QS`>75Ot;KL#Nv=S~*U;TPg{Emc32EO+e#$=o%#RD(I>?=C6 z!~mIjmz=y%YdZD;#(mf9XhSc1{52Jw1TLo(ZapsK&Rlo?W9UL^%)fuum& zF6<{S_9cUEQEzO7Xdd23@cs3E##mD$!X3-$P?;}sud-vyJXEN}w~*~8*uF1D4t@g0 z{Tw5&d1O}XF77+YTgWj=ie2Sav2&s-^<0|e!=3A9uG|LnIp4h9IXN{QmE$fGEBY)= z2J5!@b;+N~qoG+&+ld3!^qS*h4mC7#Tc|r9xtx=!A}Ors(^spbl>jqHI&9h(++CVC zH-Yrm;^oSQ*yem^|<8C{61rbcGq;4js`ALaVihAyO z^5`%@IwwoZ&?UlL&waUH{U`BYv8%K!(ICZf^SK)jc9|m7Lor`1FZD10x+Da9HkH^F zFEH;({}qH8^FROA^gFgLpt8}uU8Zt?|9qwoN;$5cI4vC_ov}+Y1DICL5kLCI4^cLU z@p~786&1=$@K7N5I(rvlSBZw%U?@ngq@U~DPHdr9uT;sAmu{Ou9l!exindpftVd1I{~lU7GlH*>nAxlO$$ zGNk`V2k%uf`jZb$_bR`qUDh029|8Ztb;Uaf4SsbqP?@Ad;EPG&b@0rlTNbU_n)tY` zB>xO%yXx}MgDVrb-rk$fb4^!7n7=>HX7!>9qSQj;At-YqBO^?9Wl$1R3v>ZxR5pAn z9XTR$JGicoTu=zp%PxTcBjb_O>M5zV_O|2sf%(+hS0>G`d8C}#lw$jB8v(x*CsDL# zHqC-B^r*^Ik0Kf)Q?0w;Pzlf&4^>4!^*h-7%1U9nf^Hhz>$tL@Sv+O30&43NV>_pU z1Ko*LRvHBlr+T|LjbNs)oV{T;5oGiC+@@0P-Z+~!^Rex4n=u}n-j#r+HaKKlisSO& z1d&z-`H|j7QlCtFVm>#*!|1MVMQ-=xGQh4!6RP|z>a>KNB?oTXPG3OpA%om1r8l_8 z&dUv+zY0M4*)IWq(rxA3W22JVlY3mAdvxc0Uz#jVDld#|hn#T5Agu)=gq~;<96BJy zl2U#6L|nbLJkrF+6@1@tST6L+^dh?>iqe_oVmxndu$NV z6oz&zH=<~q=jW+U92g&QItNm~DL)lb5P}=3uPnY7r?BpKOFwgWvyc*oQR95I&za*g z?-WfL+Tr)a*ym6~%vKW3Bt+B7@TBsdlD#${WKhbzHC% z$n=XW&R8_#?)y~{l-T5?IJPvEJImiNQIfUWy)BX4<#)M}M5-Gq&!R60?E&$cp2f~p zCa{=i!v>iW(LaOT-Zjf|2%p4z#89nRTt_b?$!W8G^~FQvy-r_R$KW*@4oBKZ7zsBA ziwtdoh#|YBG!ovX`*}N3l%@?v{Sjvx-`r5A#YD58#E&HV*&lJcM2p+W57{U3JvJMW z{;s@fQ+CmofRv&OuG`T4n*Jy1Z5F5q*TEVzryqQESuaI113V8Gzpx9ll zAG_S5Vd1)WrtP2bnlwK)(-E5|Q%D;KdWMSl(s8U|&Euv^dOm%>(uA}*FJ?EIgNXdU zE`CuF{4IZSa5+ju9Fl8l@q!#MqH#$hA8#j8Py|_HQ(dD@5I(zE##J03&ovh0}!ULon!X`hNd=2NnCq zmXea$W^Gc2C1fUe()A`lLS-swDB)W~K5lqVUWlWxo&PDa`jJmdp%LT=WMW@A$F+uN zORUflHc{?s){Y=?8MLd}MC+kZyN)F%6>|NJPo4s9aU{z~PxNpgI~HZp?6xv8AS98@ zW5HHU(McIm_QZw1S5mBbzmuZ*QY7V>IK>}VJo>_rYwdq{MUWg?$`r_;AqEWQ|0)3) zPF!Z_^2a30{l^HmfN#`46_mrp3*JM+&5M%gqb^l+SV)LCuDLSqA`}aOOlz97fi7vl zhOKbrQb^|)1!#RB&`PTs*rl20_gCx`oj7MLf5fwPWYXVac>VgC=*7+VCuf`a@IM9x zdi#ZDULs0Ow1po0{`9#|AXC3rLn8RRSKrp>;t6SUB}vBG|yd z#v+$C-x*3iB?hT<4(UXohDaz}B92CTXNdbqBuq+XN~!SO#jFtR>bYg&2G*&qg^I?- z9C0z+3Gc!qMT0is(|Mc4POM zMtue*KW=b2mDW5rj@}S8LRW&O!=LGEVr07=7j=aNY#jA)a-C>rC@0=8|B1uaP1Q``&0L4vtoA9tz^G3mz0g?XT+!5 z!~>p3r<51RYH>fHxiPkK_2bThPrtknP=RbP9=XXb=>~|5x5<^`B>On7sjSsKvAw)a zW5RR!hMjkL$Nz}Wpru11k3okB`6%cfCLcfjbQD{cv(a&bPnJi_?WXnEp>!Nrp6-14 zHA|l+-1L^G%`Xn-Q0rD_P2`aB*y;|0h@j^1l!RqEMT{2W^X(b+O5JzxZYiRZ$CZUK z$9u}xOdCsC(>^4wGZ@HuGl=8+8E!k+dsU3Yqlobxx~Rkzf&ecZG3sdZA|k2zuc zBkp6+Y*vLR-EQcC`+-XXvZ9>!`N;2-aw-bzqX#ixh)VeT7@#VWlJuv#@KS^77+I4= z^y%9A$9xYA?ssbOp!{^@H|@<3VrTN{ozxJU7QaW)-{+Hs4}= zIY;QAK(*Rad5+4@ih1KvtD`ec8qHCFoydtH(wx(HOhz|iF3pI53BP@(yR4ndVrBpU zMOPBMaFbB#m`lm=p068@+8Z~N&Lgv!Mdh5wpP;4!{~rHvROufOD^^X_&n8*xn{UNg zzdQ4hcPEl#CN4hFf(&)jEC*Y!!T8wuhehQTDexI0midj|r{jnX>USCFbAt=0JUiHW z?EkWBd$9%-B1BkUk;2~0-KLom3o)CQS~b}O#oozpx2?^|-17s~*<<*xh@m`(qe|Qu zSv>;}k3Dw_K5u@}ZaZca+trO8cpyGpk_0Xf@NbGS{oHvZlvm}Tr|@a?)#|;TX=$-+ zP7&;>YM6EMz2p-VVPYO)!}5Vue@T|)_)xxJtE4=8D#h3W;u{&vrJr7N|Zd+T}A zT!g&ByU6f_(l4dfR3-1ZUBvw6xp3 zxgstiFJszO3*|DtUf)a}J1I9_14gN462bKbyT9$geuh6pvPnr*&M}Qk+mRnxR;v;y zNSl)-iRUxa46+S;=JK07M-AL#SM!?%$|sQDkCB{JFY`^UUAOr{yZC8M>+PDh6p~k7 zP+dd97XVJ_mOX*pdVadKEu7!%nMdKbs)ibKx~M1CTPyW?Wx66v^Akh1HyWQCIPPnt0sjyF1_Ux3`bXzDDL84%`OvQ_giN5Un ztaEh%q)9i^`PZH`_@4BQ^*TD^=((+=xV#~jQ4#I_wwz|t;`Rm-tDK^{Zaf*E-~2sd zLP0_fgXq8PGfySV^%o(a%AoK(L{?5$3+?LgTdD7+q&PPTQ`ZdEDY3qIl&E3*h%N<>4*fRuUDu@wsn3!!f=6s&vl4kSb zfm{E`z6YLG_j}zr{#iBc(QkjHAz9k}hV#yW`CA7jy`vxKZpR3 zqUJ+xX~u~dML?p4Yr;?^7T{6lfQ2&X0h>bNP0q*9*PBGvEo%xn<<+27I@CAyPdIx> zKQYgE&s2$#NmhAMM&{wkdtSPwI@;$rll@q_RL=wDs$>PkZ5J&|Te~ zy1iu~j~Wh-D=>P(Bm9UrlU)KLlRGf{5K~`If;sO_klPp#nz(uj~l`mdHc4u?R`t@h%J&o!LSKEAA$IY<)$gg z3~v5Uo#ztxFV960;af0vd{8nZX0=iDf&lRH;vTIn(W>VpjE?qjW|)k4igox7wu|=H zm^o+g2_=XKu3b2Zz4L2$ShKzqe7?2O=9rpH1)%sUz!_0qE^i4v!P3I!FjR;8cYYe6 zXz565g7hUK>idzp@ODH)dH1KO%FacR=_IDqp?8y3-uvy(=-v6Z)NV53iMjbD3M;X@ zfHi*Zip~bQQAZgjP;JPGf2G?O$_h9^B___%2jwWDWay2G#<}~}LsVK&YR>)VM?tC+ zE(O`%%EG5BWROIeNjxN{?AN4fTJGEumxjHUcSiXeJ*)I~y_Mmw!xz1_A&n!DbwF2JrcMh=-|d1IBz+|eju7#9A8$-EOsDK&;ib`!~^3#b3 z=iaTnp=r^3X!m~*_ufHG_U*R69V-foNLA^*3(`e;??jLyy^FNai-OWYdQIphp-Jye zI)o;KlF&PW(3>E5ZoubxpS^$Y{_Qz?&Y6>8@>dvUNOIrTy4Gi{FNJ5#Z(V`k;Vyg2 zJh(G3P1VisLDA0Yw-;ZeuT0uEW|wUGfEH(U)E)Z1QyzBe5YA7;y<`0XzMj0c($-G4 zsJ@J*rh|GA=_I5}4TfTDpz~iVvi% zLdx$H9Wt?n3vuMK^hz_rRor+uP5>2t*b zF#f{;cN?QbJ&eq`ZW(x4C(Bb&1xJ`+XeoD=Es0$I(ma;#g-{`1G)K<7QWphXjaT%E`R|Y{vW($65MrCx8quAIrxj69 zo_e}38-Vjh;Gn1(>r_|HlU&i%_|TeHMdkMo@Y-kz+7k~pf^j*4V!@Jz4DwyzoCVB* zfT>0rL*xSFpvRu~wSG+glmQ8pRM4(#-qbid8zm?5Q)O**daZL@29IG`a<|mgwVLqc z`sXZQ`SK&%iDR;r$^D>JJjd0x!1M~)3dG;#04}C2QNFiL1b%<>1k=Eo$iLOJxC6bl z`|5yTo>e8FGT3T$q5Vr(;az>t-j{n;q%!t?{kE-9rYdT!zT@ZzKiEZDqqr{Hm_5L` zv9tLK>H*P!7kb|e?edpyW-m>BP|`!f4$(2`$b#h(Qn$W1nyS=I3a>DIOp$j)dFv#G zi3$hzwe^v^tU<8r*n1r_YNF>G;pxn^?ksf ze&_9=iRln)0le}-I5#Js&eSlw760ZbDGjf=t;eJT8_s972y;C*B(U=+o3&2AY&w25 zVxZtKC%-QOc>n6GV(VVQWJ8?YU&N(O-eG3vZ8G4h!Duhw%ibQ~8TKi2bd5KY1HJUyg#0G+@p}GN*^I4;2hQ!pfYVXZAz5!+H$G zkQHCoHgs1KaWiJ6!YG-Ti7Bu}vc%XICuG#YgOkQXDf{TdzBvb3WaLYN7W|bl@qjtM zk2%U7W8ZS?BV0;-o{TK9QSOk~4%J6L<{s8btg-sInX{yCs9;61w+eh6vLa&7WzXq4 zV_zJB;J2)8?+$j*r{p29=x2Yp7?ZJEZhV*$RY>}nF1wqxWOM71$bC5tLR1S6nZ)R1 z1U0hGl%MWHge6h`km9eA6axh~ZlOmWD1Kx=Ce)gZGoakQ)X*dqB^YB+M5_N4_Q)c0 zIb)LaJ=-rqPhrQ{M6MU?~ya;jWF~kchC9)H{%U0J6Pq7u7Z;d%KehHKBqx(aSrH!F=^*lhW&_^iOFoI z*;o7i-$r3x=`{6PIw8eS=WUg@Sx2UWx$3mlq}MT1;SnF7E&Db*7C4_ANu+2Uxx?$j z3kK@-bLL?}KS{@_bg{3fJVOC;9@iJS^c7Y!V-er8A}shM^SA?fGuI2`+Ph0CwAfPq zyhLUxMV(o-rj~5M^#=U+myjxb#^IcXx;yvpJxsDCqMz{7#&`4w11z)_CsIU<=pWQ=qP*4Tz zPd`Wlx74XATJxZQwa_!d!L`-h$dxdCrl|K)J?>G|@*pIcyIbgf0XfoXV6bCCH9_7_ z5&sD-{a5q&-s3T`Bi&vuXFUD`M;peYKJF~JSllQXE70sKrq0J(_7dtU{;zeiIX>4~ zebm)_^F%>ausa7z)m1?C_J;p=V-pKFl|~l1Dp~}yIKOS5dd6f`=$aHVJow2e?gDP!=B6 z?sGFmTa8Z*HZ1VUCit*8&L5%_%7Pi;=$iPbvG@5I zf51%N!28DGMO=?-qFF|zwe`rDhj_}>%jUCBds=yn6J9F3o6{lGHjX|@Gqd|x>T*Y6 znp_Yfpc_N)n&8~-@=G%-z>p(LeX+93bx(X?{)+ieJ!tTi^H*SB|8&Wza=yh_eJ&={ zOv|0#%`d=N7SHy0{?+5R-e8h~uzWoHTtYa@H5t`Xyg5>qh##P3@y}3lB8fx{qm&&r zs0PWo1m;UBgi+}!${G5mN-zwV-Y)SdOn~Stu*1;0cGZYr;3vvm4D=OD;CBrCiyMhf<&4M-9UZ zA$%-5KN*_j`nc1Y$Ch_V?dsC_EJ8M<&r*1foQzvF(Fbl?h@~q7zAPWzacLK2#IUCv zH+7HS6c(o#9boII%r&eTe*QQHxE$dsNAV982iub0&Yr-Nla@yDRdpjhTPORvmpAu@ zUtiY$%d~lt%f7R(OZgRc)sCzAWRra1LMl*HvyVZ{HpXuXZ*USdwCnzwaiO;RGv<>x z$cFrtHO?gY|Hkwvwg>L%o!PHvk7bPybs)07b+j9Rfxep`2G~>3(bm3h(=@j3Q&XJJ z#SgoN;Uc!~;y3&`{*i|GSD0dX_@!ix2^m!9!`(z~p3y7!E#k?#znh_tsmepYJ;56= zjZX4aY{IS5O-ok#1Cij*P1*`wK>7Dymx zD66cT0)<+OVUPIsj4rZzwOI8pxTM+BUT%5zAs@ zCf*3>G{9CI?X`{^7QQ0!tPll@-6@x-7964-Mio1eZ;agjPLeCO=tvh2ecX zMc1vpm$W?=g=h;twCq`@!gn)!7IX7vx`Tm$R-6rFW&oC+YYp|b~x2~6L?rDp6Q}2c7{3l7E z>=DrQ8u?S}BdRW+4yNtLa2%S0+I-Lj9DiNoe!YB8ZFUT)q7i@}o%e4vK?LL;l}V05 zcFXwV0*QPEAQl*qhiW<}vb@H9cmlAXoFp*<$scKq+VBsvJk zQ7YR`(J~(?%XE~aQGxZc<1dxjk9o=?z+U$j&b?1FW!UT(7+8BO$QplRTjJFStkfC} zjpd;%ZAo^;6&N@(0QXp}LD3EWn)jCj; zkE;Zh-Seg(&}zEF^#$1?L!Z;D((?zf1Z!(#`h6g~#I^ zSe(ekw(*|3c%;$M}n3&MEt+Kuci zp-r%o5GzA;SuS==91e+z=hGnxUA{^HwFXItx~$IazYDh*SuRrb_|aQKmeICWH@=pp zqQ=B&OcQ(ayP09RA~lbuiob?n`aJ3wS_(Ux+tuw{hwI4~?VXY4NCeB8igcdE_Q!41 zzG~O0Xc4OIc9BZ!+Xl(96%+p1N!DY5fsZ+gdr7HySbw-XXPK$7OChgo|7cJk_39>B zS$f{9T%oRStHhR)+=qwZDHf5HtT)qNWz{cJ;#=T+E5T#72z!uxC0Y*rh#_V*@fJ`; zz+*UkOE7{tEOx2qd%*#%0Y(Swyz87PQ#+^H6+-Vk6Vf*m->&cu%G~Kc7P%)?E?_b~ z5e8jk?8r~@?N4^S5CPf}BZW9@*nrNC3hJ>{20kNKa7_5T@W4woxl0&Vmel9MIF)SP zDtkwu3Bqp_d}di2reCQ>(%^5X$qbexNLeB>T*BLUX%db$Q7G!7>s9w{EWF4t$SSkfXVd+vim!XZVp6;qnpcIV zPi2Pfa3!4{yGw$Ny23VZM;eOmGA+nUp8! zjs`io(ZWraHr1GZa&Hi+Oonza2JJd*TYcrHzJIc0H0mS}XxLfd()V>+y7HGnHdFyR zf$+C2kB^B&iQigT!9FZ<1Bx1Y3VgM2B5B@5A5~EM3{E7T?JVCMQPva{=MX~Ra=m0M z6}RLp?D!|LdTO_t@6adAVKUlX6dfJchi*1+qrQ0Ri>Z+FNRG?y4S~~jBuehsvG>#~2*=AjX?wl$1^Dm~CDDJ0 zp>o|P#p(#cH`21h4}h?AEq474Kg2v~`O4N@UX$x@_fZ)!~XcV-LfF8|%GQKDTt zUD*b*x&pBP>!7`jQg|STE$*7J+cxUIk4iIvyhJuU6p0tK8Q?uA^Q@CoEjoB`uXfNg;J;YzR3si!Bdv(r&auP*Xq(02Op>cB{81CmB!9w)LC9xP5_W0nZl$ z|HWShg2exgAyCoQ+HWyDGj_fGo4LIYvsCdB?+_>!lYNqZ{LQ2i=zJ1t{(rTx_x#`6 z*eB!`J}?K4Q{mrJ&AqXzs}&e{WpCGt(qd!;Mw`322DR{AurB0qn4aDa$r4gw%E=w929xEHJv45!wt8hkSeRtF5F0a3&f^H z-xC(0y&YD9Ir)(z+e4xfH@CqpRz^Rr5WH12*R zuUZU!deQ35qS`=9-`RU(ZIZC->owp-5zoKODE3f&U5fi1F6Kek!weh}LmQz!vN%f321KgoyZK#{L59AZsWR zE{SlBkHwFC)jWYKF-h|)`q2*Eh>HfYL=pkRy2SBCi?PRKWGim(Yq)tmvBnQ7y>}Os zZP65Us4>&@fy&!e!5Xj#81Uo+$IjOOMd067(OTlw>(uKRRL2s4RmArjX!f`Jxqf+8G$w(0Ab~(n> zSKW&$bt>ZXe4|KCk6^K8euVF^H@XC#%pKiQo^^`!JruwUm8^RVmyU%VRYBGrk;=kp z*%RH;B$!s|Jtk_Q9CFVyxM@lq>1dD1$<#xLq-r1&u&cAL#ZYo8%2UIsXch|@+eOFd zs3c@7djK}&&u+faU|(ygBuLHPMbReZCH(Q-9t6-?VU7-~Fx@zjJ0Hz&S*|%{ievUQ z8idTbeP-4BU|X>9F2nf=Cwgq@4bCA~T;}k-T>KAQtA}+$e!ONG_?9C}5FNF^K;uQ= zv~rgn4z4sZWkxaTit`2-R@|;|pEg}JCQZMMoHmV*8Xk{~MqX$|S#55mGazYf^&Uuk zl=BFmqL&N?bEkNJ7 z#Uttt9lL8xl$~B_wmESr)gJ_7`@be%)qe5{=6aI5e&-Dy8Q0(erxYz+AQcO$H{_)@ z71?U$%@=58p1rfJd`I9vxAH^(aV!6+<2zplQZPbQ-D?B5m=PXIs({Yo*QERA z*VsNwBGM;Ai*ulUVZ7#UJN>04EGN>d-_VI^BX!bRb-|C4g}$kYp> zzpUCXR}%Bg=6J{sHwP;gPUb33B-z_S%mwu6O#d$F&0 zFHseg+g%jE8j)mPp;PoXFVQ|(*zB8a>q*WGcYKzHQCN1QDG#SXl6BTX23YyEtLw4Y z8uSk+)Rb}SP3Ea}=d{B?Ru4}9SNWn>+BKX}d5lT*Pi{9Su@ z)qcCQ3ZSrbiNL90agiwd@&V2;!GfL-)+RTKhrGHFVGe;PqRW9b(1*h93{i?W-;pM8 z_cyf2d!t8{oZDDEbO*4H&&(d}xPBQS@r<&+A$D7-2-^LWpTR0Vy*2aZ%FhXtu0VSS zDe|n#iLhzcsG5dLsqxaPZv}?lhl@>A#a#hD`fvaJuwQwEul9d$+DC4^esU+1M1}LI zG5Gd}V22niFRI2>ZAx5`l1J6=Gyi3W2%-2-E49h;85;|7K7>U(QU~Q}zpV_vK}_y< zZn=z@TTC1)NWe1Zpj_g^9=AUNO<=qt?DX}VI!DAJG|C~0><5WdZdrZf{!(6yV3=n~ z3lR&aYCLs3cqBj3lz-W2R!;8+h5&%>fLezr=6({o$6x%+aftGkX39@m_T58Hs%9BCG&pM7?I=`ShN5q*dp=8Ew->^*;LK=1zhhwVzVy^Imq-9lUSmfp^0yZQ>h& zUmpt3dhaWx*V*!2JtA1DFc_lFx^#ILJ+LYhH5yWNN>=3@&-=-$cR^!*InC2LVo9Uy zlkpt!DXF!+nkWOZWh;q=nj&p?V6f$k_vzxYO=@hbVX5q5xLB(1JWgs91nj6Xo zfEhR}0mOolTrR>kdJhwn)_MKMc7p)X_48MtKX30S*>B-%IOx4@&)CZ8wc2Rx=vJTV zzv^6lOo6eZeFw8=DPJ95>pvt-*@(b!FZ@djc-d$^u`W!Umni_}n)YI?ft0Ub}VyZE0WiNw_Rxe+Yv~$;W#Hb&5<^p^6wXUhJek;w~?FO*I z8@RdGy2+BEuGledwRSyblcUrXL8q6WlMIMBlA8l;9596S;RFn*uOO~6gsjv zPMMol#fX2g#EH+ncvIHuk~@Qm&*Vi_Y`|OGN6tw5zy!xi8&{Dv_oX+XkG)&4@>v0H zUZHC1<;np$ijK(>6$cR+n$|d^<}?&C|AR%mIZ5xp-K819u0P#E4u-}21Cv#Fy>*Mf z9yI9b{F>2@^S;=WcigWS^8XX%P_F)~CGULw{#PCG+4`MOw0k`lX#4}#?|})m80Vuc z_*~Ppdi$Tf*9_=YHCq;*`}rDj_p#~)~nK|rg{Q}^~&C# z3Kd#+yGUJlXdV)ZT5i;MKQ+7pR*aZi6&)S%xOJ4v;+0WcnZojAF;rE!!E8!tQL(Fi z3V!5SZ9_*s*LX=oyH`2@bm+-mitJ0RuT~Qd;VNj%f*irreH>Yt#Xmbx_j0F!Js_^d zxBJ#%5^pB=8Gzdb%ap(C$#}=^^-n-xqiuF&|FeORslejtu*aLoq1fBpi$iY;2<&Uu z=Y9~DtZwXA7@+6g4mgB>ALOcnj%D-^1z_T!zFe!rquhyNGR{fqHO6i}Ivd$Znjb_v z9gchk2%_Aj)d0=t2DMopMqvTt2S;Os6{Xvhe0ldez6@t1yYJlw31Yxxo;#M zKZw5O)~qIX{EbkD_G6Hj(%D9zoyht4iguNOgcvKlWs*Q_clHu7l`@3y@(YYhde_^! zu1_(fOG(lX)deuhQGP$+H7dO1W>p#WWkFPJjAo$jQay69p2KI=9B@`;%^bdPMx~kx z0_wAz!xY|m5uVXgi`d+HF-2;q4zqDIoid~vwQ$^z4{xa^E_)}>p3*(EAuUr}B68vy zAWP1$2!twB9k~|lU+slwpzy5P65o- zPaIC<(TnBEXR<*WT?L9CvY+)d^gXHSW5)qx!Lsd%EE*X&Zr$KNWVu)C*|+Z-^7=1U zhe0g5bG!F=v5GX6t$Wy}h*5(F|6CJ%y^@mRP7k)~_j)D`xaZN&C7DeKSLU7qz{mT# z$Ssz0u=6!C$X@W_vebqcq6S1g%Tb&k+gIDPsMzl(aLj-_2Xq+NDbY(`c5}cI_wG)w zT%;KopXw2P|CMBm8G9MEh?_bW=%kqsKBh^6)fo4v61{1Lh) zMYcPeA<*+R+#sM`+lL5K*N;C)s2#l6Xu{Ao7nG=Tt+Xzi1UFOyV0Y-T0EzVLPSP5? zaY>MjauK4%>ZtNGQ6~ds6#tXNvKi0*S>_qa6Zv7d!g0BLmB?P6zPGj@BDTa;Sr(rq zy0SdWMsbOt1mvC`!mGL`fQrjC0qe)gc4y07NM+x!b=TfGvcIY-+G>rt;l z-}w&pWv(ng#>1;Z@TCG6&enFV=IGw3m|R^hSr~btT7Z+gOcgtD1>NEm*crWrD4~wG zC91PoN?o3GHi^B^1+zXq6NjTKdSq8}^>MzDH@s7KcRpx;joq zO~whHmbdeb{KO|NqBp-$M*cFNr4$GElLbjkDE*4JmYwDg&vZ`@&ewL0#+uJ@(c`RS z?51aufE2-`R+Dfh3b;6~r>6AFZIy4(lHXIHAqgUa#jvsyl?_XN<>8@JQ3@?P>ImbM z5xR}JQ&e81bTV#V4%}itvDJMe+}Kx8>jPpY7qfpYSvctN%F28^#b66gJs&&0EqU1N zJ?ctTL6dRoATIi3-)>egW@Ua%R3Z;M_@uCS?LnRU^>#aZC4D!>=Yn+}6ktWtAL(P! zl~?`(c;uX%xU7Y|%fAu9bTx;96x0`!mS`c^VGd4L8cN1qk>8PmD=hxu)9(_t9&(HoCyq{z4Oo6T~6>O?l^ULV|DeQQDH( z#rtusyvmh7m0ULrYdfFnG4>sfq2JAAFP#LtFb#9|6Y=Ln^~OnNm&+|!0)Wsbthr-rFTV>Y^+`c}IV-qnWiBjkIRQE=pgtNNn`r>>v+v+)0DSt(9RWxXKCp~u zeKP8Q0qI0vKsvK3zPopAIM+5viDLYIZgZ$M?a?_kkh04qkbnIyC){^Ph=Vu4oN;`@ znriWz$-$5!0d?C}appQ`>`|?~w#N*tcuw+h>RE_DHQqtoW9n|oZ-6Y{v|L%)okKu9 zwJp}0a4=IM+HF6DFT1GPf7nu@6?*w-t+ltHy)+5^VJ%P_M_r;AV0A*BG`ag#QMB{V zjP&@8_*~3IShB`ORHcjiORQuDyWj}$uAbdqT9c|=>u2If zs=e)&P&ZeCTuKc_#75D9rzIh5gyarL*d&vWIfgk;GPnHb7|qq1PTL`s?M>pVYrQ8w_~ z(Uea(;4B2PVqzUup?B0`A*R3;IW8 zJs{ts9287e8%pLgFh9h(F4a zeF**V^8SYM`@evj$ccb*?G!{i5I3uPJQs#nDE8ONAMzfC_opX2&EX=@53Kh8S;SU7 zb2j^*KPGM$9Kh$sJkEgq+ri`2pDGSygaMP_$r;xFcOzSy1>(FP?(A2TZ~RMD{G*V2 zf_TYn@dgsnJYe;+5hU9Y7AI)xn{w-ViPGIu%U4wJX!l2TZ7Qcq>-O~-5M37-+Jk; z1f*#WbQ;6(ejgw0iSJSI+;6zK01vG9%|8Az%Z_{ZUF$+pl=J6}C9^_L+&yIGk$Hyg zb#CmCBJ-eM4xN(X@dba+VUq&x1|yu8q^*!TLF&$6#TVZ(nqHO`UX%})m^G|NLvd=L zT*;Dqv0x@fKli&y7Z?u}xqU5D??&9iRYrQDzBdKRf73iOmIxJ7S#KRzh+C zCS7(kcffhHfTe%e)vvvt{jt5U)_z-ssUIu5o*_CAYgiXU^1NPakEk16i{|VbP)H>{ zjAmcusI$7lc;|DgaP#lnKszdoh{>(EtABh*efJ-Ro z>-b_n z=xVjxtb*K|6XT<}qML%Kre#biZlXgTCKUzBC}U@42LYLaRFfSipvOB4;@YwXgmG6* z3CQnCev@yXxJhO6PzbnW3}GA7<<((XsTGC+{Pg;J-SVwW()vtQFFplSag^HxmfZ`( z=6KeHh@Qs{oZx&4V?1yp5Eg@rSx5koekc&ev~Cq{KTim(RwcDq&7n!o650sXM+}#p zDq<4}oYR;k8!&pP0^))90=Xnm*L>*6#u)UQveX!Enf3{ENsT(5LldYQ5r|EHY%+Gl zTpr~4on9ar$?nt5XZO+`oCJ6PY^+TB`oYF`{aq9YMsemGOp2Nq)i@QC zBYR8FbOKIvJRcy(li$+5Lrv_Laf}LHa>&{4fgHY56xQ}>*PLe{K30!#bt7NQ0S(%5 zxR2{lBNg?!nixz2z47bPicbK*zZeH6rW&pTB&07#`wM^7hCaTaescb%e%e-aTWTJh z_(L^*4@J!)R^f(D!%@Whf(u6XA0(JVO}}7x%3unPmIB*Hd!3Yu0CitJ0EmS`t>DF| zaQdl?A&`YTu=^iybETd(YZ*!g5t*FD13Ye>G;@9Rg)^n$8y=%_$+Yz#aG~{x*QHtJ zCJSp6Wev=nUQYQk5mVzZAyM1s6xK8@xi+h>0NvsQ$;wOSv$B)W9_(OTRIa!hX8i%I zOb?W6Pnp`?`aL0sQ0J`qX6a&BD^D-dGG00s|6-QoJ2>M$O=;(mO(W4kqeE$TX~3y& z($IA>f0_+ekBDmPDq+9168XEZ?iWDXdjC?=QSkCge(*JMig_q&`ZJG^pDB6d z%0j%ug@Dinnee!AtZVCDif3Ez$Y=TvapiJj$eIywmA9d+xqCP5eSfe?kkYAh9&xQN z!9=V#nl^=Rc~ay;S&Y!F8%me5%E%E88D7FN%oG6b!@)n@2SyiRKC^6$sZ_JZ8U{8* z_T$(UH%>uElnkRe$9dBEn*L9ZkXL1Q7c-kf+Q$K}0Y>f> zjft^E-?XK!QMy3=d*Zqd#0`xP)_5g7|HeRvhB+I@E%y$#2^Sqo0vHjV3t_k@4w6GMq$1yhE-K3~&6$R{S^(bKhS{e%=LZ-?i7 z_hA?lt{vk|06d5ln!y&zJCxD^JG=sWEzh}N?cKL*{*DN68h@+0e^n3igrD^oWyf}k z8$AftD=IAUldJk7qhZYTwqd=-fAQ8&SIkSHDsPXgz~%2p`kE`Bn~=r=?rdXg?#-2v zzp*1YTKeG-&rgCrQjsxG?S`t+K()Z4J{^$XOIN%^E)h++e|8 zW*2OgP$=M$^f0=1bf7}cFl_&GK`Jnj>cPksx?vB22x&ygdbn6 z_DFpli)|ttrN@C>8-ykemj7UbypB-arh^v+aE~V?{ii^LIr9_?^aq^D5CYxCEy^Gz zN29=>MZwi+^)@&9e}j314$B-~9@(12na|kim)^(i{M^hk_bb`E7RI|6k_YH*hRwsO zo<+ypQ8oz%FXw8-D#e(@pR|3Zzei-X;Q~a0;)ZuL66q3LxAZ7jjJ;FkU_15 zkvBR> zcn@o@(|!npDv+~w2a}H1YiIf7wpT2?t-8b+L->k?Hiqd8P1?-Xb$V|Dy7H12 znk)A#Js~v(kxMh-RQA#DH2idfTPPtond-bA{>Gbaa(7h+v{*^QNcW z$aTPIpd=LKcOifJi#V=GpJUs406-33`n(>mGOKlUyoef8%hJxV#t=ROLEjPqA>saK zo+wUl!)*aCz?!fNtXD%n3>@J69-S(hYyQq@Jq>5wgy#)TcU+ zU%mRqmbZP6XcmYY|2ud|ZI7}X<|!8Ga<%MjxnUc>qCxKZr;7}-M&Hrf1ATdw2CC6J z*Q$U)(;v0xnDwSp4WUj_KG#%0`*2lbZwAZ+goyd}{KY5rG;n`DDe9Y9AEEZ(o>4>; z9Ek!_LdL@dX)dt%X3U?Rzd?2~ct>#Y4gVg)j{jJ$Rf{zRgguNyh_OhJr0gv?y_Wf{ zp~k`)!gOLU^9(yiAp1i|?)OPC_{1r5^08vYLZI%(rdf>$@Ug^p?D5VXGlmu8q1L6W zeF#Nm|I#J87Tq$Ats^XYO=orFY(SDjxVO0PgJg$i2kWP8tTz<_`N zIsawSdvldK-1Y_2k(4L;c%c4pG=r>y z%rDizuR2R*-H>^TG6l;DHHw5sdKQQu_1-?)HTx1u;NJ{8wC);ZGtYe!dZs2G-%32= z8FRVS(!>se4pOO&R=G0Qh|#`^XN^wo+k-HyrmD1tOnlgT1`}y=i0{blG(lOW-f{v< zk^~tQ2$dd8&t~rH8BWy$*{-*)Ig1ukV4ub9uT^2&g)WpxZj3CmDm!T3AThKG??Z)7 zGFoCfpqw;6&&#~VLab&h@4Yjo%vHC+)a|>(^S@#T1O`A>YRO|qJ5(voc(r0QI)@~O zIWjq#%pWC67{%Hedhh5y6|5=vtBc-m`95QR{|=jp4WNNP2MssPo-EC??kHs)3FTh_9y!A?_kD6;f_YLda6t%k3=-Q`bT&jDV znZO}Rduo`_O%FjFxurs&sEK|e^h)FNgGa)8%!~26sY%ntwceZClm7uo*@`Y zIF<3pBFo!n68_>6X$};O(gkv$vUGJM$GgZI3?J#fuE62H=_tJ!4X?hCb|gNtMchn= zdUn+f4cHT7T{mIX{WN+jDS&2qC~JV=$vSf|A}+Bow#;z#l2*>d38G5k35xI}v8%h4 zTXBitVQR8(H**B}*TA$mIC95UEm={(k-%@>7{%gU@BJtl-BHcmy<1_*XwGkEay?2c zv~`sOmPa*|Yp)DQ+4Mhv{^SANOClZ0 zl|aMRzY-5&Dx!pZ%4WbOQ@Of>YpdhCl*+6-uA-prO?k|g-FK3|!w+&qR_o1;AlkOx zZt?(5h`=uP&}Dq=b(Vj(%P5B{bk@fJV3eO8u+&;S@dok3K$i%l?pQf&E94+ z|0H8wkkYE~vG3Z7QbEh*iK5BReqSJDpaxw&M-wAB=@{EYDsEy%$rv~7s=@G8+G=4? z$hRXBE)0XvU!Cif0^y{s5Lb>@v2%y;6g6N927jj8%mC33W0Zm+1vsOfr( z2dt{5H6?HKHP@3r52Ihl2&NDMQ?3f(Uz_*`V(AODO@ zjkZc*-KNTz!DLW6wgG(sKM6rinHYHcad-{LtXD>OAwb2las%~9a^CMDz7w9LkM_Ow z!QXRh-MHAZ&1V}sp|8hdAC;7je2C{gQNd@Vk2L>je8<7C9nd;})vDk1Ap!pt(62+L zcbis{Et_797`tnd{FB6<4XYV;DDxdteN$`AeXTBkSs48!QET0urrA+we;Zsj7jyW@ zybp#B50+`q9^o(1Rq5(=SRq0LI3_^L!^gyG^ciuJ%P3Kp=lt1ctX>*ehJ&I`^w#46G66RwQ!kMlhi7k8)xIaE1v7hhGruW^0ZuU27!OT5p_tn~Diq&z`X!dP zjETN}loxf{4Mc^df8+`M7U3O10baPWYezogm4-9(qysQdRN8Dd9It+=u8U1}Z>R%Z z`c);b`0YP>7b7=~Fy8h<%`U+XEnhB}re#-Sr!;25giTv6e$S1H!{%d|`M-qBVhr)0 z^F=9Sc>Z;OP4v*v)~(E#7Xz--LptQ+Zeu(om}h)hvf*HPdJ08{-(-vsmW!fE+0 ze3SnljgoWV#Kb81(Utf-qae=?oR=X6AXJ9{3-!O{qI{}*g1QJV@7J7%mkXf)#N$@I zW$Wjv#Yf~-RC}ok+TChAYhZ@;Alx*RYh0JExGd^(Xx?`z6t?{{a(nCG=Ui>K_75-i z(&uZd_18|AAvSZnbV0hc=gvv@-81Kew8ouciuFtRpEwBYuQsF%%7Ljs>o6Pff69{6 zXBPnrWXT06#d>T1ibz4+Kv+zjLU42Y-M>N?_w)>7PDg?8T7fVStq5#QSCG^OdA6<* zOuhJ{VK4!b@r;XycDC_hV^UTm51JjXxQa@+Tl&IqdXr7m}AvqVNx+wX@*t}0{#hGA`ZrCda1=qj{l3e zw~UIqZMeQsR1~E}q(wjk1SBMeQYq=~lI|ROC`G!vbLeiQ1?d>NOB#lfM)Lg+=y{&k zb>H{(JkR~*^@D4T!OU`42 zPRs_j4jp2vY(*KrJtZ`*1~5ii>VYogkMjGaf(>%r?1 zWir@huB}qfK{-s9v3h4gHJbE6PzSd?4bfEQ6(o}Ak zN0=sL^l<;o6w-kq_&O{w+r>GL8dwh~hr3?U69KzUq@fQ*KiYD{J%^8%t`id6LF=Pc<9C3>A8InxJT_pCm?#=uyb7&FQ^MfLfSO#ww~ z@ArD&!)oy~3o>Al+;!h~TlU5&L3a4)M5Hl?p|HOx3$!ko-YY!KlI*k7V|_sW6#JqB7_L;3y^AJd3MqJP^J(9S*fFiixio zKJ{5|jrF=`>M~8jB6s%qprc9x8TJ*!PpH;;!a~=OpEHf12h|i*k51bS>BaK=)4_;T z13DNi28a$u{@Mwa-=F%lQO8aMG!el?Qu#dgm`=RGPzrNutu7q+Jl`98yvcn^t>C&V zdqxoBq{vCat>K%Chsdl>yf;JDa99L8tT4uEBpE6G?7ZR%uCu@c3}}&Zd6~pDRC+hV zWPOi1uEcL39Sm(4KYm4n4=${HGlp#QO!t1C-`?x?s5=`p1iZv=f!427ffH5gIoGgS zUHU?uPt7|=HzJxBNVeQG+XzamibDOR{PEp}8b)hpj- zD@^GN<|Ule=?E7Lg-I1{8^EQTjPZ+wy@yZC)c|IZE~?3s_RRs-9@Ec(?8cf|-pPyx zZrqTHnao66BMzmAZ(zcMXUtFgeZ)JNvk^W^=zwV+V2kLzmE{#CC6)z?3=)@t$Ym1DTWjLDu99#w)%4z z$GbnBgn_D#YRbM`E4eU(QM!McI0kqo_!?+TR1uM%Y&8kn%a&UShHq}%! zXS_0G_xlIHx6Zv_hqWj7tR>WVX&h z5w@8tAkaE25*7pX(?G}laFPMf-gXk7Lmwv`a6?$f;|S&g!?9QmY|Qgp>QI-5J{9Ml zRV)KsCL79vDg|zoAv;+|3y&P*Zn=gR%vwv+hKEJqAL5x-LT1gmS>bsISQ2Cf=|S1E z^Neskm%@{uz9nF^TNAuhQLP3{9hd1h!7cSzN^X>b(`Q0J`6B=xADxP2CMsDG7QWK! z9sQf8B&iif9&H}>p*=VthRk)fBa^EKHpZd&kyPb$`K7_2ocrS@R^8{%o*1irtD{vc!adg0kQK(W)!`SNWk=qlXyDHv0&}o0g5s4(CEJV^~AaueA*e1Bv z?@Cf>4N2hT#iWH(%Z7w`QLdu&=vL3J_=fj+?Wcr?5(@tW4U z>)0A5ljXK{yDQI(N;&g9tB{u0p_OWbM@>JoT=e~OJ*LEZ(@*B?N>5oCv!aB7qT#rK zK~K)Y>WcYwR*OewjS3JYidm;ZVY-D$Lb%|!W@G-xtT6=O3#T&JGLQ=|3q1O)#dJa~ zTe@5wvY!YH#7)U-L}&JuoN|EOhaz<$RmjKdlwk*y703oHGu$&XS<|oonclKH5s$}6 zxvS6bl#%<4Z)M{6rqF?*c_oo&9CD;aoYlPKXZ1U~C6n_#89L)$P$VSvLiTR1sQkjL zAp+XSP5&bvBR+H^)1m|Okh<>tCv{I~&LRS@wA{70AGaIP)wGJhx?V@QGM5x2-e)gz zUDj2rY9g7bWOPXxNDkw@8`86XoaRuezAagQ@)68%ufeG{Njphg7k=U_tPNR8Gh94m z*;0xXqv}g`&-j#ZOq7)c@Ungw#l8sQIybvy2O893h2S#2#Ssv|T5^4HtyBP1BTxYE zHN7rMh+{2M?TAc8>o_aM?KS!?*Zh3U3r&1>Vak7QQ8h~3m&@gns_^fK*QdGJjTd(z5C%8h1;AOMy#OL!$=4CDA|T>* z|Gz}MIIM%5*fBKD18(%mc?2TimHiz^c#S*WE%aWE?D*ZrFz=^(^JiZ(!u)^O^Y~Y2 zD_8CHI_RfRRYjorz1|LBVm*Mc*}vt?Zn9<1yPo|mdH#jeO0@M43q@@h0`v`_-x}_K z0D2D8MS|aEBV<4LGp7*be?e*uNPxQRaq*nId9CwZcWEl^@BNKulfh*SNkWY@3@30o zv7#Qvhsv=4_Njj7wrcsn|1Xo$(Xh5wDwk$f&n>;72{!#g+8wyuRix1h?gxkkUX zHGyHY+^lNH6M>hC@(0(G8=Anu>o>Rcf1)puCHnpshO3<0VhY@1cw<#?G@m#b};_t7)heI*T{ypx6Z#9S0!}@eCNR5$d z^ShTn0CIv1)y`QKX&U)|-y*L&HYu#+^mAI_n534|(Ub|oKBE!%u8^hrP!v_B6p>pkxBJCY{)MKbP>@bZ z_R$*Cx;@2PxOkz*{~^R z#F#>tvkrq*&f@~_k(}!!)GS+E%A#FnOjx*56L3}Vkpd`7-T2SI>qv{5vHKF6=7D1OW?;%D(8QUx$k`Z!kdlQRn~1!hij47|YoE(TFk7`10sT_( z-foKF`JoDT(Oem~7Bu8fHJmv8cQu?NR~tcWRZP>Es1$QmuzO}qswCC$n3Hvl_lNk! zw962uZA*EWi>#yuPv3u{ywpyn4{GDuqAJ6ECLy~sVD(?v5tB)GGZJ#F=3paztziE z1)ZQfTE|x4lvrr@A@z|Q%qLY>2Y?881F+7+8XcPo&t5sFDO_?K_ z8|EnFw};Co@F^uSaAH|Gtyi!#&kgkI4;Rwu593wb%xFT511*;2TRnZsV_kJ!RK3kn z%KV45ch3NmQmL@n`$y){&n{NEPF@uLUM>`45!ZT0NRs1{+% zccqMM!@Ac_50Nstv63~CupAvhpKM9nF_wc7R|-l4E)TxC+|ISA^+S(MO0-fOI9W#$ zu@!sqOOgd07stIONz|~T?-qTw-pGcgt>!nswP%BjR(nn#K0l|h8n82OnSZ_xv?#MD zY(UH0>%kp9-S1*tMHND^NLaMPA$Gbz%FBC)Cqpw3PCKdFn%&g=d~9QWp$uwD8LDF> zA~rl1*t$fTh?!0oD+Bq=%Dg~DUO+2E;4ZQv-KXCIMr>uQ&l~i-iNOlX>DfCY_+*UV zBkD~UTy12a-c`c@^v&z2>lq=`uRAN4YCC$Se@=Qk0?4S3#t39o$i45|@nJ_;Bxe;L zC(Sdlw+y3|$(SFG(7bBZ=Ae20{nuSjeZMLf-d#gWrU@mWEbi>vnO(v2xvm;N^s{yT zh>&Z7^qz^b=iWNaMU~J209IiidI;Gy-{C*pBuetTfwfLyIqHQ1lqYJBUYDmQ@D}M8 zutn)QEksY;xA5Rm)=cqHgTG-?NKuyWV)(;xwvU1V%ocx(k2*NVUZGG!mc$>rtD-xQ z&#F4XEx*GxGgDx+f2-WH_hnyKnubj-)9N(udPrqd>;N;qkuCaZ@}}_I%O8Qcz~o2C z`bc)P$yl}+xe56x~$S`gp{m z3a(L6OHH>ZjYvalG#}<}>7Np9A;3?x62XQW{|f zJL?~05Yq0kCeNi-c;M;`eFoHzfr}Q=>`C5-GuH;kw5&suJnP*ZB1O&5xtk}U0@)y@ z)=Rk;>e6#;$ZKx3grw&xAiN9qvMf>!v*Hpk9g`)acmt^1X^Z0`*^((u!8cu#W()#7@B8V0t$hrv0%ic5*k3Z-w4)lF`{Iof4= z`A^+&gMxbf@98TfMEVNod^p~Qp+-WJuXV$ca>EZnE+JLH(K8Q|ul)Q~p#L)tiX5ei zfuSjpaCmWQ(B$Q}faSYC3GTzL_H-Yg=irf=ZVMc2zkhsYl@@K$mU;>Xt~3R>ZPn=C zzF1}V2D;(oorN?TF)SLAGw5NLXC8=Jcv=I}ECjcv|~(_@BgF!kBl>@bHQq;6%u z0a1tH{|1PvvI2lgT4ueaNM6rTh6Y{ZWmiGR>o zt5nVz2mcZXg=7DJ2n6!KRYT1idM|}C^geoaFY$On(|2jWO>9YJ-CN$^n?^M?(C!lW zU$?;@9BCT@H*ZPi&eLRl53dCSKq6;7e(y#;tM0>z7l@K}!G5;jc+f5L7n`*hkFWMd z3UuwOom(1{tUN+n$l^w3&lI_Cfv*OKvsJ9MiaMOipu1vq33NpH9%w%5CC)mXY;buV zwNl+>y>BBHa&qeBjwq7=s^eNg#HLwi8QCF)Efa#ng+;QG z3iA`(Blo+fH1yWKH7yfL7bO$MHoTR(2DQ#KNcF5fqSs#!<_73d1*(dPf7;;%AlokO zja=YRpWHH?p@!sN%r2Z znM?Liq-=6sxS#avD>g&I?I6SoA2nq2jwMUL;!!)`e*D654(L4bN283fvgdV*E6OhY zcXre~7XWVM1Pqd$Ey#Bl1+u|W4p9?=+4Xd%E)OW4PiIIh~bX10pC&^BAy-p_2knr%W zKDvB88Md&mwn~j)F$Rfq%bfum61irUOD^Yus9Xb4=_@ANO( zQl8s0GiD7NeKaGl1}@xj%iR2#&nhB7XfIcQA;2>Ey3y*@1|?aJWuUAASAK!UzR2^E zWNVLd<&g_iP>x*XllV1)s)z$V{s$flE&@~qYANk#SKWwtjvaAoHmmR1=hvvZab7$! zC0K_D|6@|jxkjQCFjneuDMxY{JFxoOt0n=kw@AD))d2v9)ktD{SUa2S^Sd%avl}Ey z&Gx4+!uiRuk|O+|!%m3gMdWh!5(N9b8@v@IK9PDEQSd~zu+L-S%;0*s7P{3mCB@-N zv?3-KYcwYi*{>lp=N=`lLfSP<*SWukc%p>R<6z1GiPz}3Gz~Q*xc08-mRd*|z)&6q zM=-j6T_NS)(-9Q1i0V0c)6H~5z;8$uQ|G7qFIGS!nq`s~Qa>ohXtZq5*v~dV+Lh1< zKv>l5C&>V=))v)p-dUT|onl1qoB~0S;y2fI8Ql>hx@9g?G!%YN9SOf9wGcTlADQH# z|J_h(<7MhbQCNFOf<(x+Q^PLe^AniI8%V036zOv9t(8DF>C-+0mmuHD*-+aZ$1{1e zkLA|^4DmHK;FEEDEY8RDc8S{xLC|GIUITR5Tt@mRauOygjjgALk1ftz7qEPEOSOAH zRLCU+sKk?d|BhPuEd+!G1LSXY{VbB~%3_B;Fap@|9}4LBwm=N>{0IrP!HLs+jEXT> zXcqzO%L?D1lv_tK@(k*-)%gNVeA%y3(lrQbK^at?xb5s>3mJRja{q$6|>wfx+q1WAJ2DKGE z0S6sxnTUxANoNX{ynH}u1PkA9jq%|Cwj9gc%GrHs6ACttk_9RNa*oY0i@d;?w`^kOrLeM8!uvo|{+G#Y(w=9+w$ zmLa6Nqt=@9%hzd6f}cW^2Z72626{PEtuMR55uae7QsOvGvj7Q963E56aNYmdU(gZq zqyv|abAXJzP7=vK@4e=vGnfT-cW#)oG;d4e7O-G*fW2$8_TQ@xl;(ek4zHZq<_XPX zDzzV`zZta8{`5S)I%MOJ64m5KH3C?3u7Ez>6YKdh$$L2TPNTp`Fzu3>sf)&e*~?!1 z_xl2e1*e^N!Ko$h!edZ`>6`ThGnTnF5d=Q(5Q<3;z8bO2`siFHp`R%Ch!PH2 zcjB;wNpQLSVRnOmlHhFcn$dn`Z8+R!Pj@nV-<37AA(|OYLl+45N&#ySxlU%vIYH~X z7*dsQi|)L76t5)Hy`(0(O0;D+k|n01Xtab2*1m|HKa2of@Zm|B_svDQnp>ak1;TN@ zCvegOt7gViV}?7oKsl9JXPZ97L#)8A*+DQxsBV{V%AjIjL)$c_+|-Aa5rrk?J=b2S zgomHwAy~;58OlD!W2^bfmItu#7lt};kEyA6h>8A%PzBCj&bIVdDfug8C6!3Xji{ra z&2P*Z$S8rPOn=j|I;VR-k{{kXF|Fx0uI7t1tmC!8EVUX)SNJK%b(wNb=u8M0`X{KPmxr=j0>=y^UAQB zJYraa&scj}1m`(q$s$O%VL$9Ozo;Q?SuCf#)hL8FPn1qSSh;P~Y-?_3=#1WPFMJ_} zPBTbgja9|s$7MGr+8FM!* zd_AD`Ro10v?%|wzfFQ8_VNx;#(|zS11H75K>Kx>gkv@~Qxc7r&W)4^7_2I+ZsL8N> z%kag}^-2x1soHvj&yY%=GUC8O;&IK8Z|Z&PCWPz$9Q9`8%EqeFdemocia==3^*K@$ zjKO?3!Qh`Xv11MFhe&UK`y9%oyVT2U2V&w)Qf>;ikzJKN*+H~#H>cQmabp|@;mm#~}$A1YK^Pc}+$k=?x z<0JnqgK*V$TKh}Sau)$?@zd(G7e$~XS40TQVPyATH|hRzME;*Q>2d+ao=Nw^;WA)` z+XY*-9*_L_saW_!mpk^1<-R9dmyq3ap_LKn9Q&6neevI|_L%><)sDzx{oa=7*at=r zUgQ6Ip!fEAo^FfgCZT09TaNfsm`ApnpD$Iqlig>+&1D6CC$iFR5?OD7;t2en9vO7y z$X6-OK=b7~phQN#JYCvR)M#)g)nqC1Y&os^8i44wC+qz;az&6p@#B!h#c*y@O>|V+ z`x@+70~ z%fFWR0I_1Bn9NHHpJ3J()uu6F)6*~;laJaf6FHp(8z(w#k+_E(0;$=X)yjT809c&Y{Ylv}_y1fSx!4u^ zGZL=N_uw}d|1Dy$j$)m@DG@HsHAQdlEmHhD&$S?_x!}bQ&~C{9lt9dH%9ZpK17cKs zevgbJ$n&wndg5 z4%J4y<|xo`oADyA(|sJ$*Pg0UoMD@o)K$g zl@;EE!u*zZ1iN>Cyta)~Vco0Q8wzYQ#b&f`e$I%DlCgb!T`*DIW-!W1)i0y35@;?t zNeS~?DqV^(*};I)r4nafg4sWtVejt=J`+FO#049_+U_gCFq=0Xh9|?4oR0h^q=Zw# z`7z3pb7X4K)L&RpQBJsunD+tYwwhqT?wU>h?$)_6*5bV7@fJU2Rt6C$E<3SZLNVsP2SZ-($P*JeM)?d}1H%aWk#eF+E&A-G;sjg6X<4wIiG*ms8N$`0fv+I|%zYtlc9e$HB*X&%a zJ(jSqz-Tn;kh_jh1aJ>upr6=JKC$QEIQweT$?bV2VyiY-@dk?<^BHgUgeb{z^Ulgd znAjlsD6wOVTxQt%%>YKv%VWL7FUO5D1=tpm&O7Uh>pGb^cTR_HMa=RvMdqVx%~A0w z$uEiI0=6Yv%%=g<&}aj}qLD@KUo@W@4Ev13bx+d*^n+y?fa$x>r=#1z%(t`rG0iOo z`64&UPDdL|`~>zCVHrw_iNR}gL^wAZF@1M@tzWYLOy2?ecYlc|@k5a|!I)s{S5C#^%lATcUPPJZ8`$@pI+C*nvJ+O{V}8%ntL~~vE=7kN zvi@2OB2g$yXGE%1J@xL{R0=Q}KEC5LP{L~7B7LTkPQHR@v`c@E^?WH6Xthfc{})jg zirtw$9~)|%Blb^r)*h!0bcsBioVAp(L+;aw6%mkuHT1j$_GFyaGLa3XxO7YrvNB!wX;8on}K=RknMg7W4P)Bocz2%e|ZB9e{;O0*$o(e!Gen|z%fc}F1BiQ-xR z;05-eI}2T4T1Yk@;g`t=`;=W7R7SMNBK%%{{?CW6(<$!C`F-C!Pic z^?5Lp3C6Fvu+(2y>0x;a^29}x6((aUkb-(z=C(JOb++`Q0&6@$2Fne}%}0)$KtL7d z394fA-6^XSC#uyS?$WeKe1p0p_}x1M{S51XW~iApEt@1_8~?!A-haYlrQ&UQZ)TT} z_^QBbQ1r{Rt)F@#M5>98TAug_rd*}%br>6ny>}(3+M+Y(Z+S#oOy*i;poDj}2XE0T zb9r*1Q_)JzFED-puE$~};7JBc-Y09p5ac;~pfaZ(j5VBMpMoAd8o1h_uyC&D_`q*- z&(qAXzIc!$uf@j`e8JlufK$(!nKMr?Lt>jY%Dl%@O1%iTjDEQ8+nHv#^P|_wX6=i% z<8)id$;5nsJ^hQkRkH(0m^Ro`u=rDvfv$`4UDUFjH;Hv6mDnZ;TR*Un@uW@VnJF6Z z#qSzLwEeVcGfXDHooY=F4JNzDnArkl8{et%O3q}iIqQBjR{6{>*8fZq~T28h9S-Bb`Bv@+Xdywasd zU#=}GKKsy(l$a4GqW}w~j;Zo?H;$7S>UtZBv?6;98~^hWc^^s1`Hav9j#KjUnt9P5 zb;NO5^K|mcLKPXn`gn>$XSY};FFpEq2ZwAg35l~f`C#Ll9Wv4Q^Wf6#sz<2XI8dW#|3+ygZdSR!|1lMKF%{PD@NY5#!z*>Fg8Cp%Z zwBiQ|zQC$u@yruV-I@huA2+&08_eFLYJ$qTn&}1%y#TL-e+PZFp?S{ z<`_*$vk5%eTZe6^FBDgw4oXbn+yh4%X%J!^=b~gl?$uAuc=C9>TT`1&K9tX6~iG};l=;GYv$!ne`15j0lA9JMmWA*qVjDnDb?}T5yK<9>2 zG81u4RR)4T4@2@AqA8%L3RM~>#e7g40MjTXIv<$e!z0H#xY|LI@HPEj zGUQ-gK#pgjJTDadM-3bYswb1%rEcvR`;XsixX3dO@oRj(Rz<l&=jGpdaNLJ0eTY_sP=KdP-#H-)qcCYOD5DK9KAptkF13 zYD!69b1)&;&CrTr(iUxj2dMX7+TBJgxiGXndRc%{1*LX;vQ^t+{xopDLnE@a|CyJ@ zSz*~)a7!^SJxZG*vfztG*&n(nzHq$tp)2ZBN~lBE0EV{MO4np^zq?1I3sPQLbdN=y zO^FgAtfH?5eOyN@RzvcKi_ZN#kB|-bKDVOt<~*^IDl|GH#-)n$J$S#+;nZqGMVDSoP3oBR58boY^S&wN zNBmR$^zFDCW4_;Wqv>Vr!+lApS1sXXqsUcg;AAjEqQBk(UnlT)YV$BciGy6phS7>D zjp!5oldGDUA~$?8e%4e6k$lUtMxPlN{a`f~PnG^tl9S>2MATs+GnLq_YP8I**|5bL zSRIY0uAWm}?OdS=h9`IBM$FL5Si+5t12wa^>7IpVv%Xd6ac)xXmr27R{I_+2_zA=B zrCSydt`SSz!g8c}K=$QC2>#AF;P7OGaH{{b?Ryfs4U@cwc(5;dVW=6{*|++X?c81) zfAoBO;z_1Z3;DTL#@9?-rBl9-#=7^0=EPF%^gK7!{YFqWN}g*6)8WF4kCyAU$K-kr z;Z^94&H}isps->ehqcE8FeIu{?g$*SzSp#{V;fvo0+Fn@(6!JO0kj|+&1NKcanp8( zrOvpQ)v&pt5^>cL-#ruAkLtu}+QCZ`bY#V;8a76yl>-figY4P$LYgoA#%+jS2BkZ7 zp0|nO2@pqRrn3{lD*df=?IQ)o06LIi89#SQPymBTXCB$cg?gMAzIHUd*09)1fmdQVFk!w;ob>r7DN~V zM5G;j27Mb(!9@o5jf5Is!@U%zmNGQ0Ty|f|Zha6L)2bTXVP3#H!WEj|@#-fw6O}=2 zMD}i+4xZ_yo_aVK{=Pft;v|D5iS9!TiKpxw*uI?V7 zX{!e;6XS7OVEkHG{DWtK!mKsoz@g24RFg5(RNb}Fh+D!%!9zay(ZYH+qg7oQ^>S3C z!&alKd$gO?-FPBl;qjl(T+8zmrdMCVrWZN{GmVU$%Tc|Ft;x@6xGonvYP{4e|=CBHy)eo-zk-^Bxu8CEr8ApPrEnA^1e zU}v{)SEQ##PN3=7-$6pF#wj7q98MHWMm0){{%7R9?@Xd?3 zS78t*+~IB5ePgycj7nCG5CY*;J!p*yeuB%c{(;V?A+(c8{39?dfTgz*5{s zlVnhxf|I_#9Tq&Z8_Tlf)7@&9fKD)0;)t_4Wez;48oGiT#zeJYVh8EO8K|zu@Ee?$ znS>A+6dAo{C>Rx8;k;WD^Ub$pbrLhO5#K;SR!wN9#~s~^qss=%@WOD;7JVEm0@>jh z6sk^ZMxf$4C zwkHFpEVlsXBb@SvS`zZ?cRO#1NeT%2LJL}cb-$IXfdY-F z!qh8ro4@~}$E_ORP_lQbB$N#FoB24{0Uml^Fp>$YGC45< zL2G#p3;iU5Ilamz-@NEmhw>PwtVqaFz_!g3y4h6fbzK)z{cS-bNgMC1Uwx7d3XdLe zlW17g`1M6GHdhwctkh^^OFU38le$Sl@eirR(*=%57U}~j;Y&XVy zZqjPcZJrnC2Z22CPD!z5F!oLFJ^dB1-gY%OEBN7L2LuL6;w*bk_T~H{joH|XZNmZf zXz|MOuG{GvdHAb~CPZ8m8vt*x%f zuzMUUEyzCNuNv1O3gb2i4dPhkcnoXX@P<`ari5v-%II@2`G_KA#6F^irrokdla&0S$^K&dJNgS}5`D%cni_ z@Bdw2l();Zzgwc8We&wbXbXgLuorUVoTS2N>e~_1Z)}WFH;udZTX|qEVEnJ-#bpD} zj=+5~3YLQ*-19ocpMbuY|Ax>Pw&*BuB80-&mQVcU$nfVCq<{IRR{0Xd`q%T5AGbf< zI&meMuzuhjY{z*UV=1O8$yfWw7M|ra(Ua>FIB>%2gV~b+Z+&9QVsJAF)a6$*>p7~+ zn#(5PL~c{^tjnXu3lW8@dDP2;KFyEvg{I*UwWz`1fd_ftKMZU$kKdVXTgf zI!3PF?uykZ_Yd(agW{vXqS&lurwM=byY>{A0^c;BKQ5Ie|4@uhL|gWM>H5&>S{CfS zp1ph@?0Bb9ogDpW-^Jl{Pw;%5b9J0at7hlLU?9c6TZgRLgfn9*=xhbAKfc_!*6lHqe)K+_Cu9&SwQW}_XscKwn6!xr;a1L*irkpZCQQ3 zM@M!t&J7)%0FI{wx8dBfo!sM%O=Y&>&|dZ>jwN*=_Ht4aAmC%N@|GK*}-#(Ee^!QocCLKrNMo*rhz3$BczX)-_A1A?OXPXLL zuby=8P|c`xq?!d8UcS3^3bB^Oeh|QcJ+dxL(Z7QVd?cK7<6$hWB9HCvy)aOHDtv*Y z1jfmG9fW4$uA6&rOxD(+++6L*)dMg2%I&0@NJc`g4ZaIiugDgY)aeQpcVqUPjKnQf z_>>VS`xS7Z7;wy?24V@rxbovKRW|$`B;Z)(LZ3X}0qpUn3UwGFGmHSd58t zfH_m*F5hnkF}SOc8dTl_>q=yS04WM9>A=2i(Wd|^V4N6T+vAasbmB`^qJRPJkL2DM zWS$-9CQvTlhPwMv771KSx(l6G{^^#zzesb1WSPhmwbnr)r07TI zeqv=^QME32Nlg15LRVT(V>W6vhb>T$X|!fxywlxDviRCy5XEn;ZFiMFIzh~R7Rr!v z@r}~JA2`136%hL`6L<&V@!4^t8LOT zo=6fCvjXdY+2I=pkaen{GoeFc(;fcwzQC4W;!vfXqbuV(mQ@BHbyE#dJTe>L*GKZ= z2cHGjrs)n_yD4zR`01ZzjaVcSKBv~{^HzsVa-`U~XmBTHiS5I`@{KRoNhO-`A7Rpi zrbNa*@$i=~uEm0!A4_?8fkrCg6fRsqkbX#MSvFC9Avuw;S$jxvYQwWP6Ht;RY<`aD zwgEfHgM&;FJ!ct+2n$t1B`ni{^K2g?{cyl*STMI@cPzW&sQHj&i?6g2|LlN`S=t)- zpKcj8S<}qw*34f?I^)!o8RVun)Y%=3nm=BFD#|eZ?U3i=ItH;7K9qV4(?A|N5hpRL zWYjJYKfJq6eLjKK=l$Vy^bx(hLJH*=Q*0cQPAS`}VD+2UI{i`pGM$)PQ4Ba$*7q*R zvT7Obi!YMYN4$AIB=K0_D~LchJqyRXmED|l+_3bQ7-sXhpqWpX=2#PxvZuJm#DOu! z#WZ7-u_;yDXFp5~vUwZ99*Z-&J7_6ivGU2%k!kgLZ52%0GRGVgu6`=65(-zDd#l0- zFu@)MbH_xuz^7Q`ezVQ&wRx~rj_-y2CJ}Gas1oaeOOicW+Jx@uy>Fd-u}n4b*0A;s zP;=^ryWMFv#>-=+Z4Xf^?w1rX*7VZ+Q}f-A+tM+`_@`cZ|HO+FQizYZyCvKyKy0){ z=@)~JO1NMTQL!nBY;vqNjDUzi-k{3d0zRoCDD&VA$PF4nSi>g}{xPolb(tyDG3I{I zHqrq9l62evMM}5@?00;h2TYL>j#k(DBGs+~Z!#k-v zBtI2T5GW@5F1|7*-n~FNPqRb}O@Hje=;Hy;nLJKCMi6Ac)fC|!z>@nw_87>$W|Y(h zTjy4s&MPiKesG8NE=Mg;EsvNtzE{|$71M{d=~A>pK4|ewjOeQ8$SOx6`5l`_)trKy zpFnw<(%dmnZj6)!(KG!mo}l1DPAoI!gL}s$+}^H6YX~2~JVl`WRshGq##4d>{~b_r zi1#!;=MUCgnHW1&=yau!u;wFhFybOv=1IO}oN&MEWt)!v?Q*;^|NV;&0|)1~vh6w! ztE7cL@IxbUB1@Ki9$lbax!By%Tzr@BE3Y&`MeXd$;+f;7@(CBeuS87>;RwKATYG;v zlxcbK#?~2oCQ>U90&4|b1?ne!ZRP*ETogZeS^Hp>oSH+Yj9hg2xw(X&vLfb#<3w|! z9nlG^##7I*W7Do2*b^?z6}8lNiG*eki~}ksrIDq9ywi!)q8uJp`=t_8M^V{jIOS-t z2;m_BqN>M1Hko>O;v56;3`%qallgXrp{X8KSk!x}Ofh>i6PX z*VOo(c}X-?P|jjzbauWC>xO_LMgN zb9i6YR>IEpT7>%*eo{Xz_Z@`CTS`Zxa+xjaMGdP z2l~ryn8uj?Ei!;-NKH*H{IOd9**p0d6~%Ry_O~?vyd=vacuyY$>(8s8{FhVv|M)}~ zjQA?fyg{bbU%m^~5`RLm?osXIXZ(5eke%MUf`sdnOK*j~Vrdq#w`83B`}@CY1*lH% zTQHRqoUhNc|C}n?93A34!(=Gb^c|b^nJ30Ih4by`%puJcv^QStYB|436ROhq*2v3L z2x0!hi9h+Mft&erk@u#;k|sg1(|5W@q~c9=SZ-?Gq-Lt9>Ft&mfsI;X{1sQ_s3tnN zHEev25?-wSW#r+nEjrN>!9SuYBZg19v6sE2awVIn*}O zxi1G5cU_pu>xUYwLCYoXAy0c;1DS zc*bevCkMdLoi4;ZelevUgcIm>+q|-R(zi111YD*3NZlVT?9O;)3mYzCJm9P}q+d=4 zYt5MP+7a|3w^mwz1wkTm6kX`8I95kG9S`@T9Dh+{6cI)(I6XUF0{nq1Ks(q{&{K|8 zXN!S1supH=z)a=OmzJw;&hj!}%>@+G7k13OxZH^ickth{RL)Jj1Frt?8dL*=8%}RG zx?S=ebnPuT0q6Wc2O;9kRfZqSMLG^!4}a`s0k`&>c#7`+(rR`R3=h_Yr-^b~`A`Ud zk}E4%AZ4DJKL>8@o8*=D#~ynX`7xZhwRS2@>|@-%G9bc%tuKo?X`{}->k3u8zUCkM zFsNDs_ka(qiWTL%Rh>}Xl4=4kg&lRq@`9M3M)2LU5GQY7c_b@n>Z_Dk@o-im<=y6I z1%u#0Cri$_FoS`HJmjL_HcQ>2E^R|hk4Bd<Zm%nl-Kk+2TDV&dz@*M4cjfdSmLo2O6iS`kPVz9G~TDuJmqKJ%&{Eux4^8eb$* z7VMF?Z`Gpqwm!;5X+2clD3OKLo?=dfUJ;>)S|uJh&8lR?h;u?gaT0U`98t|1f~zDc zDO=Qps2iW`o-c6}E(2F7b_>N5Q38`Ex@qmvM;tans^qQe7D*w^yjyiXx~ikKumnp2 z8&xd%qbQ;=+ZFjKBww*$`{OBF>X+ccSM3RcozqG}nXB7o%-lT{y_~zFO+AFPw0 zaO?*-F0XA!+skSbI*#BVp%1{D$0mcZpp)NTG&}A!%0_ZzlMj_Ls_2C6eDgk0{XEb8 zzVG_h`quaH7pye{vt~1UAJ=&uzjNQpUtWVi`~rAC8dZejYhVOWzmYg9y273Heu?+c zlkj=JOZaC+jUbNMF_+mI_2Hnc6qQ9wa(B43W?HcJfOs4oEe|3eqJBh}RzRY;+fc$6 z!Uef1DCWY`_I5^=wsz+tNYA~i2aL>o69cmFO|#U(qkxpAw2V&_rTJv7bk@3IaC_A! zRxtrupHguA4~i4lJ%G3`OzsDW^Egc;SiamSi`F|5bhP=!YrN0%-Le7aF0X?q*{Qje zbsS`(LP(a|u!n=!lGde{X}^{k_Arp$GC5G0#>3xySog702R?8L-Spm7mc0KeYT8OI zL_T3qdyv}8@z6$+eBE54(%^ySQNi7B3tH-pG@^0@>^#O)qg6aRb5GvybtgV8Cl8g8 zn{_mj?_{W8K2DHV**^Blw7Srw?9|q4+GiyAr($5HVP`N(PBf)>v%+LN&RMZby~2A$Q+#TztWkkk<^) zrJJ~G61KF}CXEv;07EByW17>{kgTfbIwsY_91rkd#d6PY;C)*pb zv#}nNIT*+R&ONEoWe~bI(CpAMs}0@OgYu)t^mm1}LdGS*PFyc5i!t@4jYk~ll#HNO z)ji2u3!ipdvBRV_r$+p&D~r;TM}+*NclJo3`7vyLtHkpZkF{v5R!MfEm?vxZm$z6UESwB7I1Pmw2u*m9o~1VM)m`;C33Mt7xaRcDi=v)6o z^1L;BXLRA_c(1cgnyr#a%ohHu8x=Ah*^0NLe{5XiJ1d-^ z;f}itF=dJwFb}fi_h>yn7?%(b0wI@GQ(=BCDdH9tSf;Gi7gkLlYyZRYY!ZU$_cR>B zqXt&54Bzi%$rfoyk{%F$)f$`3m(PP&ATF6_iW<6)7VayqwpP9m%d-Q$HZQFpB(9zc zW9gH1`k(`|YByvd=5`*;Lf0=+~N6MCh* zy-}HbDVF-jQqn#m*D2j}zc$x96Y~$VTB|oEiMHD6KVhMZmHtp}^5r&<>DP{uVmY0! z&Az8TXG5&kJbr9N0pzNkk^$+2sfuSI7_w%lN7&HHX?Xu=z7H0mc~bg@ZcM@qq>@eF zvI_nDf|_tCSKSA;rm_kx8Vyam-Ow%mWS72|AQL{xITcl`N4tCT!TPAQBkcLeA3}^# z={d}*d~xl&Kczf+SxUaNxJ|U@c2Lh_hLv}$;PS}9K8Si}%*0bRx;29#{BOcV@XAo7 zIGULY47a|(Xp73EgB+b~#=Xc@jhjC2XA>>M}?eh+vdQQ&Ty z6Yu^UAR_)3hh^cwso;RFd$IP8?>c~lZ*2}Fdtd;a{)@zt*NkKXBo@)izj*Tl`pYTc zR&RnE+uUI>)*@Vi`;zlNNmQVH(ppRS7ny!Y{5zS-ppM4HLs4X^Z@j>Z;5_$MNZ7a# zjvKFsHeY|sokJn=?-v38jkDo+f2u0~P0p-uym`V|yg-0+7ioW$qWy^#FJVi=IMX-B z?}faaHtE<)%MCMO!G3rGr_z1?e4pd6@~*i%?>{--dsMx<)5F&sh)|v_ucN?-5g2X$e@!J3b-l+Eae~`As3^4Bb&|7y62XhQoD- zr=>shXUi7l0c|72;9O@CX(orGiM$#sRW>(`+U8JI&jc)sJ4T{3I-2z)umH%}a@T#$ zDy}$QLsLvp1-(r^W#D>P64LdyhDDGeo2ouhbJ1Bh%s4Az@TaFTo| z^b`^KRR%A7&sIf6voeNGy3!0JXJaLZ#oJn~p z5zV=<3gSK*vcfuX;uG)P<;uwA=^VAd zTE>=Y*YEnq!eR!~7rF|a`o73QuQPL`{5RlV;>}$3;E$yorj4UTexZWLO!*ihz-=!a z1{&Q?uV|iveTM5UF}l-Bmv_2Zqkkf9F<9KOIgg@OB=6=5&WFYQP+Ilz#|7{-YY-)N$0uk-FL6mCl3X5-z$;O0-AkQlDa#8U$5pkDWlJq;XXtKTXqz4SGCCBTyU%MSm^PjRwOSu_& zJjYt5iV0cb4cQqjcH$*rJ7iE;)QuTQD!Qe~u`q#lYk;X<1yGO{Cg=x8c?h!|^26q+ zfsJXE`sBIq?!hOYOQ6^`36sG$l1^@5Z;a0IdC23A-NT9RM6qv**0d5$pYMD zT?1jZ#jxp}4hsku)9wl-o_DYhjDpcpzXNuuvM@HE49zK90UNGlxGvz{4h3v>-k)r{ zAZn0H!T;3{;!L_iMn5=C3J^1vCAO++M|5S-i|E!z)N@P3F;C&k!z?8u>Ph$rj6!)R zlD+8a`L4L)NEn$j6Qy8sMbw&8m-O5OprEKNm}5v#Q;E$ciwIOP>0E-0XglbCdSWgp zQ`Ea`~J7~J!Xp5DU z5i8*P7`fX+Y|Q$dc7nC!ds&q?K1E-pLg=$i`I)WzC%I0NuV{lJPodM>aoD>y?s2)b zl`>FFq=!l-T)6m*68@qJr#c8pAFz)u4-f1c&4F?Za9pI;jQe+)U_|*^Gu8l6kO@iQ z`YOQ#tkrFggYwZ1@XeZ{k0!7wVJ1eN1wEri{83L*>r2g)MPW9KrcE_tBGziQDL*dH zsJaR0a1jk+BOga^I}z5u76lP(8$6%B{2;)X*4k7V1IL{XZf@JTH}O{>jqP-kAU$d( zoafed5_$|W%d{l;DDt5x+d|`x1i8R)2gS|{aU*#OKqEy3(w>qYd$h6EDFwJ3PzxYU z;43~2@YhFd9Z4aqS4v28o%Qi#w1WNTU{Z7yxy@#0yJ$7XfsaP!#X18?-W=7R`eeIj zwFUT56G-Zll{psnQr`^ArYFQ6THqL*jh61xH75OJXDa|zw$|?Nr)lBUl`DF*%JtwL zaAp3)c?6>7lHH}6d>d)-Y;oy+RgUoRCLJq~RNLgIglBpsXU^$zI$ggznDe}fFqDt1 zcF5H%wl}-D$^5zB1;Xu_Sp$fS zsI^HiPasLUR5`Ij!;6BX-sMSoNj@*U4h!t$3ihRnol>U(y9}T)RpIPVCd1Hr24+$` zk~iYPWyTNVErWSxMdySGnV}tS=G;R; z%LAu~646QE5C#6Ga^&8!vooZB7%{c8a46}1C%4&WBITy)!1$lk`0o@ zQQ99b7kn0ya{=p~kxWe#2jlCh4N;y`DT~Z_WwP;;yLA2H>%kccUaWok)NZ6~HYixX zMg&v41?bSZOK&j8OGI|2*ja7lP%b9^O8oRalU(}M+>(qV0=#&6C4CY z*g2$bE4gp!Ig%Xhc?NqqC_MJGlEz@hBD(w89;y5q?ZE9l!Tl!YbF_LQC@}F0<+1QW=paoLfB&OZZI{4F3W~VXnZ4{KU8|Zn zJ$FExA0w3iKvR54QelDb!}IusyKBU8#maQWxctFy=kTICn|Za;odq+lPB@WZWQ}yq zv2_!jqO|OD)6$b^T|7x{x+|`2&q>=2G9-AfsNX-TZ+cb&BD7ka_r6-7TA*?I2MlVBf9G9Unh;PWNt@-;Zi}K{-lblg3bsEtAXl@agm&cTYY|umV zr>X-w-QovuPz3;;boI0BUDX!m{N*4=CKcN1PsgRU4Jpu@%kc=O{(Jc>U2U`yN9Dg_ zZ#%5AJ3kPMtL>%u`H*;)^sdPq~ifq5NJ?$I!RcL93v7+5H2wYr|tTt%o_gnH0cs`_nDm) z0N;*9`8DvT7Hf}_b`tihY(JmWMDbreb7DH%JlWQy{MKXS{Mq~5jYl~n``Pg0nqeN} zDz9L-GR*heq61CIv}f1f)s{Bb+rKS%PoF={l0P%*N`z|LucgY- zTW-Jw0$%I?b%jM8#|#idj$+M_b?0zyGJJz_e*G56U199W*rUxcvL`huITx#mgJSnj zp8O}EiCHZ88?S()wBxyQm;9~!c*SGr#p zkY6rR61$38{1^^W2A^212?fSt>)oh1ov_}~#SMm<2o9{?J=aYhiLys>1{&R5C2((L za9-ZxJv3N_dUqCwC&1e+$tH?>TqSWfTflzhI-vS>2mO7k55iQ`DadY_SVwCC z`cHV4iJbs+dE!j#e)R?NGYP)YZC!EwLql(l!HWYI<;%5}&M!1l5#$EA!aR^k(QGCx7n>5tC_ zZgT~27^ius`khMU4k4NNx9dcwE067s$(l*}rV)brqR&sZ{9BgHLFcms`Hv1IIl=WX zp?<*VudH`mt|@#vSaK6$kJnZx_MJNLt16nilXSM==*sFKyU#Y(HP4;}@~V`)(Aj(r z8LR>Ng&%@pI1E~f@5bcnulKKs4d=fmvl&95-J z`5!)Wmr<)gN#j?Ig@oY#<)hO@XMk!T_954K{wztEdT5$K^lPYv^Qs_iv4+>YvXau8 zld!Hx>9iu16*o5fBqh z*69BU<^dzsJwuD$fdw)ahfKtLbS%H`|Kw6A05v`nce`(}<%RI*E~_YpxK z0(Wc1R1O-@VjsxxpfRgo4W!wuJLYFPVIM$4ONhPsS=i|t6=G+?8}P-gU<|s`$V@@q zI`dZHZ`E);OIKonszkSg7F|1$b9LP4xQa^wNEn#w~eTyqG~P!mnLU9c}us$stXK8*)WU0NxdX?%ZHAqsuee`3dEjTmcpfuH7;At`7h3t8zL$0* zqeNO$0rkSgSH6l3!RO9YuZ$<%B1%~v@Q)xfYfD|SxqhxJlf)(0Hdba*!;s5}*0Rzdg>hSM zC{Zj~5MSVFk($uZ=-k@%{&91d9U0|*#%Ex+Hiit6`3g0VX*9mk()8n?1#Df+-yCRg zx4T^7r!Qe@=W?M-R3?UffB;jMmB!$Tc9ajv60WfNhH6DYriTidn$My1cr(264>7sl z=`S%E^K0E8a}fLJ&cGcDC;`xuG3l|3az&vY0DFeZB8Z|rB z=W~`s?*JQOS^zlFRluuGU*7jNyFB*ebcMVp*kOw8A+8W}6XqQNP{42cAtIiEpIw$~ zHk@CIvFlyL#s`FU2Q4RQ+v*m28$F5jSLNYpkkaaqxfF!7(5pKj!AX}L@0DNoA9^dt-f@QSDI`6kaJ z>)dHatooMQnDS?(S0349tTUpq4=Lzu z139o=YX>)_bBfy{aaVt?&!$;gLsNm@buK;)9og z>11t3a;=O@Uzx)FG!kPRz;Q(#(0(1$PHj zW1J1yJG7;=?azqkCZFo<_AJSo9IvgTcOGqP8dfpX6h50pP$9h~Qxh}%s z1HfAFyvMhGoAumU=sXDHu>JS3MuQhFrvEV!eqGPIjG=*HzUI0%%S(uwJv&zlY#b(( z@lkoe`Oo)_myCY_AK#yYh@sW-kl((;-B10hZC`-b3p`6ekYA&*#|0f1HPi@L$f%LV zKUE4~g?sVqC9Z>h{h?;jfBZv7dQVILvx%&ZJAOo8HAZS+fOV4p9teno|IY*B1ul}Y z3s2#}g{NSe$~YtKV^4NIx;UQqBY<=@H~NC}%71d+r4ou_a?fZi3zVST2n;&ryPk46 zD=E$JQ$_eWwlkm4GF};kJITv0eNvn`7U8Rt@rf+D>7g%!fs??RgL5G*m>TRlrt!%2u=~*$IcFHdg|l$8WabUb zPaN3>ESFOflz9v1mltJm^E=Dd&4vhTSE97QE)mOADoRx-L!khkAK z%QH5{Zn@jRfmeY zl5SH*xc)@J#7Q!P56E(`(AY4^E!Vfx{AZNT22R$z%v+-( zH7S6hOti5z{G?_N{q=#ob+O`J;G>3?hm71AQ7rwg9HB}WN7^8&go);gz%utcO{-Xk z>5n$!6xlc#zQF0NU$+B&~XZP9Tv_&oaZ zTy01P)CMv~O!qst0}X(w4?3%*Lm(09A_ignwi}|$ZjMb$CsLN*&4W{ zOr8hBz0Rb-93yISlzAb~aVM<=90G77IqhIeDQ~vJ z+b|?i_RZ$X#{;9CaNT=jKK6?$2wJY-dbw0vTAZBxbSR-1jq?=~1Tar|DeHuPo6pK; zyZ3Ie)2;}}HM6^G;7g7754FYpgw9JiI-duC5X7o0MM=V5d7e;&9 zp3~;nD?@+MX28XWV#CFVBJZJqc0??mz}l<-&WBjXPOpy`)M^)2rpy!=BvzE%C!Wud~WK@oT` zOP9{AXjp6IGW~IB=O|9NNFTL-ASr0M?%m}99k0pInbtyV*bYucZz0(7)Ub#heduQ_ zJj=aRji&pU_Nh`3@d`u?N99$znRfe9MUp1Y(SSN0BhA}(@MD$l{0;>yvq7Ks;)%zG zyORVsg83Kibj6(X?Apb=8te=GsAtUQ<|%1ch}s147vqVRX>SdpSxZi2s(F}aMuA85 zE#_TkN9x^etRZN6bn1hIPu`WbvCLqcC;kM3K`l!YsF_9kU42A2Ai3f*^o&fGoQ9lb z*2@z&c6XMZ*shn^2P_-`vum%K+s0&lo8OSM1STS$S&MisZqvM}hXc{_I9)u&-h$I( zSs`vZqT#nqT5D}<-@}orE8U*dOb++OI_&jltc<}63naOn{n<-3WB+Q%q0zt%kO29WXsPIVb=kv zIa^C$;JNI8^%KATUD;Z&JU9MwNo(zzyi2o)cJAaXKTP+CGiM(Kv#;R0%z>3eYQs&QjXSOguj-)A!Tnv(#m z0jCvmO9WA5t(`pTL<~F3?MFg-h%#-@oo2x~z-gYB|4_ynTt5Ed1ESZIQ;R|+Y!NhQq+3Zjqj!ir zTk#&YW*6tQeS+|Um)NOwoH#9$6@B53FWfYyD1G*_`q#`2w1^*N)^#~W8DB?D94~Pz zE9w~AksGl=xP=rd1Zwp0rL2@E%?zbjxqV2q51v|E81`zd=J<-N_t_Hrja^?@JG^D- zCn=v42h!v2)8|IA3C!Cc0!S@l<$o6az8M9`jhr+zg?g*q>_Q7xLoqgA4Kdi^q2gS? z#fBtK%?Oh^@bt;MciZFJ<0Chp=gS}Sk%f<4za@ls(j)_8cs`5`aF0hKStUpS+-@k? z_R#1%*=tl~N*Z6nXZwDiG7kUx@^UF?A5fMueE`16R>lodG4g4#i=7XuW;E0Rn_-NK z+}|0UWb-o&ldW}>xYcLhZf(3PoQl6xpUG1^Hs508>*^~kS>Np}e-AVj@SEC@N5^W4_ zx7Oifyi6GvR8&zD*o8bU4cc4z@mQj3CmZKAO1fe36XwN-Yq2Yq%#`b-pHUlkpq{5#Bg+h- zCV1MF7aJ%n$hOrPpCclzRPtqO>wp(zlowXvs3g2-dlI6t9+Oe`9V_8_Ky8682i$cX zZyFr|<-YYf11IQbBg(FMKsmeg*rN$tvd}4p2zas{Q7iP1HWXqapbf?9{m(X(bH$^! zeedgXGkHhdTrhx)es`l;Hw!3Qd)TDNm0vG~Zj!5ZoeLZmV>aj^v36Uzxf5CM8ARv9 zZt?NQejeb@YY6ZwNx3SNor9MUk5V|c40Ar$D=|IEnu{B}e0Na1FEUx`@!R*3{T(?` zG2;CKX#m=bi}pw?p1E{{|MEO4%P~u@n)cbvIcjwVhYc`=*BAxK!bblrJ`v16_dGsH zI6w`DFH4sMfCDb&4%e^=Hin^p_Y8m#Db?dy( zGfP9SDO*Tg?Za%0k&w3GA;Z=gLvuC2f9^@en1)RD8hvH}YE0lPGaSDTMuzR{g^AO5 zL3?9|My|yZ&MQMf-h|p29?!X*NkP-SE1X((Cr8W8M;)1A_<8$H3E}$}qR1BcE$JJm zt{-<`*l)%as5t4|-qzeETmyn#N z1GmocK0c@GZf-_T!%`AT{}qp8i8;z z;9!cs_nYL-{q-cV8-IEy|F|TuahLSDGaW+xig9M6&r$ zj-&JV?cQQAHyNt!#9w*`e@fq&?MHug$V`RSXkLc<9;K#wJwZV&eiJwS$bj!uTixZl zS0V04b4@=~ghDK9J>1>()%Oh__H^`G>ijUq{LXMNciwnH4Y~2Jf=COi8wc3?MRBc@ z6Uq*`8om2r0k2u#*o&iW6EkvV#|F9G(^pcAd4``Q)GX+8KB;&o(;gldE6|pQxyZ3~ zE-$N&-y7|J+eF))El7SeJ>egzrds=t`tmXKUMA4#!ozm#nPL>|rrTe`$S$?Mzsyna z_{B1$y!0;jTVHq}c9h-k|RSFO5 zI8vpBh9`@WewQFFA^%64`L8cz>WegTHH#jR-vckTi7Pxk)>{X6|Z|EvE_ z|0*zIEnTu2*fT+Mel-}c1fmgXED_IE-h}vt|Gg~bLic@6tht!$NSU9OJ=wyR;g@YQ z(z0#M#z!kgwU5v&oVk6lY?ZfNs(7i2H<1S)dd>-qn#PtC`}L{c-^Q<94CSj0vFQnu zO_`pID!K4Mc9St4W@@<=5yQS@L5Y;oo$Zt0z`zLsA%Ok%KqjC4#r&8ZojZ;W^%_wEPZm3EB&~9_=`*SO zZObl)+E@QEwJ2BYf3-OSF4`k}CF6VGJK%F(Y5V^U_f2vBtRfl1{Er&Q1@EJr52*~41K#@4mrVN=9b<7vz*wof4gSJ0fAfkA;64{=2ygPyeq3e&Vr6Kj z({qEBv=V!}h)gI^wk@Jc2TI_p#?C;wocmma>?8;DB)IFA9H2&zZ~O0CDg)i zazPNWtMj4|pce(aPXS@kE$x<`$qqFYjStrdE~vOz6u9WSO6YX)x?ML3VL!Eeh$8)n z%wL@&F1;6>BMXhl*2=;7IQba0??C|RXQcfkeOBy#YD$h%{g5DuFV;@WXe6bcevHB~ zm*lu~gJ@zwV%{|GJ{-mTZ`tL#$bnQDXF6d;QISZ>5aFyN&B9{14}`n8f87bOSX6 zcz8B-@&52*pP#)Uh?SR*h_+Mrz8Z6CG4`TD@NE~bn|%Vs7p}FMmQC$nUdQ$v;B{Qd zB9|)DJGkw0KJ@vIJ@lpYI^ngw%WZhL;1dxw_G%WVw^Cv?eUzOb0Rc_Ebr{J6#-mVh1=RPt>kjj zO{0-5wqJ=Svlu_Ou=Npd)9o|R_EO$^tp``zFQXa{!O}X_CJy6q&28%AK8zrm$L=Ak zgZFaCupPcAA)UW)vqgp%&e~H&a zwa*ti>EF9j<0Ohy_+}TDzFR@47?U9fH@gAJtf*O1U?_<&AZBwMH?iomw4|Z_1FB@{ z-JRS%TVu7Uo#c$DF5$NDzh)6*C5T&;*aSXePF5E9LOADqzQV1wakRH9L`c& z91qepQ%eUbKL$oZ*hdv0Y+$zTla+_Pr7h}sF34db6? zHa4olaKvxNvNG!qh>ZEWP=TKDYiHXkIBn_{mmX~5N|->!IO#$;uf(Be91z2Eq<^do zbpRHjb^oJ~ZIkgY**g_Hm;f&;U*HX3TLek^sj7Rs=V|K7wQ=O2@nwf4GYH42Tp@`` z4^swoi*#=Z#k6R%;P?pm+5X4hDZGuvALd1W2FknupgqPx>ia}TyrhtemTLkD^$3K| zpT-C)kz2Y1;gL?KHVW7m0j)&Wd~i|%OJmN=5Zlc<;UeeoK0%i(BL`dI#53XTmoCp8YLW@bIs*@n7@~{-{yzz33fWWa0hyUJzDT z19JCu6gSB0* literal 0 HcmV?d00001 diff --git a/docs/images/10users-secB.png b/docs/images/10users-secB.png new file mode 100644 index 0000000000000000000000000000000000000000..256e68e69d7f4e033381588574aceca82ee4d8b5 GIT binary patch literal 168459 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

0oFVaUPzogw7%8aF&Pz}Yl*;{B}kdlsF93wxt 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 z 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 NAp#aI6ny6We*o#vbL{{C literal 0 HcmV?d00001 diff --git a/docs/images/2.10users-secB.png b/docs/images/2.10users-secB.png new file mode 100644 index 0000000000000000000000000000000000000000..cbf3bbf9947799ec2b602303c66ac03503d6f286 GIT binary patch literal 149461 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%0AKc;EArs4- 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

h${ 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 literal 0 HcmV?d00001 diff --git a/docs/images/2.25users-secA.png b/docs/images/2.25users-secA.png new file mode 100644 index 0000000000000000000000000000000000000000..3a7c07315f23bcf69d8eaa0824cc9a8577e92319 GIT binary patch literal 120929 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

}MsD9aG5+=L8K} z2P<#;H%?K>W_`rhtUTxOYvt@)febL+vf#%g>2+cm+dV;zQJwt|>^`{GB~ z=S7FHXBn-ubti11#`T8BC$DNmVFsLHt_u5oE3POxlB2O`zp%9e;S?OU)~T`NE_*Ny z5Jn?@IMgv&_Zg6Nll+!-`!uBLH&zy~A6Nu`oV3#{qU+Ajswy}h0saQ_s>l&=XVq{_ z%rRLvn&o*~?@U*@dgJHs;uAU*0|yZ1^_SlC-$9K_PCqM^5CsD4?iWo;m0}5{1O+!d z_BomwDpfVaxyCY0lV!!du?UQT@K|B|tl1y}bm+g|dSG`a;)t0rjR% z8vEV5o4Qx>v-kQ@tEcS`mY*`SlRpgbzIl3)h~eQim2y&Jckx#4XD92jb-a1a5L%@# za`|5)rJd2-YbC>k$nL9d#rUC@vo@q~KvlE!(vJ2`PxeWdSq^KKI5(|kB54|5j0thr zOhwaoICN-QS?QIM60uH_V-G)!ETc3){4B37SSD3eQH$4#A8z0-%!cglzEI2CUG~ej#ORvXh0MZNSG^;UX9Y$5WfIS5ZCM5g|$7f@LLIw zYXxAnhcVoe#PS>g9R zQgMUN3F+Wum?~&@^ZhSGG$@{DtX4x)n*NsiPGdfg{RFq}{$#Zk?@W3<8tQL}vXMR9 zt5xgj=;-fbNDw^J3Z3hCaA>c#%k~r^!0}2~(D!`lWL?j|ri zdxcuIACeiS+GHDj@YT)SKOX3G;OyuNv*)$(2-x7!gHZG%m@ z0d#vEsqxOtgU0uI3gfVb-UkgvO5NxS2(EF7LTtLYfVj)K#0A(73DfFW^LlLjocx!AKh;GJ`+@(p3FFJpMv)S(z6{1oNlwd z)3r?av)o%X=U?aEA%E#ak!*|1wyZmlq9m`Y=WibUrk^2Unffgeshe%MxPy$=yPI#r z!)Yd!xL+;kdC~&I?1F#+bmBh?ORa4t>RHpR;h45z zo4o2(%`kMLSg@7ce@jdu-3=D*!*?A13|4Ec;|nF*{Q$H#Bbt;zK1(dWx0#=#x$C__ zaMXCAF(#>@C4jmkpPqn$}rAN_ZN`TO?v_J;3Lz!MmQ>*Wq&1;+}9651tQCW{O1kM5MNAbbE$5s z%e66MW&<(`o_uZ`H3top4IMSKpB-II;bVQ^c{HIs`|h;(4I`T^#mHc7qXKE+=#$p_ z3Of8l5#e{y@cQe1WlFu_9%ma1OH))HGV^3RNjn((;u>z#O{pL$D6HP^X4z_wFWwMv zry-G*aTs%rWl^5u0h(3lalr;?;(9_D^NuRYnd6-oScKY+~q|9^wnZ zcmqer&%&G+X>GDWEwbZeeal6WLdX=zYn|$<-R7XL8zD&>^YrP(iw!%MI3y(dj>D_2 ze%ze{(r#>7>u4a3k&HrF1h}zh5k!US&zf38*>`btDs5apIJ&*pRf4q`NEf;-`KfdA z0KdzllJ>o7h0^9L-CC*Hhx`C%K zd!EBP<43B#)_GIZ%zb$MfKXCpIN0vDj2dv$625As3D}{S5s|dX}!zq9|g-86DeI7b7%IDaz2L0wlW_+=Yd^k|8(1B%Ci{n+!ssF$6u#8J0= zKNy^=9n#_dVE@Ah&TqdFA24Dnf&g^1POOVFGQi?5!06oj)qnLhCQK!lH#m%@PwNd zEoCgweZv_xyN{6dpupW99>ZQb5C9_Sw1pd!pTY1c^AcG@Z_yX75}T0H^IWY&j7yxm zq7643_G6}fD%~iWgFV`MV3reC+=$4;&4iQt5smd#JKrrsrusrtzHm)0IZI1fRggRN zuYEG^$ywKPTiFbkK)XxRG}GFA-RSD0GsSB2^Xjly(96;7TD(SGrOH#(0}Z@y@L`rs z$#QZVf=;>?1}=ARUg5j8^a4nUrzJlYugwhgxKCH%kF{d0$+oGy2wTEyO{@b*$d^p+ zH^M8s2GC7#8jg|v(2~5-Dz*|zxJg1(b51hZ?k>zM2W|&eQaz8QiOWyv zLi!RtwyXV90RuadX2yUPQ{!3%?k? zn5t4~EyFAsr4itv1S=mJsc{Pb zDwd1)*b#_8G4?aOn?XaS5_hwAUtY)vZyn2F$NmTr)KpQjnNrOnaq3^PUfcS4f@cl9 zB7e8Km^K{zn>+A7>n?iTQ}oCT^MCk{8Mp7$v~lqtiIFDZKOsiMB&27-&1`EvR!akw z7lZczBeJ`eQWhq*E=I$pIjD%50DOq@tVbcPiFjYNGo%A&J;hR()up&4IjBCnboG8c9!HZ;$db^yeoV&Zut9X#1r8bt>PC_!C1FbIDgJ!DMy!Awx2^_rqo4&kAOobD39G z>xLus%o$x0@r~WjF+KYwGr6pkvb^i2dU}6XKaxl1FYu6*Cayw7Gr)&rbg)5y2q6X# z@eNMj>MOr1J2d|E{p`=PS+CWe2{^Y!ZNz(TD;gY_1gS=-2D42WPw6R2n@NUCmF%|U zql<+?@P1VpyL*kd=e5u9nPkhHa?*ITKyhNzQi6Ogn@>Aiv zpJ816fMthPc_OVtT9JB*(sDMB$MC4QJ(*W?1yjw4kOMMQZpwb)w8s<6Q<_dBN)5%{ zdz?*PW4ms@+2Krr47%@#Pb}-lTc&ghVjBLVMx!E5_CGZmCqd-=qtS>}w43H~Tg#EL z#hHrn_D5)t=VjHK6g(@eue{Dx60?j6$V7IrN?FpInl zT^>psY-X77ODFd}CwK@=?nF~!o09RX=Voh7fmDVipM`JQ2ZhkAAx4XP*t|X!Q(SR4 zPidqNMbfZx)a%6~+C_2hX>z8PB|1S$jCyYQhHb#eZQd64(?F7pe;?8v1uv?JfpP+^ zQ0f} zQbUb@xV`6PKJRf5Vxm`Y0q$j)q||${S`0+i0iIya9|C4lj%S`zs$if~EvtYK4ww zubrgTB6xIPbJ3+l=j*yjP&k+Nft9-%On`DYm}i5ho6y;PX71@l%)-ve;4fkrCHJLI z({PP;Z2OBbg`YzO!TR$3{LU@D^|22P4P)od%3l1#+5LB+5b#gXYTtxrH<;WiYqNrV zEcDtgQX&@62~X?rv$j3RUtuA341l9VI-!&>A=IdvKDFbfC6PvQ3!LvWLp6AW$zeqED~r;Y|DU~A7wdHJ{SNydv!~E?}`C(o; zv*Q)a&#O8)2*sl;L*ARRdg5P^hKJLzPlzVO=CY}`1eMvo^N+7rFV{VaSnpxmFs-Cc zCmTcqa&W<(J?PDhX7hn|H(wctP!%z zk?J4Fe}r}iDQ}OS+GWnbZp+tS(h+Lu6K&{0b$&-L+l#pe&#)9*O=hNFen(cJ11K-%lSI+$ zulKXIh_95xx5?&w$7UDfV(v?eUb4M7Cpq2J*XeETlHTX&#`?P6y&-F(7*PFgO03SS ze0vUmst}3L;(rh4o%vRMl`VE4;8r+OQcvtm2bkhHkcAvrxgS6jNVA`crb!f0KX;?a}Is#b5GHt8{YN4qUaSua8k?~8S zWlxhwc}m~w*z4I5kxpKqP-ubRQt>A6CF~UZZ`iuC1X?y$<-?wA4Un8uOjRQRM2+A}YFuU%D+4hdrt;-RDwQF4F^Hq3hQiPHKk^ z?5QEjpxGUoXY56kzcOfCC6LcYa>EZ@BI%x@501DnEVMtkQ=w$$%=;#)kug)V=q|x4 z|9IKrQ_YfWDnBHGWT*$d)yD33m@jNqCVblSz>p(_m0sy(OTZrD1N-3&q~BkCKw9d9 zn`Fyi_^6)`+S|F;drKPjPW$#z&W(cM!LnhP5;~VSXy``D=$s{sC7VXCT?!X^vupRfyb<7$H#?R6}t zpHvB90Qa4Dm_1JSr$6>M;n^jjlsZ%$3WdLVjZODT*i0}tIh${^{?KHcrHBxzAG+$M-Hzp&ERi5B*-$YbrpPHab_B#)ewnO)KRh0IKyO z-Mas+&B!lzis%<#>sL~ye&NJ0IVL@nCQau9Zuhwq>A9hV!cI0=v>j{fm`krSb zST?PtIS*}hKCD!E1g4V!lU?4ep_NGJY9cc^V+2370rVk?r?yC|w|I2>a555ybsR$` zVvGV5&~qcAWA?*2^OtwE&?b{qw~(ZJaun+aml=*C(z@!{=Se8|jz2Xr1#CCGZlC5yL~9 zd`UckM{v>Bq=?27!*Nr;JK(q{7HbY<-+Cg5xdZ_u_|$8BgWHgImGv!G^zFS=vCc3) zkuiVy(=-_$^aws5!=3Q#FSh;F1%ChN)%4MzKgCWm?8W!!tIWx3dyt&YpRYIw0gdT=zKLBSfvk49oQ)evV4hz-z#ieo)iqS?y*kps9g1jk2Y_+rb@hG& zLic58-O`ZwTV?v{y&_@N&JeGgdRl#yqBRLZgWS#PpM!_)Bh`g0C81FsnSC>-dF9$Y}yTCg^5SLtV@82=un!7v3Mg^W3@*~6FX;eP~S9|!n7sD zFHkrmyjBR!ANOUkvT*R=+1oh0@GpR9ZX^ea>6b#VSN^9$Fb0*#ob-EbQqg_`!*Xkg zVOVbQ$OD%9s?4cdnZFKqD!cmRXEYb~oH^%-r8oG(9nMaCi^E0FXpRE*g!s*(`sV9cI?87NQ%=R4f-rNSZL2Q3p%k9 z!N?*@(jBN15AJu^c9#s?aBWMR|MN+&2=VC1niWj{JP%5ry?MhdRL&JE^N$ zMHPoK!R9i?P<83IvGuO%H^-*}ge7>z7N5o))+#6ObX;2-8XR4>zU|VW?g}4~P?%qH zv9n(pJ0&PDEFJAeL1pUso!m4%HS-}*&$D$1bS+>f7fN%oERet1+%Fb zF1+n1-%=H!DIta(ar8t{D3u6%@@Lv?+l$X~zaKp_~Y;)8LI=+6Xj z%@W5H>fP(5ToM9<4v+tD?aKId1;dp&E`D9Pf#y?mX}c;*5(#kC z^!~fHkv~l8_;HphAF2b>=&Ju+=0tDa@GzhU3%@M#AWap?1C{QB7t4R(`THx=$m9Q2 eLr$=~k2Rb4#F(s#SpNuki3&*x=G=e$@_zsxl`Nb9 literal 0 HcmV?d00001 diff --git a/docs/images/2.25users-secB.png b/docs/images/2.25users-secB.png new file mode 100644 index 0000000000000000000000000000000000000000..fd2921e827304fef2b94e56ba54f2900096c03bb GIT binary patch literal 162710 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

n2GmWV8n*RB&4w7 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 literal 0 HcmV?d00001 diff --git a/docs/images/2.5users-secB.png b/docs/images/2.5users-secB.png new file mode 100644 index 0000000000000000000000000000000000000000..2934d90b589a5ffa272b55ce3f9115cee0b9b36f GIT binary patch literal 180370 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

^t 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 literal 0 HcmV?d00001 diff --git a/docs/images/2users-secA.png b/docs/images/2users-secA.png new file mode 100644 index 0000000000000000000000000000000000000000..50d9af9ed54083c08116e297668ddc2551c05e8c GIT binary patch literal 101285 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 &VUWb7KugePSUspW~&(kW)CoyO*Yp!%rXLX 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


BDK&NS^f|}h9m-~LT5(}0aNx{UpMx}* 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 Pz!&%qL@x98qnG~&r`;|e literal 0 HcmV?d00001 diff --git a/docs/images/2users-secB.png b/docs/images/2users-secB.png new file mode 100644 index 0000000000000000000000000000000000000000..dde2b7e99cbee3ea953efb281e481fbc4692b9c6 GIT binary patch literal 182634 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 WsVvW^&3p6%aKZG9bxWa6vHt`{eBBrT literal 0 HcmV?d00001 diff --git a/docs/src/08_concepts.adoc b/docs/src/08_concepts.adoc index 6794bf4..6b91237 100644 --- a/docs/src/08_concepts.adoc +++ b/docs/src/08_concepts.adoc @@ -110,18 +110,69 @@ The chosen color palette strikes a balance between functionality, aesthetics, an === Development concepts -==== Testing +==== Testing and Monitoring We test the application with these different tests: - Unit Testing: We employed the SonarCloud tool to monitor the code covered by these tests, while Continuous Integration practices were implemented using GitHub Actions. - - Load Testing: We used Gattling for measuring the performance of the application when many users are using it. + - Load Testing and Monitoring: We used Gattling for recording user simulations that consist on login into the application, playing the existing game modes and checking the statistics and leaderboards. Then, Gatling allowed us to also measure the performance of the application and the average response times when creating 2, 5, 10 and 25 users per second during 60 seconds performing the previously mentioned simulations, using 2 different Azure machines. + Particularly, load testing has been performed using a 1-cpu machine with almost 1GB of RAM memory and also, using a 2-cpu machine with 8GB of RAM memory. + -- 1-cpu machine: With this machine all requests were answered quickly when 2 users per second where created (120 users in total) with almost all requests responding in less than 1 second with a minimum response time of just 24 milliseconds and a maximum reponse time of 1.6 seconds. + + image::2users-secA.png["2 users per second in 60 seconds user-simulation overall results with 1-cpu machine"] + image::2users-secB.png["2 users per second in 60 seconds user-simulation specific graph results with 1-cpu machine"] + + When creating 5 users per second (350 users in total), the responses took almost all of them (around 80%) less than a second with a minimum response time of 24 milliseconds, but with a maximum response time of 10 seconds which is a huge amount of time for a web application. + + image::5users-secA.png["5 users per second in 60 seconds user-simulation overall results with 1-cpu machine"] + image::5users-secB.png["5 users per second in 60 seconds user-simulation specific graph results with 1-cpu machine"] + + Unfortunately, when creating a load of 10 user per second (600 users in total) 41% of the responses were failling and around 70% of the responses where failing or taking more than a second to be answered. For sure, when creating even more load, almost all response were going to fail. + + image::10users-secA.png["10 users per second in 60 seconds user-simulation overall results with 1-cpu machine"] + image::10users-secB.png["10 users per second in 60 seconds user-simulation specific graph results with 1-cpu machine"] + + With this 1-cpu and 1GB of RAM azure machine we could afford around 200 hundred users making constant resquests without having a denial of service and providing reasonable requests' response times. + + -- 2-cpu machine + + With this machine all requests were answered quickly when 2 users per second where created (120 users in total) with almost all requests responding in less than 1 second with a minimum response time of just 24 milliseconds and a maximum reponse time of 1.8 seconds. + + image::2.2users-secA.png["2 users per second in 60 seconds user-simulation overall results"] + image::2.2users-secB.png["2 users per second in 60 seconds user-simulation specific graph results"] + + When creating 5 users per second (350 users in total), the responses took almost all of them (around 80%) less than a second with a minimum response time of 24 milliseconds, but with a maximum response time of 10 seconds which is exactly the same time we obtained with the other machine and a similar mean response time. + + image::2.5users-secA.png["5 users per second in 60 seconds user-simulation overall results with 2-cpu machine"] + image::2.5users-secB.png["5 users per second in 60 seconds user-simulation specific graph results with 2-cpu machine"] + + When creating a load of 10 user per second (600 users in total), no response failed although the maximum response time was 58 seconds with a mean response time of 2 seconds, which meant that almost every respone took less than a second. + + image::2.10users-secA.png["10 users per second in 60 seconds user-simulation overall results with 2-cpu machine"] + image::2.10users-secB.png["10 users per second in 60 seconds user-simulation specific graph results with 2-cpu machine"] + + Finally, when creating a load of 25 user per second (1500 users in total), just a 7% of the total amount of response failed and the maximum response time was 60 seconds with a mean response time of 5 seconds. + + image::2.10users-secA.png["25 users per second in 60 seconds user-simulation overall results with 2-cpu machine"] + image::2.10users-secB.png["25 users per second in 60 seconds user-simulation specific graph results with 2-cpu machine"] + + Using this 2-cpu and 8GB machine, response times are not enhaced when using more powerfull hardware and most of the work should be done programatically by improving our software. + But better hardware allows us to support much more load on the application, which means more users playing at the same time. This time, we could support more 400, but less than 800 simultaneous users. + Taking a look at the specific graph results of each of thesimulations performed, most of load is always provoked at the beggining of the simulation when the users have to login. + Then, when users are playing some games the amount of response is reduced a lot since all the information for playing the game is asked at the beggining. + + As a general conclusion, following the azure payment plan for virtual machines: With low load requirements and just paying around 35$ each month we could afford a 1-cpu and 1GB RAM memory web server supporting around 200 simultaneous users using the application at the same time. + On the contrary, if higher load requirements are needed and paying around 100$ for a 2-cpu and 8GB of RAM memory server, the amount of supported users is more than duplicated supporting more than 400 simultaneous users. + + - E2e Testing: We used behavior-driven development scenarios written in the Gherking language as a basis for our end-to-end tests. ==== Deployment The application is deployed using Docker. ==== Configurability -The application will not have configurable features. An early idea was to include a "dark mode". -Through the development we decided to postpone these ideas in order to focus on a better application in general. +The application has simple configurable game features for selecting between two game modes (normal/usual and trivia game mode) and two difficulty levels (easy and hard difficulties). + - Normal mode game consists of 10 random questions with an amount of time to answer the question before losing the possibility to answer. Easy and hard modes differ on the amount of time that the user has to answer the question. + - Trivia mode game consists of 10 questions, which are generated based on the resulting category of rolling a dice. There are 6 possible categories: sports, science, history, geography and entertainment. +Additionally, there is an option at the main application view where random music can be played. ... From 053974a0bddaf307251a54fab8b2d2426d1b0153 Mon Sep 17 00:00:00 2001 From: sergiollende Date: Mon, 29 Apr 2024 11:59:11 +0200 Subject: [PATCH 05/15] StatsTable with penguins --- webapp/public/penguinsLeft.webp | Bin 0 -> 31418 bytes webapp/public/penguinsRight.webp | Bin 0 -> 19962 bytes webapp/src/components/stats/Statistics.tsx | 2 +- webapp/src/components/stats/StatsTable.tsx | 77 +++++++++++---------- webapp/src/index.css | 27 +++++++- 5 files changed, 69 insertions(+), 37 deletions(-) create mode 100644 webapp/public/penguinsLeft.webp create mode 100644 webapp/public/penguinsRight.webp diff --git a/webapp/public/penguinsLeft.webp b/webapp/public/penguinsLeft.webp new file mode 100644 index 0000000000000000000000000000000000000000..b1189559b90959da5de4b2ed5af3d325bd7a5427 GIT binary patch literal 31418 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 literal 0 HcmV?d00001 diff --git a/webapp/public/penguinsRight.webp b/webapp/public/penguinsRight.webp new file mode 100644 index 0000000000000000000000000000000000000000..4a0f7d718f5958f5d1e99adeb00f41eb98375475 GIT binary patch literal 19962 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 JXuEq!gaEw@biM!p literal 0 HcmV?d00001 diff --git a/webapp/src/components/stats/Statistics.tsx b/webapp/src/components/stats/Statistics.tsx index 14fbeaf..429daf3 100644 --- a/webapp/src/components/stats/Statistics.tsx +++ b/webapp/src/components/stats/Statistics.tsx @@ -36,7 +36,7 @@ export default function Statistics () {
- Continue Improving + Keep Improving
) diff --git a/webapp/src/components/stats/StatsTable.tsx b/webapp/src/components/stats/StatsTable.tsx index 12ca9c0..0dd182b 100644 --- a/webapp/src/components/stats/StatsTable.tsx +++ b/webapp/src/components/stats/StatsTable.tsx @@ -26,40 +26,47 @@ export default function StatsTable() { }; return ( - - - - - - - - - - - - - - - - - - - - - - - - - -
StatisticsValue
Correct Answers{questionsCorrect}
Wrong Answers{questionsAnswered - questionsCorrect}
Gained chesses{chesses}
Percentage Correct - 0 ? (Math.round(((questionsCorrect / questionsAnswered) * 100) * 100) / 100) : 0} - color='#00A078' thickness='.3rem' - size={"3rem"}> - - {questionsAnswered > 0 ? (Math.round(((questionsCorrect / questionsAnswered) * 100) * 100) / 100).toFixed(0) : 0}% - - -
+
+
+ Left +
+ + + + + + + + + + + + + + + + + + + + + + + + +
StatisticsValue
Correct Answers{questionsCorrect}
Wrong Answers{questionsAnswered - questionsCorrect}
Gained chesses{chesses}
Percentage Correct + 0 ? (Math.round(((questionsCorrect / questionsAnswered) * 100) * 100) / 100) : 0} + color='#00A078' thickness='.3rem' + size={"3rem"}> + + {questionsAnswered > 0 ? (Math.round(((questionsCorrect / questionsAnswered) * 100) * 100) / 100).toFixed(0) : 0}% + + +
+
+ Right +
+
); } \ No newline at end of file diff --git a/webapp/src/index.css b/webapp/src/index.css index cf03b8c..8d39b7f 100644 --- a/webapp/src/index.css +++ b/webapp/src/index.css @@ -2,13 +2,38 @@ @tailwind components; @tailwind utilities; +.container { + display: flex; + justify-content: center; + align-items: stretch; /* This makes the children of the container the same height */ +} + +.container > div { + display: flex; + align-items: center; + justify-content: center; +} + +.container img { + object-fit: cover; + width: 100%; + height: 100%; +} + +.container .table-container { + flex: 0 0 90%; +} + +.container .image-container { + flex: 0 0 10%; +} + .caja-quesitos { width: 120px; height: 120px; } - .caja{ width:100%; height:100%; From 75aaef910787e04d3b8274b18d15e64ea09a0745 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Tru=C3=A9bano?= Date: Mon, 29 Apr 2024 12:06:49 +0200 Subject: [PATCH 06/15] Fixing load testing documentation --- ...{2.10users-secA.png => 2-10users-secA.png} | Bin ...{2.10users-secB.png => 2-10users-secB.png} | Bin ...{2.25users-secA.png => 2-25users-secA.png} | Bin ...{2.25users-secB.png => 2-25users-secB.png} | Bin .../{2.2users-secA.png => 2-2users-secA.png} | Bin .../{2.2users-secB.png => 2-2users-secB.png} | Bin .../{2.5users-secA.png => 2-5users-secA.png} | Bin .../{2.5users-secB.png => 2-5users-secB.png} | Bin docs/src/08_concepts.adoc | 36 +++++++++--------- 9 files changed, 19 insertions(+), 17 deletions(-) rename docs/images/{2.10users-secA.png => 2-10users-secA.png} (100%) rename docs/images/{2.10users-secB.png => 2-10users-secB.png} (100%) rename docs/images/{2.25users-secA.png => 2-25users-secA.png} (100%) rename docs/images/{2.25users-secB.png => 2-25users-secB.png} (100%) rename docs/images/{2.2users-secA.png => 2-2users-secA.png} (100%) rename docs/images/{2.2users-secB.png => 2-2users-secB.png} (100%) rename docs/images/{2.5users-secA.png => 2-5users-secA.png} (100%) rename docs/images/{2.5users-secB.png => 2-5users-secB.png} (100%) diff --git a/docs/images/2.10users-secA.png b/docs/images/2-10users-secA.png similarity index 100% rename from docs/images/2.10users-secA.png rename to docs/images/2-10users-secA.png diff --git a/docs/images/2.10users-secB.png b/docs/images/2-10users-secB.png similarity index 100% rename from docs/images/2.10users-secB.png rename to docs/images/2-10users-secB.png diff --git a/docs/images/2.25users-secA.png b/docs/images/2-25users-secA.png similarity index 100% rename from docs/images/2.25users-secA.png rename to docs/images/2-25users-secA.png diff --git a/docs/images/2.25users-secB.png b/docs/images/2-25users-secB.png similarity index 100% rename from docs/images/2.25users-secB.png rename to docs/images/2-25users-secB.png diff --git a/docs/images/2.2users-secA.png b/docs/images/2-2users-secA.png similarity index 100% rename from docs/images/2.2users-secA.png rename to docs/images/2-2users-secA.png diff --git a/docs/images/2.2users-secB.png b/docs/images/2-2users-secB.png similarity index 100% rename from docs/images/2.2users-secB.png rename to docs/images/2-2users-secB.png diff --git a/docs/images/2.5users-secA.png b/docs/images/2-5users-secA.png similarity index 100% rename from docs/images/2.5users-secA.png rename to docs/images/2-5users-secA.png diff --git a/docs/images/2.5users-secB.png b/docs/images/2-5users-secB.png similarity index 100% rename from docs/images/2.5users-secB.png rename to docs/images/2-5users-secB.png diff --git a/docs/src/08_concepts.adoc b/docs/src/08_concepts.adoc index 6b91237..52e2c9a 100644 --- a/docs/src/08_concepts.adoc +++ b/docs/src/08_concepts.adoc @@ -111,48 +111,50 @@ The chosen color palette strikes a balance between functionality, aesthetics, an === Development concepts ==== Testing and Monitoring -We test the application with these different tests: - Unit Testing: We employed the SonarCloud tool to monitor the code covered by these tests, while Continuous Integration practices were implemented using GitHub Actions. - Load Testing and Monitoring: We used Gattling for recording user simulations that consist on login into the application, playing the existing game modes and checking the statistics and leaderboards. Then, Gatling allowed us to also measure the performance of the application and the average response times when creating 2, 5, 10 and 25 users per second during 60 seconds performing the previously mentioned simulations, using 2 different Azure machines. Particularly, load testing has been performed using a 1-cpu machine with almost 1GB of RAM memory and also, using a 2-cpu machine with 8GB of RAM memory. - -- 1-cpu machine: With this machine all requests were answered quickly when 2 users per second where created (120 users in total) with almost all requests responding in less than 1 second with a minimum response time of just 24 milliseconds and a maximum reponse time of 1.6 seconds. + + ** 1-cpu machine + + With this machine all requests were answered quickly when 2 users per second where created (120 users in total) with almost all requests responding in less than 1 second with a minimum response time of just 24 milliseconds and a maximum reponse time of 1.6 seconds. - image::2users-secA.png["2 users per second in 60 seconds user-simulation overall results with 1-cpu machine"] - image::2users-secB.png["2 users per second in 60 seconds user-simulation specific graph results with 1-cpu machine"] +image::2users-secA.png["2 users per second in 60 seconds user-simulation overall results with 1-cpu machine"] +image::2users-secB.png["2 users per second in 60 seconds user-simulation specific graph results with 1-cpu machine"] When creating 5 users per second (350 users in total), the responses took almost all of them (around 80%) less than a second with a minimum response time of 24 milliseconds, but with a maximum response time of 10 seconds which is a huge amount of time for a web application. - image::5users-secA.png["5 users per second in 60 seconds user-simulation overall results with 1-cpu machine"] - image::5users-secB.png["5 users per second in 60 seconds user-simulation specific graph results with 1-cpu machine"] +image::5users-secA.png["5 users per second in 60 seconds user-simulation overall results with 1-cpu machine"] +image::5users-secB.png["5 users per second in 60 seconds user-simulation specific graph results with 1-cpu machine"] Unfortunately, when creating a load of 10 user per second (600 users in total) 41% of the responses were failling and around 70% of the responses where failing or taking more than a second to be answered. For sure, when creating even more load, almost all response were going to fail. - image::10users-secA.png["10 users per second in 60 seconds user-simulation overall results with 1-cpu machine"] - image::10users-secB.png["10 users per second in 60 seconds user-simulation specific graph results with 1-cpu machine"] +image::10users-secA.png["10 users per second in 60 seconds user-simulation overall results with 1-cpu machine"] +image::10users-secB.png["10 users per second in 60 seconds user-simulation specific graph results with 1-cpu machine"] With this 1-cpu and 1GB of RAM azure machine we could afford around 200 hundred users making constant resquests without having a denial of service and providing reasonable requests' response times. - -- 2-cpu machine + ** 2-cpu machine With this machine all requests were answered quickly when 2 users per second where created (120 users in total) with almost all requests responding in less than 1 second with a minimum response time of just 24 milliseconds and a maximum reponse time of 1.8 seconds. - image::2.2users-secA.png["2 users per second in 60 seconds user-simulation overall results"] - image::2.2users-secB.png["2 users per second in 60 seconds user-simulation specific graph results"] +image::2-2users-secA.png["2 users per second in 60 seconds user-simulation overall results"] +image::2-2users-secB.png["2 users per second in 60 seconds user-simulation specific graph results"] When creating 5 users per second (350 users in total), the responses took almost all of them (around 80%) less than a second with a minimum response time of 24 milliseconds, but with a maximum response time of 10 seconds which is exactly the same time we obtained with the other machine and a similar mean response time. - image::2.5users-secA.png["5 users per second in 60 seconds user-simulation overall results with 2-cpu machine"] - image::2.5users-secB.png["5 users per second in 60 seconds user-simulation specific graph results with 2-cpu machine"] +image::2-5users-secA.png["5 users per second in 60 seconds user-simulation overall results with 2-cpu machine"] +image::2-5users-secB.png["5 users per second in 60 seconds user-simulation specific graph results with 2-cpu machine"] When creating a load of 10 user per second (600 users in total), no response failed although the maximum response time was 58 seconds with a mean response time of 2 seconds, which meant that almost every respone took less than a second. - image::2.10users-secA.png["10 users per second in 60 seconds user-simulation overall results with 2-cpu machine"] - image::2.10users-secB.png["10 users per second in 60 seconds user-simulation specific graph results with 2-cpu machine"] +image::2-10users-secA.png["10 users per second in 60 seconds user-simulation overall results with 2-cpu machine"] +image::2-10users-secB.png["10 users per second in 60 seconds user-simulation specific graph results with 2-cpu machine"] Finally, when creating a load of 25 user per second (1500 users in total), just a 7% of the total amount of response failed and the maximum response time was 60 seconds with a mean response time of 5 seconds. - image::2.10users-secA.png["25 users per second in 60 seconds user-simulation overall results with 2-cpu machine"] - image::2.10users-secB.png["25 users per second in 60 seconds user-simulation specific graph results with 2-cpu machine"] +image::2-10users-secA.png["25 users per second in 60 seconds user-simulation overall results with 2-cpu machine"] +image::2-10users-secB.png["25 users per second in 60 seconds user-simulation specific graph results with 2-cpu machine"] Using this 2-cpu and 8GB machine, response times are not enhaced when using more powerfull hardware and most of the work should be done programatically by improving our software. But better hardware allows us to support much more load on the application, which means more users playing at the same time. This time, we could support more 400, but less than 800 simultaneous users. From d77c873543e4dc3ff1770b09b30a9bfc1f515cb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Tru=C3=A9bano?= Date: Mon, 29 Apr 2024 13:01:34 +0200 Subject: [PATCH 07/15] Updating documentation --- docs/src/01_introduction_and_goals.adoc | 12 +- docs/src/02_architecture_constraints.adoc | 6 + docs/src/03_system_scope_and_context.adoc | 6 +- docs/src/06_runtime_view.adoc | 5 +- docs/src/07_deployment_view.adoc | 181 +++++++++++----------- docs/src/08_concepts.adoc | 8 +- docs/src/09_architecture_decisions.adoc | 1 + docs/src/10_quality_requirements.adoc | 9 +- 8 files changed, 118 insertions(+), 110 deletions(-) diff --git a/docs/src/01_introduction_and_goals.adoc b/docs/src/01_introduction_and_goals.adoc index c179f5b..5a1d871 100644 --- a/docs/src/01_introduction_and_goals.adoc +++ b/docs/src/01_introduction_and_goals.adoc @@ -64,6 +64,10 @@ See https://docs.arc42.org/section-1/[Introduction and Goals] in the arc42 docum | Reliability | Ensure consistent and accurate question generation and user data management. | Performance | Optimize system response times and capacity to handle multiple user interactions simultaneously. | Security | Implement robust security measures to protect user data and prevent unauthorized access. +| Usability | Provide an intuitive and user-friendly interface to enhance user experience. +| Portability | Enable seamless deployment and operation across different environments and platforms. +| Testability | Facilitate comprehensive testing to ensure software correctness and identify potential issues early. +| Availability | Ensure system uptime and accessibility to meet user demands and minimize downtime. |=== @@ -109,15 +113,15 @@ These stakeholders determine the extent and the level of detail of your work and Table with role names, person names, and their expectations with respect to the architecture and its documentation. **** -[options="header",cols="1,2,2"] +[options="header",cols="1,3,2"] |=== | Role/Name | Contact | Expectations | Users | N/A | Intuitive and enjoyable quiz experience -| Professors | Pablo Gonzalez, Jose Labra | The well-designed web application that fulfills the requirements -| RTVE | Project Manager | Reliable and engaging platform for users -| HappySw Team | Development Team | Clear documentation and reliable system performance +| Professors | Pablo González (gonzalezgpablo@uniovi.es), Jose Emilio Labra (labra@uniovi.es) | The well-designed web application that fulfills the requirements +| RTVE | www.rtve.es | Reliable and engaging platform for users +| Development | Sergio Truébano Robles (uo289930@uniovi.es), Pedro Limeres Granado (uo282763@uniovi.es), Alberto Guerra Rodas (uo282421@uniovi.es), Ángel Macías Rodríguez (uo289362@uniovi.es), Rita Fernández-Catuxo Ortiz (uo284185@uniovi.es), Vira Terletska (uo305097@uniovi.es), Sergio Llenderrozos Piñera (uo283367@uniovi.es) | Clear documentation and reliable, performant and available system |=== diff --git a/docs/src/02_architecture_constraints.adoc b/docs/src/02_architecture_constraints.adoc index 7ba8dea..c55f5a9 100644 --- a/docs/src/02_architecture_constraints.adoc +++ b/docs/src/02_architecture_constraints.adoc @@ -6,6 +6,8 @@ ifndef::imagesdir[:imagesdir: ../images] When designing the WIQ application, there are several constraints that must be taken into consideration, as they will have a significant impact on the overall design of the application and the architectural decisions. These constraints must be considered in order to ensure that the final product meets the needs and expectations of the users and stakeholders. The following table summarizes these constraints and provides a brief explanation for each one divided into technical, organizational and political constraints. === Technical constraints + +[options="header"] |=== |Constraint|Explanation | WikiData | Our application must generate questions automatically getting data from WikiData @@ -15,6 +17,8 @@ When designing the WIQ application, there are several constraints that must be t |=== === Organizational constraints + +[options="header"] |=== |Constraint|Explanation | Team | The project will be done in a team composed of 7 students, so work must be assigned accordingly. @@ -24,6 +28,8 @@ When designing the WIQ application, there are several constraints that must be t |=== === Political constraints + +[options="header"] |=== |Constraint|Explanation | Documentation | We are going to use AsciiDoc and follow the Arc42 template. diff --git a/docs/src/03_system_scope_and_context.adoc b/docs/src/03_system_scope_and_context.adoc index b583855..27c6ea7 100644 --- a/docs/src/03_system_scope_and_context.adoc +++ b/docs/src/03_system_scope_and_context.adoc @@ -50,7 +50,7 @@ The title of the table is the name of your system, the three columns contain the image::03_business_context.png["Business Context Diagram"] -[cols="1,1,1" options="header"] +[cols="1,1,1", options="header"] |=== | **Partner** | **Input** | **Output** | User | The user interacts with the WIQ web application using the front-end of the application. | The display of a page of the application with the questions and statistics. @@ -77,7 +77,7 @@ together with a mapping table showing the relationships between channels and inp **** .Table of the Technical Context -[cols="2,2"] +[cols="2,2", options="header"] |=== | **Component** | **Technologies Used** | Front-end | HTML, CSS (Tailwind), JavaScript (React) @@ -93,7 +93,7 @@ image::3_2-Technical-Context-Diagram-EN.png["Technical Context"] .Mapping Input/Output to Channels -[cols="2,2"] +[cols="2,2", options="header"] |=== | **Component** | **Functionality** | Front-end | User interaction and results display. diff --git a/docs/src/06_runtime_view.adoc b/docs/src/06_runtime_view.adoc index c595a83..3ac1997 100644 --- a/docs/src/06_runtime_view.adoc +++ b/docs/src/06_runtime_view.adoc @@ -55,11 +55,12 @@ collections FrontEnd collections WikidataService database Wikidata -User -> FrontEnd: Start Game -FrontEnd -> WikidataService: "/GetQuestions" + WikidataService-> Wikidata: Sparql query Wikidata-> WikidataService : entitites data WikidataService-> WikidataService: createQuestions() +User -> FrontEnd: Start Game +FrontEnd -> WikidataService: "/GetQuestions" WikidataService-> FrontEnd: Send 10 questions FrontEnd -> User: Question 1 User-> FrontEnd: Answer 1 diff --git a/docs/src/07_deployment_view.adoc b/docs/src/07_deployment_view.adoc index 1a7664a..6b0de86 100644 --- a/docs/src/07_deployment_view.adoc +++ b/docs/src/07_deployment_view.adoc @@ -5,6 +5,44 @@ ifndef::imagesdir[:imagesdir: ../images] == Deployment View +[role="arc42help"] +**** +.Content +The deployment view describes: + + 1. technical infrastructure used to execute your system, with infrastructure elements like geographical locations, environments, computers, processors, channels and net topologies as well as other infrastructure elements and + +2. mapping of (software) building blocks to that infrastructure elements. + +Often systems are executed in different environments, e.g. development environment, test environment, production environment. In such cases you should document all relevant environments. + +Especially document a deployment view if your software is executed as distributed system with more than one computer, processor, server or container or when you design and construct your own hardware processors and chips. + +From a software perspective it is sufficient to capture only those elements of an infrastructure that are needed to show a deployment of your building blocks. Hardware architects can go beyond that and describe an infrastructure to any level of detail they need to capture. + +.Motivation +Software does not run without hardware. +This underlying infrastructure can and will influence a system and/or some +cross-cutting concepts. Therefore, there is a need to know the infrastructure. + +.Form + +Maybe a highest level deployment diagram is already contained in section 3.2. as +technical context with your own infrastructure as ONE black box. In this section one can +zoom into this black box using additional deployment diagrams: + +* UML offers deployment diagrams to express that view. Use it, probably with nested diagrams, +when your infrastructure is more complex. +* When your (hardware) stakeholders prefer other kinds of diagrams rather than a deployment diagram, let them use any kind that is able to show nodes and channels of the infrastructure. + + +.Further Information + +See https://docs.arc42.org/section-7/[Deployment View] in the arc42 documentation. + +**** + + Our project is configurated using GitHub actions in such a way that every release that is made will trigger some unitary and end to end test, and an attempt to deploy the application over a server. This will allow our team to achieve continuous deployment and delivery. @@ -130,6 +168,10 @@ frame Azure { } } +cloud WikidataDB{ + +} + frame GitHub{ frame GitHubActions{ @@ -145,9 +187,10 @@ frame GitHub{ WebAPP -- APIGateway : port 8000 Wikidata -- WikidataAPI: port 8001 +WikidataAPI -- WikidataDB: query.wikidata.org/sparql Users -- UsersAPI : port 8003 UsersAPI -- UsersDatabase : MongoDB (port 27017) -client -- WebAPP : Web Browser (port 80) +client -- WebAPP : Web Browser (port 3000) GitHubActions -- UbuntuServer : on release Docker -- wiq_en3a @@ -156,93 +199,6 @@ Docker -- wiq_en3a === Infrastructure Level 1 - Azure Ubuntu Server -The Ubuntu server allows us to have a isolated machine with the minimal required configuration and installations for running our services. -Having our server on Azure, allows us to minimize the costs of having that machine running, as well as to avoid taking care of some responsabilities such as security, availability or maintainance. - - -=== Infrastructure Level 2 - Docker - -Instead of having a virtual machine for running the whole application by itself, the application is splitted into different services that can be completely isolated. -Docker allows us to create containers with the minimum amount of resources needed for running that specific service, such that resources are not wasted and services that could be more used do not collapse others. Each container contains the specific docker image for running the specific service. -Each implemented service will be isolated at deploy time, so there is no need of making the services at the same programming language or following the same architectural patterns, and responses will be responded through different independent endpoints. - -The virtual machine will contain as many containers as services in the application. - -For now, the project contains: -** Web application service running on port 3000 -** Gateway (middleware) service running on port 8000 -** Wikidata API running on port 8001 -** Users API running on port 8003 -** Mongo DB server running on port 27017 -** Prometheus running on port 9090 for monitoring -** Grafana running on port 9091 for analytics and monitoring - - -=== Infrastructure Level 3 - GitHub actions - -GitHub actions will provide us with continuous automatic delivery and integration, automating the deployment phase at each release. - -=== Motivation - -In the deployment view of our software architecture, we delineate the physical deployment of our system components across various environments. -At the core of our deployment strategy is the utilization of cloud-based infrastructure, specifically leveraging Azure for its robustness and scalability. -Our server components, including web applications, gateway, user services, and MongoDB servers, are encapsulated within Docker containers to ensure portability and consistency across deployments. -Additionally, we employ Azure's built-in services for auto-scaling, and traffic management to optimize performance and reliability. -Continuous integration and deployment pipelines are established using tools like Jenkins or Azure DevOps, facilitating seamless updates and releases of our system components. -Monitoring and logging solutions, such as Prometheus and Grafana, are integrated to provide insights into system health and performance. -Overall, our deployment view showcases a resilient, scalable, and automated deployment architecture tailored to meet the demands of our system's evolving requirements. - -=== Mapping of Building Blocks into Infrastructure - -[cols="1,2" options="header"] -|=== -| **Name** | **Responsibility** -| Frontend | Web App container opened in port 80. -| User Management | User service container. -| Wikidata Service | Wikidata service container. -| Gateway | API Gateway service opened in port 8000. -|=== - - -[role="arc42help"] -**** -.Content -The deployment view describes: - - 1. technical infrastructure used to execute your system, with infrastructure elements like geographical locations, environments, computers, processors, channels and net topologies as well as other infrastructure elements and - -2. mapping of (software) building blocks to that infrastructure elements. - -Often systems are executed in different environments, e.g. development environment, test environment, production environment. In such cases you should document all relevant environments. - -Especially document a deployment view if your software is executed as distributed system with more than one computer, processor, server or container or when you design and construct your own hardware processors and chips. - -From a software perspective it is sufficient to capture only those elements of an infrastructure that are needed to show a deployment of your building blocks. Hardware architects can go beyond that and describe an infrastructure to any level of detail they need to capture. - -.Motivation -Software does not run without hardware. -This underlying infrastructure can and will influence a system and/or some -cross-cutting concepts. Therefore, there is a need to know the infrastructure. - -.Form - -Maybe a highest level deployment diagram is already contained in section 3.2. as -technical context with your own infrastructure as ONE black box. In this section one can -zoom into this black box using additional deployment diagrams: - -* UML offers deployment diagrams to express that view. Use it, probably with nested diagrams, -when your infrastructure is more complex. -* When your (hardware) stakeholders prefer other kinds of diagrams rather than a deployment diagram, let them use any kind that is able to show nodes and channels of the infrastructure. - - -.Further Information - -See https://docs.arc42.org/section-7/[Deployment View] in the arc42 documentation. - -**** - -=== Infrastructure Level 1 - [role="arc42help"] **** Describe (usually in a combination of diagrams, tables, and text): @@ -253,7 +209,6 @@ Describe (usually in a combination of diagrams, tables, and text): * mapping of software artifacts to elements of this infrastructure For multiple environments or alternative deployments please copy and adapt this section of arc42 for all relevant environments. -**** _****_ @@ -267,16 +222,20 @@ __ Mapping of Building Blocks to Infrastructure:: __ +**** +The Ubuntu server allows us to have a isolated machine with the minimal required configuration and installations for running our services. +Having our server on Azure, allows us to minimize the costs of having that machine running, as well as to avoid taking care of some responsabilities such as security, availability or maintainance. -=== Infrastructure Level 2 + +=== Infrastructure Level 2 - Docker [role="arc42help"] **** Here you can include the internal structure of (some) infrastructure elements from level 1. Please copy the structure from level 1 for each selected element. -**** + ==== __ @@ -291,5 +250,45 @@ __ ==== __ __ +**** + +Instead of having a virtual machine for running the whole application by itself, the application is splitted into different services that can be completely isolated. +Docker allows us to create containers with the minimum amount of resources needed for running that specific service, such that resources are not wasted and services that could be more used do not collapse others. Each container contains the specific docker image for running the specific service. +Each implemented service will be isolated at deploy time, so there is no need of making the services at the same programming language or following the same architectural patterns, and responses will be responded through different independent endpoints. + +The virtual machine will contain as many containers as services in the application. + +For now, the project contains: +** Web application service running on port 3000 +** Gateway (middleware) service running on port 8000 +** Wikidata API running on port 8001 +** Users API running on port 8003 +** Mongo DB server running on port 27017 +** Prometheus running on port 9090 for monitoring +** Grafana running on port 9091 for analytics and monitoring + +=== Infrastructure Level 3 - GitHub actions + +GitHub actions will provide us with continuous automatic delivery and integration, automating the deployment phase at each release. +=== Motivation + +In the deployment view of our software architecture, we delineate the physical deployment of our system components across various environments. +At the core of our deployment strategy is the utilization of cloud-based infrastructure, specifically leveraging Azure for its robustness and scalability. +Our server components, including web applications, gateway, user services, and MongoDB servers, are encapsulated within Docker containers to ensure portability and consistency across deployments. +Additionally, we employ Azure's built-in services for auto-scaling, and traffic management to optimize performance and reliability. +Continuous integration and deployment pipelines are established using tools like Jenkins or Azure DevOps, facilitating seamless updates and releases of our system components. +Monitoring and logging solutions, such as Prometheus and Grafana, are integrated to provide insights into system health and performance. +Overall, our deployment view showcases a resilient, scalable, and automated deployment architecture tailored to meet the demands of our system's evolving requirements. + +=== Mapping of Building Blocks into Infrastructure + +[cols="1,2" options="header"] +|=== +| **Name** | **Responsibility** +| Frontend | Web App container opened in port 3000. +| User Management | User service container. +| Wikidata Service | Wikidata service container. +| Gateway | API Gateway service opened in port 8000. +|=== \ No newline at end of file diff --git a/docs/src/08_concepts.adoc b/docs/src/08_concepts.adoc index 6794bf4..09fd3be 100644 --- a/docs/src/08_concepts.adoc +++ b/docs/src/08_concepts.adoc @@ -86,7 +86,7 @@ In our app, the question is always represent as a data structure with the next f We decided to use a color palette of 4 colors: -[cols="1,1"] +[cols="1,1", options="header"] |=== | Name | Color | Background | +++#191919+++ @@ -123,6 +123,8 @@ The application is deployed using Docker. The application will not have configurable features. An early idea was to include a "dark mode". Through the development we decided to postpone these ideas in order to focus on a better application in general. - -... +==== Data access +The development team has followed two different approaches for supporting data access from the running application for development and production. +While developing the application, teh development team decided to create a shared database located in the cloud which allowed us to work locally with the same data by means of a key string. +In order to move our application into production by means of deploying it into an Azure virtual machine running with Docker containers, the development team created a mongodb container with an associated volumen for making the data persistent. diff --git a/docs/src/09_architecture_decisions.adoc b/docs/src/09_architecture_decisions.adoc index 77c6a0a..97dcabf 100644 --- a/docs/src/09_architecture_decisions.adoc +++ b/docs/src/09_architecture_decisions.adoc @@ -9,6 +9,7 @@ If you want a description about each of the technologies we have chosen, go to t The following table contains the most interesting the design decisions that we have taken with their advantages and disadvantages: .Architectural Records +[cols="1,1,2,2", options="header"] |=== |Code|Decision|Advantages|Disadvantages |ADR1| React.js | Quite easy to learn in comparison to other front-end libraries. Increasingly popular in the web.| Not all of us know about its usage diff --git a/docs/src/10_quality_requirements.adoc b/docs/src/10_quality_requirements.adoc index f6a48cd..9cb6f46 100644 --- a/docs/src/10_quality_requirements.adoc +++ b/docs/src/10_quality_requirements.adoc @@ -76,7 +76,7 @@ Tabular or free form text. *Usage scenarios* -[options="header", cols="1,1,1,1"] +[options="header", cols="1,2,2,2"] |=== | Quality goal | Motivation | Usage scenario | Priority @@ -120,7 +120,7 @@ Tabular or free form text. *Change scenarios* -[options="header", cols="1,1,1,1"] +[options="header", cols="1,2,2,2"] |=== | Quality goal | Motivation | Change scenario | Priority | *Maintainability* @@ -128,9 +128,4 @@ Tabular or free form text. | When developers must introduce a new feature to the web, they should be able to do it without changing the software architecture. | High -| *Maintainability* -| An application should be maintainable to remain usable over the years and to be able to improve functionalities and to fix misfunctionalities. -| When fixing errors and bugs on the system, developers should be able to do it without major consequences on the system. -| High - |=== \ No newline at end of file From 137000e043ce698b80f58d3af664c329374e979f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Tru=C3=A9bano?= Date: Mon, 29 Apr 2024 13:38:03 +0200 Subject: [PATCH 08/15] Load testing HTML files --- .../load_testing/10users-1cpu/index.html | 1159 +++++++++++++ .../10users-1cpu/js/all_sessions.js | 11 + .../10users-1cpu/js/assertions.xml | 3 + .../10users-1cpu/js/bootstrap.min.js | 7 + .../load_testing/10users-1cpu/js/ellipsis.js | 26 + .../load_testing/10users-1cpu/js/gatling.js | 137 ++ .../10users-1cpu/js/global_stats.json | 77 + .../10users-1cpu/js/highcharts-more.js | 60 + .../load_testing/10users-1cpu/js/highstock.js | 496 ++++++ .../10users-1cpu/js/jquery-3.5.1.min.js | 2 + .../load_testing/10users-1cpu/js/menu.js | 83 + .../load_testing/10users-1cpu/js/stats.js | 1523 +++++++++++++++++ .../load_testing/10users-1cpu/js/stats.json | 1481 ++++++++++++++++ .../load_testing/10users-1cpu/js/theme.js | 127 ++ .../load_testing/10users-1cpu/js/unpack.js | 38 + .../10users-1cpu/req_request-0-693933696.html | 903 ++++++++++ .../10users-1cpu/req_request-1-693933697.html | 903 ++++++++++ .../10users-1cpu/req_request-10-37108175.html | 935 ++++++++++ .../10users-1cpu/req_request-11-37108176.html | 925 ++++++++++ .../10users-1cpu/req_request-12-37108177.html | 903 ++++++++++ .../10users-1cpu/req_request-14-37108179.html | 935 ++++++++++ .../10users-1cpu/req_request-15-37108180.html | 925 ++++++++++ .../10users-1cpu/req_request-16-37108181.html | 935 ++++++++++ .../10users-1cpu/req_request-17-37108182.html | 940 ++++++++++ .../10users-1cpu/req_request-2-693933698.html | 903 ++++++++++ .../10users-1cpu/req_request-3-693933699.html | 925 ++++++++++ .../10users-1cpu/req_request-4-693933700.html | 925 ++++++++++ .../10users-1cpu/req_request-5-693933701.html | 925 ++++++++++ .../10users-1cpu/req_request-6-693933702.html | 925 ++++++++++ .../10users-1cpu/req_request-7-693933703.html | 935 ++++++++++ .../10users-1cpu/req_request-8-693933704.html | 940 ++++++++++ .../10users-1cpu/req_request-9-693933705.html | 940 ++++++++++ .../10users-1cpu/style/bootstrap.min.css | 27 + .../load_testing/10users-1cpu/style/close.svg | 3 + .../10users-1cpu/style/executions.svg | 3 + .../10users-1cpu/style/expand.svg | 38 + .../10users-1cpu/style/favicon.ico | Bin 0 -> 15086 bytes .../10users-1cpu/style/fullscreen.svg | 4 + .../10users-1cpu/style/logo-dark.svg | 6 + .../style/logo-enterprise-dark.svg | 15 + .../style/logo-enterprise-light.svg | 15 + .../10users-1cpu/style/logo-light.svg | 6 + .../10users-1cpu/style/sort-down.svg | 1 + .../10users-1cpu/style/sort-up.svg | 1 + .../load_testing/10users-1cpu/style/sort.svg | 1 + .../load_testing/10users-1cpu/style/style.css | 1199 +++++++++++++ .../load_testing/10users-2cpus/index.html | 1117 ++++++++++++ .../10users-2cpus/js/all_sessions.js | 11 + .../10users-2cpus/js/assertions.xml | 3 + .../10users-2cpus/js/bootstrap.min.js | 7 + .../load_testing/10users-2cpus/js/ellipsis.js | 26 + .../load_testing/10users-2cpus/js/gatling.js | 137 ++ .../10users-2cpus/js/global_stats.json | 77 + .../10users-2cpus/js/highcharts-more.js | 60 + .../10users-2cpus/js/highstock.js | 496 ++++++ .../10users-2cpus/js/jquery-3.5.1.min.js | 2 + .../load_testing/10users-2cpus/js/menu.js | 83 + .../load_testing/10users-2cpus/js/stats.js | 1523 +++++++++++++++++ .../load_testing/10users-2cpus/js/stats.json | 1481 ++++++++++++++++ .../load_testing/10users-2cpus/js/theme.js | 127 ++ .../load_testing/10users-2cpus/js/unpack.js | 38 + .../req_request-0-693933696.html | 903 ++++++++++ .../req_request-1-693933697.html | 903 ++++++++++ .../req_request-10-37108175.html | 903 ++++++++++ .../req_request-11-37108176.html | 903 ++++++++++ .../req_request-12-37108177.html | 903 ++++++++++ .../req_request-14-37108179.html | 903 ++++++++++ .../req_request-15-37108180.html | 903 ++++++++++ .../req_request-16-37108181.html | 903 ++++++++++ .../req_request-17-37108182.html | 903 ++++++++++ .../req_request-2-693933698.html | 903 ++++++++++ .../req_request-3-693933699.html | 903 ++++++++++ .../req_request-4-693933700.html | 903 ++++++++++ .../req_request-5-693933701.html | 903 ++++++++++ .../req_request-6-693933702.html | 903 ++++++++++ .../req_request-7-693933703.html | 903 ++++++++++ .../req_request-8-693933704.html | 903 ++++++++++ .../req_request-9-693933705.html | 903 ++++++++++ .../10users-2cpus/style/bootstrap.min.css | 27 + .../10users-2cpus/style/close.svg | 3 + .../10users-2cpus/style/executions.svg | 3 + .../10users-2cpus/style/expand.svg | 38 + .../10users-2cpus/style/favicon.ico | Bin 0 -> 15086 bytes .../10users-2cpus/style/fullscreen.svg | 4 + .../10users-2cpus/style/logo-dark.svg | 6 + .../style/logo-enterprise-dark.svg | 15 + .../style/logo-enterprise-light.svg | 15 + .../10users-2cpus/style/logo-light.svg | 6 + .../10users-2cpus/style/sort-down.svg | 1 + .../10users-2cpus/style/sort-up.svg | 1 + .../load_testing/10users-2cpus/style/sort.svg | 1 + .../10users-2cpus/style/style.css | 1199 +++++++++++++ .../load_testing/25users-2cpus/index.html | 1154 +++++++++++++ .../25users-2cpus/js/all_sessions.js | 11 + .../25users-2cpus/js/assertions.xml | 3 + .../25users-2cpus/js/bootstrap.min.js | 7 + .../load_testing/25users-2cpus/js/ellipsis.js | 26 + .../load_testing/25users-2cpus/js/gatling.js | 137 ++ .../25users-2cpus/js/global_stats.json | 77 + .../25users-2cpus/js/highcharts-more.js | 60 + .../25users-2cpus/js/highstock.js | 496 ++++++ .../25users-2cpus/js/jquery-3.5.1.min.js | 2 + .../load_testing/25users-2cpus/js/menu.js | 83 + .../load_testing/25users-2cpus/js/stats.js | 1523 +++++++++++++++++ .../load_testing/25users-2cpus/js/stats.json | 1481 ++++++++++++++++ .../load_testing/25users-2cpus/js/theme.js | 127 ++ .../load_testing/25users-2cpus/js/unpack.js | 38 + .../req_request-0-693933696.html | 925 ++++++++++ .../req_request-1-693933697.html | 903 ++++++++++ .../req_request-10-37108175.html | 903 ++++++++++ .../req_request-11-37108176.html | 903 ++++++++++ .../req_request-12-37108177.html | 925 ++++++++++ .../req_request-14-37108179.html | 925 ++++++++++ .../req_request-15-37108180.html | 903 ++++++++++ .../req_request-16-37108181.html | 903 ++++++++++ .../req_request-17-37108182.html | 925 ++++++++++ .../req_request-2-693933698.html | 925 ++++++++++ .../req_request-3-693933699.html | 925 ++++++++++ .../req_request-4-693933700.html | 903 ++++++++++ .../req_request-5-693933701.html | 930 ++++++++++ .../req_request-6-693933702.html | 930 ++++++++++ .../req_request-7-693933703.html | 925 ++++++++++ .../req_request-8-693933704.html | 925 ++++++++++ .../req_request-9-693933705.html | 925 ++++++++++ .../25users-2cpus/style/bootstrap.min.css | 27 + .../25users-2cpus/style/close.svg | 3 + .../25users-2cpus/style/executions.svg | 3 + .../25users-2cpus/style/expand.svg | 38 + .../25users-2cpus/style/favicon.ico | Bin 0 -> 15086 bytes .../25users-2cpus/style/fullscreen.svg | 4 + .../25users-2cpus/style/logo-dark.svg | 6 + .../style/logo-enterprise-dark.svg | 15 + .../style/logo-enterprise-light.svg | 15 + .../25users-2cpus/style/logo-light.svg | 6 + .../25users-2cpus/style/sort-down.svg | 1 + .../25users-2cpus/style/sort-up.svg | 1 + .../load_testing/25users-2cpus/style/sort.svg | 1 + .../25users-2cpus/style/style.css | 1199 +++++++++++++ .../load_testing/2users-1cpu/index.html | 1117 ++++++++++++ .../2users-1cpu/js/all_sessions.js | 11 + .../2users-1cpu/js/assertions.xml | 3 + .../2users-1cpu/js/bootstrap.min.js | 7 + .../load_testing/2users-1cpu/js/ellipsis.js | 26 + .../load_testing/2users-1cpu/js/gatling.js | 137 ++ .../2users-1cpu/js/global_stats.json | 77 + .../2users-1cpu/js/highcharts-more.js | 60 + .../load_testing/2users-1cpu/js/highstock.js | 496 ++++++ .../2users-1cpu/js/jquery-3.5.1.min.js | 2 + .../load_testing/2users-1cpu/js/menu.js | 83 + .../load_testing/2users-1cpu/js/stats.js | 1523 +++++++++++++++++ .../load_testing/2users-1cpu/js/stats.json | 1481 ++++++++++++++++ .../load_testing/2users-1cpu/js/theme.js | 127 ++ .../load_testing/2users-1cpu/js/unpack.js | 38 + .../2users-1cpu/req_request-0-693933696.html | 903 ++++++++++ .../2users-1cpu/req_request-1-693933697.html | 903 ++++++++++ .../2users-1cpu/req_request-10-37108175.html | 903 ++++++++++ .../2users-1cpu/req_request-11-37108176.html | 903 ++++++++++ .../2users-1cpu/req_request-12-37108177.html | 903 ++++++++++ .../2users-1cpu/req_request-14-37108179.html | 903 ++++++++++ .../2users-1cpu/req_request-15-37108180.html | 903 ++++++++++ .../2users-1cpu/req_request-16-37108181.html | 903 ++++++++++ .../2users-1cpu/req_request-17-37108182.html | 903 ++++++++++ .../2users-1cpu/req_request-2-693933698.html | 903 ++++++++++ .../2users-1cpu/req_request-3-693933699.html | 903 ++++++++++ .../2users-1cpu/req_request-4-693933700.html | 903 ++++++++++ .../2users-1cpu/req_request-5-693933701.html | 903 ++++++++++ .../2users-1cpu/req_request-6-693933702.html | 903 ++++++++++ .../2users-1cpu/req_request-7-693933703.html | 903 ++++++++++ .../2users-1cpu/req_request-8-693933704.html | 903 ++++++++++ .../2users-1cpu/req_request-9-693933705.html | 903 ++++++++++ .../2users-1cpu/style/bootstrap.min.css | 27 + .../load_testing/2users-1cpu/style/close.svg | 3 + .../2users-1cpu/style/executions.svg | 3 + .../load_testing/2users-1cpu/style/expand.svg | 38 + .../2users-1cpu/style/favicon.ico | Bin 0 -> 15086 bytes .../2users-1cpu/style/fullscreen.svg | 4 + .../2users-1cpu/style/logo-dark.svg | 6 + .../style/logo-enterprise-dark.svg | 15 + .../style/logo-enterprise-light.svg | 15 + .../2users-1cpu/style/logo-light.svg | 6 + .../2users-1cpu/style/sort-down.svg | 1 + .../2users-1cpu/style/sort-up.svg | 1 + .../load_testing/2users-1cpu/style/sort.svg | 1 + .../load_testing/2users-1cpu/style/style.css | 1199 +++++++++++++ .../load_testing/2users-2cpus/index.html | 1117 ++++++++++++ .../2users-2cpus/js/all_sessions.js | 11 + .../2users-2cpus/js/assertions.xml | 3 + .../2users-2cpus/js/bootstrap.min.js | 7 + .../load_testing/2users-2cpus/js/ellipsis.js | 26 + .../load_testing/2users-2cpus/js/gatling.js | 137 ++ .../2users-2cpus/js/global_stats.json | 77 + .../2users-2cpus/js/highcharts-more.js | 60 + .../load_testing/2users-2cpus/js/highstock.js | 496 ++++++ .../2users-2cpus/js/jquery-3.5.1.min.js | 2 + .../load_testing/2users-2cpus/js/menu.js | 83 + .../load_testing/2users-2cpus/js/stats.js | 1523 +++++++++++++++++ .../load_testing/2users-2cpus/js/stats.json | 1481 ++++++++++++++++ .../load_testing/2users-2cpus/js/theme.js | 127 ++ .../load_testing/2users-2cpus/js/unpack.js | 38 + .../2users-2cpus/req_request-0-693933696.html | 903 ++++++++++ .../2users-2cpus/req_request-1-693933697.html | 903 ++++++++++ .../2users-2cpus/req_request-10-37108175.html | 903 ++++++++++ .../2users-2cpus/req_request-11-37108176.html | 903 ++++++++++ .../2users-2cpus/req_request-12-37108177.html | 903 ++++++++++ .../2users-2cpus/req_request-14-37108179.html | 903 ++++++++++ .../2users-2cpus/req_request-15-37108180.html | 903 ++++++++++ .../2users-2cpus/req_request-16-37108181.html | 903 ++++++++++ .../2users-2cpus/req_request-17-37108182.html | 903 ++++++++++ .../2users-2cpus/req_request-2-693933698.html | 903 ++++++++++ .../2users-2cpus/req_request-3-693933699.html | 903 ++++++++++ .../2users-2cpus/req_request-4-693933700.html | 903 ++++++++++ .../2users-2cpus/req_request-5-693933701.html | 903 ++++++++++ .../2users-2cpus/req_request-6-693933702.html | 903 ++++++++++ .../2users-2cpus/req_request-7-693933703.html | 903 ++++++++++ .../2users-2cpus/req_request-8-693933704.html | 903 ++++++++++ .../2users-2cpus/req_request-9-693933705.html | 903 ++++++++++ .../2users-2cpus/style/bootstrap.min.css | 27 + .../load_testing/2users-2cpus/style/close.svg | 3 + .../2users-2cpus/style/executions.svg | 3 + .../2users-2cpus/style/expand.svg | 38 + .../2users-2cpus/style/favicon.ico | Bin 0 -> 15086 bytes .../2users-2cpus/style/fullscreen.svg | 4 + .../2users-2cpus/style/logo-dark.svg | 6 + .../style/logo-enterprise-dark.svg | 15 + .../style/logo-enterprise-light.svg | 15 + .../2users-2cpus/style/logo-light.svg | 6 + .../2users-2cpus/style/sort-down.svg | 1 + .../2users-2cpus/style/sort-up.svg | 1 + .../load_testing/2users-2cpus/style/sort.svg | 1 + .../load_testing/2users-2cpus/style/style.css | 1199 +++++++++++++ .../load_testing/5users-1cpu/index.html | 1144 +++++++++++++ .../5users-1cpu/js/all_sessions.js | 11 + .../5users-1cpu/js/assertions.xml | 3 + .../5users-1cpu/js/bootstrap.min.js | 7 + .../load_testing/5users-1cpu/js/ellipsis.js | 26 + .../load_testing/5users-1cpu/js/gatling.js | 137 ++ .../5users-1cpu/js/global_stats.json | 77 + .../5users-1cpu/js/highcharts-more.js | 60 + .../load_testing/5users-1cpu/js/highstock.js | 496 ++++++ .../5users-1cpu/js/jquery-3.5.1.min.js | 2 + .../load_testing/5users-1cpu/js/menu.js | 83 + .../load_testing/5users-1cpu/js/stats.js | 1523 +++++++++++++++++ .../load_testing/5users-1cpu/js/stats.json | 1481 ++++++++++++++++ .../load_testing/5users-1cpu/js/theme.js | 127 ++ .../load_testing/5users-1cpu/js/unpack.js | 38 + .../5users-1cpu/req_request-0-693933696.html | 925 ++++++++++ .../5users-1cpu/req_request-1-693933697.html | 903 ++++++++++ .../5users-1cpu/req_request-10-37108175.html | 903 ++++++++++ .../5users-1cpu/req_request-11-37108176.html | 903 ++++++++++ .../5users-1cpu/req_request-12-37108177.html | 903 ++++++++++ .../5users-1cpu/req_request-14-37108179.html | 903 ++++++++++ .../5users-1cpu/req_request-15-37108180.html | 903 ++++++++++ .../5users-1cpu/req_request-16-37108181.html | 903 ++++++++++ .../5users-1cpu/req_request-17-37108182.html | 903 ++++++++++ .../5users-1cpu/req_request-2-693933698.html | 903 ++++++++++ .../5users-1cpu/req_request-3-693933699.html | 925 ++++++++++ .../5users-1cpu/req_request-4-693933700.html | 903 ++++++++++ .../5users-1cpu/req_request-5-693933701.html | 903 ++++++++++ .../5users-1cpu/req_request-6-693933702.html | 903 ++++++++++ .../5users-1cpu/req_request-7-693933703.html | 903 ++++++++++ .../5users-1cpu/req_request-8-693933704.html | 903 ++++++++++ .../5users-1cpu/req_request-9-693933705.html | 903 ++++++++++ .../5users-1cpu/style/bootstrap.min.css | 27 + .../load_testing/5users-1cpu/style/close.svg | 3 + .../5users-1cpu/style/executions.svg | 3 + .../load_testing/5users-1cpu/style/expand.svg | 38 + .../5users-1cpu/style/favicon.ico | Bin 0 -> 15086 bytes .../5users-1cpu/style/fullscreen.svg | 4 + .../5users-1cpu/style/logo-dark.svg | 6 + .../style/logo-enterprise-dark.svg | 15 + .../style/logo-enterprise-light.svg | 15 + .../5users-1cpu/style/logo-light.svg | 6 + .../5users-1cpu/style/sort-down.svg | 1 + .../5users-1cpu/style/sort-up.svg | 1 + .../load_testing/5users-1cpu/style/sort.svg | 1 + .../load_testing/5users-1cpu/style/style.css | 1199 +++++++++++++ .../load_testing/5users-2cpus/index.html | 1139 ++++++++++++ .../5users-2cpus/js/all_sessions.js | 11 + .../5users-2cpus/js/assertions.xml | 3 + .../5users-2cpus/js/bootstrap.min.js | 7 + .../load_testing/5users-2cpus/js/ellipsis.js | 26 + .../load_testing/5users-2cpus/js/gatling.js | 137 ++ .../5users-2cpus/js/global_stats.json | 77 + .../5users-2cpus/js/highcharts-more.js | 60 + .../load_testing/5users-2cpus/js/highstock.js | 496 ++++++ .../5users-2cpus/js/jquery-3.5.1.min.js | 2 + .../load_testing/5users-2cpus/js/menu.js | 83 + .../load_testing/5users-2cpus/js/stats.js | 1523 +++++++++++++++++ .../load_testing/5users-2cpus/js/stats.json | 1481 ++++++++++++++++ .../load_testing/5users-2cpus/js/theme.js | 127 ++ .../load_testing/5users-2cpus/js/unpack.js | 38 + .../5users-2cpus/req_request-0-693933696.html | 903 ++++++++++ .../5users-2cpus/req_request-1-693933697.html | 903 ++++++++++ .../5users-2cpus/req_request-10-37108175.html | 903 ++++++++++ .../5users-2cpus/req_request-11-37108176.html | 903 ++++++++++ .../5users-2cpus/req_request-12-37108177.html | 903 ++++++++++ .../5users-2cpus/req_request-14-37108179.html | 903 ++++++++++ .../5users-2cpus/req_request-15-37108180.html | 903 ++++++++++ .../5users-2cpus/req_request-16-37108181.html | 903 ++++++++++ .../5users-2cpus/req_request-17-37108182.html | 903 ++++++++++ .../5users-2cpus/req_request-2-693933698.html | 903 ++++++++++ .../5users-2cpus/req_request-3-693933699.html | 903 ++++++++++ .../5users-2cpus/req_request-4-693933700.html | 903 ++++++++++ .../5users-2cpus/req_request-5-693933701.html | 903 ++++++++++ .../5users-2cpus/req_request-6-693933702.html | 903 ++++++++++ .../5users-2cpus/req_request-7-693933703.html | 903 ++++++++++ .../5users-2cpus/req_request-8-693933704.html | 925 ++++++++++ .../5users-2cpus/req_request-9-693933705.html | 903 ++++++++++ .../5users-2cpus/style/bootstrap.min.css | 27 + .../load_testing/5users-2cpus/style/close.svg | 3 + .../5users-2cpus/style/executions.svg | 3 + .../5users-2cpus/style/expand.svg | 38 + .../5users-2cpus/style/favicon.ico | Bin 0 -> 15086 bytes .../5users-2cpus/style/fullscreen.svg | 4 + .../5users-2cpus/style/logo-dark.svg | 6 + .../style/logo-enterprise-dark.svg | 15 + .../style/logo-enterprise-light.svg | 15 + .../5users-2cpus/style/logo-light.svg | 6 + .../5users-2cpus/style/sort-down.svg | 1 + .../5users-2cpus/style/sort-up.svg | 1 + .../load_testing/5users-2cpus/style/sort.svg | 1 + .../load_testing/5users-2cpus/style/style.css | 1199 +++++++++++++ 322 files changed, 153823 insertions(+) create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/index.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/all_sessions.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/assertions.xml create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/bootstrap.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/ellipsis.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/gatling.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/global_stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/highcharts-more.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/highstock.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/jquery-3.5.1.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/menu.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/stats.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/theme.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/unpack.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-0-693933696.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-1-693933697.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-10-37108175.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-11-37108176.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-12-37108177.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-14-37108179.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-15-37108180.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-16-37108181.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-17-37108182.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-2-693933698.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-3-693933699.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-4-693933700.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-5-693933701.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-6-693933702.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-7-693933703.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-8-693933704.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-9-693933705.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/bootstrap.min.css create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/close.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/executions.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/expand.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/favicon.ico create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/fullscreen.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-enterprise-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-enterprise-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/sort-down.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/sort-up.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/sort.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/style.css create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/index.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/all_sessions.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/assertions.xml create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/bootstrap.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/ellipsis.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/gatling.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/global_stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/highcharts-more.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/highstock.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/jquery-3.5.1.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/menu.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/stats.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/theme.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/unpack.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-0-693933696.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-1-693933697.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-10-37108175.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-11-37108176.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-12-37108177.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-14-37108179.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-15-37108180.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-16-37108181.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-17-37108182.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-2-693933698.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-3-693933699.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-4-693933700.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-5-693933701.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-6-693933702.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-7-693933703.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-8-693933704.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-9-693933705.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/bootstrap.min.css create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/close.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/executions.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/expand.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/favicon.ico create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/fullscreen.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-enterprise-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-enterprise-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/sort-down.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/sort-up.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/sort.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/style.css create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/index.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/all_sessions.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/assertions.xml create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/bootstrap.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/ellipsis.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/gatling.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/global_stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/highcharts-more.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/highstock.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/jquery-3.5.1.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/menu.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/stats.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/theme.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/unpack.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-0-693933696.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-1-693933697.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-10-37108175.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-11-37108176.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-12-37108177.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-14-37108179.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-15-37108180.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-16-37108181.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-17-37108182.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-2-693933698.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-3-693933699.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-4-693933700.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-5-693933701.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-6-693933702.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-7-693933703.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-8-693933704.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-9-693933705.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/bootstrap.min.css create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/close.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/executions.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/expand.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/favicon.ico create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/fullscreen.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-enterprise-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-enterprise-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/sort-down.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/sort-up.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/sort.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/style.css create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/index.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/all_sessions.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/assertions.xml create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/bootstrap.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/ellipsis.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/gatling.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/global_stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/highcharts-more.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/highstock.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/jquery-3.5.1.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/menu.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/stats.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/theme.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/unpack.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-0-693933696.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-1-693933697.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-10-37108175.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-11-37108176.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-12-37108177.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-14-37108179.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-15-37108180.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-16-37108181.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-17-37108182.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-2-693933698.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-3-693933699.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-4-693933700.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-5-693933701.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-6-693933702.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-7-693933703.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-8-693933704.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-9-693933705.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/bootstrap.min.css create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/close.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/executions.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/expand.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/favicon.ico create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/fullscreen.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-enterprise-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-enterprise-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/sort-down.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/sort-up.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/sort.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/style.css create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/index.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/all_sessions.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/assertions.xml create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/bootstrap.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/ellipsis.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/gatling.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/global_stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/highcharts-more.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/highstock.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/jquery-3.5.1.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/menu.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/stats.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/theme.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/unpack.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-0-693933696.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-1-693933697.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-10-37108175.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-11-37108176.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-12-37108177.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-14-37108179.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-15-37108180.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-16-37108181.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-17-37108182.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-2-693933698.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-3-693933699.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-4-693933700.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-5-693933701.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-6-693933702.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-7-693933703.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-8-693933704.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-9-693933705.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/bootstrap.min.css create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/close.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/executions.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/expand.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/favicon.ico create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/fullscreen.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-enterprise-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-enterprise-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/sort-down.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/sort-up.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/sort.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/style.css create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/index.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/all_sessions.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/assertions.xml create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/bootstrap.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/ellipsis.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/gatling.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/global_stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/highcharts-more.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/highstock.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/jquery-3.5.1.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/menu.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/stats.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/theme.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/unpack.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-0-693933696.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-1-693933697.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-10-37108175.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-11-37108176.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-12-37108177.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-14-37108179.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-15-37108180.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-16-37108181.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-17-37108182.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-2-693933698.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-3-693933699.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-4-693933700.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-5-693933701.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-6-693933702.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-7-693933703.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-8-693933704.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-9-693933705.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/bootstrap.min.css create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/close.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/executions.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/expand.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/favicon.ico create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/fullscreen.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-enterprise-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-enterprise-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/sort-down.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/sort-up.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/sort.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/style.css create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/index.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/all_sessions.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/assertions.xml create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/bootstrap.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/ellipsis.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/gatling.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/global_stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/highcharts-more.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/highstock.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/jquery-3.5.1.min.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/menu.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/stats.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/stats.json create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/theme.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/unpack.js create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-0-693933696.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-1-693933697.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-10-37108175.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-11-37108176.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-12-37108177.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-14-37108179.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-15-37108180.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-16-37108181.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-17-37108182.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-2-693933698.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-3-693933699.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-4-693933700.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-5-693933701.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-6-693933702.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-7-693933703.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-8-693933704.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-9-693933705.html create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/bootstrap.min.css create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/close.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/executions.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/expand.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/favicon.ico create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/fullscreen.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-enterprise-dark.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-enterprise-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-light.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/sort-down.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/sort-up.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/sort.svg create mode 100644 gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/style.css diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/index.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/index.html new file mode 100644 index 0000000..d89eeaa --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/index.html @@ -0,0 +1,1159 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - Global Information + + + +
+ + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/all_sessions.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/all_sessions.js new file mode 100644 index 0000000..3796ac9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/all_sessions.js @@ -0,0 +1,11 @@ +allUsersData = { + +color: '#FFA900', +name: 'Active Users', +data: [ + [1714064968000,11],[1714064969000,22],[1714064970000,33],[1714064971000,41],[1714064972000,51],[1714064973000,59],[1714064974000,64],[1714064975000,75],[1714064976000,89],[1714064977000,97],[1714064978000,106],[1714064979000,114],[1714064980000,125],[1714064981000,136],[1714064982000,148],[1714064983000,157],[1714064984000,172],[1714064985000,186],[1714064986000,194],[1714064987000,199],[1714064988000,206],[1714064989000,213],[1714064990000,225],[1714064991000,236],[1714064992000,242],[1714064993000,251],[1714064994000,262],[1714064995000,273],[1714064996000,283],[1714064997000,287],[1714064998000,297],[1714064999000,314],[1714065000000,319],[1714065001000,329],[1714065002000,334],[1714065003000,351],[1714065004000,366],[1714065005000,381],[1714065006000,386],[1714065007000,394],[1714065008000,403],[1714065009000,420],[1714065010000,426],[1714065011000,436],[1714065012000,444],[1714065013000,453],[1714065014000,464],[1714065015000,476],[1714065016000,481],[1714065017000,492],[1714065018000,498],[1714065019000,508],[1714065020000,525],[1714065021000,532],[1714065022000,547],[1714065023000,556],[1714065024000,569],[1714065025000,575],[1714065026000,582],[1714065027000,593],[1714065028000,593],[1714065029000,593],[1714065030000,593],[1714065031000,593],[1714065032000,593],[1714065033000,593],[1714065034000,593],[1714065035000,593],[1714065036000,593],[1714065037000,593],[1714065038000,593],[1714065039000,593],[1714065040000,593],[1714065041000,593],[1714065042000,593],[1714065043000,593],[1714065044000,593],[1714065045000,593],[1714065046000,593],[1714065047000,593],[1714065048000,593],[1714065049000,593],[1714065050000,593],[1714065051000,593],[1714065052000,593],[1714065053000,593],[1714065054000,593],[1714065055000,593],[1714065056000,593],[1714065057000,593],[1714065058000,593],[1714065059000,593],[1714065060000,593],[1714065061000,593],[1714065062000,593],[1714065063000,593],[1714065064000,593],[1714065065000,593],[1714065066000,593],[1714065067000,593],[1714065068000,593],[1714065069000,593],[1714065070000,593],[1714065071000,593],[1714065072000,593],[1714065073000,593],[1714065074000,593],[1714065075000,593],[1714065076000,593],[1714065077000,593],[1714065078000,593],[1714065079000,593],[1714065080000,593],[1714065081000,593],[1714065082000,593],[1714065083000,593],[1714065084000,593],[1714065085000,593],[1714065086000,593],[1714065087000,593],[1714065088000,593],[1714065089000,593],[1714065090000,593],[1714065091000,593],[1714065092000,593],[1714065093000,593],[1714065094000,593],[1714065095000,593],[1714065096000,593],[1714065097000,593],[1714065098000,593],[1714065099000,593],[1714065100000,593],[1714065101000,593],[1714065102000,593],[1714065103000,593],[1714065104000,593],[1714065105000,593],[1714065106000,593],[1714065107000,593],[1714065108000,593],[1714065109000,593],[1714065110000,593],[1714065111000,593],[1714065112000,593],[1714065113000,593],[1714065114000,593],[1714065115000,593],[1714065116000,593],[1714065117000,593],[1714065118000,593],[1714065119000,593],[1714065120000,593],[1714065121000,593],[1714065122000,593],[1714065123000,593],[1714065124000,593],[1714065125000,593],[1714065126000,593],[1714065127000,593],[1714065128000,593],[1714065129000,593],[1714065130000,593],[1714065131000,593],[1714065132000,593],[1714065133000,593],[1714065134000,593],[1714065135000,593],[1714065136000,593],[1714065137000,593],[1714065138000,593],[1714065139000,593],[1714065140000,593],[1714065141000,593],[1714065142000,593],[1714065143000,593],[1714065144000,593],[1714065145000,593],[1714065146000,593],[1714065147000,593],[1714065148000,593],[1714065149000,593],[1714065150000,593],[1714065151000,593],[1714065152000,593],[1714065153000,593],[1714065154000,593],[1714065155000,593],[1714065156000,593],[1714065157000,593],[1714065158000,593],[1714065159000,593],[1714065160000,593],[1714065161000,593],[1714065162000,593],[1714065163000,593],[1714065164000,593],[1714065165000,593],[1714065166000,593],[1714065167000,593],[1714065168000,593],[1714065169000,593],[1714065170000,593],[1714065171000,593],[1714065172000,593],[1714065173000,593],[1714065174000,593],[1714065175000,593],[1714065176000,593],[1714065177000,593],[1714065178000,593],[1714065179000,593],[1714065180000,593],[1714065181000,593],[1714065182000,593],[1714065183000,593],[1714065184000,593],[1714065185000,593],[1714065186000,593],[1714065187000,593],[1714065188000,593],[1714065189000,593],[1714065190000,593],[1714065191000,593],[1714065192000,593],[1714065193000,593],[1714065194000,593],[1714065195000,593],[1714065196000,593],[1714065197000,588],[1714065198000,588],[1714065199000,588],[1714065200000,588],[1714065201000,584],[1714065202000,579],[1714065203000,579],[1714065204000,578],[1714065205000,578],[1714065206000,575],[1714065207000,574],[1714065208000,574],[1714065209000,574],[1714065210000,569],[1714065211000,566],[1714065212000,566],[1714065213000,563],[1714065214000,562],[1714065215000,562],[1714065216000,562],[1714065217000,551],[1714065218000,518],[1714065219000,518],[1714065220000,514],[1714065221000,513],[1714065222000,511],[1714065223000,507],[1714065224000,507],[1714065225000,506],[1714065226000,494],[1714065227000,492],[1714065228000,490],[1714065229000,489],[1714065230000,472],[1714065231000,458],[1714065232000,457],[1714065233000,452],[1714065234000,418],[1714065235000,406],[1714065236000,396],[1714065237000,394],[1714065238000,394],[1714065239000,391],[1714065240000,387],[1714065241000,382],[1714065242000,378],[1714065243000,377],[1714065244000,377],[1714065245000,371],[1714065246000,363],[1714065247000,345],[1714065248000,334],[1714065249000,318],[1714065250000,313],[1714065251000,313],[1714065252000,313],[1714065253000,310],[1714065254000,310],[1714065255000,310],[1714065256000,305],[1714065257000,304],[1714065258000,303],[1714065259000,301],[1714065260000,301],[1714065261000,300],[1714065262000,299],[1714065263000,282],[1714065264000,271],[1714065265000,271],[1714065266000,271],[1714065267000,271],[1714065268000,266],[1714065269000,265],[1714065270000,265],[1714065271000,262],[1714065272000,260],[1714065273000,253],[1714065274000,248],[1714065275000,248],[1714065276000,246],[1714065277000,246],[1714065278000,245],[1714065279000,243],[1714065280000,238],[1714065281000,238],[1714065282000,238],[1714065283000,238],[1714065284000,237],[1714065285000,237],[1714065286000,236],[1714065287000,236],[1714065288000,236],[1714065289000,236],[1714065290000,236],[1714065291000,236],[1714065292000,236],[1714065293000,235],[1714065294000,235],[1714065295000,234],[1714065296000,232],[1714065297000,231],[1714065298000,231],[1714065299000,228],[1714065300000,228],[1714065301000,228],[1714065302000,228],[1714065303000,228],[1714065304000,228],[1714065305000,226],[1714065306000,223],[1714065307000,223],[1714065308000,210],[1714065309000,210],[1714065310000,205],[1714065311000,196],[1714065312000,195],[1714065313000,192],[1714065314000,191],[1714065315000,191],[1714065316000,190],[1714065317000,190],[1714065318000,190],[1714065319000,187],[1714065320000,186],[1714065321000,186],[1714065322000,186],[1714065323000,184],[1714065324000,184],[1714065325000,184],[1714065326000,184],[1714065327000,184],[1714065328000,184],[1714065329000,184],[1714065330000,184],[1714065331000,184],[1714065332000,184],[1714065333000,184],[1714065334000,184],[1714065335000,184],[1714065336000,184],[1714065337000,184],[1714065338000,184],[1714065339000,184],[1714065340000,184],[1714065341000,184],[1714065342000,184],[1714065343000,184],[1714065344000,184],[1714065345000,184],[1714065346000,184],[1714065347000,184],[1714065348000,183],[1714065349000,183],[1714065350000,183],[1714065351000,183],[1714065352000,182],[1714065353000,181],[1714065354000,181],[1714065355000,181],[1714065356000,180],[1714065357000,178],[1714065358000,177],[1714065359000,177],[1714065360000,177],[1714065361000,177],[1714065362000,177],[1714065363000,177],[1714065364000,173],[1714065365000,155],[1714065366000,142],[1714065367000,141],[1714065368000,141],[1714065369000,141],[1714065370000,141],[1714065371000,141],[1714065372000,141],[1714065373000,141],[1714065374000,141],[1714065375000,141],[1714065376000,141],[1714065377000,141],[1714065378000,140],[1714065379000,140],[1714065380000,140],[1714065381000,140],[1714065382000,140],[1714065383000,140],[1714065384000,140],[1714065385000,140],[1714065386000,140],[1714065387000,140],[1714065388000,140],[1714065389000,140],[1714065390000,140],[1714065391000,140],[1714065392000,140],[1714065393000,140],[1714065394000,140],[1714065395000,139],[1714065396000,139],[1714065397000,139],[1714065398000,139],[1714065399000,139],[1714065400000,139],[1714065401000,139],[1714065402000,139],[1714065403000,139],[1714065404000,139],[1714065405000,139],[1714065406000,139],[1714065407000,139],[1714065408000,137],[1714065409000,137],[1714065410000,137],[1714065411000,137],[1714065412000,136],[1714065413000,136],[1714065414000,135],[1714065415000,120],[1714065416000,120],[1714065417000,120],[1714065418000,120],[1714065419000,120],[1714065420000,103],[1714065421000,99],[1714065422000,99],[1714065423000,99],[1714065424000,99],[1714065425000,99],[1714065426000,99],[1714065427000,99],[1714065428000,85],[1714065429000,85],[1714065430000,84],[1714065431000,84],[1714065432000,82],[1714065433000,82],[1714065434000,82],[1714065435000,82],[1714065436000,82],[1714065437000,82],[1714065438000,82],[1714065439000,82],[1714065440000,82],[1714065441000,82],[1714065442000,82],[1714065443000,82],[1714065444000,82],[1714065445000,82],[1714065446000,82],[1714065447000,82],[1714065448000,80],[1714065449000,80],[1714065450000,80],[1714065451000,80],[1714065452000,79],[1714065453000,79],[1714065454000,72],[1714065455000,63],[1714065456000,63],[1714065457000,63],[1714065458000,63],[1714065459000,63],[1714065460000,63],[1714065461000,63],[1714065462000,63],[1714065463000,63],[1714065464000,59],[1714065465000,58],[1714065466000,58],[1714065468000,58],[1714065469000,58],[1714065470000,58],[1714065471000,58],[1714065472000,58],[1714065473000,58],[1714065474000,58],[1714065475000,58],[1714065476000,58],[1714065477000,58],[1714065478000,58],[1714065479000,56],[1714065480000,56],[1714065481000,55],[1714065482000,55],[1714065483000,54],[1714065484000,54],[1714065485000,50],[1714065486000,50],[1714065487000,50],[1714065488000,50],[1714065489000,50],[1714065490000,50],[1714065491000,50],[1714065492000,50],[1714065493000,50],[1714065494000,50],[1714065495000,50],[1714065496000,49],[1714065497000,48],[1714065498000,48],[1714065499000,48],[1714065500000,48],[1714065501000,48],[1714065502000,48],[1714065503000,47],[1714065504000,47],[1714065505000,39],[1714065506000,39],[1714065507000,39],[1714065508000,39],[1714065509000,39],[1714065510000,39],[1714065511000,39],[1714065512000,39],[1714065513000,39],[1714065514000,39],[1714065515000,39],[1714065516000,39],[1714065517000,39],[1714065518000,36],[1714065519000,26],[1714065520000,26],[1714065521000,25],[1714065522000,24],[1714065523000,24],[1714065524000,24],[1714065525000,24],[1714065526000,24],[1714065527000,24],[1714065528000,24],[1714065529000,22],[1714065530000,22],[1714065531000,21],[1714065532000,21],[1714065533000,21],[1714065534000,21],[1714065535000,21],[1714065536000,21],[1714065537000,21],[1714065538000,21],[1714065539000,21],[1714065540000,21],[1714065541000,21],[1714065542000,21],[1714065543000,20],[1714065544000,20],[1714065545000,19],[1714065546000,18],[1714065547000,17],[1714065548000,16],[1714065549000,15],[1714065550000,15],[1714065551000,14],[1714065552000,14],[1714065553000,13],[1714065554000,12],[1714065555000,12],[1714065556000,11],[1714065557000,10],[1714065558000,10],[1714065559000,9],[1714065560000,8],[1714065561000,7],[1714065562000,6],[1714065563000,6],[1714065564000,5],[1714065565000,5],[1714065566000,2],[1714065567000,2],[1714065568000,2],[1714065569000,1] +], +tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 } + , zIndex: 20 + , yAxis: 1 +}; \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/assertions.xml b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/assertions.xml new file mode 100644 index 0000000..c562e00 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/assertions.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/bootstrap.min.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/bootstrap.min.js new file mode 100644 index 0000000..ea41042 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/** +* Bootstrap.js by @fat & @mdo +* plugins: bootstrap-tooltip.js, bootstrap-popover.js +* Copyright 2012 Twitter, Inc. +* http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +!function(a){var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this)):this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f+"."+this.type,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.offset(g).addClass(f).addClass("in")}},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).detach()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.detach()})}var b=this,c=this.tip();return c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.detach(),this},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);c[c.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'
',trigger:"hover",title:"",delay:0,html:!1}}(window.jQuery),!function(a){var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content > *")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'

'})}(window.jQuery) \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/ellipsis.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/ellipsis.js new file mode 100644 index 0000000..781d0de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/ellipsis.js @@ -0,0 +1,26 @@ +function parentId(name) { + return "parent-" + name; +} + +function isEllipsed(name) { + const child = document.getElementById(name); + const parent = document.getElementById(parentId(name)); + const emptyData = parent.getAttribute("data-content") === ""; + const hasOverflow = child.clientWidth < child.scrollWidth; + + if (hasOverflow) { + if (emptyData) { + parent.setAttribute("data-content", name); + } + } else { + if (!emptyData) { + parent.setAttribute("data-content", ""); + } + } +} + +function ellipsedLabel ({ name, parentClass = "", childClass = "" }) { + const child = "" + name + ""; + + return "" + child + ""; +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/gatling.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/gatling.js new file mode 100644 index 0000000..5b9e992 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/gatling.js @@ -0,0 +1,137 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +(function ($) { + $.fn.expandable = function () { + var scope = this; + + this.find('.expand-button:not([class*=hidden])').addClass('collapse').on('click', function () { + var $this = $(this); + + if ($this.hasClass('expand')) + $this.expand(scope); + else + $this.collapse(scope); + }); + + this.find('.expand-all-button').on('click', function () { + $(this).expandAll(scope); + }); + + this.find('.collapse-all-button').on('click', function () { + $(this).collapseAll(scope); + }); + + this.collapseAll(this); + + return this; + }; + + $.fn.expand = function (scope, recursive) { + return this.each(function () { + var $this = $(this); + + if (recursive) { + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + } + + if ($this.hasClass('expand')) { + $('*[data-parent=' + $this.attr('id') + ']').toggle(true); + $this.toggleClass('expand').toggleClass('collapse'); + } + }); + }; + + $.fn.expandAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.expand').expand(scope, true); + $('*[data-parent=ROOT]').find('.expand-button.collapse').expand(scope, true); + }; + + $.fn.collapse = function (scope) { + return this.each(function () { + var $this = $(this); + + scope.find('*[data-parent=' + $this.attr('id') + '] .expand-button.collapse').collapse(scope); + scope.find('*[data-parent=' + $this.attr('id') + ']').toggle(false); + $this.toggleClass('expand').toggleClass('collapse'); + }); + }; + + $.fn.collapseAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.collapse').collapse(scope); + }; + + $.fn.sortable = function (target) { + var table = this; + + this.find('thead .sortable').on('click', function () { + var $this = $(this); + + if ($this.hasClass('sorted-down')) { + var desc = false; + var style = 'sorted-up'; + } + else { + var desc = true; + var style = 'sorted-down'; + } + + $(target).sortTable($this.attr('id'), desc); + + table.find('thead .sortable').removeClass('sorted-up sorted-down'); + $this.addClass(style); + + return false; + }); + + return this; + }; + + $.fn.sortTable = function (col, desc) { + function getValue(line) { + var cell = $(line).find('.' + col); + + if (cell.hasClass('value')) + var value = cell.text(); + else + var value = cell.find('.value').text(); + + return parseFloat(value); + } + + function sortLines (lines, group) { + var notErrorTable = col.search("error") == -1; + var linesToSort = notErrorTable ? lines.filter('*[data-parent=' + group + ']') : lines; + + var sortedLines = linesToSort.sort(function (a, b) { + return desc ? getValue(b) - getValue(a): getValue(a) - getValue(b); + }).toArray(); + + var result = []; + $.each(sortedLines, function (i, line) { + result.push(line); + if (notErrorTable) + result = result.concat(sortLines(lines, $(line).attr('id'))); + }); + + return result; + } + + this.find('tbody').append(sortLines(this.find('tbody tr').detach(), 'ROOT')); + + return this; + }; +})(jQuery); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/global_stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/global_stats.json new file mode 100644 index 0000000..5a60611 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/global_stats.json @@ -0,0 +1,77 @@ +{ + "name": "All Requests", + "numberOfRequests": { + "total": 8733, + "ok": 5128, + "ko": 3605 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 2846 + }, + "maxResponseTime": { + "total": 65148, + "ok": 59883, + "ko": 65148 + }, + "meanResponseTime": { + "total": 19071, + "ok": 9281, + "ko": 32996 + }, + "standardDeviation": { + "total": 22892, + "ok": 15556, + "ko": 24394 + }, + "percentiles1": { + "total": 10006, + "ok": 1130, + "ko": 16323 + }, + "percentiles2": { + "total": 37958, + "ok": 8171, + "ko": 60007 + }, + "percentiles3": { + "total": 60013, + "ok": 45464, + "ko": 60015 + }, + "percentiles4": { + "total": 60016, + "ok": 56869, + "ko": 62024 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2244, + "percentage": 26 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
t < 1200 ms", + "count": 400, + "percentage": 5 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 2484, + "percentage": 28 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 3605, + "percentage": 41 +}, + "meanNumberOfRequestsPerSecond": { + "total": 14.506644518272426, + "ok": 8.518272425249169, + "ko": 5.988372093023256 + } +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/highcharts-more.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/highcharts-more.js new file mode 100644 index 0000000..2d78893 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/highcharts-more.js @@ -0,0 +1,60 @@ +/* + Highcharts JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(x){"object"===typeof module&&module.exports?module.exports=x:x(Highcharts)})(function(x){(function(b){function r(b,a,d){this.init(b,a,d)}var t=b.each,w=b.extend,m=b.merge,q=b.splat;w(r.prototype,{init:function(b,a,d){var f=this,h=f.defaultOptions;f.chart=a;f.options=b=m(h,a.angular?{background:{}}:void 0,b);(b=b.background)&&t([].concat(q(b)).reverse(),function(a){var c,h=d.userOptions;c=m(f.defaultBackgroundOptions,a);a.backgroundColor&&(c.backgroundColor=a.backgroundColor);c.color=c.backgroundColor; +d.options.plotBands.unshift(c);h.plotBands=h.plotBands||[];h.plotBands!==d.options.plotBands&&h.plotBands.unshift(c)})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{className:"highcharts-pane",shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}});b.Pane=r})(x);(function(b){var r=b.CenteredSeriesMixin, +t=b.each,w=b.extend,m=b.map,q=b.merge,e=b.noop,a=b.Pane,d=b.pick,f=b.pInt,h=b.splat,u=b.wrap,c,l,k=b.Axis.prototype;b=b.Tick.prototype;c={getOffset:e,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:e,setCategories:e,setTitle:e};l={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2}, +defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(a){a=this.options=q(this.defaultOptions,this.defaultRadialOptions,a);a.plotBands||(a.plotBands=[])},getOffset:function(){k.getOffset.call(this);this.chart.axisOffset[this.side]=0;this.center=this.pane.center= +r.getCenter.call(this.pane)},getLinePath:function(a,g){a=this.center;var c=this.chart,f=d(g,a[2]/2-this.offset);this.isCircular||void 0!==g?g=this.chart.renderer.symbols.arc(this.left+a[0],this.top+a[1],f,f,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}):(g=this.postTranslate(this.angleRad,f),g=["M",a[0]+c.plotLeft,a[1]+c.plotTop,"L",g.x,g.y]);return g},setAxisTranslation:function(){k.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/ +(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===d(this.userMax,this.options.max)&&this.endAngleRad-this.startAngleRad===2*Math.PI)this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){k.setAxisSize.call(this);this.isRadial&&(this.center=this.pane.center=r.getCenter.call(this.pane),this.isCircular&& +(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*d(this.sector,1)/2)},getPosition:function(a,g){return this.postTranslate(this.isCircular?this.translate(a):this.angleRad,d(this.isCircular?g:this.translate(a),this.center[2]/2)-this.offset)},postTranslate:function(a,g){var d=this.chart,c=this.center;a=this.startAngleRad+a;return{x:d.plotLeft+c[0]+Math.cos(a)*g,y:d.plotTop+c[1]+Math.sin(a)*g}},getPlotBandPath:function(a,g,c){var h=this.center,p=this.startAngleRad, +k=h[2]/2,n=[d(c.outerRadius,"100%"),c.innerRadius,d(c.thickness,10)],b=Math.min(this.offset,0),l=/%$/,u,e=this.isCircular;"polygon"===this.options.gridLineInterpolation?h=this.getPlotLinePath(a).concat(this.getPlotLinePath(g,!0)):(a=Math.max(a,this.min),g=Math.min(g,this.max),e||(n[0]=this.translate(a),n[1]=this.translate(g)),n=m(n,function(a){l.test(a)&&(a=f(a,10)*k/100);return a}),"circle"!==c.shape&&e?(a=p+this.translate(a),g=p+this.translate(g)):(a=-Math.PI/2,g=1.5*Math.PI,u=!0),n[0]-=b,n[2]-= +b,h=this.chart.renderer.symbols.arc(this.left+h[0],this.top+h[1],n[0],n[0],{start:Math.min(a,g),end:Math.max(a,g),innerR:d(n[1],n[0]-n[2]),open:u}));return h},getPlotLinePath:function(a,g){var d=this,c=d.center,f=d.chart,h=d.getPosition(a),k,b,p;d.isCircular?p=["M",c[0]+f.plotLeft,c[1]+f.plotTop,"L",h.x,h.y]:"circle"===d.options.gridLineInterpolation?(a=d.translate(a))&&(p=d.getLinePath(0,a)):(t(f.xAxis,function(a){a.pane===d.pane&&(k=a)}),p=[],a=d.translate(a),c=k.tickPositions,k.autoConnect&&(c= +c.concat([c[0]])),g&&(c=[].concat(c).reverse()),t(c,function(g,d){b=k.getPosition(g,a);p.push(d?"L":"M",b.x,b.y)}));return p},getTitlePosition:function(){var a=this.center,g=this.chart,d=this.options.title;return{x:g.plotLeft+a[0]+(d.x||0),y:g.plotTop+a[1]-{high:.5,middle:.25,low:0}[d.align]*a[2]+(d.y||0)}}};u(k,"init",function(f,g,k){var b=g.angular,p=g.polar,n=k.isX,u=b&&n,e,A=g.options,m=k.pane||0;if(b){if(w(this,u?c:l),e=!n)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else p&&(w(this, +l),this.defaultRadialOptions=(e=n)?this.defaultRadialXOptions:q(this.defaultYAxisOptions,this.defaultRadialYOptions));b||p?(this.isRadial=!0,g.inverted=!1,A.chart.zoomType=null):this.isRadial=!1;f.call(this,g,k);u||!b&&!p||(f=this.options,g.panes||(g.panes=[]),this.pane=g=g.panes[m]=g.panes[m]||new a(h(A.pane)[m],g,this),g=g.options,this.angleRad=(f.angle||0)*Math.PI/180,this.startAngleRad=(g.startAngle-90)*Math.PI/180,this.endAngleRad=(d(g.endAngle,g.startAngle+360)-90)*Math.PI/180,this.offset=f.offset|| +0,this.isCircular=e)});u(k,"autoLabelAlign",function(a){if(!this.isRadial)return a.apply(this,[].slice.call(arguments,1))});u(b,"getPosition",function(a,d,c,f,h){var g=this.axis;return g.getPosition?g.getPosition(c):a.call(this,d,c,f,h)});u(b,"getLabelPosition",function(a,g,c,f,h,k,b,l,u){var n=this.axis,p=k.y,e=20,y=k.align,v=(n.translate(this.pos)+n.startAngleRad+Math.PI/2)/Math.PI*180%360;n.isRadial?(a=n.getPosition(this.pos,n.center[2]/2+d(k.distance,-25)),"auto"===k.rotation?f.attr({rotation:v}): +null===p&&(p=n.chart.renderer.fontMetrics(f.styles.fontSize).b-f.getBBox().height/2),null===y&&(n.isCircular?(this.label.getBBox().width>n.len*n.tickInterval/(n.max-n.min)&&(e=0),y=v>e&&v<180-e?"left":v>180+e&&v<360-e?"right":"center"):y="center",f.attr({align:y})),a.x+=k.x,a.y+=p):a=a.call(this,g,c,f,h,k,b,l,u);return a});u(b,"getMarkPath",function(a,d,c,f,h,k,b){var g=this.axis;g.isRadial?(a=g.getPosition(this.pos,g.center[2]/2+f),d=["M",d,c,"L",a.x,a.y]):d=a.call(this,d,c,f,h,k,b);return d})})(x); +(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.Series,q=b.seriesType,e=b.seriesTypes;q("arearange","area",{lineWidth:1,marker:null,threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{series.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},states:{hover:{halo:!1}}},{pointArrayMap:["low","high"],dataLabelCollections:["dataLabel", +"dataLabelUpper"],toYData:function(a){return[a.low,a.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(a){var d=this.chart,f=this.xAxis.postTranslate(a.rectPlotX,this.yAxis.len-a.plotHigh);a.plotHighX=f.x-d.plotLeft;a.plotHigh=f.y-d.plotTop},translate:function(){var a=this,d=a.yAxis,f=!!a.modifyValue;e.area.prototype.translate.apply(a);r(a.points,function(h){var b=h.low,c=h.high,l=h.plotY;null===c||null===b?h.isNull=!0:(h.plotLow=l,h.plotHigh=d.translate(f?a.modifyValue(c,h):c,0,1, +0,1),f&&(h.yBottom=h.plotHigh))});this.chart.polar&&r(this.points,function(d){a.highToXY(d)})},getGraphPath:function(a){var d=[],f=[],h,b=e.area.prototype.getGraphPath,c,l,k;k=this.options;var p=k.step;a=a||this.points;for(h=a.length;h--;)c=a[h],c.isNull||k.connectEnds||a[h+1]&&!a[h+1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1}),l={polarPlotY:c.polarPlotY,rectPlotX:c.rectPlotX,yBottom:c.yBottom,plotX:w(c.plotHighX,c.plotX),plotY:c.plotHigh,isNull:c.isNull},f.push(l),d.push(l),c.isNull|| +k.connectEnds||a[h-1]&&!a[h-1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1});a=b.call(this,a);p&&(!0===p&&(p="left"),k.step={left:"right",center:"center",right:"left"}[p]);d=b.call(this,d);f=b.call(this,f);k.step=p;k=[].concat(a,d);this.chart.polar||"M"!==f[0]||(f[0]="L");this.graphPath=k;this.areaPath=this.areaPath.concat(a,f);k.isArea=!0;k.xMap=a.xMap;this.areaPath.xMap=a.xMap;return k},drawDataLabels:function(){var a=this.data,d=a.length,f,h=[],b=m.prototype,c=this.options.dataLabels, +l=c.align,k=c.verticalAlign,p=c.inside,g,n,e=this.chart.inverted;if(c.enabled||this._hasPointLabels){for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.y=g.high,g._plotY=g.plotY,g.plotY=g.plotHigh,h[f]=g.dataLabel,g.dataLabel=g.dataLabelUpper,g.below=n,e?l||(c.align=n?"right":"left"):k||(c.verticalAlign=n?"top":"bottom"),c.x=c.xHigh,c.y=c.yHigh;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments);for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.dataLabelUpper= +g.dataLabel,g.dataLabel=h[f],g.y=g.low,g.plotY=g._plotY,g.below=!n,e?l||(c.align=n?"left":"right"):k||(c.verticalAlign=n?"bottom":"top"),c.x=c.xLow,c.y=c.yLow;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments)}c.align=l;c.verticalAlign=k},alignDataLabel:function(){e.column.prototype.alignDataLabel.apply(this,arguments)},setStackedPoints:t,getSymbol:t,drawPoints:t})})(x);(function(b){var r=b.seriesType;r("areasplinerange","arearange",null,{getPointSpline:b.seriesTypes.spline.prototype.getPointSpline})})(x); +(function(b){var r=b.defaultPlotOptions,t=b.each,w=b.merge,m=b.noop,q=b.pick,e=b.seriesType,a=b.seriesTypes.column.prototype;e("columnrange","arearange",w(r.column,r.arearange,{lineWidth:1,pointRange:null}),{translate:function(){var d=this,f=d.yAxis,b=d.xAxis,u=b.startAngleRad,c,l=d.chart,k=d.xAxis.isRadial,p;a.translate.apply(d);t(d.points,function(a){var g=a.shapeArgs,h=d.options.minPointLength,e,v;a.plotHigh=p=f.translate(a.high,0,1,0,1);a.plotLow=a.plotY;v=p;e=q(a.rectPlotY,a.plotY)-p;Math.abs(e)< +h?(h-=e,e+=h,v-=h/2):0>e&&(e*=-1,v-=e);k?(c=a.barX+u,a.shapeType="path",a.shapeArgs={d:d.polarArc(v+e,v,c,c+a.pointWidth)}):(g.height=e,g.y=v,a.tooltipPos=l.inverted?[f.len+f.pos-l.plotLeft-v-e/2,b.len+b.pos-l.plotTop-g.x-g.width/2,e]:[b.left-l.plotLeft+g.x+g.width/2,f.pos-l.plotTop+v+e/2,e])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:m,crispCol:a.crispCol,drawPoints:a.drawPoints,drawTracker:a.drawTracker,getColumnMetrics:a.getColumnMetrics,animate:function(){return a.animate.apply(this, +arguments)},polarArc:function(){return a.polarArc.apply(this,arguments)},pointAttribs:a.pointAttribs})})(x);(function(b){var r=b.each,t=b.isNumber,w=b.merge,m=b.pick,q=b.pInt,e=b.Series,a=b.seriesType,d=b.TrackerMixin;a("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2,borderWidth:1,borderColor:"#cccccc"},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,directTouch:!0,drawGraph:b.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0, +trackerGroups:["group","dataLabelsGroup"],translate:function(){var a=this.yAxis,d=this.options,b=a.center;this.generatePoints();r(this.points,function(c){var f=w(d.dial,c.dial),k=q(m(f.radius,80))*b[2]/200,h=q(m(f.baseLength,70))*k/100,g=q(m(f.rearLength,10))*k/100,n=f.baseWidth||3,u=f.topWidth||1,e=d.overshoot,v=a.startAngleRad+a.translate(c.y,null,null,null,!0);t(e)?(e=e/180*Math.PI,v=Math.max(a.startAngleRad-e,Math.min(a.endAngleRad+e,v))):!1===d.wrap&&(v=Math.max(a.startAngleRad,Math.min(a.endAngleRad, +v)));v=180*v/Math.PI;c.shapeType="path";c.shapeArgs={d:f.path||["M",-g,-n/2,"L",h,-n/2,k,-u/2,k,u/2,h,n/2,-g,n/2,"z"],translateX:b[0],translateY:b[1],rotation:v};c.plotX=b[0];c.plotY=b[1]})},drawPoints:function(){var a=this,d=a.yAxis.center,b=a.pivot,c=a.options,l=c.pivot,k=a.chart.renderer;r(a.points,function(d){var g=d.graphic,b=d.shapeArgs,f=b.d,h=w(c.dial,d.dial);g?(g.animate(b),b.d=f):(d.graphic=k[d.shapeType](b).attr({rotation:b.rotation,zIndex:1}).addClass("highcharts-dial").add(a.group),d.graphic.attr({stroke:h.borderColor|| +"none","stroke-width":h.borderWidth||0,fill:h.backgroundColor||"#000000"}))});b?b.animate({translateX:d[0],translateY:d[1]}):(a.pivot=k.circle(0,0,m(l.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(d[0],d[1]).add(a.group),a.pivot.attr({"stroke-width":l.borderWidth||0,stroke:l.borderColor||"#cccccc",fill:l.backgroundColor||"#000000"}))},animate:function(a){var d=this;a||(r(d.points,function(a){var c=a.graphic;c&&(c.attr({rotation:180*d.yAxis.startAngleRad/Math.PI}),c.animate({rotation:a.shapeArgs.rotation}, +d.options.animation))}),d.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);e.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(a,d){e.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();m(d,!0)&&this.chart.redraw()},drawTracker:d&&d.drawTrackerPoint},{setState:function(a){this.state=a}})})(x);(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.seriesType, +q=b.seriesTypes;m("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,states:{hover:{brightness:-.3}},whiskerWidth:2},{pointArrayMap:["low","q1","median", +"q3","high"],toYData:function(b){return[b.low,b.q1,b.median,b.q3,b.high]},pointValKey:"high",pointAttribs:function(b){var a=this.options,d=b&&b.color||this.color;return{fill:b.fillColor||a.fillColor||d,stroke:a.lineColor||d,"stroke-width":a.lineWidth||0}},drawDataLabels:t,translate:function(){var b=this.yAxis,a=this.pointArrayMap;q.column.prototype.translate.apply(this);r(this.points,function(d){r(a,function(a){null!==d[a]&&(d[a+"Plot"]=b.translate(d[a],0,1,0,1))})})},drawPoints:function(){var b= +this,a=b.options,d=b.chart.renderer,f,h,u,c,l,k,p=0,g,n,m,q,v=!1!==b.doQuartiles,t,x=b.options.whiskerLength;r(b.points,function(e){var r=e.graphic,y=r?"animate":"attr",I=e.shapeArgs,z={},B={},G={},H=e.color||b.color;void 0!==e.plotY&&(g=I.width,n=Math.floor(I.x),m=n+g,q=Math.round(g/2),f=Math.floor(v?e.q1Plot:e.lowPlot),h=Math.floor(v?e.q3Plot:e.lowPlot),u=Math.floor(e.highPlot),c=Math.floor(e.lowPlot),r||(e.graphic=r=d.g("point").add(b.group),e.stem=d.path().addClass("highcharts-boxplot-stem").add(r), +x&&(e.whiskers=d.path().addClass("highcharts-boxplot-whisker").add(r)),v&&(e.box=d.path(void 0).addClass("highcharts-boxplot-box").add(r)),e.medianShape=d.path(void 0).addClass("highcharts-boxplot-median").add(r),z.stroke=e.stemColor||a.stemColor||H,z["stroke-width"]=w(e.stemWidth,a.stemWidth,a.lineWidth),z.dashstyle=e.stemDashStyle||a.stemDashStyle,e.stem.attr(z),x&&(B.stroke=e.whiskerColor||a.whiskerColor||H,B["stroke-width"]=w(e.whiskerWidth,a.whiskerWidth,a.lineWidth),e.whiskers.attr(B)),v&&(r= +b.pointAttribs(e),e.box.attr(r)),G.stroke=e.medianColor||a.medianColor||H,G["stroke-width"]=w(e.medianWidth,a.medianWidth,a.lineWidth),e.medianShape.attr(G)),k=e.stem.strokeWidth()%2/2,p=n+q+k,e.stem[y]({d:["M",p,h,"L",p,u,"M",p,f,"L",p,c]}),v&&(k=e.box.strokeWidth()%2/2,f=Math.floor(f)+k,h=Math.floor(h)+k,n+=k,m+=k,e.box[y]({d:["M",n,h,"L",n,f,"L",m,f,"L",m,h,"L",n,h,"z"]})),x&&(k=e.whiskers.strokeWidth()%2/2,u+=k,c+=k,t=/%$/.test(x)?q*parseFloat(x)/100:x/2,e.whiskers[y]({d:["M",p-t,u,"L",p+t,u, +"M",p-t,c,"L",p+t,c]})),l=Math.round(e.medianPlot),k=e.medianShape.strokeWidth()%2/2,l+=k,e.medianShape[y]({d:["M",n,l,"L",m,l]}))})},setStackedPoints:t})})(x);(function(b){var r=b.each,t=b.noop,w=b.seriesType,m=b.seriesTypes;w("errorbar","boxplot",{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},whiskerWidth:null},{type:"errorbar", +pointArrayMap:["low","high"],toYData:function(b){return[b.low,b.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:m.arearange?function(){var b=this.pointValKey;m.arearange.prototype.drawDataLabels.call(this);r(this.data,function(e){e.y=e[b]})}:t,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||m.column.prototype.getColumnMetrics.call(this)}})})(x);(function(b){var r=b.correctFloat,t=b.isNumber,w=b.pick,m=b.Point,q=b.Series,e=b.seriesType,a=b.seriesTypes; +e("waterfall","column",{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}},{pointValKey:"y",translate:function(){var d=this.options,b=this.yAxis,h,e,c,l,k,p,g,n,m,q=w(d.minPointLength,5),v=d.threshold,t=d.stacking;a.column.prototype.translate.apply(this);this.minPointLengthOffset=0;g=n=v;e=this.points;h=0;for(d=e.length;hl.height&&(l.y+=l.height,l.height*=-1),c.plotY=l.y=Math.round(l.y)- +this.borderWidth%2/2,l.height=Math.max(Math.round(l.height),.001),c.yBottom=l.y+l.height,l.height<=q&&(l.height=q,this.minPointLengthOffset+=q),l.y-=this.minPointLengthOffset,l=c.plotY+(c.negative?l.height:0)-this.minPointLengthOffset,this.chart.inverted?c.tooltipPos[0]=b.len-l:c.tooltipPos[1]=l},processData:function(a){var b=this.yData,d=this.options.data,e,c=b.length,l,k,p,g,n,m;k=l=p=g=this.options.threshold||0;for(m=0;ma[k-1].y&&(l[2]+=c.height,l[5]+=c.height),e=e.concat(l);return e},drawGraph:function(){q.prototype.drawGraph.call(this);this.graph.attr({d:this.getCrispPath()})},getExtremes:b.noop},{getClassName:function(){var a=m.prototype.getClassName.call(this);this.isSum?a+=" highcharts-sum":this.isIntermediateSum&&(a+=" highcharts-intermediate-sum"); +return a},isValid:function(){return t(this.y,!0)||this.isSum||this.isIntermediateSum}})})(x);(function(b){var r=b.Series,t=b.seriesType,w=b.seriesTypes;t("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var b=r.prototype.getGraphPath.call(this),q=b.length+1;q--;)(q===b.length||"M"===b[q])&&0=this.minPxSize/2?(d.shapeType="circle",d.shapeArgs={x:d.plotX,y:d.plotY,r:c},d.dlBox={x:d.plotX-c,y:d.plotY-c,width:2*c,height:2*c}):d.shapeArgs=d.plotY=d.dlBox=void 0},drawLegendSymbol:function(a,b){var d=this.chart.renderer,c=d.fontMetrics(a.itemStyle.fontSize).f/2;b.legendSymbol=d.circle(c,a.baseline-c,c).attr({zIndex:3}).add(b.legendGroup);b.legendSymbol.isMarker= +!0},drawPoints:l.column.prototype.drawPoints,alignDataLabel:l.column.prototype.alignDataLabel,buildKDTree:a,applyZones:a},{haloPath:function(a){return h.prototype.haloPath.call(this,this.shapeArgs.r+a)},ttBelow:!1});w.prototype.beforePadding=function(){var a=this,b=this.len,c=this.chart,h=0,l=b,u=this.isXAxis,m=u?"xData":"yData",w=this.min,x={},A=Math.min(c.plotWidth,c.plotHeight),C=Number.MAX_VALUE,D=-Number.MAX_VALUE,E=this.max-w,z=b/E,F=[];q(this.series,function(b){var g=b.options;!b.bubblePadding|| +!b.visible&&c.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,F.push(b),u&&(q(["minSize","maxSize"],function(a){var b=g[a],d=/%$/.test(b),b=f(b);x[a]=d?A*b/100:b}),b.minPxSize=x.minSize,b.maxPxSize=Math.max(x.maxSize,x.minSize),b=b.zData,b.length&&(C=d(g.zMin,Math.min(C,Math.max(t(b),!1===g.displayNegative?g.zThreshold:-Number.MAX_VALUE))),D=d(g.zMax,Math.max(D,r(b))))))});q(F,function(b){var d=b[m],c=d.length,f;u&&b.getRadii(C,D,b.minPxSize,b.maxPxSize);if(0f&&(f+=360),a.clientX=f):a.clientX=a.plotX};m.spline&&q(m.spline.prototype,"getPointSpline",function(a,b,f,h){var d,c,e,k,p,g,n;this.chart.polar?(d=f.plotX, +c=f.plotY,a=b[h-1],e=b[h+1],this.connectEnds&&(a||(a=b[b.length-2]),e||(e=b[1])),a&&e&&(k=a.plotX,p=a.plotY,b=e.plotX,g=e.plotY,k=(1.5*d+k)/2.5,p=(1.5*c+p)/2.5,e=(1.5*d+b)/2.5,n=(1.5*c+g)/2.5,b=Math.sqrt(Math.pow(k-d,2)+Math.pow(p-c,2)),g=Math.sqrt(Math.pow(e-d,2)+Math.pow(n-c,2)),k=Math.atan2(p-c,k-d),p=Math.atan2(n-c,e-d),n=Math.PI/2+(k+p)/2,Math.abs(k-n)>Math.PI/2&&(n-=Math.PI),k=d+Math.cos(n)*b,p=c+Math.sin(n)*b,e=d+Math.cos(Math.PI+n)*g,n=c+Math.sin(Math.PI+n)*g,f.rightContX=e,f.rightContY=n), +h?(f=["C",a.rightContX||a.plotX,a.rightContY||a.plotY,k||d,p||c,d,c],a.rightContX=a.rightContY=null):f=["M",d,c]):f=a.call(this,b,f,h);return f});q(e,"translate",function(a){var b=this.chart;a.call(this);if(b.polar&&(this.kdByAngle=b.tooltip&&b.tooltip.shared,!this.preventPostTranslate))for(a=this.points,b=a.length;b--;)this.toXY(a[b])});q(e,"getGraphPath",function(a,b){var d=this,e,m;if(this.chart.polar){b=b||this.points;for(e=0;eb.center[1]}),q(m,"alignDataLabel",function(a,b,f,h,m,c){this.chart.polar?(a=b.rectPlotX/Math.PI*180,null===h.align&&(h.align=20a?"left":200a?"right":"center"),null===h.verticalAlign&&(h.verticalAlign=45>a||315a?"top":"middle"),e.alignDataLabel.call(this,b,f,h,m,c)):a.call(this, +b,f,h,m,c)}));q(b,"getCoordinates",function(a,b){var d=this.chart,e={xAxis:[],yAxis:[]};d.polar?t(d.axes,function(a){var c=a.isXAxis,f=a.center,h=b.chartX-f[0]-d.plotLeft,f=b.chartY-f[1]-d.plotTop;e[c?"xAxis":"yAxis"].push({axis:a,value:a.translate(c?Math.PI-Math.atan2(h,f):Math.sqrt(Math.pow(h,2)+Math.pow(f,2)),!0)})}):e=a.call(this,b);return e})})(x)}); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/highstock.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/highstock.js new file mode 100644 index 0000000..34a3f91 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/highstock.js @@ -0,0 +1,496 @@ +/* + Highstock JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(N,a){"object"===typeof module&&module.exports?module.exports=N.document?a(N):a:N.Highcharts=a(N)})("undefined"!==typeof window?window:this,function(N){N=function(){var a=window,D=a.document,B=a.navigator&&a.navigator.userAgent||"",G=D&&D.createElementNS&&!!D.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,H=/(edge|msie|trident)/i.test(B)&&!window.opera,p=!G,l=/Firefox/.test(B),r=l&&4>parseInt(B.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highstock", +version:"5.0.3",deg2rad:2*Math.PI/360,doc:D,hasBidiBug:r,hasTouch:D&&void 0!==D.documentElement.ontouchstart,isMS:H,isWebKit:/AppleWebKit/.test(B),isFirefox:l,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(B),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:G,vml:p,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var D=[],B=a.charts,G=a.doc,H=a.win;a.error=function(a,l){a="Highcharts error #"+ +a+": www.highcharts.com/errors/"+a;if(l)throw Error(a);H.console&&console.log(a)};a.Fx=function(a,l,r){this.options=l;this.elem=a;this.prop=r};a.Fx.prototype={dSetter:function(){var a=this.paths[0],l=this.paths[1],r=[],w=this.now,t=a.length,k;if(1===w)r=this.toD;else if(t===l.length&&1>w)for(;t--;)k=parseFloat(a[t]),r[t]=isNaN(k)?a[t]:w*parseFloat(l[t]-k)+k;else r=l;this.elem.attr("d",r)},update:function(){var a=this.elem,l=this.prop,r=this.now,w=this.options.step;if(this[l+"Setter"])this[l+"Setter"](); +else a.attr?a.element&&a.attr(l,r):a.style[l]=r+this.unit;w&&w.call(a,r,this)},run:function(a,l,r){var p=this,t=function(a){return t.stopped?!1:p.step(a)},k;this.startTime=+new Date;this.start=a;this.end=l;this.unit=r;this.now=this.start;this.pos=0;t.elem=this.elem;t()&&1===D.push(t)&&(t.timerId=setInterval(function(){for(k=0;k=k+this.startTime){this.now=this.end;this.pos=1;this.update();a=m[this.prop]=!0;for(e in m)!0!==m[e]&&(a=!1);a&&t&&t.call(p);p=!1}else this.pos=w.easing((l-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),p=!0;return p},initPath:function(p,l,r){function w(a){for(b=a.length;b--;)"M"!==a[b]&&"L"!==a[b]||a.splice(b+1,0,a[b+1],a[b+2],a[b+1],a[b+2])}function t(a,c){for(;a.lengthm?"AM":"PM",P:12>m?"am":"pm",S:q(t.getSeconds()),L:q(Math.round(l%1E3),3)},a.dateFormats);for(k in w)for(;-1!==p.indexOf("%"+k);)p= +p.replace("%"+k,"function"===typeof w[k]?w[k](l):w[k]);return r?p.substr(0,1).toUpperCase()+p.substr(1):p};a.formatSingle=function(p,l){var r=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(p)?(r=(r=p.match(r))?r[1]:-1,null!==l&&(l=a.numberFormat(l,r,w.decimalPoint,-1=r&&(l=[1/r])));for(w=0;w=p||!t&&k<=(l[w]+(l[w+1]||l[w]))/ +2);w++);return m*r};a.stableSort=function(a,l){var r=a.length,p,t;for(t=0;tr&&(r=a[l]);return r};a.destroyObjectProperties=function(a,l){for(var r in a)a[r]&&a[r]!==l&&a[r].destroy&&a[r].destroy(),delete a[r]};a.discardElement=function(p){var l= +a.garbageBin;l||(l=a.createElement("div"));p&&l.appendChild(p);l.innerHTML=""};a.correctFloat=function(a,l){return parseFloat(a.toPrecision(l||14))};a.setAnimation=function(p,l){l.renderer.globalAnimation=a.pick(p,l.options.chart.animation,!0)};a.animObject=function(p){return a.isObject(p)?a.merge(p):{duration:p?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(p,l,r,w){p=+p||0;l=+l;var t=a.defaultOptions.lang, +k=(p.toString().split(".")[1]||"").length,m,e,g=Math.abs(p);-1===l?l=Math.min(k,20):a.isNumber(l)||(l=2);m=String(a.pInt(g.toFixed(l)));e=3p?"-":"")+(e?m.substr(0,e)+w:"");p+=m.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+w);l&&(w=Math.abs(g-m+Math.pow(10,-Math.max(l,k)-1)),p+=r+w.toFixed(l).slice(2));return p};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(p,l){return"width"===l?Math.min(p.offsetWidth, +p.scrollWidth)-a.getStyle(p,"padding-left")-a.getStyle(p,"padding-right"):"height"===l?Math.min(p.offsetHeight,p.scrollHeight)-a.getStyle(p,"padding-top")-a.getStyle(p,"padding-bottom"):(p=H.getComputedStyle(p,void 0))&&a.pInt(p.getPropertyValue(l))};a.inArray=function(a,l){return l.indexOf?l.indexOf(a):[].indexOf.call(l,a)};a.grep=function(a,l){return[].filter.call(a,l)};a.map=function(a,l){for(var r=[],p=0,t=a.length;pl;l++)w[l]+=p(255*a),0>w[l]&&(w[l]=0),255z.width)z={width:0,height:0}}else z=this.htmlGetBBox();b.isSVG&&(a=z.width, +b=z.height,c&&L&&"11px"===L.fontSize&&"16.9"===b.toPrecision(3)&&(z.height=b=14),v&&(z.width=Math.abs(b*Math.sin(d))+Math.abs(a*Math.cos(d)),z.height=Math.abs(b*Math.cos(d))+Math.abs(a*Math.sin(d))));if(g&&0]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,c,v){"string"===typeof a?v.setAttribute(c, +a):a&&this.colorGradient(a,c,v)},visibilitySetter:function(a,c,v){"inherit"===a?v.removeAttribute(c):v.setAttribute(c,a)},zIndexSetter:function(a,c){var v=this.renderer,z=this.parentGroup,b=(z||v).element||v.box,d,n=this.element,f;d=this.added;var e;k(a)&&(n.zIndex=a,a=+a,this[c]===a&&(d=!1),this[c]=a);if(d){(a=this.zIndex)&&z&&(z.handleZ=!0);c=b.childNodes;for(e=0;ea||!k(a)&&k(d)||0>a&&!k(d)&&b!==v.box)&&(b.insertBefore(n,z),f=!0);f||b.appendChild(n)}return f}, +_defaultSetter:function(a,c,v){v.setAttribute(c,a)}};D.prototype.yGetter=D.prototype.xGetter;D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.rotationSetter=D.prototype.verticalAlignSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=function(a,c){this[c]=a;this.doTransform=!0};D.prototype["stroke-widthSetter"]=D.prototype.strokeSetter=function(a,c,v){this[c]=a;this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",v),v.setAttribute("stroke-width", +this["stroke-width"]),this.hasStroke=!0):"stroke-width"===c&&0===a&&this.hasStroke&&(v.removeAttribute("stroke"),this.hasStroke=!1)};B=a.SVGRenderer=function(){this.init.apply(this,arguments)};B.prototype={Element:D,SVG_NS:K,init:function(a,c,v,b,d,n){var z;b=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(b));z=b.element;a.appendChild(z);-1===a.innerHTML.indexOf("xmlns")&&p(z,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=z;this.boxWrapper=b;this.alignedObjects= +[];this.url=(E||A)&&g.getElementsByTagName("base").length?R.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highstock 5.0.3"));this.defs=this.createElement("defs").add();this.allowHTML=n;this.forExport=d;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(c,v,!1);var f;E&&a.getBoundingClientRect&&(c=function(){w(a,{left:0,top:0});f=a.getBoundingClientRect(); +w(a,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},c(),this.unSubPixelFix=G(R,"resize",c))},getStyle:function(a){return this.style=C({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();e(this.gradients||{});this.gradients= +null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var c=new this.Element;c.init(this,a);return c},draw:J,getRadialAttr:function(a,c){return{cx:a[0]-a[2]/2+c.cx*a[2],cy:a[1]-a[2]/2+c.cy*a[2],r:c.r*a[2]}},buildText:function(a){for(var c=a.element,z=this,b=z.forExport,n=y(a.textStr,"").toString(),f=-1!==n.indexOf("\x3c"),e=c.childNodes,q,F,x,A,I=p(c,"x"),m=a.styles,k=a.textWidth,C=m&&m.lineHeight,M=m&&m.textOutline,J=m&& +"ellipsis"===m.textOverflow,E=e.length,O=k&&!a.added&&this.box,t=function(a){var v;v=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:m&&m.fontSize||z.style.fontSize||12;return C?u(C):z.fontMetrics(v,a.getAttribute("style")?a:c).h};E--;)c.removeChild(e[E]);f||M||J||k||-1!==n.indexOf(" ")?(q=/<.*class="([^"]+)".*>/,F=/<.*style="([^"]+)".*>/,x=/<.*href="(http[^"]+)".*>/,O&&O.appendChild(c),n=f?n.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(//g,"\x3c/span\x3e").split(//g):[n],n=d(n,function(a){return""!==a}),h(n,function(d,n){var f,e=0;d=d.replace(/^\s+|\s+$/g,"").replace(//g,"\x3c/span\x3e|||");f=d.split("|||");h(f,function(d){if(""!==d||1===f.length){var u={},y=g.createElementNS(z.SVG_NS,"tspan"),L,h;q.test(d)&&(L=d.match(q)[1],p(y,"class",L));F.test(d)&&(h=d.match(F)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),p(y,"style",h));x.test(d)&&!b&&(p(y, +"onclick",'location.href\x3d"'+d.match(x)[1]+'"'),w(y,{cursor:"pointer"}));d=(d.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"\x3c").replace(/>/g,"\x3e");if(" "!==d){y.appendChild(g.createTextNode(d));e?u.dx=0:n&&null!==I&&(u.x=I);p(y,u);c.appendChild(y);!e&&n&&(!v&&b&&w(y,{display:"block"}),p(y,"dy",t(y)));if(k){u=d.replace(/([^\^])-/g,"$1- ").split(" ");L="nowrap"===m.whiteSpace;for(var C=1k,void 0===A&&(A=M),J&&A?(Q/=2,""===l||!M&&.5>Q?u=[]:(l=d.substring(0,l.length+(M?-1:1)*Math.ceil(Q)),u=[l+(3k&&(k=P)),u.length&&y.appendChild(g.createTextNode(u.join(" ").replace(/- /g, +"-")));a.rotation=R}e++}}})}),A&&a.attr("title",a.textStr),O&&O.removeChild(c),M&&a.applyTextOutline&&a.applyTextOutline(M)):c.appendChild(g.createTextNode(n.replace(/</g,"\x3c").replace(/>/g,"\x3e")))},getContrast:function(a){a=r(a).rgba;return 510v?d>c+f&&de?d>c+f&&db&&e>a+f&&ed&&e>a+f&&ea?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}},rotCorr:function(a, +c,v){var b=a;c&&v&&(b=Math.max(b*Math.cos(c*m),4));return{x:-a/3*Math.sin(c*m),y:b}},label:function(a,c,v,b,d,n,f,e,K){var q=this,u=q.g("button"!==K&&"label"),y=u.text=q.text("",0,0,f).attr({zIndex:1}),g,F,z=0,A=3,L=0,m,M,J,E,O,t={},l,R,r=/^url\((.*?)\)$/.test(b),p=r,P,w,Q,S;K&&u.addClass("highcharts-"+K);p=r;P=function(){return(l||0)%2/2};w=function(){var a=y.element.style,c={};F=(void 0===m||void 0===M||O)&&k(y.textStr)&&y.getBBox();u.width=(m||F.width||0)+2*A+L;u.height=(M||F.height||0)+2*A;R= +A+q.fontMetrics(a&&a.fontSize,y).b;p&&(g||(u.box=g=q.symbols[b]||r?q.symbol(b):q.rect(),g.addClass(("button"===K?"":"highcharts-label-box")+(K?" highcharts-"+K+"-box":"")),g.add(u),a=P(),c.x=a,c.y=(e?-R:0)+a),c.width=Math.round(u.width),c.height=Math.round(u.height),g.attr(C(c,t)),t={})};Q=function(){var a=L+A,c;c=e?0:R;k(m)&&F&&("center"===O||"right"===O)&&(a+={center:.5,right:1}[O]*(m-F.width));if(a!==y.x||c!==y.y)y.attr("x",a),void 0!==c&&y.attr("y",c);y.x=a;y.y=c};S=function(a,c){g?g.attr(a,c): +t[a]=c};u.onAdd=function(){y.add(u);u.attr({text:a||0===a?a:"",x:c,y:v});g&&k(d)&&u.attr({anchorX:d,anchorY:n})};u.widthSetter=function(a){m=a};u.heightSetter=function(a){M=a};u["text-alignSetter"]=function(a){O=a};u.paddingSetter=function(a){k(a)&&a!==A&&(A=u.padding=a,Q())};u.paddingLeftSetter=function(a){k(a)&&a!==L&&(L=a,Q())};u.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==z&&(z=a,F&&u.attr({x:J}))};u.textSetter=function(a){void 0!==a&&y.textSetter(a);w();Q()};u["stroke-widthSetter"]= +function(a,c){a&&(p=!0);l=this["stroke-width"]=a;S(c,a)};u.strokeSetter=u.fillSetter=u.rSetter=function(a,c){"fill"===c&&a&&(p=!0);S(c,a)};u.anchorXSetter=function(a,c){d=a;S(c,Math.round(a)-P()-J)};u.anchorYSetter=function(a,c){n=a;S(c,a-E)};u.xSetter=function(a){u.x=a;z&&(a-=z*((m||F.width)+2*A));J=Math.round(a);u.attr("translateX",J)};u.ySetter=function(a){E=u.y=Math.round(a);u.attr("translateY",E)};var T=u.css;return C(u,{css:function(a){if(a){var c={};a=x(a);h(u.textProps,function(v){void 0!== +a[v]&&(c[v]=a[v],delete a[v])});y.css(c)}return T.call(u,a)},getBBox:function(){return{width:F.width+2*A,height:F.height+2*A,x:F.x-A,y:F.y-A}},shadow:function(a){a&&(w(),g&&g.shadow(a));return u},destroy:function(){I(u.element,"mouseenter");I(u.element,"mouseleave");y&&(y=y.destroy());g&&(g=g.destroy());D.prototype.destroy.call(u);u=q=w=Q=S=null}})}};a.Renderer=B})(N);(function(a){var D=a.attr,B=a.createElement,G=a.css,H=a.defined,p=a.each,l=a.extend,r=a.isFirefox,w=a.isMS,t=a.isWebKit,k=a.pInt,m= +a.SVGRenderer,e=a.win,g=a.wrap;l(a.SVGElement.prototype,{htmlCss:function(a){var e=this.element;if(e=a&&"SPAN"===e.tagName&&a.width)delete a.width,this.textWidth=e,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=l(this.styles,a);G(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a= +this.renderer,e=this.element,f=this.translateX||0,d=this.translateY||0,b=this.x||0,q=this.y||0,g=this.textAlign||"left",c={left:0,center:.5,right:1}[g],F=this.styles;G(e,{marginLeft:f,marginTop:d});this.shadows&&p(this.shadows,function(a){G(a,{marginLeft:f+1,marginTop:d+1})});this.inverted&&p(e.childNodes,function(c){a.invertChild(c,e)});if("SPAN"===e.tagName){var n=this.rotation,A=k(this.textWidth),x=F&&F.whiteSpace,m=[n,g,e.innerHTML,this.textWidth,this.textAlign].join();m!==this.cTT&&(F=a.fontMetrics(e.style.fontSize).b, +H(n)&&this.setSpanRotation(n,c,F),G(e,{width:"",whiteSpace:x||"nowrap"}),e.offsetWidth>A&&/[ \-]/.test(e.textContent||e.innerText)&&G(e,{width:A+"px",display:"block",whiteSpace:x||"normal"}),this.getSpanCorrection(e.offsetWidth,F,c,n,g));G(e,{left:b+(this.xCorr||0)+"px",top:q+(this.yCorr||0)+"px"});t&&(F=e.offsetHeight);this.cTT=m}}else this.alignOnAdd=!0},setSpanRotation:function(a,g,f){var d={},b=w?"-ms-transform":t?"-webkit-transform":r?"MozTransform":e.opera?"-o-transform":"";d[b]=d.transform= +"rotate("+a+"deg)";d[b+(r?"Origin":"-origin")]=d.transformOrigin=100*g+"% "+f+"px";G(this.element,d)},getSpanCorrection:function(a,e,f){this.xCorr=-a*f;this.yCorr=-e}});l(m.prototype,{html:function(a,e,f){var d=this.createElement("span"),b=d.element,q=d.renderer,h=q.isSVG,c=function(a,c){p(["opacity","visibility"],function(b){g(a,b+"Setter",function(a,b,d,n){a.call(this,b,d,n);c[d]=b})})};d.textSetter=function(a){a!==b.innerHTML&&delete this.bBox;b.innerHTML=this.textStr=a;d.htmlUpdateTransform()}; +h&&c(d,d.element.style);d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter=function(a,c){"align"===c&&(c="textAlign");d[c]=a;d.htmlUpdateTransform()};d.attr({text:a,x:Math.round(e),y:Math.round(f)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});b.style.whiteSpace="nowrap";d.css=d.htmlCss;h&&(d.add=function(a){var n,f=q.box.parentNode,e=[];if(this.parentGroup=a){if(n=a.div,!n){for(;a;)e.push(a),a=a.parentGroup;p(e.reverse(),function(a){var b,d=D(a.element, +"class");d&&(d={className:d});n=a.div=a.div||B("div",d,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},n||f);b=n.style;l(a,{translateXSetter:function(c,d){b.left=c+"px";a[d]=c;a.doTransform=!0},translateYSetter:function(c,d){b.top=c+"px";a[d]=c;a.doTransform=!0}});c(a,b)})}}else n=f;n.appendChild(b);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d});return d}})})(N);(function(a){var D, +B,G=a.createElement,H=a.css,p=a.defined,l=a.deg2rad,r=a.discardElement,w=a.doc,t=a.each,k=a.erase,m=a.extend;D=a.extendClass;var e=a.isArray,g=a.isNumber,h=a.isObject,C=a.merge;B=a.noop;var f=a.pick,d=a.pInt,b=a.SVGElement,q=a.SVGRenderer,E=a.win;a.svg||(B={docMode8:w&&8===w.documentMode,init:function(a,b){var c=["\x3c",b,' filled\x3d"f" stroked\x3d"f"'],d=["position: ","absolute",";"],f="div"===b;("shape"===b||f)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",f?"hidden":"visible"); +c.push(' style\x3d"',d.join(""),'"/\x3e');b&&(c=f||"span"===b||"img"===b?c.join(""):a.prepVML(c),this.element=G(c));this.renderer=a},add:function(a){var c=this.renderer,b=this.element,d=c.box,f=a&&a.inverted,d=a?a.element||a:d;a&&(this.parentGroup=a);f&&c.invertChild(b,d);d.appendChild(b);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},updateTransform:b.prototype.htmlUpdateTransform, +setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*l),d=Math.sin(a*l);H(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",b,", M12\x3d",-d,", M21\x3d",d,", M22\x3d",b,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,d,e,q){var c=e?Math.cos(e*l):1,n=e?Math.sin(e*l):0,u=f(this.elemHeight,this.element.offsetHeight),g;this.xCorr=0>c&&-a;this.yCorr=0>n&&-u;g=0>c*n;this.xCorr+=n*b*(g?1-d:d);this.yCorr-=c*b*(e?g?d:1-d:1);q&&"left"!== +q&&(this.xCorr-=a*d*(0>c?-1:1),e&&(this.yCorr-=u*d*(0>n?-1:1)),H(this.element,{textAlign:q}))},pathToVML:function(a){for(var c=a.length,b=[];c--;)g(a[c])?b[c]=Math.round(10*a[c])-5:"Z"===a[c]?b[c]="x":(b[c]=a[c],!a.isArc||"wa"!==a[c]&&"at"!==a[c]||(b[c+5]===b[c+7]&&(b[c+7]+=a[c+7]>a[c+5]?1:-1),b[c+6]===b[c+8]&&(b[c+8]+=a[c+8]>a[c+6]?1:-1)));return b.join(" ")||"x"},clip:function(a){var c=this,b;a?(b=a.members,k(b,c),b.push(c),c.destroyClip=function(){k(b,c)},a=a.getCSS(c)):(c.destroyClip&&c.destroyClip(), +a={clip:c.docMode8?"inherit":"rect(auto)"});return c.css(a)},css:b.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&r(a)},destroy:function(){this.destroyClip&&this.destroyClip();return b.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=E.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c;a=a.split(/[ ,]/);c=a.length;if(9===c||11===c)a[c-4]=a[c-2]=d(a[c-2])-10*b;return a.join(" ")},shadow:function(a,b,e){var c=[],n,q=this.element, +g=this.renderer,u,I=q.style,F,v=q.path,K,h,m,z;v&&"string"!==typeof v.value&&(v="x");h=v;if(a){m=f(a.width,3);z=(a.opacity||.15)/m;for(n=1;3>=n;n++)K=2*m+1-2*n,e&&(h=this.cutOffPath(v.value,K+.5)),F=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',K,'" filled\x3d"false" path\x3d"',h,'" coordsize\x3d"10 10" style\x3d"',q.style.cssText,'" /\x3e'],u=G(g.prepVML(F),null,{left:d(I.left)+f(a.offsetX,1),top:d(I.top)+f(a.offsetY,1)}),e&&(u.cutOff=K+1),F=['\x3cstroke color\x3d"',a.color||"#000000",'" opacity\x3d"', +z*n,'"/\x3e'],G(g.prepVML(F),null,null,u),b?b.element.appendChild(u):q.parentNode.insertBefore(u,q),c.push(u);this.shadows=c}return this},updateShadows:B,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,b,d){(d.getElementsByTagName("stroke")[0]||G(this.renderer.prepVML(["\x3cstroke/\x3e"]),null,null,d))[b]=a||"solid";this[b]=a},dSetter:function(a,b,d){var c=this.shadows; +a=a||[];this.d=a.join&&a.join(" ");d.path=a=this.pathToVML(a);if(c)for(d=c.length;d--;)c[d].path=c[d].cutOff?this.cutOffPath(a,c[d].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,d){var c=d.nodeName;"SPAN"===c?d.style.color=a:"IMG"!==c&&(d.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,d,b,this)))},"fill-opacitySetter":function(a,b,d){G(this.renderer.prepVML(["\x3c",b.split("-")[0],' opacity\x3d"',a,'"/\x3e']),null,null,d)},opacitySetter:B,rotationSetter:function(a,b,d){d= +d.style;this[b]=d[b]=a;d.left=-Math.round(Math.sin(a*l)+1)+"px";d.top=Math.round(Math.cos(a*l))+"px"},strokeSetter:function(a,b,d){this.setAttr("strokecolor",this.renderer.color(a,d,b,this))},"stroke-widthSetter":function(a,b,d){d.stroked=!!a;this[b]=a;g(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,d){"inherit"===a&&(a="visible");this.shadows&&t(this.shadows,function(c){c.style[b]=a});"DIV"===d.nodeName&&(a="hidden"===a?"-999em": +0,this.docMode8||(d.style[b]=a?"visible":"hidden"),b="top");d.style[b]=a},xSetter:function(a,b,d){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):d.style[b]=a},zIndexSetter:function(a,b,d){d.style[b]=a}},B["stroke-opacitySetter"]=B["fill-opacitySetter"],a.VMLElement=B=D(b,B),B.prototype.ySetter=B.prototype.widthSetter=B.prototype.heightSetter=B.prototype.xSetter,B={Element:B,isIE8:-1l[0]&&c.push([1,l[1]]);t(c,function(c,b){q.test(c[1])?(n=a.color(c[1]),v=n.get("rgb"),K=n.get("a")):(v=c[1],K=1);r.push(100*c[0]+"% "+v);b?(m=K,k=v):(z=K,E=v)});if("fill"===d)if("gradient"===g)d=A.x1||A[0]||0,c=A.y1||A[1]||0,F=A.x2||A[2]||0,A=A.y2||A[3]||0,C='angle\x3d"'+(90-180*Math.atan((A-c)/(F-d))/Math.PI)+'"',p();else{var h=A.r,w=2*h,B=2*h,D=A.cx,H=A.cy,V=b.radialReference,U,h=function(){V&&(U=f.getBBox(),D+=(V[0]- +U.x)/U.width-.5,H+=(V[1]-U.y)/U.height-.5,w*=V[2]/U.width,B*=V[2]/U.height);C='src\x3d"'+a.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+w+","+B+'" origin\x3d"0.5,0.5" position\x3d"'+D+","+H+'" color2\x3d"'+E+'" ';p()};f.added?h():f.onAdd=h;h=k}else h=v}else q.test(c)&&"IMG"!==b.tagName?(n=a.color(c),f[d+"-opacitySetter"](n.get("a"),d,b),h=n.get("rgb")):(h=b.getElementsByTagName(d),h.length&&(h[0].opacity=1,h[0].type="solid"),h=c);return h},prepVML:function(a){var c=this.isIE8;a=a.join(""); +c?(a=a.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),a=-1===a.indexOf('style\x3d"')?a.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(#default#VML);" /\x3e'):a.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(#default#VML);')):a=a.replace("\x3c","\x3chcv:");return a},text:q.prototype.html,path:function(a){var c={coordsize:"10 10"};e(a)?c.d=a:h(a)&&m(c,a);return this.createElement("shape").attr(c)},circle:function(a,b,d){var c=this.symbol("circle"); +h(a)&&(d=a.r,b=a.y,a=a.x);c.isCircle=!0;c.r=d;return c.attr({x:a,y:b})},g:function(a){var c;a&&(c={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement("div").attr(c)},image:function(a,b,d,f,e){var c=this.createElement("img").attr({src:a});1f&&m-d*bg&&(F=Math.round((e-m)/Math.cos(f*w)));else if(e=m+(1-d)*b,m-d*bg&&(E=g-a.x+E*d,c=-1),E=Math.min(q, +E),EE||k.autoRotation&&(C.styles||{}).width)F=E;F&&(n.width=F,(k.options.labels.style||{}).textOverflow||(n.textOverflow="ellipsis"),C.css(n))},getPosition:function(a,k,m,e){var g=this.axis,h=g.chart,l=e&&h.oldChartHeight||h.chartHeight;return{x:a?g.translate(k+m,null,null,e)+g.transB:g.left+g.offset+(g.opposite?(e&&h.oldChartWidth||h.chartWidth)-g.right-g.left:0),y:a?l-g.bottom+g.offset-(g.opposite?g.height:0):l-g.translate(k+m,null, +null,e)-g.transB}},getLabelPosition:function(a,k,m,e,g,h,l,f){var d=this.axis,b=d.transA,q=d.reversed,E=d.staggerLines,c=d.tickRotCorr||{x:0,y:0},F=g.y;B(F)||(F=0===d.side?m.rotation?-8:-m.getBBox().height:2===d.side?c.y+8:Math.cos(m.rotation*w)*(c.y-m.getBBox(!1,0).height/2));a=a+g.x+c.x-(h&&e?h*b*(q?-1:1):0);k=k+F-(h&&!e?h*b*(q?1:-1):0);E&&(m=l/(f||1)%E,d.opposite&&(m=E-m-1),k+=d.labelOffset/E*m);return{x:a,y:Math.round(k)}},getMarkPath:function(a,k,m,e,g,h){return h.crispLine(["M",a,k,"L",a+(g? +0:-m),k+(g?m:0)],e)},render:function(a,k,m){var e=this.axis,g=e.options,h=e.chart.renderer,C=e.horiz,f=this.type,d=this.label,b=this.pos,q=g.labels,E=this.gridLine,c=f?f+"Tick":"tick",F=e.tickSize(c),n=this.mark,A=!n,x=q.step,p={},y=!0,u=e.tickmarkOffset,I=this.getPosition(C,b,u,k),M=I.x,I=I.y,v=C&&M===e.pos+e.len||!C&&I===e.pos?-1:1,K=f?f+"Grid":"grid",O=g[K+"LineWidth"],R=g[K+"LineColor"],z=g[K+"LineDashStyle"],K=l(g[c+"Width"],!f&&e.isXAxis?1:0),c=g[c+"Color"];m=l(m,1);this.isActive=!0;E||(p.stroke= +R,p["stroke-width"]=O,z&&(p.dashstyle=z),f||(p.zIndex=1),k&&(p.opacity=0),this.gridLine=E=h.path().attr(p).addClass("highcharts-"+(f?f+"-":"")+"grid-line").add(e.gridGroup));if(!k&&E&&(b=e.getPlotLinePath(b+u,E.strokeWidth()*v,k,!0)))E[this.isNew?"attr":"animate"]({d:b,opacity:m});F&&(e.opposite&&(F[0]=-F[0]),A&&(this.mark=n=h.path().addClass("highcharts-"+(f?f+"-":"")+"tick").add(e.axisGroup),n.attr({stroke:c,"stroke-width":K})),n[A?"attr":"animate"]({d:this.getMarkPath(M,I,F[0],n.strokeWidth()* +v,C,h),opacity:m}));d&&H(M)&&(d.xy=I=this.getLabelPosition(M,I,d,C,q,u,a,x),this.isFirst&&!this.isLast&&!l(g.showFirstLabel,1)||this.isLast&&!this.isFirst&&!l(g.showLastLabel,1)?y=!1:!C||e.isRadial||q.step||q.rotation||k||0===m||this.handleOverflow(I),x&&a%x&&(y=!1),y&&H(I.y)?(I.opacity=m,d[this.isNew?"attr":"animate"](I)):(r(d),d.attr("y",-9999)),this.isNew=!1)},destroy:function(){G(this,this.axis)}}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.AxisPlotLineOrBandExtension, +l=a.color,r=a.correctFloat,w=a.defaultOptions,t=a.defined,k=a.deg2rad,m=a.destroyObjectProperties,e=a.each,g=a.error,h=a.extend,C=a.fireEvent,f=a.format,d=a.getMagnitude,b=a.grep,q=a.inArray,E=a.isArray,c=a.isNumber,F=a.isString,n=a.merge,A=a.normalizeTickInterval,x=a.pick,J=a.PlotLineOrBand,y=a.removeEvent,u=a.splat,I=a.syncTimeout,M=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M", +hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb", +lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15}, +title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,c){var b=c.isX;this.chart=a;this.horiz=a.inverted?!b:b;this.isXAxis=b;this.coll=this.coll||(b?"xAxis":"yAxis");this.opposite=c.opposite;this.side=c.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(c);var d=this.options,v=d.type;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter; +this.userOptions=c;this.minPixelPadding=0;this.reversed=d.reversed;this.visible=!1!==d.visible;this.zoomEnabled=!1!==d.zoomEnabled;this.hasNames="category"===v||!0===d.categories;this.categories=d.categories||this.hasNames;this.names=this.names||[];this.isLog="logarithmic"===v;this.isDatetimeAxis="datetime"===v;this.isLinked=t(d.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom; +this.range=d.range;this.offset=d.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=x(d.crosshair,u(a.options.tooltip.crosshairs)[b?0:1],!1);var f;c=this.options.events;-1===q(this,a.axes)&&(b?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&b&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(f in c)D(this,f,c[f]); +this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=n(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],n(w[this.coll],a))},defaultLabelFormatter:function(){var c=this.axis,b=this.value,d=c.categories,e=this.dateTimeLabelFormat,q=w.lang,u=q.numericSymbols,q=q.numericSymbolMagnitude||1E3,n=u&&u.length,g,y=c.options.labels.format, +c=c.isLog?b:c.tickInterval;if(y)g=f(y,this);else if(d)g=b;else if(e)g=a.dateFormat(e,b);else if(n&&1E3<=c)for(;n--&&void 0===g;)d=Math.pow(q,n+1),c>=d&&0===10*b%d&&null!==u[n]&&0!==b&&(g=a.numberFormat(b/d,-1)+u[n]);void 0===g&&(g=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b,-1,void 0,""));return g},getSeriesExtremes:function(){var a=this,d=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();e(a.series,function(v){if(v.visible|| +!d.options.chart.ignoreHiddenSeries){var f=v.options,e=f.threshold,q;a.hasVisibleSeries=!0;a.isLog&&0>=e&&(e=null);if(a.isXAxis)f=v.xData,f.length&&(v=H(f),c(v)||v instanceof Date||(f=b(f,function(a){return c(a)}),v=H(f)),a.dataMin=Math.min(x(a.dataMin,f[0]),v),a.dataMax=Math.max(x(a.dataMax,f[0]),G(f)));else if(v.getExtremes(),q=v.dataMax,v=v.dataMin,t(v)&&t(q)&&(a.dataMin=Math.min(x(a.dataMin,v),v),a.dataMax=Math.max(x(a.dataMax,q),q)),t(e)&&(a.threshold=e),!f.softThreshold||a.isLog)a.softThreshold= +!1}})},translate:function(a,b,d,f,e,q){var v=this.linkedParent||this,u=1,n=0,g=f?v.oldTransA:v.transA;f=f?v.oldMin:v.min;var K=v.minPixelPadding;e=(v.isOrdinal||v.isBroken||v.isLog&&e)&&v.lin2val;g||(g=v.transA);d&&(u*=-1,n=v.len);v.reversed&&(u*=-1,n-=u*(v.sector||v.len));b?(a=(a*u+n-K)/g+f,e&&(a=v.lin2val(a))):(e&&(a=v.val2lin(a)),a=u*(a-f)*g+n+u*K+(c(q)?g*q:0));return a},toPixels:function(a,c){return this.translate(a,!1,!this.horiz,null,!0)+(c?0:this.pos)},toValue:function(a,c){return this.translate(a- +(c?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,d,f,e){var v=this.chart,q=this.left,u=this.top,n,g,K=d&&v.oldChartHeight||v.chartHeight,y=d&&v.oldChartWidth||v.chartWidth,z;n=this.transB;var h=function(a,c,b){if(ab)f?a=Math.min(Math.max(c,a),b):z=!0;return a};e=x(e,this.translate(a,null,null,d));a=d=Math.round(e+n);n=g=Math.round(K-e-n);c(e)?this.horiz?(n=u,g=K-this.bottom,a=d=h(a,q,q+this.width)):(a=q,d=y-this.right,n=g=h(n,u,u+this.height)):z=!0;return z&&!f?null:v.renderer.crispLine(["M", +a,n,"L",d,g],b||1)},getLinearTickPositions:function(a,b,d){var v,f=r(Math.floor(b/a)*a),e=r(Math.ceil(d/a)*a),q=[];if(b===d&&c(b))return[b];for(b=f;b<=e;){q.push(b);b=r(b+a);if(b===v)break;v=b}return q},getMinorTickPositions:function(){var a=this.options,c=this.tickPositions,b=this.minorTickInterval,d=[],f,e=this.pointRangePadding||0;f=this.min-e;var e=this.max+e,q=e-f;if(q&&q/b=this.minRange,q,u,n,g,y,h;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(t(a.min)||t(a.max)?this.minRange=null:(e(this.series,function(a){g=a.xData;for(u=y=a.xIncrement? +1:g.length-1;0=E?(p=E,m=0):b.dataMax<=E&&(J=E,I=0)),b.min=x(w,p,b.dataMin),b.max=x(B,J,b.dataMax));q&&(!a&&0>=Math.min(b.min, +x(b.dataMin,b.min))&&g(10,1),b.min=r(u(b.min),15),b.max=r(u(b.max),15));b.range&&t(b.max)&&(b.userMin=b.min=w=Math.max(b.min,b.minFromRange()),b.userMax=B=b.max,b.range=null);C(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(l||b.axisPointRange||b.usePercentage||h)&&t(b.min)&&t(b.max)&&(u=b.max-b.min)&&(!t(w)&&m&&(b.min-=u*m),!t(B)&&I&&(b.max+=u*I));c(f.floor)?b.min=Math.max(b.min,f.floor):c(f.softMin)&&(b.min=Math.min(b.min,f.softMin));c(f.ceiling)?b.max=Math.min(b.max, +f.ceiling):c(f.softMax)&&(b.max=Math.max(b.max,f.softMax));M&&t(b.dataMin)&&(E=E||0,!t(w)&&b.min=E?b.min=E:!t(B)&&b.max>E&&b.dataMax<=E&&(b.max=E));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:h&&!k&&F===b.linkedParent.options.tickPixelInterval?k=b.linkedParent.tickInterval:x(k,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,l?1:(b.max-b.min)*F/Math.max(b.len,F));y&&!a&&e(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0); +b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!k&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));a=x(f.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!k&&b.tickIntervalb.tickInterval&&1E3b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval= +b.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,d=a.tickPositioner,f=a.startOnTick,e=a.endOnTick,q;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units), +this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,d&&(d=d.apply(this,[this.min,this.max])))&&(this.tickPositions=b=d);this.isLinked||(this.trimTicks(b,f,e),this.min===this.max&&t(this.min)&&!this.tickAmount&&(q=!0,this.min-=.5,this.max+=.5),this.single=q,c||d||this.adjustTickAmount())}, +trimTicks:function(a,b,c){var d=a[0],f=a[a.length-1],v=this.minPointOffset||0;if(b)this.min=d;else for(;this.min-v>a[0];)a.shift();if(c)this.max=f;else for(;this.max+vb&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,d=this.finalTickAmt,f=b&&b.length;if(fc&&(this.tickInterval*= +2,this.setTickPositions());if(t(d)){for(a=c=b.length;a--;)(3===d&&1===a%2||2>=d&&0=f&&(b=f)),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=this.horiz,f=x(b.width,a.plotWidth-c+(b.offsetRight||0)),e=x(b.height,a.plotHeight),q=x(b.top,a.plotTop),b=x(b.left,a.plotLeft+c),c=/%$/;c.test(e)&&(e=Math.round(parseFloat(e)/ +100*a.plotHeight));c.test(q)&&(q=Math.round(parseFloat(q)/100*a.plotHeight+a.plotTop));this.left=b;this.top=q;this.width=f;this.height=e;this.bottom=a.chartHeight-e-q;this.right=a.chartWidth-f-b;this.len=Math.max(d?f:e,0);this.pos=d?b:q},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?r(b(this.min)):this.min,max:a?r(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=this.lin2log, +d=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=d:d>a?a=d:ba?"right":195a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],d=x(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(d&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,d]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize, +this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,d=c,f=this.len/(((this.categories?1:0)+this.max-this.min)/c),q,u=a.rotation,n=this.labelMetrics(),g,y=Number.MAX_VALUE,h,I=function(a){a/=f||1;a=1=a)g=I(Math.abs(n.h/Math.sin(k*a))),b=g+Math.abs(a/360),b(c.step||0)&&!c.rotation&&(this.staggerLines||1)*a.plotWidth/d||!b&&(f&&f-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,d=this.ticks,f=this.options.labels,q=this.horiz,u=this.getSlotWidth(),g=Math.max(1, +Math.round(u-2*(f.padding||5))),y={},h=this.labelMetrics(),I=f.style&&f.style.textOverflow,A,x=0,m,k;F(f.rotation)||(y.rotation=f.rotation||0);e(c,function(a){(a=d[a])&&a.labelLength>x&&(x=a.labelLength)});this.maxLabelLength=x;if(this.autoRotation)x>g&&x>h.h?y.rotation=this.labelRotation:this.labelRotation=0;else if(u&&(A={width:g+"px"},!I))for(A.textOverflow="clip",m=c.length;!q&&m--;)if(k=c[m],g=d[k].label)g.styles&&"ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):d[k].labelLength> +u&&g.css({width:u+"px"}),g.getBBox().height>this.len/c.length-(h.h-h.f)&&(g.specCss={textOverflow:"ellipsis"});y.rotation&&(A={width:(x>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},I||(A.textOverflow="ellipsis"));if(this.labelAlign=f.align||this.autoLabelAlign(this.labelRotation))y.align=this.labelAlign;e(c,function(a){var b=(a=d[a])&&a.label;b&&(b.attr(y),A&&b.css(n(A,b.specCss)),delete b.specCss,a.rotation=y.rotation)});this.tickRotCorr=b.rotCorr(h.b,this.labelRotation||0,0!==this.side)}, +hasData:function(){return this.hasVisibleSeries||t(this.min)&&t(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,f=a.tickPositions,q=a.ticks,u=a.horiz,n=a.side,g=b.inverted?[1,0,3,2][n]:n,y,h,I=0,A,m=0,k=d.title,F=d.labels,E=0,l=a.opposite,C=b.axisOffset,b=b.clipOffset,p=[-1,1,1,-1][n],r,J=d.className,w=a.axisParent,B=this.tickSize("tick");y=a.hasData();a.showAxis=h=y||x(d.showEmpty,!0);a.staggerLines=a.horiz&&F.staggerLines;a.axisGroup||(a.gridGroup= +c.g("grid").attr({zIndex:d.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(J||"")).add(w),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(J||"")).add(w),a.labelGroup=c.g("axis-labels").attr({zIndex:F.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(J||"")).add(w));if(y||a.isLinked)e(f,function(b){q[b]?q[b].addLabel():q[b]=new M(a,b)}),a.renderUnsquish(),!1===F.reserveSpace||0!==n&&2!==n&&{1:"left",3:"right"}[n]!== +a.labelAlign&&"center"!==a.labelAlign||e(f,function(a){E=Math.max(q[a].getLabelSize(),E)}),a.staggerLines&&(E*=a.staggerLines,a.labelOffset=E*(a.opposite?-1:1));else for(r in q)q[r].destroy(),delete q[r];k&&k.text&&!1!==k.enabled&&(a.axisTitle||((r=k.textAlign)||(r=(u?{low:"left",middle:"center",high:"right"}:{low:l?"right":"left",middle:"center",high:l?"left":"right"})[k.align]),a.axisTitle=c.text(k.text,0,0,k.useHTML).attr({zIndex:7,rotation:k.rotation||0,align:r}).addClass("highcharts-axis-title").css(k.style).add(a.axisGroup), +a.axisTitle.isNew=!0),h&&(I=a.axisTitle.getBBox()[u?"height":"width"],A=k.offset,m=t(A)?0:x(k.margin,u?5:10)),a.axisTitle[h?"show":"hide"](!0));a.renderLine();a.offset=p*x(d.offset,C[n]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===n?-a.labelMetrics().h:2===n?a.tickRotCorr.y:0;m=Math.abs(E)+m;E&&(m=m-c+p*(u?x(F.y,a.tickRotCorr.y+8*p):F.x));a.axisTitleMargin=x(A,m);C[n]=Math.max(C[n],a.axisTitleMargin+I+p*a.offset,m,y&&f.length&&B?B[0]:0);d=d.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[g]= +Math.max(b[g],d)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,f=this.horiz,e=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",f?this.left:e,f?d:this.top,"L",f?b.chartWidth-this.right:e,f?d:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor, +"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,f=this.options.title,e=a?b:c,q=this.opposite,u=this.offset,n=f.x||0,g=f.y||0,y=this.chart.renderer.fontMetrics(f.style&&f.style.fontSize,this.axisTitle).f,d={low:e+(a?0:d),middle:e+d/2,high:e+(a?d:0)}[f.align],b=(a?c+this.height:b)+(a?1:-1)*(q?-1:1)*this.axisTitleMargin+(2===this.side?y:0);return{x:a?d+n:b+(q?this.width:0)+u+n,y:a?b+g-(q?this.height:0)+u:d+g}},render:function(){var a= +this,b=a.chart,d=b.renderer,f=a.options,q=a.isLog,u=a.lin2log,n=a.isLinked,g=a.tickPositions,y=a.axisTitle,h=a.ticks,A=a.minorTicks,x=a.alternateBands,m=f.stackLabels,k=f.alternateGridColor,F=a.tickmarkOffset,E=a.axisLine,l=b.hasRendered&&c(a.oldMin),C=a.showAxis,p=B(d.globalAnimation),r,t;a.labelEdge.length=0;a.overlap=!1;e([h,A,x],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||n)a.minorTickInterval&&!a.categories&&e(a.getMinorTickPositions(),function(b){A[b]||(A[b]=new M(a,b,"minor")); +l&&A[b].isNew&&A[b].render(null,!0);A[b].render(null,!1,1)}),g.length&&(e(g,function(b,c){if(!n||b>=a.min&&b<=a.max)h[b]||(h[b]=new M(a,b)),l&&h[b].isNew&&h[b].render(c,!0,.1),h[b].render(c)}),F&&(0===a.min||a.single)&&(h[-1]||(h[-1]=new M(a,-1,null,!0)),h[-1].render(-1))),k&&e(g,function(c,d){t=void 0!==g[d+1]?g[d+1]+F:a.max-F;0===d%2&&c=e.second?0:A*Math.floor(c.getMilliseconds()/A));if(n>=e.second)c[B.hcSetSeconds](n>=e.minute?0:A*Math.floor(c.getSeconds()/ +A));if(n>=e.minute)c[B.hcSetMinutes](n>=e.hour?0:A*Math.floor(c[B.hcGetMinutes]()/A));if(n>=e.hour)c[B.hcSetHours](n>=e.day?0:A*Math.floor(c[B.hcGetHours]()/A));if(n>=e.day)c[B.hcSetDate](n>=e.month?1:A*Math.floor(c[B.hcGetDate]()/A));n>=e.month&&(c[B.hcSetMonth](n>=e.year?0:A*Math.floor(c[B.hcGetMonth]()/A)),g=c[B.hcGetFullYear]());if(n>=e.year)c[B.hcSetFullYear](g-g%A);if(n===e.week)c[B.hcSetDate](c[B.hcGetDate]()-c[B.hcGetDay]()+m(f,1));g=c[B.hcGetFullYear]();f=c[B.hcGetMonth]();var C=c[B.hcGetDate](), +y=c[B.hcGetHours]();if(B.hcTimezoneOffset||B.hcGetTimezoneOffset)x=(!q||!!B.hcGetTimezoneOffset)&&(k-h>4*e.month||t(h)!==t(k)),c=c.getTime(),c=new B(c+t(c));q=c.getTime();for(h=1;qr&&(!t||b<=w)&&void 0!==b&&h.push(b),b>w&&(q=!0),b=d;else r=e(r),w= +e(w),a=k[t?"minorTickInterval":"tickInterval"],a=p("auto"===a?null:a,this._minorAutoInterval,k.tickPixelInterval/(t?5:1)*(w-r)/((t?m/this.tickPositions.length:m)||1)),a=H(a,null,B(a)),h=G(this.getLinearTickPositions(a,r,w),g),t||(this._minorAutoInterval=a/5);t||(this.tickInterval=a);return h};D.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};D.prototype.lin2log=function(a){return Math.pow(10,a)}})(N);(function(a){var D=a.dateFormat,B=a.each,G=a.extend,H=a.format,p=a.isNumber,l=a.map,r= +a.merge,w=a.pick,t=a.splat,k=a.stop,m=a.syncTimeout,e=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,e){this.chart=a;this.options=e;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=e.split&&!a.inverted;this.shared=e.shared||this.split},cleanSplit:function(a){B(this.chart.series,function(e){var g=e&&e.tt;g&&(!g.isActive||a?e.tt=g.destroy():g.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,e=this.options;this.label|| +(this.split?this.label=a.g("tooltip"):(this.label=a.label("",0,0,e.shape||"callout",null,null,e.useHTML,null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),this.label.attr({fill:e.backgroundColor,"stroke-width":e.borderWidth}).css(e.style).shadow(e.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,r(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart, +!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,e,m,f){var d=this,b=d.now,q=!1!==d.options.animation&&!d.isHidden&&(1h-q?h:h-q);else if(v)b[a]=Math.max(g,e+q+f>c?e:e+q);else return!1},x=function(a,c,f,e){var q;ec-d?q=!1:b[a]=ec-f/2?c-f-2:e-f/2;return q},k=function(a){var b=c;c=h;h=b;g=a},y=function(){!1!==A.apply(0,c)?!1!==x.apply(0,h)||g||(k(!0),y()):g?b.x=b.y=0:(k(!0),y())};(f.inverted||1y&&(q=!1);a=(e.series&&e.series.yAxis&&e.series.yAxis.pos)+(e.plotY||0);a-=d.plotTop;f.push({target:e.isHeader?d.plotHeight+c:a,rank:e.isHeader?1:0,size:n.tt.getBBox().height+1,point:e,x:y,tt:A})});this.cleanSplit(); +a.distribute(f,d.plotHeight+c);B(f,function(a){var b=a.point;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:q||b.isHeader?a.x:b.plotX+d.plotLeft+w(m.distance,16),y:a.pos+d.plotTop,anchorX:b.plotX+d.plotLeft,anchorY:b.isHeader?a.pos+d.plotTop-15:b.plotY+d.plotTop})})},updatePosition:function(a){var e=this.chart,g=this.getLabel(),g=(this.options.positioner||this.getPosition).call(this,g.width,g.height,a);this.move(Math.round(g.x),Math.round(g.y||0),a.plotX+e.plotLeft,a.plotY+e.plotTop)}, +getXDateFormat:function(a,h,m){var f;h=h.dateTimeLabelFormats;var d=m&&m.closestPointRange,b,q={millisecond:15,second:12,minute:9,hour:6,day:3},g,c="millisecond";if(d){g=D("%m-%d %H:%M:%S.%L",a.x);for(b in e){if(d===e.week&&+D("%w",a.x)===m.options.startOfWeek&&"00:00:00.000"===g.substr(6)){b="week";break}if(e[b]>d){b=c;break}if(q[b]&&g.substr(q[b])!=="01-01 00:00:00.000".substr(q[b]))break;"week"!==b&&(c=b)}b&&(f=h[b])}else f=h.day;return f||h.year},tooltipFooterHeaderFormatter:function(a,e){var g= +e?"footer":"header";e=a.series;var f=e.tooltipOptions,d=f.xDateFormat,b=e.xAxis,q=b&&"datetime"===b.options.type&&p(a.key),g=f[g+"Format"];q&&!d&&(d=this.getXDateFormat(a,f,b));q&&d&&(g=g.replace("{point.key}","{point.key:"+d+"}"));return H(g,{point:a,series:e})},bodyFormatter:function(a){return l(a,function(a){var e=a.series.tooltipOptions;return(e.pointFormatter||a.point.tooltipFormatter).call(a.point,e.pointFormat)})}}})(N);(function(a){var D=a.addEvent,B=a.attr,G=a.charts,H=a.color,p=a.css,l= +a.defined,r=a.doc,w=a.each,t=a.extend,k=a.fireEvent,m=a.offset,e=a.pick,g=a.removeEvent,h=a.splat,C=a.Tooltip,f=a.win;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=b.chart.events&&!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};C&&b.tooltip.enabled&&(a.tooltip=new C(a,b.tooltip),this.followTouchMove=e(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,d=b.options.chart, +f=d.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(f=e(d.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=f=/y/.test(f);this.zoomHor=a&&!b||f&&b;this.zoomVert=f&&!b||a&&b;this.hasZoom=a||f},normalize:function(a,b){var d,e;a=a||f.event;a.target||(a.target=a.srcElement);e=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=m(this.chart.container));void 0===e.pageX?(d=Math.max(a.x,a.clientX-b.left),b=a.y):(d=e.pageX-b.left,b=e.pageY-b.top);return t(a,{chartX:Math.round(d), +chartY:Math.round(b)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};w(this.chart.axes,function(d){b[d.isXAxis?"xAxis":"yAxis"].push({axis:d,value:d.toValue(a[d.horiz?"chartX":"chartY"])})});return b},runPointActions:function(d){var b=this.chart,f=b.series,g=b.tooltip,c=g?g.shared:!1,h=!0,n=b.hoverPoint,m=b.hoverSeries,x,k,y,u=[],I;if(!c&&!m)for(x=0;xb.series.index?-1:1}));if(c)for(x=u.length;x--;)(u[x].x!==u[0].x||u[x].series.noSharedTooltip)&&u.splice(x,1);if(u[0]&&(u[0]!==this.prevKDPoint||g&&g.isHidden)){if(c&& +!u[0].series.noSharedTooltip){for(x=0;xh+k&&(f=h+k),cm+y&&(c=m+y),this.hasDragged=Math.sqrt(Math.pow(l-f,2)+Math.pow(v-c,2)),10x.max&&(l=x.max-c,v=!0);v?(u-=.8*(u-g[f][0]),J||(M-=.8*(M-g[f][1])),p()):g[f]=[u,M];A||(e[f]=F-E,e[q]=c);e=A?1/n:n;m[q]=c;m[f]=l;k[A?a?"scaleY":"scaleX":"scale"+d]=n;k["translate"+d]=e* +E+(u-e*y)},pinch:function(a){var r=this,t=r.chart,k=r.pinchDown,m=a.touches,e=m.length,g=r.lastValidTouch,h=r.hasZoom,C=r.selectionMarker,f={},d=1===e&&(r.inClass(a.target,"highcharts-tracker")&&t.runTrackerClick||r.runChartClick),b={};1b-6&&n(u||d.chartWidth- +2*x-v-e.x)&&(this.itemX=v,this.itemY+=p+this.lastLineHeight+I,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,c);this.lastItemY=p+this.itemY+I;this.lastLineHeight=Math.max(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=c:(this.itemY+=p+g+I,this.lastLineHeight=g);this.offsetWidth=u||Math.max((f?this.itemX-v-l:c)+x,this.offsetWidth)},getAllItems:function(){var a=[];l(this.chart.series,function(d){var b=d&&d.options;d&&m(b.showInLegend,p(b.linkedTo)? +!1:void 0,!0)&&(a=a.concat(d.legendItems||("point"===b.legendType?d.data:d)))});return a},adjustMargins:function(a,d){var b=this.chart,e=this.options,f=e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0);e.floating||l([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(c,g){c.test(f)&&!p(a[g])&&(b[t[g]]=Math.max(b[t[g]],b.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*e[g%2?"x":"y"]+m(e.margin,12)+d[g]))})},render:function(){var a=this,d=a.chart,b=d.renderer, +e=a.group,h,c,m,n,k=a.box,x=a.options,p=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;e||(a.group=e=b.g("legend").attr({zIndex:7}).add(),a.contentGroup=b.g().attr({zIndex:1}).add(e),a.scrollGroup=b.g().add(a.contentGroup));a.renderTitle();h=a.getAllItems();g(h,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});x.reversed&&h.reverse();a.allItems=h;a.display=c=!!h.length;a.lastLineHeight=0;l(h,function(b){a.renderItem(b)}); +m=(x.width||a.offsetWidth)+p;n=a.lastItemY+a.lastLineHeight+a.titleHeight;n=a.handleOverflow(n);n+=p;k||(a.box=k=b.rect().addClass("highcharts-legend-box").attr({r:x.borderRadius}).add(e),k.isNew=!0);k.attr({stroke:x.borderColor,"stroke-width":x.borderWidth||0,fill:x.backgroundColor||"none"}).shadow(x.shadow);0b&&!1!==h.enabled?(this.clipHeight=g=Math.max(b-20-this.titleHeight-I,0),this.currentPage=m(this.currentPage,1),this.fullHeight=a,l(v,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=u.length;if(!d||c-u[d-1]>g&&(r||c)!==u[d-1])u.push(r||c),d++;b===v.length-1&&c+a-u[d-1]>g&&u.push(c);c!==r&&(r=c)}),n||(n=d.clipRect= +e.clipRect(0,I,9999,0),d.contentGroup.clip(n)),t(g),y||(this.nav=y=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,p,p).on("click",function(){d.scroll(-1,k)}).add(y),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").css(h.style).add(y),this.down=e.symbol("triangle-down",0,0,p,p).on("click",function(){d.scroll(1,k)}).add(y)),d.scroll(0),a=b):y&&(t(),y.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,d){var b=this.pages, +f=b.length;a=this.currentPage+a;var g=this.clipHeight,c=this.options.navigation,h=this.pager,n=this.padding;a>f&&(a=f);0f&&(g=typeof a[0],"string"===g?e.name=a[0]:"number"===g&&(e.x=a[0]),d++);b=h.value;)h=e[++g];h&&h.color&&!this.options.color&&(this.color=h.color);return h},destroy:function(){var a=this.series.chart,e=a.hoverPoints,g;a.pointCount--;e&&(this.setState(),H(e,this),e.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)k(this), +this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],e,g=6;g--;)e=a[g],this[e]&&(this[e]=this[e].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var e=this.series,g= +e.tooltipOptions,h=t(g.valueDecimals,""),k=g.valuePrefix||"",f=g.valueSuffix||"";B(e.pointArrayMap||["y"],function(d){d="{point."+d;if(k||f)a=a.replace(d+"}",k+d+"}"+f);a=a.replace(d+"}",d+":,."+h+"f}")});return l(a,{point:this,series:this.series})},firePointEvent:function(a,e,g){var h=this,k=this.series.options;(k.point.events[a]||h.options&&h.options.events&&h.options.events[a])&&this.importEvents();"click"===a&&k.allowPointSelect&&(g=function(a){h.select&&h.select(null,a.ctrlKey||a.metaKey||a.shiftKey)}); +p(this,a,e,g)},visible:!0}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.correctFloat,l=a.Date,r=a.defaultOptions,w=a.defaultPlotOptions,t=a.defined,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.fireEvent,C=a.grep,f=a.isArray,d=a.isNumber,b=a.isString,q=a.merge,E=a.pick,c=a.removeEvent,F=a.splat,n=a.stableSort,A=a.SVGElement,x=a.syncTimeout,J=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{}, +marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1, +marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,d,e,f=a.series,u,y=function(a,b){return E(a.options.index,a._i)-E(b.options.index,b._i)};c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();g(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0=== +b.selected});e=b.events;for(d in e)D(c,d,e[d]);if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();k(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);f.length&&(u=f[f.length-1]);c._i=E(u&&u._i,-1)+1;f.push(c);n(f,y);this.yAxis&&n(this.yAxis.series,y);k(f,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a=this,b=a.options,c=a.chart, +d;k(a.axisTypes||[],function(f){k(c[f],function(c){d=c.options;if(b[f]===d.index||void 0!==b[f]&&b[f]===d.id||void 0===b[f]&&0===d.index)c.series.push(a),a[f]=c,c.isDirty=!0});a[f]||a.optionalAxis===f||e(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,e=arguments,f=d(b)?function(d){var e="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=e}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(e,2))};k(c.parallelArrays,f)},autoIncrement:function(){var a=this.options, +b=this.xIncrement,c,d=a.pointIntervalUnit,b=E(b,a.pointStart,0);this.pointInterval=c=E(this.pointInterval,a.pointInterval,1);d&&(a=new l(b),"day"===d?a=+a[l.hcSetDate](a[l.hcGetDate]()+c):"month"===d?a=+a[l.hcSetMonth](a[l.hcGetMonth]()+c):"year"===d&&(a=+a[l.hcSetFullYear](a[l.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=q(e,c.series,a);this.tooltipOptions= +q(r.tooltip,r.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);null===e.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative",color:c.negativeColor,fillColor:c.negativeFillColor});a.length&&t(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor}); +return c},getCyclic:function(a,b,c){var d,e=this.userOptions,f=a+"Index",g=a+"Counter",u=c?c.length:E(this.chart.options.chart[a+"Count"],this.chart[a+"Count"]);b||(d=E(e[f],e["_"+f]),t(d)||(e["_"+f]=d=this.chart[g]%u,this.chart[g]+=1),c&&(b=c[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||w[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol, +this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(a,c,g,n){var u=this,q=u.points,h=q&&q.length||0,y,m=u.options,x=u.chart,A=null,I=u.xAxis,l=m.turboThreshold,p=this.xData,r=this.yData,F=(y=u.pointArrayMap)&&y.length;a=a||[];y=a.length;c=E(c,!0);if(!1!==n&&y&&h===y&&!u.cropped&&!u.hasGroupedData&&u.visible)k(a,function(a,b){q[b].update&&a!==m.data[b]&&q[b].update(a,!1,null,!1)});else{u.xIncrement=null;u.colorCounter=0;k(this.parallelArrays,function(a){u[a+ +"Data"].length=0});if(l&&y>l){for(g=0;null===A&&gh||this.forceCrop))if(b[d-1]l)b=[],c=[];else if(b[0]l)f=this.cropData(this.xData,this.yData,A,l),b=f.xData,c=f.yData,f=f.start,g=!0;for(h=b.length||1;--h;)d=x?y(b[h])-y(b[h-1]):b[h]-b[h-1],0d&&this.requireSorting&&e(15);this.cropped=g;this.cropStart=f;this.processedXData=b;this.processedYData=c;this.closestPointRange=n},cropData:function(a,b,c,d){var e=a.length,f=0,g=e,n=E(this.cropShoulder,1),u;for(u=0;u=c){f=Math.max(0,u- +n);break}for(c=u;cd){g=c+n;break}return{xData:a.slice(f,g),yData:b.slice(f,g),start:f,end:g}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,n=this.cropStart||0,q,h=this.hasGroupedData,k,m=[],x;b||h||(b=[],b.length=a.length,b=this.data=b);for(x=0;x=q&&(c[x-1]||k)<=h,y&&k)if(y=m.length)for(;y--;)null!==m[y]&&(g[n++]=m[y]);else g[n++]=m;this.dataMin=H(g);this.dataMax=G(g)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,e=c.categories,f=this.yAxis,g=this.points,n=g.length,q=!!this.modifyValue,h=a.pointPlacement,k="between"===h||d(h),m=a.threshold,x=a.startFromThreshold?m:0,A,l,r,F,J=Number.MAX_VALUE;"between"===h&&(h=.5);d(h)&&(h*=E(a.pointRange||c.pointRange)); +for(a=0;a=B&&(C.isNull=!0);C.plotX=A=p(Math.min(Math.max(-1E5,c.translate(w,0,0,0,1,h,"flags"===this.type)),1E5));b&&this.visible&&!C.isNull&&D&&D[w]&&(F=this.getStackIndicator(F,w,this.index),G=D[w],B=G.points[F.key],l=B[0],B=B[1],l===x&&F.key===D[w].base&&(l=E(m,f.min)),f.isLog&&0>=l&&(l=null),C.total=C.stackTotal=G.total,C.percentage=G.total&&C.y/G.total*100,C.stackY= +B,G.setOffset(this.pointXOffset||0,this.barW||0));C.yBottom=t(l)?f.translate(l,0,1,0,1):null;q&&(B=this.modifyValue(B,C));C.plotY=l="number"===typeof B&&Infinity!==B?Math.min(Math.max(-1E5,f.translate(B,0,1,0,1)),1E5):void 0;C.isInside=void 0!==l&&0<=l&&l<=f.len&&0<=A&&A<=c.len;C.clientX=k?p(c.translate(w,0,0,0,1,h)):A;C.negative=C.y<(m||0);C.category=e&&void 0!==e[C.x]?e[C.x]:C.x;C.isNull||(void 0!==r&&(J=Math.min(J,Math.abs(A-r))),r=A)}this.closestPointRangePx=J},getValidPoints:function(a,b){var c= +this.chart;return C(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,f=this.clipBox,g=f||b.clipBox,n=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,g.height,c.xAxis,c.yAxis].join(),q=b[n],h=b[n+"m"];q||(a&&(g.width=0,b[n+"m"]=h=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[n]=q=d.clipRect(g),q.count={length:0});a&&!q.count[this.index]&& +(q.count[this.index]=!0,q.count.length+=1);!1!==c.clip&&(this.group.clip(a||f?q:b.clipRect),this.markerGroup.clip(h),this.sharedClipKey=n);a||(q.count[this.index]&&(delete q.count[this.index],--q.count.length),0===q.count.length&&n&&b[n]&&(f||(b[n]=b[n].destroy()),b[n+"m"]&&(b[n+"m"]=b[n+"m"].destroy())))},animate:function(a){var b=this.chart,c=B(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+ +99},c),this.animate=null)},afterAnimate:function(){this.setClip();h(this,"afterAnimate")},drawPoints:function(){var a=this.points,b=this.chart,c,e,f,g,n=this.options.marker,q,h,k,m,x=this.markerGroup,A=E(n.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>2*n.radius);if(!1!==n.enabled||this._hasPointMarkers)for(e=a.length;e--;)f=a[e],c=f.plotY,g=f.graphic,q=f.marker||{},h=!!f.marker,k=A&&void 0===q.enabled||q.enabled,m=f.isInside,k&&d(c)&&null!==f.y?(c=E(q.symbol,this.symbol),f.hasImage= +0===c.indexOf("url"),k=this.markerAttribs(f,f.selected&&"select"),g?g[m?"show":"hide"](!0).animate(k):m&&(0e&&b.shadow));g&&(g.startX=c.xMap, +g.isArea=c.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,f,g=this.clips||[],n,q=this.graph,h=this.area,m=Math.max(b.chartWidth,b.chartHeight),x=this[(this.zoneAxis||"y")+"Axis"],A,l,p=b.inverted,r,F,C,t,J=!1;d.length&&(q||h)&&x&&void 0!==x.min&&(l=x.reversed,r=x.horiz,q&&q.hide(),h&&h.hide(),A=x.getExtremes(),k(d,function(d,u){e=l?r?b.plotWidth:0:r?0:x.toPixels(A.min);e=Math.min(Math.max(E(f,e),0),m);f=Math.min(Math.max(Math.round(x.toPixels(E(d.value,A.max), +!0)),0),m);J&&(e=f=x.toPixels(A.max));F=Math.abs(e-f);C=Math.min(e,f);t=Math.max(e,f);x.isXAxis?(n={x:p?t:C,y:0,width:F,height:m},r||(n.x=b.plotHeight-n.x)):(n={x:0,y:p?t:C,width:m,height:F},r&&(n.y=b.plotWidth-n.y));p&&c.isVML&&(n=x.isXAxis?{x:0,y:l?C:t,height:n.width,width:b.chartWidth}:{x:n.y-b.plotLeft-b.spacingBox.x,y:0,width:n.height,height:b.chartHeight});g[u]?g[u].animate(n):(g[u]=c.clipRect(n),q&&a["zone-graph-"+u].clip(g[u]),h&&a["zone-area-"+u].clip(g[u]));J=d.value>A.max}),this.clips= +g)},invertGroups:function(a){function b(){var b={width:c.yAxis.len,height:c.xAxis.len};k(["group","markerGroup"],function(d){c[d]&&c[d].attr(b).invert(a)})}var c=this,d;c.xAxis&&(d=D(c.chart,"resize",b),D(c,"destroy",d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({zIndex:d||.1}).add(e),f.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className|| +"")));f.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&B(d.animation).duration,f=a.visible?"inherit":"hidden",g=d.zIndex,n=a.hasRendered,q=b.seriesGroup,h=b.inverted;c=a.plotGroup("group","series",f,g,q);a.markerGroup= +a.plotGroup("markerGroup","markers",f,g,q);e&&a.animate(!0);c.inverted=a.isCartesian?h:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(h);!1===d.clip||a.sharedClipKey||n||c.clip(b.clipRect);e&&a.animate();n||(a.animationTimeout=x(function(){a.afterAnimate()},e));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty|| +this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:E(d&&d.left,a.plotLeft),translateY:E(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)}, +buildKDTree:function(){function a(c,d,e){var f,g;if(g=c&&c.length)return f=b.kdAxisArray[d%e],c.sort(function(a,b){return a[f]-b[f]}),g=Math.floor(g/2),{point:c[g],left:a(c.slice(0,g),d+1,e),right:a(c.slice(g+1),d+1,e)}}var b=this,c=b.kdDimensions;delete b.kdTree;x(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,n,q){var h=b.point,u=d.kdAxisArray[n%q],k,m,x=h;m=t(a[e])&&t(h[e])?Math.pow(a[e]-h[e],2):null;k=t(a[f])&& +t(h[f])?Math.pow(a[f]-h[f],2):null;k=(m||0)+(k||0);h.dist=t(k)?Math.sqrt(k):Number.MAX_VALUE;h.distX=t(m)?Math.sqrt(m):Number.MAX_VALUE;u=a[u]-h[u];k=0>u?"left":"right";m=0>u?"right":"left";b[k]&&(k=c(a,b[k],n+1,q),x=k[g]A;)l--;this.updateParallelArrays(h,"splice",l,0,0);this.updateParallelArrays(h,l);n&&h.name&&(n[A]=h.name);q.splice(l,0,a);m&&(this.data.splice(l,0,null),this.processData());"point"===c.legendType&&this.generatePoints();d&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(h,"shift"),q.shift()));this.isDirtyData=this.isDirty=!0;b&&g.redraw(e)},removePoint:function(a, +b,d){var c=this,e=c.data,f=e[a],g=c.points,n=c.chart,h=function(){g&&g.length===e.length&&g.splice(a,1);e.splice(a,1);c.options.data.splice(a,1);c.updateParallelArrays(f||{series:c},"splice",a,1);f&&f.destroy();c.isDirty=!0;c.isDirtyData=!0;b&&n.redraw()};q(d,n);b=C(b,!0);f?f.firePointEvent("remove",null,h):h()},remove:function(a,b,d){function c(){e.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();C(a,!0)&&f.redraw(b)}var e=this,f=e.chart;!1!==d?k(e,"remove",null,c):c()},update:function(a, +d){var c=this,e=this.chart,f=this.userOptions,g=this.type,q=a.type||f.type||e.options.chart.type,u=b[g].prototype,m=["group","markerGroup","dataLabelsGroup"],k;if(q&&q!==g||void 0!==a.zIndex)m.length=0;r(m,function(a){m[a]=c[a];delete c[a]});a=h(f,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(k in u)this[k]=void 0;t(this,b[q||g].prototype);r(m,function(a){c[a]=m[a]});this.init(e,a);e.linkSeries();C(d,!0)&&e.redraw(!1)}});t(G.prototype, +{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=h(this.userOptions,a);this.destroy(!0);this.init(c,t(a,{events:void 0}));c.isDirtyBox=!0;C(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);w(b.axes,this);w(b[c],this);b.options[c].splice(this.options.index,1);r(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;C(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a}, +b)},setCategories:function(a,b){this.update({categories:a},b)}})})(N);(function(a){var D=a.color,B=a.each,G=a.map,H=a.pick,p=a.Series,l=a.seriesType;l("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],l=[],p=this.xAxis,k=this.yAxis,m=k.stacks[this.stackKey],e={},g=this.points,h=this.index,C=k.series,f=C.length,d,b=H(k.options.reversedStacks,!0)?1:-1,q,E;if(this.options.stacking){for(q=0;qa&&t>l?(t=Math.max(a,l),m=2*l-t):tH&& +m>l?(m=Math.max(H,l),t=2*l-m):m=Math.abs(g)&&.5a.closestPointRange*a.xAxis.transA,k=a.borderWidth=r(h.borderWidth,k?0:1),f=a.yAxis,d=a.translatedThreshold=f.getThreshold(h.threshold),b=r(h.minPointLength,5),q=a.getColumnMetrics(),m=q.width,c=a.barW=Math.max(m,1+2*k),l=a.pointXOffset= +q.offset;g.inverted&&(d-=.5);h.pointPadding&&(c=Math.ceil(c));w.prototype.translate.apply(a);G(a.points,function(e){var n=r(e.yBottom,d),q=999+Math.abs(n),q=Math.min(Math.max(-q,e.plotY),f.len+q),h=e.plotX+l,k=c,u=Math.min(q,n),p,t=Math.max(q,n)-u;Math.abs(t)b?n-b:d-(p?b:0));e.barX=h;e.pointWidth=m;e.tooltipPos=g.inverted?[f.len+f.pos-g.plotLeft-q,a.xAxis.len-h-k/2,t]:[h+k/2,q+f.pos-g.plotTop,t];e.shapeType="rect";e.shapeArgs= +a.crispCol.apply(a,e.isNull?[e.plotX,f.len/2,0,0]:[h,u,k,t])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,g){var e=this.options,k=this.pointAttrToOptions||{},f=k.stroke||"borderColor",d=k["stroke-width"]||"borderWidth",b=a&&a.color||this.color,q=a[f]||e[f]||this.color||b,k=e.dashStyle,m;a&&this.zones.length&&(b=(b=a.getZone())&&b.color||a.options.color|| +this.color);g&&(g=e.states[g],m=g.brightness,b=g.color||void 0!==m&&B(b).brighten(g.brightness).get()||b,q=g[f]||q,k=g.dashStyle||k);a={fill:b,stroke:q,"stroke-width":a[d]||e[d]||this[d]||0};e.borderRadius&&(a.r=e.borderRadius);k&&(a.dashstyle=k);return a},drawPoints:function(){var a=this,g=this.chart,h=a.options,m=g.renderer,f=h.animationLimit||250,d;G(a.points,function(b){var e=b.graphic;p(b.plotY)&&null!==b.y?(d=b.shapeArgs,e?(k(e),e[g.pointCountt;++t)k=r[t],a=2>t||2===t&&/%$/.test(k),r[t]=B(k,[l,H,w,r[2]][t])+(a?p:0);r[3]>r[2]&&(r[3]=r[2]);return r}}})(N);(function(a){var D=a.addEvent,B=a.defined,G=a.each,H=a.extend,p=a.inArray,l=a.noop,r=a.pick,w=a.Point,t=a.Series,k=a.seriesType,m=a.setAnimation;k("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y? +void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var e=this,h=e.points,k=e.startAngleRad;a||(G(h,function(a){var d= +a.graphic,b=a.shapeArgs;d&&(d.attr({r:a.startR||e.center[3]/2,start:k,end:k}),d.animate({r:b.r,start:b.start,end:b.end},e.options.animation))}),e.animate=null)},updateTotals:function(){var a,g=0,h=this.points,k=h.length,f,d=this.options.ignoreHiddenPoint;for(a=0;af.y&&(f.y=null),g+=d&&!f.visible?0:f.y;this.total=g;for(a=0;a1.5*Math.PI?q-=2*Math.PI:q<-Math.PI/2&&(q+=2*Math.PI);t.slicedTranslation={translateX:Math.round(Math.cos(q)*k),translateY:Math.round(Math.sin(q)*k)};d=Math.cos(q)*a[2]/2;b=Math.sin(q)*a[2]/2;t.tooltipPos=[a[0]+.7*d,a[1]+.7*b];t.half=q<-Math.PI/2||q>Math.PI/2?1:0;t.angle=q;f=Math.min(f,n/5);t.labelPos=[a[0]+d+Math.cos(q)*n,a[1]+b+Math.sin(q)*n,a[0]+d+Math.cos(q)*f,a[1]+b+Math.sin(q)* +f,a[0]+d,a[1]+b,0>n?"center":t.half?"right":"left",q]}},drawGraph:null,drawPoints:function(){var a=this,g=a.chart.renderer,h,k,f,d,b=a.options.shadow;b&&!a.shadowGroup&&(a.shadowGroup=g.g("shadow").add(a.group));G(a.points,function(e){if(null!==e.y){k=e.graphic;d=e.shapeArgs;h=e.sliced?e.slicedTranslation:{};var q=e.shadowGroup;b&&!q&&(q=e.shadowGroup=g.g("shadow").add(a.shadowGroup));q&&q.attr(h);f=a.pointAttribs(e,e.selected&&"select");k?k.setRadialReference(a.center).attr(f).animate(H(d,h)):(e.graphic= +k=g[e.shapeType](d).addClass(e.getClassName()).setRadialReference(a.center).attr(h).add(a.group),e.visible||k.attr({visibility:"hidden"}),k.attr(f).attr({"stroke-linejoin":"round"}).shadow(b,q))}})},searchPoint:l,sortByAngle:function(a,g){a.sort(function(a,e){return void 0!==a.angle&&(e.angle-a.angle)*g})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:l},{init:function(){w.prototype.init.apply(this,arguments);var a=this,g;a.name=r(a.name,"Slice"); +g=function(e){a.slice("select"===e.type)};D(a,"select",g);D(a,"unselect",g);return a},setVisible:function(a,g){var e=this,k=e.series,f=k.chart,d=k.options.ignoreHiddenPoint;g=r(g,d);a!==e.visible&&(e.visible=e.options.visible=a=void 0===a?!e.visible:a,k.options.data[p(e,k.data)]=e.options,G(["graphic","dataLabel","connector","shadowGroup"],function(b){if(e[b])e[b][a?"show":"hide"](!0)}),e.legendItem&&f.legend.colorizeItem(e,a),a||"hover"!==e.state||e.setState(""),d&&(k.isDirty=!0),g&&f.redraw())}, +slice:function(a,g,h){var e=this.series;m(h,e.chart);r(g,!0);this.sliced=this.options.sliced=a=B(a)?a:!this.sliced;e.options.data[p(this,e.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)},haloPath:function(a){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+a,e.r+a,{innerR:this.shapeArgs.r,start:e.start,end:e.end})}})})(N);(function(a){var D= +a.addEvent,B=a.arrayMax,G=a.defined,H=a.each,p=a.extend,l=a.format,r=a.map,w=a.merge,t=a.noop,k=a.pick,m=a.relativeLength,e=a.Series,g=a.seriesTypes,h=a.stableSort,C=a.stop;a.distribute=function(a,d){function b(a,b){return a.target-b.target}var e,f=!0,c=a,g=[],n;n=0;for(e=a.length;e--;)n+=a[e].size;if(n>d){h(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(n=e=0;n<=d;)n+=a[e].size,e++;g=a.splice(e-1,a.length)}h(a,b);for(a=r(a,function(a){return{size:a.size,targets:[a.target]}});f;){for(e=a.length;e--;)f= +a[e],n=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=Math.min(Math.max(0,n-f.size/2),d-f.size);e=a.length;for(f=!1;e--;)0a[e].pos&&(a[e-1].size+=a[e].size,a[e-1].targets=a[e-1].targets.concat(a[e].targets),a[e-1].pos+a[e-1].size>d&&(a[e-1].pos=d-a[e-1].size),a.splice(e,1),f=!0)}e=0;H(a,function(a){var b=0;H(a.targets,function(){c[e].pos=a.pos+b;b+=c[e].size;e++})});c.push.apply(c,g);h(c,b)};e.prototype.drawDataLabels=function(){var a=this,d=a.options, +b=d.dataLabels,e=a.points,g,c,h=a.hasRendered||0,n,m,x=k(b.defer,!0),r=a.chart.renderer;if(b.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(b),m=a.plotGroup("dataLabelsGroup","data-labels",x&&!h?"hidden":"visible",b.zIndex||6),x&&(m.attr({opacity:+h}),h||D(a,"afterAnimate",function(){a.visible&&m.show(!0);m[d.animation?"animate":"attr"]({opacity:1},{duration:200})})),c=b,H(e,function(e){var f,q=e.dataLabel,h,x,A=e.connector,y=!0,t,z={};g=e.dlOptions||e.options&&e.options.dataLabels; +f=k(g&&g.enabled,c.enabled)&&null!==e.y;if(q&&!f)e.dataLabel=q.destroy();else if(f){b=w(c,g);t=b.style;f=b.rotation;h=e.getLabelConfig();n=b.format?l(b.format,h):b.formatter.call(h,b);t.color=k(b.color,t.color,a.color,"#000000");if(q)G(n)?(q.attr({text:n}),y=!1):(e.dataLabel=q=q.destroy(),A&&(e.connector=A.destroy()));else if(G(n)){q={fill:b.backgroundColor,stroke:b.borderColor,"stroke-width":b.borderWidth,r:b.borderRadius||0,rotation:f,padding:b.padding,zIndex:1};"contrast"===t.color&&(z.color=b.inside|| +0>b.distance||d.stacking?r.getContrast(e.color||a.color):"#000000");d.cursor&&(z.cursor=d.cursor);for(x in q)void 0===q[x]&&delete q[x];q=e.dataLabel=r[f?"text":"label"](n,0,-9999,b.shape,null,null,b.useHTML,null,"data-label").attr(q);q.addClass("highcharts-data-label-color-"+e.colorIndex+" "+(b.className||""));q.css(p(t,z));q.add(m);q.shadow(b.shadow)}q&&a.alignDataLabel(e,q,b,null,y)}})};e.prototype.alignDataLabel=function(a,d,b,e,g){var c=this.chart,f=c.inverted,n=k(a.plotX,-9999),q=k(a.plotY, +-9999),h=d.getBBox(),m,l=b.rotation,u=b.align,r=this.visible&&(a.series.forceDL||c.isInsidePlot(n,Math.round(q),f)||e&&c.isInsidePlot(n,f?e.x+1:e.y+e.height-1,f)),t="justify"===k(b.overflow,"justify");r&&(m=b.style.fontSize,m=c.renderer.fontMetrics(m,d).b,e=p({x:f?c.plotWidth-q:n,y:Math.round(f?c.plotHeight-n:q),width:0,height:0},e),p(b,{width:h.width,height:h.height}),l?(t=!1,f=c.renderer.rotCorr(m,l),f={x:e.x+b.x+e.width/2+f.x,y:e.y+b.y+{top:0,middle:.5,bottom:1}[b.verticalAlign]*e.height},d[g? +"attr":"animate"](f).attr({align:u}),n=(l+720)%360,n=180n,"left"===u?f.y-=n?h.height:0:"center"===u?(f.x-=h.width/2,f.y-=h.height/2):"right"===u&&(f.x-=h.width,f.y-=n?0:h.height)):(d.align(b,null,e),f=d.alignAttr),t?this.justifyDataLabel(d,b,f,h,e,g):k(b.crop,!0)&&(r=c.isInsidePlot(f.x,f.y)&&c.isInsidePlot(f.x+h.width,f.y+h.height)),b.shape&&!l&&d.attr({anchorX:a.plotX,anchorY:a.plotY}));r||(C(d),d.attr({y:-9999}),d.placed=!1)};e.prototype.justifyDataLabel=function(a,d,b,e,g,c){var f=this.chart, +n=d.align,h=d.verticalAlign,q,k,m=a.box?0:a.padding||0;q=b.x+m;0>q&&("right"===n?d.align="left":d.x=-q,k=!0);q=b.x+e.width-m;q>f.plotWidth&&("left"===n?d.align="right":d.x=f.plotWidth-q,k=!0);q=b.y+m;0>q&&("bottom"===h?d.verticalAlign="top":d.y=-q,k=!0);q=b.y+e.height-m;q>f.plotHeight&&("top"===h?d.verticalAlign="bottom":d.y=f.plotHeight-q,k=!0);k&&(a.placed=!c,a.align(d,null,g))};g.pie&&(g.pie.prototype.drawDataLabels=function(){var f=this,d=f.data,b,g=f.chart,h=f.options.dataLabels,c=k(h.connectorPadding, +10),m=k(h.connectorWidth,1),n=g.plotWidth,l=g.plotHeight,x,p=h.distance,y=f.center,u=y[2]/2,t=y[1],w=0k-2?A:P,e),v._attr={visibility:S,align:D[6]},v._pos={x:L+h.x+({left:c,right:-c}[D[6]]||0),y:P+h.y-10},D.x=L,D.y=P,null===f.options.size&&(C=v.width,L-Cn-c&&(T[1]=Math.max(Math.round(L+ +C-n+c),T[1])),0>P-G/2?T[0]=Math.max(Math.round(-P+G/2),T[0]):P+G/2>l&&(T[2]=Math.max(Math.round(P+G/2-l),T[2])))}),0===B(T)||this.verifyDataLabelOverflow(T))&&(this.placeDataLabels(),w&&m&&H(this.points,function(a){var b;x=a.connector;if((v=a.dataLabel)&&v._pos&&a.visible){S=v._attr.visibility;if(b=!x)a.connector=x=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(f.dataLabelsGroup),x.attr({"stroke-width":m,stroke:h.connectorColor||a.color||"#666666"}); +x[b?"attr":"animate"]({d:f.connectorPath(a.labelPos)});x.attr("visibility",S)}else x&&(a.connector=x.destroy())}))},g.pie.prototype.connectorPath=function(a){var d=a.x,b=a.y;return k(this.options.dataLabels.softConnector,!0)?["M",d+("left"===a[6]?5:-5),b,"C",d,b,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",d+("left"===a[6]?5:-5),b,"L",a[2],a[3],"L",a[4],a[5]]},g.pie.prototype.placeDataLabels=function(){H(this.points,function(a){var d=a.dataLabel;d&&a.visible&&((a=d._pos)?(d.attr(d._attr), +d[d.moved?"animate":"attr"](a),d.moved=!0):d&&d.attr({y:-9999}))})},g.pie.prototype.alignDataLabel=t,g.pie.prototype.verifyDataLabelOverflow=function(a){var d=this.center,b=this.options,e=b.center,f=b.minSize||80,c,g;null!==e[0]?c=Math.max(d[2]-Math.max(a[1],a[3]),f):(c=Math.max(d[2]-a[1]-a[3],f),d[0]+=(a[3]-a[1])/2);null!==e[1]?c=Math.max(Math.min(c,d[2]-Math.max(a[0],a[2])),f):(c=Math.max(Math.min(c,d[2]-a[0]-a[2]),f),d[1]+=(a[0]-a[2])/2);ck(this.translatedThreshold,f.yAxis.len)),m=k(b.inside,!!this.options.stacking);n&&(g=w(n),0>g.y&&(g.height+=g.y,g.y=0),n=g.y+g.height-f.yAxis.len,0a+e||c+nb+f||g+hthis.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints, +e;d&&r(d,function(a){a.setState()});r("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],n=(b.pointRange||0)/2,h=b.getExtremes(),q=b.toValue(g-f,!0)+n,n=b.toValue(g+b.len-f,!0)-n,g=g>f;b.series.length&&(g||q>Math.min(h.dataMin,h.min))&&(!g||n=p(k.minWidth,0)&&this.chartHeight>=p(k.minHeight,0)};void 0===l._id&&(l._id=a.uniqueKey());m=m.call(this);!r[l._id]&&m?l.chartOptions&&(r[l._id]=this.currentOptions(l.chartOptions),this.update(l.chartOptions,w)):r[l._id]&&!m&&(this.update(r[l._id],w),delete r[l._id])};D.prototype.currentOptions=function(a){function p(a,m,e){var g,h;for(g in a)if(-1< +G(g,["series","xAxis","yAxis"]))for(a[g]=l(a[g]),e[g]=[],h=0;hd.length||void 0===h)return a.call(this,g,h,k,f);x=d.length;for(c=0;ck;d[c]5*b||w){if(d[c]>u){for(r=a.call(this,g,d[e],d[c],f);r.length&&r[0]<=u;)r.shift();r.length&&(u=r[r.length-1]);y=y.concat(r)}e=c+1}if(w)break}a= +r.info;if(q&&a.unitRange<=m.hour){c=y.length-1;for(e=1;ek?a-1:a;for(M=void 0;q--;)e=c[q],k=M-e,M&&k<.8*C&&(null===t||k<.8*t)?(n[y[q]]&&!n[y[q+1]]?(k=q+1,M=e):k=q,y.splice(k,1)):M=e}return y});w(B.prototype,{beforeSetTickPositions:function(){var a, +g=[],h=!1,k,f=this.getExtremes(),d=f.min,b=f.max,q,m=this.isXAxis&&!!this.options.breaks,f=this.options.ordinal,c=this.chart.options.chart.ignoreHiddenSeries;if(f||m){r(this.series,function(b,d){if(!(c&&!1===b.visible||!1===b.takeOrdinalPosition&&!m)&&(g=g.concat(b.processedXData),a=g.length,g.sort(function(a,b){return a-b}),a))for(d=a-1;d--;)g[d]===g[d+1]&&g.splice(d,1)});a=g.length;if(2k||b-g[g.length- +1]>k)&&(h=!0)}h?(this.ordinalPositions=g,k=this.val2lin(Math.max(d,g[0]),!0),q=Math.max(this.val2lin(Math.min(b,g[g.length-1]),!0),1),this.ordinalSlope=b=(b-d)/(q-k),this.ordinalOffset=d-k*b):this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0}this.isOrdinal=f&&h;this.groupIntervalFactor=null},val2lin:function(a,g){var e=this.ordinalPositions;if(e){var k=e.length,f,d;for(f=k;f--;)if(e[f]===a){d=f;break}for(f=k-1;f--;)if(a>e[f]||0===f){a=(a-e[f])/(e[f+1]-e[f]);d=f+a;break}g=g?d:this.ordinalSlope* +(d||0)+this.ordinalOffset}else g=a;return g},lin2val:function(a,g){var e=this.ordinalPositions;if(e){var k=this.ordinalSlope,f=this.ordinalOffset,d=e.length-1,b;if(g)0>a?a=e[0]:a>d?a=e[d]:(d=Math.floor(a),b=a-d);else for(;d--;)if(g=k*d+f,a>=g){k=k*(d+1)+f;b=(a-g)/(k-g);break}return void 0!==b&&void 0!==e[d]?e[d]+(b?b*(e[d+1]-e[d]):0):a}return a},getExtendedPositions:function(){var a=this.chart,g=this.series[0].currentDataGrouping,h=this.ordinalIndex,k=g?g.count+g.unitName:"raw",f=this.getExtremes(), +d,b;h||(h=this.ordinalIndex={});h[k]||(d={series:[],chart:a,getExtremes:function(){return{min:f.dataMin,max:f.dataMax}},options:{ordinal:!0},val2lin:B.prototype.val2lin},r(this.series,function(e){b={xAxis:d,xData:e.xData,chart:a,destroyGroupedData:t};b.options={dataGrouping:g?{enabled:!0,forced:!0,approximation:"open",units:[[g.unitName,[g.count]]]}:{enabled:!1}};e.processData.apply(b);d.series.push(b)}),this.beforeSetTickPositions.apply(d),h[k]=d.ordinalPositions);return h[k]},getGroupIntervalFactor:function(a, +g,h){var e;h=h.processedXData;var f=h.length,d=[];e=this.groupIntervalFactor;if(!e){for(e=0;ed?(l=p,t=e.ordinalPositions?e:p):(l=e.ordinalPositions?e:p,t=p),p=t.ordinalPositions,q>p[p.length-1]&&p.push(q),this.fixedRange=c-m,d=e.toFixedRange(null,null,n.apply(l,[x.apply(l,[m,!0])+d,!0]),n.apply(t,[x.apply(t, +[c,!0])+d,!0])),d.min>=Math.min(b.dataMin,m)&&d.max<=Math.max(q,c)&&e.setExtremes(d.min,d.max,!0,!1,{trigger:"pan"}),this.mouseDownX=k,H(this.container,{cursor:"move"})):f=!0}else f=!0;f&&a.apply(this,Array.prototype.slice.call(arguments,1))});k.prototype.gappedPath=function(){var a=this.options.gapSize,g=this.points.slice(),h=g.length-1;if(a&&0this.closestPointRange*a&&g.splice(h+1,0,{isNull:!0});return this.getGraphPath(g)}})(N);(function(a){function D(){return Array.prototype.slice.call(arguments, +1)}function B(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,G(this.pointArrayMap,["y"]))}var G=a.pick,H=a.wrap,p=a.each,l=a.extend,r=a.fireEvent,w=a.Axis,t=a.Series;l(w.prototype,{isInBreak:function(a,m){var e=a.repeat||Infinity,g=a.from,h=a.to-a.from;m=m>=g?(m-g)%e:e-(g-m)%e;return a.inclusive?m<=h:m=a)break;else if(g.isInBreak(f,a)){e-=a-f.from;break}return e};this.lin2val=function(a){var e,f;for(f=0;f=a);f++)e.toh;)m-=b;for(;mb.to||l>b.from&&db.from&&db.from&&d>b.to&&d=c[0]);A++);for(A;A<=q;A++){for(;(void 0!==c[w+1]&&a[A]>=c[w+1]||A===q)&&(l=c[w],this.dataGroupInfo={start:p,length:t[0].length},p=d.apply(this,t),void 0!==p&&(g.push(l),h.push(p),m.push(this.dataGroupInfo)),p=A,t[0]=[],t[1]=[],t[2]=[],t[3]=[],w+=1,A!==q););if(A===q)break;if(x){l=this.cropStart+A;l=e&&e[l]|| +this.pointClass.prototype.applyOptions.apply({series:this},[f[l]]);var E,C;for(E=0;Ethis.chart.plotSizeX/d||b&&f.forced)&&(e=!0);return e?d:0};G.prototype.setDataGrouping=function(a,b){var c;b=e(b,!0);a||(a={forced:!1,units:null});if(this instanceof G)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else l(this.chart.options.series,function(b){b.dataGrouping=a},!1);b&&this.chart.redraw()}})(N);(function(a){var D=a.each,B=a.Point,G=a.seriesType,H=a.seriesTypes;G("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'}, +threshold:null,states:{hover:{lineWidth:3}}},{pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"high",pointAttribs:function(a,l){l=H.column.prototype.pointAttribs.call(this,a,l);var p=this.options;delete l.fill;l["stroke-width"]=p.lineWidth;l.stroke=a.options.color||(a.openk)););B(g,function(a,b){var d;void 0===a.plotY&&(a.x>=c.min&&a.x<=c.max?a.plotY=e.chartHeight-p.bottom-(p.opposite?p.height:0)+p.offset-e.plotTop:a.shapeArgs={});a.plotX+=t;(f=g[b-1])&&f.plotX===a.plotX&&(void 0===f.stackIndex&&(f.stackIndex=0),d=f.stackIndex+1);a.stackIndex=d})},drawPoints:function(){var a=this.points,e=this.chart,g=e.renderer,k,l,f=this.options,d=f.y,b,q,p,c,r,n,t,x=this.yAxis;for(q=a.length;q--;)p=a[q],t=p.plotX>this.xAxis.len,k=p.plotX,c=p.stackIndex,b= +p.options.shape||f.shape,l=p.plotY,void 0!==l&&(l=p.plotY+d-(void 0!==c&&c*f.stackDistance)),r=c?void 0:p.plotX,n=c?void 0:p.plotY,c=p.graphic,void 0!==l&&0<=k&&!t?(c||(c=p.graphic=g.label("",null,null,b,null,null,f.useHTML).attr(this.pointAttribs(p)).css(G(f.style,p.style)).attr({align:"flag"===b?"left":"center",width:f.width,height:f.height,"text-align":f.textAlign}).addClass("highcharts-point").add(this.markerGroup),c.shadow(f.shadow)),0h&&(e-=Math.round((l-h)/2),h=l);e=k[a](e,g,h,l);d&&f&&e.push("M",d,g>f?g:g+l,"L",d,f);return e}});p===t&&B(["flag","circlepin","squarepin"],function(a){t.prototype.symbols[a]=k[a]})})(N);(function(a){function D(a,d,e){this.init(a,d,e)}var B=a.addEvent,G=a.Axis,H=a.correctFloat,p=a.defaultOptions, +l=a.defined,r=a.destroyObjectProperties,w=a.doc,t=a.each,k=a.fireEvent,m=a.hasTouch,e=a.isTouchDevice,g=a.merge,h=a.pick,C=a.removeEvent,f=a.wrap,d={height:e?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:a.svg&&!e,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2", +trackBorderWidth:1};p.scrollbar=g(!0,d,p.scrollbar);D.prototype={init:function(a,e,f){this.scrollbarButtons=[];this.renderer=a;this.userOptions=e;this.options=g(d,e);this.chart=f;this.size=h(this.options.size,this.options.height);e.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,d=this.options,e=this.size,c;this.group=c=a.g("scrollbar").attr({zIndex:d.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0, +r:d.trackBorderRadius||0,height:e,width:e}).add(c);this.track.attr({fill:d.trackBackgroundColor,stroke:d.trackBorderColor,"stroke-width":d.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(c);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:e,width:e,r:d.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(this.swapXY(["M",-3,e/4,"L",-3,2*e/3,"M",0,e/4,"L", +0,2*e/3,"M",3,e/4,"L",3,2*e/3],d.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbar.attr({fill:d.barBackgroundColor,stroke:d.barBorderColor,"stroke-width":d.barBorderWidth});this.scrollbarRifles.attr({stroke:d.rifleColor,"stroke-width":1});this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a, +d,e,c){var b=this.options.vertical,f=0,g=this.rendered?"animate":"attr";this.x=a;this.y=d+this.trackBorderWidth;this.width=e;this.xOffset=this.height=c;this.yOffset=f;b?(this.width=this.yOffset=e=f=this.size,this.xOffset=d=0,this.barWidth=c-2*e,this.x=a+=this.options.margin):(this.height=this.xOffset=c=d=this.size,this.barWidth=e-2*c,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:e,height:c});this.scrollbarButtons[1].attr({translateX:b?0:e-d,translateY:b? +c-f:0})},drawScrollbarButton:function(a){var b=this.renderer,d=this.scrollbarButtons,c=this.options,e=this.size,f;f=b.g().add(this.group);d.push(f);f=b.rect().addClass("highcharts-scrollbar-button").add(f);f.attr({stroke:c.buttonBorderColor,"stroke-width":c.buttonBorderWidth,fill:c.buttonBackgroundColor});f.attr(f.crisp({x:-.5,y:-.5,width:e+1,height:e+1,r:c.buttonBorderRadius},f.strokeWidth()));f=b.path(this.swapXY(["M",e/2+(a?-1:1),e/2-3,"L",e/2+(a?-1:1),e/2+3,"L",e/2+(a?2:-2),e/2],c.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]); +f.attr({fill:c.buttonArrowColor})},swapXY:function(a,d){var b=a.length,c;if(d)for(d=0;d=k?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=d?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var d=a.chart.pointer.normalize(b),c=a.options.vertical? +"chartY":"chartX",e=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][c]||(d=a.cursorToScrollbarPosition(d)[c],c=a[c],c=d-c,a.hasDragged=!0,a.updatePosition(e[0]+c,e[1]+c),a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b); +b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var d=H(a.to-a.from)*a.options.step;a.updatePosition(H(a.from-d),H(a.to-d));k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var d=(a.to-a.from)*a.options.step;a.updatePosition(a.from+d,a.to+d);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var d=a.chart.pointer.normalize(b), +c=a.to-a.from,e=a.y+a.scrollbarTop,f=a.x+a.scrollbarLeft;a.options.vertical&&d.chartY>e||!a.options.vertical&&d.chartX>f?a.updatePosition(a.from+c,a.to+c):a.updatePosition(a.from-c,a.to-c);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a, +d){1a&&(d=H(d-a),a=0);this.from=a;this.to=d},update:function(a){this.destroy();this.init(this.chart.renderer,g(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],d=this.scrollbarButtons,e=this.scrollbarGroup.element,c=this.mouseDownHandler,f=this.mouseMoveHandler,g=this.mouseUpHandler,a=[[d[a[0]].element,"click",this.buttonToMinClick],[d[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[e, +"mousedown",c],[w,"mousemove",f],[w,"mouseup",g]];m&&a.push([e,"touchstart",c],[w,"touchmove",f],[w,"touchend",g]);t(a,function(a){B.apply(null,a)});this._events=a},removeEvents:function(){t(this._events,function(a){C.apply(null,a)});this._events=void 0},destroy:function(){var a=this.chart.scroller;this.removeEvents();t(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&(a.scrollbar=null,r(a.scrollbarButtons))}}; +f(G.prototype,"init",function(a){var b=this;a.apply(b,[].slice.call(arguments,1));b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new D(b.chart.renderer,b.options.scrollbar,b.chart),B(b.scrollbar,"changed",function(a){var c=Math.min(h(b.options.min,b.min),b.min,b.dataMin),d=Math.max(h(b.options.max,b.max),b.max,b.dataMax)-c,e;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(e=c+d*this.to,c+=d*this.from):(e= +c+d*(1-this.from),c+=d*(1-this.to));b.setExtremes(c,e,!0,!1,a)}))});f(G.prototype,"render",function(a){var b=Math.min(h(this.options.min,this.min),this.min,this.dataMin),d=Math.max(h(this.options.max,this.max),this.max,this.dataMax),c=this.scrollbar,e;a.apply(this,[].slice.call(arguments,1));c&&(this.horiz?c.position(this.left,this.top+this.height+this.offset+2+(this.opposite?0:this.axisTitleMargin),this.width,this.height):c.position(this.left+this.width+2+this.offset+(this.opposite?this.axisTitleMargin: +0),this.top,this.width,this.height),isNaN(b)||isNaN(d)||!l(this.min)||!l(this.max)?c.setRange(0,0):(e=(this.min-b)/(d-b),b=(this.max-b)/(d-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?c.setRange(e,b):c.setRange(1-b,1-e)))});f(G.prototype,"getOffset",function(a){var b=this.horiz?2:1,d=this.scrollbar;a.apply(this,[].slice.call(arguments,1));d&&(this.chart.axisOffset[b]+=d.size+d.options.margin)});f(G.prototype,"destroy",function(a){this.scrollbar&&(this.scrollbar=this.scrollbar.destroy()); +a.apply(this,[].slice.call(arguments,1))});a.Scrollbar=D})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.color,l=a.defaultOptions,r=a.defined,w=a.destroyObjectProperties,t=a.doc,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.grep,C=a.hasTouch,f=a.isNumber,d=a.isObject,b=a.isTouchDevice,q=a.merge,E=a.pick,c=a.removeEvent,F=a.Scrollbar,n=a.Series,A=a.seriesTypes,x=a.wrap,J=[].concat(a.defaultDataGroupingUnits),y=function(a){var b=h(arguments,f);if(b.length)return Math[a].apply(0, +b)};J[4]=["day",[1,2,3,4]];J[5]=["week",[1,2,3]];A=void 0===A.areaspline?"line":"areaspline";g(l,{navigator:{height:40,margin:25,maskInside:!0,handles:{backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:p("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:A,color:"#335cad",fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:J},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series", +className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,shadow:!1,threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}); +D.prototype={drawHandle:function(a,b){var c=this.chart.renderer,d=this.handles;this.rendered||(d[b]=c.path(["M",-4.5,.5,"L",3.5,.5,3.5,15.5,-4.5,15.5,-4.5,.5,"M",-1.5,4,"L",-1.5,12,"M",.5,4,"L",.5,12]).attr({zIndex:10-b}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][b]).add(),c=this.navigatorOptions.handles,d[b].attr({fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":1}).css({cursor:"ew-resize"}));d[b][this.rendered&&!this.hasDragged?"animate":"attr"]({translateX:Math.round(this.scrollerLeft+ +this.scrollbarHeight+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-8)})},update:function(a){this.destroy();q(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(a,b,c,d){var e=this.chart,g=e.renderer,k,h,l,n;n=this.scrollbarHeight;var m=this.xAxis,p=this.navigatorOptions,u=p.maskInside,q=this.height,v=this.top,t=this.navigatorEnabled,x=this.outlineHeight,y;y=this.rendered;if(f(a)&&f(b)&&(!this.hasDragged||r(c))&&(this.navigatorLeft=k=E(m.left,e.plotLeft+ +n),this.navigatorWidth=h=E(m.len,e.plotWidth-2*n),this.scrollerLeft=l=k-n,this.scrollerWidth=n=n=h+2*n,c=E(c,m.translate(a)),d=E(d,m.translate(b)),f(c)&&Infinity!==Math.abs(c)||(c=0,d=n),!(m.translate(d,!0)-m.translate(c,!0)f&&tp+d-u&&rk&&re?e=0:e+v>=q&&(e=q-v,x=h.getUnionExtremes().dataMax),e!==d&&(h.fixedWidth=v,d=l.toFixedRange(e, +e+v,null,x),c.setExtremes(d.min,d.max,!0,null,{trigger:"navigator"}))))};h.mouseMoveHandler=function(b){var c=h.scrollbarHeight,d=h.navigatorLeft,e=h.navigatorWidth,f=h.scrollerLeft,g=h.scrollerWidth,k=h.range,l;b.touches&&0===b.touches[0].pageX||(b=a.pointer.normalize(b),l=b.chartX,lf+g-c&&(l=f+g-c),h.grabbedLeft?(h.hasDragged=!0,h.render(0,0,l-d,h.otherHandlePos)):h.grabbedRight?(h.hasDragged=!0,h.render(0,0,h.otherHandlePos,l-d)):h.grabbedCenter&&(h.hasDragged=!0,le+n-k&&(l=e+ +n-k),h.render(0,0,l-n,l-n+k)),h.hasDragged&&h.scrollbar&&h.scrollbar.options.liveRedraw&&(b.DOMType=b.type,setTimeout(function(){h.mouseUpHandler(b)},0)))};h.mouseUpHandler=function(b){var c,d,e=b.DOMEvent||b;if(h.hasDragged||"scrollbar"===b.trigger)h.zoomedMin===h.otherHandlePos?c=h.fixedExtreme:h.zoomedMax===h.otherHandlePos&&(d=h.fixedExtreme),h.zoomedMax===h.navigatorWidth&&(d=h.getUnionExtremes().dataMax),c=l.toFixedRange(h.zoomedMin,h.zoomedMax,c,d),r(c.min)&&a.xAxis[0].setExtremes(c.min,c.max, +!0,h.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e});"mousemove"!==b.DOMType&&(h.grabbedLeft=h.grabbedRight=h.grabbedCenter=h.fixedWidth=h.fixedExtreme=h.otherHandlePos=h.hasDragged=n=null)};var c=a.xAxis.length,f=a.yAxis.length,m=e&&e[0]&&e[0].xAxis||a.xAxis[0];a.extraBottomMargin=h.outlineHeight+d.margin;a.isDirtyBox=!0;h.navigatorEnabled?(h.xAxis=l=new G(a,q({breaks:m.options.breaks,ordinal:m.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis", +isX:!0,type:"datetime",index:c,height:g,offset:0,offsetLeft:k,offsetRight:-k,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1})),h.yAxis=new G(a,q(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,height:g,offset:0,index:f,zoomEnabled:!1})),e||d.series.data?h.addBaseSeries():0===a.series.length&&x(a,"redraw",function(b,c){0=Math.round(a.navigatorWidth);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},destroy:function(){this.removeEvents();this.xAxis&&(m(this.chart.xAxis,this.xAxis),m(this.chart.axes,this.xAxis));this.yAxis&&(m(this.chart.yAxis,this.yAxis),m(this.chart.axes,this.yAxis));k(this.series||[],function(a){a.destroy&&a.destroy()});k("series xAxis yAxis leftShade rightShade outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "), +function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);k([this.handles,this.elementsToDestroy],function(a){w(a)},this)}};a.Navigator=D;x(G.prototype,"zoom",function(a,b,c){var d=this.chart,e=d.options,f=e.chart.zoomType,g=e.navigator,e=e.rangeSelector,h;this.isXAxis&&(g&&g.enabled||e&&e.enabled)&&("x"===f?d.resetZoomButton="blocked":"y"===f?h=!1:"xy"===f&&(d=this.previousZoom,r(b)?this.previousZoom=[this.min,this.max]:d&&(b=d[0],c=d[1],delete this.previousZoom)));return void 0!== +h?h:a.call(this,b,c)});x(H.prototype,"init",function(a,b,c){B(this,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new D(this)});a.call(this,b,c)});x(H.prototype,"getMargins",function(a){var b=this.legend,c=b.options,d=this.scroller,e,f;a.apply(this,[].slice.call(arguments,1));d&&(e=d.xAxis,f=d.yAxis,d.top=d.navigatorOptions.top||this.chartHeight-d.height-d.scrollbarHeight-this.spacing[2]-("bottom"===c.verticalAlign&&c.enabled&& +!c.floating?b.legendHeight+E(c.margin,10):0),e&&f&&(e.options.top=f.options.top=d.top,e.setAxisSize(),f.setAxisSize()))});x(n.prototype,"addPoint",function(a,b,c,f,g){var h=this.options.turboThreshold;h&&this.xData.length>h&&d(b,!0)&&this.chart.scroller&&e(20,!0);a.call(this,b,c,f,g)});x(H.prototype,"addSeries",function(a,b,c,d){a=a.call(this,b,!1,d);this.scroller&&this.scroller.setBaseSeries();E(c,!0)&&this.redraw();return a});x(n.prototype,"update",function(a,b,c){a.call(this,b,!1);this.chart.scroller&& +this.chart.scroller.setBaseSeries();E(c,!0)&&this.chart.redraw()})})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.css,l=a.createElement,r=a.dateFormat,w=a.defaultOptions,t=w.global.useUTC,k=a.defined,m=a.destroyObjectProperties,e=a.discardElement,g=a.each,h=a.extend,C=a.fireEvent,f=a.Date,d=a.isNumber,b=a.merge,q=a.pick,E=a.pInt,c=a.splat,F=a.wrap;h(w,{rangeSelector:{buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},height:35,inputPosition:{align:"right"}, +labelStyle:{color:"#666666"}}});w.lang=b(w.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});D.prototype={clickButton:function(a,b){var e=this,f=e.chart,h=e.buttonOptions[a],k=f.xAxis[0],l=f.scroller&&f.scroller.getUnionExtremes()||k||{},n=l.dataMin,m=l.dataMax,p,r=k&&Math.round(Math.min(k.max,q(m,k.max))),w=h.type,z,l=h._range,A,C,D,E=h.dataGrouping;if(null!==n&&null!==m){f.fixedRange=l;E&&(this.forcedDataGrouping=!0,G.prototype.setDataGrouping.call(k||{chart:this.chart}, +E,!1));if("month"===w||"year"===w)k?(w={range:h,max:r,dataMin:n,dataMax:m},p=k.minFromRange.call(w),d(w.newMax)&&(r=w.newMax)):l=h;else if(l)p=Math.max(r-l,n),r=Math.min(p+l,m);else if("ytd"===w)if(k)void 0===m&&(n=Number.MAX_VALUE,m=Number.MIN_VALUE,g(f.series,function(a){a=a.xData;n=Math.min(a[0],n);m=Math.max(a[a.length-1],m)}),b=!1),r=e.getYTDExtremes(m,n,t),p=A=r.min,r=r.max;else{B(f,"beforeRender",function(){e.clickButton(a)});return}else"all"===w&&k&&(p=n,r=m);e.setSelected(a);k?k.setExtremes(p, +r,q(b,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:h}):(z=c(f.options.xAxis)[0],D=z.range,z.range=l,C=z.min,z.min=A,B(f,"load",function(){z.range=D;z.min=C}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons|| +[].concat(b.defaultButtons),e=c.selected,f=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&C(a,"blur");c&&c.blur&&C(c,"blur")};b.chart=a;b.options=c;b.buttons=[];a.extraTopMargin=c.height;b.buttonOptions=d;this.unMouseDown=B(a.container,"mousedown",f);this.unResize=B(a,"resize",f);g(d,b.computeButtonRange);void 0!==e&&d[e]&&this.clickButton(e,!1);B(a,"load",function(){B(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&& +b.forcedDataGrouping&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this.chart,b=a.xAxis[0],c=Math.round(b.max-b.min),e=!b.hasVisibleSeries,a=a.scroller&&a.scroller.getUnionExtremes()||b,f=a.dataMin,h=a.dataMax,a=this.getYTDExtremes(h,f,t),k=a.min,l=a.max,m=this.selected,p=d(m),q=this.options.allButtonsEnabled,r=this.buttons;g(this.buttonOptions,function(a,d){var g=a._range,n=a.type,u=a.count||1;a=r[d];var t=0;d=d===m;var v=g>h-f,x=g=864E5*{month:28,year:365}[n]*u&&c<=864E5*{month:31,year:366}[n]*u?g=!0:"ytd"===n?(g=l-k===c,y=!d):"all"===n&&(g=b.max-b.min>=h-f,w=!d&&p&&g);n=!q&&(v||x||w||e);g=d&&g||g&&!p&&!y;n?t=3:g&&(p=!0,t=2);a.state!==t&&a.setState(t)})},computeButtonRange:function(a){var b=a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c},setInputValue:function(a,b){var c= +this.chart.options.rangeSelector,d=this[a+"Input"];k(b)&&(d.previousValue=d.HCTime,d.HCTime=b);d.value=r(c.inputEditDateFormat||"%Y-%m-%d",d.HCTime);this[a+"DateBox"].attr({text:r(c.inputDateFormat||"%b %e, %Y",d.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];p(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){p(this[a+"Input"],{border:0,width:"1px",height:"1px"}); +this.setInputValue(a)},drawInput:function(a){function c(){var a=r.value,b=(m.inputDateParser||Date.parse)(a),c=f.xAxis[0],g=f.scroller&&f.scroller.xAxis?f.scroller.xAxis:c,h=g.dataMin,g=g.dataMax;b!==r.previousValue&&(r.previousValue=b,d(b)||(b=a.split("-"),b=Date.UTC(E(b[0]),E(b[1])-1,E(b[2]))),d(b)&&(t||(b+=6E4*(new Date).getTimezoneOffset()),q?b>e.maxInput.HCTime?b=void 0:bg&&(b=g),void 0!==b&&c.setExtremes(q?b:c.min,q?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))} +var e=this,f=e.chart,g=f.renderer.style||{},k=f.renderer,m=f.options.rangeSelector,n=e.div,q="min"===a,r,B,C=this.inputGroup;this[a+"Label"]=B=k.label(w.lang[q?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(C);C.offset+=B.width+5;this[a+"DateBox"]=k=k.label("",C.offset).addClass("highcharts-range-input").attr({padding:2,width:m.inputBoxWidth||90,height:m.inputBoxHeight||17,stroke:m.inputBoxBorderColor||"#cccccc","stroke-width":1, +"text-align":"center"}).on("click",function(){e.showInput(a);e[a+"Input"].focus()}).add(C);C.offset+=k.width+(q?10:0);this[a+"Input"]=r=l("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:f.plotTop+"px"},n);B.css(b(g,m.labelStyle));k.css(b({color:"#333333"},g,m.inputStyle));p(r,h({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:g.fontSize,fontFamily:g.fontFamily,left:"-9em"},m.inputStyle));r.onfocus=function(){e.showInput(a)};r.onblur= +function(){e.hideInput(a)};r.onchange=c;r.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a=q((b.buttonPosition||{}).y,a.plotTop-a.axisOffset[0]-b.height);return{buttonTop:a,inputTop:a-10}},getYTDExtremes:function(a,b,c){var d=new f(a),e=d[f.hcGetFullYear]();c=c?f.UTC(e,0,1):+new f(e,0,1);b=Math.max(b||0,c);d=d.getTime();return{max:Math.min(a||d,d),min:b}},render:function(a,b){var c=this,d=c.chart,e=d.renderer,f=d.container,m=d.options, +n=m.exporting&&!1!==m.exporting.enabled&&m.navigation&&m.navigation.buttonOptions,p=m.rangeSelector,r=c.buttons,m=w.lang,t=c.div,t=c.inputGroup,A=p.buttonTheme,z=p.buttonPosition||{},B=p.inputEnabled,C=A&&A.states,D=d.plotLeft,E,G=this.getPosition(),F=c.group,H=c.rendered;!1!==p.enabled&&(H||(c.group=F=e.g("range-selector-buttons").add(),c.zoomText=e.text(m.rangeSelectorZoom,q(z.x,D),15).css(p.labelStyle).add(F),E=q(z.x,D)+c.zoomText.getBBox().width+5,g(c.buttonOptions,function(a,b){r[b]=e.button(a.text, +E,0,function(){c.clickButton(b);c.isActive=!0},A,C&&C.hover,C&&C.select,C&&C.disabled).attr({"text-align":"center"}).add(F);E+=r[b].width+q(p.buttonSpacing,5)}),!1!==B&&(c.div=t=l("div",null,{position:"relative",height:0,zIndex:1}),f.parentNode.insertBefore(t,f),c.inputGroup=t=e.g("input-group").add(),t.offset=0,c.drawInput("min"),c.drawInput("max"))),c.updateButtonStates(),F[H?"animate":"attr"]({translateY:G.buttonTop}),!1!==B&&(t.align(h({y:G.inputTop,width:t.offset,x:n&&G.inputTop<(n.y||0)+n.height- +d.spacing[0]?-40:0},p.inputPosition),!0,d.spacingBox),k(B)||(d=F.getBBox(),t[t.alignAttr.translateXc&&(e?a=b-f:b=a+f);d(a)||(a=b=void 0);return{min:a,max:b}};G.prototype.minFromRange=function(){var a=this.range,b={month:"Month",year:"FullYear"}[a.type],c,e=this.max,f,g,h=function(a,c){var d=new Date(a);d["set"+b](d["get"+ +b]()+c);return d.getTime()-a};d(a)?(c=e-a,g=a):(c=e+h(e,-a.count),this.chart&&(this.chart.fixedRange=e-c));f=q(this.dataMin,Number.MIN_VALUE);d(c)||(c=f);c<=f&&(c=f,void 0===g&&(g=h(c,a.count)),this.newMax=Math.min(c+g,this.dataMax));d(e)||(c=void 0);return c};F(H.prototype,"init",function(a,b,c){B(this,"init",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new D(this))});a.call(this,b,c)});a.RangeSelector=D})(N);(function(a){var D=a.addEvent,B=a.isNumber;a.Chart.prototype.callbacks.push(function(a){function G(){p= +a.xAxis[0].getExtremes();B(p.min)&&r.render(p.min,p.max)}var p,l=a.scroller,r=a.rangeSelector,w,t;l&&(p=a.xAxis[0].getExtremes(),l.render(p.min,p.max));r&&(t=D(a.xAxis[0],"afterSetExtremes",function(a){r.render(a.min,a.max)}),w=D(a,"redraw",G),G());D(a,"destroy",function(){r&&(w(),t())})})})(N);(function(a){var D=a.arrayMax,B=a.arrayMin,G=a.Axis,H=a.Chart,p=a.defined,l=a.each,r=a.extend,w=a.format,t=a.inArray,k=a.isNumber,m=a.isString,e=a.map,g=a.merge,h=a.pick,C=a.Point,f=a.Renderer,d=a.Series,b= +a.splat,q=a.stop,E=a.SVGRenderer,c=a.VMLRenderer,F=a.wrap,n=d.prototype,A=n.init,x=n.processData,J=C.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(c,d,f){var k=m(c)||c.nodeName,l=arguments[k?1:0],n=l.series,p=a.getOptions(),q,r=h(l.navigator&&l.navigator.enabled,!0)?{startOnTick:!1,endOnTick:!1}:null,t={marker:{enabled:!1,radius:2}},u={shadow:!1,borderWidth:0};l.xAxis=e(b(l.xAxis||{}),function(a){return g({minPadding:0,maxPadding:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"}, +showLastLabel:!0},p.xAxis,a,{type:"datetime",categories:null},r)});l.yAxis=e(b(l.yAxis||{}),function(a){q=h(a.opposite,!0);return g({labels:{y:-2},opposite:q,showLastLabel:!1,title:{text:null}},p.yAxis,a)});l.series=null;l=g({chart:{panning:!0,pinchType:"x"},navigator:{enabled:!0},scrollbar:{enabled:!0},rangeSelector:{enabled:!0},title:{text:null,style:{fontSize:"16px"}},tooltip:{shared:!0,crosshairs:!0},legend:{enabled:!1},plotOptions:{line:t,spline:t,area:t,areaspline:t,arearange:t,areasplinerange:t, +column:u,columnrange:u,candlestick:u,ohlc:u}},l,{_stock:!0,chart:{inverted:!1}});l.series=n;return k?new H(c,l,f):new H(l,d)};F(G.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options._stock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=1,"right"):a.call(this,[].slice.call(arguments,1))});F(G.prototype,"getPlotLinePath",function(a, +b,c,d,f,g){var n=this,q=this.isLinked&&!this.series?this.linkedParent.series:this.series,r=n.chart,u=r.renderer,v=n.left,w=n.top,y,x,A,B,C=[],D=[],E,F;if("colorAxis"===n.coll)return a.apply(this,[].slice.call(arguments,1));D=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=n.options[b];return k(a)?[r[b][a]]:m(a)?[r.get(a)]:e(q,function(a){return a[b]})}(n.coll);l(n.isXAxis?r.yAxis:r.xAxis,function(a){if(p(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=p(a.options[b])? +r[b][a.options[b]]:r[b][0];n===b&&D.push(a)}});E=D.length?[]:[n.isXAxis?r.yAxis[0]:r.xAxis[0]];l(D,function(a){-1===t(a,E)&&E.push(a)});F=h(g,n.translate(b,null,null,d));k(F)&&(n.horiz?l(E,function(a){var b;x=a.pos;B=x+a.len;y=A=Math.round(F+n.transB);if(yv+n.width)f?y=A=Math.min(Math.max(v,y),v+n.width):b=!0;b||C.push("M",y,x,"L",A,B)}):l(E,function(a){var b;y=a.pos;A=y+a.len;x=B=Math.round(w+n.height-F);if(xw+n.height)f?x=B=Math.min(Math.max(w,x),n.top+n.height):b=!0;b||C.push("M",y, +x,"L",A,B)}));return 0=e&&(x=-(l.translateX+b.width-e));l.attr({x:m+x,y:k,anchorX:g?m:this.opposite?0:a.chartWidth,anchorY:g?this.opposite?a.chartHeight:0:k+b.height/2})}});n.init=function(){A.apply(this,arguments);this.setCompare(this.options.compare)};n.setCompare=function(a){this.modifyValue= +"value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b=b/d*100-100,c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};n.processData=function(){var a,b=-1,c,d,e,f;x.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,e=d.length,this.pointArrayMap&&(b=t("close",this.pointArrayMap),-1===b&&(b=t(this.pointValKey||"y",this.pointArrayMap))),a=0;a< +e-1;a++)if(f=-1=this.xAxis.min&&0!==f){this.compareValue=f;break}};F(n,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=B(b),this.dataMax=D(b))});G.prototype.setCompare=function(a,b){this.isXAxis||(l(this.series,function(b){b.setCompare(a)}),h(b,!0)&&this.chart.redraw())};C.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(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 '; + else + var expandButton = ''; + + return '' + expandButton + '' + ellipsedLabel({ name: item.name, parentClass: "nav-tooltip", childClass: "nav-label" }) + ''; +} + +function menuItemsForGroup(group, level, parent) { + var items = ''; + + if (level > 0) + items += menuItem(group, level - 1, parent, true); + + $.each(group.contents, function (contentName, content) { + if (content.type == 'GROUP') + items += menuItemsForGroup(content, level + 1, group.pathFormatted); + else if (content.type == 'REQUEST') + items += menuItem(content, level, group.pathFormatted); + }); + + return items; +} + +function setDetailsMenu(){ + $('.nav ul').append(menuItemsForGroup(stats, 0)); + $('.nav').expandable(); + $('.nav-tooltip').popover({trigger:'hover'}); +} + +function setGlobalMenu(){ + $('.nav ul') + .append('
  • Ranges
  • ') + .append('
  • Stats
  • ') + .append('
  • Active Users
  • ') + .append('
  • Requests / sec
  • ') + .append('
  • Responses / sec
  • '); +} + +function getLink(link){ + var a = link.split('/'); + return (a.length<=1)? link : a[a.length-1]; +} + +function expandUp(li) { + const parentId = li.attr("data-parent"); + if (parentId != "ROOT") { + const span = $('#' + parentId); + const parentLi = span.parents('li').first(); + span.expand(parentLi, false); + expandUp(parentLi); + } +} + +function setActiveMenu(){ + $('.nav a').each(function() { + const navA = $(this) + if(!navA.hasClass('expand-button') && navA.attr('href') == getLink(window.location.pathname)) { + const li = $(this).parents('li').first(); + li.addClass('on'); + expandUp(li); + return false; + } + }); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/stats.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/stats.js new file mode 100644 index 0000000..80f2e90 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/stats.js @@ -0,0 +1,1523 @@ +var stats = { + type: "GROUP", +name: "All Requests", +path: "", +pathFormatted: "group_missing-name--1146707516", +stats: { + "name": "All Requests", + "numberOfRequests": { + "total": "8733", + "ok": "5128", + "ko": "3605" + }, + "minResponseTime": { + "total": "24", + "ok": "24", + "ko": "2846" + }, + "maxResponseTime": { + "total": "65148", + "ok": "59883", + "ko": "65148" + }, + "meanResponseTime": { + "total": "19071", + "ok": "9281", + "ko": "32996" + }, + "standardDeviation": { + "total": "22892", + "ok": "15556", + "ko": "24394" + }, + "percentiles1": { + "total": "10006", + "ok": "1130", + "ko": "16323" + }, + "percentiles2": { + "total": "37958", + "ok": "8171", + "ko": "60007" + }, + "percentiles3": { + "total": "60013", + "ok": "45464", + "ko": "60015" + }, + "percentiles4": { + "total": "60016", + "ok": "56869", + "ko": "62024" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2244, + "percentage": 26 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 400, + "percentage": 5 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 2484, + "percentage": 28 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 3605, + "percentage": 41 +}, + "meanNumberOfRequestsPerSecond": { + "total": "14.507", + "ok": "8.518", + "ko": "5.988" + } +}, +contents: { +"req_request-0-693933696": { + type: "REQUEST", + name: "request_0", +path: "request_0", +pathFormatted: "req_request-0-693933696", +stats: { + "name": "request_0", + "numberOfRequests": { + "total": "593", + "ok": "593", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "44603", + "ok": "44603", + "ko": "-" + }, + "meanResponseTime": { + "total": "10389", + "ok": "10389", + "ko": "-" + }, + "standardDeviation": { + "total": "15544", + "ok": "15544", + "ko": "-" + }, + "percentiles1": { + "total": "1290", + "ok": "1290", + "ko": "-" + }, + "percentiles2": { + "total": "20824", + "ok": "20824", + "ko": "-" + }, + "percentiles3": { + "total": "41878", + "ok": "41878", + "ko": "-" + }, + "percentiles4": { + "total": "43767", + "ok": "43767", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 227, + "percentage": 38 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 59, + "percentage": 10 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 307, + "percentage": 52 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.985", + "ok": "0.985", + "ko": "-" + } +} + },"req_request-1-693933697": { + type: "REQUEST", + name: "request_1", +path: "request_1", +pathFormatted: "req_request-1-693933697", +stats: { + "name": "request_1", + "numberOfRequests": { + "total": "593", + "ok": "593", + "ko": "0" + }, + "minResponseTime": { + "total": "36", + "ok": "36", + "ko": "-" + }, + "maxResponseTime": { + "total": "6870", + "ok": "6870", + "ko": "-" + }, + "meanResponseTime": { + "total": "1651", + "ok": "1651", + "ko": "-" + }, + "standardDeviation": { + "total": "2269", + "ok": "2269", + "ko": "-" + }, + "percentiles1": { + "total": "672", + "ok": "672", + "ko": "-" + }, + "percentiles2": { + "total": "2048", + "ok": "2048", + "ko": "-" + }, + "percentiles3": { + "total": "6843", + "ok": "6843", + "ko": "-" + }, + "percentiles4": { + "total": "6865", + "ok": "6865", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 322, + "percentage": 54 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 76, + "percentage": 13 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 195, + "percentage": 33 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.985", + "ok": "0.985", + "ko": "-" + } +} + },"req_request-2-693933698": { + type: "REQUEST", + name: "request_2", +path: "request_2", +pathFormatted: "req_request-2-693933698", +stats: { + "name": "request_2", + "numberOfRequests": { + "total": "593", + "ok": "593", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "45701", + "ok": "45701", + "ko": "-" + }, + "meanResponseTime": { + "total": "12012", + "ok": "12012", + "ko": "-" + }, + "standardDeviation": { + "total": "16245", + "ok": "16245", + "ko": "-" + }, + "percentiles1": { + "total": "1758", + "ok": "1758", + "ko": "-" + }, + "percentiles2": { + "total": "28386", + "ok": "28386", + "ko": "-" + }, + "percentiles3": { + "total": "40148", + "ok": "40148", + "ko": "-" + }, + "percentiles4": { + "total": "45086", + "ok": "45086", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 258, + "percentage": 44 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 17, + "percentage": 3 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 318, + "percentage": 54 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.985", + "ok": "0.985", + "ko": "-" + } +} + },"req_request-3-693933699": { + type: "REQUEST", + name: "request_3", +path: "request_3", +pathFormatted: "req_request-3-693933699", +stats: { + "name": "request_3", + "numberOfRequests": { + "total": "593", + "ok": "493", + "ko": "100" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "60000" + }, + "maxResponseTime": { + "total": "60016", + "ok": "27742", + "ko": "60016" + }, + "meanResponseTime": { + "total": "11434", + "ok": "1580", + "ko": "60011" + }, + "standardDeviation": { + "total": "22384", + "ok": "5190", + "ko": "6" + }, + "percentiles1": { + "total": "376", + "ok": "209", + "ko": "60014" + }, + "percentiles2": { + "total": "2095", + "ok": "948", + "ko": "60014" + }, + "percentiles3": { + "total": "60014", + "ok": "2922", + "ko": "60015" + }, + "percentiles4": { + "total": "60015", + "ok": "27322", + "ko": "60016" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 338, + "percentage": 57 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 91, + "percentage": 15 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 64, + "percentage": 11 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 100, + "percentage": 17 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.985", + "ok": "0.819", + "ko": "0.166" + } +} + },"req_request-4-693933700": { + type: "REQUEST", + name: "request_4", +path: "request_4", +pathFormatted: "req_request-4-693933700", +stats: { + "name": "request_4", + "numberOfRequests": { + "total": "493", + "ok": "415", + "ko": "78" + }, + "minResponseTime": { + "total": "126", + "ok": "126", + "ko": "60000" + }, + "maxResponseTime": { + "total": "60015", + "ok": "59582", + "ko": "60015" + }, + "meanResponseTime": { + "total": "25789", + "ok": "19358", + "ko": "60009" + }, + "standardDeviation": { + "total": "23234", + "ok": "19489", + "ko": "5" + }, + "percentiles1": { + "total": "11005", + "ok": "9497", + "ko": "60009" + }, + "percentiles2": { + "total": "48267", + "ok": "43735", + "ko": "60014" + }, + "percentiles3": { + "total": "60012", + "ok": "49841", + "ko": "60015" + }, + "percentiles4": { + "total": "60015", + "ok": "57933", + "ko": "60015" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 35, + "percentage": 7 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 33, + "percentage": 7 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 347, + "percentage": 70 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 78, + "percentage": 16 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.819", + "ok": "0.689", + "ko": "0.13" + } +} + },"req_request-5-693933701": { + type: "REQUEST", + name: "request_5", +path: "request_5", +pathFormatted: "req_request-5-693933701", +stats: { + "name": "request_5", + "numberOfRequests": { + "total": "493", + "ok": "412", + "ko": "81" + }, + "minResponseTime": { + "total": "319", + "ok": "319", + "ko": "60000" + }, + "maxResponseTime": { + "total": "60015", + "ok": "59654", + "ko": "60015" + }, + "meanResponseTime": { + "total": "24793", + "ok": "17870", + "ko": "60007" + }, + "standardDeviation": { + "total": "23364", + "ok": "19013", + "ko": "4" + }, + "percentiles1": { + "total": "14925", + "ok": "8440", + "ko": "60006" + }, + "percentiles2": { + "total": "53623", + "ok": "26868", + "ko": "60009" + }, + "percentiles3": { + "total": "60008", + "ok": "57001", + "ko": "60014" + }, + "percentiles4": { + "total": "60014", + "ok": "58507", + "ko": "60015" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 14, + "percentage": 3 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 29, + "percentage": 6 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 369, + "percentage": 75 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 81, + "percentage": 16 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.819", + "ok": "0.684", + "ko": "0.135" + } +} + },"req_request-6-693933702": { + type: "REQUEST", + name: "request_6", +path: "request_6", +pathFormatted: "req_request-6-693933702", +stats: { + "name": "request_6", + "numberOfRequests": { + "total": "493", + "ok": "300", + "ko": "193" + }, + "minResponseTime": { + "total": "515", + "ok": "515", + "ko": "60000" + }, + "maxResponseTime": { + "total": "60061", + "ok": "53377", + "ko": "60061" + }, + "meanResponseTime": { + "total": "40479", + "ok": "27915", + "ko": "60008" + }, + "standardDeviation": { + "total": "20838", + "ok": "17617", + "ko": "6" + }, + "percentiles1": { + "total": "46596", + "ok": "30812", + "ko": "60007" + }, + "percentiles2": { + "total": "60005", + "ok": "44708", + "ko": "60011" + }, + "percentiles3": { + "total": "60014", + "ok": "50933", + "ko": "60015" + }, + "percentiles4": { + "total": "60015", + "ok": "51972", + "ko": "60015" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 298, + "percentage": 60 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 193, + "percentage": 39 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.819", + "ok": "0.498", + "ko": "0.321" + } +} + },"req_request-7-693933703": { + type: "REQUEST", + name: "request_7", +path: "request_7", +pathFormatted: "req_request-7-693933703", +stats: { + "name": "request_7", + "numberOfRequests": { + "total": "593", + "ok": "413", + "ko": "180" + }, + "minResponseTime": { + "total": "41", + "ok": "41", + "ko": "2846" + }, + "maxResponseTime": { + "total": "60016", + "ok": "27438", + "ko": "60016" + }, + "meanResponseTime": { + "total": "9513", + "ok": "2050", + "ko": "26637" + }, + "standardDeviation": { + "total": "17440", + "ok": "3223", + "ko": "23605" + }, + "percentiles1": { + "total": "2713", + "ok": "628", + "ko": "10014" + }, + "percentiles2": { + "total": "10002", + "ok": "3135", + "ko": "60009" + }, + "percentiles3": { + "total": "60014", + "ok": "6675", + "ko": "60015" + }, + "percentiles4": { + "total": "60015", + "ok": "11779", + "ko": "60015" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 227, + "percentage": 38 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 28, + "percentage": 5 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 158, + "percentage": 27 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 180, + "percentage": 30 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.985", + "ok": "0.686", + "ko": "0.299" + } +} + },"req_request-8-693933704": { + type: "REQUEST", + name: "request_8", +path: "request_8", +pathFormatted: "req_request-8-693933704", +stats: { + "name": "request_8", + "numberOfRequests": { + "total": "593", + "ok": "299", + "ko": "294" + }, + "minResponseTime": { + "total": "75", + "ok": "75", + "ko": "10001" + }, + "maxResponseTime": { + "total": "60016", + "ok": "30552", + "ko": "60016" + }, + "meanResponseTime": { + "total": "16856", + "ok": "3717", + "ko": "30218" + }, + "standardDeviation": { + "total": "21878", + "ok": "5557", + "ko": "24082" + }, + "percentiles1": { + "total": "10009", + "ok": "1134", + "ko": "10015" + }, + "percentiles2": { + "total": "10356", + "ok": "7301", + "ko": "60005" + }, + "percentiles3": { + "total": "60011", + "ok": "10652", + "ko": "60014" + }, + "percentiles4": { + "total": "60015", + "ok": "26793", + "ko": "60015" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 134, + "percentage": 23 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 19, + "percentage": 3 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 146, + "percentage": 25 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 294, + "percentage": 50 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.985", + "ok": "0.497", + "ko": "0.488" + } +} + },"req_request-9-693933705": { + type: "REQUEST", + name: "request_9", +path: "request_9", +pathFormatted: "req_request-9-693933705", +stats: { + "name": "request_9", + "numberOfRequests": { + "total": "593", + "ok": "256", + "ko": "337" + }, + "minResponseTime": { + "total": "76", + "ok": "76", + "ko": "10000" + }, + "maxResponseTime": { + "total": "62405", + "ok": "30466", + "ko": "62405" + }, + "meanResponseTime": { + "total": "13728", + "ok": "4749", + "ko": "20548" + }, + "standardDeviation": { + "total": "18048", + "ok": "8154", + "ko": "20369" + }, + "percentiles1": { + "total": "10008", + "ok": "1214", + "ko": "10013" + }, + "percentiles2": { + "total": "10013", + "ok": "5201", + "ko": "10015" + }, + "percentiles3": { + "total": "62022", + "ok": "29345", + "ko": "62115" + }, + "percentiles4": { + "total": "62313", + "ok": "29460", + "ko": "62327" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 79, + "percentage": 13 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 47, + "percentage": 8 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 130, + "percentage": 22 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 337, + "percentage": 57 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.985", + "ok": "0.425", + "ko": "0.56" + } +} + },"req_request-10-37108175": { + type: "REQUEST", + name: "request_10", +path: "request_10", +pathFormatted: "req_request-10-37108175", +stats: { + "name": "request_10", + "numberOfRequests": { + "total": "593", + "ok": "106", + "ko": "487" + }, + "minResponseTime": { + "total": "6222", + "ok": "6222", + "ko": "10001" + }, + "maxResponseTime": { + "total": "63970", + "ok": "59883", + "ko": "63970" + }, + "meanResponseTime": { + "total": "33391", + "ok": "38909", + "ko": "32190" + }, + "standardDeviation": { + "total": "23006", + "ok": "17099", + "ko": "23933" + }, + "percentiles1": { + "total": "24710", + "ok": "44821", + "ko": "20253" + }, + "percentiles2": { + "total": "60003", + "ok": "52669", + "ko": "60007" + }, + "percentiles3": { + "total": "60051", + "ok": "55291", + "ko": "60559" + }, + "percentiles4": { + "total": "60995", + "ok": "59574", + "ko": "60996" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 0, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 106, + "percentage": 18 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 487, + "percentage": 82 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.985", + "ok": "0.176", + "ko": "0.809" + } +} + },"req_request-11-37108176": { + type: "REQUEST", + name: "request_11", +path: "request_11", +pathFormatted: "req_request-11-37108176", +stats: { + "name": "request_11", + "numberOfRequests": { + "total": "106", + "ok": "30", + "ko": "76" + }, + "minResponseTime": { + "total": "34268", + "ok": "34268", + "ko": "60001" + }, + "maxResponseTime": { + "total": "65148", + "ok": "56123", + "ko": "65148" + }, + "meanResponseTime": { + "total": "55014", + "ok": "41849", + "ko": "60211" + }, + "standardDeviation": { + "total": "9208", + "ok": "7439", + "ko": "997" + }, + "percentiles1": { + "total": "60005", + "ok": "40616", + "ko": "60009" + }, + "percentiles2": { + "total": "60012", + "ok": "45453", + "ko": "60013" + }, + "percentiles3": { + "total": "60016", + "ok": "54750", + "ko": "60016" + }, + "percentiles4": { + "total": "65122", + "ok": "55726", + "ko": "65129" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 0, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 30, + "percentage": 28 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 76, + "percentage": 72 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.176", + "ok": "0.05", + "ko": "0.126" + } +} + },"req_request-12-37108177": { + type: "REQUEST", + name: "request_12", +path: "request_12", +pathFormatted: "req_request-12-37108177", +stats: { + "name": "request_12", + "numberOfRequests": { + "total": "593", + "ok": "593", + "ko": "0" + }, + "minResponseTime": { + "total": "24", + "ok": "24", + "ko": "-" + }, + "maxResponseTime": { + "total": "1256", + "ok": "1256", + "ko": "-" + }, + "meanResponseTime": { + "total": "41", + "ok": "41", + "ko": "-" + }, + "standardDeviation": { + "total": "67", + "ok": "67", + "ko": "-" + }, + "percentiles1": { + "total": "31", + "ok": "31", + "ko": "-" + }, + "percentiles2": { + "total": "33", + "ok": "33", + "ko": "-" + }, + "percentiles3": { + "total": "54", + "ok": "54", + "ko": "-" + }, + "percentiles4": { + "total": "329", + "ok": "329", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 592, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 1, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.985", + "ok": "0.985", + "ko": "-" + } +} + },"req_request-14-37108179": { + type: "REQUEST", + name: "request_14", +path: "request_14", +pathFormatted: "req_request-14-37108179", +stats: { + "name": "request_14", + "numberOfRequests": { + "total": "593", + "ok": "32", + "ko": "561" + }, + "minResponseTime": { + "total": "37", + "ok": "37", + "ko": "10000" + }, + "maxResponseTime": { + "total": "64294", + "ok": "59132", + "ko": "64294" + }, + "meanResponseTime": { + "total": "29502", + "ok": "6302", + "ko": "30825" + }, + "standardDeviation": { + "total": "24167", + "ok": "11728", + "ko": "24022" + }, + "percentiles1": { + "total": "10014", + "ok": "753", + "ko": "10015" + }, + "percentiles2": { + "total": "60006", + "ok": "6194", + "ko": "60007" + }, + "percentiles3": { + "total": "60015", + "ok": "24691", + "ko": "60015" + }, + "percentiles4": { + "total": "60108", + "ok": "48461", + "ko": "60474" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 16, + "percentage": 3 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 1, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 15, + "percentage": 3 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 561, + "percentage": 95 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.985", + "ok": "0.053", + "ko": "0.932" + } +} + },"req_request-15-37108180": { + type: "REQUEST", + name: "request_15", +path: "request_15", +pathFormatted: "req_request-15-37108180", +stats: { + "name": "request_15", + "numberOfRequests": { + "total": "32", + "ok": "0", + "ko": "32" + }, + "minResponseTime": { + "total": "60000", + "ok": "-", + "ko": "60000" + }, + "maxResponseTime": { + "total": "60014", + "ok": "-", + "ko": "60014" + }, + "meanResponseTime": { + "total": "60007", + "ok": "-", + "ko": "60007" + }, + "standardDeviation": { + "total": "4", + "ok": "-", + "ko": "4" + }, + "percentiles1": { + "total": "60007", + "ok": "-", + "ko": "60007" + }, + "percentiles2": { + "total": "60009", + "ok": "-", + "ko": "60009" + }, + "percentiles3": { + "total": "60013", + "ok": "-", + "ko": "60013" + }, + "percentiles4": { + "total": "60014", + "ok": "-", + "ko": "60014" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 0, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 32, + "percentage": 100 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.053", + "ok": "-", + "ko": "0.053" + } +} + },"req_request-16-37108181": { + type: "REQUEST", + name: "request_16", +path: "request_16", +pathFormatted: "req_request-16-37108181", +stats: { + "name": "request_16", + "numberOfRequests": { + "total": "593", + "ok": "0", + "ko": "593" + }, + "minResponseTime": { + "total": "10000", + "ok": "-", + "ko": "10000" + }, + "maxResponseTime": { + "total": "60015", + "ok": "-", + "ko": "60015" + }, + "meanResponseTime": { + "total": "23417", + "ok": "-", + "ko": "23417" + }, + "standardDeviation": { + "total": "21418", + "ok": "-", + "ko": "21418" + }, + "percentiles1": { + "total": "10013", + "ok": "-", + "ko": "10013" + }, + "percentiles2": { + "total": "43152", + "ok": "-", + "ko": "43152" + }, + "percentiles3": { + "total": "60009", + "ok": "-", + "ko": "60009" + }, + "percentiles4": { + "total": "60013", + "ok": "-", + "ko": "60013" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 0, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 593, + "percentage": 100 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.985", + "ok": "-", + "ko": "0.985" + } +} + },"req_request-17-37108182": { + type: "REQUEST", + name: "request_17", +path: "request_17", +pathFormatted: "req_request-17-37108182", +stats: { + "name": "request_17", + "numberOfRequests": { + "total": "593", + "ok": "0", + "ko": "593" + }, + "minResponseTime": { + "total": "10000", + "ok": "-", + "ko": "10000" + }, + "maxResponseTime": { + "total": "60016", + "ok": "-", + "ko": "60016" + }, + "meanResponseTime": { + "total": "30137", + "ok": "-", + "ko": "30137" + }, + "standardDeviation": { + "total": "23459", + "ok": "-", + "ko": "23459" + }, + "percentiles1": { + "total": "10014", + "ok": "-", + "ko": "10014" + }, + "percentiles2": { + "total": "60006", + "ok": "-", + "ko": "60006" + }, + "percentiles3": { + "total": "60014", + "ok": "-", + "ko": "60014" + }, + "percentiles4": { + "total": "60016", + "ok": "-", + "ko": "60016" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 0, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 593, + "percentage": 100 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.985", + "ok": "-", + "ko": "0.985" + } +} + } +} + +} + +function fillStats(stat){ + $("#numberOfRequests").append(stat.numberOfRequests.total); + $("#numberOfRequestsOK").append(stat.numberOfRequests.ok); + $("#numberOfRequestsKO").append(stat.numberOfRequests.ko); + + $("#minResponseTime").append(stat.minResponseTime.total); + $("#minResponseTimeOK").append(stat.minResponseTime.ok); + $("#minResponseTimeKO").append(stat.minResponseTime.ko); + + $("#maxResponseTime").append(stat.maxResponseTime.total); + $("#maxResponseTimeOK").append(stat.maxResponseTime.ok); + $("#maxResponseTimeKO").append(stat.maxResponseTime.ko); + + $("#meanResponseTime").append(stat.meanResponseTime.total); + $("#meanResponseTimeOK").append(stat.meanResponseTime.ok); + $("#meanResponseTimeKO").append(stat.meanResponseTime.ko); + + $("#standardDeviation").append(stat.standardDeviation.total); + $("#standardDeviationOK").append(stat.standardDeviation.ok); + $("#standardDeviationKO").append(stat.standardDeviation.ko); + + $("#percentiles1").append(stat.percentiles1.total); + $("#percentiles1OK").append(stat.percentiles1.ok); + $("#percentiles1KO").append(stat.percentiles1.ko); + + $("#percentiles2").append(stat.percentiles2.total); + $("#percentiles2OK").append(stat.percentiles2.ok); + $("#percentiles2KO").append(stat.percentiles2.ko); + + $("#percentiles3").append(stat.percentiles3.total); + $("#percentiles3OK").append(stat.percentiles3.ok); + $("#percentiles3KO").append(stat.percentiles3.ko); + + $("#percentiles4").append(stat.percentiles4.total); + $("#percentiles4OK").append(stat.percentiles4.ok); + $("#percentiles4KO").append(stat.percentiles4.ko); + + $("#meanNumberOfRequestsPerSecond").append(stat.meanNumberOfRequestsPerSecond.total); + $("#meanNumberOfRequestsPerSecondOK").append(stat.meanNumberOfRequestsPerSecond.ok); + $("#meanNumberOfRequestsPerSecondKO").append(stat.meanNumberOfRequestsPerSecond.ko); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/stats.json new file mode 100644 index 0000000..1ed8083 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/stats.json @@ -0,0 +1,1481 @@ +{ + "type": "GROUP", +"name": "All Requests", +"path": "", +"pathFormatted": "group_missing-name--1146707516", +"stats": { + "name": "All Requests", + "numberOfRequests": { + "total": 8733, + "ok": 5128, + "ko": 3605 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 2846 + }, + "maxResponseTime": { + "total": 65148, + "ok": 59883, + "ko": 65148 + }, + "meanResponseTime": { + "total": 19071, + "ok": 9281, + "ko": 32996 + }, + "standardDeviation": { + "total": 22892, + "ok": 15556, + "ko": 24394 + }, + "percentiles1": { + "total": 10006, + "ok": 1130, + "ko": 16323 + }, + "percentiles2": { + "total": 37958, + "ok": 8171, + "ko": 60007 + }, + "percentiles3": { + "total": 60013, + "ok": 45464, + "ko": 60015 + }, + "percentiles4": { + "total": 60016, + "ok": 56869, + "ko": 62024 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2244, + "percentage": 26 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 400, + "percentage": 5 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 2484, + "percentage": 28 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 3605, + "percentage": 41 +}, + "meanNumberOfRequestsPerSecond": { + "total": 14.506644518272426, + "ok": 8.518272425249169, + "ko": 5.988372093023256 + } +}, +"contents": { +"req_request-0-693933696": { + "type": "REQUEST", + "name": "request_0", +"path": "request_0", +"pathFormatted": "req_request-0-693933696", +"stats": { + "name": "request_0", + "numberOfRequests": { + "total": 593, + "ok": 593, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 44603, + "ok": 44603, + "ko": 0 + }, + "meanResponseTime": { + "total": 10389, + "ok": 10389, + "ko": 0 + }, + "standardDeviation": { + "total": 15544, + "ok": 15544, + "ko": 0 + }, + "percentiles1": { + "total": 1290, + "ok": 1290, + "ko": 0 + }, + "percentiles2": { + "total": 20824, + "ok": 20824, + "ko": 0 + }, + "percentiles3": { + "total": 41878, + "ok": 41878, + "ko": 0 + }, + "percentiles4": { + "total": 43767, + "ok": 43767, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 227, + "percentage": 38 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 59, + "percentage": 10 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 307, + "percentage": 52 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9850498338870431, + "ok": 0.9850498338870431, + "ko": 0 + } +} + },"req_request-1-693933697": { + "type": "REQUEST", + "name": "request_1", +"path": "request_1", +"pathFormatted": "req_request-1-693933697", +"stats": { + "name": "request_1", + "numberOfRequests": { + "total": 593, + "ok": 593, + "ko": 0 + }, + "minResponseTime": { + "total": 36, + "ok": 36, + "ko": 0 + }, + "maxResponseTime": { + "total": 6870, + "ok": 6870, + "ko": 0 + }, + "meanResponseTime": { + "total": 1651, + "ok": 1651, + "ko": 0 + }, + "standardDeviation": { + "total": 2269, + "ok": 2269, + "ko": 0 + }, + "percentiles1": { + "total": 672, + "ok": 672, + "ko": 0 + }, + "percentiles2": { + "total": 2048, + "ok": 2048, + "ko": 0 + }, + "percentiles3": { + "total": 6843, + "ok": 6843, + "ko": 0 + }, + "percentiles4": { + "total": 6865, + "ok": 6865, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 322, + "percentage": 54 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 76, + "percentage": 13 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 195, + "percentage": 33 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9850498338870431, + "ok": 0.9850498338870431, + "ko": 0 + } +} + },"req_request-2-693933698": { + "type": "REQUEST", + "name": "request_2", +"path": "request_2", +"pathFormatted": "req_request-2-693933698", +"stats": { + "name": "request_2", + "numberOfRequests": { + "total": 593, + "ok": 593, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 45701, + "ok": 45701, + "ko": 0 + }, + "meanResponseTime": { + "total": 12012, + "ok": 12012, + "ko": 0 + }, + "standardDeviation": { + "total": 16245, + "ok": 16245, + "ko": 0 + }, + "percentiles1": { + "total": 1758, + "ok": 1758, + "ko": 0 + }, + "percentiles2": { + "total": 28386, + "ok": 28386, + "ko": 0 + }, + "percentiles3": { + "total": 40148, + "ok": 40148, + "ko": 0 + }, + "percentiles4": { + "total": 45086, + "ok": 45086, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 258, + "percentage": 44 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 17, + "percentage": 3 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 318, + "percentage": 54 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9850498338870431, + "ok": 0.9850498338870431, + "ko": 0 + } +} + },"req_request-3-693933699": { + "type": "REQUEST", + "name": "request_3", +"path": "request_3", +"pathFormatted": "req_request-3-693933699", +"stats": { + "name": "request_3", + "numberOfRequests": { + "total": 593, + "ok": 493, + "ko": 100 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 60000 + }, + "maxResponseTime": { + "total": 60016, + "ok": 27742, + "ko": 60016 + }, + "meanResponseTime": { + "total": 11434, + "ok": 1580, + "ko": 60011 + }, + "standardDeviation": { + "total": 22384, + "ok": 5190, + "ko": 6 + }, + "percentiles1": { + "total": 376, + "ok": 209, + "ko": 60014 + }, + "percentiles2": { + "total": 2095, + "ok": 948, + "ko": 60014 + }, + "percentiles3": { + "total": 60014, + "ok": 2922, + "ko": 60015 + }, + "percentiles4": { + "total": 60015, + "ok": 27322, + "ko": 60016 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 338, + "percentage": 57 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 91, + "percentage": 15 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 64, + "percentage": 11 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 100, + "percentage": 17 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9850498338870431, + "ok": 0.8189368770764119, + "ko": 0.16611295681063123 + } +} + },"req_request-4-693933700": { + "type": "REQUEST", + "name": "request_4", +"path": "request_4", +"pathFormatted": "req_request-4-693933700", +"stats": { + "name": "request_4", + "numberOfRequests": { + "total": 493, + "ok": 415, + "ko": 78 + }, + "minResponseTime": { + "total": 126, + "ok": 126, + "ko": 60000 + }, + "maxResponseTime": { + "total": 60015, + "ok": 59582, + "ko": 60015 + }, + "meanResponseTime": { + "total": 25789, + "ok": 19358, + "ko": 60009 + }, + "standardDeviation": { + "total": 23234, + "ok": 19489, + "ko": 5 + }, + "percentiles1": { + "total": 11005, + "ok": 9497, + "ko": 60009 + }, + "percentiles2": { + "total": 48267, + "ok": 43735, + "ko": 60014 + }, + "percentiles3": { + "total": 60012, + "ok": 49841, + "ko": 60015 + }, + "percentiles4": { + "total": 60015, + "ok": 57933, + "ko": 60015 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 35, + "percentage": 7 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 33, + "percentage": 7 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 347, + "percentage": 70 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 78, + "percentage": 16 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.8189368770764119, + "ok": 0.6893687707641196, + "ko": 0.12956810631229235 + } +} + },"req_request-5-693933701": { + "type": "REQUEST", + "name": "request_5", +"path": "request_5", +"pathFormatted": "req_request-5-693933701", +"stats": { + "name": "request_5", + "numberOfRequests": { + "total": 493, + "ok": 412, + "ko": 81 + }, + "minResponseTime": { + "total": 319, + "ok": 319, + "ko": 60000 + }, + "maxResponseTime": { + "total": 60015, + "ok": 59654, + "ko": 60015 + }, + "meanResponseTime": { + "total": 24793, + "ok": 17870, + "ko": 60007 + }, + "standardDeviation": { + "total": 23364, + "ok": 19013, + "ko": 4 + }, + "percentiles1": { + "total": 14925, + "ok": 8440, + "ko": 60006 + }, + "percentiles2": { + "total": 53623, + "ok": 26868, + "ko": 60009 + }, + "percentiles3": { + "total": 60008, + "ok": 57001, + "ko": 60014 + }, + "percentiles4": { + "total": 60014, + "ok": 58507, + "ko": 60015 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 14, + "percentage": 3 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 29, + "percentage": 6 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 369, + "percentage": 75 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 81, + "percentage": 16 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.8189368770764119, + "ok": 0.6843853820598007, + "ko": 0.1345514950166113 + } +} + },"req_request-6-693933702": { + "type": "REQUEST", + "name": "request_6", +"path": "request_6", +"pathFormatted": "req_request-6-693933702", +"stats": { + "name": "request_6", + "numberOfRequests": { + "total": 493, + "ok": 300, + "ko": 193 + }, + "minResponseTime": { + "total": 515, + "ok": 515, + "ko": 60000 + }, + "maxResponseTime": { + "total": 60061, + "ok": 53377, + "ko": 60061 + }, + "meanResponseTime": { + "total": 40479, + "ok": 27915, + "ko": 60008 + }, + "standardDeviation": { + "total": 20838, + "ok": 17617, + "ko": 6 + }, + "percentiles1": { + "total": 46596, + "ok": 30812, + "ko": 60007 + }, + "percentiles2": { + "total": 60005, + "ok": 44708, + "ko": 60011 + }, + "percentiles3": { + "total": 60014, + "ok": 50933, + "ko": 60015 + }, + "percentiles4": { + "total": 60015, + "ok": 51972, + "ko": 60015 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 298, + "percentage": 60 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 193, + "percentage": 39 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.8189368770764119, + "ok": 0.4983388704318937, + "ko": 0.32059800664451826 + } +} + },"req_request-7-693933703": { + "type": "REQUEST", + "name": "request_7", +"path": "request_7", +"pathFormatted": "req_request-7-693933703", +"stats": { + "name": "request_7", + "numberOfRequests": { + "total": 593, + "ok": 413, + "ko": 180 + }, + "minResponseTime": { + "total": 41, + "ok": 41, + "ko": 2846 + }, + "maxResponseTime": { + "total": 60016, + "ok": 27438, + "ko": 60016 + }, + "meanResponseTime": { + "total": 9513, + "ok": 2050, + "ko": 26637 + }, + "standardDeviation": { + "total": 17440, + "ok": 3223, + "ko": 23605 + }, + "percentiles1": { + "total": 2713, + "ok": 628, + "ko": 10014 + }, + "percentiles2": { + "total": 10002, + "ok": 3135, + "ko": 60009 + }, + "percentiles3": { + "total": 60014, + "ok": 6675, + "ko": 60015 + }, + "percentiles4": { + "total": 60015, + "ok": 11779, + "ko": 60015 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 227, + "percentage": 38 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 28, + "percentage": 5 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 158, + "percentage": 27 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 180, + "percentage": 30 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9850498338870431, + "ok": 0.686046511627907, + "ko": 0.29900332225913623 + } +} + },"req_request-8-693933704": { + "type": "REQUEST", + "name": "request_8", +"path": "request_8", +"pathFormatted": "req_request-8-693933704", +"stats": { + "name": "request_8", + "numberOfRequests": { + "total": 593, + "ok": 299, + "ko": 294 + }, + "minResponseTime": { + "total": 75, + "ok": 75, + "ko": 10001 + }, + "maxResponseTime": { + "total": 60016, + "ok": 30552, + "ko": 60016 + }, + "meanResponseTime": { + "total": 16856, + "ok": 3717, + "ko": 30218 + }, + "standardDeviation": { + "total": 21878, + "ok": 5557, + "ko": 24082 + }, + "percentiles1": { + "total": 10009, + "ok": 1134, + "ko": 10015 + }, + "percentiles2": { + "total": 10356, + "ok": 7301, + "ko": 60005 + }, + "percentiles3": { + "total": 60011, + "ok": 10652, + "ko": 60014 + }, + "percentiles4": { + "total": 60015, + "ok": 26793, + "ko": 60015 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 134, + "percentage": 23 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 19, + "percentage": 3 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 146, + "percentage": 25 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 294, + "percentage": 50 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9850498338870431, + "ok": 0.49667774086378735, + "ko": 0.4883720930232558 + } +} + },"req_request-9-693933705": { + "type": "REQUEST", + "name": "request_9", +"path": "request_9", +"pathFormatted": "req_request-9-693933705", +"stats": { + "name": "request_9", + "numberOfRequests": { + "total": 593, + "ok": 256, + "ko": 337 + }, + "minResponseTime": { + "total": 76, + "ok": 76, + "ko": 10000 + }, + "maxResponseTime": { + "total": 62405, + "ok": 30466, + "ko": 62405 + }, + "meanResponseTime": { + "total": 13728, + "ok": 4749, + "ko": 20548 + }, + "standardDeviation": { + "total": 18048, + "ok": 8154, + "ko": 20369 + }, + "percentiles1": { + "total": 10008, + "ok": 1214, + "ko": 10013 + }, + "percentiles2": { + "total": 10013, + "ok": 5201, + "ko": 10015 + }, + "percentiles3": { + "total": 62022, + "ok": 29345, + "ko": 62115 + }, + "percentiles4": { + "total": 62313, + "ok": 29460, + "ko": 62327 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 79, + "percentage": 13 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 47, + "percentage": 8 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 130, + "percentage": 22 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 337, + "percentage": 57 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9850498338870431, + "ok": 0.42524916943521596, + "ko": 0.5598006644518272 + } +} + },"req_request-10-37108175": { + "type": "REQUEST", + "name": "request_10", +"path": "request_10", +"pathFormatted": "req_request-10-37108175", +"stats": { + "name": "request_10", + "numberOfRequests": { + "total": 593, + "ok": 106, + "ko": 487 + }, + "minResponseTime": { + "total": 6222, + "ok": 6222, + "ko": 10001 + }, + "maxResponseTime": { + "total": 63970, + "ok": 59883, + "ko": 63970 + }, + "meanResponseTime": { + "total": 33391, + "ok": 38909, + "ko": 32190 + }, + "standardDeviation": { + "total": 23006, + "ok": 17099, + "ko": 23933 + }, + "percentiles1": { + "total": 24710, + "ok": 44821, + "ko": 20253 + }, + "percentiles2": { + "total": 60003, + "ok": 52669, + "ko": 60007 + }, + "percentiles3": { + "total": 60051, + "ok": 55291, + "ko": 60559 + }, + "percentiles4": { + "total": 60995, + "ok": 59574, + "ko": 60996 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 0, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 106, + "percentage": 18 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 487, + "percentage": 82 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9850498338870431, + "ok": 0.1760797342192691, + "ko": 0.8089700996677741 + } +} + },"req_request-11-37108176": { + "type": "REQUEST", + "name": "request_11", +"path": "request_11", +"pathFormatted": "req_request-11-37108176", +"stats": { + "name": "request_11", + "numberOfRequests": { + "total": 106, + "ok": 30, + "ko": 76 + }, + "minResponseTime": { + "total": 34268, + "ok": 34268, + "ko": 60001 + }, + "maxResponseTime": { + "total": 65148, + "ok": 56123, + "ko": 65148 + }, + "meanResponseTime": { + "total": 55014, + "ok": 41849, + "ko": 60211 + }, + "standardDeviation": { + "total": 9208, + "ok": 7439, + "ko": 997 + }, + "percentiles1": { + "total": 60005, + "ok": 40616, + "ko": 60009 + }, + "percentiles2": { + "total": 60012, + "ok": 45453, + "ko": 60013 + }, + "percentiles3": { + "total": 60016, + "ok": 54750, + "ko": 60016 + }, + "percentiles4": { + "total": 65122, + "ok": 55726, + "ko": 65129 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 0, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 30, + "percentage": 28 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 76, + "percentage": 72 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.1760797342192691, + "ok": 0.04983388704318937, + "ko": 0.12624584717607973 + } +} + },"req_request-12-37108177": { + "type": "REQUEST", + "name": "request_12", +"path": "request_12", +"pathFormatted": "req_request-12-37108177", +"stats": { + "name": "request_12", + "numberOfRequests": { + "total": 593, + "ok": 593, + "ko": 0 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 0 + }, + "maxResponseTime": { + "total": 1256, + "ok": 1256, + "ko": 0 + }, + "meanResponseTime": { + "total": 41, + "ok": 41, + "ko": 0 + }, + "standardDeviation": { + "total": 67, + "ok": 67, + "ko": 0 + }, + "percentiles1": { + "total": 31, + "ok": 31, + "ko": 0 + }, + "percentiles2": { + "total": 33, + "ok": 33, + "ko": 0 + }, + "percentiles3": { + "total": 54, + "ok": 54, + "ko": 0 + }, + "percentiles4": { + "total": 329, + "ok": 329, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 592, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 1, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9850498338870431, + "ok": 0.9850498338870431, + "ko": 0 + } +} + },"req_request-14-37108179": { + "type": "REQUEST", + "name": "request_14", +"path": "request_14", +"pathFormatted": "req_request-14-37108179", +"stats": { + "name": "request_14", + "numberOfRequests": { + "total": 593, + "ok": 32, + "ko": 561 + }, + "minResponseTime": { + "total": 37, + "ok": 37, + "ko": 10000 + }, + "maxResponseTime": { + "total": 64294, + "ok": 59132, + "ko": 64294 + }, + "meanResponseTime": { + "total": 29502, + "ok": 6302, + "ko": 30825 + }, + "standardDeviation": { + "total": 24167, + "ok": 11728, + "ko": 24022 + }, + "percentiles1": { + "total": 10014, + "ok": 753, + "ko": 10015 + }, + "percentiles2": { + "total": 60006, + "ok": 6194, + "ko": 60007 + }, + "percentiles3": { + "total": 60015, + "ok": 24691, + "ko": 60015 + }, + "percentiles4": { + "total": 60108, + "ok": 48461, + "ko": 60474 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 16, + "percentage": 3 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 1, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 15, + "percentage": 3 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 561, + "percentage": 95 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9850498338870431, + "ok": 0.053156146179401995, + "ko": 0.9318936877076412 + } +} + },"req_request-15-37108180": { + "type": "REQUEST", + "name": "request_15", +"path": "request_15", +"pathFormatted": "req_request-15-37108180", +"stats": { + "name": "request_15", + "numberOfRequests": { + "total": 32, + "ok": 0, + "ko": 32 + }, + "minResponseTime": { + "total": 60000, + "ok": 0, + "ko": 60000 + }, + "maxResponseTime": { + "total": 60014, + "ok": 0, + "ko": 60014 + }, + "meanResponseTime": { + "total": 60007, + "ok": 0, + "ko": 60007 + }, + "standardDeviation": { + "total": 4, + "ok": 0, + "ko": 4 + }, + "percentiles1": { + "total": 60007, + "ok": 0, + "ko": 60007 + }, + "percentiles2": { + "total": 60009, + "ok": 0, + "ko": 60009 + }, + "percentiles3": { + "total": 60013, + "ok": 0, + "ko": 60013 + }, + "percentiles4": { + "total": 60014, + "ok": 0, + "ko": 60014 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 0, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 32, + "percentage": 100 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.053156146179401995, + "ok": 0, + "ko": 0.053156146179401995 + } +} + },"req_request-16-37108181": { + "type": "REQUEST", + "name": "request_16", +"path": "request_16", +"pathFormatted": "req_request-16-37108181", +"stats": { + "name": "request_16", + "numberOfRequests": { + "total": 593, + "ok": 0, + "ko": 593 + }, + "minResponseTime": { + "total": 10000, + "ok": 0, + "ko": 10000 + }, + "maxResponseTime": { + "total": 60015, + "ok": 0, + "ko": 60015 + }, + "meanResponseTime": { + "total": 23417, + "ok": 0, + "ko": 23417 + }, + "standardDeviation": { + "total": 21418, + "ok": 0, + "ko": 21418 + }, + "percentiles1": { + "total": 10013, + "ok": 0, + "ko": 10013 + }, + "percentiles2": { + "total": 43152, + "ok": 0, + "ko": 43152 + }, + "percentiles3": { + "total": 60009, + "ok": 0, + "ko": 60009 + }, + "percentiles4": { + "total": 60013, + "ok": 0, + "ko": 60013 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 0, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 593, + "percentage": 100 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9850498338870431, + "ok": 0, + "ko": 0.9850498338870431 + } +} + },"req_request-17-37108182": { + "type": "REQUEST", + "name": "request_17", +"path": "request_17", +"pathFormatted": "req_request-17-37108182", +"stats": { + "name": "request_17", + "numberOfRequests": { + "total": 593, + "ok": 0, + "ko": 593 + }, + "minResponseTime": { + "total": 10000, + "ok": 0, + "ko": 10000 + }, + "maxResponseTime": { + "total": 60016, + "ok": 0, + "ko": 60016 + }, + "meanResponseTime": { + "total": 30137, + "ok": 0, + "ko": 30137 + }, + "standardDeviation": { + "total": 23459, + "ok": 0, + "ko": 23459 + }, + "percentiles1": { + "total": 10014, + "ok": 0, + "ko": 10014 + }, + "percentiles2": { + "total": 60006, + "ok": 0, + "ko": 60006 + }, + "percentiles3": { + "total": 60014, + "ok": 0, + "ko": 60014 + }, + "percentiles4": { + "total": 60016, + "ok": 0, + "ko": 60016 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 0, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 593, + "percentage": 100 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9850498338870431, + "ok": 0, + "ko": 0.9850498338870431 + } +} + } +} + +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/theme.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/theme.js new file mode 100644 index 0000000..b95a7b3 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/theme.js @@ -0,0 +1,127 @@ +/* + * Copyright 2011-2022 Gatling Corp + * + * Licensed under the Gatling Highcharts License + */ +Highcharts.theme = { + chart: { + backgroundColor: '#f7f7f7', + borderWidth: 0, + borderRadius: 8, + plotBackgroundColor: null, + plotShadow: false, + plotBorderWidth: 0 + }, + xAxis: { + gridLineWidth: 0, + lineColor: '#666', + tickColor: '#666', + labels: { + style: { + color: '#666' + } + }, + title: { + style: { + color: '#666' + } + } + }, + yAxis: { + alternateGridColor: null, + minorTickInterval: null, + gridLineColor: '#999', + lineWidth: 0, + tickWidth: 0, + labels: { + style: { + color: '#666', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#666', + font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + labels: { + style: { + color: '#CCC' + } + }, + + + rangeSelector: { + buttonTheme: { + fill: '#cfc9c6', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#b2b2a9' + }, + states: { + hover: { + fill: '#92918C', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#8b897d' + } + }, + select: { + fill: '#E37400', + stroke: '#000000', + style: { + color: '#FFF' + } + } + } + }, + inputStyle: { + backgroundColor: '#333', + color: 'silver' + }, + labelStyle: { + color: '#8b897d' + } + }, + + navigator: { + handles: { + backgroundColor: '#f7f7f7', + borderColor: '#92918C' + }, + outlineColor: '#92918C', + outlineWidth: 1, + maskFill: 'rgba(146, 145, 140, 0.5)', + series: { + color: '#5E7BE2', + lineColor: '#5E7BE2' + } + }, + + scrollbar: { + buttonBackgroundColor: '#f7f7f7', + buttonBorderWidth: 1, + buttonBorderColor: '#92918C', + buttonArrowColor: '#92918C', + buttonBorderRadius: 2, + + barBorderWidth: 1, + barBorderRadius: 0, + barBackgroundColor: '#92918C', + barBorderColor: '#92918C', + + rifleColor: '#92918C', + + trackBackgroundColor: '#b0b0a8', + trackBorderWidth: 1, + trackBorderColor: '#b0b0a8' + } +}; + +Highcharts.setOptions(Highcharts.theme); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/unpack.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/unpack.js new file mode 100644 index 0000000..883c33e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/js/unpack.js @@ -0,0 +1,38 @@ +'use strict'; + +var unpack = function (array) { + var findNbSeries = function (array) { + var currentPlotPack; + var length = array.length; + + for (var i = 0; i < length; i++) { + currentPlotPack = array[i][1]; + if(currentPlotPack !== null) { + return currentPlotPack.length; + } + } + return 0; + }; + + var i, j; + var nbPlots = array.length; + var nbSeries = findNbSeries(array); + + // Prepare unpacked array + var unpackedArray = new Array(nbSeries); + + for (i = 0; i < nbSeries; i++) { + unpackedArray[i] = new Array(nbPlots); + } + + // Unpack the array + for (i = 0; i < nbPlots; i++) { + var timestamp = array[i][0]; + var values = array[i][1]; + for (j = 0; j < nbSeries; j++) { + unpackedArray[j][i] = [timestamp * 1000, values === null ? null : values[j]]; + } + } + + return unpackedArray; +}; diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-0-693933696.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-0-693933696.html new file mode 100644 index 0000000..8d87b69 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-0-693933696.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_0 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-1-693933697.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-1-693933697.html new file mode 100644 index 0000000..409e407 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-1-693933697.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_1 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-10-37108175.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-10-37108175.html new file mode 100644 index 0000000..1d125d8 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-10-37108175.html @@ -0,0 +1,935 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_10 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-11-37108176.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-11-37108176.html new file mode 100644 index 0000000..c6bdae6 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-11-37108176.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_11 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-12-37108177.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-12-37108177.html new file mode 100644 index 0000000..0c5f10a --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-12-37108177.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_12 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-14-37108179.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-14-37108179.html new file mode 100644 index 0000000..7f738f0 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-14-37108179.html @@ -0,0 +1,935 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_14 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-15-37108180.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-15-37108180.html new file mode 100644 index 0000000..64ada9c --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-15-37108180.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_15 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-16-37108181.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-16-37108181.html new file mode 100644 index 0000000..a1b6c6d --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-16-37108181.html @@ -0,0 +1,935 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_16 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-17-37108182.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-17-37108182.html new file mode 100644 index 0000000..5b4573c --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-17-37108182.html @@ -0,0 +1,940 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_17 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-2-693933698.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-2-693933698.html new file mode 100644 index 0000000..18b9ed4 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-2-693933698.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_2 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-3-693933699.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-3-693933699.html new file mode 100644 index 0000000..cc69138 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-3-693933699.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_3 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-4-693933700.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-4-693933700.html new file mode 100644 index 0000000..c00a228 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-4-693933700.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_4 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-5-693933701.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-5-693933701.html new file mode 100644 index 0000000..61b6f36 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-5-693933701.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_5 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-6-693933702.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-6-693933702.html new file mode 100644 index 0000000..12e1531 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-6-693933702.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_6 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-7-693933703.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-7-693933703.html new file mode 100644 index 0000000..b4f1b59 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-7-693933703.html @@ -0,0 +1,935 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_7 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-8-693933704.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-8-693933704.html new file mode 100644 index 0000000..6cb4bd1 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-8-693933704.html @@ -0,0 +1,940 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_8 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-9-693933705.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-9-693933705.html new file mode 100644 index 0000000..9169f55 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/req_request-9-693933705.html @@ -0,0 +1,940 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_9 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/bootstrap.min.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/bootstrap.min.css new file mode 100644 index 0000000..76a2b9b --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/bootstrap.min.css @@ -0,0 +1,27 @@ +.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;} +.clearfix:after{clear:both;} +.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;} +.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);} +.tooltip.top{margin-top:-3px;} +.tooltip.right{margin-left:3px;} +.tooltip.bottom{margin-top:3px;} +.tooltip.left{margin-left:-3px;} +.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;} +.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;} +.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;} +.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;} +.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:750px;padding:1px;background-color:#ffffff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);}.popover.top{margin-top:-10px;} +.popover.right{margin-left:10px;} +.popover.bottom{margin-top:10px;} +.popover.left{margin-left:-10px;} +.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;} +.popover-content{padding:9px 14px;}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0;} +.popover .arrow,.popover .arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid;} +.popover .arrow:after{content:"";z-index:-1;} +.popover.top .arrow{bottom:-10px;left:50%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#ffffff;}.popover.top .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0, 0, 0, 0.25);bottom:-1px;left:-11px;} +.popover.right .arrow{top:50%;left:-10px;margin-top:-10px;border-width:10px 10px 10px 0;border-right-color:#ffffff;}.popover.right .arrow:after{border-width:11px 11px 11px 0;border-right-color:rgba(0, 0, 0, 0.25);bottom:-11px;left:-1px;} +.popover.bottom .arrow{top:-10px;left:50%;margin-left:-10px;border-width:0 10px 10px;border-bottom-color:#ffffff;}.popover.bottom .arrow:after{border-width:0 11px 11px;border-bottom-color:rgba(0, 0, 0, 0.25);top:-1px;left:-11px;} +.popover.left .arrow{top:50%;right:-10px;margin-top:-10px;border-width:10px 0 10px 10px;border-left-color:#ffffff;}.popover.left .arrow:after{border-width:11px 0 11px 11px;border-left-color:rgba(0, 0, 0, 0.25);bottom:-11px;right:-1px;} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/close.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/close.svg new file mode 100644 index 0000000..c161bb9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/executions.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/executions.svg new file mode 100644 index 0000000..84068cd --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/executions.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/expand.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/expand.svg new file mode 100644 index 0000000..f6e75e0 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/expand.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/favicon.ico b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d2d20e116df94a676d4bb18395f0479304aef6a4 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/fullscreen.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/fullscreen.svg new file mode 100644 index 0000000..91f3b27 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/fullscreen.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-dark.svg new file mode 100644 index 0000000..7eb4d51 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-enterprise-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-enterprise-dark.svg new file mode 100644 index 0000000..1127d75 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-enterprise-dark.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-enterprise-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-enterprise-light.svg new file mode 100644 index 0000000..4a6e1de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-enterprise-light.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-light.svg new file mode 100644 index 0000000..f519eef --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/logo-light.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/sort-down.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/sort-down.svg new file mode 100644 index 0000000..db58a09 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/sort-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/sort-up.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/sort-up.svg new file mode 100644 index 0000000..bba9d84 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/sort-up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/sort.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/sort.svg new file mode 100644 index 0000000..43b658e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/sort.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/style.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/style.css new file mode 100644 index 0000000..edc9626 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-1cpu/style/style.css @@ -0,0 +1,1199 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +:root { + --gatling-background-color: #f2f2f2; + --gatling-background-light-color: #f7f7f7; + --gatling-border-color: #dddddd; + --gatling-blue-color: #4a9fe5; + --gatling-dark-blue-color: #24275e; + --gatling-danger-color: #f15b4f; + --gatling-danger-light-color: #f5d1ce; + --gatling-enterprise-color: #6161d6; + --gatling-enterprise-light-color: #c4c4ed; + --gatling-gray-medium-color: #bbb; + --gatling-hover-color: #e6e6e6; + --gatling-hover-background-color: #e6e6e6; + --gatling-light-color: #ffffff; + --gatling-orange-color: #f78557; + --gatling-success-color: #68b65c; + --gatling-text-color: #1f2024; + --gatling-total-color: #ffa900; + + --gatling-border-radius: 2px; + --gatling-spacing-small: 5px; + --gatling-spacing: 10px; + --gatling-spacing-layout: 20px; + + --gatling-font-weight-normal: 400; + --gatling-font-weight-medium: 500; + --gatling-font-weight-bold: 700; + --gatling-font-size-secondary: 12px; + --gatling-font-size-default: 14px; + --gatling-font-size-heading: 16px; + --gatling-font-size-section: 22px; + --gatling-font-size-header: 34px; + + --gatling-media-desktop-large: 1920px; +} + +html[data-theme="dark"] { + --gatling-background-color: #1e2225; + --gatling-background-light-color: #272c30; + --gatling-border-color: #555555; + --gatling-blue-color: #1188ff; + --gatling-dark-blue-color: #17223B; + --gatling-danger-color: #d9534f; + --gatling-danger-light-color: #c9302c; + --gatling-enterprise-color: #b2a2ea; + --gatling-enterprise-light-color: #343479; + --gatling-gray-medium-color: #999; + --gatling-hover-color: #30363b; + --gatling-hover-background-color: #2c2c2c; + --gatling-light-color: #394046; + --gatling-orange-color: #fe8e5f; + --gatling-success-color: #5cb85c; + --gatling-text-color: #dee2e6; + --gatling-total-color: #ffa900; +} + +* { + min-height: 0; + min-width: 0; +} + +html, +body { + height: 100%; + width: 100%; +} + +body { + color: var(--gatling-text-color); + font-family: arial; + font-size: var(--gatling-font-size-secondary); + margin: 0; +} + +.app-container { + display: flex; + flex-direction: column; + + height: 100%; + width: 100%; +} + +.head { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + + flex: 1; + + background-color: var(--gatling-light-color); + border-bottom: 1px solid var(--gatling-border-color); + min-height: 69px; + padding: 0 var(--gatling-spacing-layout); +} + +.head .spacer { + flex-grow: 1; +} + +.head .theme-toggle { + margin-left: 20px; + background: none; + color: var(--gatling-text-color); + border: none; +} + +.head .theme-toggle:hover { + color: var(--gatling-gray-medium-color); + cursor: pointer; +} + +body .toggle-dark, body .toggle-light { + display: block; +} + +[data-theme="dark"] body .toggle-dark { + display: none; +} + +[data-theme="light"] body .toggle-light { + display: none; +} + +[data-theme="dark"] body .logo-enterprise-light { + display: none; +} + +[data-theme="light"] body .logo-enterprise-dark { + display: none; +} + +.gatling-open-source { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + gap: var(--gatling-spacing-layout); +} + +.gatling-documentation { + display: flex; + align-items: center; + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-orange-color); + border: 1px solid var(--gatling-orange-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 23px; + + font-size: var(--gatling-font-size-default); +} + +.gatling-documentation:hover { + background-color: var(--gatling-orange-color); + color: var(--gatling-light-color); +} + +.gatling-logo { + height: 35px; +} + +.gatling-logo img { + height: 100%; +} + +[data-theme="dark"] .gatling-logo-light { + display: none; +} + +[data-theme="light"] .gatling-logo-dark { + display: none; +} + +.container { + display: flex; + align-items: stretch; + height: 100%; +} + +.nav { + min-width: 210px; + width: 210px; + max-height: calc(100vh - var(--gatling-spacing-layout) - var(--gatling-spacing-layout)); + background: var(--gatling-light-color); + border-right: 1px solid var(--gatling-border-color); + overflow-y: auto; +} + +@media print { + .nav { + display: none; + } +} + +@media screen and (min-width: 1920px) { + .nav { + min-width: 310px; + width: 310px; + } +} + +.nav ul { + display: flex; + flex-direction: column; + + padding: 0; + margin: 0; +} + +.nav li { + display: flex; + list-style: none; + width: 100%; + padding: 0; +} + +.nav .item { + display: inline-flex; + align-items: center; + margin: 0 auto; + white-space: nowrap; + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + margin: 0; + width: 100%; +} + +.nav .item .nav-label { + padding: var(--gatling-spacing) var(--gatling-spacing-layout); +} + +.nav .item:hover { + background-color: var(--gatling-hover-color); +} + +.nav .on .item { + background-color: var(--gatling-orange-color); +} + +.nav .on .item span { + color: var(--gatling-light-color); +} + +.cadre { + width: 100%; + height: 100%; + overflow-y: scroll; + scroll-behavior: smooth; +} + +@media print { + .cadre { + overflow-y: unset; + } +} + +.frise { + position: absolute; + top: 60px; + z-index: -1; + + background-color: var(--gatling-background-color); + height: 530px; +} + +.global { + height: 650px +} + +a { + text-decoration: none; +} + +a:hover { + color: var(--gatling-hover-color); +} + +img { + border: 0; +} + +h1 { + color: var(--gatling-dark-blue-color); + font-size: var(--gatling-font-size-section); + font-weight: var(--gatling-font-weight-medium); + text-align: center; + margin: 0; +} + +h1 span { + color: var(--gatling-hover-color); +} + +.enterprise { + display: flex; + align-items: center; + justify-content: center; + gap: var(--gatling-spacing-small); + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-enterprise-color); + color: var(--gatling-enterprise-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 25px; +} + +.enterprise:hover { + background-color: var(--gatling-hover-color); + color: var(--gatling-enterprise-color); +} + +.enterprise img { + display: block; + width: 160px; +} + +.simulation-card { + display: flex; + flex-direction: column; + align-self: stretch; + flex: 1; + gap: var(--gatling-spacing-layout); + max-height: 375px; +} + +#simulation-information { + flex: 1; +} + +.simulation-version-information { + display: flex; + flex-direction: column; + + gap: var(--gatling-spacing); + font-size: var(--gatling-font-size-default); + + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing); +} + +.simulation-information-container { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing); +} + +.withTooltip .popover-title { + display: none; +} + +.popover-content p { + margin: 0; +} + +html[data-theme="dark"] div.popover { + background-color: var(--gatling-light-color); + border-bottom: none; +} + +html[data-theme="dark"] div.popover.right .arrow { + border-right-color: var(--gatling-light-color); +} + +.ellipsed-name { + display: block; + + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.simulation-information-item { + display: flex; + flex-direction: row; + align-items: flex-start; + gap: var(--gatling-spacing-small); +} + +.simulation-information-item.description { + flex-direction: column; +} + +.simulation-information-label { + display: inline-block; + font-weight: var(--gatling-font-weight-bold); + min-width: fit-content; +} + +.simulation-information-title { + display: block; + text-align: center; + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + width: 100%; +} + +.simulation-tooltip span { + display: inline-block; + word-wrap: break-word; + overflow: hidden; + text-overflow: ellipsis; +} + +.content { + display: flex; + flex-direction: column; +} + +.content-in { + width: 100%; + height: 100%; + + overflow-x: scroll; +} + +html[data-theme="dark"] .content-in { + background-color: var(--gatling-background-color); +} + +@media print { + .content-in { + overflow-x: unset; + } +} + +.container-article { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + min-width: 1050px; + width: 1050px; + margin: 0 auto; + padding: var(--gatling-spacing-layout); + box-sizing: border-box; +} + +@media screen and (min-width: 1920px) { + .container-article { + min-width: 1350px; + width: 1350px; + } + + #responses * .highcharts-tracker { + transform: translate(400px, 70px); + } +} + +.content-header { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + background-color: var(--gatling-background-light-color); + border-bottom: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-layout) var(--gatling-spacing-layout) 0; +} + +.onglet { + font-size: var(--gatling-font-size-header); + font-weight: var(--gatling-font-weight-medium); + text-align: center; +} + +.sous-menu { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.sous-menu-spacer { + display: flex; + align-items: center; + flex-direction: row; +} + +.sous-menu .item { + margin-bottom: -1px; +} + +.sous-menu a { + display: block; + + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-normal); + padding: var(--gatling-spacing-small) var(--gatling-spacing) var(--gatling-spacing); + border-bottom: 2px solid transparent; + color: var(--gatling-text-color); + text-align: center; + width: 100px; +} + +.sous-menu a:hover { + border-bottom-color: var(--gatling-text-color); +} + +.sous-menu .ouvert a { + border-bottom-color: var(--gatling-orange-color); + font-weight: var(--gatling-font-weight-bold); +} + +.article { + position: relative; + + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); +} + +.infos { + width: 340px; + color: var(--gatling-light-color); +} + +.infos-title { + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-bottom: 0; + border-top-left-radius: var(--gatling-border-radius); + border-top-right-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.info { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + height: 100%; + margin: 0; +} + +.info table { + margin: auto; + padding-right: 15px; +} + +.alert-danger { + background-color: var(--gatling-danger-light-color); + border: 1px solid var(--gatling-danger-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-layout); + font-weight: var(--gatling-font-weight-bold); +} + +.infos h2 { + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + height: 19px; + margin: 0; + padding: 3.5px 0 0 35px; +} + +.infos .first::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.infos .second::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .infos .first::before, +html[data-theme="dark"] .infos .second::before { + filter: invert(0.9); +} + +.infos th { + text-align: center; +} + +.infos td { + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing-small); + -webkit-border-radius: var(--gatling-border-radius); + -moz-border-radius: var(--gatling-border-radius); + -ms-border-radius: var(--gatling-border-radius); + -o-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + text-align: right; + width: 50px; +} + +.infos .title { + width: 120px; +} + +.infos .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); +} + +.infos .total { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); +} + +.infos .ko { + background-color: var(--gatling-danger-color); + -webkit-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); +} + +.schema-container { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--gatling-spacing-layout); +} + +.schema { + background: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); +} + +.ranges { + height: 375px; + width: 500px; +} + +.ranges-large { + height: 375px; + width: 530px; +} + +.geant { + height: 362px; +} + +.extensible-geant { + width: 100%; +} + +.polar { + height: 375px; + width: 230px; +} + +.chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .highcharts-background { + fill: var(--gatling-background-light-color); +} + +html[data-theme="dark"] .highcharts-button-normal rect { + fill: var(--gatling-background-color) !important; +} + +html[data-theme="dark"] .highcharts-button-disabled rect { + fill: var(--gatling-background-light-color) !important; +} + +html[data-theme="dark"] .highcharts-button-pressed rect { + fill: var(--gatling-orange-color) !important; +} + +html[data-theme="dark"] .highcharts-axis text, +html[data-theme="dark"] .highcharts-axis-labels text, +html[data-theme="dark"] .highcharts-button text, +html[data-theme="dark"] .highcharts-legend-item text, +html[data-theme="dark"] .highcharts-range-selector-buttons text { + fill: var(--gatling-text-color) !important; +} + +.statistics { + display: flex; + flex-direction: column; + + background-color: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border-collapse: collapse; + color: var(--gatling-text-color); + max-height: 100%; +} + +.statistics .title { + display: flex; + text-align: center; + justify-content: space-between; + + min-height: 49.5px; + box-sizing: border-box; + + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing); +} + +.title_base { + display: flex; + align-items: center; + text-align: left; + user-select: none; +} + +.title_base_stats { + color: var(--gatling-text-color); + margin-right: 20px; +} + +.toggle-table { + position: relative; + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: 25px; + width: 40px; + height: 20px; + margin: 0 var(--gatling-spacing-small); +} + +.toggle-table::before { + position: absolute; + top: calc(50% - 9px); + left: 1px; + content: ""; + width: 50%; + height: 18px; + border-radius: 50%; + background-color: var(--gatling-text-color); +} + +.toggle-table.off::before { + left: unset; + right: 1px; +} + +.title_expanded { + cursor: pointer; + color: var(--gatling-text-color); +} + +.expand-table, +.collapse-table { + font-size: var(--gatling-font-size-secondary); + font-weight: var(--gatling-font-weight-normal); +} + +.title_expanded span.expand-table { + color: var(--gatling-gray-medium-color); +} + +.title_collapsed { + cursor: pointer; + color: var(--gatling-text-color); +} + +.title_collapsed span.collapse-table { + color: var(--gatling-gray-medium-color); +} + +#container_statistics_head { + position: sticky; + top: -1px; + + background: var(--gatling-background-light-color); + margin-top: -1px; + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); +} + +#container_statistics_body { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + margin-top: -1px; + padding: 0px var(--gatling-spacing-small) var(--gatling-spacing-small) var(--gatling-spacing-small); +} + +#container_errors { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); + margin-top: -1px; +} + +#container_assertions { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small); + margin-top: -1px; +} + +.statistics-in { + border-spacing: var(--gatling-spacing-small); + border-collapse: collapse; + margin: 0; +} + +.statistics .scrollable { + max-height: 100%; + overflow-y: auto; +} + +#statistics_table_container .statistics .scrollable { + max-height: 785px; +} + +.statistics-in a { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .header { + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small); +} + +.sortable { + cursor: pointer; +} + +.sortable span::after { + content: ''; + display: inline-block; + margin-left: 5px; + vertical-align: middle; + width: 12px; + height: 12px; + background: url('sort.svg'); + background-size: contain; +} + +.sorted-up span::after { + background: url('sort-up.svg'); + background-size: contain; +} + +.sorted-down span::after { + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .sortable span::after { + filter: invert(0.9); +} + +.executions::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.response-time::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .executions::before, +html[data-theme="dark"] .response-time::before { + filter: invert(0.9); +} + +.statistics-in td { + background-color: var(--gatling-light-color); + border: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-small); + min-width: 50px; +} + +.statistics-in .col-1 { + width: 175px; + max-width: 175px; +} +@media screen and (min-width: 1200px) { + .statistics-in .col-1 { + width: 50%; + } +} + +.expandable-container { + display: flex; + flex-direction: row; + box-sizing: border-box; + max-width: 100%; +} + +.statistics-in .value { + text-align: right; + width: 50px; +} + +.statistics-in .total { + color: var(--gatling-text-color); +} + +.statistics-in .col-2 { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .error-col-1 { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); +} + +.statistics-in .error-col-2 { + text-align: center; +} + +.statistics-in .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .ko { + background-color: var(--gatling-danger-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .expand-button { + padding-left: var(--gatling-spacing); + cursor: pointer; +} + +.expand-button.hidden { + background: none; + cursor: default; +} + +.statistics-button { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-small) var(--gatling-spacing); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); +} + +#statistics_full_screen{ + padding: var(--gatling-spacing-small); +} + +#statistics_full_screen > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] #statistics_full_screen > img { + filter: invert(0.9); +} + +#statistics_full_screen:disabled { + display: none; +} + +.statistics-button:hover:not(:disabled) { + cursor: pointer; + background-color: var(--gatling-hover-color); +} + +.statistics-in .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('expand.svg'); + background-size: contain; +} + +.statistics-in .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .statistics-in .expand-button.collapse, +html[data-theme="dark"] .statistics-in .expand-button.expand { + filter: invert(0.9); +} + +.nav .expand-button { + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.nav .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('expand.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +.nav .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('sort-down.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +html[data-theme="dark"] .nav .expand-button.expand, +html[data-theme="dark"] .nav .expand-button.collapse { + filter: invert(0.9); +} + +.right { + display: flex; + align-items: center; + gap: var(--gatling-spacing); + float: right; + font-size: var(--gatling-font-size-default); +} + +.withTooltip { + outline: none; +} + +.withTooltip:hover { + text-decoration: none; +} + +.withTooltip .tooltipContent { + position: absolute; + z-index: 10; + display: none; + + background: var(--gatling-orange-color); + -webkit-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + -moz-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); + margin-top: -5px; + padding: var(--gatling-spacing-small); +} + +.withTooltip:hover .tooltipContent { + display: inline; +} + +.button-modal { + padding: var(--gatling-spacing-small); +} + +.button-modal > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] .button-modal > img { + filter: invert(0.9); +} + +.statistics-table-modal { + background-color: var(--gatling-background-color); + height: calc(100% - 60px); + width: calc(100% - 60px); + border-radius: var(--gatling-border-radius); +} + +.statistics-table-modal::backdrop { + position: fixed; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + + background-color: rgba(100, 100, 100, 0.9); +} + +.statistics-table-modal-container { + display: flex; + flex-direction: column; + + width: 100%; + height: calc(100% - 35px); + overflow-x: auto; +} + +.button-modal { + cursor: pointer; + + height: 25px; + width: 25px; + + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); +} + +.button-modal:hover { + background-color: var(--gatling-background-color); +} + +.statistics-table-modal-header { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-bottom: var(--gatling-spacing); +} + +.statistics-table-modal-content { + flex: 1; + overflow-y: auto; + min-width: 1050px; +} + +.statistics-table-modal-footer { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-top: var(--gatling-spacing); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/index.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/index.html new file mode 100644 index 0000000..1841abc --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/index.html @@ -0,0 +1,1117 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - Global Information + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    +
    +
    + Gatling Version + + Version: + 3.10.5 + + + Released: + 2024-03-22 + +
    +
    + Run Information +
    + + Date: + 2024-04-25 17:54:56 GMT + + + Duration: + 2m 41s + + + Description: + Load testing (10 users/sec in 60sec - 2 cpu) + + +
    +
    +
    +
    + +
    + +
    + +
    +
    +
    +
    +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/all_sessions.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/all_sessions.js new file mode 100644 index 0000000..ba56bee --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/all_sessions.js @@ -0,0 +1,11 @@ +allUsersData = { + +color: '#FFA900', +name: 'Active Users', +data: [ + [1714067697000,10],[1714067698000,17],[1714067699000,29],[1714067700000,36],[1714067701000,50],[1714067702000,63],[1714067703000,70],[1714067704000,87],[1714067705000,94],[1714067706000,104],[1714067707000,111],[1714067708000,124],[1714067709000,137],[1714067710000,142],[1714067711000,145],[1714067712000,157],[1714067713000,168],[1714067714000,180],[1714067715000,190],[1714067716000,198],[1714067717000,210],[1714067718000,220],[1714067719000,233],[1714067720000,245],[1714067721000,256],[1714067722000,266],[1714067723000,274],[1714067724000,280],[1714067725000,287],[1714067726000,293],[1714067727000,303],[1714067728000,315],[1714067729000,326],[1714067730000,336],[1714067731000,341],[1714067732000,348],[1714067733000,358],[1714067734000,375],[1714067735000,388],[1714067736000,402],[1714067737000,412],[1714067738000,421],[1714067739000,433],[1714067740000,441],[1714067741000,454],[1714067742000,463],[1714067743000,472],[1714067744000,481],[1714067745000,490],[1714067746000,498],[1714067747000,510],[1714067748000,527],[1714067749000,535],[1714067750000,542],[1714067751000,553],[1714067752000,562],[1714067753000,567],[1714067754000,573],[1714067755000,582],[1714067756000,590],[1714067757000,590],[1714067758000,590],[1714067759000,590],[1714067760000,590],[1714067761000,590],[1714067762000,590],[1714067763000,590],[1714067764000,590],[1714067765000,590],[1714067766000,590],[1714067767000,590],[1714067768000,590],[1714067769000,590],[1714067770000,590],[1714067771000,590],[1714067772000,587],[1714067773000,587],[1714067774000,587],[1714067775000,584],[1714067776000,580],[1714067777000,575],[1714067778000,564],[1714067779000,561],[1714067780000,553],[1714067781000,547],[1714067782000,545],[1714067783000,544],[1714067784000,543],[1714067785000,540],[1714067786000,539],[1714067787000,539],[1714067788000,536],[1714067789000,533],[1714067790000,530],[1714067791000,528],[1714067792000,527],[1714067793000,525],[1714067794000,521],[1714067795000,518],[1714067796000,514],[1714067797000,513],[1714067798000,510],[1714067799000,508],[1714067800000,503],[1714067801000,501],[1714067802000,496],[1714067803000,492],[1714067804000,488],[1714067805000,484],[1714067806000,481],[1714067807000,477],[1714067808000,473],[1714067809000,469],[1714067810000,464],[1714067811000,462],[1714067812000,456],[1714067813000,451],[1714067814000,444],[1714067815000,441],[1714067816000,432],[1714067817000,427],[1714067818000,421],[1714067819000,418],[1714067820000,416],[1714067821000,412],[1714067822000,407],[1714067823000,403],[1714067824000,399],[1714067825000,393],[1714067826000,389],[1714067827000,384],[1714067828000,382],[1714067829000,375],[1714067830000,372],[1714067831000,367],[1714067832000,356],[1714067833000,353],[1714067834000,346],[1714067835000,343],[1714067836000,337],[1714067837000,330],[1714067838000,319],[1714067839000,308],[1714067840000,301],[1714067841000,293],[1714067842000,280],[1714067843000,267],[1714067844000,254],[1714067845000,242],[1714067846000,229],[1714067847000,224],[1714067848000,209],[1714067849000,191],[1714067850000,171],[1714067851000,151],[1714067852000,129],[1714067853000,98],[1714067854000,67],[1714067855000,20],[1714067856000,12],[1714067857000,6],[1714067858000,1] +], +tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 } + , zIndex: 20 + , yAxis: 1 +}; \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/assertions.xml b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/assertions.xml new file mode 100644 index 0000000..c562e00 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/assertions.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/bootstrap.min.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/bootstrap.min.js new file mode 100644 index 0000000..ea41042 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/** +* Bootstrap.js by @fat & @mdo +* plugins: bootstrap-tooltip.js, bootstrap-popover.js +* Copyright 2012 Twitter, Inc. +* http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +!function(a){var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this)):this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f+"."+this.type,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.offset(g).addClass(f).addClass("in")}},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).detach()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.detach()})}var b=this,c=this.tip();return c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.detach(),this},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);c[c.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'
    ',trigger:"hover",title:"",delay:0,html:!1}}(window.jQuery),!function(a){var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content > *")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'

    '})}(window.jQuery) \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/ellipsis.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/ellipsis.js new file mode 100644 index 0000000..781d0de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/ellipsis.js @@ -0,0 +1,26 @@ +function parentId(name) { + return "parent-" + name; +} + +function isEllipsed(name) { + const child = document.getElementById(name); + const parent = document.getElementById(parentId(name)); + const emptyData = parent.getAttribute("data-content") === ""; + const hasOverflow = child.clientWidth < child.scrollWidth; + + if (hasOverflow) { + if (emptyData) { + parent.setAttribute("data-content", name); + } + } else { + if (!emptyData) { + parent.setAttribute("data-content", ""); + } + } +} + +function ellipsedLabel ({ name, parentClass = "", childClass = "" }) { + const child = "" + name + ""; + + return "" + child + ""; +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/gatling.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/gatling.js new file mode 100644 index 0000000..5b9e992 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/gatling.js @@ -0,0 +1,137 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +(function ($) { + $.fn.expandable = function () { + var scope = this; + + this.find('.expand-button:not([class*=hidden])').addClass('collapse').on('click', function () { + var $this = $(this); + + if ($this.hasClass('expand')) + $this.expand(scope); + else + $this.collapse(scope); + }); + + this.find('.expand-all-button').on('click', function () { + $(this).expandAll(scope); + }); + + this.find('.collapse-all-button').on('click', function () { + $(this).collapseAll(scope); + }); + + this.collapseAll(this); + + return this; + }; + + $.fn.expand = function (scope, recursive) { + return this.each(function () { + var $this = $(this); + + if (recursive) { + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + } + + if ($this.hasClass('expand')) { + $('*[data-parent=' + $this.attr('id') + ']').toggle(true); + $this.toggleClass('expand').toggleClass('collapse'); + } + }); + }; + + $.fn.expandAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.expand').expand(scope, true); + $('*[data-parent=ROOT]').find('.expand-button.collapse').expand(scope, true); + }; + + $.fn.collapse = function (scope) { + return this.each(function () { + var $this = $(this); + + scope.find('*[data-parent=' + $this.attr('id') + '] .expand-button.collapse').collapse(scope); + scope.find('*[data-parent=' + $this.attr('id') + ']').toggle(false); + $this.toggleClass('expand').toggleClass('collapse'); + }); + }; + + $.fn.collapseAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.collapse').collapse(scope); + }; + + $.fn.sortable = function (target) { + var table = this; + + this.find('thead .sortable').on('click', function () { + var $this = $(this); + + if ($this.hasClass('sorted-down')) { + var desc = false; + var style = 'sorted-up'; + } + else { + var desc = true; + var style = 'sorted-down'; + } + + $(target).sortTable($this.attr('id'), desc); + + table.find('thead .sortable').removeClass('sorted-up sorted-down'); + $this.addClass(style); + + return false; + }); + + return this; + }; + + $.fn.sortTable = function (col, desc) { + function getValue(line) { + var cell = $(line).find('.' + col); + + if (cell.hasClass('value')) + var value = cell.text(); + else + var value = cell.find('.value').text(); + + return parseFloat(value); + } + + function sortLines (lines, group) { + var notErrorTable = col.search("error") == -1; + var linesToSort = notErrorTable ? lines.filter('*[data-parent=' + group + ']') : lines; + + var sortedLines = linesToSort.sort(function (a, b) { + return desc ? getValue(b) - getValue(a): getValue(a) - getValue(b); + }).toArray(); + + var result = []; + $.each(sortedLines, function (i, line) { + result.push(line); + if (notErrorTable) + result = result.concat(sortLines(lines, $(line).attr('id'))); + }); + + return result; + } + + this.find('tbody').append(sortLines(this.find('tbody tr').detach(), 'ROOT')); + + return this; + }; +})(jQuery); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/global_stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/global_stats.json new file mode 100644 index 0000000..59e26c9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/global_stats.json @@ -0,0 +1,77 @@ +{ + "name": "All Requests", + "numberOfRequests": { + "total": 10030, + "ok": 10030, + "ko": 0 + }, + "minResponseTime": { + "total": 23, + "ok": 23, + "ko": 0 + }, + "maxResponseTime": { + "total": 58634, + "ok": 58634, + "ko": 0 + }, + "meanResponseTime": { + "total": 2329, + "ok": 2329, + "ko": 0 + }, + "standardDeviation": { + "total": 7662, + "ok": 7662, + "ko": 0 + }, + "percentiles1": { + "total": 122, + "ok": 122, + "ko": 0 + }, + "percentiles2": { + "total": 424, + "ok": 424, + "ko": 0 + }, + "percentiles3": { + "total": 17978, + "ok": 17978, + "ko": 0 + }, + "percentiles4": { + "total": 43355, + "ok": 43355, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 7679, + "percentage": 77 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 1105, + "percentage": 11 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 1246, + "percentage": 12 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 61.91358024691358, + "ok": 61.91358024691358, + "ko": 0 + } +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/highcharts-more.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/highcharts-more.js new file mode 100644 index 0000000..2d78893 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/highcharts-more.js @@ -0,0 +1,60 @@ +/* + Highcharts JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(x){"object"===typeof module&&module.exports?module.exports=x:x(Highcharts)})(function(x){(function(b){function r(b,a,d){this.init(b,a,d)}var t=b.each,w=b.extend,m=b.merge,q=b.splat;w(r.prototype,{init:function(b,a,d){var f=this,h=f.defaultOptions;f.chart=a;f.options=b=m(h,a.angular?{background:{}}:void 0,b);(b=b.background)&&t([].concat(q(b)).reverse(),function(a){var c,h=d.userOptions;c=m(f.defaultBackgroundOptions,a);a.backgroundColor&&(c.backgroundColor=a.backgroundColor);c.color=c.backgroundColor; +d.options.plotBands.unshift(c);h.plotBands=h.plotBands||[];h.plotBands!==d.options.plotBands&&h.plotBands.unshift(c)})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{className:"highcharts-pane",shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}});b.Pane=r})(x);(function(b){var r=b.CenteredSeriesMixin, +t=b.each,w=b.extend,m=b.map,q=b.merge,e=b.noop,a=b.Pane,d=b.pick,f=b.pInt,h=b.splat,u=b.wrap,c,l,k=b.Axis.prototype;b=b.Tick.prototype;c={getOffset:e,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:e,setCategories:e,setTitle:e};l={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2}, +defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(a){a=this.options=q(this.defaultOptions,this.defaultRadialOptions,a);a.plotBands||(a.plotBands=[])},getOffset:function(){k.getOffset.call(this);this.chart.axisOffset[this.side]=0;this.center=this.pane.center= +r.getCenter.call(this.pane)},getLinePath:function(a,g){a=this.center;var c=this.chart,f=d(g,a[2]/2-this.offset);this.isCircular||void 0!==g?g=this.chart.renderer.symbols.arc(this.left+a[0],this.top+a[1],f,f,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}):(g=this.postTranslate(this.angleRad,f),g=["M",a[0]+c.plotLeft,a[1]+c.plotTop,"L",g.x,g.y]);return g},setAxisTranslation:function(){k.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/ +(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===d(this.userMax,this.options.max)&&this.endAngleRad-this.startAngleRad===2*Math.PI)this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){k.setAxisSize.call(this);this.isRadial&&(this.center=this.pane.center=r.getCenter.call(this.pane),this.isCircular&& +(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*d(this.sector,1)/2)},getPosition:function(a,g){return this.postTranslate(this.isCircular?this.translate(a):this.angleRad,d(this.isCircular?g:this.translate(a),this.center[2]/2)-this.offset)},postTranslate:function(a,g){var d=this.chart,c=this.center;a=this.startAngleRad+a;return{x:d.plotLeft+c[0]+Math.cos(a)*g,y:d.plotTop+c[1]+Math.sin(a)*g}},getPlotBandPath:function(a,g,c){var h=this.center,p=this.startAngleRad, +k=h[2]/2,n=[d(c.outerRadius,"100%"),c.innerRadius,d(c.thickness,10)],b=Math.min(this.offset,0),l=/%$/,u,e=this.isCircular;"polygon"===this.options.gridLineInterpolation?h=this.getPlotLinePath(a).concat(this.getPlotLinePath(g,!0)):(a=Math.max(a,this.min),g=Math.min(g,this.max),e||(n[0]=this.translate(a),n[1]=this.translate(g)),n=m(n,function(a){l.test(a)&&(a=f(a,10)*k/100);return a}),"circle"!==c.shape&&e?(a=p+this.translate(a),g=p+this.translate(g)):(a=-Math.PI/2,g=1.5*Math.PI,u=!0),n[0]-=b,n[2]-= +b,h=this.chart.renderer.symbols.arc(this.left+h[0],this.top+h[1],n[0],n[0],{start:Math.min(a,g),end:Math.max(a,g),innerR:d(n[1],n[0]-n[2]),open:u}));return h},getPlotLinePath:function(a,g){var d=this,c=d.center,f=d.chart,h=d.getPosition(a),k,b,p;d.isCircular?p=["M",c[0]+f.plotLeft,c[1]+f.plotTop,"L",h.x,h.y]:"circle"===d.options.gridLineInterpolation?(a=d.translate(a))&&(p=d.getLinePath(0,a)):(t(f.xAxis,function(a){a.pane===d.pane&&(k=a)}),p=[],a=d.translate(a),c=k.tickPositions,k.autoConnect&&(c= +c.concat([c[0]])),g&&(c=[].concat(c).reverse()),t(c,function(g,d){b=k.getPosition(g,a);p.push(d?"L":"M",b.x,b.y)}));return p},getTitlePosition:function(){var a=this.center,g=this.chart,d=this.options.title;return{x:g.plotLeft+a[0]+(d.x||0),y:g.plotTop+a[1]-{high:.5,middle:.25,low:0}[d.align]*a[2]+(d.y||0)}}};u(k,"init",function(f,g,k){var b=g.angular,p=g.polar,n=k.isX,u=b&&n,e,A=g.options,m=k.pane||0;if(b){if(w(this,u?c:l),e=!n)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else p&&(w(this, +l),this.defaultRadialOptions=(e=n)?this.defaultRadialXOptions:q(this.defaultYAxisOptions,this.defaultRadialYOptions));b||p?(this.isRadial=!0,g.inverted=!1,A.chart.zoomType=null):this.isRadial=!1;f.call(this,g,k);u||!b&&!p||(f=this.options,g.panes||(g.panes=[]),this.pane=g=g.panes[m]=g.panes[m]||new a(h(A.pane)[m],g,this),g=g.options,this.angleRad=(f.angle||0)*Math.PI/180,this.startAngleRad=(g.startAngle-90)*Math.PI/180,this.endAngleRad=(d(g.endAngle,g.startAngle+360)-90)*Math.PI/180,this.offset=f.offset|| +0,this.isCircular=e)});u(k,"autoLabelAlign",function(a){if(!this.isRadial)return a.apply(this,[].slice.call(arguments,1))});u(b,"getPosition",function(a,d,c,f,h){var g=this.axis;return g.getPosition?g.getPosition(c):a.call(this,d,c,f,h)});u(b,"getLabelPosition",function(a,g,c,f,h,k,b,l,u){var n=this.axis,p=k.y,e=20,y=k.align,v=(n.translate(this.pos)+n.startAngleRad+Math.PI/2)/Math.PI*180%360;n.isRadial?(a=n.getPosition(this.pos,n.center[2]/2+d(k.distance,-25)),"auto"===k.rotation?f.attr({rotation:v}): +null===p&&(p=n.chart.renderer.fontMetrics(f.styles.fontSize).b-f.getBBox().height/2),null===y&&(n.isCircular?(this.label.getBBox().width>n.len*n.tickInterval/(n.max-n.min)&&(e=0),y=v>e&&v<180-e?"left":v>180+e&&v<360-e?"right":"center"):y="center",f.attr({align:y})),a.x+=k.x,a.y+=p):a=a.call(this,g,c,f,h,k,b,l,u);return a});u(b,"getMarkPath",function(a,d,c,f,h,k,b){var g=this.axis;g.isRadial?(a=g.getPosition(this.pos,g.center[2]/2+f),d=["M",d,c,"L",a.x,a.y]):d=a.call(this,d,c,f,h,k,b);return d})})(x); +(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.Series,q=b.seriesType,e=b.seriesTypes;q("arearange","area",{lineWidth:1,marker:null,threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{series.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},states:{hover:{halo:!1}}},{pointArrayMap:["low","high"],dataLabelCollections:["dataLabel", +"dataLabelUpper"],toYData:function(a){return[a.low,a.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(a){var d=this.chart,f=this.xAxis.postTranslate(a.rectPlotX,this.yAxis.len-a.plotHigh);a.plotHighX=f.x-d.plotLeft;a.plotHigh=f.y-d.plotTop},translate:function(){var a=this,d=a.yAxis,f=!!a.modifyValue;e.area.prototype.translate.apply(a);r(a.points,function(h){var b=h.low,c=h.high,l=h.plotY;null===c||null===b?h.isNull=!0:(h.plotLow=l,h.plotHigh=d.translate(f?a.modifyValue(c,h):c,0,1, +0,1),f&&(h.yBottom=h.plotHigh))});this.chart.polar&&r(this.points,function(d){a.highToXY(d)})},getGraphPath:function(a){var d=[],f=[],h,b=e.area.prototype.getGraphPath,c,l,k;k=this.options;var p=k.step;a=a||this.points;for(h=a.length;h--;)c=a[h],c.isNull||k.connectEnds||a[h+1]&&!a[h+1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1}),l={polarPlotY:c.polarPlotY,rectPlotX:c.rectPlotX,yBottom:c.yBottom,plotX:w(c.plotHighX,c.plotX),plotY:c.plotHigh,isNull:c.isNull},f.push(l),d.push(l),c.isNull|| +k.connectEnds||a[h-1]&&!a[h-1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1});a=b.call(this,a);p&&(!0===p&&(p="left"),k.step={left:"right",center:"center",right:"left"}[p]);d=b.call(this,d);f=b.call(this,f);k.step=p;k=[].concat(a,d);this.chart.polar||"M"!==f[0]||(f[0]="L");this.graphPath=k;this.areaPath=this.areaPath.concat(a,f);k.isArea=!0;k.xMap=a.xMap;this.areaPath.xMap=a.xMap;return k},drawDataLabels:function(){var a=this.data,d=a.length,f,h=[],b=m.prototype,c=this.options.dataLabels, +l=c.align,k=c.verticalAlign,p=c.inside,g,n,e=this.chart.inverted;if(c.enabled||this._hasPointLabels){for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.y=g.high,g._plotY=g.plotY,g.plotY=g.plotHigh,h[f]=g.dataLabel,g.dataLabel=g.dataLabelUpper,g.below=n,e?l||(c.align=n?"right":"left"):k||(c.verticalAlign=n?"top":"bottom"),c.x=c.xHigh,c.y=c.yHigh;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments);for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.dataLabelUpper= +g.dataLabel,g.dataLabel=h[f],g.y=g.low,g.plotY=g._plotY,g.below=!n,e?l||(c.align=n?"left":"right"):k||(c.verticalAlign=n?"bottom":"top"),c.x=c.xLow,c.y=c.yLow;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments)}c.align=l;c.verticalAlign=k},alignDataLabel:function(){e.column.prototype.alignDataLabel.apply(this,arguments)},setStackedPoints:t,getSymbol:t,drawPoints:t})})(x);(function(b){var r=b.seriesType;r("areasplinerange","arearange",null,{getPointSpline:b.seriesTypes.spline.prototype.getPointSpline})})(x); +(function(b){var r=b.defaultPlotOptions,t=b.each,w=b.merge,m=b.noop,q=b.pick,e=b.seriesType,a=b.seriesTypes.column.prototype;e("columnrange","arearange",w(r.column,r.arearange,{lineWidth:1,pointRange:null}),{translate:function(){var d=this,f=d.yAxis,b=d.xAxis,u=b.startAngleRad,c,l=d.chart,k=d.xAxis.isRadial,p;a.translate.apply(d);t(d.points,function(a){var g=a.shapeArgs,h=d.options.minPointLength,e,v;a.plotHigh=p=f.translate(a.high,0,1,0,1);a.plotLow=a.plotY;v=p;e=q(a.rectPlotY,a.plotY)-p;Math.abs(e)< +h?(h-=e,e+=h,v-=h/2):0>e&&(e*=-1,v-=e);k?(c=a.barX+u,a.shapeType="path",a.shapeArgs={d:d.polarArc(v+e,v,c,c+a.pointWidth)}):(g.height=e,g.y=v,a.tooltipPos=l.inverted?[f.len+f.pos-l.plotLeft-v-e/2,b.len+b.pos-l.plotTop-g.x-g.width/2,e]:[b.left-l.plotLeft+g.x+g.width/2,f.pos-l.plotTop+v+e/2,e])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:m,crispCol:a.crispCol,drawPoints:a.drawPoints,drawTracker:a.drawTracker,getColumnMetrics:a.getColumnMetrics,animate:function(){return a.animate.apply(this, +arguments)},polarArc:function(){return a.polarArc.apply(this,arguments)},pointAttribs:a.pointAttribs})})(x);(function(b){var r=b.each,t=b.isNumber,w=b.merge,m=b.pick,q=b.pInt,e=b.Series,a=b.seriesType,d=b.TrackerMixin;a("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2,borderWidth:1,borderColor:"#cccccc"},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,directTouch:!0,drawGraph:b.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0, +trackerGroups:["group","dataLabelsGroup"],translate:function(){var a=this.yAxis,d=this.options,b=a.center;this.generatePoints();r(this.points,function(c){var f=w(d.dial,c.dial),k=q(m(f.radius,80))*b[2]/200,h=q(m(f.baseLength,70))*k/100,g=q(m(f.rearLength,10))*k/100,n=f.baseWidth||3,u=f.topWidth||1,e=d.overshoot,v=a.startAngleRad+a.translate(c.y,null,null,null,!0);t(e)?(e=e/180*Math.PI,v=Math.max(a.startAngleRad-e,Math.min(a.endAngleRad+e,v))):!1===d.wrap&&(v=Math.max(a.startAngleRad,Math.min(a.endAngleRad, +v)));v=180*v/Math.PI;c.shapeType="path";c.shapeArgs={d:f.path||["M",-g,-n/2,"L",h,-n/2,k,-u/2,k,u/2,h,n/2,-g,n/2,"z"],translateX:b[0],translateY:b[1],rotation:v};c.plotX=b[0];c.plotY=b[1]})},drawPoints:function(){var a=this,d=a.yAxis.center,b=a.pivot,c=a.options,l=c.pivot,k=a.chart.renderer;r(a.points,function(d){var g=d.graphic,b=d.shapeArgs,f=b.d,h=w(c.dial,d.dial);g?(g.animate(b),b.d=f):(d.graphic=k[d.shapeType](b).attr({rotation:b.rotation,zIndex:1}).addClass("highcharts-dial").add(a.group),d.graphic.attr({stroke:h.borderColor|| +"none","stroke-width":h.borderWidth||0,fill:h.backgroundColor||"#000000"}))});b?b.animate({translateX:d[0],translateY:d[1]}):(a.pivot=k.circle(0,0,m(l.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(d[0],d[1]).add(a.group),a.pivot.attr({"stroke-width":l.borderWidth||0,stroke:l.borderColor||"#cccccc",fill:l.backgroundColor||"#000000"}))},animate:function(a){var d=this;a||(r(d.points,function(a){var c=a.graphic;c&&(c.attr({rotation:180*d.yAxis.startAngleRad/Math.PI}),c.animate({rotation:a.shapeArgs.rotation}, +d.options.animation))}),d.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);e.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(a,d){e.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();m(d,!0)&&this.chart.redraw()},drawTracker:d&&d.drawTrackerPoint},{setState:function(a){this.state=a}})})(x);(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.seriesType, +q=b.seriesTypes;m("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,states:{hover:{brightness:-.3}},whiskerWidth:2},{pointArrayMap:["low","q1","median", +"q3","high"],toYData:function(b){return[b.low,b.q1,b.median,b.q3,b.high]},pointValKey:"high",pointAttribs:function(b){var a=this.options,d=b&&b.color||this.color;return{fill:b.fillColor||a.fillColor||d,stroke:a.lineColor||d,"stroke-width":a.lineWidth||0}},drawDataLabels:t,translate:function(){var b=this.yAxis,a=this.pointArrayMap;q.column.prototype.translate.apply(this);r(this.points,function(d){r(a,function(a){null!==d[a]&&(d[a+"Plot"]=b.translate(d[a],0,1,0,1))})})},drawPoints:function(){var b= +this,a=b.options,d=b.chart.renderer,f,h,u,c,l,k,p=0,g,n,m,q,v=!1!==b.doQuartiles,t,x=b.options.whiskerLength;r(b.points,function(e){var r=e.graphic,y=r?"animate":"attr",I=e.shapeArgs,z={},B={},G={},H=e.color||b.color;void 0!==e.plotY&&(g=I.width,n=Math.floor(I.x),m=n+g,q=Math.round(g/2),f=Math.floor(v?e.q1Plot:e.lowPlot),h=Math.floor(v?e.q3Plot:e.lowPlot),u=Math.floor(e.highPlot),c=Math.floor(e.lowPlot),r||(e.graphic=r=d.g("point").add(b.group),e.stem=d.path().addClass("highcharts-boxplot-stem").add(r), +x&&(e.whiskers=d.path().addClass("highcharts-boxplot-whisker").add(r)),v&&(e.box=d.path(void 0).addClass("highcharts-boxplot-box").add(r)),e.medianShape=d.path(void 0).addClass("highcharts-boxplot-median").add(r),z.stroke=e.stemColor||a.stemColor||H,z["stroke-width"]=w(e.stemWidth,a.stemWidth,a.lineWidth),z.dashstyle=e.stemDashStyle||a.stemDashStyle,e.stem.attr(z),x&&(B.stroke=e.whiskerColor||a.whiskerColor||H,B["stroke-width"]=w(e.whiskerWidth,a.whiskerWidth,a.lineWidth),e.whiskers.attr(B)),v&&(r= +b.pointAttribs(e),e.box.attr(r)),G.stroke=e.medianColor||a.medianColor||H,G["stroke-width"]=w(e.medianWidth,a.medianWidth,a.lineWidth),e.medianShape.attr(G)),k=e.stem.strokeWidth()%2/2,p=n+q+k,e.stem[y]({d:["M",p,h,"L",p,u,"M",p,f,"L",p,c]}),v&&(k=e.box.strokeWidth()%2/2,f=Math.floor(f)+k,h=Math.floor(h)+k,n+=k,m+=k,e.box[y]({d:["M",n,h,"L",n,f,"L",m,f,"L",m,h,"L",n,h,"z"]})),x&&(k=e.whiskers.strokeWidth()%2/2,u+=k,c+=k,t=/%$/.test(x)?q*parseFloat(x)/100:x/2,e.whiskers[y]({d:["M",p-t,u,"L",p+t,u, +"M",p-t,c,"L",p+t,c]})),l=Math.round(e.medianPlot),k=e.medianShape.strokeWidth()%2/2,l+=k,e.medianShape[y]({d:["M",n,l,"L",m,l]}))})},setStackedPoints:t})})(x);(function(b){var r=b.each,t=b.noop,w=b.seriesType,m=b.seriesTypes;w("errorbar","boxplot",{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},whiskerWidth:null},{type:"errorbar", +pointArrayMap:["low","high"],toYData:function(b){return[b.low,b.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:m.arearange?function(){var b=this.pointValKey;m.arearange.prototype.drawDataLabels.call(this);r(this.data,function(e){e.y=e[b]})}:t,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||m.column.prototype.getColumnMetrics.call(this)}})})(x);(function(b){var r=b.correctFloat,t=b.isNumber,w=b.pick,m=b.Point,q=b.Series,e=b.seriesType,a=b.seriesTypes; +e("waterfall","column",{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}},{pointValKey:"y",translate:function(){var d=this.options,b=this.yAxis,h,e,c,l,k,p,g,n,m,q=w(d.minPointLength,5),v=d.threshold,t=d.stacking;a.column.prototype.translate.apply(this);this.minPointLengthOffset=0;g=n=v;e=this.points;h=0;for(d=e.length;hl.height&&(l.y+=l.height,l.height*=-1),c.plotY=l.y=Math.round(l.y)- +this.borderWidth%2/2,l.height=Math.max(Math.round(l.height),.001),c.yBottom=l.y+l.height,l.height<=q&&(l.height=q,this.minPointLengthOffset+=q),l.y-=this.minPointLengthOffset,l=c.plotY+(c.negative?l.height:0)-this.minPointLengthOffset,this.chart.inverted?c.tooltipPos[0]=b.len-l:c.tooltipPos[1]=l},processData:function(a){var b=this.yData,d=this.options.data,e,c=b.length,l,k,p,g,n,m;k=l=p=g=this.options.threshold||0;for(m=0;ma[k-1].y&&(l[2]+=c.height,l[5]+=c.height),e=e.concat(l);return e},drawGraph:function(){q.prototype.drawGraph.call(this);this.graph.attr({d:this.getCrispPath()})},getExtremes:b.noop},{getClassName:function(){var a=m.prototype.getClassName.call(this);this.isSum?a+=" highcharts-sum":this.isIntermediateSum&&(a+=" highcharts-intermediate-sum"); +return a},isValid:function(){return t(this.y,!0)||this.isSum||this.isIntermediateSum}})})(x);(function(b){var r=b.Series,t=b.seriesType,w=b.seriesTypes;t("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var b=r.prototype.getGraphPath.call(this),q=b.length+1;q--;)(q===b.length||"M"===b[q])&&0=this.minPxSize/2?(d.shapeType="circle",d.shapeArgs={x:d.plotX,y:d.plotY,r:c},d.dlBox={x:d.plotX-c,y:d.plotY-c,width:2*c,height:2*c}):d.shapeArgs=d.plotY=d.dlBox=void 0},drawLegendSymbol:function(a,b){var d=this.chart.renderer,c=d.fontMetrics(a.itemStyle.fontSize).f/2;b.legendSymbol=d.circle(c,a.baseline-c,c).attr({zIndex:3}).add(b.legendGroup);b.legendSymbol.isMarker= +!0},drawPoints:l.column.prototype.drawPoints,alignDataLabel:l.column.prototype.alignDataLabel,buildKDTree:a,applyZones:a},{haloPath:function(a){return h.prototype.haloPath.call(this,this.shapeArgs.r+a)},ttBelow:!1});w.prototype.beforePadding=function(){var a=this,b=this.len,c=this.chart,h=0,l=b,u=this.isXAxis,m=u?"xData":"yData",w=this.min,x={},A=Math.min(c.plotWidth,c.plotHeight),C=Number.MAX_VALUE,D=-Number.MAX_VALUE,E=this.max-w,z=b/E,F=[];q(this.series,function(b){var g=b.options;!b.bubblePadding|| +!b.visible&&c.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,F.push(b),u&&(q(["minSize","maxSize"],function(a){var b=g[a],d=/%$/.test(b),b=f(b);x[a]=d?A*b/100:b}),b.minPxSize=x.minSize,b.maxPxSize=Math.max(x.maxSize,x.minSize),b=b.zData,b.length&&(C=d(g.zMin,Math.min(C,Math.max(t(b),!1===g.displayNegative?g.zThreshold:-Number.MAX_VALUE))),D=d(g.zMax,Math.max(D,r(b))))))});q(F,function(b){var d=b[m],c=d.length,f;u&&b.getRadii(C,D,b.minPxSize,b.maxPxSize);if(0f&&(f+=360),a.clientX=f):a.clientX=a.plotX};m.spline&&q(m.spline.prototype,"getPointSpline",function(a,b,f,h){var d,c,e,k,p,g,n;this.chart.polar?(d=f.plotX, +c=f.plotY,a=b[h-1],e=b[h+1],this.connectEnds&&(a||(a=b[b.length-2]),e||(e=b[1])),a&&e&&(k=a.plotX,p=a.plotY,b=e.plotX,g=e.plotY,k=(1.5*d+k)/2.5,p=(1.5*c+p)/2.5,e=(1.5*d+b)/2.5,n=(1.5*c+g)/2.5,b=Math.sqrt(Math.pow(k-d,2)+Math.pow(p-c,2)),g=Math.sqrt(Math.pow(e-d,2)+Math.pow(n-c,2)),k=Math.atan2(p-c,k-d),p=Math.atan2(n-c,e-d),n=Math.PI/2+(k+p)/2,Math.abs(k-n)>Math.PI/2&&(n-=Math.PI),k=d+Math.cos(n)*b,p=c+Math.sin(n)*b,e=d+Math.cos(Math.PI+n)*g,n=c+Math.sin(Math.PI+n)*g,f.rightContX=e,f.rightContY=n), +h?(f=["C",a.rightContX||a.plotX,a.rightContY||a.plotY,k||d,p||c,d,c],a.rightContX=a.rightContY=null):f=["M",d,c]):f=a.call(this,b,f,h);return f});q(e,"translate",function(a){var b=this.chart;a.call(this);if(b.polar&&(this.kdByAngle=b.tooltip&&b.tooltip.shared,!this.preventPostTranslate))for(a=this.points,b=a.length;b--;)this.toXY(a[b])});q(e,"getGraphPath",function(a,b){var d=this,e,m;if(this.chart.polar){b=b||this.points;for(e=0;eb.center[1]}),q(m,"alignDataLabel",function(a,b,f,h,m,c){this.chart.polar?(a=b.rectPlotX/Math.PI*180,null===h.align&&(h.align=20a?"left":200a?"right":"center"),null===h.verticalAlign&&(h.verticalAlign=45>a||315a?"top":"middle"),e.alignDataLabel.call(this,b,f,h,m,c)):a.call(this, +b,f,h,m,c)}));q(b,"getCoordinates",function(a,b){var d=this.chart,e={xAxis:[],yAxis:[]};d.polar?t(d.axes,function(a){var c=a.isXAxis,f=a.center,h=b.chartX-f[0]-d.plotLeft,f=b.chartY-f[1]-d.plotTop;e[c?"xAxis":"yAxis"].push({axis:a,value:a.translate(c?Math.PI-Math.atan2(h,f):Math.sqrt(Math.pow(h,2)+Math.pow(f,2)),!0)})}):e=a.call(this,b);return e})})(x)}); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/highstock.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/highstock.js new file mode 100644 index 0000000..34a3f91 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/highstock.js @@ -0,0 +1,496 @@ +/* + Highstock JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(N,a){"object"===typeof module&&module.exports?module.exports=N.document?a(N):a:N.Highcharts=a(N)})("undefined"!==typeof window?window:this,function(N){N=function(){var a=window,D=a.document,B=a.navigator&&a.navigator.userAgent||"",G=D&&D.createElementNS&&!!D.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,H=/(edge|msie|trident)/i.test(B)&&!window.opera,p=!G,l=/Firefox/.test(B),r=l&&4>parseInt(B.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highstock", +version:"5.0.3",deg2rad:2*Math.PI/360,doc:D,hasBidiBug:r,hasTouch:D&&void 0!==D.documentElement.ontouchstart,isMS:H,isWebKit:/AppleWebKit/.test(B),isFirefox:l,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(B),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:G,vml:p,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var D=[],B=a.charts,G=a.doc,H=a.win;a.error=function(a,l){a="Highcharts error #"+ +a+": www.highcharts.com/errors/"+a;if(l)throw Error(a);H.console&&console.log(a)};a.Fx=function(a,l,r){this.options=l;this.elem=a;this.prop=r};a.Fx.prototype={dSetter:function(){var a=this.paths[0],l=this.paths[1],r=[],w=this.now,t=a.length,k;if(1===w)r=this.toD;else if(t===l.length&&1>w)for(;t--;)k=parseFloat(a[t]),r[t]=isNaN(k)?a[t]:w*parseFloat(l[t]-k)+k;else r=l;this.elem.attr("d",r)},update:function(){var a=this.elem,l=this.prop,r=this.now,w=this.options.step;if(this[l+"Setter"])this[l+"Setter"](); +else a.attr?a.element&&a.attr(l,r):a.style[l]=r+this.unit;w&&w.call(a,r,this)},run:function(a,l,r){var p=this,t=function(a){return t.stopped?!1:p.step(a)},k;this.startTime=+new Date;this.start=a;this.end=l;this.unit=r;this.now=this.start;this.pos=0;t.elem=this.elem;t()&&1===D.push(t)&&(t.timerId=setInterval(function(){for(k=0;k=k+this.startTime){this.now=this.end;this.pos=1;this.update();a=m[this.prop]=!0;for(e in m)!0!==m[e]&&(a=!1);a&&t&&t.call(p);p=!1}else this.pos=w.easing((l-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),p=!0;return p},initPath:function(p,l,r){function w(a){for(b=a.length;b--;)"M"!==a[b]&&"L"!==a[b]||a.splice(b+1,0,a[b+1],a[b+2],a[b+1],a[b+2])}function t(a,c){for(;a.lengthm?"AM":"PM",P:12>m?"am":"pm",S:q(t.getSeconds()),L:q(Math.round(l%1E3),3)},a.dateFormats);for(k in w)for(;-1!==p.indexOf("%"+k);)p= +p.replace("%"+k,"function"===typeof w[k]?w[k](l):w[k]);return r?p.substr(0,1).toUpperCase()+p.substr(1):p};a.formatSingle=function(p,l){var r=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(p)?(r=(r=p.match(r))?r[1]:-1,null!==l&&(l=a.numberFormat(l,r,w.decimalPoint,-1=r&&(l=[1/r])));for(w=0;w=p||!t&&k<=(l[w]+(l[w+1]||l[w]))/ +2);w++);return m*r};a.stableSort=function(a,l){var r=a.length,p,t;for(t=0;tr&&(r=a[l]);return r};a.destroyObjectProperties=function(a,l){for(var r in a)a[r]&&a[r]!==l&&a[r].destroy&&a[r].destroy(),delete a[r]};a.discardElement=function(p){var l= +a.garbageBin;l||(l=a.createElement("div"));p&&l.appendChild(p);l.innerHTML=""};a.correctFloat=function(a,l){return parseFloat(a.toPrecision(l||14))};a.setAnimation=function(p,l){l.renderer.globalAnimation=a.pick(p,l.options.chart.animation,!0)};a.animObject=function(p){return a.isObject(p)?a.merge(p):{duration:p?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(p,l,r,w){p=+p||0;l=+l;var t=a.defaultOptions.lang, +k=(p.toString().split(".")[1]||"").length,m,e,g=Math.abs(p);-1===l?l=Math.min(k,20):a.isNumber(l)||(l=2);m=String(a.pInt(g.toFixed(l)));e=3p?"-":"")+(e?m.substr(0,e)+w:"");p+=m.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+w);l&&(w=Math.abs(g-m+Math.pow(10,-Math.max(l,k)-1)),p+=r+w.toFixed(l).slice(2));return p};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(p,l){return"width"===l?Math.min(p.offsetWidth, +p.scrollWidth)-a.getStyle(p,"padding-left")-a.getStyle(p,"padding-right"):"height"===l?Math.min(p.offsetHeight,p.scrollHeight)-a.getStyle(p,"padding-top")-a.getStyle(p,"padding-bottom"):(p=H.getComputedStyle(p,void 0))&&a.pInt(p.getPropertyValue(l))};a.inArray=function(a,l){return l.indexOf?l.indexOf(a):[].indexOf.call(l,a)};a.grep=function(a,l){return[].filter.call(a,l)};a.map=function(a,l){for(var r=[],p=0,t=a.length;pl;l++)w[l]+=p(255*a),0>w[l]&&(w[l]=0),255z.width)z={width:0,height:0}}else z=this.htmlGetBBox();b.isSVG&&(a=z.width, +b=z.height,c&&L&&"11px"===L.fontSize&&"16.9"===b.toPrecision(3)&&(z.height=b=14),v&&(z.width=Math.abs(b*Math.sin(d))+Math.abs(a*Math.cos(d)),z.height=Math.abs(b*Math.cos(d))+Math.abs(a*Math.sin(d))));if(g&&0]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,c,v){"string"===typeof a?v.setAttribute(c, +a):a&&this.colorGradient(a,c,v)},visibilitySetter:function(a,c,v){"inherit"===a?v.removeAttribute(c):v.setAttribute(c,a)},zIndexSetter:function(a,c){var v=this.renderer,z=this.parentGroup,b=(z||v).element||v.box,d,n=this.element,f;d=this.added;var e;k(a)&&(n.zIndex=a,a=+a,this[c]===a&&(d=!1),this[c]=a);if(d){(a=this.zIndex)&&z&&(z.handleZ=!0);c=b.childNodes;for(e=0;ea||!k(a)&&k(d)||0>a&&!k(d)&&b!==v.box)&&(b.insertBefore(n,z),f=!0);f||b.appendChild(n)}return f}, +_defaultSetter:function(a,c,v){v.setAttribute(c,a)}};D.prototype.yGetter=D.prototype.xGetter;D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.rotationSetter=D.prototype.verticalAlignSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=function(a,c){this[c]=a;this.doTransform=!0};D.prototype["stroke-widthSetter"]=D.prototype.strokeSetter=function(a,c,v){this[c]=a;this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",v),v.setAttribute("stroke-width", +this["stroke-width"]),this.hasStroke=!0):"stroke-width"===c&&0===a&&this.hasStroke&&(v.removeAttribute("stroke"),this.hasStroke=!1)};B=a.SVGRenderer=function(){this.init.apply(this,arguments)};B.prototype={Element:D,SVG_NS:K,init:function(a,c,v,b,d,n){var z;b=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(b));z=b.element;a.appendChild(z);-1===a.innerHTML.indexOf("xmlns")&&p(z,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=z;this.boxWrapper=b;this.alignedObjects= +[];this.url=(E||A)&&g.getElementsByTagName("base").length?R.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highstock 5.0.3"));this.defs=this.createElement("defs").add();this.allowHTML=n;this.forExport=d;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(c,v,!1);var f;E&&a.getBoundingClientRect&&(c=function(){w(a,{left:0,top:0});f=a.getBoundingClientRect(); +w(a,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},c(),this.unSubPixelFix=G(R,"resize",c))},getStyle:function(a){return this.style=C({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();e(this.gradients||{});this.gradients= +null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var c=new this.Element;c.init(this,a);return c},draw:J,getRadialAttr:function(a,c){return{cx:a[0]-a[2]/2+c.cx*a[2],cy:a[1]-a[2]/2+c.cy*a[2],r:c.r*a[2]}},buildText:function(a){for(var c=a.element,z=this,b=z.forExport,n=y(a.textStr,"").toString(),f=-1!==n.indexOf("\x3c"),e=c.childNodes,q,F,x,A,I=p(c,"x"),m=a.styles,k=a.textWidth,C=m&&m.lineHeight,M=m&&m.textOutline,J=m&& +"ellipsis"===m.textOverflow,E=e.length,O=k&&!a.added&&this.box,t=function(a){var v;v=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:m&&m.fontSize||z.style.fontSize||12;return C?u(C):z.fontMetrics(v,a.getAttribute("style")?a:c).h};E--;)c.removeChild(e[E]);f||M||J||k||-1!==n.indexOf(" ")?(q=/<.*class="([^"]+)".*>/,F=/<.*style="([^"]+)".*>/,x=/<.*href="(http[^"]+)".*>/,O&&O.appendChild(c),n=f?n.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(//g,"\x3c/span\x3e").split(//g):[n],n=d(n,function(a){return""!==a}),h(n,function(d,n){var f,e=0;d=d.replace(/^\s+|\s+$/g,"").replace(//g,"\x3c/span\x3e|||");f=d.split("|||");h(f,function(d){if(""!==d||1===f.length){var u={},y=g.createElementNS(z.SVG_NS,"tspan"),L,h;q.test(d)&&(L=d.match(q)[1],p(y,"class",L));F.test(d)&&(h=d.match(F)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),p(y,"style",h));x.test(d)&&!b&&(p(y, +"onclick",'location.href\x3d"'+d.match(x)[1]+'"'),w(y,{cursor:"pointer"}));d=(d.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"\x3c").replace(/>/g,"\x3e");if(" "!==d){y.appendChild(g.createTextNode(d));e?u.dx=0:n&&null!==I&&(u.x=I);p(y,u);c.appendChild(y);!e&&n&&(!v&&b&&w(y,{display:"block"}),p(y,"dy",t(y)));if(k){u=d.replace(/([^\^])-/g,"$1- ").split(" ");L="nowrap"===m.whiteSpace;for(var C=1k,void 0===A&&(A=M),J&&A?(Q/=2,""===l||!M&&.5>Q?u=[]:(l=d.substring(0,l.length+(M?-1:1)*Math.ceil(Q)),u=[l+(3k&&(k=P)),u.length&&y.appendChild(g.createTextNode(u.join(" ").replace(/- /g, +"-")));a.rotation=R}e++}}})}),A&&a.attr("title",a.textStr),O&&O.removeChild(c),M&&a.applyTextOutline&&a.applyTextOutline(M)):c.appendChild(g.createTextNode(n.replace(/</g,"\x3c").replace(/>/g,"\x3e")))},getContrast:function(a){a=r(a).rgba;return 510v?d>c+f&&de?d>c+f&&db&&e>a+f&&ed&&e>a+f&&ea?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}},rotCorr:function(a, +c,v){var b=a;c&&v&&(b=Math.max(b*Math.cos(c*m),4));return{x:-a/3*Math.sin(c*m),y:b}},label:function(a,c,v,b,d,n,f,e,K){var q=this,u=q.g("button"!==K&&"label"),y=u.text=q.text("",0,0,f).attr({zIndex:1}),g,F,z=0,A=3,L=0,m,M,J,E,O,t={},l,R,r=/^url\((.*?)\)$/.test(b),p=r,P,w,Q,S;K&&u.addClass("highcharts-"+K);p=r;P=function(){return(l||0)%2/2};w=function(){var a=y.element.style,c={};F=(void 0===m||void 0===M||O)&&k(y.textStr)&&y.getBBox();u.width=(m||F.width||0)+2*A+L;u.height=(M||F.height||0)+2*A;R= +A+q.fontMetrics(a&&a.fontSize,y).b;p&&(g||(u.box=g=q.symbols[b]||r?q.symbol(b):q.rect(),g.addClass(("button"===K?"":"highcharts-label-box")+(K?" highcharts-"+K+"-box":"")),g.add(u),a=P(),c.x=a,c.y=(e?-R:0)+a),c.width=Math.round(u.width),c.height=Math.round(u.height),g.attr(C(c,t)),t={})};Q=function(){var a=L+A,c;c=e?0:R;k(m)&&F&&("center"===O||"right"===O)&&(a+={center:.5,right:1}[O]*(m-F.width));if(a!==y.x||c!==y.y)y.attr("x",a),void 0!==c&&y.attr("y",c);y.x=a;y.y=c};S=function(a,c){g?g.attr(a,c): +t[a]=c};u.onAdd=function(){y.add(u);u.attr({text:a||0===a?a:"",x:c,y:v});g&&k(d)&&u.attr({anchorX:d,anchorY:n})};u.widthSetter=function(a){m=a};u.heightSetter=function(a){M=a};u["text-alignSetter"]=function(a){O=a};u.paddingSetter=function(a){k(a)&&a!==A&&(A=u.padding=a,Q())};u.paddingLeftSetter=function(a){k(a)&&a!==L&&(L=a,Q())};u.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==z&&(z=a,F&&u.attr({x:J}))};u.textSetter=function(a){void 0!==a&&y.textSetter(a);w();Q()};u["stroke-widthSetter"]= +function(a,c){a&&(p=!0);l=this["stroke-width"]=a;S(c,a)};u.strokeSetter=u.fillSetter=u.rSetter=function(a,c){"fill"===c&&a&&(p=!0);S(c,a)};u.anchorXSetter=function(a,c){d=a;S(c,Math.round(a)-P()-J)};u.anchorYSetter=function(a,c){n=a;S(c,a-E)};u.xSetter=function(a){u.x=a;z&&(a-=z*((m||F.width)+2*A));J=Math.round(a);u.attr("translateX",J)};u.ySetter=function(a){E=u.y=Math.round(a);u.attr("translateY",E)};var T=u.css;return C(u,{css:function(a){if(a){var c={};a=x(a);h(u.textProps,function(v){void 0!== +a[v]&&(c[v]=a[v],delete a[v])});y.css(c)}return T.call(u,a)},getBBox:function(){return{width:F.width+2*A,height:F.height+2*A,x:F.x-A,y:F.y-A}},shadow:function(a){a&&(w(),g&&g.shadow(a));return u},destroy:function(){I(u.element,"mouseenter");I(u.element,"mouseleave");y&&(y=y.destroy());g&&(g=g.destroy());D.prototype.destroy.call(u);u=q=w=Q=S=null}})}};a.Renderer=B})(N);(function(a){var D=a.attr,B=a.createElement,G=a.css,H=a.defined,p=a.each,l=a.extend,r=a.isFirefox,w=a.isMS,t=a.isWebKit,k=a.pInt,m= +a.SVGRenderer,e=a.win,g=a.wrap;l(a.SVGElement.prototype,{htmlCss:function(a){var e=this.element;if(e=a&&"SPAN"===e.tagName&&a.width)delete a.width,this.textWidth=e,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=l(this.styles,a);G(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a= +this.renderer,e=this.element,f=this.translateX||0,d=this.translateY||0,b=this.x||0,q=this.y||0,g=this.textAlign||"left",c={left:0,center:.5,right:1}[g],F=this.styles;G(e,{marginLeft:f,marginTop:d});this.shadows&&p(this.shadows,function(a){G(a,{marginLeft:f+1,marginTop:d+1})});this.inverted&&p(e.childNodes,function(c){a.invertChild(c,e)});if("SPAN"===e.tagName){var n=this.rotation,A=k(this.textWidth),x=F&&F.whiteSpace,m=[n,g,e.innerHTML,this.textWidth,this.textAlign].join();m!==this.cTT&&(F=a.fontMetrics(e.style.fontSize).b, +H(n)&&this.setSpanRotation(n,c,F),G(e,{width:"",whiteSpace:x||"nowrap"}),e.offsetWidth>A&&/[ \-]/.test(e.textContent||e.innerText)&&G(e,{width:A+"px",display:"block",whiteSpace:x||"normal"}),this.getSpanCorrection(e.offsetWidth,F,c,n,g));G(e,{left:b+(this.xCorr||0)+"px",top:q+(this.yCorr||0)+"px"});t&&(F=e.offsetHeight);this.cTT=m}}else this.alignOnAdd=!0},setSpanRotation:function(a,g,f){var d={},b=w?"-ms-transform":t?"-webkit-transform":r?"MozTransform":e.opera?"-o-transform":"";d[b]=d.transform= +"rotate("+a+"deg)";d[b+(r?"Origin":"-origin")]=d.transformOrigin=100*g+"% "+f+"px";G(this.element,d)},getSpanCorrection:function(a,e,f){this.xCorr=-a*f;this.yCorr=-e}});l(m.prototype,{html:function(a,e,f){var d=this.createElement("span"),b=d.element,q=d.renderer,h=q.isSVG,c=function(a,c){p(["opacity","visibility"],function(b){g(a,b+"Setter",function(a,b,d,n){a.call(this,b,d,n);c[d]=b})})};d.textSetter=function(a){a!==b.innerHTML&&delete this.bBox;b.innerHTML=this.textStr=a;d.htmlUpdateTransform()}; +h&&c(d,d.element.style);d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter=function(a,c){"align"===c&&(c="textAlign");d[c]=a;d.htmlUpdateTransform()};d.attr({text:a,x:Math.round(e),y:Math.round(f)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});b.style.whiteSpace="nowrap";d.css=d.htmlCss;h&&(d.add=function(a){var n,f=q.box.parentNode,e=[];if(this.parentGroup=a){if(n=a.div,!n){for(;a;)e.push(a),a=a.parentGroup;p(e.reverse(),function(a){var b,d=D(a.element, +"class");d&&(d={className:d});n=a.div=a.div||B("div",d,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},n||f);b=n.style;l(a,{translateXSetter:function(c,d){b.left=c+"px";a[d]=c;a.doTransform=!0},translateYSetter:function(c,d){b.top=c+"px";a[d]=c;a.doTransform=!0}});c(a,b)})}}else n=f;n.appendChild(b);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d});return d}})})(N);(function(a){var D, +B,G=a.createElement,H=a.css,p=a.defined,l=a.deg2rad,r=a.discardElement,w=a.doc,t=a.each,k=a.erase,m=a.extend;D=a.extendClass;var e=a.isArray,g=a.isNumber,h=a.isObject,C=a.merge;B=a.noop;var f=a.pick,d=a.pInt,b=a.SVGElement,q=a.SVGRenderer,E=a.win;a.svg||(B={docMode8:w&&8===w.documentMode,init:function(a,b){var c=["\x3c",b,' filled\x3d"f" stroked\x3d"f"'],d=["position: ","absolute",";"],f="div"===b;("shape"===b||f)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",f?"hidden":"visible"); +c.push(' style\x3d"',d.join(""),'"/\x3e');b&&(c=f||"span"===b||"img"===b?c.join(""):a.prepVML(c),this.element=G(c));this.renderer=a},add:function(a){var c=this.renderer,b=this.element,d=c.box,f=a&&a.inverted,d=a?a.element||a:d;a&&(this.parentGroup=a);f&&c.invertChild(b,d);d.appendChild(b);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},updateTransform:b.prototype.htmlUpdateTransform, +setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*l),d=Math.sin(a*l);H(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",b,", M12\x3d",-d,", M21\x3d",d,", M22\x3d",b,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,d,e,q){var c=e?Math.cos(e*l):1,n=e?Math.sin(e*l):0,u=f(this.elemHeight,this.element.offsetHeight),g;this.xCorr=0>c&&-a;this.yCorr=0>n&&-u;g=0>c*n;this.xCorr+=n*b*(g?1-d:d);this.yCorr-=c*b*(e?g?d:1-d:1);q&&"left"!== +q&&(this.xCorr-=a*d*(0>c?-1:1),e&&(this.yCorr-=u*d*(0>n?-1:1)),H(this.element,{textAlign:q}))},pathToVML:function(a){for(var c=a.length,b=[];c--;)g(a[c])?b[c]=Math.round(10*a[c])-5:"Z"===a[c]?b[c]="x":(b[c]=a[c],!a.isArc||"wa"!==a[c]&&"at"!==a[c]||(b[c+5]===b[c+7]&&(b[c+7]+=a[c+7]>a[c+5]?1:-1),b[c+6]===b[c+8]&&(b[c+8]+=a[c+8]>a[c+6]?1:-1)));return b.join(" ")||"x"},clip:function(a){var c=this,b;a?(b=a.members,k(b,c),b.push(c),c.destroyClip=function(){k(b,c)},a=a.getCSS(c)):(c.destroyClip&&c.destroyClip(), +a={clip:c.docMode8?"inherit":"rect(auto)"});return c.css(a)},css:b.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&r(a)},destroy:function(){this.destroyClip&&this.destroyClip();return b.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=E.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c;a=a.split(/[ ,]/);c=a.length;if(9===c||11===c)a[c-4]=a[c-2]=d(a[c-2])-10*b;return a.join(" ")},shadow:function(a,b,e){var c=[],n,q=this.element, +g=this.renderer,u,I=q.style,F,v=q.path,K,h,m,z;v&&"string"!==typeof v.value&&(v="x");h=v;if(a){m=f(a.width,3);z=(a.opacity||.15)/m;for(n=1;3>=n;n++)K=2*m+1-2*n,e&&(h=this.cutOffPath(v.value,K+.5)),F=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',K,'" filled\x3d"false" path\x3d"',h,'" coordsize\x3d"10 10" style\x3d"',q.style.cssText,'" /\x3e'],u=G(g.prepVML(F),null,{left:d(I.left)+f(a.offsetX,1),top:d(I.top)+f(a.offsetY,1)}),e&&(u.cutOff=K+1),F=['\x3cstroke color\x3d"',a.color||"#000000",'" opacity\x3d"', +z*n,'"/\x3e'],G(g.prepVML(F),null,null,u),b?b.element.appendChild(u):q.parentNode.insertBefore(u,q),c.push(u);this.shadows=c}return this},updateShadows:B,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,b,d){(d.getElementsByTagName("stroke")[0]||G(this.renderer.prepVML(["\x3cstroke/\x3e"]),null,null,d))[b]=a||"solid";this[b]=a},dSetter:function(a,b,d){var c=this.shadows; +a=a||[];this.d=a.join&&a.join(" ");d.path=a=this.pathToVML(a);if(c)for(d=c.length;d--;)c[d].path=c[d].cutOff?this.cutOffPath(a,c[d].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,d){var c=d.nodeName;"SPAN"===c?d.style.color=a:"IMG"!==c&&(d.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,d,b,this)))},"fill-opacitySetter":function(a,b,d){G(this.renderer.prepVML(["\x3c",b.split("-")[0],' opacity\x3d"',a,'"/\x3e']),null,null,d)},opacitySetter:B,rotationSetter:function(a,b,d){d= +d.style;this[b]=d[b]=a;d.left=-Math.round(Math.sin(a*l)+1)+"px";d.top=Math.round(Math.cos(a*l))+"px"},strokeSetter:function(a,b,d){this.setAttr("strokecolor",this.renderer.color(a,d,b,this))},"stroke-widthSetter":function(a,b,d){d.stroked=!!a;this[b]=a;g(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,d){"inherit"===a&&(a="visible");this.shadows&&t(this.shadows,function(c){c.style[b]=a});"DIV"===d.nodeName&&(a="hidden"===a?"-999em": +0,this.docMode8||(d.style[b]=a?"visible":"hidden"),b="top");d.style[b]=a},xSetter:function(a,b,d){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):d.style[b]=a},zIndexSetter:function(a,b,d){d.style[b]=a}},B["stroke-opacitySetter"]=B["fill-opacitySetter"],a.VMLElement=B=D(b,B),B.prototype.ySetter=B.prototype.widthSetter=B.prototype.heightSetter=B.prototype.xSetter,B={Element:B,isIE8:-1l[0]&&c.push([1,l[1]]);t(c,function(c,b){q.test(c[1])?(n=a.color(c[1]),v=n.get("rgb"),K=n.get("a")):(v=c[1],K=1);r.push(100*c[0]+"% "+v);b?(m=K,k=v):(z=K,E=v)});if("fill"===d)if("gradient"===g)d=A.x1||A[0]||0,c=A.y1||A[1]||0,F=A.x2||A[2]||0,A=A.y2||A[3]||0,C='angle\x3d"'+(90-180*Math.atan((A-c)/(F-d))/Math.PI)+'"',p();else{var h=A.r,w=2*h,B=2*h,D=A.cx,H=A.cy,V=b.radialReference,U,h=function(){V&&(U=f.getBBox(),D+=(V[0]- +U.x)/U.width-.5,H+=(V[1]-U.y)/U.height-.5,w*=V[2]/U.width,B*=V[2]/U.height);C='src\x3d"'+a.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+w+","+B+'" origin\x3d"0.5,0.5" position\x3d"'+D+","+H+'" color2\x3d"'+E+'" ';p()};f.added?h():f.onAdd=h;h=k}else h=v}else q.test(c)&&"IMG"!==b.tagName?(n=a.color(c),f[d+"-opacitySetter"](n.get("a"),d,b),h=n.get("rgb")):(h=b.getElementsByTagName(d),h.length&&(h[0].opacity=1,h[0].type="solid"),h=c);return h},prepVML:function(a){var c=this.isIE8;a=a.join(""); +c?(a=a.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),a=-1===a.indexOf('style\x3d"')?a.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(#default#VML);" /\x3e'):a.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(#default#VML);')):a=a.replace("\x3c","\x3chcv:");return a},text:q.prototype.html,path:function(a){var c={coordsize:"10 10"};e(a)?c.d=a:h(a)&&m(c,a);return this.createElement("shape").attr(c)},circle:function(a,b,d){var c=this.symbol("circle"); +h(a)&&(d=a.r,b=a.y,a=a.x);c.isCircle=!0;c.r=d;return c.attr({x:a,y:b})},g:function(a){var c;a&&(c={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement("div").attr(c)},image:function(a,b,d,f,e){var c=this.createElement("img").attr({src:a});1f&&m-d*bg&&(F=Math.round((e-m)/Math.cos(f*w)));else if(e=m+(1-d)*b,m-d*bg&&(E=g-a.x+E*d,c=-1),E=Math.min(q, +E),EE||k.autoRotation&&(C.styles||{}).width)F=E;F&&(n.width=F,(k.options.labels.style||{}).textOverflow||(n.textOverflow="ellipsis"),C.css(n))},getPosition:function(a,k,m,e){var g=this.axis,h=g.chart,l=e&&h.oldChartHeight||h.chartHeight;return{x:a?g.translate(k+m,null,null,e)+g.transB:g.left+g.offset+(g.opposite?(e&&h.oldChartWidth||h.chartWidth)-g.right-g.left:0),y:a?l-g.bottom+g.offset-(g.opposite?g.height:0):l-g.translate(k+m,null, +null,e)-g.transB}},getLabelPosition:function(a,k,m,e,g,h,l,f){var d=this.axis,b=d.transA,q=d.reversed,E=d.staggerLines,c=d.tickRotCorr||{x:0,y:0},F=g.y;B(F)||(F=0===d.side?m.rotation?-8:-m.getBBox().height:2===d.side?c.y+8:Math.cos(m.rotation*w)*(c.y-m.getBBox(!1,0).height/2));a=a+g.x+c.x-(h&&e?h*b*(q?-1:1):0);k=k+F-(h&&!e?h*b*(q?1:-1):0);E&&(m=l/(f||1)%E,d.opposite&&(m=E-m-1),k+=d.labelOffset/E*m);return{x:a,y:Math.round(k)}},getMarkPath:function(a,k,m,e,g,h){return h.crispLine(["M",a,k,"L",a+(g? +0:-m),k+(g?m:0)],e)},render:function(a,k,m){var e=this.axis,g=e.options,h=e.chart.renderer,C=e.horiz,f=this.type,d=this.label,b=this.pos,q=g.labels,E=this.gridLine,c=f?f+"Tick":"tick",F=e.tickSize(c),n=this.mark,A=!n,x=q.step,p={},y=!0,u=e.tickmarkOffset,I=this.getPosition(C,b,u,k),M=I.x,I=I.y,v=C&&M===e.pos+e.len||!C&&I===e.pos?-1:1,K=f?f+"Grid":"grid",O=g[K+"LineWidth"],R=g[K+"LineColor"],z=g[K+"LineDashStyle"],K=l(g[c+"Width"],!f&&e.isXAxis?1:0),c=g[c+"Color"];m=l(m,1);this.isActive=!0;E||(p.stroke= +R,p["stroke-width"]=O,z&&(p.dashstyle=z),f||(p.zIndex=1),k&&(p.opacity=0),this.gridLine=E=h.path().attr(p).addClass("highcharts-"+(f?f+"-":"")+"grid-line").add(e.gridGroup));if(!k&&E&&(b=e.getPlotLinePath(b+u,E.strokeWidth()*v,k,!0)))E[this.isNew?"attr":"animate"]({d:b,opacity:m});F&&(e.opposite&&(F[0]=-F[0]),A&&(this.mark=n=h.path().addClass("highcharts-"+(f?f+"-":"")+"tick").add(e.axisGroup),n.attr({stroke:c,"stroke-width":K})),n[A?"attr":"animate"]({d:this.getMarkPath(M,I,F[0],n.strokeWidth()* +v,C,h),opacity:m}));d&&H(M)&&(d.xy=I=this.getLabelPosition(M,I,d,C,q,u,a,x),this.isFirst&&!this.isLast&&!l(g.showFirstLabel,1)||this.isLast&&!this.isFirst&&!l(g.showLastLabel,1)?y=!1:!C||e.isRadial||q.step||q.rotation||k||0===m||this.handleOverflow(I),x&&a%x&&(y=!1),y&&H(I.y)?(I.opacity=m,d[this.isNew?"attr":"animate"](I)):(r(d),d.attr("y",-9999)),this.isNew=!1)},destroy:function(){G(this,this.axis)}}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.AxisPlotLineOrBandExtension, +l=a.color,r=a.correctFloat,w=a.defaultOptions,t=a.defined,k=a.deg2rad,m=a.destroyObjectProperties,e=a.each,g=a.error,h=a.extend,C=a.fireEvent,f=a.format,d=a.getMagnitude,b=a.grep,q=a.inArray,E=a.isArray,c=a.isNumber,F=a.isString,n=a.merge,A=a.normalizeTickInterval,x=a.pick,J=a.PlotLineOrBand,y=a.removeEvent,u=a.splat,I=a.syncTimeout,M=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M", +hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb", +lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15}, +title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,c){var b=c.isX;this.chart=a;this.horiz=a.inverted?!b:b;this.isXAxis=b;this.coll=this.coll||(b?"xAxis":"yAxis");this.opposite=c.opposite;this.side=c.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(c);var d=this.options,v=d.type;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter; +this.userOptions=c;this.minPixelPadding=0;this.reversed=d.reversed;this.visible=!1!==d.visible;this.zoomEnabled=!1!==d.zoomEnabled;this.hasNames="category"===v||!0===d.categories;this.categories=d.categories||this.hasNames;this.names=this.names||[];this.isLog="logarithmic"===v;this.isDatetimeAxis="datetime"===v;this.isLinked=t(d.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom; +this.range=d.range;this.offset=d.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=x(d.crosshair,u(a.options.tooltip.crosshairs)[b?0:1],!1);var f;c=this.options.events;-1===q(this,a.axes)&&(b?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&b&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(f in c)D(this,f,c[f]); +this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=n(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],n(w[this.coll],a))},defaultLabelFormatter:function(){var c=this.axis,b=this.value,d=c.categories,e=this.dateTimeLabelFormat,q=w.lang,u=q.numericSymbols,q=q.numericSymbolMagnitude||1E3,n=u&&u.length,g,y=c.options.labels.format, +c=c.isLog?b:c.tickInterval;if(y)g=f(y,this);else if(d)g=b;else if(e)g=a.dateFormat(e,b);else if(n&&1E3<=c)for(;n--&&void 0===g;)d=Math.pow(q,n+1),c>=d&&0===10*b%d&&null!==u[n]&&0!==b&&(g=a.numberFormat(b/d,-1)+u[n]);void 0===g&&(g=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b,-1,void 0,""));return g},getSeriesExtremes:function(){var a=this,d=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();e(a.series,function(v){if(v.visible|| +!d.options.chart.ignoreHiddenSeries){var f=v.options,e=f.threshold,q;a.hasVisibleSeries=!0;a.isLog&&0>=e&&(e=null);if(a.isXAxis)f=v.xData,f.length&&(v=H(f),c(v)||v instanceof Date||(f=b(f,function(a){return c(a)}),v=H(f)),a.dataMin=Math.min(x(a.dataMin,f[0]),v),a.dataMax=Math.max(x(a.dataMax,f[0]),G(f)));else if(v.getExtremes(),q=v.dataMax,v=v.dataMin,t(v)&&t(q)&&(a.dataMin=Math.min(x(a.dataMin,v),v),a.dataMax=Math.max(x(a.dataMax,q),q)),t(e)&&(a.threshold=e),!f.softThreshold||a.isLog)a.softThreshold= +!1}})},translate:function(a,b,d,f,e,q){var v=this.linkedParent||this,u=1,n=0,g=f?v.oldTransA:v.transA;f=f?v.oldMin:v.min;var K=v.minPixelPadding;e=(v.isOrdinal||v.isBroken||v.isLog&&e)&&v.lin2val;g||(g=v.transA);d&&(u*=-1,n=v.len);v.reversed&&(u*=-1,n-=u*(v.sector||v.len));b?(a=(a*u+n-K)/g+f,e&&(a=v.lin2val(a))):(e&&(a=v.val2lin(a)),a=u*(a-f)*g+n+u*K+(c(q)?g*q:0));return a},toPixels:function(a,c){return this.translate(a,!1,!this.horiz,null,!0)+(c?0:this.pos)},toValue:function(a,c){return this.translate(a- +(c?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,d,f,e){var v=this.chart,q=this.left,u=this.top,n,g,K=d&&v.oldChartHeight||v.chartHeight,y=d&&v.oldChartWidth||v.chartWidth,z;n=this.transB;var h=function(a,c,b){if(ab)f?a=Math.min(Math.max(c,a),b):z=!0;return a};e=x(e,this.translate(a,null,null,d));a=d=Math.round(e+n);n=g=Math.round(K-e-n);c(e)?this.horiz?(n=u,g=K-this.bottom,a=d=h(a,q,q+this.width)):(a=q,d=y-this.right,n=g=h(n,u,u+this.height)):z=!0;return z&&!f?null:v.renderer.crispLine(["M", +a,n,"L",d,g],b||1)},getLinearTickPositions:function(a,b,d){var v,f=r(Math.floor(b/a)*a),e=r(Math.ceil(d/a)*a),q=[];if(b===d&&c(b))return[b];for(b=f;b<=e;){q.push(b);b=r(b+a);if(b===v)break;v=b}return q},getMinorTickPositions:function(){var a=this.options,c=this.tickPositions,b=this.minorTickInterval,d=[],f,e=this.pointRangePadding||0;f=this.min-e;var e=this.max+e,q=e-f;if(q&&q/b=this.minRange,q,u,n,g,y,h;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(t(a.min)||t(a.max)?this.minRange=null:(e(this.series,function(a){g=a.xData;for(u=y=a.xIncrement? +1:g.length-1;0=E?(p=E,m=0):b.dataMax<=E&&(J=E,I=0)),b.min=x(w,p,b.dataMin),b.max=x(B,J,b.dataMax));q&&(!a&&0>=Math.min(b.min, +x(b.dataMin,b.min))&&g(10,1),b.min=r(u(b.min),15),b.max=r(u(b.max),15));b.range&&t(b.max)&&(b.userMin=b.min=w=Math.max(b.min,b.minFromRange()),b.userMax=B=b.max,b.range=null);C(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(l||b.axisPointRange||b.usePercentage||h)&&t(b.min)&&t(b.max)&&(u=b.max-b.min)&&(!t(w)&&m&&(b.min-=u*m),!t(B)&&I&&(b.max+=u*I));c(f.floor)?b.min=Math.max(b.min,f.floor):c(f.softMin)&&(b.min=Math.min(b.min,f.softMin));c(f.ceiling)?b.max=Math.min(b.max, +f.ceiling):c(f.softMax)&&(b.max=Math.max(b.max,f.softMax));M&&t(b.dataMin)&&(E=E||0,!t(w)&&b.min=E?b.min=E:!t(B)&&b.max>E&&b.dataMax<=E&&(b.max=E));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:h&&!k&&F===b.linkedParent.options.tickPixelInterval?k=b.linkedParent.tickInterval:x(k,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,l?1:(b.max-b.min)*F/Math.max(b.len,F));y&&!a&&e(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0); +b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!k&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));a=x(f.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!k&&b.tickIntervalb.tickInterval&&1E3b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval= +b.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,d=a.tickPositioner,f=a.startOnTick,e=a.endOnTick,q;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units), +this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,d&&(d=d.apply(this,[this.min,this.max])))&&(this.tickPositions=b=d);this.isLinked||(this.trimTicks(b,f,e),this.min===this.max&&t(this.min)&&!this.tickAmount&&(q=!0,this.min-=.5,this.max+=.5),this.single=q,c||d||this.adjustTickAmount())}, +trimTicks:function(a,b,c){var d=a[0],f=a[a.length-1],v=this.minPointOffset||0;if(b)this.min=d;else for(;this.min-v>a[0];)a.shift();if(c)this.max=f;else for(;this.max+vb&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,d=this.finalTickAmt,f=b&&b.length;if(fc&&(this.tickInterval*= +2,this.setTickPositions());if(t(d)){for(a=c=b.length;a--;)(3===d&&1===a%2||2>=d&&0=f&&(b=f)),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=this.horiz,f=x(b.width,a.plotWidth-c+(b.offsetRight||0)),e=x(b.height,a.plotHeight),q=x(b.top,a.plotTop),b=x(b.left,a.plotLeft+c),c=/%$/;c.test(e)&&(e=Math.round(parseFloat(e)/ +100*a.plotHeight));c.test(q)&&(q=Math.round(parseFloat(q)/100*a.plotHeight+a.plotTop));this.left=b;this.top=q;this.width=f;this.height=e;this.bottom=a.chartHeight-e-q;this.right=a.chartWidth-f-b;this.len=Math.max(d?f:e,0);this.pos=d?b:q},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?r(b(this.min)):this.min,max:a?r(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=this.lin2log, +d=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=d:d>a?a=d:ba?"right":195a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],d=x(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(d&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,d]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize, +this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,d=c,f=this.len/(((this.categories?1:0)+this.max-this.min)/c),q,u=a.rotation,n=this.labelMetrics(),g,y=Number.MAX_VALUE,h,I=function(a){a/=f||1;a=1=a)g=I(Math.abs(n.h/Math.sin(k*a))),b=g+Math.abs(a/360),b(c.step||0)&&!c.rotation&&(this.staggerLines||1)*a.plotWidth/d||!b&&(f&&f-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,d=this.ticks,f=this.options.labels,q=this.horiz,u=this.getSlotWidth(),g=Math.max(1, +Math.round(u-2*(f.padding||5))),y={},h=this.labelMetrics(),I=f.style&&f.style.textOverflow,A,x=0,m,k;F(f.rotation)||(y.rotation=f.rotation||0);e(c,function(a){(a=d[a])&&a.labelLength>x&&(x=a.labelLength)});this.maxLabelLength=x;if(this.autoRotation)x>g&&x>h.h?y.rotation=this.labelRotation:this.labelRotation=0;else if(u&&(A={width:g+"px"},!I))for(A.textOverflow="clip",m=c.length;!q&&m--;)if(k=c[m],g=d[k].label)g.styles&&"ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):d[k].labelLength> +u&&g.css({width:u+"px"}),g.getBBox().height>this.len/c.length-(h.h-h.f)&&(g.specCss={textOverflow:"ellipsis"});y.rotation&&(A={width:(x>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},I||(A.textOverflow="ellipsis"));if(this.labelAlign=f.align||this.autoLabelAlign(this.labelRotation))y.align=this.labelAlign;e(c,function(a){var b=(a=d[a])&&a.label;b&&(b.attr(y),A&&b.css(n(A,b.specCss)),delete b.specCss,a.rotation=y.rotation)});this.tickRotCorr=b.rotCorr(h.b,this.labelRotation||0,0!==this.side)}, +hasData:function(){return this.hasVisibleSeries||t(this.min)&&t(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,f=a.tickPositions,q=a.ticks,u=a.horiz,n=a.side,g=b.inverted?[1,0,3,2][n]:n,y,h,I=0,A,m=0,k=d.title,F=d.labels,E=0,l=a.opposite,C=b.axisOffset,b=b.clipOffset,p=[-1,1,1,-1][n],r,J=d.className,w=a.axisParent,B=this.tickSize("tick");y=a.hasData();a.showAxis=h=y||x(d.showEmpty,!0);a.staggerLines=a.horiz&&F.staggerLines;a.axisGroup||(a.gridGroup= +c.g("grid").attr({zIndex:d.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(J||"")).add(w),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(J||"")).add(w),a.labelGroup=c.g("axis-labels").attr({zIndex:F.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(J||"")).add(w));if(y||a.isLinked)e(f,function(b){q[b]?q[b].addLabel():q[b]=new M(a,b)}),a.renderUnsquish(),!1===F.reserveSpace||0!==n&&2!==n&&{1:"left",3:"right"}[n]!== +a.labelAlign&&"center"!==a.labelAlign||e(f,function(a){E=Math.max(q[a].getLabelSize(),E)}),a.staggerLines&&(E*=a.staggerLines,a.labelOffset=E*(a.opposite?-1:1));else for(r in q)q[r].destroy(),delete q[r];k&&k.text&&!1!==k.enabled&&(a.axisTitle||((r=k.textAlign)||(r=(u?{low:"left",middle:"center",high:"right"}:{low:l?"right":"left",middle:"center",high:l?"left":"right"})[k.align]),a.axisTitle=c.text(k.text,0,0,k.useHTML).attr({zIndex:7,rotation:k.rotation||0,align:r}).addClass("highcharts-axis-title").css(k.style).add(a.axisGroup), +a.axisTitle.isNew=!0),h&&(I=a.axisTitle.getBBox()[u?"height":"width"],A=k.offset,m=t(A)?0:x(k.margin,u?5:10)),a.axisTitle[h?"show":"hide"](!0));a.renderLine();a.offset=p*x(d.offset,C[n]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===n?-a.labelMetrics().h:2===n?a.tickRotCorr.y:0;m=Math.abs(E)+m;E&&(m=m-c+p*(u?x(F.y,a.tickRotCorr.y+8*p):F.x));a.axisTitleMargin=x(A,m);C[n]=Math.max(C[n],a.axisTitleMargin+I+p*a.offset,m,y&&f.length&&B?B[0]:0);d=d.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[g]= +Math.max(b[g],d)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,f=this.horiz,e=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",f?this.left:e,f?d:this.top,"L",f?b.chartWidth-this.right:e,f?d:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor, +"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,f=this.options.title,e=a?b:c,q=this.opposite,u=this.offset,n=f.x||0,g=f.y||0,y=this.chart.renderer.fontMetrics(f.style&&f.style.fontSize,this.axisTitle).f,d={low:e+(a?0:d),middle:e+d/2,high:e+(a?d:0)}[f.align],b=(a?c+this.height:b)+(a?1:-1)*(q?-1:1)*this.axisTitleMargin+(2===this.side?y:0);return{x:a?d+n:b+(q?this.width:0)+u+n,y:a?b+g-(q?this.height:0)+u:d+g}},render:function(){var a= +this,b=a.chart,d=b.renderer,f=a.options,q=a.isLog,u=a.lin2log,n=a.isLinked,g=a.tickPositions,y=a.axisTitle,h=a.ticks,A=a.minorTicks,x=a.alternateBands,m=f.stackLabels,k=f.alternateGridColor,F=a.tickmarkOffset,E=a.axisLine,l=b.hasRendered&&c(a.oldMin),C=a.showAxis,p=B(d.globalAnimation),r,t;a.labelEdge.length=0;a.overlap=!1;e([h,A,x],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||n)a.minorTickInterval&&!a.categories&&e(a.getMinorTickPositions(),function(b){A[b]||(A[b]=new M(a,b,"minor")); +l&&A[b].isNew&&A[b].render(null,!0);A[b].render(null,!1,1)}),g.length&&(e(g,function(b,c){if(!n||b>=a.min&&b<=a.max)h[b]||(h[b]=new M(a,b)),l&&h[b].isNew&&h[b].render(c,!0,.1),h[b].render(c)}),F&&(0===a.min||a.single)&&(h[-1]||(h[-1]=new M(a,-1,null,!0)),h[-1].render(-1))),k&&e(g,function(c,d){t=void 0!==g[d+1]?g[d+1]+F:a.max-F;0===d%2&&c=e.second?0:A*Math.floor(c.getMilliseconds()/A));if(n>=e.second)c[B.hcSetSeconds](n>=e.minute?0:A*Math.floor(c.getSeconds()/ +A));if(n>=e.minute)c[B.hcSetMinutes](n>=e.hour?0:A*Math.floor(c[B.hcGetMinutes]()/A));if(n>=e.hour)c[B.hcSetHours](n>=e.day?0:A*Math.floor(c[B.hcGetHours]()/A));if(n>=e.day)c[B.hcSetDate](n>=e.month?1:A*Math.floor(c[B.hcGetDate]()/A));n>=e.month&&(c[B.hcSetMonth](n>=e.year?0:A*Math.floor(c[B.hcGetMonth]()/A)),g=c[B.hcGetFullYear]());if(n>=e.year)c[B.hcSetFullYear](g-g%A);if(n===e.week)c[B.hcSetDate](c[B.hcGetDate]()-c[B.hcGetDay]()+m(f,1));g=c[B.hcGetFullYear]();f=c[B.hcGetMonth]();var C=c[B.hcGetDate](), +y=c[B.hcGetHours]();if(B.hcTimezoneOffset||B.hcGetTimezoneOffset)x=(!q||!!B.hcGetTimezoneOffset)&&(k-h>4*e.month||t(h)!==t(k)),c=c.getTime(),c=new B(c+t(c));q=c.getTime();for(h=1;qr&&(!t||b<=w)&&void 0!==b&&h.push(b),b>w&&(q=!0),b=d;else r=e(r),w= +e(w),a=k[t?"minorTickInterval":"tickInterval"],a=p("auto"===a?null:a,this._minorAutoInterval,k.tickPixelInterval/(t?5:1)*(w-r)/((t?m/this.tickPositions.length:m)||1)),a=H(a,null,B(a)),h=G(this.getLinearTickPositions(a,r,w),g),t||(this._minorAutoInterval=a/5);t||(this.tickInterval=a);return h};D.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};D.prototype.lin2log=function(a){return Math.pow(10,a)}})(N);(function(a){var D=a.dateFormat,B=a.each,G=a.extend,H=a.format,p=a.isNumber,l=a.map,r= +a.merge,w=a.pick,t=a.splat,k=a.stop,m=a.syncTimeout,e=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,e){this.chart=a;this.options=e;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=e.split&&!a.inverted;this.shared=e.shared||this.split},cleanSplit:function(a){B(this.chart.series,function(e){var g=e&&e.tt;g&&(!g.isActive||a?e.tt=g.destroy():g.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,e=this.options;this.label|| +(this.split?this.label=a.g("tooltip"):(this.label=a.label("",0,0,e.shape||"callout",null,null,e.useHTML,null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),this.label.attr({fill:e.backgroundColor,"stroke-width":e.borderWidth}).css(e.style).shadow(e.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,r(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart, +!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,e,m,f){var d=this,b=d.now,q=!1!==d.options.animation&&!d.isHidden&&(1h-q?h:h-q);else if(v)b[a]=Math.max(g,e+q+f>c?e:e+q);else return!1},x=function(a,c,f,e){var q;ec-d?q=!1:b[a]=ec-f/2?c-f-2:e-f/2;return q},k=function(a){var b=c;c=h;h=b;g=a},y=function(){!1!==A.apply(0,c)?!1!==x.apply(0,h)||g||(k(!0),y()):g?b.x=b.y=0:(k(!0),y())};(f.inverted||1y&&(q=!1);a=(e.series&&e.series.yAxis&&e.series.yAxis.pos)+(e.plotY||0);a-=d.plotTop;f.push({target:e.isHeader?d.plotHeight+c:a,rank:e.isHeader?1:0,size:n.tt.getBBox().height+1,point:e,x:y,tt:A})});this.cleanSplit(); +a.distribute(f,d.plotHeight+c);B(f,function(a){var b=a.point;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:q||b.isHeader?a.x:b.plotX+d.plotLeft+w(m.distance,16),y:a.pos+d.plotTop,anchorX:b.plotX+d.plotLeft,anchorY:b.isHeader?a.pos+d.plotTop-15:b.plotY+d.plotTop})})},updatePosition:function(a){var e=this.chart,g=this.getLabel(),g=(this.options.positioner||this.getPosition).call(this,g.width,g.height,a);this.move(Math.round(g.x),Math.round(g.y||0),a.plotX+e.plotLeft,a.plotY+e.plotTop)}, +getXDateFormat:function(a,h,m){var f;h=h.dateTimeLabelFormats;var d=m&&m.closestPointRange,b,q={millisecond:15,second:12,minute:9,hour:6,day:3},g,c="millisecond";if(d){g=D("%m-%d %H:%M:%S.%L",a.x);for(b in e){if(d===e.week&&+D("%w",a.x)===m.options.startOfWeek&&"00:00:00.000"===g.substr(6)){b="week";break}if(e[b]>d){b=c;break}if(q[b]&&g.substr(q[b])!=="01-01 00:00:00.000".substr(q[b]))break;"week"!==b&&(c=b)}b&&(f=h[b])}else f=h.day;return f||h.year},tooltipFooterHeaderFormatter:function(a,e){var g= +e?"footer":"header";e=a.series;var f=e.tooltipOptions,d=f.xDateFormat,b=e.xAxis,q=b&&"datetime"===b.options.type&&p(a.key),g=f[g+"Format"];q&&!d&&(d=this.getXDateFormat(a,f,b));q&&d&&(g=g.replace("{point.key}","{point.key:"+d+"}"));return H(g,{point:a,series:e})},bodyFormatter:function(a){return l(a,function(a){var e=a.series.tooltipOptions;return(e.pointFormatter||a.point.tooltipFormatter).call(a.point,e.pointFormat)})}}})(N);(function(a){var D=a.addEvent,B=a.attr,G=a.charts,H=a.color,p=a.css,l= +a.defined,r=a.doc,w=a.each,t=a.extend,k=a.fireEvent,m=a.offset,e=a.pick,g=a.removeEvent,h=a.splat,C=a.Tooltip,f=a.win;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=b.chart.events&&!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};C&&b.tooltip.enabled&&(a.tooltip=new C(a,b.tooltip),this.followTouchMove=e(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,d=b.options.chart, +f=d.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(f=e(d.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=f=/y/.test(f);this.zoomHor=a&&!b||f&&b;this.zoomVert=f&&!b||a&&b;this.hasZoom=a||f},normalize:function(a,b){var d,e;a=a||f.event;a.target||(a.target=a.srcElement);e=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=m(this.chart.container));void 0===e.pageX?(d=Math.max(a.x,a.clientX-b.left),b=a.y):(d=e.pageX-b.left,b=e.pageY-b.top);return t(a,{chartX:Math.round(d), +chartY:Math.round(b)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};w(this.chart.axes,function(d){b[d.isXAxis?"xAxis":"yAxis"].push({axis:d,value:d.toValue(a[d.horiz?"chartX":"chartY"])})});return b},runPointActions:function(d){var b=this.chart,f=b.series,g=b.tooltip,c=g?g.shared:!1,h=!0,n=b.hoverPoint,m=b.hoverSeries,x,k,y,u=[],I;if(!c&&!m)for(x=0;xb.series.index?-1:1}));if(c)for(x=u.length;x--;)(u[x].x!==u[0].x||u[x].series.noSharedTooltip)&&u.splice(x,1);if(u[0]&&(u[0]!==this.prevKDPoint||g&&g.isHidden)){if(c&& +!u[0].series.noSharedTooltip){for(x=0;xh+k&&(f=h+k),cm+y&&(c=m+y),this.hasDragged=Math.sqrt(Math.pow(l-f,2)+Math.pow(v-c,2)),10x.max&&(l=x.max-c,v=!0);v?(u-=.8*(u-g[f][0]),J||(M-=.8*(M-g[f][1])),p()):g[f]=[u,M];A||(e[f]=F-E,e[q]=c);e=A?1/n:n;m[q]=c;m[f]=l;k[A?a?"scaleY":"scaleX":"scale"+d]=n;k["translate"+d]=e* +E+(u-e*y)},pinch:function(a){var r=this,t=r.chart,k=r.pinchDown,m=a.touches,e=m.length,g=r.lastValidTouch,h=r.hasZoom,C=r.selectionMarker,f={},d=1===e&&(r.inClass(a.target,"highcharts-tracker")&&t.runTrackerClick||r.runChartClick),b={};1b-6&&n(u||d.chartWidth- +2*x-v-e.x)&&(this.itemX=v,this.itemY+=p+this.lastLineHeight+I,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,c);this.lastItemY=p+this.itemY+I;this.lastLineHeight=Math.max(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=c:(this.itemY+=p+g+I,this.lastLineHeight=g);this.offsetWidth=u||Math.max((f?this.itemX-v-l:c)+x,this.offsetWidth)},getAllItems:function(){var a=[];l(this.chart.series,function(d){var b=d&&d.options;d&&m(b.showInLegend,p(b.linkedTo)? +!1:void 0,!0)&&(a=a.concat(d.legendItems||("point"===b.legendType?d.data:d)))});return a},adjustMargins:function(a,d){var b=this.chart,e=this.options,f=e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0);e.floating||l([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(c,g){c.test(f)&&!p(a[g])&&(b[t[g]]=Math.max(b[t[g]],b.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*e[g%2?"x":"y"]+m(e.margin,12)+d[g]))})},render:function(){var a=this,d=a.chart,b=d.renderer, +e=a.group,h,c,m,n,k=a.box,x=a.options,p=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;e||(a.group=e=b.g("legend").attr({zIndex:7}).add(),a.contentGroup=b.g().attr({zIndex:1}).add(e),a.scrollGroup=b.g().add(a.contentGroup));a.renderTitle();h=a.getAllItems();g(h,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});x.reversed&&h.reverse();a.allItems=h;a.display=c=!!h.length;a.lastLineHeight=0;l(h,function(b){a.renderItem(b)}); +m=(x.width||a.offsetWidth)+p;n=a.lastItemY+a.lastLineHeight+a.titleHeight;n=a.handleOverflow(n);n+=p;k||(a.box=k=b.rect().addClass("highcharts-legend-box").attr({r:x.borderRadius}).add(e),k.isNew=!0);k.attr({stroke:x.borderColor,"stroke-width":x.borderWidth||0,fill:x.backgroundColor||"none"}).shadow(x.shadow);0b&&!1!==h.enabled?(this.clipHeight=g=Math.max(b-20-this.titleHeight-I,0),this.currentPage=m(this.currentPage,1),this.fullHeight=a,l(v,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=u.length;if(!d||c-u[d-1]>g&&(r||c)!==u[d-1])u.push(r||c),d++;b===v.length-1&&c+a-u[d-1]>g&&u.push(c);c!==r&&(r=c)}),n||(n=d.clipRect= +e.clipRect(0,I,9999,0),d.contentGroup.clip(n)),t(g),y||(this.nav=y=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,p,p).on("click",function(){d.scroll(-1,k)}).add(y),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").css(h.style).add(y),this.down=e.symbol("triangle-down",0,0,p,p).on("click",function(){d.scroll(1,k)}).add(y)),d.scroll(0),a=b):y&&(t(),y.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,d){var b=this.pages, +f=b.length;a=this.currentPage+a;var g=this.clipHeight,c=this.options.navigation,h=this.pager,n=this.padding;a>f&&(a=f);0f&&(g=typeof a[0],"string"===g?e.name=a[0]:"number"===g&&(e.x=a[0]),d++);b=h.value;)h=e[++g];h&&h.color&&!this.options.color&&(this.color=h.color);return h},destroy:function(){var a=this.series.chart,e=a.hoverPoints,g;a.pointCount--;e&&(this.setState(),H(e,this),e.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)k(this), +this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],e,g=6;g--;)e=a[g],this[e]&&(this[e]=this[e].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var e=this.series,g= +e.tooltipOptions,h=t(g.valueDecimals,""),k=g.valuePrefix||"",f=g.valueSuffix||"";B(e.pointArrayMap||["y"],function(d){d="{point."+d;if(k||f)a=a.replace(d+"}",k+d+"}"+f);a=a.replace(d+"}",d+":,."+h+"f}")});return l(a,{point:this,series:this.series})},firePointEvent:function(a,e,g){var h=this,k=this.series.options;(k.point.events[a]||h.options&&h.options.events&&h.options.events[a])&&this.importEvents();"click"===a&&k.allowPointSelect&&(g=function(a){h.select&&h.select(null,a.ctrlKey||a.metaKey||a.shiftKey)}); +p(this,a,e,g)},visible:!0}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.correctFloat,l=a.Date,r=a.defaultOptions,w=a.defaultPlotOptions,t=a.defined,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.fireEvent,C=a.grep,f=a.isArray,d=a.isNumber,b=a.isString,q=a.merge,E=a.pick,c=a.removeEvent,F=a.splat,n=a.stableSort,A=a.SVGElement,x=a.syncTimeout,J=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{}, +marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1, +marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,d,e,f=a.series,u,y=function(a,b){return E(a.options.index,a._i)-E(b.options.index,b._i)};c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();g(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0=== +b.selected});e=b.events;for(d in e)D(c,d,e[d]);if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();k(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);f.length&&(u=f[f.length-1]);c._i=E(u&&u._i,-1)+1;f.push(c);n(f,y);this.yAxis&&n(this.yAxis.series,y);k(f,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a=this,b=a.options,c=a.chart, +d;k(a.axisTypes||[],function(f){k(c[f],function(c){d=c.options;if(b[f]===d.index||void 0!==b[f]&&b[f]===d.id||void 0===b[f]&&0===d.index)c.series.push(a),a[f]=c,c.isDirty=!0});a[f]||a.optionalAxis===f||e(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,e=arguments,f=d(b)?function(d){var e="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=e}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(e,2))};k(c.parallelArrays,f)},autoIncrement:function(){var a=this.options, +b=this.xIncrement,c,d=a.pointIntervalUnit,b=E(b,a.pointStart,0);this.pointInterval=c=E(this.pointInterval,a.pointInterval,1);d&&(a=new l(b),"day"===d?a=+a[l.hcSetDate](a[l.hcGetDate]()+c):"month"===d?a=+a[l.hcSetMonth](a[l.hcGetMonth]()+c):"year"===d&&(a=+a[l.hcSetFullYear](a[l.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=q(e,c.series,a);this.tooltipOptions= +q(r.tooltip,r.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);null===e.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative",color:c.negativeColor,fillColor:c.negativeFillColor});a.length&&t(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor}); +return c},getCyclic:function(a,b,c){var d,e=this.userOptions,f=a+"Index",g=a+"Counter",u=c?c.length:E(this.chart.options.chart[a+"Count"],this.chart[a+"Count"]);b||(d=E(e[f],e["_"+f]),t(d)||(e["_"+f]=d=this.chart[g]%u,this.chart[g]+=1),c&&(b=c[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||w[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol, +this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(a,c,g,n){var u=this,q=u.points,h=q&&q.length||0,y,m=u.options,x=u.chart,A=null,I=u.xAxis,l=m.turboThreshold,p=this.xData,r=this.yData,F=(y=u.pointArrayMap)&&y.length;a=a||[];y=a.length;c=E(c,!0);if(!1!==n&&y&&h===y&&!u.cropped&&!u.hasGroupedData&&u.visible)k(a,function(a,b){q[b].update&&a!==m.data[b]&&q[b].update(a,!1,null,!1)});else{u.xIncrement=null;u.colorCounter=0;k(this.parallelArrays,function(a){u[a+ +"Data"].length=0});if(l&&y>l){for(g=0;null===A&&gh||this.forceCrop))if(b[d-1]l)b=[],c=[];else if(b[0]l)f=this.cropData(this.xData,this.yData,A,l),b=f.xData,c=f.yData,f=f.start,g=!0;for(h=b.length||1;--h;)d=x?y(b[h])-y(b[h-1]):b[h]-b[h-1],0d&&this.requireSorting&&e(15);this.cropped=g;this.cropStart=f;this.processedXData=b;this.processedYData=c;this.closestPointRange=n},cropData:function(a,b,c,d){var e=a.length,f=0,g=e,n=E(this.cropShoulder,1),u;for(u=0;u=c){f=Math.max(0,u- +n);break}for(c=u;cd){g=c+n;break}return{xData:a.slice(f,g),yData:b.slice(f,g),start:f,end:g}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,n=this.cropStart||0,q,h=this.hasGroupedData,k,m=[],x;b||h||(b=[],b.length=a.length,b=this.data=b);for(x=0;x=q&&(c[x-1]||k)<=h,y&&k)if(y=m.length)for(;y--;)null!==m[y]&&(g[n++]=m[y]);else g[n++]=m;this.dataMin=H(g);this.dataMax=G(g)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,e=c.categories,f=this.yAxis,g=this.points,n=g.length,q=!!this.modifyValue,h=a.pointPlacement,k="between"===h||d(h),m=a.threshold,x=a.startFromThreshold?m:0,A,l,r,F,J=Number.MAX_VALUE;"between"===h&&(h=.5);d(h)&&(h*=E(a.pointRange||c.pointRange)); +for(a=0;a=B&&(C.isNull=!0);C.plotX=A=p(Math.min(Math.max(-1E5,c.translate(w,0,0,0,1,h,"flags"===this.type)),1E5));b&&this.visible&&!C.isNull&&D&&D[w]&&(F=this.getStackIndicator(F,w,this.index),G=D[w],B=G.points[F.key],l=B[0],B=B[1],l===x&&F.key===D[w].base&&(l=E(m,f.min)),f.isLog&&0>=l&&(l=null),C.total=C.stackTotal=G.total,C.percentage=G.total&&C.y/G.total*100,C.stackY= +B,G.setOffset(this.pointXOffset||0,this.barW||0));C.yBottom=t(l)?f.translate(l,0,1,0,1):null;q&&(B=this.modifyValue(B,C));C.plotY=l="number"===typeof B&&Infinity!==B?Math.min(Math.max(-1E5,f.translate(B,0,1,0,1)),1E5):void 0;C.isInside=void 0!==l&&0<=l&&l<=f.len&&0<=A&&A<=c.len;C.clientX=k?p(c.translate(w,0,0,0,1,h)):A;C.negative=C.y<(m||0);C.category=e&&void 0!==e[C.x]?e[C.x]:C.x;C.isNull||(void 0!==r&&(J=Math.min(J,Math.abs(A-r))),r=A)}this.closestPointRangePx=J},getValidPoints:function(a,b){var c= +this.chart;return C(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,f=this.clipBox,g=f||b.clipBox,n=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,g.height,c.xAxis,c.yAxis].join(),q=b[n],h=b[n+"m"];q||(a&&(g.width=0,b[n+"m"]=h=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[n]=q=d.clipRect(g),q.count={length:0});a&&!q.count[this.index]&& +(q.count[this.index]=!0,q.count.length+=1);!1!==c.clip&&(this.group.clip(a||f?q:b.clipRect),this.markerGroup.clip(h),this.sharedClipKey=n);a||(q.count[this.index]&&(delete q.count[this.index],--q.count.length),0===q.count.length&&n&&b[n]&&(f||(b[n]=b[n].destroy()),b[n+"m"]&&(b[n+"m"]=b[n+"m"].destroy())))},animate:function(a){var b=this.chart,c=B(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+ +99},c),this.animate=null)},afterAnimate:function(){this.setClip();h(this,"afterAnimate")},drawPoints:function(){var a=this.points,b=this.chart,c,e,f,g,n=this.options.marker,q,h,k,m,x=this.markerGroup,A=E(n.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>2*n.radius);if(!1!==n.enabled||this._hasPointMarkers)for(e=a.length;e--;)f=a[e],c=f.plotY,g=f.graphic,q=f.marker||{},h=!!f.marker,k=A&&void 0===q.enabled||q.enabled,m=f.isInside,k&&d(c)&&null!==f.y?(c=E(q.symbol,this.symbol),f.hasImage= +0===c.indexOf("url"),k=this.markerAttribs(f,f.selected&&"select"),g?g[m?"show":"hide"](!0).animate(k):m&&(0e&&b.shadow));g&&(g.startX=c.xMap, +g.isArea=c.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,f,g=this.clips||[],n,q=this.graph,h=this.area,m=Math.max(b.chartWidth,b.chartHeight),x=this[(this.zoneAxis||"y")+"Axis"],A,l,p=b.inverted,r,F,C,t,J=!1;d.length&&(q||h)&&x&&void 0!==x.min&&(l=x.reversed,r=x.horiz,q&&q.hide(),h&&h.hide(),A=x.getExtremes(),k(d,function(d,u){e=l?r?b.plotWidth:0:r?0:x.toPixels(A.min);e=Math.min(Math.max(E(f,e),0),m);f=Math.min(Math.max(Math.round(x.toPixels(E(d.value,A.max), +!0)),0),m);J&&(e=f=x.toPixels(A.max));F=Math.abs(e-f);C=Math.min(e,f);t=Math.max(e,f);x.isXAxis?(n={x:p?t:C,y:0,width:F,height:m},r||(n.x=b.plotHeight-n.x)):(n={x:0,y:p?t:C,width:m,height:F},r&&(n.y=b.plotWidth-n.y));p&&c.isVML&&(n=x.isXAxis?{x:0,y:l?C:t,height:n.width,width:b.chartWidth}:{x:n.y-b.plotLeft-b.spacingBox.x,y:0,width:n.height,height:b.chartHeight});g[u]?g[u].animate(n):(g[u]=c.clipRect(n),q&&a["zone-graph-"+u].clip(g[u]),h&&a["zone-area-"+u].clip(g[u]));J=d.value>A.max}),this.clips= +g)},invertGroups:function(a){function b(){var b={width:c.yAxis.len,height:c.xAxis.len};k(["group","markerGroup"],function(d){c[d]&&c[d].attr(b).invert(a)})}var c=this,d;c.xAxis&&(d=D(c.chart,"resize",b),D(c,"destroy",d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({zIndex:d||.1}).add(e),f.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className|| +"")));f.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&B(d.animation).duration,f=a.visible?"inherit":"hidden",g=d.zIndex,n=a.hasRendered,q=b.seriesGroup,h=b.inverted;c=a.plotGroup("group","series",f,g,q);a.markerGroup= +a.plotGroup("markerGroup","markers",f,g,q);e&&a.animate(!0);c.inverted=a.isCartesian?h:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(h);!1===d.clip||a.sharedClipKey||n||c.clip(b.clipRect);e&&a.animate();n||(a.animationTimeout=x(function(){a.afterAnimate()},e));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty|| +this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:E(d&&d.left,a.plotLeft),translateY:E(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)}, +buildKDTree:function(){function a(c,d,e){var f,g;if(g=c&&c.length)return f=b.kdAxisArray[d%e],c.sort(function(a,b){return a[f]-b[f]}),g=Math.floor(g/2),{point:c[g],left:a(c.slice(0,g),d+1,e),right:a(c.slice(g+1),d+1,e)}}var b=this,c=b.kdDimensions;delete b.kdTree;x(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,n,q){var h=b.point,u=d.kdAxisArray[n%q],k,m,x=h;m=t(a[e])&&t(h[e])?Math.pow(a[e]-h[e],2):null;k=t(a[f])&& +t(h[f])?Math.pow(a[f]-h[f],2):null;k=(m||0)+(k||0);h.dist=t(k)?Math.sqrt(k):Number.MAX_VALUE;h.distX=t(m)?Math.sqrt(m):Number.MAX_VALUE;u=a[u]-h[u];k=0>u?"left":"right";m=0>u?"right":"left";b[k]&&(k=c(a,b[k],n+1,q),x=k[g]A;)l--;this.updateParallelArrays(h,"splice",l,0,0);this.updateParallelArrays(h,l);n&&h.name&&(n[A]=h.name);q.splice(l,0,a);m&&(this.data.splice(l,0,null),this.processData());"point"===c.legendType&&this.generatePoints();d&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(h,"shift"),q.shift()));this.isDirtyData=this.isDirty=!0;b&&g.redraw(e)},removePoint:function(a, +b,d){var c=this,e=c.data,f=e[a],g=c.points,n=c.chart,h=function(){g&&g.length===e.length&&g.splice(a,1);e.splice(a,1);c.options.data.splice(a,1);c.updateParallelArrays(f||{series:c},"splice",a,1);f&&f.destroy();c.isDirty=!0;c.isDirtyData=!0;b&&n.redraw()};q(d,n);b=C(b,!0);f?f.firePointEvent("remove",null,h):h()},remove:function(a,b,d){function c(){e.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();C(a,!0)&&f.redraw(b)}var e=this,f=e.chart;!1!==d?k(e,"remove",null,c):c()},update:function(a, +d){var c=this,e=this.chart,f=this.userOptions,g=this.type,q=a.type||f.type||e.options.chart.type,u=b[g].prototype,m=["group","markerGroup","dataLabelsGroup"],k;if(q&&q!==g||void 0!==a.zIndex)m.length=0;r(m,function(a){m[a]=c[a];delete c[a]});a=h(f,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(k in u)this[k]=void 0;t(this,b[q||g].prototype);r(m,function(a){c[a]=m[a]});this.init(e,a);e.linkSeries();C(d,!0)&&e.redraw(!1)}});t(G.prototype, +{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=h(this.userOptions,a);this.destroy(!0);this.init(c,t(a,{events:void 0}));c.isDirtyBox=!0;C(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);w(b.axes,this);w(b[c],this);b.options[c].splice(this.options.index,1);r(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;C(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a}, +b)},setCategories:function(a,b){this.update({categories:a},b)}})})(N);(function(a){var D=a.color,B=a.each,G=a.map,H=a.pick,p=a.Series,l=a.seriesType;l("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],l=[],p=this.xAxis,k=this.yAxis,m=k.stacks[this.stackKey],e={},g=this.points,h=this.index,C=k.series,f=C.length,d,b=H(k.options.reversedStacks,!0)?1:-1,q,E;if(this.options.stacking){for(q=0;qa&&t>l?(t=Math.max(a,l),m=2*l-t):tH&& +m>l?(m=Math.max(H,l),t=2*l-m):m=Math.abs(g)&&.5a.closestPointRange*a.xAxis.transA,k=a.borderWidth=r(h.borderWidth,k?0:1),f=a.yAxis,d=a.translatedThreshold=f.getThreshold(h.threshold),b=r(h.minPointLength,5),q=a.getColumnMetrics(),m=q.width,c=a.barW=Math.max(m,1+2*k),l=a.pointXOffset= +q.offset;g.inverted&&(d-=.5);h.pointPadding&&(c=Math.ceil(c));w.prototype.translate.apply(a);G(a.points,function(e){var n=r(e.yBottom,d),q=999+Math.abs(n),q=Math.min(Math.max(-q,e.plotY),f.len+q),h=e.plotX+l,k=c,u=Math.min(q,n),p,t=Math.max(q,n)-u;Math.abs(t)b?n-b:d-(p?b:0));e.barX=h;e.pointWidth=m;e.tooltipPos=g.inverted?[f.len+f.pos-g.plotLeft-q,a.xAxis.len-h-k/2,t]:[h+k/2,q+f.pos-g.plotTop,t];e.shapeType="rect";e.shapeArgs= +a.crispCol.apply(a,e.isNull?[e.plotX,f.len/2,0,0]:[h,u,k,t])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,g){var e=this.options,k=this.pointAttrToOptions||{},f=k.stroke||"borderColor",d=k["stroke-width"]||"borderWidth",b=a&&a.color||this.color,q=a[f]||e[f]||this.color||b,k=e.dashStyle,m;a&&this.zones.length&&(b=(b=a.getZone())&&b.color||a.options.color|| +this.color);g&&(g=e.states[g],m=g.brightness,b=g.color||void 0!==m&&B(b).brighten(g.brightness).get()||b,q=g[f]||q,k=g.dashStyle||k);a={fill:b,stroke:q,"stroke-width":a[d]||e[d]||this[d]||0};e.borderRadius&&(a.r=e.borderRadius);k&&(a.dashstyle=k);return a},drawPoints:function(){var a=this,g=this.chart,h=a.options,m=g.renderer,f=h.animationLimit||250,d;G(a.points,function(b){var e=b.graphic;p(b.plotY)&&null!==b.y?(d=b.shapeArgs,e?(k(e),e[g.pointCountt;++t)k=r[t],a=2>t||2===t&&/%$/.test(k),r[t]=B(k,[l,H,w,r[2]][t])+(a?p:0);r[3]>r[2]&&(r[3]=r[2]);return r}}})(N);(function(a){var D=a.addEvent,B=a.defined,G=a.each,H=a.extend,p=a.inArray,l=a.noop,r=a.pick,w=a.Point,t=a.Series,k=a.seriesType,m=a.setAnimation;k("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y? +void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var e=this,h=e.points,k=e.startAngleRad;a||(G(h,function(a){var d= +a.graphic,b=a.shapeArgs;d&&(d.attr({r:a.startR||e.center[3]/2,start:k,end:k}),d.animate({r:b.r,start:b.start,end:b.end},e.options.animation))}),e.animate=null)},updateTotals:function(){var a,g=0,h=this.points,k=h.length,f,d=this.options.ignoreHiddenPoint;for(a=0;af.y&&(f.y=null),g+=d&&!f.visible?0:f.y;this.total=g;for(a=0;a1.5*Math.PI?q-=2*Math.PI:q<-Math.PI/2&&(q+=2*Math.PI);t.slicedTranslation={translateX:Math.round(Math.cos(q)*k),translateY:Math.round(Math.sin(q)*k)};d=Math.cos(q)*a[2]/2;b=Math.sin(q)*a[2]/2;t.tooltipPos=[a[0]+.7*d,a[1]+.7*b];t.half=q<-Math.PI/2||q>Math.PI/2?1:0;t.angle=q;f=Math.min(f,n/5);t.labelPos=[a[0]+d+Math.cos(q)*n,a[1]+b+Math.sin(q)*n,a[0]+d+Math.cos(q)*f,a[1]+b+Math.sin(q)* +f,a[0]+d,a[1]+b,0>n?"center":t.half?"right":"left",q]}},drawGraph:null,drawPoints:function(){var a=this,g=a.chart.renderer,h,k,f,d,b=a.options.shadow;b&&!a.shadowGroup&&(a.shadowGroup=g.g("shadow").add(a.group));G(a.points,function(e){if(null!==e.y){k=e.graphic;d=e.shapeArgs;h=e.sliced?e.slicedTranslation:{};var q=e.shadowGroup;b&&!q&&(q=e.shadowGroup=g.g("shadow").add(a.shadowGroup));q&&q.attr(h);f=a.pointAttribs(e,e.selected&&"select");k?k.setRadialReference(a.center).attr(f).animate(H(d,h)):(e.graphic= +k=g[e.shapeType](d).addClass(e.getClassName()).setRadialReference(a.center).attr(h).add(a.group),e.visible||k.attr({visibility:"hidden"}),k.attr(f).attr({"stroke-linejoin":"round"}).shadow(b,q))}})},searchPoint:l,sortByAngle:function(a,g){a.sort(function(a,e){return void 0!==a.angle&&(e.angle-a.angle)*g})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:l},{init:function(){w.prototype.init.apply(this,arguments);var a=this,g;a.name=r(a.name,"Slice"); +g=function(e){a.slice("select"===e.type)};D(a,"select",g);D(a,"unselect",g);return a},setVisible:function(a,g){var e=this,k=e.series,f=k.chart,d=k.options.ignoreHiddenPoint;g=r(g,d);a!==e.visible&&(e.visible=e.options.visible=a=void 0===a?!e.visible:a,k.options.data[p(e,k.data)]=e.options,G(["graphic","dataLabel","connector","shadowGroup"],function(b){if(e[b])e[b][a?"show":"hide"](!0)}),e.legendItem&&f.legend.colorizeItem(e,a),a||"hover"!==e.state||e.setState(""),d&&(k.isDirty=!0),g&&f.redraw())}, +slice:function(a,g,h){var e=this.series;m(h,e.chart);r(g,!0);this.sliced=this.options.sliced=a=B(a)?a:!this.sliced;e.options.data[p(this,e.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)},haloPath:function(a){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+a,e.r+a,{innerR:this.shapeArgs.r,start:e.start,end:e.end})}})})(N);(function(a){var D= +a.addEvent,B=a.arrayMax,G=a.defined,H=a.each,p=a.extend,l=a.format,r=a.map,w=a.merge,t=a.noop,k=a.pick,m=a.relativeLength,e=a.Series,g=a.seriesTypes,h=a.stableSort,C=a.stop;a.distribute=function(a,d){function b(a,b){return a.target-b.target}var e,f=!0,c=a,g=[],n;n=0;for(e=a.length;e--;)n+=a[e].size;if(n>d){h(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(n=e=0;n<=d;)n+=a[e].size,e++;g=a.splice(e-1,a.length)}h(a,b);for(a=r(a,function(a){return{size:a.size,targets:[a.target]}});f;){for(e=a.length;e--;)f= +a[e],n=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=Math.min(Math.max(0,n-f.size/2),d-f.size);e=a.length;for(f=!1;e--;)0a[e].pos&&(a[e-1].size+=a[e].size,a[e-1].targets=a[e-1].targets.concat(a[e].targets),a[e-1].pos+a[e-1].size>d&&(a[e-1].pos=d-a[e-1].size),a.splice(e,1),f=!0)}e=0;H(a,function(a){var b=0;H(a.targets,function(){c[e].pos=a.pos+b;b+=c[e].size;e++})});c.push.apply(c,g);h(c,b)};e.prototype.drawDataLabels=function(){var a=this,d=a.options, +b=d.dataLabels,e=a.points,g,c,h=a.hasRendered||0,n,m,x=k(b.defer,!0),r=a.chart.renderer;if(b.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(b),m=a.plotGroup("dataLabelsGroup","data-labels",x&&!h?"hidden":"visible",b.zIndex||6),x&&(m.attr({opacity:+h}),h||D(a,"afterAnimate",function(){a.visible&&m.show(!0);m[d.animation?"animate":"attr"]({opacity:1},{duration:200})})),c=b,H(e,function(e){var f,q=e.dataLabel,h,x,A=e.connector,y=!0,t,z={};g=e.dlOptions||e.options&&e.options.dataLabels; +f=k(g&&g.enabled,c.enabled)&&null!==e.y;if(q&&!f)e.dataLabel=q.destroy();else if(f){b=w(c,g);t=b.style;f=b.rotation;h=e.getLabelConfig();n=b.format?l(b.format,h):b.formatter.call(h,b);t.color=k(b.color,t.color,a.color,"#000000");if(q)G(n)?(q.attr({text:n}),y=!1):(e.dataLabel=q=q.destroy(),A&&(e.connector=A.destroy()));else if(G(n)){q={fill:b.backgroundColor,stroke:b.borderColor,"stroke-width":b.borderWidth,r:b.borderRadius||0,rotation:f,padding:b.padding,zIndex:1};"contrast"===t.color&&(z.color=b.inside|| +0>b.distance||d.stacking?r.getContrast(e.color||a.color):"#000000");d.cursor&&(z.cursor=d.cursor);for(x in q)void 0===q[x]&&delete q[x];q=e.dataLabel=r[f?"text":"label"](n,0,-9999,b.shape,null,null,b.useHTML,null,"data-label").attr(q);q.addClass("highcharts-data-label-color-"+e.colorIndex+" "+(b.className||""));q.css(p(t,z));q.add(m);q.shadow(b.shadow)}q&&a.alignDataLabel(e,q,b,null,y)}})};e.prototype.alignDataLabel=function(a,d,b,e,g){var c=this.chart,f=c.inverted,n=k(a.plotX,-9999),q=k(a.plotY, +-9999),h=d.getBBox(),m,l=b.rotation,u=b.align,r=this.visible&&(a.series.forceDL||c.isInsidePlot(n,Math.round(q),f)||e&&c.isInsidePlot(n,f?e.x+1:e.y+e.height-1,f)),t="justify"===k(b.overflow,"justify");r&&(m=b.style.fontSize,m=c.renderer.fontMetrics(m,d).b,e=p({x:f?c.plotWidth-q:n,y:Math.round(f?c.plotHeight-n:q),width:0,height:0},e),p(b,{width:h.width,height:h.height}),l?(t=!1,f=c.renderer.rotCorr(m,l),f={x:e.x+b.x+e.width/2+f.x,y:e.y+b.y+{top:0,middle:.5,bottom:1}[b.verticalAlign]*e.height},d[g? +"attr":"animate"](f).attr({align:u}),n=(l+720)%360,n=180n,"left"===u?f.y-=n?h.height:0:"center"===u?(f.x-=h.width/2,f.y-=h.height/2):"right"===u&&(f.x-=h.width,f.y-=n?0:h.height)):(d.align(b,null,e),f=d.alignAttr),t?this.justifyDataLabel(d,b,f,h,e,g):k(b.crop,!0)&&(r=c.isInsidePlot(f.x,f.y)&&c.isInsidePlot(f.x+h.width,f.y+h.height)),b.shape&&!l&&d.attr({anchorX:a.plotX,anchorY:a.plotY}));r||(C(d),d.attr({y:-9999}),d.placed=!1)};e.prototype.justifyDataLabel=function(a,d,b,e,g,c){var f=this.chart, +n=d.align,h=d.verticalAlign,q,k,m=a.box?0:a.padding||0;q=b.x+m;0>q&&("right"===n?d.align="left":d.x=-q,k=!0);q=b.x+e.width-m;q>f.plotWidth&&("left"===n?d.align="right":d.x=f.plotWidth-q,k=!0);q=b.y+m;0>q&&("bottom"===h?d.verticalAlign="top":d.y=-q,k=!0);q=b.y+e.height-m;q>f.plotHeight&&("top"===h?d.verticalAlign="bottom":d.y=f.plotHeight-q,k=!0);k&&(a.placed=!c,a.align(d,null,g))};g.pie&&(g.pie.prototype.drawDataLabels=function(){var f=this,d=f.data,b,g=f.chart,h=f.options.dataLabels,c=k(h.connectorPadding, +10),m=k(h.connectorWidth,1),n=g.plotWidth,l=g.plotHeight,x,p=h.distance,y=f.center,u=y[2]/2,t=y[1],w=0k-2?A:P,e),v._attr={visibility:S,align:D[6]},v._pos={x:L+h.x+({left:c,right:-c}[D[6]]||0),y:P+h.y-10},D.x=L,D.y=P,null===f.options.size&&(C=v.width,L-Cn-c&&(T[1]=Math.max(Math.round(L+ +C-n+c),T[1])),0>P-G/2?T[0]=Math.max(Math.round(-P+G/2),T[0]):P+G/2>l&&(T[2]=Math.max(Math.round(P+G/2-l),T[2])))}),0===B(T)||this.verifyDataLabelOverflow(T))&&(this.placeDataLabels(),w&&m&&H(this.points,function(a){var b;x=a.connector;if((v=a.dataLabel)&&v._pos&&a.visible){S=v._attr.visibility;if(b=!x)a.connector=x=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(f.dataLabelsGroup),x.attr({"stroke-width":m,stroke:h.connectorColor||a.color||"#666666"}); +x[b?"attr":"animate"]({d:f.connectorPath(a.labelPos)});x.attr("visibility",S)}else x&&(a.connector=x.destroy())}))},g.pie.prototype.connectorPath=function(a){var d=a.x,b=a.y;return k(this.options.dataLabels.softConnector,!0)?["M",d+("left"===a[6]?5:-5),b,"C",d,b,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",d+("left"===a[6]?5:-5),b,"L",a[2],a[3],"L",a[4],a[5]]},g.pie.prototype.placeDataLabels=function(){H(this.points,function(a){var d=a.dataLabel;d&&a.visible&&((a=d._pos)?(d.attr(d._attr), +d[d.moved?"animate":"attr"](a),d.moved=!0):d&&d.attr({y:-9999}))})},g.pie.prototype.alignDataLabel=t,g.pie.prototype.verifyDataLabelOverflow=function(a){var d=this.center,b=this.options,e=b.center,f=b.minSize||80,c,g;null!==e[0]?c=Math.max(d[2]-Math.max(a[1],a[3]),f):(c=Math.max(d[2]-a[1]-a[3],f),d[0]+=(a[3]-a[1])/2);null!==e[1]?c=Math.max(Math.min(c,d[2]-Math.max(a[0],a[2])),f):(c=Math.max(Math.min(c,d[2]-a[0]-a[2]),f),d[1]+=(a[0]-a[2])/2);ck(this.translatedThreshold,f.yAxis.len)),m=k(b.inside,!!this.options.stacking);n&&(g=w(n),0>g.y&&(g.height+=g.y,g.y=0),n=g.y+g.height-f.yAxis.len,0a+e||c+nb+f||g+hthis.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints, +e;d&&r(d,function(a){a.setState()});r("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],n=(b.pointRange||0)/2,h=b.getExtremes(),q=b.toValue(g-f,!0)+n,n=b.toValue(g+b.len-f,!0)-n,g=g>f;b.series.length&&(g||q>Math.min(h.dataMin,h.min))&&(!g||n=p(k.minWidth,0)&&this.chartHeight>=p(k.minHeight,0)};void 0===l._id&&(l._id=a.uniqueKey());m=m.call(this);!r[l._id]&&m?l.chartOptions&&(r[l._id]=this.currentOptions(l.chartOptions),this.update(l.chartOptions,w)):r[l._id]&&!m&&(this.update(r[l._id],w),delete r[l._id])};D.prototype.currentOptions=function(a){function p(a,m,e){var g,h;for(g in a)if(-1< +G(g,["series","xAxis","yAxis"]))for(a[g]=l(a[g]),e[g]=[],h=0;hd.length||void 0===h)return a.call(this,g,h,k,f);x=d.length;for(c=0;ck;d[c]5*b||w){if(d[c]>u){for(r=a.call(this,g,d[e],d[c],f);r.length&&r[0]<=u;)r.shift();r.length&&(u=r[r.length-1]);y=y.concat(r)}e=c+1}if(w)break}a= +r.info;if(q&&a.unitRange<=m.hour){c=y.length-1;for(e=1;ek?a-1:a;for(M=void 0;q--;)e=c[q],k=M-e,M&&k<.8*C&&(null===t||k<.8*t)?(n[y[q]]&&!n[y[q+1]]?(k=q+1,M=e):k=q,y.splice(k,1)):M=e}return y});w(B.prototype,{beforeSetTickPositions:function(){var a, +g=[],h=!1,k,f=this.getExtremes(),d=f.min,b=f.max,q,m=this.isXAxis&&!!this.options.breaks,f=this.options.ordinal,c=this.chart.options.chart.ignoreHiddenSeries;if(f||m){r(this.series,function(b,d){if(!(c&&!1===b.visible||!1===b.takeOrdinalPosition&&!m)&&(g=g.concat(b.processedXData),a=g.length,g.sort(function(a,b){return a-b}),a))for(d=a-1;d--;)g[d]===g[d+1]&&g.splice(d,1)});a=g.length;if(2k||b-g[g.length- +1]>k)&&(h=!0)}h?(this.ordinalPositions=g,k=this.val2lin(Math.max(d,g[0]),!0),q=Math.max(this.val2lin(Math.min(b,g[g.length-1]),!0),1),this.ordinalSlope=b=(b-d)/(q-k),this.ordinalOffset=d-k*b):this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0}this.isOrdinal=f&&h;this.groupIntervalFactor=null},val2lin:function(a,g){var e=this.ordinalPositions;if(e){var k=e.length,f,d;for(f=k;f--;)if(e[f]===a){d=f;break}for(f=k-1;f--;)if(a>e[f]||0===f){a=(a-e[f])/(e[f+1]-e[f]);d=f+a;break}g=g?d:this.ordinalSlope* +(d||0)+this.ordinalOffset}else g=a;return g},lin2val:function(a,g){var e=this.ordinalPositions;if(e){var k=this.ordinalSlope,f=this.ordinalOffset,d=e.length-1,b;if(g)0>a?a=e[0]:a>d?a=e[d]:(d=Math.floor(a),b=a-d);else for(;d--;)if(g=k*d+f,a>=g){k=k*(d+1)+f;b=(a-g)/(k-g);break}return void 0!==b&&void 0!==e[d]?e[d]+(b?b*(e[d+1]-e[d]):0):a}return a},getExtendedPositions:function(){var a=this.chart,g=this.series[0].currentDataGrouping,h=this.ordinalIndex,k=g?g.count+g.unitName:"raw",f=this.getExtremes(), +d,b;h||(h=this.ordinalIndex={});h[k]||(d={series:[],chart:a,getExtremes:function(){return{min:f.dataMin,max:f.dataMax}},options:{ordinal:!0},val2lin:B.prototype.val2lin},r(this.series,function(e){b={xAxis:d,xData:e.xData,chart:a,destroyGroupedData:t};b.options={dataGrouping:g?{enabled:!0,forced:!0,approximation:"open",units:[[g.unitName,[g.count]]]}:{enabled:!1}};e.processData.apply(b);d.series.push(b)}),this.beforeSetTickPositions.apply(d),h[k]=d.ordinalPositions);return h[k]},getGroupIntervalFactor:function(a, +g,h){var e;h=h.processedXData;var f=h.length,d=[];e=this.groupIntervalFactor;if(!e){for(e=0;ed?(l=p,t=e.ordinalPositions?e:p):(l=e.ordinalPositions?e:p,t=p),p=t.ordinalPositions,q>p[p.length-1]&&p.push(q),this.fixedRange=c-m,d=e.toFixedRange(null,null,n.apply(l,[x.apply(l,[m,!0])+d,!0]),n.apply(t,[x.apply(t, +[c,!0])+d,!0])),d.min>=Math.min(b.dataMin,m)&&d.max<=Math.max(q,c)&&e.setExtremes(d.min,d.max,!0,!1,{trigger:"pan"}),this.mouseDownX=k,H(this.container,{cursor:"move"})):f=!0}else f=!0;f&&a.apply(this,Array.prototype.slice.call(arguments,1))});k.prototype.gappedPath=function(){var a=this.options.gapSize,g=this.points.slice(),h=g.length-1;if(a&&0this.closestPointRange*a&&g.splice(h+1,0,{isNull:!0});return this.getGraphPath(g)}})(N);(function(a){function D(){return Array.prototype.slice.call(arguments, +1)}function B(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,G(this.pointArrayMap,["y"]))}var G=a.pick,H=a.wrap,p=a.each,l=a.extend,r=a.fireEvent,w=a.Axis,t=a.Series;l(w.prototype,{isInBreak:function(a,m){var e=a.repeat||Infinity,g=a.from,h=a.to-a.from;m=m>=g?(m-g)%e:e-(g-m)%e;return a.inclusive?m<=h:m=a)break;else if(g.isInBreak(f,a)){e-=a-f.from;break}return e};this.lin2val=function(a){var e,f;for(f=0;f=a);f++)e.toh;)m-=b;for(;mb.to||l>b.from&&db.from&&db.from&&d>b.to&&d=c[0]);A++);for(A;A<=q;A++){for(;(void 0!==c[w+1]&&a[A]>=c[w+1]||A===q)&&(l=c[w],this.dataGroupInfo={start:p,length:t[0].length},p=d.apply(this,t),void 0!==p&&(g.push(l),h.push(p),m.push(this.dataGroupInfo)),p=A,t[0]=[],t[1]=[],t[2]=[],t[3]=[],w+=1,A!==q););if(A===q)break;if(x){l=this.cropStart+A;l=e&&e[l]|| +this.pointClass.prototype.applyOptions.apply({series:this},[f[l]]);var E,C;for(E=0;Ethis.chart.plotSizeX/d||b&&f.forced)&&(e=!0);return e?d:0};G.prototype.setDataGrouping=function(a,b){var c;b=e(b,!0);a||(a={forced:!1,units:null});if(this instanceof G)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else l(this.chart.options.series,function(b){b.dataGrouping=a},!1);b&&this.chart.redraw()}})(N);(function(a){var D=a.each,B=a.Point,G=a.seriesType,H=a.seriesTypes;G("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'}, +threshold:null,states:{hover:{lineWidth:3}}},{pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"high",pointAttribs:function(a,l){l=H.column.prototype.pointAttribs.call(this,a,l);var p=this.options;delete l.fill;l["stroke-width"]=p.lineWidth;l.stroke=a.options.color||(a.openk)););B(g,function(a,b){var d;void 0===a.plotY&&(a.x>=c.min&&a.x<=c.max?a.plotY=e.chartHeight-p.bottom-(p.opposite?p.height:0)+p.offset-e.plotTop:a.shapeArgs={});a.plotX+=t;(f=g[b-1])&&f.plotX===a.plotX&&(void 0===f.stackIndex&&(f.stackIndex=0),d=f.stackIndex+1);a.stackIndex=d})},drawPoints:function(){var a=this.points,e=this.chart,g=e.renderer,k,l,f=this.options,d=f.y,b,q,p,c,r,n,t,x=this.yAxis;for(q=a.length;q--;)p=a[q],t=p.plotX>this.xAxis.len,k=p.plotX,c=p.stackIndex,b= +p.options.shape||f.shape,l=p.plotY,void 0!==l&&(l=p.plotY+d-(void 0!==c&&c*f.stackDistance)),r=c?void 0:p.plotX,n=c?void 0:p.plotY,c=p.graphic,void 0!==l&&0<=k&&!t?(c||(c=p.graphic=g.label("",null,null,b,null,null,f.useHTML).attr(this.pointAttribs(p)).css(G(f.style,p.style)).attr({align:"flag"===b?"left":"center",width:f.width,height:f.height,"text-align":f.textAlign}).addClass("highcharts-point").add(this.markerGroup),c.shadow(f.shadow)),0h&&(e-=Math.round((l-h)/2),h=l);e=k[a](e,g,h,l);d&&f&&e.push("M",d,g>f?g:g+l,"L",d,f);return e}});p===t&&B(["flag","circlepin","squarepin"],function(a){t.prototype.symbols[a]=k[a]})})(N);(function(a){function D(a,d,e){this.init(a,d,e)}var B=a.addEvent,G=a.Axis,H=a.correctFloat,p=a.defaultOptions, +l=a.defined,r=a.destroyObjectProperties,w=a.doc,t=a.each,k=a.fireEvent,m=a.hasTouch,e=a.isTouchDevice,g=a.merge,h=a.pick,C=a.removeEvent,f=a.wrap,d={height:e?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:a.svg&&!e,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2", +trackBorderWidth:1};p.scrollbar=g(!0,d,p.scrollbar);D.prototype={init:function(a,e,f){this.scrollbarButtons=[];this.renderer=a;this.userOptions=e;this.options=g(d,e);this.chart=f;this.size=h(this.options.size,this.options.height);e.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,d=this.options,e=this.size,c;this.group=c=a.g("scrollbar").attr({zIndex:d.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0, +r:d.trackBorderRadius||0,height:e,width:e}).add(c);this.track.attr({fill:d.trackBackgroundColor,stroke:d.trackBorderColor,"stroke-width":d.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(c);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:e,width:e,r:d.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(this.swapXY(["M",-3,e/4,"L",-3,2*e/3,"M",0,e/4,"L", +0,2*e/3,"M",3,e/4,"L",3,2*e/3],d.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbar.attr({fill:d.barBackgroundColor,stroke:d.barBorderColor,"stroke-width":d.barBorderWidth});this.scrollbarRifles.attr({stroke:d.rifleColor,"stroke-width":1});this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a, +d,e,c){var b=this.options.vertical,f=0,g=this.rendered?"animate":"attr";this.x=a;this.y=d+this.trackBorderWidth;this.width=e;this.xOffset=this.height=c;this.yOffset=f;b?(this.width=this.yOffset=e=f=this.size,this.xOffset=d=0,this.barWidth=c-2*e,this.x=a+=this.options.margin):(this.height=this.xOffset=c=d=this.size,this.barWidth=e-2*c,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:e,height:c});this.scrollbarButtons[1].attr({translateX:b?0:e-d,translateY:b? +c-f:0})},drawScrollbarButton:function(a){var b=this.renderer,d=this.scrollbarButtons,c=this.options,e=this.size,f;f=b.g().add(this.group);d.push(f);f=b.rect().addClass("highcharts-scrollbar-button").add(f);f.attr({stroke:c.buttonBorderColor,"stroke-width":c.buttonBorderWidth,fill:c.buttonBackgroundColor});f.attr(f.crisp({x:-.5,y:-.5,width:e+1,height:e+1,r:c.buttonBorderRadius},f.strokeWidth()));f=b.path(this.swapXY(["M",e/2+(a?-1:1),e/2-3,"L",e/2+(a?-1:1),e/2+3,"L",e/2+(a?2:-2),e/2],c.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]); +f.attr({fill:c.buttonArrowColor})},swapXY:function(a,d){var b=a.length,c;if(d)for(d=0;d=k?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=d?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var d=a.chart.pointer.normalize(b),c=a.options.vertical? +"chartY":"chartX",e=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][c]||(d=a.cursorToScrollbarPosition(d)[c],c=a[c],c=d-c,a.hasDragged=!0,a.updatePosition(e[0]+c,e[1]+c),a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b); +b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var d=H(a.to-a.from)*a.options.step;a.updatePosition(H(a.from-d),H(a.to-d));k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var d=(a.to-a.from)*a.options.step;a.updatePosition(a.from+d,a.to+d);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var d=a.chart.pointer.normalize(b), +c=a.to-a.from,e=a.y+a.scrollbarTop,f=a.x+a.scrollbarLeft;a.options.vertical&&d.chartY>e||!a.options.vertical&&d.chartX>f?a.updatePosition(a.from+c,a.to+c):a.updatePosition(a.from-c,a.to-c);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a, +d){1a&&(d=H(d-a),a=0);this.from=a;this.to=d},update:function(a){this.destroy();this.init(this.chart.renderer,g(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],d=this.scrollbarButtons,e=this.scrollbarGroup.element,c=this.mouseDownHandler,f=this.mouseMoveHandler,g=this.mouseUpHandler,a=[[d[a[0]].element,"click",this.buttonToMinClick],[d[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[e, +"mousedown",c],[w,"mousemove",f],[w,"mouseup",g]];m&&a.push([e,"touchstart",c],[w,"touchmove",f],[w,"touchend",g]);t(a,function(a){B.apply(null,a)});this._events=a},removeEvents:function(){t(this._events,function(a){C.apply(null,a)});this._events=void 0},destroy:function(){var a=this.chart.scroller;this.removeEvents();t(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&(a.scrollbar=null,r(a.scrollbarButtons))}}; +f(G.prototype,"init",function(a){var b=this;a.apply(b,[].slice.call(arguments,1));b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new D(b.chart.renderer,b.options.scrollbar,b.chart),B(b.scrollbar,"changed",function(a){var c=Math.min(h(b.options.min,b.min),b.min,b.dataMin),d=Math.max(h(b.options.max,b.max),b.max,b.dataMax)-c,e;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(e=c+d*this.to,c+=d*this.from):(e= +c+d*(1-this.from),c+=d*(1-this.to));b.setExtremes(c,e,!0,!1,a)}))});f(G.prototype,"render",function(a){var b=Math.min(h(this.options.min,this.min),this.min,this.dataMin),d=Math.max(h(this.options.max,this.max),this.max,this.dataMax),c=this.scrollbar,e;a.apply(this,[].slice.call(arguments,1));c&&(this.horiz?c.position(this.left,this.top+this.height+this.offset+2+(this.opposite?0:this.axisTitleMargin),this.width,this.height):c.position(this.left+this.width+2+this.offset+(this.opposite?this.axisTitleMargin: +0),this.top,this.width,this.height),isNaN(b)||isNaN(d)||!l(this.min)||!l(this.max)?c.setRange(0,0):(e=(this.min-b)/(d-b),b=(this.max-b)/(d-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?c.setRange(e,b):c.setRange(1-b,1-e)))});f(G.prototype,"getOffset",function(a){var b=this.horiz?2:1,d=this.scrollbar;a.apply(this,[].slice.call(arguments,1));d&&(this.chart.axisOffset[b]+=d.size+d.options.margin)});f(G.prototype,"destroy",function(a){this.scrollbar&&(this.scrollbar=this.scrollbar.destroy()); +a.apply(this,[].slice.call(arguments,1))});a.Scrollbar=D})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.color,l=a.defaultOptions,r=a.defined,w=a.destroyObjectProperties,t=a.doc,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.grep,C=a.hasTouch,f=a.isNumber,d=a.isObject,b=a.isTouchDevice,q=a.merge,E=a.pick,c=a.removeEvent,F=a.Scrollbar,n=a.Series,A=a.seriesTypes,x=a.wrap,J=[].concat(a.defaultDataGroupingUnits),y=function(a){var b=h(arguments,f);if(b.length)return Math[a].apply(0, +b)};J[4]=["day",[1,2,3,4]];J[5]=["week",[1,2,3]];A=void 0===A.areaspline?"line":"areaspline";g(l,{navigator:{height:40,margin:25,maskInside:!0,handles:{backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:p("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:A,color:"#335cad",fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:J},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series", +className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,shadow:!1,threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}); +D.prototype={drawHandle:function(a,b){var c=this.chart.renderer,d=this.handles;this.rendered||(d[b]=c.path(["M",-4.5,.5,"L",3.5,.5,3.5,15.5,-4.5,15.5,-4.5,.5,"M",-1.5,4,"L",-1.5,12,"M",.5,4,"L",.5,12]).attr({zIndex:10-b}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][b]).add(),c=this.navigatorOptions.handles,d[b].attr({fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":1}).css({cursor:"ew-resize"}));d[b][this.rendered&&!this.hasDragged?"animate":"attr"]({translateX:Math.round(this.scrollerLeft+ +this.scrollbarHeight+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-8)})},update:function(a){this.destroy();q(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(a,b,c,d){var e=this.chart,g=e.renderer,k,h,l,n;n=this.scrollbarHeight;var m=this.xAxis,p=this.navigatorOptions,u=p.maskInside,q=this.height,v=this.top,t=this.navigatorEnabled,x=this.outlineHeight,y;y=this.rendered;if(f(a)&&f(b)&&(!this.hasDragged||r(c))&&(this.navigatorLeft=k=E(m.left,e.plotLeft+ +n),this.navigatorWidth=h=E(m.len,e.plotWidth-2*n),this.scrollerLeft=l=k-n,this.scrollerWidth=n=n=h+2*n,c=E(c,m.translate(a)),d=E(d,m.translate(b)),f(c)&&Infinity!==Math.abs(c)||(c=0,d=n),!(m.translate(d,!0)-m.translate(c,!0)f&&tp+d-u&&rk&&re?e=0:e+v>=q&&(e=q-v,x=h.getUnionExtremes().dataMax),e!==d&&(h.fixedWidth=v,d=l.toFixedRange(e, +e+v,null,x),c.setExtremes(d.min,d.max,!0,null,{trigger:"navigator"}))))};h.mouseMoveHandler=function(b){var c=h.scrollbarHeight,d=h.navigatorLeft,e=h.navigatorWidth,f=h.scrollerLeft,g=h.scrollerWidth,k=h.range,l;b.touches&&0===b.touches[0].pageX||(b=a.pointer.normalize(b),l=b.chartX,lf+g-c&&(l=f+g-c),h.grabbedLeft?(h.hasDragged=!0,h.render(0,0,l-d,h.otherHandlePos)):h.grabbedRight?(h.hasDragged=!0,h.render(0,0,h.otherHandlePos,l-d)):h.grabbedCenter&&(h.hasDragged=!0,le+n-k&&(l=e+ +n-k),h.render(0,0,l-n,l-n+k)),h.hasDragged&&h.scrollbar&&h.scrollbar.options.liveRedraw&&(b.DOMType=b.type,setTimeout(function(){h.mouseUpHandler(b)},0)))};h.mouseUpHandler=function(b){var c,d,e=b.DOMEvent||b;if(h.hasDragged||"scrollbar"===b.trigger)h.zoomedMin===h.otherHandlePos?c=h.fixedExtreme:h.zoomedMax===h.otherHandlePos&&(d=h.fixedExtreme),h.zoomedMax===h.navigatorWidth&&(d=h.getUnionExtremes().dataMax),c=l.toFixedRange(h.zoomedMin,h.zoomedMax,c,d),r(c.min)&&a.xAxis[0].setExtremes(c.min,c.max, +!0,h.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e});"mousemove"!==b.DOMType&&(h.grabbedLeft=h.grabbedRight=h.grabbedCenter=h.fixedWidth=h.fixedExtreme=h.otherHandlePos=h.hasDragged=n=null)};var c=a.xAxis.length,f=a.yAxis.length,m=e&&e[0]&&e[0].xAxis||a.xAxis[0];a.extraBottomMargin=h.outlineHeight+d.margin;a.isDirtyBox=!0;h.navigatorEnabled?(h.xAxis=l=new G(a,q({breaks:m.options.breaks,ordinal:m.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis", +isX:!0,type:"datetime",index:c,height:g,offset:0,offsetLeft:k,offsetRight:-k,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1})),h.yAxis=new G(a,q(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,height:g,offset:0,index:f,zoomEnabled:!1})),e||d.series.data?h.addBaseSeries():0===a.series.length&&x(a,"redraw",function(b,c){0=Math.round(a.navigatorWidth);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},destroy:function(){this.removeEvents();this.xAxis&&(m(this.chart.xAxis,this.xAxis),m(this.chart.axes,this.xAxis));this.yAxis&&(m(this.chart.yAxis,this.yAxis),m(this.chart.axes,this.yAxis));k(this.series||[],function(a){a.destroy&&a.destroy()});k("series xAxis yAxis leftShade rightShade outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "), +function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);k([this.handles,this.elementsToDestroy],function(a){w(a)},this)}};a.Navigator=D;x(G.prototype,"zoom",function(a,b,c){var d=this.chart,e=d.options,f=e.chart.zoomType,g=e.navigator,e=e.rangeSelector,h;this.isXAxis&&(g&&g.enabled||e&&e.enabled)&&("x"===f?d.resetZoomButton="blocked":"y"===f?h=!1:"xy"===f&&(d=this.previousZoom,r(b)?this.previousZoom=[this.min,this.max]:d&&(b=d[0],c=d[1],delete this.previousZoom)));return void 0!== +h?h:a.call(this,b,c)});x(H.prototype,"init",function(a,b,c){B(this,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new D(this)});a.call(this,b,c)});x(H.prototype,"getMargins",function(a){var b=this.legend,c=b.options,d=this.scroller,e,f;a.apply(this,[].slice.call(arguments,1));d&&(e=d.xAxis,f=d.yAxis,d.top=d.navigatorOptions.top||this.chartHeight-d.height-d.scrollbarHeight-this.spacing[2]-("bottom"===c.verticalAlign&&c.enabled&& +!c.floating?b.legendHeight+E(c.margin,10):0),e&&f&&(e.options.top=f.options.top=d.top,e.setAxisSize(),f.setAxisSize()))});x(n.prototype,"addPoint",function(a,b,c,f,g){var h=this.options.turboThreshold;h&&this.xData.length>h&&d(b,!0)&&this.chart.scroller&&e(20,!0);a.call(this,b,c,f,g)});x(H.prototype,"addSeries",function(a,b,c,d){a=a.call(this,b,!1,d);this.scroller&&this.scroller.setBaseSeries();E(c,!0)&&this.redraw();return a});x(n.prototype,"update",function(a,b,c){a.call(this,b,!1);this.chart.scroller&& +this.chart.scroller.setBaseSeries();E(c,!0)&&this.chart.redraw()})})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.css,l=a.createElement,r=a.dateFormat,w=a.defaultOptions,t=w.global.useUTC,k=a.defined,m=a.destroyObjectProperties,e=a.discardElement,g=a.each,h=a.extend,C=a.fireEvent,f=a.Date,d=a.isNumber,b=a.merge,q=a.pick,E=a.pInt,c=a.splat,F=a.wrap;h(w,{rangeSelector:{buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},height:35,inputPosition:{align:"right"}, +labelStyle:{color:"#666666"}}});w.lang=b(w.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});D.prototype={clickButton:function(a,b){var e=this,f=e.chart,h=e.buttonOptions[a],k=f.xAxis[0],l=f.scroller&&f.scroller.getUnionExtremes()||k||{},n=l.dataMin,m=l.dataMax,p,r=k&&Math.round(Math.min(k.max,q(m,k.max))),w=h.type,z,l=h._range,A,C,D,E=h.dataGrouping;if(null!==n&&null!==m){f.fixedRange=l;E&&(this.forcedDataGrouping=!0,G.prototype.setDataGrouping.call(k||{chart:this.chart}, +E,!1));if("month"===w||"year"===w)k?(w={range:h,max:r,dataMin:n,dataMax:m},p=k.minFromRange.call(w),d(w.newMax)&&(r=w.newMax)):l=h;else if(l)p=Math.max(r-l,n),r=Math.min(p+l,m);else if("ytd"===w)if(k)void 0===m&&(n=Number.MAX_VALUE,m=Number.MIN_VALUE,g(f.series,function(a){a=a.xData;n=Math.min(a[0],n);m=Math.max(a[a.length-1],m)}),b=!1),r=e.getYTDExtremes(m,n,t),p=A=r.min,r=r.max;else{B(f,"beforeRender",function(){e.clickButton(a)});return}else"all"===w&&k&&(p=n,r=m);e.setSelected(a);k?k.setExtremes(p, +r,q(b,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:h}):(z=c(f.options.xAxis)[0],D=z.range,z.range=l,C=z.min,z.min=A,B(f,"load",function(){z.range=D;z.min=C}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons|| +[].concat(b.defaultButtons),e=c.selected,f=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&C(a,"blur");c&&c.blur&&C(c,"blur")};b.chart=a;b.options=c;b.buttons=[];a.extraTopMargin=c.height;b.buttonOptions=d;this.unMouseDown=B(a.container,"mousedown",f);this.unResize=B(a,"resize",f);g(d,b.computeButtonRange);void 0!==e&&d[e]&&this.clickButton(e,!1);B(a,"load",function(){B(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&& +b.forcedDataGrouping&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this.chart,b=a.xAxis[0],c=Math.round(b.max-b.min),e=!b.hasVisibleSeries,a=a.scroller&&a.scroller.getUnionExtremes()||b,f=a.dataMin,h=a.dataMax,a=this.getYTDExtremes(h,f,t),k=a.min,l=a.max,m=this.selected,p=d(m),q=this.options.allButtonsEnabled,r=this.buttons;g(this.buttonOptions,function(a,d){var g=a._range,n=a.type,u=a.count||1;a=r[d];var t=0;d=d===m;var v=g>h-f,x=g=864E5*{month:28,year:365}[n]*u&&c<=864E5*{month:31,year:366}[n]*u?g=!0:"ytd"===n?(g=l-k===c,y=!d):"all"===n&&(g=b.max-b.min>=h-f,w=!d&&p&&g);n=!q&&(v||x||w||e);g=d&&g||g&&!p&&!y;n?t=3:g&&(p=!0,t=2);a.state!==t&&a.setState(t)})},computeButtonRange:function(a){var b=a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c},setInputValue:function(a,b){var c= +this.chart.options.rangeSelector,d=this[a+"Input"];k(b)&&(d.previousValue=d.HCTime,d.HCTime=b);d.value=r(c.inputEditDateFormat||"%Y-%m-%d",d.HCTime);this[a+"DateBox"].attr({text:r(c.inputDateFormat||"%b %e, %Y",d.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];p(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){p(this[a+"Input"],{border:0,width:"1px",height:"1px"}); +this.setInputValue(a)},drawInput:function(a){function c(){var a=r.value,b=(m.inputDateParser||Date.parse)(a),c=f.xAxis[0],g=f.scroller&&f.scroller.xAxis?f.scroller.xAxis:c,h=g.dataMin,g=g.dataMax;b!==r.previousValue&&(r.previousValue=b,d(b)||(b=a.split("-"),b=Date.UTC(E(b[0]),E(b[1])-1,E(b[2]))),d(b)&&(t||(b+=6E4*(new Date).getTimezoneOffset()),q?b>e.maxInput.HCTime?b=void 0:bg&&(b=g),void 0!==b&&c.setExtremes(q?b:c.min,q?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))} +var e=this,f=e.chart,g=f.renderer.style||{},k=f.renderer,m=f.options.rangeSelector,n=e.div,q="min"===a,r,B,C=this.inputGroup;this[a+"Label"]=B=k.label(w.lang[q?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(C);C.offset+=B.width+5;this[a+"DateBox"]=k=k.label("",C.offset).addClass("highcharts-range-input").attr({padding:2,width:m.inputBoxWidth||90,height:m.inputBoxHeight||17,stroke:m.inputBoxBorderColor||"#cccccc","stroke-width":1, +"text-align":"center"}).on("click",function(){e.showInput(a);e[a+"Input"].focus()}).add(C);C.offset+=k.width+(q?10:0);this[a+"Input"]=r=l("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:f.plotTop+"px"},n);B.css(b(g,m.labelStyle));k.css(b({color:"#333333"},g,m.inputStyle));p(r,h({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:g.fontSize,fontFamily:g.fontFamily,left:"-9em"},m.inputStyle));r.onfocus=function(){e.showInput(a)};r.onblur= +function(){e.hideInput(a)};r.onchange=c;r.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a=q((b.buttonPosition||{}).y,a.plotTop-a.axisOffset[0]-b.height);return{buttonTop:a,inputTop:a-10}},getYTDExtremes:function(a,b,c){var d=new f(a),e=d[f.hcGetFullYear]();c=c?f.UTC(e,0,1):+new f(e,0,1);b=Math.max(b||0,c);d=d.getTime();return{max:Math.min(a||d,d),min:b}},render:function(a,b){var c=this,d=c.chart,e=d.renderer,f=d.container,m=d.options, +n=m.exporting&&!1!==m.exporting.enabled&&m.navigation&&m.navigation.buttonOptions,p=m.rangeSelector,r=c.buttons,m=w.lang,t=c.div,t=c.inputGroup,A=p.buttonTheme,z=p.buttonPosition||{},B=p.inputEnabled,C=A&&A.states,D=d.plotLeft,E,G=this.getPosition(),F=c.group,H=c.rendered;!1!==p.enabled&&(H||(c.group=F=e.g("range-selector-buttons").add(),c.zoomText=e.text(m.rangeSelectorZoom,q(z.x,D),15).css(p.labelStyle).add(F),E=q(z.x,D)+c.zoomText.getBBox().width+5,g(c.buttonOptions,function(a,b){r[b]=e.button(a.text, +E,0,function(){c.clickButton(b);c.isActive=!0},A,C&&C.hover,C&&C.select,C&&C.disabled).attr({"text-align":"center"}).add(F);E+=r[b].width+q(p.buttonSpacing,5)}),!1!==B&&(c.div=t=l("div",null,{position:"relative",height:0,zIndex:1}),f.parentNode.insertBefore(t,f),c.inputGroup=t=e.g("input-group").add(),t.offset=0,c.drawInput("min"),c.drawInput("max"))),c.updateButtonStates(),F[H?"animate":"attr"]({translateY:G.buttonTop}),!1!==B&&(t.align(h({y:G.inputTop,width:t.offset,x:n&&G.inputTop<(n.y||0)+n.height- +d.spacing[0]?-40:0},p.inputPosition),!0,d.spacingBox),k(B)||(d=F.getBBox(),t[t.alignAttr.translateXc&&(e?a=b-f:b=a+f);d(a)||(a=b=void 0);return{min:a,max:b}};G.prototype.minFromRange=function(){var a=this.range,b={month:"Month",year:"FullYear"}[a.type],c,e=this.max,f,g,h=function(a,c){var d=new Date(a);d["set"+b](d["get"+ +b]()+c);return d.getTime()-a};d(a)?(c=e-a,g=a):(c=e+h(e,-a.count),this.chart&&(this.chart.fixedRange=e-c));f=q(this.dataMin,Number.MIN_VALUE);d(c)||(c=f);c<=f&&(c=f,void 0===g&&(g=h(c,a.count)),this.newMax=Math.min(c+g,this.dataMax));d(e)||(c=void 0);return c};F(H.prototype,"init",function(a,b,c){B(this,"init",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new D(this))});a.call(this,b,c)});a.RangeSelector=D})(N);(function(a){var D=a.addEvent,B=a.isNumber;a.Chart.prototype.callbacks.push(function(a){function G(){p= +a.xAxis[0].getExtremes();B(p.min)&&r.render(p.min,p.max)}var p,l=a.scroller,r=a.rangeSelector,w,t;l&&(p=a.xAxis[0].getExtremes(),l.render(p.min,p.max));r&&(t=D(a.xAxis[0],"afterSetExtremes",function(a){r.render(a.min,a.max)}),w=D(a,"redraw",G),G());D(a,"destroy",function(){r&&(w(),t())})})})(N);(function(a){var D=a.arrayMax,B=a.arrayMin,G=a.Axis,H=a.Chart,p=a.defined,l=a.each,r=a.extend,w=a.format,t=a.inArray,k=a.isNumber,m=a.isString,e=a.map,g=a.merge,h=a.pick,C=a.Point,f=a.Renderer,d=a.Series,b= +a.splat,q=a.stop,E=a.SVGRenderer,c=a.VMLRenderer,F=a.wrap,n=d.prototype,A=n.init,x=n.processData,J=C.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(c,d,f){var k=m(c)||c.nodeName,l=arguments[k?1:0],n=l.series,p=a.getOptions(),q,r=h(l.navigator&&l.navigator.enabled,!0)?{startOnTick:!1,endOnTick:!1}:null,t={marker:{enabled:!1,radius:2}},u={shadow:!1,borderWidth:0};l.xAxis=e(b(l.xAxis||{}),function(a){return g({minPadding:0,maxPadding:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"}, +showLastLabel:!0},p.xAxis,a,{type:"datetime",categories:null},r)});l.yAxis=e(b(l.yAxis||{}),function(a){q=h(a.opposite,!0);return g({labels:{y:-2},opposite:q,showLastLabel:!1,title:{text:null}},p.yAxis,a)});l.series=null;l=g({chart:{panning:!0,pinchType:"x"},navigator:{enabled:!0},scrollbar:{enabled:!0},rangeSelector:{enabled:!0},title:{text:null,style:{fontSize:"16px"}},tooltip:{shared:!0,crosshairs:!0},legend:{enabled:!1},plotOptions:{line:t,spline:t,area:t,areaspline:t,arearange:t,areasplinerange:t, +column:u,columnrange:u,candlestick:u,ohlc:u}},l,{_stock:!0,chart:{inverted:!1}});l.series=n;return k?new H(c,l,f):new H(l,d)};F(G.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options._stock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=1,"right"):a.call(this,[].slice.call(arguments,1))});F(G.prototype,"getPlotLinePath",function(a, +b,c,d,f,g){var n=this,q=this.isLinked&&!this.series?this.linkedParent.series:this.series,r=n.chart,u=r.renderer,v=n.left,w=n.top,y,x,A,B,C=[],D=[],E,F;if("colorAxis"===n.coll)return a.apply(this,[].slice.call(arguments,1));D=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=n.options[b];return k(a)?[r[b][a]]:m(a)?[r.get(a)]:e(q,function(a){return a[b]})}(n.coll);l(n.isXAxis?r.yAxis:r.xAxis,function(a){if(p(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=p(a.options[b])? +r[b][a.options[b]]:r[b][0];n===b&&D.push(a)}});E=D.length?[]:[n.isXAxis?r.yAxis[0]:r.xAxis[0]];l(D,function(a){-1===t(a,E)&&E.push(a)});F=h(g,n.translate(b,null,null,d));k(F)&&(n.horiz?l(E,function(a){var b;x=a.pos;B=x+a.len;y=A=Math.round(F+n.transB);if(yv+n.width)f?y=A=Math.min(Math.max(v,y),v+n.width):b=!0;b||C.push("M",y,x,"L",A,B)}):l(E,function(a){var b;y=a.pos;A=y+a.len;x=B=Math.round(w+n.height-F);if(xw+n.height)f?x=B=Math.min(Math.max(w,x),n.top+n.height):b=!0;b||C.push("M",y, +x,"L",A,B)}));return 0=e&&(x=-(l.translateX+b.width-e));l.attr({x:m+x,y:k,anchorX:g?m:this.opposite?0:a.chartWidth,anchorY:g?this.opposite?a.chartHeight:0:k+b.height/2})}});n.init=function(){A.apply(this,arguments);this.setCompare(this.options.compare)};n.setCompare=function(a){this.modifyValue= +"value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b=b/d*100-100,c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};n.processData=function(){var a,b=-1,c,d,e,f;x.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,e=d.length,this.pointArrayMap&&(b=t("close",this.pointArrayMap),-1===b&&(b=t(this.pointValKey||"y",this.pointArrayMap))),a=0;a< +e-1;a++)if(f=-1=this.xAxis.min&&0!==f){this.compareValue=f;break}};F(n,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=B(b),this.dataMax=D(b))});G.prototype.setCompare=function(a,b){this.isXAxis||(l(this.series,function(b){b.setCompare(a)}),h(b,!0)&&this.chart.redraw())};C.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(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 '; + else + var expandButton = ''; + + return '' + expandButton + '' + ellipsedLabel({ name: item.name, parentClass: "nav-tooltip", childClass: "nav-label" }) + ''; +} + +function menuItemsForGroup(group, level, parent) { + var items = ''; + + if (level > 0) + items += menuItem(group, level - 1, parent, true); + + $.each(group.contents, function (contentName, content) { + if (content.type == 'GROUP') + items += menuItemsForGroup(content, level + 1, group.pathFormatted); + else if (content.type == 'REQUEST') + items += menuItem(content, level, group.pathFormatted); + }); + + return items; +} + +function setDetailsMenu(){ + $('.nav ul').append(menuItemsForGroup(stats, 0)); + $('.nav').expandable(); + $('.nav-tooltip').popover({trigger:'hover'}); +} + +function setGlobalMenu(){ + $('.nav ul') + .append('
  • Ranges
  • ') + .append('
  • Stats
  • ') + .append('
  • Active Users
  • ') + .append('
  • Requests / sec
  • ') + .append('
  • Responses / sec
  • '); +} + +function getLink(link){ + var a = link.split('/'); + return (a.length<=1)? link : a[a.length-1]; +} + +function expandUp(li) { + const parentId = li.attr("data-parent"); + if (parentId != "ROOT") { + const span = $('#' + parentId); + const parentLi = span.parents('li').first(); + span.expand(parentLi, false); + expandUp(parentLi); + } +} + +function setActiveMenu(){ + $('.nav a').each(function() { + const navA = $(this) + if(!navA.hasClass('expand-button') && navA.attr('href') == getLink(window.location.pathname)) { + const li = $(this).parents('li').first(); + li.addClass('on'); + expandUp(li); + return false; + } + }); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/stats.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/stats.js new file mode 100644 index 0000000..40c1bff --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/stats.js @@ -0,0 +1,1523 @@ +var stats = { + type: "GROUP", +name: "All Requests", +path: "", +pathFormatted: "group_missing-name--1146707516", +stats: { + "name": "All Requests", + "numberOfRequests": { + "total": "10030", + "ok": "10030", + "ko": "0" + }, + "minResponseTime": { + "total": "23", + "ok": "23", + "ko": "-" + }, + "maxResponseTime": { + "total": "58634", + "ok": "58634", + "ko": "-" + }, + "meanResponseTime": { + "total": "2329", + "ok": "2329", + "ko": "-" + }, + "standardDeviation": { + "total": "7662", + "ok": "7662", + "ko": "-" + }, + "percentiles1": { + "total": "122", + "ok": "122", + "ko": "-" + }, + "percentiles2": { + "total": "424", + "ok": "424", + "ko": "-" + }, + "percentiles3": { + "total": "17978", + "ok": "17978", + "ko": "-" + }, + "percentiles4": { + "total": "43355", + "ok": "43355", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 7679, + "percentage": 77 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 1105, + "percentage": 11 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 1246, + "percentage": 12 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "61.914", + "ok": "61.914", + "ko": "-" + } +}, +contents: { +"req_request-0-693933696": { + type: "REQUEST", + name: "request_0", +path: "request_0", +pathFormatted: "req_request-0-693933696", +stats: { + "name": "request_0", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "5207", + "ok": "5207", + "ko": "-" + }, + "meanResponseTime": { + "total": "343", + "ok": "343", + "ko": "-" + }, + "standardDeviation": { + "total": "502", + "ok": "502", + "ko": "-" + }, + "percentiles1": { + "total": "130", + "ok": "130", + "ko": "-" + }, + "percentiles2": { + "total": "176", + "ok": "176", + "ko": "-" + }, + "percentiles3": { + "total": "1187", + "ok": "1187", + "ko": "-" + }, + "percentiles4": { + "total": "1725", + "ok": "1725", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 488, + "percentage": 83 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 73, + "percentage": 12 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 29, + "percentage": 5 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-1-693933697": { + type: "REQUEST", + name: "request_1", +path: "request_1", +pathFormatted: "req_request-1-693933697", +stats: { + "name": "request_1", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "36", + "ok": "36", + "ko": "-" + }, + "maxResponseTime": { + "total": "1435", + "ok": "1435", + "ko": "-" + }, + "meanResponseTime": { + "total": "88", + "ok": "88", + "ko": "-" + }, + "standardDeviation": { + "total": "145", + "ok": "145", + "ko": "-" + }, + "percentiles1": { + "total": "64", + "ok": "64", + "ko": "-" + }, + "percentiles2": { + "total": "67", + "ok": "67", + "ko": "-" + }, + "percentiles3": { + "total": "134", + "ok": "134", + "ko": "-" + }, + "percentiles4": { + "total": "1158", + "ok": "1158", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 583, + "percentage": 99 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 1, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 6, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-2-693933698": { + type: "REQUEST", + name: "request_2", +path: "request_2", +pathFormatted: "req_request-2-693933698", +stats: { + "name": "request_2", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "7166", + "ok": "7166", + "ko": "-" + }, + "meanResponseTime": { + "total": "368", + "ok": "368", + "ko": "-" + }, + "standardDeviation": { + "total": "692", + "ok": "692", + "ko": "-" + }, + "percentiles1": { + "total": "130", + "ok": "130", + "ko": "-" + }, + "percentiles2": { + "total": "187", + "ok": "187", + "ko": "-" + }, + "percentiles3": { + "total": "1162", + "ok": "1162", + "ko": "-" + }, + "percentiles4": { + "total": "2523", + "ok": "2523", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 492, + "percentage": 83 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 74, + "percentage": 13 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 24, + "percentage": 4 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-3-693933699": { + type: "REQUEST", + name: "request_3", +path: "request_3", +pathFormatted: "req_request-3-693933699", +stats: { + "name": "request_3", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "75", + "ok": "75", + "ko": "-" + }, + "maxResponseTime": { + "total": "7152", + "ok": "7152", + "ko": "-" + }, + "meanResponseTime": { + "total": "341", + "ok": "341", + "ko": "-" + }, + "standardDeviation": { + "total": "658", + "ok": "658", + "ko": "-" + }, + "percentiles1": { + "total": "129", + "ok": "129", + "ko": "-" + }, + "percentiles2": { + "total": "131", + "ok": "131", + "ko": "-" + }, + "percentiles3": { + "total": "1271", + "ok": "1271", + "ko": "-" + }, + "percentiles4": { + "total": "3139", + "ok": "3139", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 512, + "percentage": 87 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 47, + "percentage": 8 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 31, + "percentage": 5 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-4-693933700": { + type: "REQUEST", + name: "request_4", +path: "request_4", +pathFormatted: "req_request-4-693933700", +stats: { + "name": "request_4", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "110", + "ok": "110", + "ko": "-" + }, + "maxResponseTime": { + "total": "2761", + "ok": "2761", + "ko": "-" + }, + "meanResponseTime": { + "total": "299", + "ok": "299", + "ko": "-" + }, + "standardDeviation": { + "total": "214", + "ok": "214", + "ko": "-" + }, + "percentiles1": { + "total": "226", + "ok": "226", + "ko": "-" + }, + "percentiles2": { + "total": "340", + "ok": "340", + "ko": "-" + }, + "percentiles3": { + "total": "704", + "ok": "704", + "ko": "-" + }, + "percentiles4": { + "total": "914", + "ok": "914", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 575, + "percentage": 97 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 10, + "percentage": 2 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 5, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-5-693933701": { + type: "REQUEST", + name: "request_5", +path: "request_5", +pathFormatted: "req_request-5-693933701", +stats: { + "name": "request_5", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "329", + "ok": "329", + "ko": "-" + }, + "maxResponseTime": { + "total": "22204", + "ok": "22204", + "ko": "-" + }, + "meanResponseTime": { + "total": "6914", + "ok": "6914", + "ko": "-" + }, + "standardDeviation": { + "total": "4689", + "ok": "4689", + "ko": "-" + }, + "percentiles1": { + "total": "6215", + "ok": "6215", + "ko": "-" + }, + "percentiles2": { + "total": "10065", + "ok": "10065", + "ko": "-" + }, + "percentiles3": { + "total": "15889", + "ok": "15889", + "ko": "-" + }, + "percentiles4": { + "total": "18962", + "ok": "18962", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 16, + "percentage": 3 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 22, + "percentage": 4 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 552, + "percentage": 94 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-6-693933702": { + type: "REQUEST", + name: "request_6", +path: "request_6", +pathFormatted: "req_request-6-693933702", +stats: { + "name": "request_6", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "514", + "ok": "514", + "ko": "-" + }, + "maxResponseTime": { + "total": "58634", + "ok": "58634", + "ko": "-" + }, + "meanResponseTime": { + "total": "28962", + "ok": "28962", + "ko": "-" + }, + "standardDeviation": { + "total": "13344", + "ok": "13344", + "ko": "-" + }, + "percentiles1": { + "total": "28884", + "ok": "28884", + "ko": "-" + }, + "percentiles2": { + "total": "38684", + "ok": "38684", + "ko": "-" + }, + "percentiles3": { + "total": "49597", + "ok": "49597", + "ko": "-" + }, + "percentiles4": { + "total": "55863", + "ok": "55863", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 1, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 587, + "percentage": 99 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-7-693933703": { + type: "REQUEST", + name: "request_7", +path: "request_7", +pathFormatted: "req_request-7-693933703", +stats: { + "name": "request_7", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "51", + "ok": "51", + "ko": "-" + }, + "maxResponseTime": { + "total": "3126", + "ok": "3126", + "ko": "-" + }, + "meanResponseTime": { + "total": "278", + "ok": "278", + "ko": "-" + }, + "standardDeviation": { + "total": "410", + "ok": "410", + "ko": "-" + }, + "percentiles1": { + "total": "127", + "ok": "127", + "ko": "-" + }, + "percentiles2": { + "total": "132", + "ok": "132", + "ko": "-" + }, + "percentiles3": { + "total": "1135", + "ok": "1135", + "ko": "-" + }, + "percentiles4": { + "total": "1542", + "ok": "1542", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 506, + "percentage": 86 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 73, + "percentage": 12 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 11, + "percentage": 2 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-8-693933704": { + type: "REQUEST", + name: "request_8", +path: "request_8", +pathFormatted: "req_request-8-693933704", +stats: { + "name": "request_8", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "1146", + "ok": "1146", + "ko": "-" + }, + "meanResponseTime": { + "total": "303", + "ok": "303", + "ko": "-" + }, + "standardDeviation": { + "total": "406", + "ok": "406", + "ko": "-" + }, + "percentiles1": { + "total": "82", + "ok": "83", + "ko": "-" + }, + "percentiles2": { + "total": "132", + "ok": "132", + "ko": "-" + }, + "percentiles3": { + "total": "1094", + "ok": "1094", + "ko": "-" + }, + "percentiles4": { + "total": "1134", + "ok": "1134", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 467, + "percentage": 79 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 123, + "percentage": 21 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-9-693933705": { + type: "REQUEST", + name: "request_9", +path: "request_9", +pathFormatted: "req_request-9-693933705", +stats: { + "name": "request_9", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "1142", + "ok": "1142", + "ko": "-" + }, + "meanResponseTime": { + "total": "336", + "ok": "336", + "ko": "-" + }, + "standardDeviation": { + "total": "430", + "ok": "430", + "ko": "-" + }, + "percentiles1": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles2": { + "total": "135", + "ok": "135", + "ko": "-" + }, + "percentiles3": { + "total": "1094", + "ok": "1094", + "ko": "-" + }, + "percentiles4": { + "total": "1136", + "ok": "1136", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 446, + "percentage": 76 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 144, + "percentage": 24 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-10-37108175": { + type: "REQUEST", + name: "request_10", +path: "request_10", +pathFormatted: "req_request-10-37108175", +stats: { + "name": "request_10", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "75", + "ok": "75", + "ko": "-" + }, + "maxResponseTime": { + "total": "1145", + "ok": "1145", + "ko": "-" + }, + "meanResponseTime": { + "total": "405", + "ok": "405", + "ko": "-" + }, + "standardDeviation": { + "total": "462", + "ok": "462", + "ko": "-" + }, + "percentiles1": { + "total": "85", + "ok": "85", + "ko": "-" + }, + "percentiles2": { + "total": "1082", + "ok": "1082", + "ko": "-" + }, + "percentiles3": { + "total": "1097", + "ok": "1097", + "ko": "-" + }, + "percentiles4": { + "total": "1137", + "ok": "1137", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 408, + "percentage": 69 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 182, + "percentage": 31 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-11-37108176": { + type: "REQUEST", + name: "request_11", +path: "request_11", +pathFormatted: "req_request-11-37108176", +stats: { + "name": "request_11", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "37", + "ok": "37", + "ko": "-" + }, + "maxResponseTime": { + "total": "350", + "ok": "350", + "ko": "-" + }, + "meanResponseTime": { + "total": "46", + "ok": "46", + "ko": "-" + }, + "standardDeviation": { + "total": "16", + "ok": "16", + "ko": "-" + }, + "percentiles1": { + "total": "42", + "ok": "42", + "ko": "-" + }, + "percentiles2": { + "total": "43", + "ok": "43", + "ko": "-" + }, + "percentiles3": { + "total": "68", + "ok": "68", + "ko": "-" + }, + "percentiles4": { + "total": "75", + "ok": "75", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 590, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-12-37108177": { + type: "REQUEST", + name: "request_12", +path: "request_12", +pathFormatted: "req_request-12-37108177", +stats: { + "name": "request_12", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "23", + "ok": "23", + "ko": "-" + }, + "maxResponseTime": { + "total": "1057", + "ok": "1057", + "ko": "-" + }, + "meanResponseTime": { + "total": "62", + "ok": "62", + "ko": "-" + }, + "standardDeviation": { + "total": "156", + "ok": "156", + "ko": "-" + }, + "percentiles1": { + "total": "30", + "ok": "30", + "ko": "-" + }, + "percentiles2": { + "total": "32", + "ok": "32", + "ko": "-" + }, + "percentiles3": { + "total": "81", + "ok": "81", + "ko": "-" + }, + "percentiles4": { + "total": "1035", + "ok": "1035", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 576, + "percentage": 98 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 14, + "percentage": 2 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-14-37108179": { + type: "REQUEST", + name: "request_14", +path: "request_14", +pathFormatted: "req_request-14-37108179", +stats: { + "name": "request_14", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "35", + "ok": "35", + "ko": "-" + }, + "maxResponseTime": { + "total": "1094", + "ok": "1094", + "ko": "-" + }, + "meanResponseTime": { + "total": "51", + "ok": "51", + "ko": "-" + }, + "standardDeviation": { + "total": "89", + "ok": "89", + "ko": "-" + }, + "percentiles1": { + "total": "39", + "ok": "39", + "ko": "-" + }, + "percentiles2": { + "total": "40", + "ok": "40", + "ko": "-" + }, + "percentiles3": { + "total": "65", + "ok": "65", + "ko": "-" + }, + "percentiles4": { + "total": "335", + "ok": "335", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 586, + "percentage": 99 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 4, + "percentage": 1 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-15-37108180": { + type: "REQUEST", + name: "request_15", +path: "request_15", +pathFormatted: "req_request-15-37108180", +stats: { + "name": "request_15", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "38", + "ok": "38", + "ko": "-" + }, + "maxResponseTime": { + "total": "362", + "ok": "362", + "ko": "-" + }, + "meanResponseTime": { + "total": "46", + "ok": "46", + "ko": "-" + }, + "standardDeviation": { + "total": "21", + "ok": "21", + "ko": "-" + }, + "percentiles1": { + "total": "41", + "ok": "41", + "ko": "-" + }, + "percentiles2": { + "total": "43", + "ok": "43", + "ko": "-" + }, + "percentiles3": { + "total": "68", + "ok": "68", + "ko": "-" + }, + "percentiles4": { + "total": "71", + "ok": "71", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 590, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-16-37108181": { + type: "REQUEST", + name: "request_16", +path: "request_16", +pathFormatted: "req_request-16-37108181", +stats: { + "name": "request_16", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "2145", + "ok": "2145", + "ko": "-" + }, + "meanResponseTime": { + "total": "378", + "ok": "378", + "ko": "-" + }, + "standardDeviation": { + "total": "459", + "ok": "459", + "ko": "-" + }, + "percentiles1": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles2": { + "total": "1079", + "ok": "1079", + "ko": "-" + }, + "percentiles3": { + "total": "1095", + "ok": "1095", + "ko": "-" + }, + "percentiles4": { + "total": "1128", + "ok": "1128", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 420, + "percentage": 71 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 169, + "percentage": 29 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 1, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + },"req_request-17-37108182": { + type: "REQUEST", + name: "request_17", +path: "request_17", +pathFormatted: "req_request-17-37108182", +stats: { + "name": "request_17", + "numberOfRequests": { + "total": "590", + "ok": "590", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "1143", + "ok": "1143", + "ko": "-" + }, + "meanResponseTime": { + "total": "371", + "ok": "371", + "ko": "-" + }, + "standardDeviation": { + "total": "454", + "ok": "454", + "ko": "-" + }, + "percentiles1": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles2": { + "total": "1079", + "ok": "1079", + "ko": "-" + }, + "percentiles3": { + "total": "1095", + "ok": "1095", + "ko": "-" + }, + "percentiles4": { + "total": "1098", + "ok": "1098", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 422, + "percentage": 72 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 168, + "percentage": 28 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "3.642", + "ok": "3.642", + "ko": "-" + } +} + } +} + +} + +function fillStats(stat){ + $("#numberOfRequests").append(stat.numberOfRequests.total); + $("#numberOfRequestsOK").append(stat.numberOfRequests.ok); + $("#numberOfRequestsKO").append(stat.numberOfRequests.ko); + + $("#minResponseTime").append(stat.minResponseTime.total); + $("#minResponseTimeOK").append(stat.minResponseTime.ok); + $("#minResponseTimeKO").append(stat.minResponseTime.ko); + + $("#maxResponseTime").append(stat.maxResponseTime.total); + $("#maxResponseTimeOK").append(stat.maxResponseTime.ok); + $("#maxResponseTimeKO").append(stat.maxResponseTime.ko); + + $("#meanResponseTime").append(stat.meanResponseTime.total); + $("#meanResponseTimeOK").append(stat.meanResponseTime.ok); + $("#meanResponseTimeKO").append(stat.meanResponseTime.ko); + + $("#standardDeviation").append(stat.standardDeviation.total); + $("#standardDeviationOK").append(stat.standardDeviation.ok); + $("#standardDeviationKO").append(stat.standardDeviation.ko); + + $("#percentiles1").append(stat.percentiles1.total); + $("#percentiles1OK").append(stat.percentiles1.ok); + $("#percentiles1KO").append(stat.percentiles1.ko); + + $("#percentiles2").append(stat.percentiles2.total); + $("#percentiles2OK").append(stat.percentiles2.ok); + $("#percentiles2KO").append(stat.percentiles2.ko); + + $("#percentiles3").append(stat.percentiles3.total); + $("#percentiles3OK").append(stat.percentiles3.ok); + $("#percentiles3KO").append(stat.percentiles3.ko); + + $("#percentiles4").append(stat.percentiles4.total); + $("#percentiles4OK").append(stat.percentiles4.ok); + $("#percentiles4KO").append(stat.percentiles4.ko); + + $("#meanNumberOfRequestsPerSecond").append(stat.meanNumberOfRequestsPerSecond.total); + $("#meanNumberOfRequestsPerSecondOK").append(stat.meanNumberOfRequestsPerSecond.ok); + $("#meanNumberOfRequestsPerSecondKO").append(stat.meanNumberOfRequestsPerSecond.ko); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/stats.json new file mode 100644 index 0000000..ffe3dcf --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/stats.json @@ -0,0 +1,1481 @@ +{ + "type": "GROUP", +"name": "All Requests", +"path": "", +"pathFormatted": "group_missing-name--1146707516", +"stats": { + "name": "All Requests", + "numberOfRequests": { + "total": 10030, + "ok": 10030, + "ko": 0 + }, + "minResponseTime": { + "total": 23, + "ok": 23, + "ko": 0 + }, + "maxResponseTime": { + "total": 58634, + "ok": 58634, + "ko": 0 + }, + "meanResponseTime": { + "total": 2329, + "ok": 2329, + "ko": 0 + }, + "standardDeviation": { + "total": 7662, + "ok": 7662, + "ko": 0 + }, + "percentiles1": { + "total": 122, + "ok": 122, + "ko": 0 + }, + "percentiles2": { + "total": 424, + "ok": 424, + "ko": 0 + }, + "percentiles3": { + "total": 17978, + "ok": 17978, + "ko": 0 + }, + "percentiles4": { + "total": 43355, + "ok": 43355, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 7679, + "percentage": 77 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 1105, + "percentage": 11 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 1246, + "percentage": 12 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 61.91358024691358, + "ok": 61.91358024691358, + "ko": 0 + } +}, +"contents": { +"req_request-0-693933696": { + "type": "REQUEST", + "name": "request_0", +"path": "request_0", +"pathFormatted": "req_request-0-693933696", +"stats": { + "name": "request_0", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 5207, + "ok": 5207, + "ko": 0 + }, + "meanResponseTime": { + "total": 343, + "ok": 343, + "ko": 0 + }, + "standardDeviation": { + "total": 502, + "ok": 502, + "ko": 0 + }, + "percentiles1": { + "total": 130, + "ok": 130, + "ko": 0 + }, + "percentiles2": { + "total": 176, + "ok": 176, + "ko": 0 + }, + "percentiles3": { + "total": 1187, + "ok": 1187, + "ko": 0 + }, + "percentiles4": { + "total": 1725, + "ok": 1725, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 488, + "percentage": 83 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 73, + "percentage": 12 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 29, + "percentage": 5 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-1-693933697": { + "type": "REQUEST", + "name": "request_1", +"path": "request_1", +"pathFormatted": "req_request-1-693933697", +"stats": { + "name": "request_1", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 36, + "ok": 36, + "ko": 0 + }, + "maxResponseTime": { + "total": 1435, + "ok": 1435, + "ko": 0 + }, + "meanResponseTime": { + "total": 88, + "ok": 88, + "ko": 0 + }, + "standardDeviation": { + "total": 145, + "ok": 145, + "ko": 0 + }, + "percentiles1": { + "total": 64, + "ok": 64, + "ko": 0 + }, + "percentiles2": { + "total": 67, + "ok": 67, + "ko": 0 + }, + "percentiles3": { + "total": 134, + "ok": 134, + "ko": 0 + }, + "percentiles4": { + "total": 1158, + "ok": 1158, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 583, + "percentage": 99 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 1, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 6, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-2-693933698": { + "type": "REQUEST", + "name": "request_2", +"path": "request_2", +"pathFormatted": "req_request-2-693933698", +"stats": { + "name": "request_2", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 7166, + "ok": 7166, + "ko": 0 + }, + "meanResponseTime": { + "total": 368, + "ok": 368, + "ko": 0 + }, + "standardDeviation": { + "total": 692, + "ok": 692, + "ko": 0 + }, + "percentiles1": { + "total": 130, + "ok": 130, + "ko": 0 + }, + "percentiles2": { + "total": 187, + "ok": 187, + "ko": 0 + }, + "percentiles3": { + "total": 1162, + "ok": 1162, + "ko": 0 + }, + "percentiles4": { + "total": 2523, + "ok": 2523, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 492, + "percentage": 83 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 74, + "percentage": 13 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 24, + "percentage": 4 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-3-693933699": { + "type": "REQUEST", + "name": "request_3", +"path": "request_3", +"pathFormatted": "req_request-3-693933699", +"stats": { + "name": "request_3", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 75, + "ok": 75, + "ko": 0 + }, + "maxResponseTime": { + "total": 7152, + "ok": 7152, + "ko": 0 + }, + "meanResponseTime": { + "total": 341, + "ok": 341, + "ko": 0 + }, + "standardDeviation": { + "total": 658, + "ok": 658, + "ko": 0 + }, + "percentiles1": { + "total": 129, + "ok": 129, + "ko": 0 + }, + "percentiles2": { + "total": 131, + "ok": 131, + "ko": 0 + }, + "percentiles3": { + "total": 1271, + "ok": 1271, + "ko": 0 + }, + "percentiles4": { + "total": 3139, + "ok": 3139, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 512, + "percentage": 87 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 47, + "percentage": 8 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 31, + "percentage": 5 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-4-693933700": { + "type": "REQUEST", + "name": "request_4", +"path": "request_4", +"pathFormatted": "req_request-4-693933700", +"stats": { + "name": "request_4", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 110, + "ok": 110, + "ko": 0 + }, + "maxResponseTime": { + "total": 2761, + "ok": 2761, + "ko": 0 + }, + "meanResponseTime": { + "total": 299, + "ok": 299, + "ko": 0 + }, + "standardDeviation": { + "total": 214, + "ok": 214, + "ko": 0 + }, + "percentiles1": { + "total": 226, + "ok": 226, + "ko": 0 + }, + "percentiles2": { + "total": 340, + "ok": 340, + "ko": 0 + }, + "percentiles3": { + "total": 704, + "ok": 704, + "ko": 0 + }, + "percentiles4": { + "total": 914, + "ok": 914, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 575, + "percentage": 97 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 10, + "percentage": 2 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 5, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-5-693933701": { + "type": "REQUEST", + "name": "request_5", +"path": "request_5", +"pathFormatted": "req_request-5-693933701", +"stats": { + "name": "request_5", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 329, + "ok": 329, + "ko": 0 + }, + "maxResponseTime": { + "total": 22204, + "ok": 22204, + "ko": 0 + }, + "meanResponseTime": { + "total": 6914, + "ok": 6914, + "ko": 0 + }, + "standardDeviation": { + "total": 4689, + "ok": 4689, + "ko": 0 + }, + "percentiles1": { + "total": 6215, + "ok": 6215, + "ko": 0 + }, + "percentiles2": { + "total": 10065, + "ok": 10065, + "ko": 0 + }, + "percentiles3": { + "total": 15889, + "ok": 15889, + "ko": 0 + }, + "percentiles4": { + "total": 18962, + "ok": 18962, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 16, + "percentage": 3 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 22, + "percentage": 4 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 552, + "percentage": 94 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-6-693933702": { + "type": "REQUEST", + "name": "request_6", +"path": "request_6", +"pathFormatted": "req_request-6-693933702", +"stats": { + "name": "request_6", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 514, + "ok": 514, + "ko": 0 + }, + "maxResponseTime": { + "total": 58634, + "ok": 58634, + "ko": 0 + }, + "meanResponseTime": { + "total": 28962, + "ok": 28962, + "ko": 0 + }, + "standardDeviation": { + "total": 13344, + "ok": 13344, + "ko": 0 + }, + "percentiles1": { + "total": 28884, + "ok": 28884, + "ko": 0 + }, + "percentiles2": { + "total": 38684, + "ok": 38684, + "ko": 0 + }, + "percentiles3": { + "total": 49597, + "ok": 49597, + "ko": 0 + }, + "percentiles4": { + "total": 55863, + "ok": 55863, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 1, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 587, + "percentage": 99 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-7-693933703": { + "type": "REQUEST", + "name": "request_7", +"path": "request_7", +"pathFormatted": "req_request-7-693933703", +"stats": { + "name": "request_7", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 51, + "ok": 51, + "ko": 0 + }, + "maxResponseTime": { + "total": 3126, + "ok": 3126, + "ko": 0 + }, + "meanResponseTime": { + "total": 278, + "ok": 278, + "ko": 0 + }, + "standardDeviation": { + "total": 410, + "ok": 410, + "ko": 0 + }, + "percentiles1": { + "total": 127, + "ok": 127, + "ko": 0 + }, + "percentiles2": { + "total": 132, + "ok": 132, + "ko": 0 + }, + "percentiles3": { + "total": 1135, + "ok": 1135, + "ko": 0 + }, + "percentiles4": { + "total": 1542, + "ok": 1542, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 506, + "percentage": 86 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 73, + "percentage": 12 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 11, + "percentage": 2 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-8-693933704": { + "type": "REQUEST", + "name": "request_8", +"path": "request_8", +"pathFormatted": "req_request-8-693933704", +"stats": { + "name": "request_8", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 1146, + "ok": 1146, + "ko": 0 + }, + "meanResponseTime": { + "total": 303, + "ok": 303, + "ko": 0 + }, + "standardDeviation": { + "total": 406, + "ok": 406, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 83, + "ko": 0 + }, + "percentiles2": { + "total": 132, + "ok": 132, + "ko": 0 + }, + "percentiles3": { + "total": 1094, + "ok": 1094, + "ko": 0 + }, + "percentiles4": { + "total": 1134, + "ok": 1134, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 467, + "percentage": 79 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 123, + "percentage": 21 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-9-693933705": { + "type": "REQUEST", + "name": "request_9", +"path": "request_9", +"pathFormatted": "req_request-9-693933705", +"stats": { + "name": "request_9", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 1142, + "ok": 1142, + "ko": 0 + }, + "meanResponseTime": { + "total": 336, + "ok": 336, + "ko": 0 + }, + "standardDeviation": { + "total": 430, + "ok": 430, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles2": { + "total": 135, + "ok": 135, + "ko": 0 + }, + "percentiles3": { + "total": 1094, + "ok": 1094, + "ko": 0 + }, + "percentiles4": { + "total": 1136, + "ok": 1136, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 446, + "percentage": 76 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 144, + "percentage": 24 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-10-37108175": { + "type": "REQUEST", + "name": "request_10", +"path": "request_10", +"pathFormatted": "req_request-10-37108175", +"stats": { + "name": "request_10", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 75, + "ok": 75, + "ko": 0 + }, + "maxResponseTime": { + "total": 1145, + "ok": 1145, + "ko": 0 + }, + "meanResponseTime": { + "total": 405, + "ok": 405, + "ko": 0 + }, + "standardDeviation": { + "total": 462, + "ok": 462, + "ko": 0 + }, + "percentiles1": { + "total": 85, + "ok": 85, + "ko": 0 + }, + "percentiles2": { + "total": 1082, + "ok": 1082, + "ko": 0 + }, + "percentiles3": { + "total": 1097, + "ok": 1097, + "ko": 0 + }, + "percentiles4": { + "total": 1137, + "ok": 1137, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 408, + "percentage": 69 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 182, + "percentage": 31 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-11-37108176": { + "type": "REQUEST", + "name": "request_11", +"path": "request_11", +"pathFormatted": "req_request-11-37108176", +"stats": { + "name": "request_11", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 37, + "ok": 37, + "ko": 0 + }, + "maxResponseTime": { + "total": 350, + "ok": 350, + "ko": 0 + }, + "meanResponseTime": { + "total": 46, + "ok": 46, + "ko": 0 + }, + "standardDeviation": { + "total": 16, + "ok": 16, + "ko": 0 + }, + "percentiles1": { + "total": 42, + "ok": 42, + "ko": 0 + }, + "percentiles2": { + "total": 43, + "ok": 43, + "ko": 0 + }, + "percentiles3": { + "total": 68, + "ok": 68, + "ko": 0 + }, + "percentiles4": { + "total": 75, + "ok": 75, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 590, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-12-37108177": { + "type": "REQUEST", + "name": "request_12", +"path": "request_12", +"pathFormatted": "req_request-12-37108177", +"stats": { + "name": "request_12", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 23, + "ok": 23, + "ko": 0 + }, + "maxResponseTime": { + "total": 1057, + "ok": 1057, + "ko": 0 + }, + "meanResponseTime": { + "total": 62, + "ok": 62, + "ko": 0 + }, + "standardDeviation": { + "total": 156, + "ok": 156, + "ko": 0 + }, + "percentiles1": { + "total": 30, + "ok": 30, + "ko": 0 + }, + "percentiles2": { + "total": 32, + "ok": 32, + "ko": 0 + }, + "percentiles3": { + "total": 81, + "ok": 81, + "ko": 0 + }, + "percentiles4": { + "total": 1035, + "ok": 1035, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 576, + "percentage": 98 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 14, + "percentage": 2 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-14-37108179": { + "type": "REQUEST", + "name": "request_14", +"path": "request_14", +"pathFormatted": "req_request-14-37108179", +"stats": { + "name": "request_14", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 35, + "ok": 35, + "ko": 0 + }, + "maxResponseTime": { + "total": 1094, + "ok": 1094, + "ko": 0 + }, + "meanResponseTime": { + "total": 51, + "ok": 51, + "ko": 0 + }, + "standardDeviation": { + "total": 89, + "ok": 89, + "ko": 0 + }, + "percentiles1": { + "total": 39, + "ok": 39, + "ko": 0 + }, + "percentiles2": { + "total": 40, + "ok": 40, + "ko": 0 + }, + "percentiles3": { + "total": 65, + "ok": 65, + "ko": 0 + }, + "percentiles4": { + "total": 335, + "ok": 335, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 586, + "percentage": 99 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 4, + "percentage": 1 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-15-37108180": { + "type": "REQUEST", + "name": "request_15", +"path": "request_15", +"pathFormatted": "req_request-15-37108180", +"stats": { + "name": "request_15", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 38, + "ok": 38, + "ko": 0 + }, + "maxResponseTime": { + "total": 362, + "ok": 362, + "ko": 0 + }, + "meanResponseTime": { + "total": 46, + "ok": 46, + "ko": 0 + }, + "standardDeviation": { + "total": 21, + "ok": 21, + "ko": 0 + }, + "percentiles1": { + "total": 41, + "ok": 41, + "ko": 0 + }, + "percentiles2": { + "total": 43, + "ok": 43, + "ko": 0 + }, + "percentiles3": { + "total": 68, + "ok": 68, + "ko": 0 + }, + "percentiles4": { + "total": 71, + "ok": 71, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 590, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-16-37108181": { + "type": "REQUEST", + "name": "request_16", +"path": "request_16", +"pathFormatted": "req_request-16-37108181", +"stats": { + "name": "request_16", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 2145, + "ok": 2145, + "ko": 0 + }, + "meanResponseTime": { + "total": 378, + "ok": 378, + "ko": 0 + }, + "standardDeviation": { + "total": 459, + "ok": 459, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles2": { + "total": 1079, + "ok": 1079, + "ko": 0 + }, + "percentiles3": { + "total": 1095, + "ok": 1095, + "ko": 0 + }, + "percentiles4": { + "total": 1128, + "ok": 1128, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 420, + "percentage": 71 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 169, + "percentage": 29 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 1, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + },"req_request-17-37108182": { + "type": "REQUEST", + "name": "request_17", +"path": "request_17", +"pathFormatted": "req_request-17-37108182", +"stats": { + "name": "request_17", + "numberOfRequests": { + "total": 590, + "ok": 590, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 1143, + "ok": 1143, + "ko": 0 + }, + "meanResponseTime": { + "total": 371, + "ok": 371, + "ko": 0 + }, + "standardDeviation": { + "total": 454, + "ok": 454, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles2": { + "total": 1079, + "ok": 1079, + "ko": 0 + }, + "percentiles3": { + "total": 1095, + "ok": 1095, + "ko": 0 + }, + "percentiles4": { + "total": 1098, + "ok": 1098, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 422, + "percentage": 72 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 168, + "percentage": 28 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 3.6419753086419755, + "ok": 3.6419753086419755, + "ko": 0 + } +} + } +} + +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/theme.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/theme.js new file mode 100644 index 0000000..b95a7b3 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/theme.js @@ -0,0 +1,127 @@ +/* + * Copyright 2011-2022 Gatling Corp + * + * Licensed under the Gatling Highcharts License + */ +Highcharts.theme = { + chart: { + backgroundColor: '#f7f7f7', + borderWidth: 0, + borderRadius: 8, + plotBackgroundColor: null, + plotShadow: false, + plotBorderWidth: 0 + }, + xAxis: { + gridLineWidth: 0, + lineColor: '#666', + tickColor: '#666', + labels: { + style: { + color: '#666' + } + }, + title: { + style: { + color: '#666' + } + } + }, + yAxis: { + alternateGridColor: null, + minorTickInterval: null, + gridLineColor: '#999', + lineWidth: 0, + tickWidth: 0, + labels: { + style: { + color: '#666', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#666', + font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + labels: { + style: { + color: '#CCC' + } + }, + + + rangeSelector: { + buttonTheme: { + fill: '#cfc9c6', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#b2b2a9' + }, + states: { + hover: { + fill: '#92918C', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#8b897d' + } + }, + select: { + fill: '#E37400', + stroke: '#000000', + style: { + color: '#FFF' + } + } + } + }, + inputStyle: { + backgroundColor: '#333', + color: 'silver' + }, + labelStyle: { + color: '#8b897d' + } + }, + + navigator: { + handles: { + backgroundColor: '#f7f7f7', + borderColor: '#92918C' + }, + outlineColor: '#92918C', + outlineWidth: 1, + maskFill: 'rgba(146, 145, 140, 0.5)', + series: { + color: '#5E7BE2', + lineColor: '#5E7BE2' + } + }, + + scrollbar: { + buttonBackgroundColor: '#f7f7f7', + buttonBorderWidth: 1, + buttonBorderColor: '#92918C', + buttonArrowColor: '#92918C', + buttonBorderRadius: 2, + + barBorderWidth: 1, + barBorderRadius: 0, + barBackgroundColor: '#92918C', + barBorderColor: '#92918C', + + rifleColor: '#92918C', + + trackBackgroundColor: '#b0b0a8', + trackBorderWidth: 1, + trackBorderColor: '#b0b0a8' + } +}; + +Highcharts.setOptions(Highcharts.theme); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/unpack.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/unpack.js new file mode 100644 index 0000000..883c33e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/js/unpack.js @@ -0,0 +1,38 @@ +'use strict'; + +var unpack = function (array) { + var findNbSeries = function (array) { + var currentPlotPack; + var length = array.length; + + for (var i = 0; i < length; i++) { + currentPlotPack = array[i][1]; + if(currentPlotPack !== null) { + return currentPlotPack.length; + } + } + return 0; + }; + + var i, j; + var nbPlots = array.length; + var nbSeries = findNbSeries(array); + + // Prepare unpacked array + var unpackedArray = new Array(nbSeries); + + for (i = 0; i < nbSeries; i++) { + unpackedArray[i] = new Array(nbPlots); + } + + // Unpack the array + for (i = 0; i < nbPlots; i++) { + var timestamp = array[i][0]; + var values = array[i][1]; + for (j = 0; j < nbSeries; j++) { + unpackedArray[j][i] = [timestamp * 1000, values === null ? null : values[j]]; + } + } + + return unpackedArray; +}; diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-0-693933696.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-0-693933696.html new file mode 100644 index 0000000..fb769dd --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-0-693933696.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_0 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-1-693933697.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-1-693933697.html new file mode 100644 index 0000000..b9dcd86 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-1-693933697.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_1 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-10-37108175.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-10-37108175.html new file mode 100644 index 0000000..23d1017 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-10-37108175.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_10 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-11-37108176.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-11-37108176.html new file mode 100644 index 0000000..1222bd6 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-11-37108176.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_11 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-12-37108177.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-12-37108177.html new file mode 100644 index 0000000..a8a8313 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-12-37108177.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_12 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-14-37108179.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-14-37108179.html new file mode 100644 index 0000000..e505e82 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-14-37108179.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_14 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-15-37108180.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-15-37108180.html new file mode 100644 index 0000000..735fbd0 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-15-37108180.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_15 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-16-37108181.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-16-37108181.html new file mode 100644 index 0000000..5100c42 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-16-37108181.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_16 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-17-37108182.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-17-37108182.html new file mode 100644 index 0000000..2ef8c04 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-17-37108182.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_17 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-2-693933698.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-2-693933698.html new file mode 100644 index 0000000..ffdf525 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-2-693933698.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_2 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-3-693933699.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-3-693933699.html new file mode 100644 index 0000000..f6ea16b --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-3-693933699.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_3 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-4-693933700.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-4-693933700.html new file mode 100644 index 0000000..29b3f26 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-4-693933700.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_4 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-5-693933701.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-5-693933701.html new file mode 100644 index 0000000..3c5a7fd --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-5-693933701.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_5 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-6-693933702.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-6-693933702.html new file mode 100644 index 0000000..b4741a7 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-6-693933702.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_6 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-7-693933703.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-7-693933703.html new file mode 100644 index 0000000..fedcbab --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-7-693933703.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_7 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-8-693933704.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-8-693933704.html new file mode 100644 index 0000000..141edd1 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-8-693933704.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_8 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-9-693933705.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-9-693933705.html new file mode 100644 index 0000000..e6c584d --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/req_request-9-693933705.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_9 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/bootstrap.min.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/bootstrap.min.css new file mode 100644 index 0000000..76a2b9b --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/bootstrap.min.css @@ -0,0 +1,27 @@ +.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;} +.clearfix:after{clear:both;} +.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;} +.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);} +.tooltip.top{margin-top:-3px;} +.tooltip.right{margin-left:3px;} +.tooltip.bottom{margin-top:3px;} +.tooltip.left{margin-left:-3px;} +.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;} +.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;} +.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;} +.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;} +.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:750px;padding:1px;background-color:#ffffff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);}.popover.top{margin-top:-10px;} +.popover.right{margin-left:10px;} +.popover.bottom{margin-top:10px;} +.popover.left{margin-left:-10px;} +.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;} +.popover-content{padding:9px 14px;}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0;} +.popover .arrow,.popover .arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid;} +.popover .arrow:after{content:"";z-index:-1;} +.popover.top .arrow{bottom:-10px;left:50%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#ffffff;}.popover.top .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0, 0, 0, 0.25);bottom:-1px;left:-11px;} +.popover.right .arrow{top:50%;left:-10px;margin-top:-10px;border-width:10px 10px 10px 0;border-right-color:#ffffff;}.popover.right .arrow:after{border-width:11px 11px 11px 0;border-right-color:rgba(0, 0, 0, 0.25);bottom:-11px;left:-1px;} +.popover.bottom .arrow{top:-10px;left:50%;margin-left:-10px;border-width:0 10px 10px;border-bottom-color:#ffffff;}.popover.bottom .arrow:after{border-width:0 11px 11px;border-bottom-color:rgba(0, 0, 0, 0.25);top:-1px;left:-11px;} +.popover.left .arrow{top:50%;right:-10px;margin-top:-10px;border-width:10px 0 10px 10px;border-left-color:#ffffff;}.popover.left .arrow:after{border-width:11px 0 11px 11px;border-left-color:rgba(0, 0, 0, 0.25);bottom:-11px;right:-1px;} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/close.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/close.svg new file mode 100644 index 0000000..c161bb9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/executions.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/executions.svg new file mode 100644 index 0000000..84068cd --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/executions.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/expand.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/expand.svg new file mode 100644 index 0000000..f6e75e0 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/expand.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/favicon.ico b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d2d20e116df94a676d4bb18395f0479304aef6a4 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/fullscreen.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/fullscreen.svg new file mode 100644 index 0000000..91f3b27 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/fullscreen.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-dark.svg new file mode 100644 index 0000000..7eb4d51 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-enterprise-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-enterprise-dark.svg new file mode 100644 index 0000000..1127d75 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-enterprise-dark.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-enterprise-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-enterprise-light.svg new file mode 100644 index 0000000..4a6e1de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-enterprise-light.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-light.svg new file mode 100644 index 0000000..f519eef --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/logo-light.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/sort-down.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/sort-down.svg new file mode 100644 index 0000000..db58a09 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/sort-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/sort-up.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/sort-up.svg new file mode 100644 index 0000000..bba9d84 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/sort-up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/sort.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/sort.svg new file mode 100644 index 0000000..43b658e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/sort.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/style.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/style.css new file mode 100644 index 0000000..edc9626 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/10users-2cpus/style/style.css @@ -0,0 +1,1199 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +:root { + --gatling-background-color: #f2f2f2; + --gatling-background-light-color: #f7f7f7; + --gatling-border-color: #dddddd; + --gatling-blue-color: #4a9fe5; + --gatling-dark-blue-color: #24275e; + --gatling-danger-color: #f15b4f; + --gatling-danger-light-color: #f5d1ce; + --gatling-enterprise-color: #6161d6; + --gatling-enterprise-light-color: #c4c4ed; + --gatling-gray-medium-color: #bbb; + --gatling-hover-color: #e6e6e6; + --gatling-hover-background-color: #e6e6e6; + --gatling-light-color: #ffffff; + --gatling-orange-color: #f78557; + --gatling-success-color: #68b65c; + --gatling-text-color: #1f2024; + --gatling-total-color: #ffa900; + + --gatling-border-radius: 2px; + --gatling-spacing-small: 5px; + --gatling-spacing: 10px; + --gatling-spacing-layout: 20px; + + --gatling-font-weight-normal: 400; + --gatling-font-weight-medium: 500; + --gatling-font-weight-bold: 700; + --gatling-font-size-secondary: 12px; + --gatling-font-size-default: 14px; + --gatling-font-size-heading: 16px; + --gatling-font-size-section: 22px; + --gatling-font-size-header: 34px; + + --gatling-media-desktop-large: 1920px; +} + +html[data-theme="dark"] { + --gatling-background-color: #1e2225; + --gatling-background-light-color: #272c30; + --gatling-border-color: #555555; + --gatling-blue-color: #1188ff; + --gatling-dark-blue-color: #17223B; + --gatling-danger-color: #d9534f; + --gatling-danger-light-color: #c9302c; + --gatling-enterprise-color: #b2a2ea; + --gatling-enterprise-light-color: #343479; + --gatling-gray-medium-color: #999; + --gatling-hover-color: #30363b; + --gatling-hover-background-color: #2c2c2c; + --gatling-light-color: #394046; + --gatling-orange-color: #fe8e5f; + --gatling-success-color: #5cb85c; + --gatling-text-color: #dee2e6; + --gatling-total-color: #ffa900; +} + +* { + min-height: 0; + min-width: 0; +} + +html, +body { + height: 100%; + width: 100%; +} + +body { + color: var(--gatling-text-color); + font-family: arial; + font-size: var(--gatling-font-size-secondary); + margin: 0; +} + +.app-container { + display: flex; + flex-direction: column; + + height: 100%; + width: 100%; +} + +.head { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + + flex: 1; + + background-color: var(--gatling-light-color); + border-bottom: 1px solid var(--gatling-border-color); + min-height: 69px; + padding: 0 var(--gatling-spacing-layout); +} + +.head .spacer { + flex-grow: 1; +} + +.head .theme-toggle { + margin-left: 20px; + background: none; + color: var(--gatling-text-color); + border: none; +} + +.head .theme-toggle:hover { + color: var(--gatling-gray-medium-color); + cursor: pointer; +} + +body .toggle-dark, body .toggle-light { + display: block; +} + +[data-theme="dark"] body .toggle-dark { + display: none; +} + +[data-theme="light"] body .toggle-light { + display: none; +} + +[data-theme="dark"] body .logo-enterprise-light { + display: none; +} + +[data-theme="light"] body .logo-enterprise-dark { + display: none; +} + +.gatling-open-source { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + gap: var(--gatling-spacing-layout); +} + +.gatling-documentation { + display: flex; + align-items: center; + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-orange-color); + border: 1px solid var(--gatling-orange-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 23px; + + font-size: var(--gatling-font-size-default); +} + +.gatling-documentation:hover { + background-color: var(--gatling-orange-color); + color: var(--gatling-light-color); +} + +.gatling-logo { + height: 35px; +} + +.gatling-logo img { + height: 100%; +} + +[data-theme="dark"] .gatling-logo-light { + display: none; +} + +[data-theme="light"] .gatling-logo-dark { + display: none; +} + +.container { + display: flex; + align-items: stretch; + height: 100%; +} + +.nav { + min-width: 210px; + width: 210px; + max-height: calc(100vh - var(--gatling-spacing-layout) - var(--gatling-spacing-layout)); + background: var(--gatling-light-color); + border-right: 1px solid var(--gatling-border-color); + overflow-y: auto; +} + +@media print { + .nav { + display: none; + } +} + +@media screen and (min-width: 1920px) { + .nav { + min-width: 310px; + width: 310px; + } +} + +.nav ul { + display: flex; + flex-direction: column; + + padding: 0; + margin: 0; +} + +.nav li { + display: flex; + list-style: none; + width: 100%; + padding: 0; +} + +.nav .item { + display: inline-flex; + align-items: center; + margin: 0 auto; + white-space: nowrap; + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + margin: 0; + width: 100%; +} + +.nav .item .nav-label { + padding: var(--gatling-spacing) var(--gatling-spacing-layout); +} + +.nav .item:hover { + background-color: var(--gatling-hover-color); +} + +.nav .on .item { + background-color: var(--gatling-orange-color); +} + +.nav .on .item span { + color: var(--gatling-light-color); +} + +.cadre { + width: 100%; + height: 100%; + overflow-y: scroll; + scroll-behavior: smooth; +} + +@media print { + .cadre { + overflow-y: unset; + } +} + +.frise { + position: absolute; + top: 60px; + z-index: -1; + + background-color: var(--gatling-background-color); + height: 530px; +} + +.global { + height: 650px +} + +a { + text-decoration: none; +} + +a:hover { + color: var(--gatling-hover-color); +} + +img { + border: 0; +} + +h1 { + color: var(--gatling-dark-blue-color); + font-size: var(--gatling-font-size-section); + font-weight: var(--gatling-font-weight-medium); + text-align: center; + margin: 0; +} + +h1 span { + color: var(--gatling-hover-color); +} + +.enterprise { + display: flex; + align-items: center; + justify-content: center; + gap: var(--gatling-spacing-small); + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-enterprise-color); + color: var(--gatling-enterprise-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 25px; +} + +.enterprise:hover { + background-color: var(--gatling-hover-color); + color: var(--gatling-enterprise-color); +} + +.enterprise img { + display: block; + width: 160px; +} + +.simulation-card { + display: flex; + flex-direction: column; + align-self: stretch; + flex: 1; + gap: var(--gatling-spacing-layout); + max-height: 375px; +} + +#simulation-information { + flex: 1; +} + +.simulation-version-information { + display: flex; + flex-direction: column; + + gap: var(--gatling-spacing); + font-size: var(--gatling-font-size-default); + + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing); +} + +.simulation-information-container { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing); +} + +.withTooltip .popover-title { + display: none; +} + +.popover-content p { + margin: 0; +} + +html[data-theme="dark"] div.popover { + background-color: var(--gatling-light-color); + border-bottom: none; +} + +html[data-theme="dark"] div.popover.right .arrow { + border-right-color: var(--gatling-light-color); +} + +.ellipsed-name { + display: block; + + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.simulation-information-item { + display: flex; + flex-direction: row; + align-items: flex-start; + gap: var(--gatling-spacing-small); +} + +.simulation-information-item.description { + flex-direction: column; +} + +.simulation-information-label { + display: inline-block; + font-weight: var(--gatling-font-weight-bold); + min-width: fit-content; +} + +.simulation-information-title { + display: block; + text-align: center; + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + width: 100%; +} + +.simulation-tooltip span { + display: inline-block; + word-wrap: break-word; + overflow: hidden; + text-overflow: ellipsis; +} + +.content { + display: flex; + flex-direction: column; +} + +.content-in { + width: 100%; + height: 100%; + + overflow-x: scroll; +} + +html[data-theme="dark"] .content-in { + background-color: var(--gatling-background-color); +} + +@media print { + .content-in { + overflow-x: unset; + } +} + +.container-article { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + min-width: 1050px; + width: 1050px; + margin: 0 auto; + padding: var(--gatling-spacing-layout); + box-sizing: border-box; +} + +@media screen and (min-width: 1920px) { + .container-article { + min-width: 1350px; + width: 1350px; + } + + #responses * .highcharts-tracker { + transform: translate(400px, 70px); + } +} + +.content-header { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + background-color: var(--gatling-background-light-color); + border-bottom: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-layout) var(--gatling-spacing-layout) 0; +} + +.onglet { + font-size: var(--gatling-font-size-header); + font-weight: var(--gatling-font-weight-medium); + text-align: center; +} + +.sous-menu { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.sous-menu-spacer { + display: flex; + align-items: center; + flex-direction: row; +} + +.sous-menu .item { + margin-bottom: -1px; +} + +.sous-menu a { + display: block; + + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-normal); + padding: var(--gatling-spacing-small) var(--gatling-spacing) var(--gatling-spacing); + border-bottom: 2px solid transparent; + color: var(--gatling-text-color); + text-align: center; + width: 100px; +} + +.sous-menu a:hover { + border-bottom-color: var(--gatling-text-color); +} + +.sous-menu .ouvert a { + border-bottom-color: var(--gatling-orange-color); + font-weight: var(--gatling-font-weight-bold); +} + +.article { + position: relative; + + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); +} + +.infos { + width: 340px; + color: var(--gatling-light-color); +} + +.infos-title { + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-bottom: 0; + border-top-left-radius: var(--gatling-border-radius); + border-top-right-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.info { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + height: 100%; + margin: 0; +} + +.info table { + margin: auto; + padding-right: 15px; +} + +.alert-danger { + background-color: var(--gatling-danger-light-color); + border: 1px solid var(--gatling-danger-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-layout); + font-weight: var(--gatling-font-weight-bold); +} + +.infos h2 { + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + height: 19px; + margin: 0; + padding: 3.5px 0 0 35px; +} + +.infos .first::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.infos .second::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .infos .first::before, +html[data-theme="dark"] .infos .second::before { + filter: invert(0.9); +} + +.infos th { + text-align: center; +} + +.infos td { + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing-small); + -webkit-border-radius: var(--gatling-border-radius); + -moz-border-radius: var(--gatling-border-radius); + -ms-border-radius: var(--gatling-border-radius); + -o-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + text-align: right; + width: 50px; +} + +.infos .title { + width: 120px; +} + +.infos .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); +} + +.infos .total { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); +} + +.infos .ko { + background-color: var(--gatling-danger-color); + -webkit-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); +} + +.schema-container { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--gatling-spacing-layout); +} + +.schema { + background: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); +} + +.ranges { + height: 375px; + width: 500px; +} + +.ranges-large { + height: 375px; + width: 530px; +} + +.geant { + height: 362px; +} + +.extensible-geant { + width: 100%; +} + +.polar { + height: 375px; + width: 230px; +} + +.chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .highcharts-background { + fill: var(--gatling-background-light-color); +} + +html[data-theme="dark"] .highcharts-button-normal rect { + fill: var(--gatling-background-color) !important; +} + +html[data-theme="dark"] .highcharts-button-disabled rect { + fill: var(--gatling-background-light-color) !important; +} + +html[data-theme="dark"] .highcharts-button-pressed rect { + fill: var(--gatling-orange-color) !important; +} + +html[data-theme="dark"] .highcharts-axis text, +html[data-theme="dark"] .highcharts-axis-labels text, +html[data-theme="dark"] .highcharts-button text, +html[data-theme="dark"] .highcharts-legend-item text, +html[data-theme="dark"] .highcharts-range-selector-buttons text { + fill: var(--gatling-text-color) !important; +} + +.statistics { + display: flex; + flex-direction: column; + + background-color: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border-collapse: collapse; + color: var(--gatling-text-color); + max-height: 100%; +} + +.statistics .title { + display: flex; + text-align: center; + justify-content: space-between; + + min-height: 49.5px; + box-sizing: border-box; + + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing); +} + +.title_base { + display: flex; + align-items: center; + text-align: left; + user-select: none; +} + +.title_base_stats { + color: var(--gatling-text-color); + margin-right: 20px; +} + +.toggle-table { + position: relative; + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: 25px; + width: 40px; + height: 20px; + margin: 0 var(--gatling-spacing-small); +} + +.toggle-table::before { + position: absolute; + top: calc(50% - 9px); + left: 1px; + content: ""; + width: 50%; + height: 18px; + border-radius: 50%; + background-color: var(--gatling-text-color); +} + +.toggle-table.off::before { + left: unset; + right: 1px; +} + +.title_expanded { + cursor: pointer; + color: var(--gatling-text-color); +} + +.expand-table, +.collapse-table { + font-size: var(--gatling-font-size-secondary); + font-weight: var(--gatling-font-weight-normal); +} + +.title_expanded span.expand-table { + color: var(--gatling-gray-medium-color); +} + +.title_collapsed { + cursor: pointer; + color: var(--gatling-text-color); +} + +.title_collapsed span.collapse-table { + color: var(--gatling-gray-medium-color); +} + +#container_statistics_head { + position: sticky; + top: -1px; + + background: var(--gatling-background-light-color); + margin-top: -1px; + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); +} + +#container_statistics_body { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + margin-top: -1px; + padding: 0px var(--gatling-spacing-small) var(--gatling-spacing-small) var(--gatling-spacing-small); +} + +#container_errors { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); + margin-top: -1px; +} + +#container_assertions { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small); + margin-top: -1px; +} + +.statistics-in { + border-spacing: var(--gatling-spacing-small); + border-collapse: collapse; + margin: 0; +} + +.statistics .scrollable { + max-height: 100%; + overflow-y: auto; +} + +#statistics_table_container .statistics .scrollable { + max-height: 785px; +} + +.statistics-in a { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .header { + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small); +} + +.sortable { + cursor: pointer; +} + +.sortable span::after { + content: ''; + display: inline-block; + margin-left: 5px; + vertical-align: middle; + width: 12px; + height: 12px; + background: url('sort.svg'); + background-size: contain; +} + +.sorted-up span::after { + background: url('sort-up.svg'); + background-size: contain; +} + +.sorted-down span::after { + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .sortable span::after { + filter: invert(0.9); +} + +.executions::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.response-time::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .executions::before, +html[data-theme="dark"] .response-time::before { + filter: invert(0.9); +} + +.statistics-in td { + background-color: var(--gatling-light-color); + border: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-small); + min-width: 50px; +} + +.statistics-in .col-1 { + width: 175px; + max-width: 175px; +} +@media screen and (min-width: 1200px) { + .statistics-in .col-1 { + width: 50%; + } +} + +.expandable-container { + display: flex; + flex-direction: row; + box-sizing: border-box; + max-width: 100%; +} + +.statistics-in .value { + text-align: right; + width: 50px; +} + +.statistics-in .total { + color: var(--gatling-text-color); +} + +.statistics-in .col-2 { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .error-col-1 { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); +} + +.statistics-in .error-col-2 { + text-align: center; +} + +.statistics-in .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .ko { + background-color: var(--gatling-danger-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .expand-button { + padding-left: var(--gatling-spacing); + cursor: pointer; +} + +.expand-button.hidden { + background: none; + cursor: default; +} + +.statistics-button { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-small) var(--gatling-spacing); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); +} + +#statistics_full_screen{ + padding: var(--gatling-spacing-small); +} + +#statistics_full_screen > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] #statistics_full_screen > img { + filter: invert(0.9); +} + +#statistics_full_screen:disabled { + display: none; +} + +.statistics-button:hover:not(:disabled) { + cursor: pointer; + background-color: var(--gatling-hover-color); +} + +.statistics-in .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('expand.svg'); + background-size: contain; +} + +.statistics-in .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .statistics-in .expand-button.collapse, +html[data-theme="dark"] .statistics-in .expand-button.expand { + filter: invert(0.9); +} + +.nav .expand-button { + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.nav .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('expand.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +.nav .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('sort-down.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +html[data-theme="dark"] .nav .expand-button.expand, +html[data-theme="dark"] .nav .expand-button.collapse { + filter: invert(0.9); +} + +.right { + display: flex; + align-items: center; + gap: var(--gatling-spacing); + float: right; + font-size: var(--gatling-font-size-default); +} + +.withTooltip { + outline: none; +} + +.withTooltip:hover { + text-decoration: none; +} + +.withTooltip .tooltipContent { + position: absolute; + z-index: 10; + display: none; + + background: var(--gatling-orange-color); + -webkit-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + -moz-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); + margin-top: -5px; + padding: var(--gatling-spacing-small); +} + +.withTooltip:hover .tooltipContent { + display: inline; +} + +.button-modal { + padding: var(--gatling-spacing-small); +} + +.button-modal > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] .button-modal > img { + filter: invert(0.9); +} + +.statistics-table-modal { + background-color: var(--gatling-background-color); + height: calc(100% - 60px); + width: calc(100% - 60px); + border-radius: var(--gatling-border-radius); +} + +.statistics-table-modal::backdrop { + position: fixed; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + + background-color: rgba(100, 100, 100, 0.9); +} + +.statistics-table-modal-container { + display: flex; + flex-direction: column; + + width: 100%; + height: calc(100% - 35px); + overflow-x: auto; +} + +.button-modal { + cursor: pointer; + + height: 25px; + width: 25px; + + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); +} + +.button-modal:hover { + background-color: var(--gatling-background-color); +} + +.statistics-table-modal-header { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-bottom: var(--gatling-spacing); +} + +.statistics-table-modal-content { + flex: 1; + overflow-y: auto; + min-width: 1050px; +} + +.statistics-table-modal-footer { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-top: var(--gatling-spacing); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/index.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/index.html new file mode 100644 index 0000000..24d2bbc --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/index.html @@ -0,0 +1,1154 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - Global Information + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    +
    +
    + Gatling Version + + Version: + 3.10.5 + + + Released: + 2024-03-22 + +
    +
    + Run Information +
    + + Date: + 2024-04-25 18:15:15 GMT + + + Duration: + 3m 27s + + + Description: + Load testing (25 users/sec in 60sec - machine 2 cpu) + + +
    +
    +
    +
    + +
    + +
    + +
    +
    +
    +
    +
    + + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/all_sessions.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/all_sessions.js new file mode 100644 index 0000000..d62a01d --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/all_sessions.js @@ -0,0 +1,11 @@ +allUsersData = { + +color: '#FFA900', +name: 'Active Users', +data: [ + [1714068916000,26],[1714068917000,52],[1714068918000,71],[1714068919000,97],[1714068920000,121],[1714068921000,146],[1714068922000,169],[1714068923000,200],[1714068924000,217],[1714068925000,236],[1714068926000,256],[1714068927000,281],[1714068928000,306],[1714068929000,334],[1714068930000,358],[1714068931000,373],[1714068932000,392],[1714068933000,410],[1714068934000,430],[1714068935000,451],[1714068936000,480],[1714068937000,504],[1714068938000,529],[1714068939000,551],[1714068940000,574],[1714068941000,602],[1714068942000,634],[1714068943000,661],[1714068944000,689],[1714068945000,712],[1714068946000,729],[1714068947000,750],[1714068948000,768],[1714068949000,790],[1714068950000,810],[1714068951000,838],[1714068952000,860],[1714068953000,884],[1714068954000,908],[1714068955000,933],[1714068956000,955],[1714068957000,977],[1714068958000,1015],[1714068959000,1039],[1714068960000,1065],[1714068961000,1087],[1714068962000,1119],[1714068963000,1149],[1714068964000,1174],[1714068965000,1193],[1714068966000,1213],[1714068967000,1240],[1714068968000,1270],[1714068969000,1291],[1714068970000,1324],[1714068971000,1347],[1714068972000,1366],[1714068973000,1392],[1714068974000,1416],[1714068975000,1440],[1714068976000,1440],[1714068977000,1440],[1714068978000,1440],[1714068979000,1440],[1714068980000,1440],[1714068981000,1440],[1714068982000,1440],[1714068983000,1440],[1714068984000,1440],[1714068985000,1440],[1714068986000,1440],[1714068987000,1440],[1714068988000,1440],[1714068989000,1440],[1714068990000,1440],[1714068991000,1440],[1714068992000,1440],[1714068993000,1440],[1714068994000,1440],[1714068995000,1440],[1714068996000,1440],[1714068997000,1440],[1714068998000,1440],[1714068999000,1440],[1714069000000,1440],[1714069001000,1440],[1714069002000,1440],[1714069003000,1440],[1714069004000,1439],[1714069005000,1439],[1714069006000,1439],[1714069007000,1439],[1714069008000,1439],[1714069009000,1439],[1714069010000,1439],[1714069011000,1438],[1714069012000,1438],[1714069013000,1437],[1714069014000,1437],[1714069015000,1437],[1714069016000,1437],[1714069017000,1437],[1714069018000,1437],[1714069019000,1437],[1714069020000,1435],[1714069021000,1435],[1714069022000,1435],[1714069023000,1435],[1714069024000,1434],[1714069025000,1431],[1714069026000,1431],[1714069027000,1431],[1714069028000,1429],[1714069029000,1426],[1714069030000,1425],[1714069031000,1421],[1714069032000,1414],[1714069033000,1411],[1714069034000,1407],[1714069035000,1402],[1714069036000,1396],[1714069037000,1388],[1714069038000,1381],[1714069039000,1375],[1714069040000,1370],[1714069041000,1364],[1714069042000,1359],[1714069043000,1344],[1714069044000,1339],[1714069045000,1328],[1714069046000,1315],[1714069047000,1305],[1714069048000,1288],[1714069049000,1284],[1714069050000,1277],[1714069051000,1268],[1714069052000,1258],[1714069053000,1241],[1714069054000,1227],[1714069055000,1194],[1714069056000,1173],[1714069057000,1152],[1714069058000,1114],[1714069059000,1090],[1714069060000,1062],[1714069061000,1025],[1714069062000,994],[1714069063000,952],[1714069064000,924],[1714069065000,895],[1714069066000,855],[1714069067000,815],[1714069068000,787],[1714069069000,764],[1714069070000,736],[1714069071000,712],[1714069072000,680],[1714069073000,653],[1714069074000,636],[1714069075000,610],[1714069076000,584],[1714069077000,560],[1714069078000,532],[1714069079000,519],[1714069080000,514],[1714069081000,510],[1714069082000,509],[1714069083000,509],[1714069084000,509],[1714069085000,509],[1714069086000,509],[1714069087000,509],[1714069088000,461],[1714069089000,409],[1714069090000,402],[1714069091000,375],[1714069092000,375],[1714069093000,375],[1714069094000,375],[1714069095000,372],[1714069096000,372],[1714069097000,359],[1714069098000,325],[1714069099000,309],[1714069100000,302],[1714069101000,295],[1714069102000,295],[1714069103000,295],[1714069104000,284],[1714069105000,261],[1714069106000,231],[1714069107000,214],[1714069108000,176],[1714069109000,129],[1714069110000,85],[1714069111000,54],[1714069112000,45],[1714069113000,43],[1714069114000,34],[1714069115000,18],[1714069116000,6],[1714069117000,4],[1714069118000,1],[1714069119000,1],[1714069120000,1],[1714069121000,1],[1714069122000,1],[1714069123000,1] +], +tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 } + , zIndex: 20 + , yAxis: 1 +}; \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/assertions.xml b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/assertions.xml new file mode 100644 index 0000000..c562e00 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/assertions.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/bootstrap.min.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/bootstrap.min.js new file mode 100644 index 0000000..ea41042 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/** +* Bootstrap.js by @fat & @mdo +* plugins: bootstrap-tooltip.js, bootstrap-popover.js +* Copyright 2012 Twitter, Inc. +* http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +!function(a){var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this)):this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f+"."+this.type,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.offset(g).addClass(f).addClass("in")}},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).detach()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.detach()})}var b=this,c=this.tip();return c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.detach(),this},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);c[c.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'
    ',trigger:"hover",title:"",delay:0,html:!1}}(window.jQuery),!function(a){var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content > *")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'

    '})}(window.jQuery) \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/ellipsis.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/ellipsis.js new file mode 100644 index 0000000..781d0de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/ellipsis.js @@ -0,0 +1,26 @@ +function parentId(name) { + return "parent-" + name; +} + +function isEllipsed(name) { + const child = document.getElementById(name); + const parent = document.getElementById(parentId(name)); + const emptyData = parent.getAttribute("data-content") === ""; + const hasOverflow = child.clientWidth < child.scrollWidth; + + if (hasOverflow) { + if (emptyData) { + parent.setAttribute("data-content", name); + } + } else { + if (!emptyData) { + parent.setAttribute("data-content", ""); + } + } +} + +function ellipsedLabel ({ name, parentClass = "", childClass = "" }) { + const child = "" + name + ""; + + return "" + child + ""; +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/gatling.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/gatling.js new file mode 100644 index 0000000..5b9e992 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/gatling.js @@ -0,0 +1,137 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +(function ($) { + $.fn.expandable = function () { + var scope = this; + + this.find('.expand-button:not([class*=hidden])').addClass('collapse').on('click', function () { + var $this = $(this); + + if ($this.hasClass('expand')) + $this.expand(scope); + else + $this.collapse(scope); + }); + + this.find('.expand-all-button').on('click', function () { + $(this).expandAll(scope); + }); + + this.find('.collapse-all-button').on('click', function () { + $(this).collapseAll(scope); + }); + + this.collapseAll(this); + + return this; + }; + + $.fn.expand = function (scope, recursive) { + return this.each(function () { + var $this = $(this); + + if (recursive) { + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + } + + if ($this.hasClass('expand')) { + $('*[data-parent=' + $this.attr('id') + ']').toggle(true); + $this.toggleClass('expand').toggleClass('collapse'); + } + }); + }; + + $.fn.expandAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.expand').expand(scope, true); + $('*[data-parent=ROOT]').find('.expand-button.collapse').expand(scope, true); + }; + + $.fn.collapse = function (scope) { + return this.each(function () { + var $this = $(this); + + scope.find('*[data-parent=' + $this.attr('id') + '] .expand-button.collapse').collapse(scope); + scope.find('*[data-parent=' + $this.attr('id') + ']').toggle(false); + $this.toggleClass('expand').toggleClass('collapse'); + }); + }; + + $.fn.collapseAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.collapse').collapse(scope); + }; + + $.fn.sortable = function (target) { + var table = this; + + this.find('thead .sortable').on('click', function () { + var $this = $(this); + + if ($this.hasClass('sorted-down')) { + var desc = false; + var style = 'sorted-up'; + } + else { + var desc = true; + var style = 'sorted-down'; + } + + $(target).sortTable($this.attr('id'), desc); + + table.find('thead .sortable').removeClass('sorted-up sorted-down'); + $this.addClass(style); + + return false; + }); + + return this; + }; + + $.fn.sortTable = function (col, desc) { + function getValue(line) { + var cell = $(line).find('.' + col); + + if (cell.hasClass('value')) + var value = cell.text(); + else + var value = cell.find('.value').text(); + + return parseFloat(value); + } + + function sortLines (lines, group) { + var notErrorTable = col.search("error") == -1; + var linesToSort = notErrorTable ? lines.filter('*[data-parent=' + group + ']') : lines; + + var sortedLines = linesToSort.sort(function (a, b) { + return desc ? getValue(b) - getValue(a): getValue(a) - getValue(b); + }).toArray(); + + var result = []; + $.each(sortedLines, function (i, line) { + result.push(line); + if (notErrorTable) + result = result.concat(sortLines(lines, $(line).attr('id'))); + }); + + return result; + } + + this.find('tbody').append(sortLines(this.find('tbody tr').detach(), 'ROOT')); + + return this; + }; +})(jQuery); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/global_stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/global_stats.json new file mode 100644 index 0000000..ecd4c45 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/global_stats.json @@ -0,0 +1,77 @@ +{ + "name": "All Requests", + "numberOfRequests": { + "total": 23655, + "ok": 22047, + "ko": 1608 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 7563 + }, + "maxResponseTime": { + "total": 60094, + "ok": 59563, + "ko": 60094 + }, + "meanResponseTime": { + "total": 5157, + "ok": 3073, + "ko": 33726 + }, + "standardDeviation": { + "total": 13172, + "ok": 8765, + "ko": 24969 + }, + "percentiles1": { + "total": 128, + "ok": 125, + "ko": 10008 + }, + "percentiles2": { + "total": 1139, + "ok": 1096, + "ko": 60002 + }, + "percentiles3": { + "total": 40980, + "ok": 17282, + "ko": 60006 + }, + "percentiles4": { + "total": 60003, + "ok": 49342, + "ko": 60010 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 14299, + "percentage": 60 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 4006, + "percentage": 17 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 3742, + "percentage": 16 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 1608, + "percentage": 7 +}, + "meanNumberOfRequestsPerSecond": { + "total": 113.72596153846153, + "ok": 105.9951923076923, + "ko": 7.730769230769231 + } +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/highcharts-more.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/highcharts-more.js new file mode 100644 index 0000000..2d78893 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/highcharts-more.js @@ -0,0 +1,60 @@ +/* + Highcharts JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(x){"object"===typeof module&&module.exports?module.exports=x:x(Highcharts)})(function(x){(function(b){function r(b,a,d){this.init(b,a,d)}var t=b.each,w=b.extend,m=b.merge,q=b.splat;w(r.prototype,{init:function(b,a,d){var f=this,h=f.defaultOptions;f.chart=a;f.options=b=m(h,a.angular?{background:{}}:void 0,b);(b=b.background)&&t([].concat(q(b)).reverse(),function(a){var c,h=d.userOptions;c=m(f.defaultBackgroundOptions,a);a.backgroundColor&&(c.backgroundColor=a.backgroundColor);c.color=c.backgroundColor; +d.options.plotBands.unshift(c);h.plotBands=h.plotBands||[];h.plotBands!==d.options.plotBands&&h.plotBands.unshift(c)})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{className:"highcharts-pane",shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}});b.Pane=r})(x);(function(b){var r=b.CenteredSeriesMixin, +t=b.each,w=b.extend,m=b.map,q=b.merge,e=b.noop,a=b.Pane,d=b.pick,f=b.pInt,h=b.splat,u=b.wrap,c,l,k=b.Axis.prototype;b=b.Tick.prototype;c={getOffset:e,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:e,setCategories:e,setTitle:e};l={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2}, +defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(a){a=this.options=q(this.defaultOptions,this.defaultRadialOptions,a);a.plotBands||(a.plotBands=[])},getOffset:function(){k.getOffset.call(this);this.chart.axisOffset[this.side]=0;this.center=this.pane.center= +r.getCenter.call(this.pane)},getLinePath:function(a,g){a=this.center;var c=this.chart,f=d(g,a[2]/2-this.offset);this.isCircular||void 0!==g?g=this.chart.renderer.symbols.arc(this.left+a[0],this.top+a[1],f,f,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}):(g=this.postTranslate(this.angleRad,f),g=["M",a[0]+c.plotLeft,a[1]+c.plotTop,"L",g.x,g.y]);return g},setAxisTranslation:function(){k.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/ +(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===d(this.userMax,this.options.max)&&this.endAngleRad-this.startAngleRad===2*Math.PI)this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){k.setAxisSize.call(this);this.isRadial&&(this.center=this.pane.center=r.getCenter.call(this.pane),this.isCircular&& +(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*d(this.sector,1)/2)},getPosition:function(a,g){return this.postTranslate(this.isCircular?this.translate(a):this.angleRad,d(this.isCircular?g:this.translate(a),this.center[2]/2)-this.offset)},postTranslate:function(a,g){var d=this.chart,c=this.center;a=this.startAngleRad+a;return{x:d.plotLeft+c[0]+Math.cos(a)*g,y:d.plotTop+c[1]+Math.sin(a)*g}},getPlotBandPath:function(a,g,c){var h=this.center,p=this.startAngleRad, +k=h[2]/2,n=[d(c.outerRadius,"100%"),c.innerRadius,d(c.thickness,10)],b=Math.min(this.offset,0),l=/%$/,u,e=this.isCircular;"polygon"===this.options.gridLineInterpolation?h=this.getPlotLinePath(a).concat(this.getPlotLinePath(g,!0)):(a=Math.max(a,this.min),g=Math.min(g,this.max),e||(n[0]=this.translate(a),n[1]=this.translate(g)),n=m(n,function(a){l.test(a)&&(a=f(a,10)*k/100);return a}),"circle"!==c.shape&&e?(a=p+this.translate(a),g=p+this.translate(g)):(a=-Math.PI/2,g=1.5*Math.PI,u=!0),n[0]-=b,n[2]-= +b,h=this.chart.renderer.symbols.arc(this.left+h[0],this.top+h[1],n[0],n[0],{start:Math.min(a,g),end:Math.max(a,g),innerR:d(n[1],n[0]-n[2]),open:u}));return h},getPlotLinePath:function(a,g){var d=this,c=d.center,f=d.chart,h=d.getPosition(a),k,b,p;d.isCircular?p=["M",c[0]+f.plotLeft,c[1]+f.plotTop,"L",h.x,h.y]:"circle"===d.options.gridLineInterpolation?(a=d.translate(a))&&(p=d.getLinePath(0,a)):(t(f.xAxis,function(a){a.pane===d.pane&&(k=a)}),p=[],a=d.translate(a),c=k.tickPositions,k.autoConnect&&(c= +c.concat([c[0]])),g&&(c=[].concat(c).reverse()),t(c,function(g,d){b=k.getPosition(g,a);p.push(d?"L":"M",b.x,b.y)}));return p},getTitlePosition:function(){var a=this.center,g=this.chart,d=this.options.title;return{x:g.plotLeft+a[0]+(d.x||0),y:g.plotTop+a[1]-{high:.5,middle:.25,low:0}[d.align]*a[2]+(d.y||0)}}};u(k,"init",function(f,g,k){var b=g.angular,p=g.polar,n=k.isX,u=b&&n,e,A=g.options,m=k.pane||0;if(b){if(w(this,u?c:l),e=!n)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else p&&(w(this, +l),this.defaultRadialOptions=(e=n)?this.defaultRadialXOptions:q(this.defaultYAxisOptions,this.defaultRadialYOptions));b||p?(this.isRadial=!0,g.inverted=!1,A.chart.zoomType=null):this.isRadial=!1;f.call(this,g,k);u||!b&&!p||(f=this.options,g.panes||(g.panes=[]),this.pane=g=g.panes[m]=g.panes[m]||new a(h(A.pane)[m],g,this),g=g.options,this.angleRad=(f.angle||0)*Math.PI/180,this.startAngleRad=(g.startAngle-90)*Math.PI/180,this.endAngleRad=(d(g.endAngle,g.startAngle+360)-90)*Math.PI/180,this.offset=f.offset|| +0,this.isCircular=e)});u(k,"autoLabelAlign",function(a){if(!this.isRadial)return a.apply(this,[].slice.call(arguments,1))});u(b,"getPosition",function(a,d,c,f,h){var g=this.axis;return g.getPosition?g.getPosition(c):a.call(this,d,c,f,h)});u(b,"getLabelPosition",function(a,g,c,f,h,k,b,l,u){var n=this.axis,p=k.y,e=20,y=k.align,v=(n.translate(this.pos)+n.startAngleRad+Math.PI/2)/Math.PI*180%360;n.isRadial?(a=n.getPosition(this.pos,n.center[2]/2+d(k.distance,-25)),"auto"===k.rotation?f.attr({rotation:v}): +null===p&&(p=n.chart.renderer.fontMetrics(f.styles.fontSize).b-f.getBBox().height/2),null===y&&(n.isCircular?(this.label.getBBox().width>n.len*n.tickInterval/(n.max-n.min)&&(e=0),y=v>e&&v<180-e?"left":v>180+e&&v<360-e?"right":"center"):y="center",f.attr({align:y})),a.x+=k.x,a.y+=p):a=a.call(this,g,c,f,h,k,b,l,u);return a});u(b,"getMarkPath",function(a,d,c,f,h,k,b){var g=this.axis;g.isRadial?(a=g.getPosition(this.pos,g.center[2]/2+f),d=["M",d,c,"L",a.x,a.y]):d=a.call(this,d,c,f,h,k,b);return d})})(x); +(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.Series,q=b.seriesType,e=b.seriesTypes;q("arearange","area",{lineWidth:1,marker:null,threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{series.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},states:{hover:{halo:!1}}},{pointArrayMap:["low","high"],dataLabelCollections:["dataLabel", +"dataLabelUpper"],toYData:function(a){return[a.low,a.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(a){var d=this.chart,f=this.xAxis.postTranslate(a.rectPlotX,this.yAxis.len-a.plotHigh);a.plotHighX=f.x-d.plotLeft;a.plotHigh=f.y-d.plotTop},translate:function(){var a=this,d=a.yAxis,f=!!a.modifyValue;e.area.prototype.translate.apply(a);r(a.points,function(h){var b=h.low,c=h.high,l=h.plotY;null===c||null===b?h.isNull=!0:(h.plotLow=l,h.plotHigh=d.translate(f?a.modifyValue(c,h):c,0,1, +0,1),f&&(h.yBottom=h.plotHigh))});this.chart.polar&&r(this.points,function(d){a.highToXY(d)})},getGraphPath:function(a){var d=[],f=[],h,b=e.area.prototype.getGraphPath,c,l,k;k=this.options;var p=k.step;a=a||this.points;for(h=a.length;h--;)c=a[h],c.isNull||k.connectEnds||a[h+1]&&!a[h+1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1}),l={polarPlotY:c.polarPlotY,rectPlotX:c.rectPlotX,yBottom:c.yBottom,plotX:w(c.plotHighX,c.plotX),plotY:c.plotHigh,isNull:c.isNull},f.push(l),d.push(l),c.isNull|| +k.connectEnds||a[h-1]&&!a[h-1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1});a=b.call(this,a);p&&(!0===p&&(p="left"),k.step={left:"right",center:"center",right:"left"}[p]);d=b.call(this,d);f=b.call(this,f);k.step=p;k=[].concat(a,d);this.chart.polar||"M"!==f[0]||(f[0]="L");this.graphPath=k;this.areaPath=this.areaPath.concat(a,f);k.isArea=!0;k.xMap=a.xMap;this.areaPath.xMap=a.xMap;return k},drawDataLabels:function(){var a=this.data,d=a.length,f,h=[],b=m.prototype,c=this.options.dataLabels, +l=c.align,k=c.verticalAlign,p=c.inside,g,n,e=this.chart.inverted;if(c.enabled||this._hasPointLabels){for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.y=g.high,g._plotY=g.plotY,g.plotY=g.plotHigh,h[f]=g.dataLabel,g.dataLabel=g.dataLabelUpper,g.below=n,e?l||(c.align=n?"right":"left"):k||(c.verticalAlign=n?"top":"bottom"),c.x=c.xHigh,c.y=c.yHigh;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments);for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.dataLabelUpper= +g.dataLabel,g.dataLabel=h[f],g.y=g.low,g.plotY=g._plotY,g.below=!n,e?l||(c.align=n?"left":"right"):k||(c.verticalAlign=n?"bottom":"top"),c.x=c.xLow,c.y=c.yLow;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments)}c.align=l;c.verticalAlign=k},alignDataLabel:function(){e.column.prototype.alignDataLabel.apply(this,arguments)},setStackedPoints:t,getSymbol:t,drawPoints:t})})(x);(function(b){var r=b.seriesType;r("areasplinerange","arearange",null,{getPointSpline:b.seriesTypes.spline.prototype.getPointSpline})})(x); +(function(b){var r=b.defaultPlotOptions,t=b.each,w=b.merge,m=b.noop,q=b.pick,e=b.seriesType,a=b.seriesTypes.column.prototype;e("columnrange","arearange",w(r.column,r.arearange,{lineWidth:1,pointRange:null}),{translate:function(){var d=this,f=d.yAxis,b=d.xAxis,u=b.startAngleRad,c,l=d.chart,k=d.xAxis.isRadial,p;a.translate.apply(d);t(d.points,function(a){var g=a.shapeArgs,h=d.options.minPointLength,e,v;a.plotHigh=p=f.translate(a.high,0,1,0,1);a.plotLow=a.plotY;v=p;e=q(a.rectPlotY,a.plotY)-p;Math.abs(e)< +h?(h-=e,e+=h,v-=h/2):0>e&&(e*=-1,v-=e);k?(c=a.barX+u,a.shapeType="path",a.shapeArgs={d:d.polarArc(v+e,v,c,c+a.pointWidth)}):(g.height=e,g.y=v,a.tooltipPos=l.inverted?[f.len+f.pos-l.plotLeft-v-e/2,b.len+b.pos-l.plotTop-g.x-g.width/2,e]:[b.left-l.plotLeft+g.x+g.width/2,f.pos-l.plotTop+v+e/2,e])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:m,crispCol:a.crispCol,drawPoints:a.drawPoints,drawTracker:a.drawTracker,getColumnMetrics:a.getColumnMetrics,animate:function(){return a.animate.apply(this, +arguments)},polarArc:function(){return a.polarArc.apply(this,arguments)},pointAttribs:a.pointAttribs})})(x);(function(b){var r=b.each,t=b.isNumber,w=b.merge,m=b.pick,q=b.pInt,e=b.Series,a=b.seriesType,d=b.TrackerMixin;a("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2,borderWidth:1,borderColor:"#cccccc"},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,directTouch:!0,drawGraph:b.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0, +trackerGroups:["group","dataLabelsGroup"],translate:function(){var a=this.yAxis,d=this.options,b=a.center;this.generatePoints();r(this.points,function(c){var f=w(d.dial,c.dial),k=q(m(f.radius,80))*b[2]/200,h=q(m(f.baseLength,70))*k/100,g=q(m(f.rearLength,10))*k/100,n=f.baseWidth||3,u=f.topWidth||1,e=d.overshoot,v=a.startAngleRad+a.translate(c.y,null,null,null,!0);t(e)?(e=e/180*Math.PI,v=Math.max(a.startAngleRad-e,Math.min(a.endAngleRad+e,v))):!1===d.wrap&&(v=Math.max(a.startAngleRad,Math.min(a.endAngleRad, +v)));v=180*v/Math.PI;c.shapeType="path";c.shapeArgs={d:f.path||["M",-g,-n/2,"L",h,-n/2,k,-u/2,k,u/2,h,n/2,-g,n/2,"z"],translateX:b[0],translateY:b[1],rotation:v};c.plotX=b[0];c.plotY=b[1]})},drawPoints:function(){var a=this,d=a.yAxis.center,b=a.pivot,c=a.options,l=c.pivot,k=a.chart.renderer;r(a.points,function(d){var g=d.graphic,b=d.shapeArgs,f=b.d,h=w(c.dial,d.dial);g?(g.animate(b),b.d=f):(d.graphic=k[d.shapeType](b).attr({rotation:b.rotation,zIndex:1}).addClass("highcharts-dial").add(a.group),d.graphic.attr({stroke:h.borderColor|| +"none","stroke-width":h.borderWidth||0,fill:h.backgroundColor||"#000000"}))});b?b.animate({translateX:d[0],translateY:d[1]}):(a.pivot=k.circle(0,0,m(l.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(d[0],d[1]).add(a.group),a.pivot.attr({"stroke-width":l.borderWidth||0,stroke:l.borderColor||"#cccccc",fill:l.backgroundColor||"#000000"}))},animate:function(a){var d=this;a||(r(d.points,function(a){var c=a.graphic;c&&(c.attr({rotation:180*d.yAxis.startAngleRad/Math.PI}),c.animate({rotation:a.shapeArgs.rotation}, +d.options.animation))}),d.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);e.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(a,d){e.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();m(d,!0)&&this.chart.redraw()},drawTracker:d&&d.drawTrackerPoint},{setState:function(a){this.state=a}})})(x);(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.seriesType, +q=b.seriesTypes;m("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,states:{hover:{brightness:-.3}},whiskerWidth:2},{pointArrayMap:["low","q1","median", +"q3","high"],toYData:function(b){return[b.low,b.q1,b.median,b.q3,b.high]},pointValKey:"high",pointAttribs:function(b){var a=this.options,d=b&&b.color||this.color;return{fill:b.fillColor||a.fillColor||d,stroke:a.lineColor||d,"stroke-width":a.lineWidth||0}},drawDataLabels:t,translate:function(){var b=this.yAxis,a=this.pointArrayMap;q.column.prototype.translate.apply(this);r(this.points,function(d){r(a,function(a){null!==d[a]&&(d[a+"Plot"]=b.translate(d[a],0,1,0,1))})})},drawPoints:function(){var b= +this,a=b.options,d=b.chart.renderer,f,h,u,c,l,k,p=0,g,n,m,q,v=!1!==b.doQuartiles,t,x=b.options.whiskerLength;r(b.points,function(e){var r=e.graphic,y=r?"animate":"attr",I=e.shapeArgs,z={},B={},G={},H=e.color||b.color;void 0!==e.plotY&&(g=I.width,n=Math.floor(I.x),m=n+g,q=Math.round(g/2),f=Math.floor(v?e.q1Plot:e.lowPlot),h=Math.floor(v?e.q3Plot:e.lowPlot),u=Math.floor(e.highPlot),c=Math.floor(e.lowPlot),r||(e.graphic=r=d.g("point").add(b.group),e.stem=d.path().addClass("highcharts-boxplot-stem").add(r), +x&&(e.whiskers=d.path().addClass("highcharts-boxplot-whisker").add(r)),v&&(e.box=d.path(void 0).addClass("highcharts-boxplot-box").add(r)),e.medianShape=d.path(void 0).addClass("highcharts-boxplot-median").add(r),z.stroke=e.stemColor||a.stemColor||H,z["stroke-width"]=w(e.stemWidth,a.stemWidth,a.lineWidth),z.dashstyle=e.stemDashStyle||a.stemDashStyle,e.stem.attr(z),x&&(B.stroke=e.whiskerColor||a.whiskerColor||H,B["stroke-width"]=w(e.whiskerWidth,a.whiskerWidth,a.lineWidth),e.whiskers.attr(B)),v&&(r= +b.pointAttribs(e),e.box.attr(r)),G.stroke=e.medianColor||a.medianColor||H,G["stroke-width"]=w(e.medianWidth,a.medianWidth,a.lineWidth),e.medianShape.attr(G)),k=e.stem.strokeWidth()%2/2,p=n+q+k,e.stem[y]({d:["M",p,h,"L",p,u,"M",p,f,"L",p,c]}),v&&(k=e.box.strokeWidth()%2/2,f=Math.floor(f)+k,h=Math.floor(h)+k,n+=k,m+=k,e.box[y]({d:["M",n,h,"L",n,f,"L",m,f,"L",m,h,"L",n,h,"z"]})),x&&(k=e.whiskers.strokeWidth()%2/2,u+=k,c+=k,t=/%$/.test(x)?q*parseFloat(x)/100:x/2,e.whiskers[y]({d:["M",p-t,u,"L",p+t,u, +"M",p-t,c,"L",p+t,c]})),l=Math.round(e.medianPlot),k=e.medianShape.strokeWidth()%2/2,l+=k,e.medianShape[y]({d:["M",n,l,"L",m,l]}))})},setStackedPoints:t})})(x);(function(b){var r=b.each,t=b.noop,w=b.seriesType,m=b.seriesTypes;w("errorbar","boxplot",{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},whiskerWidth:null},{type:"errorbar", +pointArrayMap:["low","high"],toYData:function(b){return[b.low,b.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:m.arearange?function(){var b=this.pointValKey;m.arearange.prototype.drawDataLabels.call(this);r(this.data,function(e){e.y=e[b]})}:t,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||m.column.prototype.getColumnMetrics.call(this)}})})(x);(function(b){var r=b.correctFloat,t=b.isNumber,w=b.pick,m=b.Point,q=b.Series,e=b.seriesType,a=b.seriesTypes; +e("waterfall","column",{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}},{pointValKey:"y",translate:function(){var d=this.options,b=this.yAxis,h,e,c,l,k,p,g,n,m,q=w(d.minPointLength,5),v=d.threshold,t=d.stacking;a.column.prototype.translate.apply(this);this.minPointLengthOffset=0;g=n=v;e=this.points;h=0;for(d=e.length;hl.height&&(l.y+=l.height,l.height*=-1),c.plotY=l.y=Math.round(l.y)- +this.borderWidth%2/2,l.height=Math.max(Math.round(l.height),.001),c.yBottom=l.y+l.height,l.height<=q&&(l.height=q,this.minPointLengthOffset+=q),l.y-=this.minPointLengthOffset,l=c.plotY+(c.negative?l.height:0)-this.minPointLengthOffset,this.chart.inverted?c.tooltipPos[0]=b.len-l:c.tooltipPos[1]=l},processData:function(a){var b=this.yData,d=this.options.data,e,c=b.length,l,k,p,g,n,m;k=l=p=g=this.options.threshold||0;for(m=0;ma[k-1].y&&(l[2]+=c.height,l[5]+=c.height),e=e.concat(l);return e},drawGraph:function(){q.prototype.drawGraph.call(this);this.graph.attr({d:this.getCrispPath()})},getExtremes:b.noop},{getClassName:function(){var a=m.prototype.getClassName.call(this);this.isSum?a+=" highcharts-sum":this.isIntermediateSum&&(a+=" highcharts-intermediate-sum"); +return a},isValid:function(){return t(this.y,!0)||this.isSum||this.isIntermediateSum}})})(x);(function(b){var r=b.Series,t=b.seriesType,w=b.seriesTypes;t("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var b=r.prototype.getGraphPath.call(this),q=b.length+1;q--;)(q===b.length||"M"===b[q])&&0=this.minPxSize/2?(d.shapeType="circle",d.shapeArgs={x:d.plotX,y:d.plotY,r:c},d.dlBox={x:d.plotX-c,y:d.plotY-c,width:2*c,height:2*c}):d.shapeArgs=d.plotY=d.dlBox=void 0},drawLegendSymbol:function(a,b){var d=this.chart.renderer,c=d.fontMetrics(a.itemStyle.fontSize).f/2;b.legendSymbol=d.circle(c,a.baseline-c,c).attr({zIndex:3}).add(b.legendGroup);b.legendSymbol.isMarker= +!0},drawPoints:l.column.prototype.drawPoints,alignDataLabel:l.column.prototype.alignDataLabel,buildKDTree:a,applyZones:a},{haloPath:function(a){return h.prototype.haloPath.call(this,this.shapeArgs.r+a)},ttBelow:!1});w.prototype.beforePadding=function(){var a=this,b=this.len,c=this.chart,h=0,l=b,u=this.isXAxis,m=u?"xData":"yData",w=this.min,x={},A=Math.min(c.plotWidth,c.plotHeight),C=Number.MAX_VALUE,D=-Number.MAX_VALUE,E=this.max-w,z=b/E,F=[];q(this.series,function(b){var g=b.options;!b.bubblePadding|| +!b.visible&&c.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,F.push(b),u&&(q(["minSize","maxSize"],function(a){var b=g[a],d=/%$/.test(b),b=f(b);x[a]=d?A*b/100:b}),b.minPxSize=x.minSize,b.maxPxSize=Math.max(x.maxSize,x.minSize),b=b.zData,b.length&&(C=d(g.zMin,Math.min(C,Math.max(t(b),!1===g.displayNegative?g.zThreshold:-Number.MAX_VALUE))),D=d(g.zMax,Math.max(D,r(b))))))});q(F,function(b){var d=b[m],c=d.length,f;u&&b.getRadii(C,D,b.minPxSize,b.maxPxSize);if(0f&&(f+=360),a.clientX=f):a.clientX=a.plotX};m.spline&&q(m.spline.prototype,"getPointSpline",function(a,b,f,h){var d,c,e,k,p,g,n;this.chart.polar?(d=f.plotX, +c=f.plotY,a=b[h-1],e=b[h+1],this.connectEnds&&(a||(a=b[b.length-2]),e||(e=b[1])),a&&e&&(k=a.plotX,p=a.plotY,b=e.plotX,g=e.plotY,k=(1.5*d+k)/2.5,p=(1.5*c+p)/2.5,e=(1.5*d+b)/2.5,n=(1.5*c+g)/2.5,b=Math.sqrt(Math.pow(k-d,2)+Math.pow(p-c,2)),g=Math.sqrt(Math.pow(e-d,2)+Math.pow(n-c,2)),k=Math.atan2(p-c,k-d),p=Math.atan2(n-c,e-d),n=Math.PI/2+(k+p)/2,Math.abs(k-n)>Math.PI/2&&(n-=Math.PI),k=d+Math.cos(n)*b,p=c+Math.sin(n)*b,e=d+Math.cos(Math.PI+n)*g,n=c+Math.sin(Math.PI+n)*g,f.rightContX=e,f.rightContY=n), +h?(f=["C",a.rightContX||a.plotX,a.rightContY||a.plotY,k||d,p||c,d,c],a.rightContX=a.rightContY=null):f=["M",d,c]):f=a.call(this,b,f,h);return f});q(e,"translate",function(a){var b=this.chart;a.call(this);if(b.polar&&(this.kdByAngle=b.tooltip&&b.tooltip.shared,!this.preventPostTranslate))for(a=this.points,b=a.length;b--;)this.toXY(a[b])});q(e,"getGraphPath",function(a,b){var d=this,e,m;if(this.chart.polar){b=b||this.points;for(e=0;eb.center[1]}),q(m,"alignDataLabel",function(a,b,f,h,m,c){this.chart.polar?(a=b.rectPlotX/Math.PI*180,null===h.align&&(h.align=20a?"left":200a?"right":"center"),null===h.verticalAlign&&(h.verticalAlign=45>a||315a?"top":"middle"),e.alignDataLabel.call(this,b,f,h,m,c)):a.call(this, +b,f,h,m,c)}));q(b,"getCoordinates",function(a,b){var d=this.chart,e={xAxis:[],yAxis:[]};d.polar?t(d.axes,function(a){var c=a.isXAxis,f=a.center,h=b.chartX-f[0]-d.plotLeft,f=b.chartY-f[1]-d.plotTop;e[c?"xAxis":"yAxis"].push({axis:a,value:a.translate(c?Math.PI-Math.atan2(h,f):Math.sqrt(Math.pow(h,2)+Math.pow(f,2)),!0)})}):e=a.call(this,b);return e})})(x)}); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/highstock.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/highstock.js new file mode 100644 index 0000000..34a3f91 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/highstock.js @@ -0,0 +1,496 @@ +/* + Highstock JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(N,a){"object"===typeof module&&module.exports?module.exports=N.document?a(N):a:N.Highcharts=a(N)})("undefined"!==typeof window?window:this,function(N){N=function(){var a=window,D=a.document,B=a.navigator&&a.navigator.userAgent||"",G=D&&D.createElementNS&&!!D.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,H=/(edge|msie|trident)/i.test(B)&&!window.opera,p=!G,l=/Firefox/.test(B),r=l&&4>parseInt(B.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highstock", +version:"5.0.3",deg2rad:2*Math.PI/360,doc:D,hasBidiBug:r,hasTouch:D&&void 0!==D.documentElement.ontouchstart,isMS:H,isWebKit:/AppleWebKit/.test(B),isFirefox:l,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(B),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:G,vml:p,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var D=[],B=a.charts,G=a.doc,H=a.win;a.error=function(a,l){a="Highcharts error #"+ +a+": www.highcharts.com/errors/"+a;if(l)throw Error(a);H.console&&console.log(a)};a.Fx=function(a,l,r){this.options=l;this.elem=a;this.prop=r};a.Fx.prototype={dSetter:function(){var a=this.paths[0],l=this.paths[1],r=[],w=this.now,t=a.length,k;if(1===w)r=this.toD;else if(t===l.length&&1>w)for(;t--;)k=parseFloat(a[t]),r[t]=isNaN(k)?a[t]:w*parseFloat(l[t]-k)+k;else r=l;this.elem.attr("d",r)},update:function(){var a=this.elem,l=this.prop,r=this.now,w=this.options.step;if(this[l+"Setter"])this[l+"Setter"](); +else a.attr?a.element&&a.attr(l,r):a.style[l]=r+this.unit;w&&w.call(a,r,this)},run:function(a,l,r){var p=this,t=function(a){return t.stopped?!1:p.step(a)},k;this.startTime=+new Date;this.start=a;this.end=l;this.unit=r;this.now=this.start;this.pos=0;t.elem=this.elem;t()&&1===D.push(t)&&(t.timerId=setInterval(function(){for(k=0;k=k+this.startTime){this.now=this.end;this.pos=1;this.update();a=m[this.prop]=!0;for(e in m)!0!==m[e]&&(a=!1);a&&t&&t.call(p);p=!1}else this.pos=w.easing((l-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),p=!0;return p},initPath:function(p,l,r){function w(a){for(b=a.length;b--;)"M"!==a[b]&&"L"!==a[b]||a.splice(b+1,0,a[b+1],a[b+2],a[b+1],a[b+2])}function t(a,c){for(;a.lengthm?"AM":"PM",P:12>m?"am":"pm",S:q(t.getSeconds()),L:q(Math.round(l%1E3),3)},a.dateFormats);for(k in w)for(;-1!==p.indexOf("%"+k);)p= +p.replace("%"+k,"function"===typeof w[k]?w[k](l):w[k]);return r?p.substr(0,1).toUpperCase()+p.substr(1):p};a.formatSingle=function(p,l){var r=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(p)?(r=(r=p.match(r))?r[1]:-1,null!==l&&(l=a.numberFormat(l,r,w.decimalPoint,-1=r&&(l=[1/r])));for(w=0;w=p||!t&&k<=(l[w]+(l[w+1]||l[w]))/ +2);w++);return m*r};a.stableSort=function(a,l){var r=a.length,p,t;for(t=0;tr&&(r=a[l]);return r};a.destroyObjectProperties=function(a,l){for(var r in a)a[r]&&a[r]!==l&&a[r].destroy&&a[r].destroy(),delete a[r]};a.discardElement=function(p){var l= +a.garbageBin;l||(l=a.createElement("div"));p&&l.appendChild(p);l.innerHTML=""};a.correctFloat=function(a,l){return parseFloat(a.toPrecision(l||14))};a.setAnimation=function(p,l){l.renderer.globalAnimation=a.pick(p,l.options.chart.animation,!0)};a.animObject=function(p){return a.isObject(p)?a.merge(p):{duration:p?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(p,l,r,w){p=+p||0;l=+l;var t=a.defaultOptions.lang, +k=(p.toString().split(".")[1]||"").length,m,e,g=Math.abs(p);-1===l?l=Math.min(k,20):a.isNumber(l)||(l=2);m=String(a.pInt(g.toFixed(l)));e=3p?"-":"")+(e?m.substr(0,e)+w:"");p+=m.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+w);l&&(w=Math.abs(g-m+Math.pow(10,-Math.max(l,k)-1)),p+=r+w.toFixed(l).slice(2));return p};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(p,l){return"width"===l?Math.min(p.offsetWidth, +p.scrollWidth)-a.getStyle(p,"padding-left")-a.getStyle(p,"padding-right"):"height"===l?Math.min(p.offsetHeight,p.scrollHeight)-a.getStyle(p,"padding-top")-a.getStyle(p,"padding-bottom"):(p=H.getComputedStyle(p,void 0))&&a.pInt(p.getPropertyValue(l))};a.inArray=function(a,l){return l.indexOf?l.indexOf(a):[].indexOf.call(l,a)};a.grep=function(a,l){return[].filter.call(a,l)};a.map=function(a,l){for(var r=[],p=0,t=a.length;pl;l++)w[l]+=p(255*a),0>w[l]&&(w[l]=0),255z.width)z={width:0,height:0}}else z=this.htmlGetBBox();b.isSVG&&(a=z.width, +b=z.height,c&&L&&"11px"===L.fontSize&&"16.9"===b.toPrecision(3)&&(z.height=b=14),v&&(z.width=Math.abs(b*Math.sin(d))+Math.abs(a*Math.cos(d)),z.height=Math.abs(b*Math.cos(d))+Math.abs(a*Math.sin(d))));if(g&&0]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,c,v){"string"===typeof a?v.setAttribute(c, +a):a&&this.colorGradient(a,c,v)},visibilitySetter:function(a,c,v){"inherit"===a?v.removeAttribute(c):v.setAttribute(c,a)},zIndexSetter:function(a,c){var v=this.renderer,z=this.parentGroup,b=(z||v).element||v.box,d,n=this.element,f;d=this.added;var e;k(a)&&(n.zIndex=a,a=+a,this[c]===a&&(d=!1),this[c]=a);if(d){(a=this.zIndex)&&z&&(z.handleZ=!0);c=b.childNodes;for(e=0;ea||!k(a)&&k(d)||0>a&&!k(d)&&b!==v.box)&&(b.insertBefore(n,z),f=!0);f||b.appendChild(n)}return f}, +_defaultSetter:function(a,c,v){v.setAttribute(c,a)}};D.prototype.yGetter=D.prototype.xGetter;D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.rotationSetter=D.prototype.verticalAlignSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=function(a,c){this[c]=a;this.doTransform=!0};D.prototype["stroke-widthSetter"]=D.prototype.strokeSetter=function(a,c,v){this[c]=a;this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",v),v.setAttribute("stroke-width", +this["stroke-width"]),this.hasStroke=!0):"stroke-width"===c&&0===a&&this.hasStroke&&(v.removeAttribute("stroke"),this.hasStroke=!1)};B=a.SVGRenderer=function(){this.init.apply(this,arguments)};B.prototype={Element:D,SVG_NS:K,init:function(a,c,v,b,d,n){var z;b=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(b));z=b.element;a.appendChild(z);-1===a.innerHTML.indexOf("xmlns")&&p(z,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=z;this.boxWrapper=b;this.alignedObjects= +[];this.url=(E||A)&&g.getElementsByTagName("base").length?R.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highstock 5.0.3"));this.defs=this.createElement("defs").add();this.allowHTML=n;this.forExport=d;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(c,v,!1);var f;E&&a.getBoundingClientRect&&(c=function(){w(a,{left:0,top:0});f=a.getBoundingClientRect(); +w(a,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},c(),this.unSubPixelFix=G(R,"resize",c))},getStyle:function(a){return this.style=C({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();e(this.gradients||{});this.gradients= +null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var c=new this.Element;c.init(this,a);return c},draw:J,getRadialAttr:function(a,c){return{cx:a[0]-a[2]/2+c.cx*a[2],cy:a[1]-a[2]/2+c.cy*a[2],r:c.r*a[2]}},buildText:function(a){for(var c=a.element,z=this,b=z.forExport,n=y(a.textStr,"").toString(),f=-1!==n.indexOf("\x3c"),e=c.childNodes,q,F,x,A,I=p(c,"x"),m=a.styles,k=a.textWidth,C=m&&m.lineHeight,M=m&&m.textOutline,J=m&& +"ellipsis"===m.textOverflow,E=e.length,O=k&&!a.added&&this.box,t=function(a){var v;v=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:m&&m.fontSize||z.style.fontSize||12;return C?u(C):z.fontMetrics(v,a.getAttribute("style")?a:c).h};E--;)c.removeChild(e[E]);f||M||J||k||-1!==n.indexOf(" ")?(q=/<.*class="([^"]+)".*>/,F=/<.*style="([^"]+)".*>/,x=/<.*href="(http[^"]+)".*>/,O&&O.appendChild(c),n=f?n.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(//g,"\x3c/span\x3e").split(//g):[n],n=d(n,function(a){return""!==a}),h(n,function(d,n){var f,e=0;d=d.replace(/^\s+|\s+$/g,"").replace(//g,"\x3c/span\x3e|||");f=d.split("|||");h(f,function(d){if(""!==d||1===f.length){var u={},y=g.createElementNS(z.SVG_NS,"tspan"),L,h;q.test(d)&&(L=d.match(q)[1],p(y,"class",L));F.test(d)&&(h=d.match(F)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),p(y,"style",h));x.test(d)&&!b&&(p(y, +"onclick",'location.href\x3d"'+d.match(x)[1]+'"'),w(y,{cursor:"pointer"}));d=(d.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"\x3c").replace(/>/g,"\x3e");if(" "!==d){y.appendChild(g.createTextNode(d));e?u.dx=0:n&&null!==I&&(u.x=I);p(y,u);c.appendChild(y);!e&&n&&(!v&&b&&w(y,{display:"block"}),p(y,"dy",t(y)));if(k){u=d.replace(/([^\^])-/g,"$1- ").split(" ");L="nowrap"===m.whiteSpace;for(var C=1k,void 0===A&&(A=M),J&&A?(Q/=2,""===l||!M&&.5>Q?u=[]:(l=d.substring(0,l.length+(M?-1:1)*Math.ceil(Q)),u=[l+(3k&&(k=P)),u.length&&y.appendChild(g.createTextNode(u.join(" ").replace(/- /g, +"-")));a.rotation=R}e++}}})}),A&&a.attr("title",a.textStr),O&&O.removeChild(c),M&&a.applyTextOutline&&a.applyTextOutline(M)):c.appendChild(g.createTextNode(n.replace(/</g,"\x3c").replace(/>/g,"\x3e")))},getContrast:function(a){a=r(a).rgba;return 510v?d>c+f&&de?d>c+f&&db&&e>a+f&&ed&&e>a+f&&ea?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}},rotCorr:function(a, +c,v){var b=a;c&&v&&(b=Math.max(b*Math.cos(c*m),4));return{x:-a/3*Math.sin(c*m),y:b}},label:function(a,c,v,b,d,n,f,e,K){var q=this,u=q.g("button"!==K&&"label"),y=u.text=q.text("",0,0,f).attr({zIndex:1}),g,F,z=0,A=3,L=0,m,M,J,E,O,t={},l,R,r=/^url\((.*?)\)$/.test(b),p=r,P,w,Q,S;K&&u.addClass("highcharts-"+K);p=r;P=function(){return(l||0)%2/2};w=function(){var a=y.element.style,c={};F=(void 0===m||void 0===M||O)&&k(y.textStr)&&y.getBBox();u.width=(m||F.width||0)+2*A+L;u.height=(M||F.height||0)+2*A;R= +A+q.fontMetrics(a&&a.fontSize,y).b;p&&(g||(u.box=g=q.symbols[b]||r?q.symbol(b):q.rect(),g.addClass(("button"===K?"":"highcharts-label-box")+(K?" highcharts-"+K+"-box":"")),g.add(u),a=P(),c.x=a,c.y=(e?-R:0)+a),c.width=Math.round(u.width),c.height=Math.round(u.height),g.attr(C(c,t)),t={})};Q=function(){var a=L+A,c;c=e?0:R;k(m)&&F&&("center"===O||"right"===O)&&(a+={center:.5,right:1}[O]*(m-F.width));if(a!==y.x||c!==y.y)y.attr("x",a),void 0!==c&&y.attr("y",c);y.x=a;y.y=c};S=function(a,c){g?g.attr(a,c): +t[a]=c};u.onAdd=function(){y.add(u);u.attr({text:a||0===a?a:"",x:c,y:v});g&&k(d)&&u.attr({anchorX:d,anchorY:n})};u.widthSetter=function(a){m=a};u.heightSetter=function(a){M=a};u["text-alignSetter"]=function(a){O=a};u.paddingSetter=function(a){k(a)&&a!==A&&(A=u.padding=a,Q())};u.paddingLeftSetter=function(a){k(a)&&a!==L&&(L=a,Q())};u.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==z&&(z=a,F&&u.attr({x:J}))};u.textSetter=function(a){void 0!==a&&y.textSetter(a);w();Q()};u["stroke-widthSetter"]= +function(a,c){a&&(p=!0);l=this["stroke-width"]=a;S(c,a)};u.strokeSetter=u.fillSetter=u.rSetter=function(a,c){"fill"===c&&a&&(p=!0);S(c,a)};u.anchorXSetter=function(a,c){d=a;S(c,Math.round(a)-P()-J)};u.anchorYSetter=function(a,c){n=a;S(c,a-E)};u.xSetter=function(a){u.x=a;z&&(a-=z*((m||F.width)+2*A));J=Math.round(a);u.attr("translateX",J)};u.ySetter=function(a){E=u.y=Math.round(a);u.attr("translateY",E)};var T=u.css;return C(u,{css:function(a){if(a){var c={};a=x(a);h(u.textProps,function(v){void 0!== +a[v]&&(c[v]=a[v],delete a[v])});y.css(c)}return T.call(u,a)},getBBox:function(){return{width:F.width+2*A,height:F.height+2*A,x:F.x-A,y:F.y-A}},shadow:function(a){a&&(w(),g&&g.shadow(a));return u},destroy:function(){I(u.element,"mouseenter");I(u.element,"mouseleave");y&&(y=y.destroy());g&&(g=g.destroy());D.prototype.destroy.call(u);u=q=w=Q=S=null}})}};a.Renderer=B})(N);(function(a){var D=a.attr,B=a.createElement,G=a.css,H=a.defined,p=a.each,l=a.extend,r=a.isFirefox,w=a.isMS,t=a.isWebKit,k=a.pInt,m= +a.SVGRenderer,e=a.win,g=a.wrap;l(a.SVGElement.prototype,{htmlCss:function(a){var e=this.element;if(e=a&&"SPAN"===e.tagName&&a.width)delete a.width,this.textWidth=e,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=l(this.styles,a);G(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a= +this.renderer,e=this.element,f=this.translateX||0,d=this.translateY||0,b=this.x||0,q=this.y||0,g=this.textAlign||"left",c={left:0,center:.5,right:1}[g],F=this.styles;G(e,{marginLeft:f,marginTop:d});this.shadows&&p(this.shadows,function(a){G(a,{marginLeft:f+1,marginTop:d+1})});this.inverted&&p(e.childNodes,function(c){a.invertChild(c,e)});if("SPAN"===e.tagName){var n=this.rotation,A=k(this.textWidth),x=F&&F.whiteSpace,m=[n,g,e.innerHTML,this.textWidth,this.textAlign].join();m!==this.cTT&&(F=a.fontMetrics(e.style.fontSize).b, +H(n)&&this.setSpanRotation(n,c,F),G(e,{width:"",whiteSpace:x||"nowrap"}),e.offsetWidth>A&&/[ \-]/.test(e.textContent||e.innerText)&&G(e,{width:A+"px",display:"block",whiteSpace:x||"normal"}),this.getSpanCorrection(e.offsetWidth,F,c,n,g));G(e,{left:b+(this.xCorr||0)+"px",top:q+(this.yCorr||0)+"px"});t&&(F=e.offsetHeight);this.cTT=m}}else this.alignOnAdd=!0},setSpanRotation:function(a,g,f){var d={},b=w?"-ms-transform":t?"-webkit-transform":r?"MozTransform":e.opera?"-o-transform":"";d[b]=d.transform= +"rotate("+a+"deg)";d[b+(r?"Origin":"-origin")]=d.transformOrigin=100*g+"% "+f+"px";G(this.element,d)},getSpanCorrection:function(a,e,f){this.xCorr=-a*f;this.yCorr=-e}});l(m.prototype,{html:function(a,e,f){var d=this.createElement("span"),b=d.element,q=d.renderer,h=q.isSVG,c=function(a,c){p(["opacity","visibility"],function(b){g(a,b+"Setter",function(a,b,d,n){a.call(this,b,d,n);c[d]=b})})};d.textSetter=function(a){a!==b.innerHTML&&delete this.bBox;b.innerHTML=this.textStr=a;d.htmlUpdateTransform()}; +h&&c(d,d.element.style);d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter=function(a,c){"align"===c&&(c="textAlign");d[c]=a;d.htmlUpdateTransform()};d.attr({text:a,x:Math.round(e),y:Math.round(f)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});b.style.whiteSpace="nowrap";d.css=d.htmlCss;h&&(d.add=function(a){var n,f=q.box.parentNode,e=[];if(this.parentGroup=a){if(n=a.div,!n){for(;a;)e.push(a),a=a.parentGroup;p(e.reverse(),function(a){var b,d=D(a.element, +"class");d&&(d={className:d});n=a.div=a.div||B("div",d,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},n||f);b=n.style;l(a,{translateXSetter:function(c,d){b.left=c+"px";a[d]=c;a.doTransform=!0},translateYSetter:function(c,d){b.top=c+"px";a[d]=c;a.doTransform=!0}});c(a,b)})}}else n=f;n.appendChild(b);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d});return d}})})(N);(function(a){var D, +B,G=a.createElement,H=a.css,p=a.defined,l=a.deg2rad,r=a.discardElement,w=a.doc,t=a.each,k=a.erase,m=a.extend;D=a.extendClass;var e=a.isArray,g=a.isNumber,h=a.isObject,C=a.merge;B=a.noop;var f=a.pick,d=a.pInt,b=a.SVGElement,q=a.SVGRenderer,E=a.win;a.svg||(B={docMode8:w&&8===w.documentMode,init:function(a,b){var c=["\x3c",b,' filled\x3d"f" stroked\x3d"f"'],d=["position: ","absolute",";"],f="div"===b;("shape"===b||f)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",f?"hidden":"visible"); +c.push(' style\x3d"',d.join(""),'"/\x3e');b&&(c=f||"span"===b||"img"===b?c.join(""):a.prepVML(c),this.element=G(c));this.renderer=a},add:function(a){var c=this.renderer,b=this.element,d=c.box,f=a&&a.inverted,d=a?a.element||a:d;a&&(this.parentGroup=a);f&&c.invertChild(b,d);d.appendChild(b);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},updateTransform:b.prototype.htmlUpdateTransform, +setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*l),d=Math.sin(a*l);H(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",b,", M12\x3d",-d,", M21\x3d",d,", M22\x3d",b,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,d,e,q){var c=e?Math.cos(e*l):1,n=e?Math.sin(e*l):0,u=f(this.elemHeight,this.element.offsetHeight),g;this.xCorr=0>c&&-a;this.yCorr=0>n&&-u;g=0>c*n;this.xCorr+=n*b*(g?1-d:d);this.yCorr-=c*b*(e?g?d:1-d:1);q&&"left"!== +q&&(this.xCorr-=a*d*(0>c?-1:1),e&&(this.yCorr-=u*d*(0>n?-1:1)),H(this.element,{textAlign:q}))},pathToVML:function(a){for(var c=a.length,b=[];c--;)g(a[c])?b[c]=Math.round(10*a[c])-5:"Z"===a[c]?b[c]="x":(b[c]=a[c],!a.isArc||"wa"!==a[c]&&"at"!==a[c]||(b[c+5]===b[c+7]&&(b[c+7]+=a[c+7]>a[c+5]?1:-1),b[c+6]===b[c+8]&&(b[c+8]+=a[c+8]>a[c+6]?1:-1)));return b.join(" ")||"x"},clip:function(a){var c=this,b;a?(b=a.members,k(b,c),b.push(c),c.destroyClip=function(){k(b,c)},a=a.getCSS(c)):(c.destroyClip&&c.destroyClip(), +a={clip:c.docMode8?"inherit":"rect(auto)"});return c.css(a)},css:b.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&r(a)},destroy:function(){this.destroyClip&&this.destroyClip();return b.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=E.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c;a=a.split(/[ ,]/);c=a.length;if(9===c||11===c)a[c-4]=a[c-2]=d(a[c-2])-10*b;return a.join(" ")},shadow:function(a,b,e){var c=[],n,q=this.element, +g=this.renderer,u,I=q.style,F,v=q.path,K,h,m,z;v&&"string"!==typeof v.value&&(v="x");h=v;if(a){m=f(a.width,3);z=(a.opacity||.15)/m;for(n=1;3>=n;n++)K=2*m+1-2*n,e&&(h=this.cutOffPath(v.value,K+.5)),F=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',K,'" filled\x3d"false" path\x3d"',h,'" coordsize\x3d"10 10" style\x3d"',q.style.cssText,'" /\x3e'],u=G(g.prepVML(F),null,{left:d(I.left)+f(a.offsetX,1),top:d(I.top)+f(a.offsetY,1)}),e&&(u.cutOff=K+1),F=['\x3cstroke color\x3d"',a.color||"#000000",'" opacity\x3d"', +z*n,'"/\x3e'],G(g.prepVML(F),null,null,u),b?b.element.appendChild(u):q.parentNode.insertBefore(u,q),c.push(u);this.shadows=c}return this},updateShadows:B,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,b,d){(d.getElementsByTagName("stroke")[0]||G(this.renderer.prepVML(["\x3cstroke/\x3e"]),null,null,d))[b]=a||"solid";this[b]=a},dSetter:function(a,b,d){var c=this.shadows; +a=a||[];this.d=a.join&&a.join(" ");d.path=a=this.pathToVML(a);if(c)for(d=c.length;d--;)c[d].path=c[d].cutOff?this.cutOffPath(a,c[d].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,d){var c=d.nodeName;"SPAN"===c?d.style.color=a:"IMG"!==c&&(d.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,d,b,this)))},"fill-opacitySetter":function(a,b,d){G(this.renderer.prepVML(["\x3c",b.split("-")[0],' opacity\x3d"',a,'"/\x3e']),null,null,d)},opacitySetter:B,rotationSetter:function(a,b,d){d= +d.style;this[b]=d[b]=a;d.left=-Math.round(Math.sin(a*l)+1)+"px";d.top=Math.round(Math.cos(a*l))+"px"},strokeSetter:function(a,b,d){this.setAttr("strokecolor",this.renderer.color(a,d,b,this))},"stroke-widthSetter":function(a,b,d){d.stroked=!!a;this[b]=a;g(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,d){"inherit"===a&&(a="visible");this.shadows&&t(this.shadows,function(c){c.style[b]=a});"DIV"===d.nodeName&&(a="hidden"===a?"-999em": +0,this.docMode8||(d.style[b]=a?"visible":"hidden"),b="top");d.style[b]=a},xSetter:function(a,b,d){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):d.style[b]=a},zIndexSetter:function(a,b,d){d.style[b]=a}},B["stroke-opacitySetter"]=B["fill-opacitySetter"],a.VMLElement=B=D(b,B),B.prototype.ySetter=B.prototype.widthSetter=B.prototype.heightSetter=B.prototype.xSetter,B={Element:B,isIE8:-1l[0]&&c.push([1,l[1]]);t(c,function(c,b){q.test(c[1])?(n=a.color(c[1]),v=n.get("rgb"),K=n.get("a")):(v=c[1],K=1);r.push(100*c[0]+"% "+v);b?(m=K,k=v):(z=K,E=v)});if("fill"===d)if("gradient"===g)d=A.x1||A[0]||0,c=A.y1||A[1]||0,F=A.x2||A[2]||0,A=A.y2||A[3]||0,C='angle\x3d"'+(90-180*Math.atan((A-c)/(F-d))/Math.PI)+'"',p();else{var h=A.r,w=2*h,B=2*h,D=A.cx,H=A.cy,V=b.radialReference,U,h=function(){V&&(U=f.getBBox(),D+=(V[0]- +U.x)/U.width-.5,H+=(V[1]-U.y)/U.height-.5,w*=V[2]/U.width,B*=V[2]/U.height);C='src\x3d"'+a.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+w+","+B+'" origin\x3d"0.5,0.5" position\x3d"'+D+","+H+'" color2\x3d"'+E+'" ';p()};f.added?h():f.onAdd=h;h=k}else h=v}else q.test(c)&&"IMG"!==b.tagName?(n=a.color(c),f[d+"-opacitySetter"](n.get("a"),d,b),h=n.get("rgb")):(h=b.getElementsByTagName(d),h.length&&(h[0].opacity=1,h[0].type="solid"),h=c);return h},prepVML:function(a){var c=this.isIE8;a=a.join(""); +c?(a=a.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),a=-1===a.indexOf('style\x3d"')?a.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(#default#VML);" /\x3e'):a.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(#default#VML);')):a=a.replace("\x3c","\x3chcv:");return a},text:q.prototype.html,path:function(a){var c={coordsize:"10 10"};e(a)?c.d=a:h(a)&&m(c,a);return this.createElement("shape").attr(c)},circle:function(a,b,d){var c=this.symbol("circle"); +h(a)&&(d=a.r,b=a.y,a=a.x);c.isCircle=!0;c.r=d;return c.attr({x:a,y:b})},g:function(a){var c;a&&(c={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement("div").attr(c)},image:function(a,b,d,f,e){var c=this.createElement("img").attr({src:a});1f&&m-d*bg&&(F=Math.round((e-m)/Math.cos(f*w)));else if(e=m+(1-d)*b,m-d*bg&&(E=g-a.x+E*d,c=-1),E=Math.min(q, +E),EE||k.autoRotation&&(C.styles||{}).width)F=E;F&&(n.width=F,(k.options.labels.style||{}).textOverflow||(n.textOverflow="ellipsis"),C.css(n))},getPosition:function(a,k,m,e){var g=this.axis,h=g.chart,l=e&&h.oldChartHeight||h.chartHeight;return{x:a?g.translate(k+m,null,null,e)+g.transB:g.left+g.offset+(g.opposite?(e&&h.oldChartWidth||h.chartWidth)-g.right-g.left:0),y:a?l-g.bottom+g.offset-(g.opposite?g.height:0):l-g.translate(k+m,null, +null,e)-g.transB}},getLabelPosition:function(a,k,m,e,g,h,l,f){var d=this.axis,b=d.transA,q=d.reversed,E=d.staggerLines,c=d.tickRotCorr||{x:0,y:0},F=g.y;B(F)||(F=0===d.side?m.rotation?-8:-m.getBBox().height:2===d.side?c.y+8:Math.cos(m.rotation*w)*(c.y-m.getBBox(!1,0).height/2));a=a+g.x+c.x-(h&&e?h*b*(q?-1:1):0);k=k+F-(h&&!e?h*b*(q?1:-1):0);E&&(m=l/(f||1)%E,d.opposite&&(m=E-m-1),k+=d.labelOffset/E*m);return{x:a,y:Math.round(k)}},getMarkPath:function(a,k,m,e,g,h){return h.crispLine(["M",a,k,"L",a+(g? +0:-m),k+(g?m:0)],e)},render:function(a,k,m){var e=this.axis,g=e.options,h=e.chart.renderer,C=e.horiz,f=this.type,d=this.label,b=this.pos,q=g.labels,E=this.gridLine,c=f?f+"Tick":"tick",F=e.tickSize(c),n=this.mark,A=!n,x=q.step,p={},y=!0,u=e.tickmarkOffset,I=this.getPosition(C,b,u,k),M=I.x,I=I.y,v=C&&M===e.pos+e.len||!C&&I===e.pos?-1:1,K=f?f+"Grid":"grid",O=g[K+"LineWidth"],R=g[K+"LineColor"],z=g[K+"LineDashStyle"],K=l(g[c+"Width"],!f&&e.isXAxis?1:0),c=g[c+"Color"];m=l(m,1);this.isActive=!0;E||(p.stroke= +R,p["stroke-width"]=O,z&&(p.dashstyle=z),f||(p.zIndex=1),k&&(p.opacity=0),this.gridLine=E=h.path().attr(p).addClass("highcharts-"+(f?f+"-":"")+"grid-line").add(e.gridGroup));if(!k&&E&&(b=e.getPlotLinePath(b+u,E.strokeWidth()*v,k,!0)))E[this.isNew?"attr":"animate"]({d:b,opacity:m});F&&(e.opposite&&(F[0]=-F[0]),A&&(this.mark=n=h.path().addClass("highcharts-"+(f?f+"-":"")+"tick").add(e.axisGroup),n.attr({stroke:c,"stroke-width":K})),n[A?"attr":"animate"]({d:this.getMarkPath(M,I,F[0],n.strokeWidth()* +v,C,h),opacity:m}));d&&H(M)&&(d.xy=I=this.getLabelPosition(M,I,d,C,q,u,a,x),this.isFirst&&!this.isLast&&!l(g.showFirstLabel,1)||this.isLast&&!this.isFirst&&!l(g.showLastLabel,1)?y=!1:!C||e.isRadial||q.step||q.rotation||k||0===m||this.handleOverflow(I),x&&a%x&&(y=!1),y&&H(I.y)?(I.opacity=m,d[this.isNew?"attr":"animate"](I)):(r(d),d.attr("y",-9999)),this.isNew=!1)},destroy:function(){G(this,this.axis)}}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.AxisPlotLineOrBandExtension, +l=a.color,r=a.correctFloat,w=a.defaultOptions,t=a.defined,k=a.deg2rad,m=a.destroyObjectProperties,e=a.each,g=a.error,h=a.extend,C=a.fireEvent,f=a.format,d=a.getMagnitude,b=a.grep,q=a.inArray,E=a.isArray,c=a.isNumber,F=a.isString,n=a.merge,A=a.normalizeTickInterval,x=a.pick,J=a.PlotLineOrBand,y=a.removeEvent,u=a.splat,I=a.syncTimeout,M=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M", +hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb", +lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15}, +title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,c){var b=c.isX;this.chart=a;this.horiz=a.inverted?!b:b;this.isXAxis=b;this.coll=this.coll||(b?"xAxis":"yAxis");this.opposite=c.opposite;this.side=c.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(c);var d=this.options,v=d.type;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter; +this.userOptions=c;this.minPixelPadding=0;this.reversed=d.reversed;this.visible=!1!==d.visible;this.zoomEnabled=!1!==d.zoomEnabled;this.hasNames="category"===v||!0===d.categories;this.categories=d.categories||this.hasNames;this.names=this.names||[];this.isLog="logarithmic"===v;this.isDatetimeAxis="datetime"===v;this.isLinked=t(d.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom; +this.range=d.range;this.offset=d.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=x(d.crosshair,u(a.options.tooltip.crosshairs)[b?0:1],!1);var f;c=this.options.events;-1===q(this,a.axes)&&(b?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&b&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(f in c)D(this,f,c[f]); +this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=n(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],n(w[this.coll],a))},defaultLabelFormatter:function(){var c=this.axis,b=this.value,d=c.categories,e=this.dateTimeLabelFormat,q=w.lang,u=q.numericSymbols,q=q.numericSymbolMagnitude||1E3,n=u&&u.length,g,y=c.options.labels.format, +c=c.isLog?b:c.tickInterval;if(y)g=f(y,this);else if(d)g=b;else if(e)g=a.dateFormat(e,b);else if(n&&1E3<=c)for(;n--&&void 0===g;)d=Math.pow(q,n+1),c>=d&&0===10*b%d&&null!==u[n]&&0!==b&&(g=a.numberFormat(b/d,-1)+u[n]);void 0===g&&(g=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b,-1,void 0,""));return g},getSeriesExtremes:function(){var a=this,d=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();e(a.series,function(v){if(v.visible|| +!d.options.chart.ignoreHiddenSeries){var f=v.options,e=f.threshold,q;a.hasVisibleSeries=!0;a.isLog&&0>=e&&(e=null);if(a.isXAxis)f=v.xData,f.length&&(v=H(f),c(v)||v instanceof Date||(f=b(f,function(a){return c(a)}),v=H(f)),a.dataMin=Math.min(x(a.dataMin,f[0]),v),a.dataMax=Math.max(x(a.dataMax,f[0]),G(f)));else if(v.getExtremes(),q=v.dataMax,v=v.dataMin,t(v)&&t(q)&&(a.dataMin=Math.min(x(a.dataMin,v),v),a.dataMax=Math.max(x(a.dataMax,q),q)),t(e)&&(a.threshold=e),!f.softThreshold||a.isLog)a.softThreshold= +!1}})},translate:function(a,b,d,f,e,q){var v=this.linkedParent||this,u=1,n=0,g=f?v.oldTransA:v.transA;f=f?v.oldMin:v.min;var K=v.minPixelPadding;e=(v.isOrdinal||v.isBroken||v.isLog&&e)&&v.lin2val;g||(g=v.transA);d&&(u*=-1,n=v.len);v.reversed&&(u*=-1,n-=u*(v.sector||v.len));b?(a=(a*u+n-K)/g+f,e&&(a=v.lin2val(a))):(e&&(a=v.val2lin(a)),a=u*(a-f)*g+n+u*K+(c(q)?g*q:0));return a},toPixels:function(a,c){return this.translate(a,!1,!this.horiz,null,!0)+(c?0:this.pos)},toValue:function(a,c){return this.translate(a- +(c?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,d,f,e){var v=this.chart,q=this.left,u=this.top,n,g,K=d&&v.oldChartHeight||v.chartHeight,y=d&&v.oldChartWidth||v.chartWidth,z;n=this.transB;var h=function(a,c,b){if(ab)f?a=Math.min(Math.max(c,a),b):z=!0;return a};e=x(e,this.translate(a,null,null,d));a=d=Math.round(e+n);n=g=Math.round(K-e-n);c(e)?this.horiz?(n=u,g=K-this.bottom,a=d=h(a,q,q+this.width)):(a=q,d=y-this.right,n=g=h(n,u,u+this.height)):z=!0;return z&&!f?null:v.renderer.crispLine(["M", +a,n,"L",d,g],b||1)},getLinearTickPositions:function(a,b,d){var v,f=r(Math.floor(b/a)*a),e=r(Math.ceil(d/a)*a),q=[];if(b===d&&c(b))return[b];for(b=f;b<=e;){q.push(b);b=r(b+a);if(b===v)break;v=b}return q},getMinorTickPositions:function(){var a=this.options,c=this.tickPositions,b=this.minorTickInterval,d=[],f,e=this.pointRangePadding||0;f=this.min-e;var e=this.max+e,q=e-f;if(q&&q/b=this.minRange,q,u,n,g,y,h;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(t(a.min)||t(a.max)?this.minRange=null:(e(this.series,function(a){g=a.xData;for(u=y=a.xIncrement? +1:g.length-1;0=E?(p=E,m=0):b.dataMax<=E&&(J=E,I=0)),b.min=x(w,p,b.dataMin),b.max=x(B,J,b.dataMax));q&&(!a&&0>=Math.min(b.min, +x(b.dataMin,b.min))&&g(10,1),b.min=r(u(b.min),15),b.max=r(u(b.max),15));b.range&&t(b.max)&&(b.userMin=b.min=w=Math.max(b.min,b.minFromRange()),b.userMax=B=b.max,b.range=null);C(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(l||b.axisPointRange||b.usePercentage||h)&&t(b.min)&&t(b.max)&&(u=b.max-b.min)&&(!t(w)&&m&&(b.min-=u*m),!t(B)&&I&&(b.max+=u*I));c(f.floor)?b.min=Math.max(b.min,f.floor):c(f.softMin)&&(b.min=Math.min(b.min,f.softMin));c(f.ceiling)?b.max=Math.min(b.max, +f.ceiling):c(f.softMax)&&(b.max=Math.max(b.max,f.softMax));M&&t(b.dataMin)&&(E=E||0,!t(w)&&b.min=E?b.min=E:!t(B)&&b.max>E&&b.dataMax<=E&&(b.max=E));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:h&&!k&&F===b.linkedParent.options.tickPixelInterval?k=b.linkedParent.tickInterval:x(k,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,l?1:(b.max-b.min)*F/Math.max(b.len,F));y&&!a&&e(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0); +b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!k&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));a=x(f.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!k&&b.tickIntervalb.tickInterval&&1E3b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval= +b.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,d=a.tickPositioner,f=a.startOnTick,e=a.endOnTick,q;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units), +this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,d&&(d=d.apply(this,[this.min,this.max])))&&(this.tickPositions=b=d);this.isLinked||(this.trimTicks(b,f,e),this.min===this.max&&t(this.min)&&!this.tickAmount&&(q=!0,this.min-=.5,this.max+=.5),this.single=q,c||d||this.adjustTickAmount())}, +trimTicks:function(a,b,c){var d=a[0],f=a[a.length-1],v=this.minPointOffset||0;if(b)this.min=d;else for(;this.min-v>a[0];)a.shift();if(c)this.max=f;else for(;this.max+vb&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,d=this.finalTickAmt,f=b&&b.length;if(fc&&(this.tickInterval*= +2,this.setTickPositions());if(t(d)){for(a=c=b.length;a--;)(3===d&&1===a%2||2>=d&&0=f&&(b=f)),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=this.horiz,f=x(b.width,a.plotWidth-c+(b.offsetRight||0)),e=x(b.height,a.plotHeight),q=x(b.top,a.plotTop),b=x(b.left,a.plotLeft+c),c=/%$/;c.test(e)&&(e=Math.round(parseFloat(e)/ +100*a.plotHeight));c.test(q)&&(q=Math.round(parseFloat(q)/100*a.plotHeight+a.plotTop));this.left=b;this.top=q;this.width=f;this.height=e;this.bottom=a.chartHeight-e-q;this.right=a.chartWidth-f-b;this.len=Math.max(d?f:e,0);this.pos=d?b:q},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?r(b(this.min)):this.min,max:a?r(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=this.lin2log, +d=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=d:d>a?a=d:ba?"right":195a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],d=x(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(d&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,d]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize, +this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,d=c,f=this.len/(((this.categories?1:0)+this.max-this.min)/c),q,u=a.rotation,n=this.labelMetrics(),g,y=Number.MAX_VALUE,h,I=function(a){a/=f||1;a=1=a)g=I(Math.abs(n.h/Math.sin(k*a))),b=g+Math.abs(a/360),b(c.step||0)&&!c.rotation&&(this.staggerLines||1)*a.plotWidth/d||!b&&(f&&f-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,d=this.ticks,f=this.options.labels,q=this.horiz,u=this.getSlotWidth(),g=Math.max(1, +Math.round(u-2*(f.padding||5))),y={},h=this.labelMetrics(),I=f.style&&f.style.textOverflow,A,x=0,m,k;F(f.rotation)||(y.rotation=f.rotation||0);e(c,function(a){(a=d[a])&&a.labelLength>x&&(x=a.labelLength)});this.maxLabelLength=x;if(this.autoRotation)x>g&&x>h.h?y.rotation=this.labelRotation:this.labelRotation=0;else if(u&&(A={width:g+"px"},!I))for(A.textOverflow="clip",m=c.length;!q&&m--;)if(k=c[m],g=d[k].label)g.styles&&"ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):d[k].labelLength> +u&&g.css({width:u+"px"}),g.getBBox().height>this.len/c.length-(h.h-h.f)&&(g.specCss={textOverflow:"ellipsis"});y.rotation&&(A={width:(x>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},I||(A.textOverflow="ellipsis"));if(this.labelAlign=f.align||this.autoLabelAlign(this.labelRotation))y.align=this.labelAlign;e(c,function(a){var b=(a=d[a])&&a.label;b&&(b.attr(y),A&&b.css(n(A,b.specCss)),delete b.specCss,a.rotation=y.rotation)});this.tickRotCorr=b.rotCorr(h.b,this.labelRotation||0,0!==this.side)}, +hasData:function(){return this.hasVisibleSeries||t(this.min)&&t(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,f=a.tickPositions,q=a.ticks,u=a.horiz,n=a.side,g=b.inverted?[1,0,3,2][n]:n,y,h,I=0,A,m=0,k=d.title,F=d.labels,E=0,l=a.opposite,C=b.axisOffset,b=b.clipOffset,p=[-1,1,1,-1][n],r,J=d.className,w=a.axisParent,B=this.tickSize("tick");y=a.hasData();a.showAxis=h=y||x(d.showEmpty,!0);a.staggerLines=a.horiz&&F.staggerLines;a.axisGroup||(a.gridGroup= +c.g("grid").attr({zIndex:d.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(J||"")).add(w),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(J||"")).add(w),a.labelGroup=c.g("axis-labels").attr({zIndex:F.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(J||"")).add(w));if(y||a.isLinked)e(f,function(b){q[b]?q[b].addLabel():q[b]=new M(a,b)}),a.renderUnsquish(),!1===F.reserveSpace||0!==n&&2!==n&&{1:"left",3:"right"}[n]!== +a.labelAlign&&"center"!==a.labelAlign||e(f,function(a){E=Math.max(q[a].getLabelSize(),E)}),a.staggerLines&&(E*=a.staggerLines,a.labelOffset=E*(a.opposite?-1:1));else for(r in q)q[r].destroy(),delete q[r];k&&k.text&&!1!==k.enabled&&(a.axisTitle||((r=k.textAlign)||(r=(u?{low:"left",middle:"center",high:"right"}:{low:l?"right":"left",middle:"center",high:l?"left":"right"})[k.align]),a.axisTitle=c.text(k.text,0,0,k.useHTML).attr({zIndex:7,rotation:k.rotation||0,align:r}).addClass("highcharts-axis-title").css(k.style).add(a.axisGroup), +a.axisTitle.isNew=!0),h&&(I=a.axisTitle.getBBox()[u?"height":"width"],A=k.offset,m=t(A)?0:x(k.margin,u?5:10)),a.axisTitle[h?"show":"hide"](!0));a.renderLine();a.offset=p*x(d.offset,C[n]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===n?-a.labelMetrics().h:2===n?a.tickRotCorr.y:0;m=Math.abs(E)+m;E&&(m=m-c+p*(u?x(F.y,a.tickRotCorr.y+8*p):F.x));a.axisTitleMargin=x(A,m);C[n]=Math.max(C[n],a.axisTitleMargin+I+p*a.offset,m,y&&f.length&&B?B[0]:0);d=d.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[g]= +Math.max(b[g],d)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,f=this.horiz,e=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",f?this.left:e,f?d:this.top,"L",f?b.chartWidth-this.right:e,f?d:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor, +"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,f=this.options.title,e=a?b:c,q=this.opposite,u=this.offset,n=f.x||0,g=f.y||0,y=this.chart.renderer.fontMetrics(f.style&&f.style.fontSize,this.axisTitle).f,d={low:e+(a?0:d),middle:e+d/2,high:e+(a?d:0)}[f.align],b=(a?c+this.height:b)+(a?1:-1)*(q?-1:1)*this.axisTitleMargin+(2===this.side?y:0);return{x:a?d+n:b+(q?this.width:0)+u+n,y:a?b+g-(q?this.height:0)+u:d+g}},render:function(){var a= +this,b=a.chart,d=b.renderer,f=a.options,q=a.isLog,u=a.lin2log,n=a.isLinked,g=a.tickPositions,y=a.axisTitle,h=a.ticks,A=a.minorTicks,x=a.alternateBands,m=f.stackLabels,k=f.alternateGridColor,F=a.tickmarkOffset,E=a.axisLine,l=b.hasRendered&&c(a.oldMin),C=a.showAxis,p=B(d.globalAnimation),r,t;a.labelEdge.length=0;a.overlap=!1;e([h,A,x],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||n)a.minorTickInterval&&!a.categories&&e(a.getMinorTickPositions(),function(b){A[b]||(A[b]=new M(a,b,"minor")); +l&&A[b].isNew&&A[b].render(null,!0);A[b].render(null,!1,1)}),g.length&&(e(g,function(b,c){if(!n||b>=a.min&&b<=a.max)h[b]||(h[b]=new M(a,b)),l&&h[b].isNew&&h[b].render(c,!0,.1),h[b].render(c)}),F&&(0===a.min||a.single)&&(h[-1]||(h[-1]=new M(a,-1,null,!0)),h[-1].render(-1))),k&&e(g,function(c,d){t=void 0!==g[d+1]?g[d+1]+F:a.max-F;0===d%2&&c=e.second?0:A*Math.floor(c.getMilliseconds()/A));if(n>=e.second)c[B.hcSetSeconds](n>=e.minute?0:A*Math.floor(c.getSeconds()/ +A));if(n>=e.minute)c[B.hcSetMinutes](n>=e.hour?0:A*Math.floor(c[B.hcGetMinutes]()/A));if(n>=e.hour)c[B.hcSetHours](n>=e.day?0:A*Math.floor(c[B.hcGetHours]()/A));if(n>=e.day)c[B.hcSetDate](n>=e.month?1:A*Math.floor(c[B.hcGetDate]()/A));n>=e.month&&(c[B.hcSetMonth](n>=e.year?0:A*Math.floor(c[B.hcGetMonth]()/A)),g=c[B.hcGetFullYear]());if(n>=e.year)c[B.hcSetFullYear](g-g%A);if(n===e.week)c[B.hcSetDate](c[B.hcGetDate]()-c[B.hcGetDay]()+m(f,1));g=c[B.hcGetFullYear]();f=c[B.hcGetMonth]();var C=c[B.hcGetDate](), +y=c[B.hcGetHours]();if(B.hcTimezoneOffset||B.hcGetTimezoneOffset)x=(!q||!!B.hcGetTimezoneOffset)&&(k-h>4*e.month||t(h)!==t(k)),c=c.getTime(),c=new B(c+t(c));q=c.getTime();for(h=1;qr&&(!t||b<=w)&&void 0!==b&&h.push(b),b>w&&(q=!0),b=d;else r=e(r),w= +e(w),a=k[t?"minorTickInterval":"tickInterval"],a=p("auto"===a?null:a,this._minorAutoInterval,k.tickPixelInterval/(t?5:1)*(w-r)/((t?m/this.tickPositions.length:m)||1)),a=H(a,null,B(a)),h=G(this.getLinearTickPositions(a,r,w),g),t||(this._minorAutoInterval=a/5);t||(this.tickInterval=a);return h};D.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};D.prototype.lin2log=function(a){return Math.pow(10,a)}})(N);(function(a){var D=a.dateFormat,B=a.each,G=a.extend,H=a.format,p=a.isNumber,l=a.map,r= +a.merge,w=a.pick,t=a.splat,k=a.stop,m=a.syncTimeout,e=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,e){this.chart=a;this.options=e;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=e.split&&!a.inverted;this.shared=e.shared||this.split},cleanSplit:function(a){B(this.chart.series,function(e){var g=e&&e.tt;g&&(!g.isActive||a?e.tt=g.destroy():g.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,e=this.options;this.label|| +(this.split?this.label=a.g("tooltip"):(this.label=a.label("",0,0,e.shape||"callout",null,null,e.useHTML,null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),this.label.attr({fill:e.backgroundColor,"stroke-width":e.borderWidth}).css(e.style).shadow(e.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,r(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart, +!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,e,m,f){var d=this,b=d.now,q=!1!==d.options.animation&&!d.isHidden&&(1h-q?h:h-q);else if(v)b[a]=Math.max(g,e+q+f>c?e:e+q);else return!1},x=function(a,c,f,e){var q;ec-d?q=!1:b[a]=ec-f/2?c-f-2:e-f/2;return q},k=function(a){var b=c;c=h;h=b;g=a},y=function(){!1!==A.apply(0,c)?!1!==x.apply(0,h)||g||(k(!0),y()):g?b.x=b.y=0:(k(!0),y())};(f.inverted||1y&&(q=!1);a=(e.series&&e.series.yAxis&&e.series.yAxis.pos)+(e.plotY||0);a-=d.plotTop;f.push({target:e.isHeader?d.plotHeight+c:a,rank:e.isHeader?1:0,size:n.tt.getBBox().height+1,point:e,x:y,tt:A})});this.cleanSplit(); +a.distribute(f,d.plotHeight+c);B(f,function(a){var b=a.point;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:q||b.isHeader?a.x:b.plotX+d.plotLeft+w(m.distance,16),y:a.pos+d.plotTop,anchorX:b.plotX+d.plotLeft,anchorY:b.isHeader?a.pos+d.plotTop-15:b.plotY+d.plotTop})})},updatePosition:function(a){var e=this.chart,g=this.getLabel(),g=(this.options.positioner||this.getPosition).call(this,g.width,g.height,a);this.move(Math.round(g.x),Math.round(g.y||0),a.plotX+e.plotLeft,a.plotY+e.plotTop)}, +getXDateFormat:function(a,h,m){var f;h=h.dateTimeLabelFormats;var d=m&&m.closestPointRange,b,q={millisecond:15,second:12,minute:9,hour:6,day:3},g,c="millisecond";if(d){g=D("%m-%d %H:%M:%S.%L",a.x);for(b in e){if(d===e.week&&+D("%w",a.x)===m.options.startOfWeek&&"00:00:00.000"===g.substr(6)){b="week";break}if(e[b]>d){b=c;break}if(q[b]&&g.substr(q[b])!=="01-01 00:00:00.000".substr(q[b]))break;"week"!==b&&(c=b)}b&&(f=h[b])}else f=h.day;return f||h.year},tooltipFooterHeaderFormatter:function(a,e){var g= +e?"footer":"header";e=a.series;var f=e.tooltipOptions,d=f.xDateFormat,b=e.xAxis,q=b&&"datetime"===b.options.type&&p(a.key),g=f[g+"Format"];q&&!d&&(d=this.getXDateFormat(a,f,b));q&&d&&(g=g.replace("{point.key}","{point.key:"+d+"}"));return H(g,{point:a,series:e})},bodyFormatter:function(a){return l(a,function(a){var e=a.series.tooltipOptions;return(e.pointFormatter||a.point.tooltipFormatter).call(a.point,e.pointFormat)})}}})(N);(function(a){var D=a.addEvent,B=a.attr,G=a.charts,H=a.color,p=a.css,l= +a.defined,r=a.doc,w=a.each,t=a.extend,k=a.fireEvent,m=a.offset,e=a.pick,g=a.removeEvent,h=a.splat,C=a.Tooltip,f=a.win;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=b.chart.events&&!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};C&&b.tooltip.enabled&&(a.tooltip=new C(a,b.tooltip),this.followTouchMove=e(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,d=b.options.chart, +f=d.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(f=e(d.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=f=/y/.test(f);this.zoomHor=a&&!b||f&&b;this.zoomVert=f&&!b||a&&b;this.hasZoom=a||f},normalize:function(a,b){var d,e;a=a||f.event;a.target||(a.target=a.srcElement);e=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=m(this.chart.container));void 0===e.pageX?(d=Math.max(a.x,a.clientX-b.left),b=a.y):(d=e.pageX-b.left,b=e.pageY-b.top);return t(a,{chartX:Math.round(d), +chartY:Math.round(b)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};w(this.chart.axes,function(d){b[d.isXAxis?"xAxis":"yAxis"].push({axis:d,value:d.toValue(a[d.horiz?"chartX":"chartY"])})});return b},runPointActions:function(d){var b=this.chart,f=b.series,g=b.tooltip,c=g?g.shared:!1,h=!0,n=b.hoverPoint,m=b.hoverSeries,x,k,y,u=[],I;if(!c&&!m)for(x=0;xb.series.index?-1:1}));if(c)for(x=u.length;x--;)(u[x].x!==u[0].x||u[x].series.noSharedTooltip)&&u.splice(x,1);if(u[0]&&(u[0]!==this.prevKDPoint||g&&g.isHidden)){if(c&& +!u[0].series.noSharedTooltip){for(x=0;xh+k&&(f=h+k),cm+y&&(c=m+y),this.hasDragged=Math.sqrt(Math.pow(l-f,2)+Math.pow(v-c,2)),10x.max&&(l=x.max-c,v=!0);v?(u-=.8*(u-g[f][0]),J||(M-=.8*(M-g[f][1])),p()):g[f]=[u,M];A||(e[f]=F-E,e[q]=c);e=A?1/n:n;m[q]=c;m[f]=l;k[A?a?"scaleY":"scaleX":"scale"+d]=n;k["translate"+d]=e* +E+(u-e*y)},pinch:function(a){var r=this,t=r.chart,k=r.pinchDown,m=a.touches,e=m.length,g=r.lastValidTouch,h=r.hasZoom,C=r.selectionMarker,f={},d=1===e&&(r.inClass(a.target,"highcharts-tracker")&&t.runTrackerClick||r.runChartClick),b={};1b-6&&n(u||d.chartWidth- +2*x-v-e.x)&&(this.itemX=v,this.itemY+=p+this.lastLineHeight+I,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,c);this.lastItemY=p+this.itemY+I;this.lastLineHeight=Math.max(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=c:(this.itemY+=p+g+I,this.lastLineHeight=g);this.offsetWidth=u||Math.max((f?this.itemX-v-l:c)+x,this.offsetWidth)},getAllItems:function(){var a=[];l(this.chart.series,function(d){var b=d&&d.options;d&&m(b.showInLegend,p(b.linkedTo)? +!1:void 0,!0)&&(a=a.concat(d.legendItems||("point"===b.legendType?d.data:d)))});return a},adjustMargins:function(a,d){var b=this.chart,e=this.options,f=e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0);e.floating||l([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(c,g){c.test(f)&&!p(a[g])&&(b[t[g]]=Math.max(b[t[g]],b.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*e[g%2?"x":"y"]+m(e.margin,12)+d[g]))})},render:function(){var a=this,d=a.chart,b=d.renderer, +e=a.group,h,c,m,n,k=a.box,x=a.options,p=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;e||(a.group=e=b.g("legend").attr({zIndex:7}).add(),a.contentGroup=b.g().attr({zIndex:1}).add(e),a.scrollGroup=b.g().add(a.contentGroup));a.renderTitle();h=a.getAllItems();g(h,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});x.reversed&&h.reverse();a.allItems=h;a.display=c=!!h.length;a.lastLineHeight=0;l(h,function(b){a.renderItem(b)}); +m=(x.width||a.offsetWidth)+p;n=a.lastItemY+a.lastLineHeight+a.titleHeight;n=a.handleOverflow(n);n+=p;k||(a.box=k=b.rect().addClass("highcharts-legend-box").attr({r:x.borderRadius}).add(e),k.isNew=!0);k.attr({stroke:x.borderColor,"stroke-width":x.borderWidth||0,fill:x.backgroundColor||"none"}).shadow(x.shadow);0b&&!1!==h.enabled?(this.clipHeight=g=Math.max(b-20-this.titleHeight-I,0),this.currentPage=m(this.currentPage,1),this.fullHeight=a,l(v,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=u.length;if(!d||c-u[d-1]>g&&(r||c)!==u[d-1])u.push(r||c),d++;b===v.length-1&&c+a-u[d-1]>g&&u.push(c);c!==r&&(r=c)}),n||(n=d.clipRect= +e.clipRect(0,I,9999,0),d.contentGroup.clip(n)),t(g),y||(this.nav=y=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,p,p).on("click",function(){d.scroll(-1,k)}).add(y),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").css(h.style).add(y),this.down=e.symbol("triangle-down",0,0,p,p).on("click",function(){d.scroll(1,k)}).add(y)),d.scroll(0),a=b):y&&(t(),y.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,d){var b=this.pages, +f=b.length;a=this.currentPage+a;var g=this.clipHeight,c=this.options.navigation,h=this.pager,n=this.padding;a>f&&(a=f);0f&&(g=typeof a[0],"string"===g?e.name=a[0]:"number"===g&&(e.x=a[0]),d++);b=h.value;)h=e[++g];h&&h.color&&!this.options.color&&(this.color=h.color);return h},destroy:function(){var a=this.series.chart,e=a.hoverPoints,g;a.pointCount--;e&&(this.setState(),H(e,this),e.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)k(this), +this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],e,g=6;g--;)e=a[g],this[e]&&(this[e]=this[e].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var e=this.series,g= +e.tooltipOptions,h=t(g.valueDecimals,""),k=g.valuePrefix||"",f=g.valueSuffix||"";B(e.pointArrayMap||["y"],function(d){d="{point."+d;if(k||f)a=a.replace(d+"}",k+d+"}"+f);a=a.replace(d+"}",d+":,."+h+"f}")});return l(a,{point:this,series:this.series})},firePointEvent:function(a,e,g){var h=this,k=this.series.options;(k.point.events[a]||h.options&&h.options.events&&h.options.events[a])&&this.importEvents();"click"===a&&k.allowPointSelect&&(g=function(a){h.select&&h.select(null,a.ctrlKey||a.metaKey||a.shiftKey)}); +p(this,a,e,g)},visible:!0}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.correctFloat,l=a.Date,r=a.defaultOptions,w=a.defaultPlotOptions,t=a.defined,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.fireEvent,C=a.grep,f=a.isArray,d=a.isNumber,b=a.isString,q=a.merge,E=a.pick,c=a.removeEvent,F=a.splat,n=a.stableSort,A=a.SVGElement,x=a.syncTimeout,J=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{}, +marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1, +marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,d,e,f=a.series,u,y=function(a,b){return E(a.options.index,a._i)-E(b.options.index,b._i)};c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();g(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0=== +b.selected});e=b.events;for(d in e)D(c,d,e[d]);if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();k(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);f.length&&(u=f[f.length-1]);c._i=E(u&&u._i,-1)+1;f.push(c);n(f,y);this.yAxis&&n(this.yAxis.series,y);k(f,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a=this,b=a.options,c=a.chart, +d;k(a.axisTypes||[],function(f){k(c[f],function(c){d=c.options;if(b[f]===d.index||void 0!==b[f]&&b[f]===d.id||void 0===b[f]&&0===d.index)c.series.push(a),a[f]=c,c.isDirty=!0});a[f]||a.optionalAxis===f||e(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,e=arguments,f=d(b)?function(d){var e="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=e}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(e,2))};k(c.parallelArrays,f)},autoIncrement:function(){var a=this.options, +b=this.xIncrement,c,d=a.pointIntervalUnit,b=E(b,a.pointStart,0);this.pointInterval=c=E(this.pointInterval,a.pointInterval,1);d&&(a=new l(b),"day"===d?a=+a[l.hcSetDate](a[l.hcGetDate]()+c):"month"===d?a=+a[l.hcSetMonth](a[l.hcGetMonth]()+c):"year"===d&&(a=+a[l.hcSetFullYear](a[l.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=q(e,c.series,a);this.tooltipOptions= +q(r.tooltip,r.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);null===e.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative",color:c.negativeColor,fillColor:c.negativeFillColor});a.length&&t(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor}); +return c},getCyclic:function(a,b,c){var d,e=this.userOptions,f=a+"Index",g=a+"Counter",u=c?c.length:E(this.chart.options.chart[a+"Count"],this.chart[a+"Count"]);b||(d=E(e[f],e["_"+f]),t(d)||(e["_"+f]=d=this.chart[g]%u,this.chart[g]+=1),c&&(b=c[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||w[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol, +this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(a,c,g,n){var u=this,q=u.points,h=q&&q.length||0,y,m=u.options,x=u.chart,A=null,I=u.xAxis,l=m.turboThreshold,p=this.xData,r=this.yData,F=(y=u.pointArrayMap)&&y.length;a=a||[];y=a.length;c=E(c,!0);if(!1!==n&&y&&h===y&&!u.cropped&&!u.hasGroupedData&&u.visible)k(a,function(a,b){q[b].update&&a!==m.data[b]&&q[b].update(a,!1,null,!1)});else{u.xIncrement=null;u.colorCounter=0;k(this.parallelArrays,function(a){u[a+ +"Data"].length=0});if(l&&y>l){for(g=0;null===A&&gh||this.forceCrop))if(b[d-1]l)b=[],c=[];else if(b[0]l)f=this.cropData(this.xData,this.yData,A,l),b=f.xData,c=f.yData,f=f.start,g=!0;for(h=b.length||1;--h;)d=x?y(b[h])-y(b[h-1]):b[h]-b[h-1],0d&&this.requireSorting&&e(15);this.cropped=g;this.cropStart=f;this.processedXData=b;this.processedYData=c;this.closestPointRange=n},cropData:function(a,b,c,d){var e=a.length,f=0,g=e,n=E(this.cropShoulder,1),u;for(u=0;u=c){f=Math.max(0,u- +n);break}for(c=u;cd){g=c+n;break}return{xData:a.slice(f,g),yData:b.slice(f,g),start:f,end:g}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,n=this.cropStart||0,q,h=this.hasGroupedData,k,m=[],x;b||h||(b=[],b.length=a.length,b=this.data=b);for(x=0;x=q&&(c[x-1]||k)<=h,y&&k)if(y=m.length)for(;y--;)null!==m[y]&&(g[n++]=m[y]);else g[n++]=m;this.dataMin=H(g);this.dataMax=G(g)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,e=c.categories,f=this.yAxis,g=this.points,n=g.length,q=!!this.modifyValue,h=a.pointPlacement,k="between"===h||d(h),m=a.threshold,x=a.startFromThreshold?m:0,A,l,r,F,J=Number.MAX_VALUE;"between"===h&&(h=.5);d(h)&&(h*=E(a.pointRange||c.pointRange)); +for(a=0;a=B&&(C.isNull=!0);C.plotX=A=p(Math.min(Math.max(-1E5,c.translate(w,0,0,0,1,h,"flags"===this.type)),1E5));b&&this.visible&&!C.isNull&&D&&D[w]&&(F=this.getStackIndicator(F,w,this.index),G=D[w],B=G.points[F.key],l=B[0],B=B[1],l===x&&F.key===D[w].base&&(l=E(m,f.min)),f.isLog&&0>=l&&(l=null),C.total=C.stackTotal=G.total,C.percentage=G.total&&C.y/G.total*100,C.stackY= +B,G.setOffset(this.pointXOffset||0,this.barW||0));C.yBottom=t(l)?f.translate(l,0,1,0,1):null;q&&(B=this.modifyValue(B,C));C.plotY=l="number"===typeof B&&Infinity!==B?Math.min(Math.max(-1E5,f.translate(B,0,1,0,1)),1E5):void 0;C.isInside=void 0!==l&&0<=l&&l<=f.len&&0<=A&&A<=c.len;C.clientX=k?p(c.translate(w,0,0,0,1,h)):A;C.negative=C.y<(m||0);C.category=e&&void 0!==e[C.x]?e[C.x]:C.x;C.isNull||(void 0!==r&&(J=Math.min(J,Math.abs(A-r))),r=A)}this.closestPointRangePx=J},getValidPoints:function(a,b){var c= +this.chart;return C(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,f=this.clipBox,g=f||b.clipBox,n=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,g.height,c.xAxis,c.yAxis].join(),q=b[n],h=b[n+"m"];q||(a&&(g.width=0,b[n+"m"]=h=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[n]=q=d.clipRect(g),q.count={length:0});a&&!q.count[this.index]&& +(q.count[this.index]=!0,q.count.length+=1);!1!==c.clip&&(this.group.clip(a||f?q:b.clipRect),this.markerGroup.clip(h),this.sharedClipKey=n);a||(q.count[this.index]&&(delete q.count[this.index],--q.count.length),0===q.count.length&&n&&b[n]&&(f||(b[n]=b[n].destroy()),b[n+"m"]&&(b[n+"m"]=b[n+"m"].destroy())))},animate:function(a){var b=this.chart,c=B(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+ +99},c),this.animate=null)},afterAnimate:function(){this.setClip();h(this,"afterAnimate")},drawPoints:function(){var a=this.points,b=this.chart,c,e,f,g,n=this.options.marker,q,h,k,m,x=this.markerGroup,A=E(n.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>2*n.radius);if(!1!==n.enabled||this._hasPointMarkers)for(e=a.length;e--;)f=a[e],c=f.plotY,g=f.graphic,q=f.marker||{},h=!!f.marker,k=A&&void 0===q.enabled||q.enabled,m=f.isInside,k&&d(c)&&null!==f.y?(c=E(q.symbol,this.symbol),f.hasImage= +0===c.indexOf("url"),k=this.markerAttribs(f,f.selected&&"select"),g?g[m?"show":"hide"](!0).animate(k):m&&(0e&&b.shadow));g&&(g.startX=c.xMap, +g.isArea=c.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,f,g=this.clips||[],n,q=this.graph,h=this.area,m=Math.max(b.chartWidth,b.chartHeight),x=this[(this.zoneAxis||"y")+"Axis"],A,l,p=b.inverted,r,F,C,t,J=!1;d.length&&(q||h)&&x&&void 0!==x.min&&(l=x.reversed,r=x.horiz,q&&q.hide(),h&&h.hide(),A=x.getExtremes(),k(d,function(d,u){e=l?r?b.plotWidth:0:r?0:x.toPixels(A.min);e=Math.min(Math.max(E(f,e),0),m);f=Math.min(Math.max(Math.round(x.toPixels(E(d.value,A.max), +!0)),0),m);J&&(e=f=x.toPixels(A.max));F=Math.abs(e-f);C=Math.min(e,f);t=Math.max(e,f);x.isXAxis?(n={x:p?t:C,y:0,width:F,height:m},r||(n.x=b.plotHeight-n.x)):(n={x:0,y:p?t:C,width:m,height:F},r&&(n.y=b.plotWidth-n.y));p&&c.isVML&&(n=x.isXAxis?{x:0,y:l?C:t,height:n.width,width:b.chartWidth}:{x:n.y-b.plotLeft-b.spacingBox.x,y:0,width:n.height,height:b.chartHeight});g[u]?g[u].animate(n):(g[u]=c.clipRect(n),q&&a["zone-graph-"+u].clip(g[u]),h&&a["zone-area-"+u].clip(g[u]));J=d.value>A.max}),this.clips= +g)},invertGroups:function(a){function b(){var b={width:c.yAxis.len,height:c.xAxis.len};k(["group","markerGroup"],function(d){c[d]&&c[d].attr(b).invert(a)})}var c=this,d;c.xAxis&&(d=D(c.chart,"resize",b),D(c,"destroy",d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({zIndex:d||.1}).add(e),f.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className|| +"")));f.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&B(d.animation).duration,f=a.visible?"inherit":"hidden",g=d.zIndex,n=a.hasRendered,q=b.seriesGroup,h=b.inverted;c=a.plotGroup("group","series",f,g,q);a.markerGroup= +a.plotGroup("markerGroup","markers",f,g,q);e&&a.animate(!0);c.inverted=a.isCartesian?h:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(h);!1===d.clip||a.sharedClipKey||n||c.clip(b.clipRect);e&&a.animate();n||(a.animationTimeout=x(function(){a.afterAnimate()},e));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty|| +this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:E(d&&d.left,a.plotLeft),translateY:E(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)}, +buildKDTree:function(){function a(c,d,e){var f,g;if(g=c&&c.length)return f=b.kdAxisArray[d%e],c.sort(function(a,b){return a[f]-b[f]}),g=Math.floor(g/2),{point:c[g],left:a(c.slice(0,g),d+1,e),right:a(c.slice(g+1),d+1,e)}}var b=this,c=b.kdDimensions;delete b.kdTree;x(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,n,q){var h=b.point,u=d.kdAxisArray[n%q],k,m,x=h;m=t(a[e])&&t(h[e])?Math.pow(a[e]-h[e],2):null;k=t(a[f])&& +t(h[f])?Math.pow(a[f]-h[f],2):null;k=(m||0)+(k||0);h.dist=t(k)?Math.sqrt(k):Number.MAX_VALUE;h.distX=t(m)?Math.sqrt(m):Number.MAX_VALUE;u=a[u]-h[u];k=0>u?"left":"right";m=0>u?"right":"left";b[k]&&(k=c(a,b[k],n+1,q),x=k[g]A;)l--;this.updateParallelArrays(h,"splice",l,0,0);this.updateParallelArrays(h,l);n&&h.name&&(n[A]=h.name);q.splice(l,0,a);m&&(this.data.splice(l,0,null),this.processData());"point"===c.legendType&&this.generatePoints();d&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(h,"shift"),q.shift()));this.isDirtyData=this.isDirty=!0;b&&g.redraw(e)},removePoint:function(a, +b,d){var c=this,e=c.data,f=e[a],g=c.points,n=c.chart,h=function(){g&&g.length===e.length&&g.splice(a,1);e.splice(a,1);c.options.data.splice(a,1);c.updateParallelArrays(f||{series:c},"splice",a,1);f&&f.destroy();c.isDirty=!0;c.isDirtyData=!0;b&&n.redraw()};q(d,n);b=C(b,!0);f?f.firePointEvent("remove",null,h):h()},remove:function(a,b,d){function c(){e.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();C(a,!0)&&f.redraw(b)}var e=this,f=e.chart;!1!==d?k(e,"remove",null,c):c()},update:function(a, +d){var c=this,e=this.chart,f=this.userOptions,g=this.type,q=a.type||f.type||e.options.chart.type,u=b[g].prototype,m=["group","markerGroup","dataLabelsGroup"],k;if(q&&q!==g||void 0!==a.zIndex)m.length=0;r(m,function(a){m[a]=c[a];delete c[a]});a=h(f,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(k in u)this[k]=void 0;t(this,b[q||g].prototype);r(m,function(a){c[a]=m[a]});this.init(e,a);e.linkSeries();C(d,!0)&&e.redraw(!1)}});t(G.prototype, +{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=h(this.userOptions,a);this.destroy(!0);this.init(c,t(a,{events:void 0}));c.isDirtyBox=!0;C(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);w(b.axes,this);w(b[c],this);b.options[c].splice(this.options.index,1);r(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;C(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a}, +b)},setCategories:function(a,b){this.update({categories:a},b)}})})(N);(function(a){var D=a.color,B=a.each,G=a.map,H=a.pick,p=a.Series,l=a.seriesType;l("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],l=[],p=this.xAxis,k=this.yAxis,m=k.stacks[this.stackKey],e={},g=this.points,h=this.index,C=k.series,f=C.length,d,b=H(k.options.reversedStacks,!0)?1:-1,q,E;if(this.options.stacking){for(q=0;qa&&t>l?(t=Math.max(a,l),m=2*l-t):tH&& +m>l?(m=Math.max(H,l),t=2*l-m):m=Math.abs(g)&&.5a.closestPointRange*a.xAxis.transA,k=a.borderWidth=r(h.borderWidth,k?0:1),f=a.yAxis,d=a.translatedThreshold=f.getThreshold(h.threshold),b=r(h.minPointLength,5),q=a.getColumnMetrics(),m=q.width,c=a.barW=Math.max(m,1+2*k),l=a.pointXOffset= +q.offset;g.inverted&&(d-=.5);h.pointPadding&&(c=Math.ceil(c));w.prototype.translate.apply(a);G(a.points,function(e){var n=r(e.yBottom,d),q=999+Math.abs(n),q=Math.min(Math.max(-q,e.plotY),f.len+q),h=e.plotX+l,k=c,u=Math.min(q,n),p,t=Math.max(q,n)-u;Math.abs(t)b?n-b:d-(p?b:0));e.barX=h;e.pointWidth=m;e.tooltipPos=g.inverted?[f.len+f.pos-g.plotLeft-q,a.xAxis.len-h-k/2,t]:[h+k/2,q+f.pos-g.plotTop,t];e.shapeType="rect";e.shapeArgs= +a.crispCol.apply(a,e.isNull?[e.plotX,f.len/2,0,0]:[h,u,k,t])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,g){var e=this.options,k=this.pointAttrToOptions||{},f=k.stroke||"borderColor",d=k["stroke-width"]||"borderWidth",b=a&&a.color||this.color,q=a[f]||e[f]||this.color||b,k=e.dashStyle,m;a&&this.zones.length&&(b=(b=a.getZone())&&b.color||a.options.color|| +this.color);g&&(g=e.states[g],m=g.brightness,b=g.color||void 0!==m&&B(b).brighten(g.brightness).get()||b,q=g[f]||q,k=g.dashStyle||k);a={fill:b,stroke:q,"stroke-width":a[d]||e[d]||this[d]||0};e.borderRadius&&(a.r=e.borderRadius);k&&(a.dashstyle=k);return a},drawPoints:function(){var a=this,g=this.chart,h=a.options,m=g.renderer,f=h.animationLimit||250,d;G(a.points,function(b){var e=b.graphic;p(b.plotY)&&null!==b.y?(d=b.shapeArgs,e?(k(e),e[g.pointCountt;++t)k=r[t],a=2>t||2===t&&/%$/.test(k),r[t]=B(k,[l,H,w,r[2]][t])+(a?p:0);r[3]>r[2]&&(r[3]=r[2]);return r}}})(N);(function(a){var D=a.addEvent,B=a.defined,G=a.each,H=a.extend,p=a.inArray,l=a.noop,r=a.pick,w=a.Point,t=a.Series,k=a.seriesType,m=a.setAnimation;k("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y? +void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var e=this,h=e.points,k=e.startAngleRad;a||(G(h,function(a){var d= +a.graphic,b=a.shapeArgs;d&&(d.attr({r:a.startR||e.center[3]/2,start:k,end:k}),d.animate({r:b.r,start:b.start,end:b.end},e.options.animation))}),e.animate=null)},updateTotals:function(){var a,g=0,h=this.points,k=h.length,f,d=this.options.ignoreHiddenPoint;for(a=0;af.y&&(f.y=null),g+=d&&!f.visible?0:f.y;this.total=g;for(a=0;a1.5*Math.PI?q-=2*Math.PI:q<-Math.PI/2&&(q+=2*Math.PI);t.slicedTranslation={translateX:Math.round(Math.cos(q)*k),translateY:Math.round(Math.sin(q)*k)};d=Math.cos(q)*a[2]/2;b=Math.sin(q)*a[2]/2;t.tooltipPos=[a[0]+.7*d,a[1]+.7*b];t.half=q<-Math.PI/2||q>Math.PI/2?1:0;t.angle=q;f=Math.min(f,n/5);t.labelPos=[a[0]+d+Math.cos(q)*n,a[1]+b+Math.sin(q)*n,a[0]+d+Math.cos(q)*f,a[1]+b+Math.sin(q)* +f,a[0]+d,a[1]+b,0>n?"center":t.half?"right":"left",q]}},drawGraph:null,drawPoints:function(){var a=this,g=a.chart.renderer,h,k,f,d,b=a.options.shadow;b&&!a.shadowGroup&&(a.shadowGroup=g.g("shadow").add(a.group));G(a.points,function(e){if(null!==e.y){k=e.graphic;d=e.shapeArgs;h=e.sliced?e.slicedTranslation:{};var q=e.shadowGroup;b&&!q&&(q=e.shadowGroup=g.g("shadow").add(a.shadowGroup));q&&q.attr(h);f=a.pointAttribs(e,e.selected&&"select");k?k.setRadialReference(a.center).attr(f).animate(H(d,h)):(e.graphic= +k=g[e.shapeType](d).addClass(e.getClassName()).setRadialReference(a.center).attr(h).add(a.group),e.visible||k.attr({visibility:"hidden"}),k.attr(f).attr({"stroke-linejoin":"round"}).shadow(b,q))}})},searchPoint:l,sortByAngle:function(a,g){a.sort(function(a,e){return void 0!==a.angle&&(e.angle-a.angle)*g})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:l},{init:function(){w.prototype.init.apply(this,arguments);var a=this,g;a.name=r(a.name,"Slice"); +g=function(e){a.slice("select"===e.type)};D(a,"select",g);D(a,"unselect",g);return a},setVisible:function(a,g){var e=this,k=e.series,f=k.chart,d=k.options.ignoreHiddenPoint;g=r(g,d);a!==e.visible&&(e.visible=e.options.visible=a=void 0===a?!e.visible:a,k.options.data[p(e,k.data)]=e.options,G(["graphic","dataLabel","connector","shadowGroup"],function(b){if(e[b])e[b][a?"show":"hide"](!0)}),e.legendItem&&f.legend.colorizeItem(e,a),a||"hover"!==e.state||e.setState(""),d&&(k.isDirty=!0),g&&f.redraw())}, +slice:function(a,g,h){var e=this.series;m(h,e.chart);r(g,!0);this.sliced=this.options.sliced=a=B(a)?a:!this.sliced;e.options.data[p(this,e.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)},haloPath:function(a){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+a,e.r+a,{innerR:this.shapeArgs.r,start:e.start,end:e.end})}})})(N);(function(a){var D= +a.addEvent,B=a.arrayMax,G=a.defined,H=a.each,p=a.extend,l=a.format,r=a.map,w=a.merge,t=a.noop,k=a.pick,m=a.relativeLength,e=a.Series,g=a.seriesTypes,h=a.stableSort,C=a.stop;a.distribute=function(a,d){function b(a,b){return a.target-b.target}var e,f=!0,c=a,g=[],n;n=0;for(e=a.length;e--;)n+=a[e].size;if(n>d){h(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(n=e=0;n<=d;)n+=a[e].size,e++;g=a.splice(e-1,a.length)}h(a,b);for(a=r(a,function(a){return{size:a.size,targets:[a.target]}});f;){for(e=a.length;e--;)f= +a[e],n=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=Math.min(Math.max(0,n-f.size/2),d-f.size);e=a.length;for(f=!1;e--;)0a[e].pos&&(a[e-1].size+=a[e].size,a[e-1].targets=a[e-1].targets.concat(a[e].targets),a[e-1].pos+a[e-1].size>d&&(a[e-1].pos=d-a[e-1].size),a.splice(e,1),f=!0)}e=0;H(a,function(a){var b=0;H(a.targets,function(){c[e].pos=a.pos+b;b+=c[e].size;e++})});c.push.apply(c,g);h(c,b)};e.prototype.drawDataLabels=function(){var a=this,d=a.options, +b=d.dataLabels,e=a.points,g,c,h=a.hasRendered||0,n,m,x=k(b.defer,!0),r=a.chart.renderer;if(b.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(b),m=a.plotGroup("dataLabelsGroup","data-labels",x&&!h?"hidden":"visible",b.zIndex||6),x&&(m.attr({opacity:+h}),h||D(a,"afterAnimate",function(){a.visible&&m.show(!0);m[d.animation?"animate":"attr"]({opacity:1},{duration:200})})),c=b,H(e,function(e){var f,q=e.dataLabel,h,x,A=e.connector,y=!0,t,z={};g=e.dlOptions||e.options&&e.options.dataLabels; +f=k(g&&g.enabled,c.enabled)&&null!==e.y;if(q&&!f)e.dataLabel=q.destroy();else if(f){b=w(c,g);t=b.style;f=b.rotation;h=e.getLabelConfig();n=b.format?l(b.format,h):b.formatter.call(h,b);t.color=k(b.color,t.color,a.color,"#000000");if(q)G(n)?(q.attr({text:n}),y=!1):(e.dataLabel=q=q.destroy(),A&&(e.connector=A.destroy()));else if(G(n)){q={fill:b.backgroundColor,stroke:b.borderColor,"stroke-width":b.borderWidth,r:b.borderRadius||0,rotation:f,padding:b.padding,zIndex:1};"contrast"===t.color&&(z.color=b.inside|| +0>b.distance||d.stacking?r.getContrast(e.color||a.color):"#000000");d.cursor&&(z.cursor=d.cursor);for(x in q)void 0===q[x]&&delete q[x];q=e.dataLabel=r[f?"text":"label"](n,0,-9999,b.shape,null,null,b.useHTML,null,"data-label").attr(q);q.addClass("highcharts-data-label-color-"+e.colorIndex+" "+(b.className||""));q.css(p(t,z));q.add(m);q.shadow(b.shadow)}q&&a.alignDataLabel(e,q,b,null,y)}})};e.prototype.alignDataLabel=function(a,d,b,e,g){var c=this.chart,f=c.inverted,n=k(a.plotX,-9999),q=k(a.plotY, +-9999),h=d.getBBox(),m,l=b.rotation,u=b.align,r=this.visible&&(a.series.forceDL||c.isInsidePlot(n,Math.round(q),f)||e&&c.isInsidePlot(n,f?e.x+1:e.y+e.height-1,f)),t="justify"===k(b.overflow,"justify");r&&(m=b.style.fontSize,m=c.renderer.fontMetrics(m,d).b,e=p({x:f?c.plotWidth-q:n,y:Math.round(f?c.plotHeight-n:q),width:0,height:0},e),p(b,{width:h.width,height:h.height}),l?(t=!1,f=c.renderer.rotCorr(m,l),f={x:e.x+b.x+e.width/2+f.x,y:e.y+b.y+{top:0,middle:.5,bottom:1}[b.verticalAlign]*e.height},d[g? +"attr":"animate"](f).attr({align:u}),n=(l+720)%360,n=180n,"left"===u?f.y-=n?h.height:0:"center"===u?(f.x-=h.width/2,f.y-=h.height/2):"right"===u&&(f.x-=h.width,f.y-=n?0:h.height)):(d.align(b,null,e),f=d.alignAttr),t?this.justifyDataLabel(d,b,f,h,e,g):k(b.crop,!0)&&(r=c.isInsidePlot(f.x,f.y)&&c.isInsidePlot(f.x+h.width,f.y+h.height)),b.shape&&!l&&d.attr({anchorX:a.plotX,anchorY:a.plotY}));r||(C(d),d.attr({y:-9999}),d.placed=!1)};e.prototype.justifyDataLabel=function(a,d,b,e,g,c){var f=this.chart, +n=d.align,h=d.verticalAlign,q,k,m=a.box?0:a.padding||0;q=b.x+m;0>q&&("right"===n?d.align="left":d.x=-q,k=!0);q=b.x+e.width-m;q>f.plotWidth&&("left"===n?d.align="right":d.x=f.plotWidth-q,k=!0);q=b.y+m;0>q&&("bottom"===h?d.verticalAlign="top":d.y=-q,k=!0);q=b.y+e.height-m;q>f.plotHeight&&("top"===h?d.verticalAlign="bottom":d.y=f.plotHeight-q,k=!0);k&&(a.placed=!c,a.align(d,null,g))};g.pie&&(g.pie.prototype.drawDataLabels=function(){var f=this,d=f.data,b,g=f.chart,h=f.options.dataLabels,c=k(h.connectorPadding, +10),m=k(h.connectorWidth,1),n=g.plotWidth,l=g.plotHeight,x,p=h.distance,y=f.center,u=y[2]/2,t=y[1],w=0k-2?A:P,e),v._attr={visibility:S,align:D[6]},v._pos={x:L+h.x+({left:c,right:-c}[D[6]]||0),y:P+h.y-10},D.x=L,D.y=P,null===f.options.size&&(C=v.width,L-Cn-c&&(T[1]=Math.max(Math.round(L+ +C-n+c),T[1])),0>P-G/2?T[0]=Math.max(Math.round(-P+G/2),T[0]):P+G/2>l&&(T[2]=Math.max(Math.round(P+G/2-l),T[2])))}),0===B(T)||this.verifyDataLabelOverflow(T))&&(this.placeDataLabels(),w&&m&&H(this.points,function(a){var b;x=a.connector;if((v=a.dataLabel)&&v._pos&&a.visible){S=v._attr.visibility;if(b=!x)a.connector=x=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(f.dataLabelsGroup),x.attr({"stroke-width":m,stroke:h.connectorColor||a.color||"#666666"}); +x[b?"attr":"animate"]({d:f.connectorPath(a.labelPos)});x.attr("visibility",S)}else x&&(a.connector=x.destroy())}))},g.pie.prototype.connectorPath=function(a){var d=a.x,b=a.y;return k(this.options.dataLabels.softConnector,!0)?["M",d+("left"===a[6]?5:-5),b,"C",d,b,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",d+("left"===a[6]?5:-5),b,"L",a[2],a[3],"L",a[4],a[5]]},g.pie.prototype.placeDataLabels=function(){H(this.points,function(a){var d=a.dataLabel;d&&a.visible&&((a=d._pos)?(d.attr(d._attr), +d[d.moved?"animate":"attr"](a),d.moved=!0):d&&d.attr({y:-9999}))})},g.pie.prototype.alignDataLabel=t,g.pie.prototype.verifyDataLabelOverflow=function(a){var d=this.center,b=this.options,e=b.center,f=b.minSize||80,c,g;null!==e[0]?c=Math.max(d[2]-Math.max(a[1],a[3]),f):(c=Math.max(d[2]-a[1]-a[3],f),d[0]+=(a[3]-a[1])/2);null!==e[1]?c=Math.max(Math.min(c,d[2]-Math.max(a[0],a[2])),f):(c=Math.max(Math.min(c,d[2]-a[0]-a[2]),f),d[1]+=(a[0]-a[2])/2);ck(this.translatedThreshold,f.yAxis.len)),m=k(b.inside,!!this.options.stacking);n&&(g=w(n),0>g.y&&(g.height+=g.y,g.y=0),n=g.y+g.height-f.yAxis.len,0a+e||c+nb+f||g+hthis.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints, +e;d&&r(d,function(a){a.setState()});r("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],n=(b.pointRange||0)/2,h=b.getExtremes(),q=b.toValue(g-f,!0)+n,n=b.toValue(g+b.len-f,!0)-n,g=g>f;b.series.length&&(g||q>Math.min(h.dataMin,h.min))&&(!g||n=p(k.minWidth,0)&&this.chartHeight>=p(k.minHeight,0)};void 0===l._id&&(l._id=a.uniqueKey());m=m.call(this);!r[l._id]&&m?l.chartOptions&&(r[l._id]=this.currentOptions(l.chartOptions),this.update(l.chartOptions,w)):r[l._id]&&!m&&(this.update(r[l._id],w),delete r[l._id])};D.prototype.currentOptions=function(a){function p(a,m,e){var g,h;for(g in a)if(-1< +G(g,["series","xAxis","yAxis"]))for(a[g]=l(a[g]),e[g]=[],h=0;hd.length||void 0===h)return a.call(this,g,h,k,f);x=d.length;for(c=0;ck;d[c]5*b||w){if(d[c]>u){for(r=a.call(this,g,d[e],d[c],f);r.length&&r[0]<=u;)r.shift();r.length&&(u=r[r.length-1]);y=y.concat(r)}e=c+1}if(w)break}a= +r.info;if(q&&a.unitRange<=m.hour){c=y.length-1;for(e=1;ek?a-1:a;for(M=void 0;q--;)e=c[q],k=M-e,M&&k<.8*C&&(null===t||k<.8*t)?(n[y[q]]&&!n[y[q+1]]?(k=q+1,M=e):k=q,y.splice(k,1)):M=e}return y});w(B.prototype,{beforeSetTickPositions:function(){var a, +g=[],h=!1,k,f=this.getExtremes(),d=f.min,b=f.max,q,m=this.isXAxis&&!!this.options.breaks,f=this.options.ordinal,c=this.chart.options.chart.ignoreHiddenSeries;if(f||m){r(this.series,function(b,d){if(!(c&&!1===b.visible||!1===b.takeOrdinalPosition&&!m)&&(g=g.concat(b.processedXData),a=g.length,g.sort(function(a,b){return a-b}),a))for(d=a-1;d--;)g[d]===g[d+1]&&g.splice(d,1)});a=g.length;if(2k||b-g[g.length- +1]>k)&&(h=!0)}h?(this.ordinalPositions=g,k=this.val2lin(Math.max(d,g[0]),!0),q=Math.max(this.val2lin(Math.min(b,g[g.length-1]),!0),1),this.ordinalSlope=b=(b-d)/(q-k),this.ordinalOffset=d-k*b):this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0}this.isOrdinal=f&&h;this.groupIntervalFactor=null},val2lin:function(a,g){var e=this.ordinalPositions;if(e){var k=e.length,f,d;for(f=k;f--;)if(e[f]===a){d=f;break}for(f=k-1;f--;)if(a>e[f]||0===f){a=(a-e[f])/(e[f+1]-e[f]);d=f+a;break}g=g?d:this.ordinalSlope* +(d||0)+this.ordinalOffset}else g=a;return g},lin2val:function(a,g){var e=this.ordinalPositions;if(e){var k=this.ordinalSlope,f=this.ordinalOffset,d=e.length-1,b;if(g)0>a?a=e[0]:a>d?a=e[d]:(d=Math.floor(a),b=a-d);else for(;d--;)if(g=k*d+f,a>=g){k=k*(d+1)+f;b=(a-g)/(k-g);break}return void 0!==b&&void 0!==e[d]?e[d]+(b?b*(e[d+1]-e[d]):0):a}return a},getExtendedPositions:function(){var a=this.chart,g=this.series[0].currentDataGrouping,h=this.ordinalIndex,k=g?g.count+g.unitName:"raw",f=this.getExtremes(), +d,b;h||(h=this.ordinalIndex={});h[k]||(d={series:[],chart:a,getExtremes:function(){return{min:f.dataMin,max:f.dataMax}},options:{ordinal:!0},val2lin:B.prototype.val2lin},r(this.series,function(e){b={xAxis:d,xData:e.xData,chart:a,destroyGroupedData:t};b.options={dataGrouping:g?{enabled:!0,forced:!0,approximation:"open",units:[[g.unitName,[g.count]]]}:{enabled:!1}};e.processData.apply(b);d.series.push(b)}),this.beforeSetTickPositions.apply(d),h[k]=d.ordinalPositions);return h[k]},getGroupIntervalFactor:function(a, +g,h){var e;h=h.processedXData;var f=h.length,d=[];e=this.groupIntervalFactor;if(!e){for(e=0;ed?(l=p,t=e.ordinalPositions?e:p):(l=e.ordinalPositions?e:p,t=p),p=t.ordinalPositions,q>p[p.length-1]&&p.push(q),this.fixedRange=c-m,d=e.toFixedRange(null,null,n.apply(l,[x.apply(l,[m,!0])+d,!0]),n.apply(t,[x.apply(t, +[c,!0])+d,!0])),d.min>=Math.min(b.dataMin,m)&&d.max<=Math.max(q,c)&&e.setExtremes(d.min,d.max,!0,!1,{trigger:"pan"}),this.mouseDownX=k,H(this.container,{cursor:"move"})):f=!0}else f=!0;f&&a.apply(this,Array.prototype.slice.call(arguments,1))});k.prototype.gappedPath=function(){var a=this.options.gapSize,g=this.points.slice(),h=g.length-1;if(a&&0this.closestPointRange*a&&g.splice(h+1,0,{isNull:!0});return this.getGraphPath(g)}})(N);(function(a){function D(){return Array.prototype.slice.call(arguments, +1)}function B(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,G(this.pointArrayMap,["y"]))}var G=a.pick,H=a.wrap,p=a.each,l=a.extend,r=a.fireEvent,w=a.Axis,t=a.Series;l(w.prototype,{isInBreak:function(a,m){var e=a.repeat||Infinity,g=a.from,h=a.to-a.from;m=m>=g?(m-g)%e:e-(g-m)%e;return a.inclusive?m<=h:m=a)break;else if(g.isInBreak(f,a)){e-=a-f.from;break}return e};this.lin2val=function(a){var e,f;for(f=0;f=a);f++)e.toh;)m-=b;for(;mb.to||l>b.from&&db.from&&db.from&&d>b.to&&d=c[0]);A++);for(A;A<=q;A++){for(;(void 0!==c[w+1]&&a[A]>=c[w+1]||A===q)&&(l=c[w],this.dataGroupInfo={start:p,length:t[0].length},p=d.apply(this,t),void 0!==p&&(g.push(l),h.push(p),m.push(this.dataGroupInfo)),p=A,t[0]=[],t[1]=[],t[2]=[],t[3]=[],w+=1,A!==q););if(A===q)break;if(x){l=this.cropStart+A;l=e&&e[l]|| +this.pointClass.prototype.applyOptions.apply({series:this},[f[l]]);var E,C;for(E=0;Ethis.chart.plotSizeX/d||b&&f.forced)&&(e=!0);return e?d:0};G.prototype.setDataGrouping=function(a,b){var c;b=e(b,!0);a||(a={forced:!1,units:null});if(this instanceof G)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else l(this.chart.options.series,function(b){b.dataGrouping=a},!1);b&&this.chart.redraw()}})(N);(function(a){var D=a.each,B=a.Point,G=a.seriesType,H=a.seriesTypes;G("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'}, +threshold:null,states:{hover:{lineWidth:3}}},{pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"high",pointAttribs:function(a,l){l=H.column.prototype.pointAttribs.call(this,a,l);var p=this.options;delete l.fill;l["stroke-width"]=p.lineWidth;l.stroke=a.options.color||(a.openk)););B(g,function(a,b){var d;void 0===a.plotY&&(a.x>=c.min&&a.x<=c.max?a.plotY=e.chartHeight-p.bottom-(p.opposite?p.height:0)+p.offset-e.plotTop:a.shapeArgs={});a.plotX+=t;(f=g[b-1])&&f.plotX===a.plotX&&(void 0===f.stackIndex&&(f.stackIndex=0),d=f.stackIndex+1);a.stackIndex=d})},drawPoints:function(){var a=this.points,e=this.chart,g=e.renderer,k,l,f=this.options,d=f.y,b,q,p,c,r,n,t,x=this.yAxis;for(q=a.length;q--;)p=a[q],t=p.plotX>this.xAxis.len,k=p.plotX,c=p.stackIndex,b= +p.options.shape||f.shape,l=p.plotY,void 0!==l&&(l=p.plotY+d-(void 0!==c&&c*f.stackDistance)),r=c?void 0:p.plotX,n=c?void 0:p.plotY,c=p.graphic,void 0!==l&&0<=k&&!t?(c||(c=p.graphic=g.label("",null,null,b,null,null,f.useHTML).attr(this.pointAttribs(p)).css(G(f.style,p.style)).attr({align:"flag"===b?"left":"center",width:f.width,height:f.height,"text-align":f.textAlign}).addClass("highcharts-point").add(this.markerGroup),c.shadow(f.shadow)),0h&&(e-=Math.round((l-h)/2),h=l);e=k[a](e,g,h,l);d&&f&&e.push("M",d,g>f?g:g+l,"L",d,f);return e}});p===t&&B(["flag","circlepin","squarepin"],function(a){t.prototype.symbols[a]=k[a]})})(N);(function(a){function D(a,d,e){this.init(a,d,e)}var B=a.addEvent,G=a.Axis,H=a.correctFloat,p=a.defaultOptions, +l=a.defined,r=a.destroyObjectProperties,w=a.doc,t=a.each,k=a.fireEvent,m=a.hasTouch,e=a.isTouchDevice,g=a.merge,h=a.pick,C=a.removeEvent,f=a.wrap,d={height:e?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:a.svg&&!e,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2", +trackBorderWidth:1};p.scrollbar=g(!0,d,p.scrollbar);D.prototype={init:function(a,e,f){this.scrollbarButtons=[];this.renderer=a;this.userOptions=e;this.options=g(d,e);this.chart=f;this.size=h(this.options.size,this.options.height);e.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,d=this.options,e=this.size,c;this.group=c=a.g("scrollbar").attr({zIndex:d.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0, +r:d.trackBorderRadius||0,height:e,width:e}).add(c);this.track.attr({fill:d.trackBackgroundColor,stroke:d.trackBorderColor,"stroke-width":d.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(c);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:e,width:e,r:d.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(this.swapXY(["M",-3,e/4,"L",-3,2*e/3,"M",0,e/4,"L", +0,2*e/3,"M",3,e/4,"L",3,2*e/3],d.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbar.attr({fill:d.barBackgroundColor,stroke:d.barBorderColor,"stroke-width":d.barBorderWidth});this.scrollbarRifles.attr({stroke:d.rifleColor,"stroke-width":1});this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a, +d,e,c){var b=this.options.vertical,f=0,g=this.rendered?"animate":"attr";this.x=a;this.y=d+this.trackBorderWidth;this.width=e;this.xOffset=this.height=c;this.yOffset=f;b?(this.width=this.yOffset=e=f=this.size,this.xOffset=d=0,this.barWidth=c-2*e,this.x=a+=this.options.margin):(this.height=this.xOffset=c=d=this.size,this.barWidth=e-2*c,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:e,height:c});this.scrollbarButtons[1].attr({translateX:b?0:e-d,translateY:b? +c-f:0})},drawScrollbarButton:function(a){var b=this.renderer,d=this.scrollbarButtons,c=this.options,e=this.size,f;f=b.g().add(this.group);d.push(f);f=b.rect().addClass("highcharts-scrollbar-button").add(f);f.attr({stroke:c.buttonBorderColor,"stroke-width":c.buttonBorderWidth,fill:c.buttonBackgroundColor});f.attr(f.crisp({x:-.5,y:-.5,width:e+1,height:e+1,r:c.buttonBorderRadius},f.strokeWidth()));f=b.path(this.swapXY(["M",e/2+(a?-1:1),e/2-3,"L",e/2+(a?-1:1),e/2+3,"L",e/2+(a?2:-2),e/2],c.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]); +f.attr({fill:c.buttonArrowColor})},swapXY:function(a,d){var b=a.length,c;if(d)for(d=0;d=k?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=d?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var d=a.chart.pointer.normalize(b),c=a.options.vertical? +"chartY":"chartX",e=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][c]||(d=a.cursorToScrollbarPosition(d)[c],c=a[c],c=d-c,a.hasDragged=!0,a.updatePosition(e[0]+c,e[1]+c),a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b); +b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var d=H(a.to-a.from)*a.options.step;a.updatePosition(H(a.from-d),H(a.to-d));k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var d=(a.to-a.from)*a.options.step;a.updatePosition(a.from+d,a.to+d);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var d=a.chart.pointer.normalize(b), +c=a.to-a.from,e=a.y+a.scrollbarTop,f=a.x+a.scrollbarLeft;a.options.vertical&&d.chartY>e||!a.options.vertical&&d.chartX>f?a.updatePosition(a.from+c,a.to+c):a.updatePosition(a.from-c,a.to-c);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a, +d){1a&&(d=H(d-a),a=0);this.from=a;this.to=d},update:function(a){this.destroy();this.init(this.chart.renderer,g(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],d=this.scrollbarButtons,e=this.scrollbarGroup.element,c=this.mouseDownHandler,f=this.mouseMoveHandler,g=this.mouseUpHandler,a=[[d[a[0]].element,"click",this.buttonToMinClick],[d[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[e, +"mousedown",c],[w,"mousemove",f],[w,"mouseup",g]];m&&a.push([e,"touchstart",c],[w,"touchmove",f],[w,"touchend",g]);t(a,function(a){B.apply(null,a)});this._events=a},removeEvents:function(){t(this._events,function(a){C.apply(null,a)});this._events=void 0},destroy:function(){var a=this.chart.scroller;this.removeEvents();t(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&(a.scrollbar=null,r(a.scrollbarButtons))}}; +f(G.prototype,"init",function(a){var b=this;a.apply(b,[].slice.call(arguments,1));b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new D(b.chart.renderer,b.options.scrollbar,b.chart),B(b.scrollbar,"changed",function(a){var c=Math.min(h(b.options.min,b.min),b.min,b.dataMin),d=Math.max(h(b.options.max,b.max),b.max,b.dataMax)-c,e;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(e=c+d*this.to,c+=d*this.from):(e= +c+d*(1-this.from),c+=d*(1-this.to));b.setExtremes(c,e,!0,!1,a)}))});f(G.prototype,"render",function(a){var b=Math.min(h(this.options.min,this.min),this.min,this.dataMin),d=Math.max(h(this.options.max,this.max),this.max,this.dataMax),c=this.scrollbar,e;a.apply(this,[].slice.call(arguments,1));c&&(this.horiz?c.position(this.left,this.top+this.height+this.offset+2+(this.opposite?0:this.axisTitleMargin),this.width,this.height):c.position(this.left+this.width+2+this.offset+(this.opposite?this.axisTitleMargin: +0),this.top,this.width,this.height),isNaN(b)||isNaN(d)||!l(this.min)||!l(this.max)?c.setRange(0,0):(e=(this.min-b)/(d-b),b=(this.max-b)/(d-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?c.setRange(e,b):c.setRange(1-b,1-e)))});f(G.prototype,"getOffset",function(a){var b=this.horiz?2:1,d=this.scrollbar;a.apply(this,[].slice.call(arguments,1));d&&(this.chart.axisOffset[b]+=d.size+d.options.margin)});f(G.prototype,"destroy",function(a){this.scrollbar&&(this.scrollbar=this.scrollbar.destroy()); +a.apply(this,[].slice.call(arguments,1))});a.Scrollbar=D})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.color,l=a.defaultOptions,r=a.defined,w=a.destroyObjectProperties,t=a.doc,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.grep,C=a.hasTouch,f=a.isNumber,d=a.isObject,b=a.isTouchDevice,q=a.merge,E=a.pick,c=a.removeEvent,F=a.Scrollbar,n=a.Series,A=a.seriesTypes,x=a.wrap,J=[].concat(a.defaultDataGroupingUnits),y=function(a){var b=h(arguments,f);if(b.length)return Math[a].apply(0, +b)};J[4]=["day",[1,2,3,4]];J[5]=["week",[1,2,3]];A=void 0===A.areaspline?"line":"areaspline";g(l,{navigator:{height:40,margin:25,maskInside:!0,handles:{backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:p("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:A,color:"#335cad",fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:J},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series", +className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,shadow:!1,threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}); +D.prototype={drawHandle:function(a,b){var c=this.chart.renderer,d=this.handles;this.rendered||(d[b]=c.path(["M",-4.5,.5,"L",3.5,.5,3.5,15.5,-4.5,15.5,-4.5,.5,"M",-1.5,4,"L",-1.5,12,"M",.5,4,"L",.5,12]).attr({zIndex:10-b}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][b]).add(),c=this.navigatorOptions.handles,d[b].attr({fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":1}).css({cursor:"ew-resize"}));d[b][this.rendered&&!this.hasDragged?"animate":"attr"]({translateX:Math.round(this.scrollerLeft+ +this.scrollbarHeight+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-8)})},update:function(a){this.destroy();q(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(a,b,c,d){var e=this.chart,g=e.renderer,k,h,l,n;n=this.scrollbarHeight;var m=this.xAxis,p=this.navigatorOptions,u=p.maskInside,q=this.height,v=this.top,t=this.navigatorEnabled,x=this.outlineHeight,y;y=this.rendered;if(f(a)&&f(b)&&(!this.hasDragged||r(c))&&(this.navigatorLeft=k=E(m.left,e.plotLeft+ +n),this.navigatorWidth=h=E(m.len,e.plotWidth-2*n),this.scrollerLeft=l=k-n,this.scrollerWidth=n=n=h+2*n,c=E(c,m.translate(a)),d=E(d,m.translate(b)),f(c)&&Infinity!==Math.abs(c)||(c=0,d=n),!(m.translate(d,!0)-m.translate(c,!0)f&&tp+d-u&&rk&&re?e=0:e+v>=q&&(e=q-v,x=h.getUnionExtremes().dataMax),e!==d&&(h.fixedWidth=v,d=l.toFixedRange(e, +e+v,null,x),c.setExtremes(d.min,d.max,!0,null,{trigger:"navigator"}))))};h.mouseMoveHandler=function(b){var c=h.scrollbarHeight,d=h.navigatorLeft,e=h.navigatorWidth,f=h.scrollerLeft,g=h.scrollerWidth,k=h.range,l;b.touches&&0===b.touches[0].pageX||(b=a.pointer.normalize(b),l=b.chartX,lf+g-c&&(l=f+g-c),h.grabbedLeft?(h.hasDragged=!0,h.render(0,0,l-d,h.otherHandlePos)):h.grabbedRight?(h.hasDragged=!0,h.render(0,0,h.otherHandlePos,l-d)):h.grabbedCenter&&(h.hasDragged=!0,le+n-k&&(l=e+ +n-k),h.render(0,0,l-n,l-n+k)),h.hasDragged&&h.scrollbar&&h.scrollbar.options.liveRedraw&&(b.DOMType=b.type,setTimeout(function(){h.mouseUpHandler(b)},0)))};h.mouseUpHandler=function(b){var c,d,e=b.DOMEvent||b;if(h.hasDragged||"scrollbar"===b.trigger)h.zoomedMin===h.otherHandlePos?c=h.fixedExtreme:h.zoomedMax===h.otherHandlePos&&(d=h.fixedExtreme),h.zoomedMax===h.navigatorWidth&&(d=h.getUnionExtremes().dataMax),c=l.toFixedRange(h.zoomedMin,h.zoomedMax,c,d),r(c.min)&&a.xAxis[0].setExtremes(c.min,c.max, +!0,h.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e});"mousemove"!==b.DOMType&&(h.grabbedLeft=h.grabbedRight=h.grabbedCenter=h.fixedWidth=h.fixedExtreme=h.otherHandlePos=h.hasDragged=n=null)};var c=a.xAxis.length,f=a.yAxis.length,m=e&&e[0]&&e[0].xAxis||a.xAxis[0];a.extraBottomMargin=h.outlineHeight+d.margin;a.isDirtyBox=!0;h.navigatorEnabled?(h.xAxis=l=new G(a,q({breaks:m.options.breaks,ordinal:m.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis", +isX:!0,type:"datetime",index:c,height:g,offset:0,offsetLeft:k,offsetRight:-k,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1})),h.yAxis=new G(a,q(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,height:g,offset:0,index:f,zoomEnabled:!1})),e||d.series.data?h.addBaseSeries():0===a.series.length&&x(a,"redraw",function(b,c){0=Math.round(a.navigatorWidth);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},destroy:function(){this.removeEvents();this.xAxis&&(m(this.chart.xAxis,this.xAxis),m(this.chart.axes,this.xAxis));this.yAxis&&(m(this.chart.yAxis,this.yAxis),m(this.chart.axes,this.yAxis));k(this.series||[],function(a){a.destroy&&a.destroy()});k("series xAxis yAxis leftShade rightShade outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "), +function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);k([this.handles,this.elementsToDestroy],function(a){w(a)},this)}};a.Navigator=D;x(G.prototype,"zoom",function(a,b,c){var d=this.chart,e=d.options,f=e.chart.zoomType,g=e.navigator,e=e.rangeSelector,h;this.isXAxis&&(g&&g.enabled||e&&e.enabled)&&("x"===f?d.resetZoomButton="blocked":"y"===f?h=!1:"xy"===f&&(d=this.previousZoom,r(b)?this.previousZoom=[this.min,this.max]:d&&(b=d[0],c=d[1],delete this.previousZoom)));return void 0!== +h?h:a.call(this,b,c)});x(H.prototype,"init",function(a,b,c){B(this,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new D(this)});a.call(this,b,c)});x(H.prototype,"getMargins",function(a){var b=this.legend,c=b.options,d=this.scroller,e,f;a.apply(this,[].slice.call(arguments,1));d&&(e=d.xAxis,f=d.yAxis,d.top=d.navigatorOptions.top||this.chartHeight-d.height-d.scrollbarHeight-this.spacing[2]-("bottom"===c.verticalAlign&&c.enabled&& +!c.floating?b.legendHeight+E(c.margin,10):0),e&&f&&(e.options.top=f.options.top=d.top,e.setAxisSize(),f.setAxisSize()))});x(n.prototype,"addPoint",function(a,b,c,f,g){var h=this.options.turboThreshold;h&&this.xData.length>h&&d(b,!0)&&this.chart.scroller&&e(20,!0);a.call(this,b,c,f,g)});x(H.prototype,"addSeries",function(a,b,c,d){a=a.call(this,b,!1,d);this.scroller&&this.scroller.setBaseSeries();E(c,!0)&&this.redraw();return a});x(n.prototype,"update",function(a,b,c){a.call(this,b,!1);this.chart.scroller&& +this.chart.scroller.setBaseSeries();E(c,!0)&&this.chart.redraw()})})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.css,l=a.createElement,r=a.dateFormat,w=a.defaultOptions,t=w.global.useUTC,k=a.defined,m=a.destroyObjectProperties,e=a.discardElement,g=a.each,h=a.extend,C=a.fireEvent,f=a.Date,d=a.isNumber,b=a.merge,q=a.pick,E=a.pInt,c=a.splat,F=a.wrap;h(w,{rangeSelector:{buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},height:35,inputPosition:{align:"right"}, +labelStyle:{color:"#666666"}}});w.lang=b(w.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});D.prototype={clickButton:function(a,b){var e=this,f=e.chart,h=e.buttonOptions[a],k=f.xAxis[0],l=f.scroller&&f.scroller.getUnionExtremes()||k||{},n=l.dataMin,m=l.dataMax,p,r=k&&Math.round(Math.min(k.max,q(m,k.max))),w=h.type,z,l=h._range,A,C,D,E=h.dataGrouping;if(null!==n&&null!==m){f.fixedRange=l;E&&(this.forcedDataGrouping=!0,G.prototype.setDataGrouping.call(k||{chart:this.chart}, +E,!1));if("month"===w||"year"===w)k?(w={range:h,max:r,dataMin:n,dataMax:m},p=k.minFromRange.call(w),d(w.newMax)&&(r=w.newMax)):l=h;else if(l)p=Math.max(r-l,n),r=Math.min(p+l,m);else if("ytd"===w)if(k)void 0===m&&(n=Number.MAX_VALUE,m=Number.MIN_VALUE,g(f.series,function(a){a=a.xData;n=Math.min(a[0],n);m=Math.max(a[a.length-1],m)}),b=!1),r=e.getYTDExtremes(m,n,t),p=A=r.min,r=r.max;else{B(f,"beforeRender",function(){e.clickButton(a)});return}else"all"===w&&k&&(p=n,r=m);e.setSelected(a);k?k.setExtremes(p, +r,q(b,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:h}):(z=c(f.options.xAxis)[0],D=z.range,z.range=l,C=z.min,z.min=A,B(f,"load",function(){z.range=D;z.min=C}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons|| +[].concat(b.defaultButtons),e=c.selected,f=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&C(a,"blur");c&&c.blur&&C(c,"blur")};b.chart=a;b.options=c;b.buttons=[];a.extraTopMargin=c.height;b.buttonOptions=d;this.unMouseDown=B(a.container,"mousedown",f);this.unResize=B(a,"resize",f);g(d,b.computeButtonRange);void 0!==e&&d[e]&&this.clickButton(e,!1);B(a,"load",function(){B(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&& +b.forcedDataGrouping&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this.chart,b=a.xAxis[0],c=Math.round(b.max-b.min),e=!b.hasVisibleSeries,a=a.scroller&&a.scroller.getUnionExtremes()||b,f=a.dataMin,h=a.dataMax,a=this.getYTDExtremes(h,f,t),k=a.min,l=a.max,m=this.selected,p=d(m),q=this.options.allButtonsEnabled,r=this.buttons;g(this.buttonOptions,function(a,d){var g=a._range,n=a.type,u=a.count||1;a=r[d];var t=0;d=d===m;var v=g>h-f,x=g=864E5*{month:28,year:365}[n]*u&&c<=864E5*{month:31,year:366}[n]*u?g=!0:"ytd"===n?(g=l-k===c,y=!d):"all"===n&&(g=b.max-b.min>=h-f,w=!d&&p&&g);n=!q&&(v||x||w||e);g=d&&g||g&&!p&&!y;n?t=3:g&&(p=!0,t=2);a.state!==t&&a.setState(t)})},computeButtonRange:function(a){var b=a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c},setInputValue:function(a,b){var c= +this.chart.options.rangeSelector,d=this[a+"Input"];k(b)&&(d.previousValue=d.HCTime,d.HCTime=b);d.value=r(c.inputEditDateFormat||"%Y-%m-%d",d.HCTime);this[a+"DateBox"].attr({text:r(c.inputDateFormat||"%b %e, %Y",d.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];p(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){p(this[a+"Input"],{border:0,width:"1px",height:"1px"}); +this.setInputValue(a)},drawInput:function(a){function c(){var a=r.value,b=(m.inputDateParser||Date.parse)(a),c=f.xAxis[0],g=f.scroller&&f.scroller.xAxis?f.scroller.xAxis:c,h=g.dataMin,g=g.dataMax;b!==r.previousValue&&(r.previousValue=b,d(b)||(b=a.split("-"),b=Date.UTC(E(b[0]),E(b[1])-1,E(b[2]))),d(b)&&(t||(b+=6E4*(new Date).getTimezoneOffset()),q?b>e.maxInput.HCTime?b=void 0:bg&&(b=g),void 0!==b&&c.setExtremes(q?b:c.min,q?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))} +var e=this,f=e.chart,g=f.renderer.style||{},k=f.renderer,m=f.options.rangeSelector,n=e.div,q="min"===a,r,B,C=this.inputGroup;this[a+"Label"]=B=k.label(w.lang[q?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(C);C.offset+=B.width+5;this[a+"DateBox"]=k=k.label("",C.offset).addClass("highcharts-range-input").attr({padding:2,width:m.inputBoxWidth||90,height:m.inputBoxHeight||17,stroke:m.inputBoxBorderColor||"#cccccc","stroke-width":1, +"text-align":"center"}).on("click",function(){e.showInput(a);e[a+"Input"].focus()}).add(C);C.offset+=k.width+(q?10:0);this[a+"Input"]=r=l("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:f.plotTop+"px"},n);B.css(b(g,m.labelStyle));k.css(b({color:"#333333"},g,m.inputStyle));p(r,h({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:g.fontSize,fontFamily:g.fontFamily,left:"-9em"},m.inputStyle));r.onfocus=function(){e.showInput(a)};r.onblur= +function(){e.hideInput(a)};r.onchange=c;r.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a=q((b.buttonPosition||{}).y,a.plotTop-a.axisOffset[0]-b.height);return{buttonTop:a,inputTop:a-10}},getYTDExtremes:function(a,b,c){var d=new f(a),e=d[f.hcGetFullYear]();c=c?f.UTC(e,0,1):+new f(e,0,1);b=Math.max(b||0,c);d=d.getTime();return{max:Math.min(a||d,d),min:b}},render:function(a,b){var c=this,d=c.chart,e=d.renderer,f=d.container,m=d.options, +n=m.exporting&&!1!==m.exporting.enabled&&m.navigation&&m.navigation.buttonOptions,p=m.rangeSelector,r=c.buttons,m=w.lang,t=c.div,t=c.inputGroup,A=p.buttonTheme,z=p.buttonPosition||{},B=p.inputEnabled,C=A&&A.states,D=d.plotLeft,E,G=this.getPosition(),F=c.group,H=c.rendered;!1!==p.enabled&&(H||(c.group=F=e.g("range-selector-buttons").add(),c.zoomText=e.text(m.rangeSelectorZoom,q(z.x,D),15).css(p.labelStyle).add(F),E=q(z.x,D)+c.zoomText.getBBox().width+5,g(c.buttonOptions,function(a,b){r[b]=e.button(a.text, +E,0,function(){c.clickButton(b);c.isActive=!0},A,C&&C.hover,C&&C.select,C&&C.disabled).attr({"text-align":"center"}).add(F);E+=r[b].width+q(p.buttonSpacing,5)}),!1!==B&&(c.div=t=l("div",null,{position:"relative",height:0,zIndex:1}),f.parentNode.insertBefore(t,f),c.inputGroup=t=e.g("input-group").add(),t.offset=0,c.drawInput("min"),c.drawInput("max"))),c.updateButtonStates(),F[H?"animate":"attr"]({translateY:G.buttonTop}),!1!==B&&(t.align(h({y:G.inputTop,width:t.offset,x:n&&G.inputTop<(n.y||0)+n.height- +d.spacing[0]?-40:0},p.inputPosition),!0,d.spacingBox),k(B)||(d=F.getBBox(),t[t.alignAttr.translateXc&&(e?a=b-f:b=a+f);d(a)||(a=b=void 0);return{min:a,max:b}};G.prototype.minFromRange=function(){var a=this.range,b={month:"Month",year:"FullYear"}[a.type],c,e=this.max,f,g,h=function(a,c){var d=new Date(a);d["set"+b](d["get"+ +b]()+c);return d.getTime()-a};d(a)?(c=e-a,g=a):(c=e+h(e,-a.count),this.chart&&(this.chart.fixedRange=e-c));f=q(this.dataMin,Number.MIN_VALUE);d(c)||(c=f);c<=f&&(c=f,void 0===g&&(g=h(c,a.count)),this.newMax=Math.min(c+g,this.dataMax));d(e)||(c=void 0);return c};F(H.prototype,"init",function(a,b,c){B(this,"init",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new D(this))});a.call(this,b,c)});a.RangeSelector=D})(N);(function(a){var D=a.addEvent,B=a.isNumber;a.Chart.prototype.callbacks.push(function(a){function G(){p= +a.xAxis[0].getExtremes();B(p.min)&&r.render(p.min,p.max)}var p,l=a.scroller,r=a.rangeSelector,w,t;l&&(p=a.xAxis[0].getExtremes(),l.render(p.min,p.max));r&&(t=D(a.xAxis[0],"afterSetExtremes",function(a){r.render(a.min,a.max)}),w=D(a,"redraw",G),G());D(a,"destroy",function(){r&&(w(),t())})})})(N);(function(a){var D=a.arrayMax,B=a.arrayMin,G=a.Axis,H=a.Chart,p=a.defined,l=a.each,r=a.extend,w=a.format,t=a.inArray,k=a.isNumber,m=a.isString,e=a.map,g=a.merge,h=a.pick,C=a.Point,f=a.Renderer,d=a.Series,b= +a.splat,q=a.stop,E=a.SVGRenderer,c=a.VMLRenderer,F=a.wrap,n=d.prototype,A=n.init,x=n.processData,J=C.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(c,d,f){var k=m(c)||c.nodeName,l=arguments[k?1:0],n=l.series,p=a.getOptions(),q,r=h(l.navigator&&l.navigator.enabled,!0)?{startOnTick:!1,endOnTick:!1}:null,t={marker:{enabled:!1,radius:2}},u={shadow:!1,borderWidth:0};l.xAxis=e(b(l.xAxis||{}),function(a){return g({minPadding:0,maxPadding:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"}, +showLastLabel:!0},p.xAxis,a,{type:"datetime",categories:null},r)});l.yAxis=e(b(l.yAxis||{}),function(a){q=h(a.opposite,!0);return g({labels:{y:-2},opposite:q,showLastLabel:!1,title:{text:null}},p.yAxis,a)});l.series=null;l=g({chart:{panning:!0,pinchType:"x"},navigator:{enabled:!0},scrollbar:{enabled:!0},rangeSelector:{enabled:!0},title:{text:null,style:{fontSize:"16px"}},tooltip:{shared:!0,crosshairs:!0},legend:{enabled:!1},plotOptions:{line:t,spline:t,area:t,areaspline:t,arearange:t,areasplinerange:t, +column:u,columnrange:u,candlestick:u,ohlc:u}},l,{_stock:!0,chart:{inverted:!1}});l.series=n;return k?new H(c,l,f):new H(l,d)};F(G.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options._stock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=1,"right"):a.call(this,[].slice.call(arguments,1))});F(G.prototype,"getPlotLinePath",function(a, +b,c,d,f,g){var n=this,q=this.isLinked&&!this.series?this.linkedParent.series:this.series,r=n.chart,u=r.renderer,v=n.left,w=n.top,y,x,A,B,C=[],D=[],E,F;if("colorAxis"===n.coll)return a.apply(this,[].slice.call(arguments,1));D=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=n.options[b];return k(a)?[r[b][a]]:m(a)?[r.get(a)]:e(q,function(a){return a[b]})}(n.coll);l(n.isXAxis?r.yAxis:r.xAxis,function(a){if(p(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=p(a.options[b])? +r[b][a.options[b]]:r[b][0];n===b&&D.push(a)}});E=D.length?[]:[n.isXAxis?r.yAxis[0]:r.xAxis[0]];l(D,function(a){-1===t(a,E)&&E.push(a)});F=h(g,n.translate(b,null,null,d));k(F)&&(n.horiz?l(E,function(a){var b;x=a.pos;B=x+a.len;y=A=Math.round(F+n.transB);if(yv+n.width)f?y=A=Math.min(Math.max(v,y),v+n.width):b=!0;b||C.push("M",y,x,"L",A,B)}):l(E,function(a){var b;y=a.pos;A=y+a.len;x=B=Math.round(w+n.height-F);if(xw+n.height)f?x=B=Math.min(Math.max(w,x),n.top+n.height):b=!0;b||C.push("M",y, +x,"L",A,B)}));return 0=e&&(x=-(l.translateX+b.width-e));l.attr({x:m+x,y:k,anchorX:g?m:this.opposite?0:a.chartWidth,anchorY:g?this.opposite?a.chartHeight:0:k+b.height/2})}});n.init=function(){A.apply(this,arguments);this.setCompare(this.options.compare)};n.setCompare=function(a){this.modifyValue= +"value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b=b/d*100-100,c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};n.processData=function(){var a,b=-1,c,d,e,f;x.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,e=d.length,this.pointArrayMap&&(b=t("close",this.pointArrayMap),-1===b&&(b=t(this.pointValKey||"y",this.pointArrayMap))),a=0;a< +e-1;a++)if(f=-1=this.xAxis.min&&0!==f){this.compareValue=f;break}};F(n,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=B(b),this.dataMax=D(b))});G.prototype.setCompare=function(a,b){this.isXAxis||(l(this.series,function(b){b.setCompare(a)}),h(b,!0)&&this.chart.redraw())};C.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(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 '; + else + var expandButton = ''; + + return '' + expandButton + '' + ellipsedLabel({ name: item.name, parentClass: "nav-tooltip", childClass: "nav-label" }) + ''; +} + +function menuItemsForGroup(group, level, parent) { + var items = ''; + + if (level > 0) + items += menuItem(group, level - 1, parent, true); + + $.each(group.contents, function (contentName, content) { + if (content.type == 'GROUP') + items += menuItemsForGroup(content, level + 1, group.pathFormatted); + else if (content.type == 'REQUEST') + items += menuItem(content, level, group.pathFormatted); + }); + + return items; +} + +function setDetailsMenu(){ + $('.nav ul').append(menuItemsForGroup(stats, 0)); + $('.nav').expandable(); + $('.nav-tooltip').popover({trigger:'hover'}); +} + +function setGlobalMenu(){ + $('.nav ul') + .append('
  • Ranges
  • ') + .append('
  • Stats
  • ') + .append('
  • Active Users
  • ') + .append('
  • Requests / sec
  • ') + .append('
  • Responses / sec
  • '); +} + +function getLink(link){ + var a = link.split('/'); + return (a.length<=1)? link : a[a.length-1]; +} + +function expandUp(li) { + const parentId = li.attr("data-parent"); + if (parentId != "ROOT") { + const span = $('#' + parentId); + const parentLi = span.parents('li').first(); + span.expand(parentLi, false); + expandUp(parentLi); + } +} + +function setActiveMenu(){ + $('.nav a').each(function() { + const navA = $(this) + if(!navA.hasClass('expand-button') && navA.attr('href') == getLink(window.location.pathname)) { + const li = $(this).parents('li').first(); + li.addClass('on'); + expandUp(li); + return false; + } + }); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/stats.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/stats.js new file mode 100644 index 0000000..eb6c9c4 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/stats.js @@ -0,0 +1,1523 @@ +var stats = { + type: "GROUP", +name: "All Requests", +path: "", +pathFormatted: "group_missing-name--1146707516", +stats: { + "name": "All Requests", + "numberOfRequests": { + "total": "23655", + "ok": "22047", + "ko": "1608" + }, + "minResponseTime": { + "total": "24", + "ok": "24", + "ko": "7563" + }, + "maxResponseTime": { + "total": "60094", + "ok": "59563", + "ko": "60094" + }, + "meanResponseTime": { + "total": "5157", + "ok": "3073", + "ko": "33726" + }, + "standardDeviation": { + "total": "13172", + "ok": "8765", + "ko": "24969" + }, + "percentiles1": { + "total": "128", + "ok": "125", + "ko": "10008" + }, + "percentiles2": { + "total": "1139", + "ok": "1096", + "ko": "60002" + }, + "percentiles3": { + "total": "40980", + "ok": "17282", + "ko": "60006" + }, + "percentiles4": { + "total": "60003", + "ok": "49342", + "ko": "60010" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 14299, + "percentage": 60 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 4006, + "percentage": 17 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 3742, + "percentage": 16 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 1608, + "percentage": 7 +}, + "meanNumberOfRequestsPerSecond": { + "total": "113.726", + "ok": "105.995", + "ko": "7.731" + } +}, +contents: { +"req_request-0-693933696": { + type: "REQUEST", + name: "request_0", +path: "request_0", +pathFormatted: "req_request-0-693933696", +stats: { + "name": "request_0", + "numberOfRequests": { + "total": "1440", + "ok": "1282", + "ko": "158" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "10000" + }, + "maxResponseTime": { + "total": "10014", + "ok": "8158", + "ko": "10014" + }, + "meanResponseTime": { + "total": "1949", + "ok": "957", + "ko": "10003" + }, + "standardDeviation": { + "total": "3206", + "ok": "1601", + "ko": "3" + }, + "percentiles1": { + "total": "181", + "ok": "156", + "ko": "10002" + }, + "percentiles2": { + "total": "1178", + "ok": "1139", + "ko": "10004" + }, + "percentiles3": { + "total": "10002", + "ok": "3196", + "ko": "10008" + }, + "percentiles4": { + "total": "10006", + "ok": "7165", + "ko": "10012" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 805, + "percentage": 56 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 290, + "percentage": 20 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 187, + "percentage": 13 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 158, + "percentage": 11 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.923", + "ok": "6.163", + "ko": "0.76" + } +} + },"req_request-1-693933697": { + type: "REQUEST", + name: "request_1", +path: "request_1", +pathFormatted: "req_request-1-693933697", +stats: { + "name": "request_1", + "numberOfRequests": { + "total": "1282", + "ok": "1282", + "ko": "0" + }, + "minResponseTime": { + "total": "36", + "ok": "36", + "ko": "-" + }, + "maxResponseTime": { + "total": "890", + "ok": "890", + "ko": "-" + }, + "meanResponseTime": { + "total": "68", + "ok": "68", + "ko": "-" + }, + "standardDeviation": { + "total": "41", + "ok": "41", + "ko": "-" + }, + "percentiles1": { + "total": "64", + "ok": "64", + "ko": "-" + }, + "percentiles2": { + "total": "66", + "ok": "66", + "ko": "-" + }, + "percentiles3": { + "total": "101", + "ok": "101", + "ko": "-" + }, + "percentiles4": { + "total": "183", + "ok": "183", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 1281, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 1, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.163", + "ok": "6.163", + "ko": "-" + } +} + },"req_request-2-693933698": { + type: "REQUEST", + name: "request_2", +path: "request_2", +pathFormatted: "req_request-2-693933698", +stats: { + "name": "request_2", + "numberOfRequests": { + "total": "1282", + "ok": "1155", + "ko": "127" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "10000" + }, + "maxResponseTime": { + "total": "10011", + "ok": "8138", + "ko": "10011" + }, + "meanResponseTime": { + "total": "1721", + "ok": "810", + "ko": "10003" + }, + "standardDeviation": { + "total": "3065", + "ok": "1433", + "ko": "2" + }, + "percentiles1": { + "total": "168", + "ok": "149", + "ko": "10002" + }, + "percentiles2": { + "total": "1145", + "ok": "1135", + "ko": "10004" + }, + "percentiles3": { + "total": "10002", + "ok": "3155", + "ko": "10007" + }, + "percentiles4": { + "total": "10006", + "ok": "7165", + "ko": "10010" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 764, + "percentage": 60 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 268, + "percentage": 21 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 123, + "percentage": 10 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 127, + "percentage": 10 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.163", + "ok": "5.553", + "ko": "0.611" + } +} + },"req_request-3-693933699": { + type: "REQUEST", + name: "request_3", +path: "request_3", +pathFormatted: "req_request-3-693933699", +stats: { + "name": "request_3", + "numberOfRequests": { + "total": "1440", + "ok": "1271", + "ko": "169" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "10000" + }, + "maxResponseTime": { + "total": "10011", + "ok": "7422", + "ko": "10011" + }, + "meanResponseTime": { + "total": "2105", + "ok": "1055", + "ko": "10003" + }, + "standardDeviation": { + "total": "3369", + "ok": "1861", + "ko": "2" + }, + "percentiles1": { + "total": "132", + "ok": "131", + "ko": "10002" + }, + "percentiles2": { + "total": "2150", + "ok": "1134", + "ko": "10004" + }, + "percentiles3": { + "total": "10002", + "ok": "7144", + "ko": "10008" + }, + "percentiles4": { + "total": "10007", + "ok": "7159", + "ko": "10010" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 837, + "percentage": 58 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 235, + "percentage": 16 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 199, + "percentage": 14 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 169, + "percentage": 12 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.923", + "ok": "6.111", + "ko": "0.812" + } +} + },"req_request-5-693933701": { + type: "REQUEST", + name: "request_5", +path: "request_5", +pathFormatted: "req_request-5-693933701", +stats: { + "name": "request_5", + "numberOfRequests": { + "total": "1271", + "ok": "1064", + "ko": "207" + }, + "minResponseTime": { + "total": "611", + "ok": "611", + "ko": "10000" + }, + "maxResponseTime": { + "total": "60010", + "ok": "59455", + "ko": "60010" + }, + "meanResponseTime": { + "total": "24664", + "ok": "24650", + "ko": "24737" + }, + "standardDeviation": { + "total": "14964", + "ok": "12899", + "ko": "22795" + }, + "percentiles1": { + "total": "22958", + "ok": "24678", + "ko": "10003" + }, + "percentiles2": { + "total": "33894", + "ok": "33524", + "ko": "60000" + }, + "percentiles3": { + "total": "58279", + "ok": "47741", + "ko": "60004" + }, + "percentiles4": { + "total": "60003", + "ok": "56293", + "ko": "60008" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 6, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 1056, + "percentage": 83 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 207, + "percentage": 16 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.111", + "ok": "5.115", + "ko": "0.995" + } +} + },"req_request-6-693933702": { + type: "REQUEST", + name: "request_6", +path: "request_6", +pathFormatted: "req_request-6-693933702", +stats: { + "name": "request_6", + "numberOfRequests": { + "total": "1271", + "ok": "393", + "ko": "878" + }, + "minResponseTime": { + "total": "1628", + "ok": "1628", + "ko": "10000" + }, + "maxResponseTime": { + "total": "60094", + "ok": "59563", + "ko": "60094" + }, + "meanResponseTime": { + "total": "49013", + "ok": "46855", + "ko": "49980" + }, + "standardDeviation": { + "total": "17435", + "ok": "9009", + "ko": "20017" + }, + "percentiles1": { + "total": "60000", + "ok": "48191", + "ko": "60001" + }, + "percentiles2": { + "total": "60002", + "ok": "53332", + "ko": "60003" + }, + "percentiles3": { + "total": "60006", + "ok": "58249", + "ko": "60007" + }, + "percentiles4": { + "total": "60010", + "ok": "59169", + "ko": "60011" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 0, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 393, + "percentage": 31 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 878, + "percentage": 69 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.111", + "ok": "1.889", + "ko": "4.221" + } +} + },"req_request-4-693933700": { + type: "REQUEST", + name: "request_4", +path: "request_4", +pathFormatted: "req_request-4-693933700", +stats: { + "name": "request_4", + "numberOfRequests": { + "total": "1271", + "ok": "1271", + "ko": "0" + }, + "minResponseTime": { + "total": "477", + "ok": "477", + "ko": "-" + }, + "maxResponseTime": { + "total": "15111", + "ok": "15111", + "ko": "-" + }, + "meanResponseTime": { + "total": "10399", + "ok": "10399", + "ko": "-" + }, + "standardDeviation": { + "total": "3665", + "ok": "3665", + "ko": "-" + }, + "percentiles1": { + "total": "11320", + "ok": "11320", + "ko": "-" + }, + "percentiles2": { + "total": "13080", + "ok": "13080", + "ko": "-" + }, + "percentiles3": { + "total": "14687", + "ok": "14687", + "ko": "-" + }, + "percentiles4": { + "total": "14961", + "ok": "14961", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 5, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 18, + "percentage": 1 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 1248, + "percentage": 98 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.111", + "ok": "6.111", + "ko": "-" + } +} + },"req_request-7-693933703": { + type: "REQUEST", + name: "request_7", +path: "request_7", +pathFormatted: "req_request-7-693933703", +stats: { + "name": "request_7", + "numberOfRequests": { + "total": "1440", + "ok": "1388", + "ko": "52" + }, + "minResponseTime": { + "total": "57", + "ok": "57", + "ko": "10000" + }, + "maxResponseTime": { + "total": "10010", + "ok": "7568", + "ko": "10010" + }, + "meanResponseTime": { + "total": "1150", + "ok": "818", + "ko": "10003" + }, + "standardDeviation": { + "total": "2170", + "ok": "1356", + "ko": "2" + }, + "percentiles1": { + "total": "135", + "ok": "134", + "ko": "10002" + }, + "percentiles2": { + "total": "1136", + "ok": "1134", + "ko": "10004" + }, + "percentiles3": { + "total": "7157", + "ok": "3148", + "ko": "10007" + }, + "percentiles4": { + "total": "10004", + "ok": "7160", + "ko": "10009" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 855, + "percentage": 59 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 379, + "percentage": 26 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 154, + "percentage": 11 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 52, + "percentage": 4 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.923", + "ok": "6.673", + "ko": "0.25" + } +} + },"req_request-8-693933704": { + type: "REQUEST", + name: "request_8", +path: "request_8", +pathFormatted: "req_request-8-693933704", +stats: { + "name": "request_8", + "numberOfRequests": { + "total": "1440", + "ok": "1438", + "ko": "2" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "10004" + }, + "maxResponseTime": { + "total": "10007", + "ok": "7437", + "ko": "10007" + }, + "meanResponseTime": { + "total": "538", + "ok": "525", + "ko": "10006" + }, + "standardDeviation": { + "total": "734", + "ok": "644", + "ko": "2" + }, + "percentiles1": { + "total": "130", + "ok": "130", + "ko": "10006" + }, + "percentiles2": { + "total": "1087", + "ok": "1087", + "ko": "10006" + }, + "percentiles3": { + "total": "1138", + "ok": "1138", + "ko": "10007" + }, + "percentiles4": { + "total": "3090", + "ok": "2736", + "ko": "10007" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 884, + "percentage": 61 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 534, + "percentage": 37 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 20, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 2, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.923", + "ok": "6.913", + "ko": "0.01" + } +} + },"req_request-9-693933705": { + type: "REQUEST", + name: "request_9", +path: "request_9", +pathFormatted: "req_request-9-693933705", +stats: { + "name": "request_9", + "numberOfRequests": { + "total": "1440", + "ok": "1433", + "ko": "7" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "10001" + }, + "maxResponseTime": { + "total": "10580", + "ok": "10580", + "ko": "10014" + }, + "meanResponseTime": { + "total": "621", + "ok": "575", + "ko": "10005" + }, + "standardDeviation": { + "total": "1201", + "ok": "1008", + "ko": "4" + }, + "percentiles1": { + "total": "129", + "ok": "129", + "ko": "10003" + }, + "percentiles2": { + "total": "1086", + "ok": "1086", + "ko": "10006" + }, + "percentiles3": { + "total": "1140", + "ok": "1140", + "ko": "10013" + }, + "percentiles4": { + "total": "9390", + "ok": "5834", + "ko": "10014" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 895, + "percentage": 62 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 499, + "percentage": 35 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 39, + "percentage": 3 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 7, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.923", + "ok": "6.889", + "ko": "0.034" + } +} + },"req_request-10-37108175": { + type: "REQUEST", + name: "request_10", +path: "request_10", +pathFormatted: "req_request-10-37108175", +stats: { + "name": "request_10", + "numberOfRequests": { + "total": "1440", + "ok": "1440", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "10923", + "ok": "10923", + "ko": "-" + }, + "meanResponseTime": { + "total": "685", + "ok": "685", + "ko": "-" + }, + "standardDeviation": { + "total": "1031", + "ok": "1031", + "ko": "-" + }, + "percentiles1": { + "total": "133", + "ok": "133", + "ko": "-" + }, + "percentiles2": { + "total": "1089", + "ok": "1089", + "ko": "-" + }, + "percentiles3": { + "total": "1406", + "ok": "1406", + "ko": "-" + }, + "percentiles4": { + "total": "3284", + "ok": "3284", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 814, + "percentage": 57 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 503, + "percentage": 35 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 123, + "percentage": 9 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.923", + "ok": "6.923", + "ko": "-" + } +} + },"req_request-11-37108176": { + type: "REQUEST", + name: "request_11", +path: "request_11", +pathFormatted: "req_request-11-37108176", +stats: { + "name": "request_11", + "numberOfRequests": { + "total": "1440", + "ok": "1440", + "ko": "0" + }, + "minResponseTime": { + "total": "37", + "ok": "37", + "ko": "-" + }, + "maxResponseTime": { + "total": "9865", + "ok": "9865", + "ko": "-" + }, + "meanResponseTime": { + "total": "67", + "ok": "67", + "ko": "-" + }, + "standardDeviation": { + "total": "362", + "ok": "362", + "ko": "-" + }, + "percentiles1": { + "total": "41", + "ok": "41", + "ko": "-" + }, + "percentiles2": { + "total": "64", + "ok": "64", + "ko": "-" + }, + "percentiles3": { + "total": "102", + "ok": "102", + "ko": "-" + }, + "percentiles4": { + "total": "130", + "ok": "130", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 1437, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 3, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.923", + "ok": "6.923", + "ko": "-" + } +} + },"req_request-12-37108177": { + type: "REQUEST", + name: "request_12", +path: "request_12", +pathFormatted: "req_request-12-37108177", +stats: { + "name": "request_12", + "numberOfRequests": { + "total": "1440", + "ok": "1438", + "ko": "2" + }, + "minResponseTime": { + "total": "24", + "ok": "24", + "ko": "7563" + }, + "maxResponseTime": { + "total": "12361", + "ok": "12361", + "ko": "9067" + }, + "meanResponseTime": { + "total": "349", + "ok": "337", + "ko": "8315" + }, + "standardDeviation": { + "total": "1413", + "ok": "1382", + "ko": "752" + }, + "percentiles1": { + "total": "32", + "ok": "32", + "ko": "8315" + }, + "percentiles2": { + "total": "74", + "ok": "74", + "ko": "8691" + }, + "percentiles3": { + "total": "1040", + "ok": "1039", + "ko": "8992" + }, + "percentiles4": { + "total": "9904", + "ok": "9907", + "ko": "9052" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 1283, + "percentage": 89 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 109, + "percentage": 8 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 46, + "percentage": 3 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 2, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.923", + "ok": "6.913", + "ko": "0.01" + } +} + },"req_request-14-37108179": { + type: "REQUEST", + name: "request_14", +path: "request_14", +pathFormatted: "req_request-14-37108179", +stats: { + "name": "request_14", + "numberOfRequests": { + "total": "1440", + "ok": "1438", + "ko": "2" + }, + "minResponseTime": { + "total": "35", + "ok": "35", + "ko": "10005" + }, + "maxResponseTime": { + "total": "10006", + "ok": "8551", + "ko": "10006" + }, + "meanResponseTime": { + "total": "115", + "ok": "101", + "ko": "10006" + }, + "standardDeviation": { + "total": "489", + "ok": "321", + "ko": "1" + }, + "percentiles1": { + "total": "39", + "ok": "39", + "ko": "10006" + }, + "percentiles2": { + "total": "59", + "ok": "59", + "ko": "10006" + }, + "percentiles3": { + "total": "184", + "ok": "166", + "ko": "10006" + }, + "percentiles4": { + "total": "1094", + "ok": "1094", + "ko": "10006" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 1371, + "percentage": 95 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 65, + "percentage": 5 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 2, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 2, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.923", + "ok": "6.913", + "ko": "0.01" + } +} + },"req_request-15-37108180": { + type: "REQUEST", + name: "request_15", +path: "request_15", +pathFormatted: "req_request-15-37108180", +stats: { + "name": "request_15", + "numberOfRequests": { + "total": "1438", + "ok": "1438", + "ko": "0" + }, + "minResponseTime": { + "total": "37", + "ok": "37", + "ko": "-" + }, + "maxResponseTime": { + "total": "537", + "ok": "537", + "ko": "-" + }, + "meanResponseTime": { + "total": "46", + "ok": "46", + "ko": "-" + }, + "standardDeviation": { + "total": "23", + "ok": "23", + "ko": "-" + }, + "percentiles1": { + "total": "41", + "ok": "41", + "ko": "-" + }, + "percentiles2": { + "total": "44", + "ok": "44", + "ko": "-" + }, + "percentiles3": { + "total": "67", + "ok": "67", + "ko": "-" + }, + "percentiles4": { + "total": "72", + "ok": "72", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 1438, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.913", + "ok": "6.913", + "ko": "-" + } +} + },"req_request-16-37108181": { + type: "REQUEST", + name: "request_16", +path: "request_16", +pathFormatted: "req_request-16-37108181", +stats: { + "name": "request_16", + "numberOfRequests": { + "total": "1440", + "ok": "1440", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "10020", + "ok": "10020", + "ko": "-" + }, + "meanResponseTime": { + "total": "589", + "ok": "589", + "ko": "-" + }, + "standardDeviation": { + "total": "790", + "ok": "790", + "ko": "-" + }, + "percentiles1": { + "total": "117", + "ok": "117", + "ko": "-" + }, + "percentiles2": { + "total": "1086", + "ok": "1086", + "ko": "-" + }, + "percentiles3": { + "total": "1137", + "ok": "1137", + "ko": "-" + }, + "percentiles4": { + "total": "3141", + "ok": "3141", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 819, + "percentage": 57 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 562, + "percentage": 39 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 59, + "percentage": 4 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.923", + "ok": "6.923", + "ko": "-" + } +} + },"req_request-17-37108182": { + type: "REQUEST", + name: "request_17", +path: "request_17", +pathFormatted: "req_request-17-37108182", +stats: { + "name": "request_17", + "numberOfRequests": { + "total": "1440", + "ok": "1436", + "ko": "4" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "10004" + }, + "maxResponseTime": { + "total": "10359", + "ok": "10359", + "ko": "10038" + }, + "meanResponseTime": { + "total": "699", + "ok": "673", + "ko": "10023" + }, + "standardDeviation": { + "total": "1198", + "ok": "1094", + "ko": "15" + }, + "percentiles1": { + "total": "89", + "ok": "89", + "ko": "10024" + }, + "percentiles2": { + "total": "1086", + "ok": "1086", + "ko": "10037" + }, + "percentiles3": { + "total": "1371", + "ok": "1349", + "ko": "10038" + }, + "percentiles4": { + "total": "7814", + "ok": "7050", + "ko": "10038" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 809, + "percentage": 56 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 537, + "percentage": 37 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 90, + "percentage": 6 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 4, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "6.923", + "ok": "6.904", + "ko": "0.019" + } +} + } +} + +} + +function fillStats(stat){ + $("#numberOfRequests").append(stat.numberOfRequests.total); + $("#numberOfRequestsOK").append(stat.numberOfRequests.ok); + $("#numberOfRequestsKO").append(stat.numberOfRequests.ko); + + $("#minResponseTime").append(stat.minResponseTime.total); + $("#minResponseTimeOK").append(stat.minResponseTime.ok); + $("#minResponseTimeKO").append(stat.minResponseTime.ko); + + $("#maxResponseTime").append(stat.maxResponseTime.total); + $("#maxResponseTimeOK").append(stat.maxResponseTime.ok); + $("#maxResponseTimeKO").append(stat.maxResponseTime.ko); + + $("#meanResponseTime").append(stat.meanResponseTime.total); + $("#meanResponseTimeOK").append(stat.meanResponseTime.ok); + $("#meanResponseTimeKO").append(stat.meanResponseTime.ko); + + $("#standardDeviation").append(stat.standardDeviation.total); + $("#standardDeviationOK").append(stat.standardDeviation.ok); + $("#standardDeviationKO").append(stat.standardDeviation.ko); + + $("#percentiles1").append(stat.percentiles1.total); + $("#percentiles1OK").append(stat.percentiles1.ok); + $("#percentiles1KO").append(stat.percentiles1.ko); + + $("#percentiles2").append(stat.percentiles2.total); + $("#percentiles2OK").append(stat.percentiles2.ok); + $("#percentiles2KO").append(stat.percentiles2.ko); + + $("#percentiles3").append(stat.percentiles3.total); + $("#percentiles3OK").append(stat.percentiles3.ok); + $("#percentiles3KO").append(stat.percentiles3.ko); + + $("#percentiles4").append(stat.percentiles4.total); + $("#percentiles4OK").append(stat.percentiles4.ok); + $("#percentiles4KO").append(stat.percentiles4.ko); + + $("#meanNumberOfRequestsPerSecond").append(stat.meanNumberOfRequestsPerSecond.total); + $("#meanNumberOfRequestsPerSecondOK").append(stat.meanNumberOfRequestsPerSecond.ok); + $("#meanNumberOfRequestsPerSecondKO").append(stat.meanNumberOfRequestsPerSecond.ko); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/stats.json new file mode 100644 index 0000000..2757d79 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/stats.json @@ -0,0 +1,1481 @@ +{ + "type": "GROUP", +"name": "All Requests", +"path": "", +"pathFormatted": "group_missing-name--1146707516", +"stats": { + "name": "All Requests", + "numberOfRequests": { + "total": 23655, + "ok": 22047, + "ko": 1608 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 7563 + }, + "maxResponseTime": { + "total": 60094, + "ok": 59563, + "ko": 60094 + }, + "meanResponseTime": { + "total": 5157, + "ok": 3073, + "ko": 33726 + }, + "standardDeviation": { + "total": 13172, + "ok": 8765, + "ko": 24969 + }, + "percentiles1": { + "total": 128, + "ok": 125, + "ko": 10008 + }, + "percentiles2": { + "total": 1139, + "ok": 1096, + "ko": 60002 + }, + "percentiles3": { + "total": 40980, + "ok": 17282, + "ko": 60006 + }, + "percentiles4": { + "total": 60003, + "ok": 49342, + "ko": 60010 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 14299, + "percentage": 60 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 4006, + "percentage": 17 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 3742, + "percentage": 16 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 1608, + "percentage": 7 +}, + "meanNumberOfRequestsPerSecond": { + "total": 113.72596153846153, + "ok": 105.9951923076923, + "ko": 7.730769230769231 + } +}, +"contents": { +"req_request-0-693933696": { + "type": "REQUEST", + "name": "request_0", +"path": "request_0", +"pathFormatted": "req_request-0-693933696", +"stats": { + "name": "request_0", + "numberOfRequests": { + "total": 1440, + "ok": 1282, + "ko": 158 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 10000 + }, + "maxResponseTime": { + "total": 10014, + "ok": 8158, + "ko": 10014 + }, + "meanResponseTime": { + "total": 1949, + "ok": 957, + "ko": 10003 + }, + "standardDeviation": { + "total": 3206, + "ok": 1601, + "ko": 3 + }, + "percentiles1": { + "total": 181, + "ok": 156, + "ko": 10002 + }, + "percentiles2": { + "total": 1178, + "ok": 1139, + "ko": 10004 + }, + "percentiles3": { + "total": 10002, + "ok": 3196, + "ko": 10008 + }, + "percentiles4": { + "total": 10006, + "ok": 7165, + "ko": 10012 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 805, + "percentage": 56 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 290, + "percentage": 20 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 187, + "percentage": 13 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 158, + "percentage": 11 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.923076923076923, + "ok": 6.163461538461538, + "ko": 0.7596153846153846 + } +} + },"req_request-1-693933697": { + "type": "REQUEST", + "name": "request_1", +"path": "request_1", +"pathFormatted": "req_request-1-693933697", +"stats": { + "name": "request_1", + "numberOfRequests": { + "total": 1282, + "ok": 1282, + "ko": 0 + }, + "minResponseTime": { + "total": 36, + "ok": 36, + "ko": 0 + }, + "maxResponseTime": { + "total": 890, + "ok": 890, + "ko": 0 + }, + "meanResponseTime": { + "total": 68, + "ok": 68, + "ko": 0 + }, + "standardDeviation": { + "total": 41, + "ok": 41, + "ko": 0 + }, + "percentiles1": { + "total": 64, + "ok": 64, + "ko": 0 + }, + "percentiles2": { + "total": 66, + "ok": 66, + "ko": 0 + }, + "percentiles3": { + "total": 101, + "ok": 101, + "ko": 0 + }, + "percentiles4": { + "total": 183, + "ok": 183, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 1281, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 1, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.163461538461538, + "ok": 6.163461538461538, + "ko": 0 + } +} + },"req_request-2-693933698": { + "type": "REQUEST", + "name": "request_2", +"path": "request_2", +"pathFormatted": "req_request-2-693933698", +"stats": { + "name": "request_2", + "numberOfRequests": { + "total": 1282, + "ok": 1155, + "ko": 127 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 10000 + }, + "maxResponseTime": { + "total": 10011, + "ok": 8138, + "ko": 10011 + }, + "meanResponseTime": { + "total": 1721, + "ok": 810, + "ko": 10003 + }, + "standardDeviation": { + "total": 3065, + "ok": 1433, + "ko": 2 + }, + "percentiles1": { + "total": 168, + "ok": 149, + "ko": 10002 + }, + "percentiles2": { + "total": 1145, + "ok": 1135, + "ko": 10004 + }, + "percentiles3": { + "total": 10002, + "ok": 3155, + "ko": 10007 + }, + "percentiles4": { + "total": 10006, + "ok": 7165, + "ko": 10010 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 764, + "percentage": 60 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 268, + "percentage": 21 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 123, + "percentage": 10 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 127, + "percentage": 10 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.163461538461538, + "ok": 5.552884615384615, + "ko": 0.6105769230769231 + } +} + },"req_request-3-693933699": { + "type": "REQUEST", + "name": "request_3", +"path": "request_3", +"pathFormatted": "req_request-3-693933699", +"stats": { + "name": "request_3", + "numberOfRequests": { + "total": 1440, + "ok": 1271, + "ko": 169 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 10000 + }, + "maxResponseTime": { + "total": 10011, + "ok": 7422, + "ko": 10011 + }, + "meanResponseTime": { + "total": 2105, + "ok": 1055, + "ko": 10003 + }, + "standardDeviation": { + "total": 3369, + "ok": 1861, + "ko": 2 + }, + "percentiles1": { + "total": 132, + "ok": 131, + "ko": 10002 + }, + "percentiles2": { + "total": 2150, + "ok": 1134, + "ko": 10004 + }, + "percentiles3": { + "total": 10002, + "ok": 7144, + "ko": 10008 + }, + "percentiles4": { + "total": 10007, + "ok": 7159, + "ko": 10010 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 837, + "percentage": 58 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 235, + "percentage": 16 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 199, + "percentage": 14 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 169, + "percentage": 12 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.923076923076923, + "ok": 6.110576923076923, + "ko": 0.8125 + } +} + },"req_request-5-693933701": { + "type": "REQUEST", + "name": "request_5", +"path": "request_5", +"pathFormatted": "req_request-5-693933701", +"stats": { + "name": "request_5", + "numberOfRequests": { + "total": 1271, + "ok": 1064, + "ko": 207 + }, + "minResponseTime": { + "total": 611, + "ok": 611, + "ko": 10000 + }, + "maxResponseTime": { + "total": 60010, + "ok": 59455, + "ko": 60010 + }, + "meanResponseTime": { + "total": 24664, + "ok": 24650, + "ko": 24737 + }, + "standardDeviation": { + "total": 14964, + "ok": 12899, + "ko": 22795 + }, + "percentiles1": { + "total": 22958, + "ok": 24678, + "ko": 10003 + }, + "percentiles2": { + "total": 33894, + "ok": 33524, + "ko": 60000 + }, + "percentiles3": { + "total": 58279, + "ok": 47741, + "ko": 60004 + }, + "percentiles4": { + "total": 60003, + "ok": 56293, + "ko": 60008 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 6, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 1056, + "percentage": 83 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 207, + "percentage": 16 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.110576923076923, + "ok": 5.115384615384615, + "ko": 0.9951923076923077 + } +} + },"req_request-6-693933702": { + "type": "REQUEST", + "name": "request_6", +"path": "request_6", +"pathFormatted": "req_request-6-693933702", +"stats": { + "name": "request_6", + "numberOfRequests": { + "total": 1271, + "ok": 393, + "ko": 878 + }, + "minResponseTime": { + "total": 1628, + "ok": 1628, + "ko": 10000 + }, + "maxResponseTime": { + "total": 60094, + "ok": 59563, + "ko": 60094 + }, + "meanResponseTime": { + "total": 49013, + "ok": 46855, + "ko": 49980 + }, + "standardDeviation": { + "total": 17435, + "ok": 9009, + "ko": 20017 + }, + "percentiles1": { + "total": 60000, + "ok": 48191, + "ko": 60001 + }, + "percentiles2": { + "total": 60002, + "ok": 53332, + "ko": 60003 + }, + "percentiles3": { + "total": 60006, + "ok": 58249, + "ko": 60007 + }, + "percentiles4": { + "total": 60010, + "ok": 59169, + "ko": 60011 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 0, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 393, + "percentage": 31 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 878, + "percentage": 69 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.110576923076923, + "ok": 1.8894230769230769, + "ko": 4.221153846153846 + } +} + },"req_request-4-693933700": { + "type": "REQUEST", + "name": "request_4", +"path": "request_4", +"pathFormatted": "req_request-4-693933700", +"stats": { + "name": "request_4", + "numberOfRequests": { + "total": 1271, + "ok": 1271, + "ko": 0 + }, + "minResponseTime": { + "total": 477, + "ok": 477, + "ko": 0 + }, + "maxResponseTime": { + "total": 15111, + "ok": 15111, + "ko": 0 + }, + "meanResponseTime": { + "total": 10399, + "ok": 10399, + "ko": 0 + }, + "standardDeviation": { + "total": 3665, + "ok": 3665, + "ko": 0 + }, + "percentiles1": { + "total": 11320, + "ok": 11320, + "ko": 0 + }, + "percentiles2": { + "total": 13080, + "ok": 13080, + "ko": 0 + }, + "percentiles3": { + "total": 14687, + "ok": 14687, + "ko": 0 + }, + "percentiles4": { + "total": 14961, + "ok": 14961, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 5, + "percentage": 0 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 18, + "percentage": 1 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 1248, + "percentage": 98 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.110576923076923, + "ok": 6.110576923076923, + "ko": 0 + } +} + },"req_request-7-693933703": { + "type": "REQUEST", + "name": "request_7", +"path": "request_7", +"pathFormatted": "req_request-7-693933703", +"stats": { + "name": "request_7", + "numberOfRequests": { + "total": 1440, + "ok": 1388, + "ko": 52 + }, + "minResponseTime": { + "total": 57, + "ok": 57, + "ko": 10000 + }, + "maxResponseTime": { + "total": 10010, + "ok": 7568, + "ko": 10010 + }, + "meanResponseTime": { + "total": 1150, + "ok": 818, + "ko": 10003 + }, + "standardDeviation": { + "total": 2170, + "ok": 1356, + "ko": 2 + }, + "percentiles1": { + "total": 135, + "ok": 134, + "ko": 10002 + }, + "percentiles2": { + "total": 1136, + "ok": 1134, + "ko": 10004 + }, + "percentiles3": { + "total": 7157, + "ok": 3148, + "ko": 10007 + }, + "percentiles4": { + "total": 10004, + "ok": 7160, + "ko": 10009 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 855, + "percentage": 59 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 379, + "percentage": 26 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 154, + "percentage": 11 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 52, + "percentage": 4 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.923076923076923, + "ok": 6.673076923076923, + "ko": 0.25 + } +} + },"req_request-8-693933704": { + "type": "REQUEST", + "name": "request_8", +"path": "request_8", +"pathFormatted": "req_request-8-693933704", +"stats": { + "name": "request_8", + "numberOfRequests": { + "total": 1440, + "ok": 1438, + "ko": 2 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 10004 + }, + "maxResponseTime": { + "total": 10007, + "ok": 7437, + "ko": 10007 + }, + "meanResponseTime": { + "total": 538, + "ok": 525, + "ko": 10006 + }, + "standardDeviation": { + "total": 734, + "ok": 644, + "ko": 2 + }, + "percentiles1": { + "total": 130, + "ok": 130, + "ko": 10006 + }, + "percentiles2": { + "total": 1087, + "ok": 1087, + "ko": 10006 + }, + "percentiles3": { + "total": 1138, + "ok": 1138, + "ko": 10007 + }, + "percentiles4": { + "total": 3090, + "ok": 2736, + "ko": 10007 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 884, + "percentage": 61 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 534, + "percentage": 37 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 20, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 2, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.923076923076923, + "ok": 6.913461538461538, + "ko": 0.009615384615384616 + } +} + },"req_request-9-693933705": { + "type": "REQUEST", + "name": "request_9", +"path": "request_9", +"pathFormatted": "req_request-9-693933705", +"stats": { + "name": "request_9", + "numberOfRequests": { + "total": 1440, + "ok": 1433, + "ko": 7 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 10001 + }, + "maxResponseTime": { + "total": 10580, + "ok": 10580, + "ko": 10014 + }, + "meanResponseTime": { + "total": 621, + "ok": 575, + "ko": 10005 + }, + "standardDeviation": { + "total": 1201, + "ok": 1008, + "ko": 4 + }, + "percentiles1": { + "total": 129, + "ok": 129, + "ko": 10003 + }, + "percentiles2": { + "total": 1086, + "ok": 1086, + "ko": 10006 + }, + "percentiles3": { + "total": 1140, + "ok": 1140, + "ko": 10013 + }, + "percentiles4": { + "total": 9390, + "ok": 5834, + "ko": 10014 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 895, + "percentage": 62 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 499, + "percentage": 35 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 39, + "percentage": 3 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 7, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.923076923076923, + "ok": 6.889423076923077, + "ko": 0.03365384615384615 + } +} + },"req_request-10-37108175": { + "type": "REQUEST", + "name": "request_10", +"path": "request_10", +"pathFormatted": "req_request-10-37108175", +"stats": { + "name": "request_10", + "numberOfRequests": { + "total": 1440, + "ok": 1440, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 10923, + "ok": 10923, + "ko": 0 + }, + "meanResponseTime": { + "total": 685, + "ok": 685, + "ko": 0 + }, + "standardDeviation": { + "total": 1031, + "ok": 1031, + "ko": 0 + }, + "percentiles1": { + "total": 133, + "ok": 133, + "ko": 0 + }, + "percentiles2": { + "total": 1089, + "ok": 1089, + "ko": 0 + }, + "percentiles3": { + "total": 1406, + "ok": 1406, + "ko": 0 + }, + "percentiles4": { + "total": 3284, + "ok": 3284, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 814, + "percentage": 57 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 503, + "percentage": 35 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 123, + "percentage": 9 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.923076923076923, + "ok": 6.923076923076923, + "ko": 0 + } +} + },"req_request-11-37108176": { + "type": "REQUEST", + "name": "request_11", +"path": "request_11", +"pathFormatted": "req_request-11-37108176", +"stats": { + "name": "request_11", + "numberOfRequests": { + "total": 1440, + "ok": 1440, + "ko": 0 + }, + "minResponseTime": { + "total": 37, + "ok": 37, + "ko": 0 + }, + "maxResponseTime": { + "total": 9865, + "ok": 9865, + "ko": 0 + }, + "meanResponseTime": { + "total": 67, + "ok": 67, + "ko": 0 + }, + "standardDeviation": { + "total": 362, + "ok": 362, + "ko": 0 + }, + "percentiles1": { + "total": 41, + "ok": 41, + "ko": 0 + }, + "percentiles2": { + "total": 64, + "ok": 64, + "ko": 0 + }, + "percentiles3": { + "total": 102, + "ok": 102, + "ko": 0 + }, + "percentiles4": { + "total": 130, + "ok": 130, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 1437, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 3, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.923076923076923, + "ok": 6.923076923076923, + "ko": 0 + } +} + },"req_request-12-37108177": { + "type": "REQUEST", + "name": "request_12", +"path": "request_12", +"pathFormatted": "req_request-12-37108177", +"stats": { + "name": "request_12", + "numberOfRequests": { + "total": 1440, + "ok": 1438, + "ko": 2 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 7563 + }, + "maxResponseTime": { + "total": 12361, + "ok": 12361, + "ko": 9067 + }, + "meanResponseTime": { + "total": 349, + "ok": 337, + "ko": 8315 + }, + "standardDeviation": { + "total": 1413, + "ok": 1382, + "ko": 752 + }, + "percentiles1": { + "total": 32, + "ok": 32, + "ko": 8315 + }, + "percentiles2": { + "total": 74, + "ok": 74, + "ko": 8691 + }, + "percentiles3": { + "total": 1040, + "ok": 1039, + "ko": 8992 + }, + "percentiles4": { + "total": 9904, + "ok": 9907, + "ko": 9052 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 1283, + "percentage": 89 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 109, + "percentage": 8 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 46, + "percentage": 3 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 2, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.923076923076923, + "ok": 6.913461538461538, + "ko": 0.009615384615384616 + } +} + },"req_request-14-37108179": { + "type": "REQUEST", + "name": "request_14", +"path": "request_14", +"pathFormatted": "req_request-14-37108179", +"stats": { + "name": "request_14", + "numberOfRequests": { + "total": 1440, + "ok": 1438, + "ko": 2 + }, + "minResponseTime": { + "total": 35, + "ok": 35, + "ko": 10005 + }, + "maxResponseTime": { + "total": 10006, + "ok": 8551, + "ko": 10006 + }, + "meanResponseTime": { + "total": 115, + "ok": 101, + "ko": 10006 + }, + "standardDeviation": { + "total": 489, + "ok": 321, + "ko": 1 + }, + "percentiles1": { + "total": 39, + "ok": 39, + "ko": 10006 + }, + "percentiles2": { + "total": 59, + "ok": 59, + "ko": 10006 + }, + "percentiles3": { + "total": 184, + "ok": 166, + "ko": 10006 + }, + "percentiles4": { + "total": 1094, + "ok": 1094, + "ko": 10006 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 1371, + "percentage": 95 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 65, + "percentage": 5 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 2, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 2, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.923076923076923, + "ok": 6.913461538461538, + "ko": 0.009615384615384616 + } +} + },"req_request-15-37108180": { + "type": "REQUEST", + "name": "request_15", +"path": "request_15", +"pathFormatted": "req_request-15-37108180", +"stats": { + "name": "request_15", + "numberOfRequests": { + "total": 1438, + "ok": 1438, + "ko": 0 + }, + "minResponseTime": { + "total": 37, + "ok": 37, + "ko": 0 + }, + "maxResponseTime": { + "total": 537, + "ok": 537, + "ko": 0 + }, + "meanResponseTime": { + "total": 46, + "ok": 46, + "ko": 0 + }, + "standardDeviation": { + "total": 23, + "ok": 23, + "ko": 0 + }, + "percentiles1": { + "total": 41, + "ok": 41, + "ko": 0 + }, + "percentiles2": { + "total": 44, + "ok": 44, + "ko": 0 + }, + "percentiles3": { + "total": 67, + "ok": 67, + "ko": 0 + }, + "percentiles4": { + "total": 72, + "ok": 72, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 1438, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.913461538461538, + "ok": 6.913461538461538, + "ko": 0 + } +} + },"req_request-16-37108181": { + "type": "REQUEST", + "name": "request_16", +"path": "request_16", +"pathFormatted": "req_request-16-37108181", +"stats": { + "name": "request_16", + "numberOfRequests": { + "total": 1440, + "ok": 1440, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 10020, + "ok": 10020, + "ko": 0 + }, + "meanResponseTime": { + "total": 589, + "ok": 589, + "ko": 0 + }, + "standardDeviation": { + "total": 790, + "ok": 790, + "ko": 0 + }, + "percentiles1": { + "total": 117, + "ok": 117, + "ko": 0 + }, + "percentiles2": { + "total": 1086, + "ok": 1086, + "ko": 0 + }, + "percentiles3": { + "total": 1137, + "ok": 1137, + "ko": 0 + }, + "percentiles4": { + "total": 3141, + "ok": 3141, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 819, + "percentage": 57 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 562, + "percentage": 39 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 59, + "percentage": 4 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.923076923076923, + "ok": 6.923076923076923, + "ko": 0 + } +} + },"req_request-17-37108182": { + "type": "REQUEST", + "name": "request_17", +"path": "request_17", +"pathFormatted": "req_request-17-37108182", +"stats": { + "name": "request_17", + "numberOfRequests": { + "total": 1440, + "ok": 1436, + "ko": 4 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 10004 + }, + "maxResponseTime": { + "total": 10359, + "ok": 10359, + "ko": 10038 + }, + "meanResponseTime": { + "total": 699, + "ok": 673, + "ko": 10023 + }, + "standardDeviation": { + "total": 1198, + "ok": 1094, + "ko": 15 + }, + "percentiles1": { + "total": 89, + "ok": 89, + "ko": 10024 + }, + "percentiles2": { + "total": 1086, + "ok": 1086, + "ko": 10037 + }, + "percentiles3": { + "total": 1371, + "ok": 1349, + "ko": 10038 + }, + "percentiles4": { + "total": 7814, + "ok": 7050, + "ko": 10038 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 809, + "percentage": 56 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 537, + "percentage": 37 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 90, + "percentage": 6 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 4, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 6.923076923076923, + "ok": 6.903846153846154, + "ko": 0.019230769230769232 + } +} + } +} + +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/theme.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/theme.js new file mode 100644 index 0000000..b95a7b3 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/theme.js @@ -0,0 +1,127 @@ +/* + * Copyright 2011-2022 Gatling Corp + * + * Licensed under the Gatling Highcharts License + */ +Highcharts.theme = { + chart: { + backgroundColor: '#f7f7f7', + borderWidth: 0, + borderRadius: 8, + plotBackgroundColor: null, + plotShadow: false, + plotBorderWidth: 0 + }, + xAxis: { + gridLineWidth: 0, + lineColor: '#666', + tickColor: '#666', + labels: { + style: { + color: '#666' + } + }, + title: { + style: { + color: '#666' + } + } + }, + yAxis: { + alternateGridColor: null, + minorTickInterval: null, + gridLineColor: '#999', + lineWidth: 0, + tickWidth: 0, + labels: { + style: { + color: '#666', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#666', + font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + labels: { + style: { + color: '#CCC' + } + }, + + + rangeSelector: { + buttonTheme: { + fill: '#cfc9c6', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#b2b2a9' + }, + states: { + hover: { + fill: '#92918C', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#8b897d' + } + }, + select: { + fill: '#E37400', + stroke: '#000000', + style: { + color: '#FFF' + } + } + } + }, + inputStyle: { + backgroundColor: '#333', + color: 'silver' + }, + labelStyle: { + color: '#8b897d' + } + }, + + navigator: { + handles: { + backgroundColor: '#f7f7f7', + borderColor: '#92918C' + }, + outlineColor: '#92918C', + outlineWidth: 1, + maskFill: 'rgba(146, 145, 140, 0.5)', + series: { + color: '#5E7BE2', + lineColor: '#5E7BE2' + } + }, + + scrollbar: { + buttonBackgroundColor: '#f7f7f7', + buttonBorderWidth: 1, + buttonBorderColor: '#92918C', + buttonArrowColor: '#92918C', + buttonBorderRadius: 2, + + barBorderWidth: 1, + barBorderRadius: 0, + barBackgroundColor: '#92918C', + barBorderColor: '#92918C', + + rifleColor: '#92918C', + + trackBackgroundColor: '#b0b0a8', + trackBorderWidth: 1, + trackBorderColor: '#b0b0a8' + } +}; + +Highcharts.setOptions(Highcharts.theme); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/unpack.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/unpack.js new file mode 100644 index 0000000..883c33e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/js/unpack.js @@ -0,0 +1,38 @@ +'use strict'; + +var unpack = function (array) { + var findNbSeries = function (array) { + var currentPlotPack; + var length = array.length; + + for (var i = 0; i < length; i++) { + currentPlotPack = array[i][1]; + if(currentPlotPack !== null) { + return currentPlotPack.length; + } + } + return 0; + }; + + var i, j; + var nbPlots = array.length; + var nbSeries = findNbSeries(array); + + // Prepare unpacked array + var unpackedArray = new Array(nbSeries); + + for (i = 0; i < nbSeries; i++) { + unpackedArray[i] = new Array(nbPlots); + } + + // Unpack the array + for (i = 0; i < nbPlots; i++) { + var timestamp = array[i][0]; + var values = array[i][1]; + for (j = 0; j < nbSeries; j++) { + unpackedArray[j][i] = [timestamp * 1000, values === null ? null : values[j]]; + } + } + + return unpackedArray; +}; diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-0-693933696.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-0-693933696.html new file mode 100644 index 0000000..d6a9102 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-0-693933696.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_0 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-1-693933697.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-1-693933697.html new file mode 100644 index 0000000..29ef127 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-1-693933697.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_1 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-10-37108175.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-10-37108175.html new file mode 100644 index 0000000..b28bf3e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-10-37108175.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_10 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-11-37108176.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-11-37108176.html new file mode 100644 index 0000000..9fa127b --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-11-37108176.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_11 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-12-37108177.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-12-37108177.html new file mode 100644 index 0000000..988805e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-12-37108177.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_12 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-14-37108179.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-14-37108179.html new file mode 100644 index 0000000..39d4529 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-14-37108179.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_14 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-15-37108180.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-15-37108180.html new file mode 100644 index 0000000..30e093f --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-15-37108180.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_15 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-16-37108181.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-16-37108181.html new file mode 100644 index 0000000..6bdbea8 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-16-37108181.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_16 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-17-37108182.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-17-37108182.html new file mode 100644 index 0000000..05906a9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-17-37108182.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_17 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-2-693933698.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-2-693933698.html new file mode 100644 index 0000000..a8d492a --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-2-693933698.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_2 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-3-693933699.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-3-693933699.html new file mode 100644 index 0000000..c51cb22 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-3-693933699.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_3 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-4-693933700.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-4-693933700.html new file mode 100644 index 0000000..4d4d7bb --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-4-693933700.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_4 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-5-693933701.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-5-693933701.html new file mode 100644 index 0000000..2d2d0d8 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-5-693933701.html @@ -0,0 +1,930 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_5 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-6-693933702.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-6-693933702.html new file mode 100644 index 0000000..f10f472 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-6-693933702.html @@ -0,0 +1,930 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_6 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-7-693933703.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-7-693933703.html new file mode 100644 index 0000000..da307c2 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-7-693933703.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_7 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-8-693933704.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-8-693933704.html new file mode 100644 index 0000000..0dd7270 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-8-693933704.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_8 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-9-693933705.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-9-693933705.html new file mode 100644 index 0000000..ad5fd67 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/req_request-9-693933705.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_9 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/bootstrap.min.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/bootstrap.min.css new file mode 100644 index 0000000..76a2b9b --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/bootstrap.min.css @@ -0,0 +1,27 @@ +.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;} +.clearfix:after{clear:both;} +.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;} +.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);} +.tooltip.top{margin-top:-3px;} +.tooltip.right{margin-left:3px;} +.tooltip.bottom{margin-top:3px;} +.tooltip.left{margin-left:-3px;} +.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;} +.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;} +.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;} +.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;} +.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:750px;padding:1px;background-color:#ffffff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);}.popover.top{margin-top:-10px;} +.popover.right{margin-left:10px;} +.popover.bottom{margin-top:10px;} +.popover.left{margin-left:-10px;} +.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;} +.popover-content{padding:9px 14px;}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0;} +.popover .arrow,.popover .arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid;} +.popover .arrow:after{content:"";z-index:-1;} +.popover.top .arrow{bottom:-10px;left:50%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#ffffff;}.popover.top .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0, 0, 0, 0.25);bottom:-1px;left:-11px;} +.popover.right .arrow{top:50%;left:-10px;margin-top:-10px;border-width:10px 10px 10px 0;border-right-color:#ffffff;}.popover.right .arrow:after{border-width:11px 11px 11px 0;border-right-color:rgba(0, 0, 0, 0.25);bottom:-11px;left:-1px;} +.popover.bottom .arrow{top:-10px;left:50%;margin-left:-10px;border-width:0 10px 10px;border-bottom-color:#ffffff;}.popover.bottom .arrow:after{border-width:0 11px 11px;border-bottom-color:rgba(0, 0, 0, 0.25);top:-1px;left:-11px;} +.popover.left .arrow{top:50%;right:-10px;margin-top:-10px;border-width:10px 0 10px 10px;border-left-color:#ffffff;}.popover.left .arrow:after{border-width:11px 0 11px 11px;border-left-color:rgba(0, 0, 0, 0.25);bottom:-11px;right:-1px;} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/close.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/close.svg new file mode 100644 index 0000000..c161bb9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/executions.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/executions.svg new file mode 100644 index 0000000..84068cd --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/executions.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/expand.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/expand.svg new file mode 100644 index 0000000..f6e75e0 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/expand.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/favicon.ico b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d2d20e116df94a676d4bb18395f0479304aef6a4 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/fullscreen.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/fullscreen.svg new file mode 100644 index 0000000..91f3b27 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/fullscreen.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-dark.svg new file mode 100644 index 0000000..7eb4d51 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-enterprise-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-enterprise-dark.svg new file mode 100644 index 0000000..1127d75 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-enterprise-dark.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-enterprise-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-enterprise-light.svg new file mode 100644 index 0000000..4a6e1de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-enterprise-light.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-light.svg new file mode 100644 index 0000000..f519eef --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/logo-light.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/sort-down.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/sort-down.svg new file mode 100644 index 0000000..db58a09 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/sort-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/sort-up.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/sort-up.svg new file mode 100644 index 0000000..bba9d84 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/sort-up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/sort.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/sort.svg new file mode 100644 index 0000000..43b658e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/sort.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/style.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/style.css new file mode 100644 index 0000000..edc9626 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/25users-2cpus/style/style.css @@ -0,0 +1,1199 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +:root { + --gatling-background-color: #f2f2f2; + --gatling-background-light-color: #f7f7f7; + --gatling-border-color: #dddddd; + --gatling-blue-color: #4a9fe5; + --gatling-dark-blue-color: #24275e; + --gatling-danger-color: #f15b4f; + --gatling-danger-light-color: #f5d1ce; + --gatling-enterprise-color: #6161d6; + --gatling-enterprise-light-color: #c4c4ed; + --gatling-gray-medium-color: #bbb; + --gatling-hover-color: #e6e6e6; + --gatling-hover-background-color: #e6e6e6; + --gatling-light-color: #ffffff; + --gatling-orange-color: #f78557; + --gatling-success-color: #68b65c; + --gatling-text-color: #1f2024; + --gatling-total-color: #ffa900; + + --gatling-border-radius: 2px; + --gatling-spacing-small: 5px; + --gatling-spacing: 10px; + --gatling-spacing-layout: 20px; + + --gatling-font-weight-normal: 400; + --gatling-font-weight-medium: 500; + --gatling-font-weight-bold: 700; + --gatling-font-size-secondary: 12px; + --gatling-font-size-default: 14px; + --gatling-font-size-heading: 16px; + --gatling-font-size-section: 22px; + --gatling-font-size-header: 34px; + + --gatling-media-desktop-large: 1920px; +} + +html[data-theme="dark"] { + --gatling-background-color: #1e2225; + --gatling-background-light-color: #272c30; + --gatling-border-color: #555555; + --gatling-blue-color: #1188ff; + --gatling-dark-blue-color: #17223B; + --gatling-danger-color: #d9534f; + --gatling-danger-light-color: #c9302c; + --gatling-enterprise-color: #b2a2ea; + --gatling-enterprise-light-color: #343479; + --gatling-gray-medium-color: #999; + --gatling-hover-color: #30363b; + --gatling-hover-background-color: #2c2c2c; + --gatling-light-color: #394046; + --gatling-orange-color: #fe8e5f; + --gatling-success-color: #5cb85c; + --gatling-text-color: #dee2e6; + --gatling-total-color: #ffa900; +} + +* { + min-height: 0; + min-width: 0; +} + +html, +body { + height: 100%; + width: 100%; +} + +body { + color: var(--gatling-text-color); + font-family: arial; + font-size: var(--gatling-font-size-secondary); + margin: 0; +} + +.app-container { + display: flex; + flex-direction: column; + + height: 100%; + width: 100%; +} + +.head { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + + flex: 1; + + background-color: var(--gatling-light-color); + border-bottom: 1px solid var(--gatling-border-color); + min-height: 69px; + padding: 0 var(--gatling-spacing-layout); +} + +.head .spacer { + flex-grow: 1; +} + +.head .theme-toggle { + margin-left: 20px; + background: none; + color: var(--gatling-text-color); + border: none; +} + +.head .theme-toggle:hover { + color: var(--gatling-gray-medium-color); + cursor: pointer; +} + +body .toggle-dark, body .toggle-light { + display: block; +} + +[data-theme="dark"] body .toggle-dark { + display: none; +} + +[data-theme="light"] body .toggle-light { + display: none; +} + +[data-theme="dark"] body .logo-enterprise-light { + display: none; +} + +[data-theme="light"] body .logo-enterprise-dark { + display: none; +} + +.gatling-open-source { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + gap: var(--gatling-spacing-layout); +} + +.gatling-documentation { + display: flex; + align-items: center; + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-orange-color); + border: 1px solid var(--gatling-orange-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 23px; + + font-size: var(--gatling-font-size-default); +} + +.gatling-documentation:hover { + background-color: var(--gatling-orange-color); + color: var(--gatling-light-color); +} + +.gatling-logo { + height: 35px; +} + +.gatling-logo img { + height: 100%; +} + +[data-theme="dark"] .gatling-logo-light { + display: none; +} + +[data-theme="light"] .gatling-logo-dark { + display: none; +} + +.container { + display: flex; + align-items: stretch; + height: 100%; +} + +.nav { + min-width: 210px; + width: 210px; + max-height: calc(100vh - var(--gatling-spacing-layout) - var(--gatling-spacing-layout)); + background: var(--gatling-light-color); + border-right: 1px solid var(--gatling-border-color); + overflow-y: auto; +} + +@media print { + .nav { + display: none; + } +} + +@media screen and (min-width: 1920px) { + .nav { + min-width: 310px; + width: 310px; + } +} + +.nav ul { + display: flex; + flex-direction: column; + + padding: 0; + margin: 0; +} + +.nav li { + display: flex; + list-style: none; + width: 100%; + padding: 0; +} + +.nav .item { + display: inline-flex; + align-items: center; + margin: 0 auto; + white-space: nowrap; + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + margin: 0; + width: 100%; +} + +.nav .item .nav-label { + padding: var(--gatling-spacing) var(--gatling-spacing-layout); +} + +.nav .item:hover { + background-color: var(--gatling-hover-color); +} + +.nav .on .item { + background-color: var(--gatling-orange-color); +} + +.nav .on .item span { + color: var(--gatling-light-color); +} + +.cadre { + width: 100%; + height: 100%; + overflow-y: scroll; + scroll-behavior: smooth; +} + +@media print { + .cadre { + overflow-y: unset; + } +} + +.frise { + position: absolute; + top: 60px; + z-index: -1; + + background-color: var(--gatling-background-color); + height: 530px; +} + +.global { + height: 650px +} + +a { + text-decoration: none; +} + +a:hover { + color: var(--gatling-hover-color); +} + +img { + border: 0; +} + +h1 { + color: var(--gatling-dark-blue-color); + font-size: var(--gatling-font-size-section); + font-weight: var(--gatling-font-weight-medium); + text-align: center; + margin: 0; +} + +h1 span { + color: var(--gatling-hover-color); +} + +.enterprise { + display: flex; + align-items: center; + justify-content: center; + gap: var(--gatling-spacing-small); + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-enterprise-color); + color: var(--gatling-enterprise-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 25px; +} + +.enterprise:hover { + background-color: var(--gatling-hover-color); + color: var(--gatling-enterprise-color); +} + +.enterprise img { + display: block; + width: 160px; +} + +.simulation-card { + display: flex; + flex-direction: column; + align-self: stretch; + flex: 1; + gap: var(--gatling-spacing-layout); + max-height: 375px; +} + +#simulation-information { + flex: 1; +} + +.simulation-version-information { + display: flex; + flex-direction: column; + + gap: var(--gatling-spacing); + font-size: var(--gatling-font-size-default); + + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing); +} + +.simulation-information-container { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing); +} + +.withTooltip .popover-title { + display: none; +} + +.popover-content p { + margin: 0; +} + +html[data-theme="dark"] div.popover { + background-color: var(--gatling-light-color); + border-bottom: none; +} + +html[data-theme="dark"] div.popover.right .arrow { + border-right-color: var(--gatling-light-color); +} + +.ellipsed-name { + display: block; + + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.simulation-information-item { + display: flex; + flex-direction: row; + align-items: flex-start; + gap: var(--gatling-spacing-small); +} + +.simulation-information-item.description { + flex-direction: column; +} + +.simulation-information-label { + display: inline-block; + font-weight: var(--gatling-font-weight-bold); + min-width: fit-content; +} + +.simulation-information-title { + display: block; + text-align: center; + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + width: 100%; +} + +.simulation-tooltip span { + display: inline-block; + word-wrap: break-word; + overflow: hidden; + text-overflow: ellipsis; +} + +.content { + display: flex; + flex-direction: column; +} + +.content-in { + width: 100%; + height: 100%; + + overflow-x: scroll; +} + +html[data-theme="dark"] .content-in { + background-color: var(--gatling-background-color); +} + +@media print { + .content-in { + overflow-x: unset; + } +} + +.container-article { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + min-width: 1050px; + width: 1050px; + margin: 0 auto; + padding: var(--gatling-spacing-layout); + box-sizing: border-box; +} + +@media screen and (min-width: 1920px) { + .container-article { + min-width: 1350px; + width: 1350px; + } + + #responses * .highcharts-tracker { + transform: translate(400px, 70px); + } +} + +.content-header { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + background-color: var(--gatling-background-light-color); + border-bottom: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-layout) var(--gatling-spacing-layout) 0; +} + +.onglet { + font-size: var(--gatling-font-size-header); + font-weight: var(--gatling-font-weight-medium); + text-align: center; +} + +.sous-menu { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.sous-menu-spacer { + display: flex; + align-items: center; + flex-direction: row; +} + +.sous-menu .item { + margin-bottom: -1px; +} + +.sous-menu a { + display: block; + + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-normal); + padding: var(--gatling-spacing-small) var(--gatling-spacing) var(--gatling-spacing); + border-bottom: 2px solid transparent; + color: var(--gatling-text-color); + text-align: center; + width: 100px; +} + +.sous-menu a:hover { + border-bottom-color: var(--gatling-text-color); +} + +.sous-menu .ouvert a { + border-bottom-color: var(--gatling-orange-color); + font-weight: var(--gatling-font-weight-bold); +} + +.article { + position: relative; + + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); +} + +.infos { + width: 340px; + color: var(--gatling-light-color); +} + +.infos-title { + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-bottom: 0; + border-top-left-radius: var(--gatling-border-radius); + border-top-right-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.info { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + height: 100%; + margin: 0; +} + +.info table { + margin: auto; + padding-right: 15px; +} + +.alert-danger { + background-color: var(--gatling-danger-light-color); + border: 1px solid var(--gatling-danger-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-layout); + font-weight: var(--gatling-font-weight-bold); +} + +.infos h2 { + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + height: 19px; + margin: 0; + padding: 3.5px 0 0 35px; +} + +.infos .first::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.infos .second::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .infos .first::before, +html[data-theme="dark"] .infos .second::before { + filter: invert(0.9); +} + +.infos th { + text-align: center; +} + +.infos td { + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing-small); + -webkit-border-radius: var(--gatling-border-radius); + -moz-border-radius: var(--gatling-border-radius); + -ms-border-radius: var(--gatling-border-radius); + -o-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + text-align: right; + width: 50px; +} + +.infos .title { + width: 120px; +} + +.infos .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); +} + +.infos .total { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); +} + +.infos .ko { + background-color: var(--gatling-danger-color); + -webkit-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); +} + +.schema-container { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--gatling-spacing-layout); +} + +.schema { + background: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); +} + +.ranges { + height: 375px; + width: 500px; +} + +.ranges-large { + height: 375px; + width: 530px; +} + +.geant { + height: 362px; +} + +.extensible-geant { + width: 100%; +} + +.polar { + height: 375px; + width: 230px; +} + +.chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .highcharts-background { + fill: var(--gatling-background-light-color); +} + +html[data-theme="dark"] .highcharts-button-normal rect { + fill: var(--gatling-background-color) !important; +} + +html[data-theme="dark"] .highcharts-button-disabled rect { + fill: var(--gatling-background-light-color) !important; +} + +html[data-theme="dark"] .highcharts-button-pressed rect { + fill: var(--gatling-orange-color) !important; +} + +html[data-theme="dark"] .highcharts-axis text, +html[data-theme="dark"] .highcharts-axis-labels text, +html[data-theme="dark"] .highcharts-button text, +html[data-theme="dark"] .highcharts-legend-item text, +html[data-theme="dark"] .highcharts-range-selector-buttons text { + fill: var(--gatling-text-color) !important; +} + +.statistics { + display: flex; + flex-direction: column; + + background-color: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border-collapse: collapse; + color: var(--gatling-text-color); + max-height: 100%; +} + +.statistics .title { + display: flex; + text-align: center; + justify-content: space-between; + + min-height: 49.5px; + box-sizing: border-box; + + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing); +} + +.title_base { + display: flex; + align-items: center; + text-align: left; + user-select: none; +} + +.title_base_stats { + color: var(--gatling-text-color); + margin-right: 20px; +} + +.toggle-table { + position: relative; + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: 25px; + width: 40px; + height: 20px; + margin: 0 var(--gatling-spacing-small); +} + +.toggle-table::before { + position: absolute; + top: calc(50% - 9px); + left: 1px; + content: ""; + width: 50%; + height: 18px; + border-radius: 50%; + background-color: var(--gatling-text-color); +} + +.toggle-table.off::before { + left: unset; + right: 1px; +} + +.title_expanded { + cursor: pointer; + color: var(--gatling-text-color); +} + +.expand-table, +.collapse-table { + font-size: var(--gatling-font-size-secondary); + font-weight: var(--gatling-font-weight-normal); +} + +.title_expanded span.expand-table { + color: var(--gatling-gray-medium-color); +} + +.title_collapsed { + cursor: pointer; + color: var(--gatling-text-color); +} + +.title_collapsed span.collapse-table { + color: var(--gatling-gray-medium-color); +} + +#container_statistics_head { + position: sticky; + top: -1px; + + background: var(--gatling-background-light-color); + margin-top: -1px; + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); +} + +#container_statistics_body { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + margin-top: -1px; + padding: 0px var(--gatling-spacing-small) var(--gatling-spacing-small) var(--gatling-spacing-small); +} + +#container_errors { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); + margin-top: -1px; +} + +#container_assertions { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small); + margin-top: -1px; +} + +.statistics-in { + border-spacing: var(--gatling-spacing-small); + border-collapse: collapse; + margin: 0; +} + +.statistics .scrollable { + max-height: 100%; + overflow-y: auto; +} + +#statistics_table_container .statistics .scrollable { + max-height: 785px; +} + +.statistics-in a { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .header { + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small); +} + +.sortable { + cursor: pointer; +} + +.sortable span::after { + content: ''; + display: inline-block; + margin-left: 5px; + vertical-align: middle; + width: 12px; + height: 12px; + background: url('sort.svg'); + background-size: contain; +} + +.sorted-up span::after { + background: url('sort-up.svg'); + background-size: contain; +} + +.sorted-down span::after { + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .sortable span::after { + filter: invert(0.9); +} + +.executions::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.response-time::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .executions::before, +html[data-theme="dark"] .response-time::before { + filter: invert(0.9); +} + +.statistics-in td { + background-color: var(--gatling-light-color); + border: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-small); + min-width: 50px; +} + +.statistics-in .col-1 { + width: 175px; + max-width: 175px; +} +@media screen and (min-width: 1200px) { + .statistics-in .col-1 { + width: 50%; + } +} + +.expandable-container { + display: flex; + flex-direction: row; + box-sizing: border-box; + max-width: 100%; +} + +.statistics-in .value { + text-align: right; + width: 50px; +} + +.statistics-in .total { + color: var(--gatling-text-color); +} + +.statistics-in .col-2 { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .error-col-1 { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); +} + +.statistics-in .error-col-2 { + text-align: center; +} + +.statistics-in .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .ko { + background-color: var(--gatling-danger-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .expand-button { + padding-left: var(--gatling-spacing); + cursor: pointer; +} + +.expand-button.hidden { + background: none; + cursor: default; +} + +.statistics-button { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-small) var(--gatling-spacing); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); +} + +#statistics_full_screen{ + padding: var(--gatling-spacing-small); +} + +#statistics_full_screen > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] #statistics_full_screen > img { + filter: invert(0.9); +} + +#statistics_full_screen:disabled { + display: none; +} + +.statistics-button:hover:not(:disabled) { + cursor: pointer; + background-color: var(--gatling-hover-color); +} + +.statistics-in .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('expand.svg'); + background-size: contain; +} + +.statistics-in .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .statistics-in .expand-button.collapse, +html[data-theme="dark"] .statistics-in .expand-button.expand { + filter: invert(0.9); +} + +.nav .expand-button { + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.nav .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('expand.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +.nav .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('sort-down.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +html[data-theme="dark"] .nav .expand-button.expand, +html[data-theme="dark"] .nav .expand-button.collapse { + filter: invert(0.9); +} + +.right { + display: flex; + align-items: center; + gap: var(--gatling-spacing); + float: right; + font-size: var(--gatling-font-size-default); +} + +.withTooltip { + outline: none; +} + +.withTooltip:hover { + text-decoration: none; +} + +.withTooltip .tooltipContent { + position: absolute; + z-index: 10; + display: none; + + background: var(--gatling-orange-color); + -webkit-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + -moz-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); + margin-top: -5px; + padding: var(--gatling-spacing-small); +} + +.withTooltip:hover .tooltipContent { + display: inline; +} + +.button-modal { + padding: var(--gatling-spacing-small); +} + +.button-modal > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] .button-modal > img { + filter: invert(0.9); +} + +.statistics-table-modal { + background-color: var(--gatling-background-color); + height: calc(100% - 60px); + width: calc(100% - 60px); + border-radius: var(--gatling-border-radius); +} + +.statistics-table-modal::backdrop { + position: fixed; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + + background-color: rgba(100, 100, 100, 0.9); +} + +.statistics-table-modal-container { + display: flex; + flex-direction: column; + + width: 100%; + height: calc(100% - 35px); + overflow-x: auto; +} + +.button-modal { + cursor: pointer; + + height: 25px; + width: 25px; + + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); +} + +.button-modal:hover { + background-color: var(--gatling-background-color); +} + +.statistics-table-modal-header { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-bottom: var(--gatling-spacing); +} + +.statistics-table-modal-content { + flex: 1; + overflow-y: auto; + min-width: 1050px; +} + +.statistics-table-modal-footer { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-top: var(--gatling-spacing); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/index.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/index.html new file mode 100644 index 0000000..08952f2 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/index.html @@ -0,0 +1,1117 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - Global Information + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    +
    +
    + Gatling Version + + Version: + 3.10.5 + + + Released: + 2024-03-22 + +
    +
    + Run Information +
    + + Date: + 2024-04-25 17:01:35 GMT + + + Duration: + 2m 13s + + + Description: + Load testing (2 users/sec in 60sec - machine 1 cpu) + + +
    +
    +
    +
    + +
    + +
    + +
    +
    +
    +
    +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/all_sessions.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/all_sessions.js new file mode 100644 index 0000000..a1a2f3f --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/all_sessions.js @@ -0,0 +1,11 @@ +allUsersData = { + +color: '#FFA900', +name: 'Active Users', +data: [ + [1714064495000,5],[1714064496000,8],[1714064497000,10],[1714064498000,11],[1714064499000,15],[1714064500000,16],[1714064501000,20],[1714064502000,23],[1714064503000,28],[1714064504000,28],[1714064505000,30],[1714064506000,30],[1714064507000,30],[1714064508000,33],[1714064509000,34],[1714064510000,37],[1714064511000,39],[1714064512000,42],[1714064513000,44],[1714064514000,46],[1714064515000,49],[1714064516000,51],[1714064517000,51],[1714064518000,53],[1714064519000,54],[1714064520000,56],[1714064521000,57],[1714064522000,59],[1714064523000,62],[1714064524000,64],[1714064525000,66],[1714064526000,67],[1714064527000,69],[1714064528000,72],[1714064529000,73],[1714064530000,73],[1714064531000,78],[1714064532000,80],[1714064533000,80],[1714064534000,82],[1714064535000,84],[1714064536000,85],[1714064537000,90],[1714064538000,92],[1714064539000,97],[1714064540000,98],[1714064541000,101],[1714064542000,101],[1714064543000,106],[1714064544000,107],[1714064545000,109],[1714064546000,110],[1714064547000,115],[1714064548000,116],[1714064549000,119],[1714064550000,119],[1714064551000,119],[1714064552000,121],[1714064553000,122],[1714064554000,124],[1714064555000,124],[1714064556000,124],[1714064557000,124],[1714064558000,124],[1714064559000,124],[1714064560000,124],[1714064561000,124],[1714064562000,124],[1714064563000,124],[1714064564000,124],[1714064565000,124],[1714064566000,124],[1714064567000,124],[1714064568000,124],[1714064569000,124],[1714064570000,119],[1714064571000,116],[1714064572000,115],[1714064573000,113],[1714064574000,109],[1714064575000,107],[1714064576000,104],[1714064577000,102],[1714064578000,98],[1714064579000,95],[1714064580000,94],[1714064581000,94],[1714064582000,92],[1714064583000,91],[1714064584000,88],[1714064585000,86],[1714064586000,85],[1714064587000,82],[1714064588000,78],[1714064589000,77],[1714064590000,74],[1714064591000,73],[1714064592000,71],[1714064593000,70],[1714064594000,70],[1714064595000,67],[1714064596000,65],[1714064597000,64],[1714064598000,61],[1714064599000,59],[1714064600000,58],[1714064601000,55],[1714064602000,54],[1714064603000,51],[1714064604000,51],[1714064605000,50],[1714064606000,48],[1714064607000,44],[1714064608000,43],[1714064609000,41],[1714064610000,40],[1714064611000,38],[1714064612000,33],[1714064613000,31],[1714064614000,29],[1714064615000,25],[1714064616000,23],[1714064617000,23],[1714064618000,19],[1714064619000,15],[1714064620000,14],[1714064621000,13],[1714064622000,9],[1714064623000,6],[1714064624000,5],[1714064625000,5],[1714064626000,4],[1714064627000,3],[1714064628000,1] +], +tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 } + , zIndex: 20 + , yAxis: 1 +}; \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/assertions.xml b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/assertions.xml new file mode 100644 index 0000000..c562e00 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/assertions.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/bootstrap.min.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/bootstrap.min.js new file mode 100644 index 0000000..ea41042 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/** +* Bootstrap.js by @fat & @mdo +* plugins: bootstrap-tooltip.js, bootstrap-popover.js +* Copyright 2012 Twitter, Inc. +* http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +!function(a){var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this)):this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f+"."+this.type,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.offset(g).addClass(f).addClass("in")}},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).detach()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.detach()})}var b=this,c=this.tip();return c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.detach(),this},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);c[c.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'
    ',trigger:"hover",title:"",delay:0,html:!1}}(window.jQuery),!function(a){var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content > *")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'

    '})}(window.jQuery) \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/ellipsis.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/ellipsis.js new file mode 100644 index 0000000..781d0de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/ellipsis.js @@ -0,0 +1,26 @@ +function parentId(name) { + return "parent-" + name; +} + +function isEllipsed(name) { + const child = document.getElementById(name); + const parent = document.getElementById(parentId(name)); + const emptyData = parent.getAttribute("data-content") === ""; + const hasOverflow = child.clientWidth < child.scrollWidth; + + if (hasOverflow) { + if (emptyData) { + parent.setAttribute("data-content", name); + } + } else { + if (!emptyData) { + parent.setAttribute("data-content", ""); + } + } +} + +function ellipsedLabel ({ name, parentClass = "", childClass = "" }) { + const child = "" + name + ""; + + return "" + child + ""; +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/gatling.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/gatling.js new file mode 100644 index 0000000..5b9e992 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/gatling.js @@ -0,0 +1,137 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +(function ($) { + $.fn.expandable = function () { + var scope = this; + + this.find('.expand-button:not([class*=hidden])').addClass('collapse').on('click', function () { + var $this = $(this); + + if ($this.hasClass('expand')) + $this.expand(scope); + else + $this.collapse(scope); + }); + + this.find('.expand-all-button').on('click', function () { + $(this).expandAll(scope); + }); + + this.find('.collapse-all-button').on('click', function () { + $(this).collapseAll(scope); + }); + + this.collapseAll(this); + + return this; + }; + + $.fn.expand = function (scope, recursive) { + return this.each(function () { + var $this = $(this); + + if (recursive) { + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + } + + if ($this.hasClass('expand')) { + $('*[data-parent=' + $this.attr('id') + ']').toggle(true); + $this.toggleClass('expand').toggleClass('collapse'); + } + }); + }; + + $.fn.expandAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.expand').expand(scope, true); + $('*[data-parent=ROOT]').find('.expand-button.collapse').expand(scope, true); + }; + + $.fn.collapse = function (scope) { + return this.each(function () { + var $this = $(this); + + scope.find('*[data-parent=' + $this.attr('id') + '] .expand-button.collapse').collapse(scope); + scope.find('*[data-parent=' + $this.attr('id') + ']').toggle(false); + $this.toggleClass('expand').toggleClass('collapse'); + }); + }; + + $.fn.collapseAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.collapse').collapse(scope); + }; + + $.fn.sortable = function (target) { + var table = this; + + this.find('thead .sortable').on('click', function () { + var $this = $(this); + + if ($this.hasClass('sorted-down')) { + var desc = false; + var style = 'sorted-up'; + } + else { + var desc = true; + var style = 'sorted-down'; + } + + $(target).sortTable($this.attr('id'), desc); + + table.find('thead .sortable').removeClass('sorted-up sorted-down'); + $this.addClass(style); + + return false; + }); + + return this; + }; + + $.fn.sortTable = function (col, desc) { + function getValue(line) { + var cell = $(line).find('.' + col); + + if (cell.hasClass('value')) + var value = cell.text(); + else + var value = cell.find('.value').text(); + + return parseFloat(value); + } + + function sortLines (lines, group) { + var notErrorTable = col.search("error") == -1; + var linesToSort = notErrorTable ? lines.filter('*[data-parent=' + group + ']') : lines; + + var sortedLines = linesToSort.sort(function (a, b) { + return desc ? getValue(b) - getValue(a): getValue(a) - getValue(b); + }).toArray(); + + var result = []; + $.each(sortedLines, function (i, line) { + result.push(line); + if (notErrorTable) + result = result.concat(sortLines(lines, $(line).attr('id'))); + }); + + return result; + } + + this.find('tbody').append(sortLines(this.find('tbody tr').detach(), 'ROOT')); + + return this; + }; +})(jQuery); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/global_stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/global_stats.json new file mode 100644 index 0000000..09432ba --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/global_stats.json @@ -0,0 +1,77 @@ +{ + "name": "All Requests", + "numberOfRequests": { + "total": 2108, + "ok": 2108, + "ko": 0 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 0 + }, + "maxResponseTime": { + "total": 1697, + "ok": 1697, + "ko": 0 + }, + "meanResponseTime": { + "total": 136, + "ok": 136, + "ko": 0 + }, + "standardDeviation": { + "total": 198, + "ok": 198, + "ko": 0 + }, + "percentiles1": { + "total": 78, + "ok": 78, + "ko": 0 + }, + "percentiles2": { + "total": 95, + "ok": 95, + "ko": 0 + }, + "percentiles3": { + "total": 522, + "ok": 522, + "ko": 0 + }, + "percentiles4": { + "total": 1124, + "ok": 1124, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2057, + "percentage": 98 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 35, + "percentage": 2 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 16, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 15.73134328358209, + "ok": 15.73134328358209, + "ko": 0 + } +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/highcharts-more.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/highcharts-more.js new file mode 100644 index 0000000..2d78893 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/highcharts-more.js @@ -0,0 +1,60 @@ +/* + Highcharts JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(x){"object"===typeof module&&module.exports?module.exports=x:x(Highcharts)})(function(x){(function(b){function r(b,a,d){this.init(b,a,d)}var t=b.each,w=b.extend,m=b.merge,q=b.splat;w(r.prototype,{init:function(b,a,d){var f=this,h=f.defaultOptions;f.chart=a;f.options=b=m(h,a.angular?{background:{}}:void 0,b);(b=b.background)&&t([].concat(q(b)).reverse(),function(a){var c,h=d.userOptions;c=m(f.defaultBackgroundOptions,a);a.backgroundColor&&(c.backgroundColor=a.backgroundColor);c.color=c.backgroundColor; +d.options.plotBands.unshift(c);h.plotBands=h.plotBands||[];h.plotBands!==d.options.plotBands&&h.plotBands.unshift(c)})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{className:"highcharts-pane",shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}});b.Pane=r})(x);(function(b){var r=b.CenteredSeriesMixin, +t=b.each,w=b.extend,m=b.map,q=b.merge,e=b.noop,a=b.Pane,d=b.pick,f=b.pInt,h=b.splat,u=b.wrap,c,l,k=b.Axis.prototype;b=b.Tick.prototype;c={getOffset:e,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:e,setCategories:e,setTitle:e};l={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2}, +defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(a){a=this.options=q(this.defaultOptions,this.defaultRadialOptions,a);a.plotBands||(a.plotBands=[])},getOffset:function(){k.getOffset.call(this);this.chart.axisOffset[this.side]=0;this.center=this.pane.center= +r.getCenter.call(this.pane)},getLinePath:function(a,g){a=this.center;var c=this.chart,f=d(g,a[2]/2-this.offset);this.isCircular||void 0!==g?g=this.chart.renderer.symbols.arc(this.left+a[0],this.top+a[1],f,f,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}):(g=this.postTranslate(this.angleRad,f),g=["M",a[0]+c.plotLeft,a[1]+c.plotTop,"L",g.x,g.y]);return g},setAxisTranslation:function(){k.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/ +(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===d(this.userMax,this.options.max)&&this.endAngleRad-this.startAngleRad===2*Math.PI)this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){k.setAxisSize.call(this);this.isRadial&&(this.center=this.pane.center=r.getCenter.call(this.pane),this.isCircular&& +(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*d(this.sector,1)/2)},getPosition:function(a,g){return this.postTranslate(this.isCircular?this.translate(a):this.angleRad,d(this.isCircular?g:this.translate(a),this.center[2]/2)-this.offset)},postTranslate:function(a,g){var d=this.chart,c=this.center;a=this.startAngleRad+a;return{x:d.plotLeft+c[0]+Math.cos(a)*g,y:d.plotTop+c[1]+Math.sin(a)*g}},getPlotBandPath:function(a,g,c){var h=this.center,p=this.startAngleRad, +k=h[2]/2,n=[d(c.outerRadius,"100%"),c.innerRadius,d(c.thickness,10)],b=Math.min(this.offset,0),l=/%$/,u,e=this.isCircular;"polygon"===this.options.gridLineInterpolation?h=this.getPlotLinePath(a).concat(this.getPlotLinePath(g,!0)):(a=Math.max(a,this.min),g=Math.min(g,this.max),e||(n[0]=this.translate(a),n[1]=this.translate(g)),n=m(n,function(a){l.test(a)&&(a=f(a,10)*k/100);return a}),"circle"!==c.shape&&e?(a=p+this.translate(a),g=p+this.translate(g)):(a=-Math.PI/2,g=1.5*Math.PI,u=!0),n[0]-=b,n[2]-= +b,h=this.chart.renderer.symbols.arc(this.left+h[0],this.top+h[1],n[0],n[0],{start:Math.min(a,g),end:Math.max(a,g),innerR:d(n[1],n[0]-n[2]),open:u}));return h},getPlotLinePath:function(a,g){var d=this,c=d.center,f=d.chart,h=d.getPosition(a),k,b,p;d.isCircular?p=["M",c[0]+f.plotLeft,c[1]+f.plotTop,"L",h.x,h.y]:"circle"===d.options.gridLineInterpolation?(a=d.translate(a))&&(p=d.getLinePath(0,a)):(t(f.xAxis,function(a){a.pane===d.pane&&(k=a)}),p=[],a=d.translate(a),c=k.tickPositions,k.autoConnect&&(c= +c.concat([c[0]])),g&&(c=[].concat(c).reverse()),t(c,function(g,d){b=k.getPosition(g,a);p.push(d?"L":"M",b.x,b.y)}));return p},getTitlePosition:function(){var a=this.center,g=this.chart,d=this.options.title;return{x:g.plotLeft+a[0]+(d.x||0),y:g.plotTop+a[1]-{high:.5,middle:.25,low:0}[d.align]*a[2]+(d.y||0)}}};u(k,"init",function(f,g,k){var b=g.angular,p=g.polar,n=k.isX,u=b&&n,e,A=g.options,m=k.pane||0;if(b){if(w(this,u?c:l),e=!n)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else p&&(w(this, +l),this.defaultRadialOptions=(e=n)?this.defaultRadialXOptions:q(this.defaultYAxisOptions,this.defaultRadialYOptions));b||p?(this.isRadial=!0,g.inverted=!1,A.chart.zoomType=null):this.isRadial=!1;f.call(this,g,k);u||!b&&!p||(f=this.options,g.panes||(g.panes=[]),this.pane=g=g.panes[m]=g.panes[m]||new a(h(A.pane)[m],g,this),g=g.options,this.angleRad=(f.angle||0)*Math.PI/180,this.startAngleRad=(g.startAngle-90)*Math.PI/180,this.endAngleRad=(d(g.endAngle,g.startAngle+360)-90)*Math.PI/180,this.offset=f.offset|| +0,this.isCircular=e)});u(k,"autoLabelAlign",function(a){if(!this.isRadial)return a.apply(this,[].slice.call(arguments,1))});u(b,"getPosition",function(a,d,c,f,h){var g=this.axis;return g.getPosition?g.getPosition(c):a.call(this,d,c,f,h)});u(b,"getLabelPosition",function(a,g,c,f,h,k,b,l,u){var n=this.axis,p=k.y,e=20,y=k.align,v=(n.translate(this.pos)+n.startAngleRad+Math.PI/2)/Math.PI*180%360;n.isRadial?(a=n.getPosition(this.pos,n.center[2]/2+d(k.distance,-25)),"auto"===k.rotation?f.attr({rotation:v}): +null===p&&(p=n.chart.renderer.fontMetrics(f.styles.fontSize).b-f.getBBox().height/2),null===y&&(n.isCircular?(this.label.getBBox().width>n.len*n.tickInterval/(n.max-n.min)&&(e=0),y=v>e&&v<180-e?"left":v>180+e&&v<360-e?"right":"center"):y="center",f.attr({align:y})),a.x+=k.x,a.y+=p):a=a.call(this,g,c,f,h,k,b,l,u);return a});u(b,"getMarkPath",function(a,d,c,f,h,k,b){var g=this.axis;g.isRadial?(a=g.getPosition(this.pos,g.center[2]/2+f),d=["M",d,c,"L",a.x,a.y]):d=a.call(this,d,c,f,h,k,b);return d})})(x); +(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.Series,q=b.seriesType,e=b.seriesTypes;q("arearange","area",{lineWidth:1,marker:null,threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{series.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},states:{hover:{halo:!1}}},{pointArrayMap:["low","high"],dataLabelCollections:["dataLabel", +"dataLabelUpper"],toYData:function(a){return[a.low,a.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(a){var d=this.chart,f=this.xAxis.postTranslate(a.rectPlotX,this.yAxis.len-a.plotHigh);a.plotHighX=f.x-d.plotLeft;a.plotHigh=f.y-d.plotTop},translate:function(){var a=this,d=a.yAxis,f=!!a.modifyValue;e.area.prototype.translate.apply(a);r(a.points,function(h){var b=h.low,c=h.high,l=h.plotY;null===c||null===b?h.isNull=!0:(h.plotLow=l,h.plotHigh=d.translate(f?a.modifyValue(c,h):c,0,1, +0,1),f&&(h.yBottom=h.plotHigh))});this.chart.polar&&r(this.points,function(d){a.highToXY(d)})},getGraphPath:function(a){var d=[],f=[],h,b=e.area.prototype.getGraphPath,c,l,k;k=this.options;var p=k.step;a=a||this.points;for(h=a.length;h--;)c=a[h],c.isNull||k.connectEnds||a[h+1]&&!a[h+1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1}),l={polarPlotY:c.polarPlotY,rectPlotX:c.rectPlotX,yBottom:c.yBottom,plotX:w(c.plotHighX,c.plotX),plotY:c.plotHigh,isNull:c.isNull},f.push(l),d.push(l),c.isNull|| +k.connectEnds||a[h-1]&&!a[h-1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1});a=b.call(this,a);p&&(!0===p&&(p="left"),k.step={left:"right",center:"center",right:"left"}[p]);d=b.call(this,d);f=b.call(this,f);k.step=p;k=[].concat(a,d);this.chart.polar||"M"!==f[0]||(f[0]="L");this.graphPath=k;this.areaPath=this.areaPath.concat(a,f);k.isArea=!0;k.xMap=a.xMap;this.areaPath.xMap=a.xMap;return k},drawDataLabels:function(){var a=this.data,d=a.length,f,h=[],b=m.prototype,c=this.options.dataLabels, +l=c.align,k=c.verticalAlign,p=c.inside,g,n,e=this.chart.inverted;if(c.enabled||this._hasPointLabels){for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.y=g.high,g._plotY=g.plotY,g.plotY=g.plotHigh,h[f]=g.dataLabel,g.dataLabel=g.dataLabelUpper,g.below=n,e?l||(c.align=n?"right":"left"):k||(c.verticalAlign=n?"top":"bottom"),c.x=c.xHigh,c.y=c.yHigh;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments);for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.dataLabelUpper= +g.dataLabel,g.dataLabel=h[f],g.y=g.low,g.plotY=g._plotY,g.below=!n,e?l||(c.align=n?"left":"right"):k||(c.verticalAlign=n?"bottom":"top"),c.x=c.xLow,c.y=c.yLow;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments)}c.align=l;c.verticalAlign=k},alignDataLabel:function(){e.column.prototype.alignDataLabel.apply(this,arguments)},setStackedPoints:t,getSymbol:t,drawPoints:t})})(x);(function(b){var r=b.seriesType;r("areasplinerange","arearange",null,{getPointSpline:b.seriesTypes.spline.prototype.getPointSpline})})(x); +(function(b){var r=b.defaultPlotOptions,t=b.each,w=b.merge,m=b.noop,q=b.pick,e=b.seriesType,a=b.seriesTypes.column.prototype;e("columnrange","arearange",w(r.column,r.arearange,{lineWidth:1,pointRange:null}),{translate:function(){var d=this,f=d.yAxis,b=d.xAxis,u=b.startAngleRad,c,l=d.chart,k=d.xAxis.isRadial,p;a.translate.apply(d);t(d.points,function(a){var g=a.shapeArgs,h=d.options.minPointLength,e,v;a.plotHigh=p=f.translate(a.high,0,1,0,1);a.plotLow=a.plotY;v=p;e=q(a.rectPlotY,a.plotY)-p;Math.abs(e)< +h?(h-=e,e+=h,v-=h/2):0>e&&(e*=-1,v-=e);k?(c=a.barX+u,a.shapeType="path",a.shapeArgs={d:d.polarArc(v+e,v,c,c+a.pointWidth)}):(g.height=e,g.y=v,a.tooltipPos=l.inverted?[f.len+f.pos-l.plotLeft-v-e/2,b.len+b.pos-l.plotTop-g.x-g.width/2,e]:[b.left-l.plotLeft+g.x+g.width/2,f.pos-l.plotTop+v+e/2,e])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:m,crispCol:a.crispCol,drawPoints:a.drawPoints,drawTracker:a.drawTracker,getColumnMetrics:a.getColumnMetrics,animate:function(){return a.animate.apply(this, +arguments)},polarArc:function(){return a.polarArc.apply(this,arguments)},pointAttribs:a.pointAttribs})})(x);(function(b){var r=b.each,t=b.isNumber,w=b.merge,m=b.pick,q=b.pInt,e=b.Series,a=b.seriesType,d=b.TrackerMixin;a("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2,borderWidth:1,borderColor:"#cccccc"},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,directTouch:!0,drawGraph:b.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0, +trackerGroups:["group","dataLabelsGroup"],translate:function(){var a=this.yAxis,d=this.options,b=a.center;this.generatePoints();r(this.points,function(c){var f=w(d.dial,c.dial),k=q(m(f.radius,80))*b[2]/200,h=q(m(f.baseLength,70))*k/100,g=q(m(f.rearLength,10))*k/100,n=f.baseWidth||3,u=f.topWidth||1,e=d.overshoot,v=a.startAngleRad+a.translate(c.y,null,null,null,!0);t(e)?(e=e/180*Math.PI,v=Math.max(a.startAngleRad-e,Math.min(a.endAngleRad+e,v))):!1===d.wrap&&(v=Math.max(a.startAngleRad,Math.min(a.endAngleRad, +v)));v=180*v/Math.PI;c.shapeType="path";c.shapeArgs={d:f.path||["M",-g,-n/2,"L",h,-n/2,k,-u/2,k,u/2,h,n/2,-g,n/2,"z"],translateX:b[0],translateY:b[1],rotation:v};c.plotX=b[0];c.plotY=b[1]})},drawPoints:function(){var a=this,d=a.yAxis.center,b=a.pivot,c=a.options,l=c.pivot,k=a.chart.renderer;r(a.points,function(d){var g=d.graphic,b=d.shapeArgs,f=b.d,h=w(c.dial,d.dial);g?(g.animate(b),b.d=f):(d.graphic=k[d.shapeType](b).attr({rotation:b.rotation,zIndex:1}).addClass("highcharts-dial").add(a.group),d.graphic.attr({stroke:h.borderColor|| +"none","stroke-width":h.borderWidth||0,fill:h.backgroundColor||"#000000"}))});b?b.animate({translateX:d[0],translateY:d[1]}):(a.pivot=k.circle(0,0,m(l.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(d[0],d[1]).add(a.group),a.pivot.attr({"stroke-width":l.borderWidth||0,stroke:l.borderColor||"#cccccc",fill:l.backgroundColor||"#000000"}))},animate:function(a){var d=this;a||(r(d.points,function(a){var c=a.graphic;c&&(c.attr({rotation:180*d.yAxis.startAngleRad/Math.PI}),c.animate({rotation:a.shapeArgs.rotation}, +d.options.animation))}),d.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);e.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(a,d){e.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();m(d,!0)&&this.chart.redraw()},drawTracker:d&&d.drawTrackerPoint},{setState:function(a){this.state=a}})})(x);(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.seriesType, +q=b.seriesTypes;m("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,states:{hover:{brightness:-.3}},whiskerWidth:2},{pointArrayMap:["low","q1","median", +"q3","high"],toYData:function(b){return[b.low,b.q1,b.median,b.q3,b.high]},pointValKey:"high",pointAttribs:function(b){var a=this.options,d=b&&b.color||this.color;return{fill:b.fillColor||a.fillColor||d,stroke:a.lineColor||d,"stroke-width":a.lineWidth||0}},drawDataLabels:t,translate:function(){var b=this.yAxis,a=this.pointArrayMap;q.column.prototype.translate.apply(this);r(this.points,function(d){r(a,function(a){null!==d[a]&&(d[a+"Plot"]=b.translate(d[a],0,1,0,1))})})},drawPoints:function(){var b= +this,a=b.options,d=b.chart.renderer,f,h,u,c,l,k,p=0,g,n,m,q,v=!1!==b.doQuartiles,t,x=b.options.whiskerLength;r(b.points,function(e){var r=e.graphic,y=r?"animate":"attr",I=e.shapeArgs,z={},B={},G={},H=e.color||b.color;void 0!==e.plotY&&(g=I.width,n=Math.floor(I.x),m=n+g,q=Math.round(g/2),f=Math.floor(v?e.q1Plot:e.lowPlot),h=Math.floor(v?e.q3Plot:e.lowPlot),u=Math.floor(e.highPlot),c=Math.floor(e.lowPlot),r||(e.graphic=r=d.g("point").add(b.group),e.stem=d.path().addClass("highcharts-boxplot-stem").add(r), +x&&(e.whiskers=d.path().addClass("highcharts-boxplot-whisker").add(r)),v&&(e.box=d.path(void 0).addClass("highcharts-boxplot-box").add(r)),e.medianShape=d.path(void 0).addClass("highcharts-boxplot-median").add(r),z.stroke=e.stemColor||a.stemColor||H,z["stroke-width"]=w(e.stemWidth,a.stemWidth,a.lineWidth),z.dashstyle=e.stemDashStyle||a.stemDashStyle,e.stem.attr(z),x&&(B.stroke=e.whiskerColor||a.whiskerColor||H,B["stroke-width"]=w(e.whiskerWidth,a.whiskerWidth,a.lineWidth),e.whiskers.attr(B)),v&&(r= +b.pointAttribs(e),e.box.attr(r)),G.stroke=e.medianColor||a.medianColor||H,G["stroke-width"]=w(e.medianWidth,a.medianWidth,a.lineWidth),e.medianShape.attr(G)),k=e.stem.strokeWidth()%2/2,p=n+q+k,e.stem[y]({d:["M",p,h,"L",p,u,"M",p,f,"L",p,c]}),v&&(k=e.box.strokeWidth()%2/2,f=Math.floor(f)+k,h=Math.floor(h)+k,n+=k,m+=k,e.box[y]({d:["M",n,h,"L",n,f,"L",m,f,"L",m,h,"L",n,h,"z"]})),x&&(k=e.whiskers.strokeWidth()%2/2,u+=k,c+=k,t=/%$/.test(x)?q*parseFloat(x)/100:x/2,e.whiskers[y]({d:["M",p-t,u,"L",p+t,u, +"M",p-t,c,"L",p+t,c]})),l=Math.round(e.medianPlot),k=e.medianShape.strokeWidth()%2/2,l+=k,e.medianShape[y]({d:["M",n,l,"L",m,l]}))})},setStackedPoints:t})})(x);(function(b){var r=b.each,t=b.noop,w=b.seriesType,m=b.seriesTypes;w("errorbar","boxplot",{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},whiskerWidth:null},{type:"errorbar", +pointArrayMap:["low","high"],toYData:function(b){return[b.low,b.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:m.arearange?function(){var b=this.pointValKey;m.arearange.prototype.drawDataLabels.call(this);r(this.data,function(e){e.y=e[b]})}:t,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||m.column.prototype.getColumnMetrics.call(this)}})})(x);(function(b){var r=b.correctFloat,t=b.isNumber,w=b.pick,m=b.Point,q=b.Series,e=b.seriesType,a=b.seriesTypes; +e("waterfall","column",{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}},{pointValKey:"y",translate:function(){var d=this.options,b=this.yAxis,h,e,c,l,k,p,g,n,m,q=w(d.minPointLength,5),v=d.threshold,t=d.stacking;a.column.prototype.translate.apply(this);this.minPointLengthOffset=0;g=n=v;e=this.points;h=0;for(d=e.length;hl.height&&(l.y+=l.height,l.height*=-1),c.plotY=l.y=Math.round(l.y)- +this.borderWidth%2/2,l.height=Math.max(Math.round(l.height),.001),c.yBottom=l.y+l.height,l.height<=q&&(l.height=q,this.minPointLengthOffset+=q),l.y-=this.minPointLengthOffset,l=c.plotY+(c.negative?l.height:0)-this.minPointLengthOffset,this.chart.inverted?c.tooltipPos[0]=b.len-l:c.tooltipPos[1]=l},processData:function(a){var b=this.yData,d=this.options.data,e,c=b.length,l,k,p,g,n,m;k=l=p=g=this.options.threshold||0;for(m=0;ma[k-1].y&&(l[2]+=c.height,l[5]+=c.height),e=e.concat(l);return e},drawGraph:function(){q.prototype.drawGraph.call(this);this.graph.attr({d:this.getCrispPath()})},getExtremes:b.noop},{getClassName:function(){var a=m.prototype.getClassName.call(this);this.isSum?a+=" highcharts-sum":this.isIntermediateSum&&(a+=" highcharts-intermediate-sum"); +return a},isValid:function(){return t(this.y,!0)||this.isSum||this.isIntermediateSum}})})(x);(function(b){var r=b.Series,t=b.seriesType,w=b.seriesTypes;t("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var b=r.prototype.getGraphPath.call(this),q=b.length+1;q--;)(q===b.length||"M"===b[q])&&0=this.minPxSize/2?(d.shapeType="circle",d.shapeArgs={x:d.plotX,y:d.plotY,r:c},d.dlBox={x:d.plotX-c,y:d.plotY-c,width:2*c,height:2*c}):d.shapeArgs=d.plotY=d.dlBox=void 0},drawLegendSymbol:function(a,b){var d=this.chart.renderer,c=d.fontMetrics(a.itemStyle.fontSize).f/2;b.legendSymbol=d.circle(c,a.baseline-c,c).attr({zIndex:3}).add(b.legendGroup);b.legendSymbol.isMarker= +!0},drawPoints:l.column.prototype.drawPoints,alignDataLabel:l.column.prototype.alignDataLabel,buildKDTree:a,applyZones:a},{haloPath:function(a){return h.prototype.haloPath.call(this,this.shapeArgs.r+a)},ttBelow:!1});w.prototype.beforePadding=function(){var a=this,b=this.len,c=this.chart,h=0,l=b,u=this.isXAxis,m=u?"xData":"yData",w=this.min,x={},A=Math.min(c.plotWidth,c.plotHeight),C=Number.MAX_VALUE,D=-Number.MAX_VALUE,E=this.max-w,z=b/E,F=[];q(this.series,function(b){var g=b.options;!b.bubblePadding|| +!b.visible&&c.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,F.push(b),u&&(q(["minSize","maxSize"],function(a){var b=g[a],d=/%$/.test(b),b=f(b);x[a]=d?A*b/100:b}),b.minPxSize=x.minSize,b.maxPxSize=Math.max(x.maxSize,x.minSize),b=b.zData,b.length&&(C=d(g.zMin,Math.min(C,Math.max(t(b),!1===g.displayNegative?g.zThreshold:-Number.MAX_VALUE))),D=d(g.zMax,Math.max(D,r(b))))))});q(F,function(b){var d=b[m],c=d.length,f;u&&b.getRadii(C,D,b.minPxSize,b.maxPxSize);if(0f&&(f+=360),a.clientX=f):a.clientX=a.plotX};m.spline&&q(m.spline.prototype,"getPointSpline",function(a,b,f,h){var d,c,e,k,p,g,n;this.chart.polar?(d=f.plotX, +c=f.plotY,a=b[h-1],e=b[h+1],this.connectEnds&&(a||(a=b[b.length-2]),e||(e=b[1])),a&&e&&(k=a.plotX,p=a.plotY,b=e.plotX,g=e.plotY,k=(1.5*d+k)/2.5,p=(1.5*c+p)/2.5,e=(1.5*d+b)/2.5,n=(1.5*c+g)/2.5,b=Math.sqrt(Math.pow(k-d,2)+Math.pow(p-c,2)),g=Math.sqrt(Math.pow(e-d,2)+Math.pow(n-c,2)),k=Math.atan2(p-c,k-d),p=Math.atan2(n-c,e-d),n=Math.PI/2+(k+p)/2,Math.abs(k-n)>Math.PI/2&&(n-=Math.PI),k=d+Math.cos(n)*b,p=c+Math.sin(n)*b,e=d+Math.cos(Math.PI+n)*g,n=c+Math.sin(Math.PI+n)*g,f.rightContX=e,f.rightContY=n), +h?(f=["C",a.rightContX||a.plotX,a.rightContY||a.plotY,k||d,p||c,d,c],a.rightContX=a.rightContY=null):f=["M",d,c]):f=a.call(this,b,f,h);return f});q(e,"translate",function(a){var b=this.chart;a.call(this);if(b.polar&&(this.kdByAngle=b.tooltip&&b.tooltip.shared,!this.preventPostTranslate))for(a=this.points,b=a.length;b--;)this.toXY(a[b])});q(e,"getGraphPath",function(a,b){var d=this,e,m;if(this.chart.polar){b=b||this.points;for(e=0;eb.center[1]}),q(m,"alignDataLabel",function(a,b,f,h,m,c){this.chart.polar?(a=b.rectPlotX/Math.PI*180,null===h.align&&(h.align=20a?"left":200a?"right":"center"),null===h.verticalAlign&&(h.verticalAlign=45>a||315a?"top":"middle"),e.alignDataLabel.call(this,b,f,h,m,c)):a.call(this, +b,f,h,m,c)}));q(b,"getCoordinates",function(a,b){var d=this.chart,e={xAxis:[],yAxis:[]};d.polar?t(d.axes,function(a){var c=a.isXAxis,f=a.center,h=b.chartX-f[0]-d.plotLeft,f=b.chartY-f[1]-d.plotTop;e[c?"xAxis":"yAxis"].push({axis:a,value:a.translate(c?Math.PI-Math.atan2(h,f):Math.sqrt(Math.pow(h,2)+Math.pow(f,2)),!0)})}):e=a.call(this,b);return e})})(x)}); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/highstock.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/highstock.js new file mode 100644 index 0000000..34a3f91 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/highstock.js @@ -0,0 +1,496 @@ +/* + Highstock JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(N,a){"object"===typeof module&&module.exports?module.exports=N.document?a(N):a:N.Highcharts=a(N)})("undefined"!==typeof window?window:this,function(N){N=function(){var a=window,D=a.document,B=a.navigator&&a.navigator.userAgent||"",G=D&&D.createElementNS&&!!D.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,H=/(edge|msie|trident)/i.test(B)&&!window.opera,p=!G,l=/Firefox/.test(B),r=l&&4>parseInt(B.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highstock", +version:"5.0.3",deg2rad:2*Math.PI/360,doc:D,hasBidiBug:r,hasTouch:D&&void 0!==D.documentElement.ontouchstart,isMS:H,isWebKit:/AppleWebKit/.test(B),isFirefox:l,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(B),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:G,vml:p,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var D=[],B=a.charts,G=a.doc,H=a.win;a.error=function(a,l){a="Highcharts error #"+ +a+": www.highcharts.com/errors/"+a;if(l)throw Error(a);H.console&&console.log(a)};a.Fx=function(a,l,r){this.options=l;this.elem=a;this.prop=r};a.Fx.prototype={dSetter:function(){var a=this.paths[0],l=this.paths[1],r=[],w=this.now,t=a.length,k;if(1===w)r=this.toD;else if(t===l.length&&1>w)for(;t--;)k=parseFloat(a[t]),r[t]=isNaN(k)?a[t]:w*parseFloat(l[t]-k)+k;else r=l;this.elem.attr("d",r)},update:function(){var a=this.elem,l=this.prop,r=this.now,w=this.options.step;if(this[l+"Setter"])this[l+"Setter"](); +else a.attr?a.element&&a.attr(l,r):a.style[l]=r+this.unit;w&&w.call(a,r,this)},run:function(a,l,r){var p=this,t=function(a){return t.stopped?!1:p.step(a)},k;this.startTime=+new Date;this.start=a;this.end=l;this.unit=r;this.now=this.start;this.pos=0;t.elem=this.elem;t()&&1===D.push(t)&&(t.timerId=setInterval(function(){for(k=0;k=k+this.startTime){this.now=this.end;this.pos=1;this.update();a=m[this.prop]=!0;for(e in m)!0!==m[e]&&(a=!1);a&&t&&t.call(p);p=!1}else this.pos=w.easing((l-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),p=!0;return p},initPath:function(p,l,r){function w(a){for(b=a.length;b--;)"M"!==a[b]&&"L"!==a[b]||a.splice(b+1,0,a[b+1],a[b+2],a[b+1],a[b+2])}function t(a,c){for(;a.lengthm?"AM":"PM",P:12>m?"am":"pm",S:q(t.getSeconds()),L:q(Math.round(l%1E3),3)},a.dateFormats);for(k in w)for(;-1!==p.indexOf("%"+k);)p= +p.replace("%"+k,"function"===typeof w[k]?w[k](l):w[k]);return r?p.substr(0,1).toUpperCase()+p.substr(1):p};a.formatSingle=function(p,l){var r=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(p)?(r=(r=p.match(r))?r[1]:-1,null!==l&&(l=a.numberFormat(l,r,w.decimalPoint,-1=r&&(l=[1/r])));for(w=0;w=p||!t&&k<=(l[w]+(l[w+1]||l[w]))/ +2);w++);return m*r};a.stableSort=function(a,l){var r=a.length,p,t;for(t=0;tr&&(r=a[l]);return r};a.destroyObjectProperties=function(a,l){for(var r in a)a[r]&&a[r]!==l&&a[r].destroy&&a[r].destroy(),delete a[r]};a.discardElement=function(p){var l= +a.garbageBin;l||(l=a.createElement("div"));p&&l.appendChild(p);l.innerHTML=""};a.correctFloat=function(a,l){return parseFloat(a.toPrecision(l||14))};a.setAnimation=function(p,l){l.renderer.globalAnimation=a.pick(p,l.options.chart.animation,!0)};a.animObject=function(p){return a.isObject(p)?a.merge(p):{duration:p?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(p,l,r,w){p=+p||0;l=+l;var t=a.defaultOptions.lang, +k=(p.toString().split(".")[1]||"").length,m,e,g=Math.abs(p);-1===l?l=Math.min(k,20):a.isNumber(l)||(l=2);m=String(a.pInt(g.toFixed(l)));e=3p?"-":"")+(e?m.substr(0,e)+w:"");p+=m.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+w);l&&(w=Math.abs(g-m+Math.pow(10,-Math.max(l,k)-1)),p+=r+w.toFixed(l).slice(2));return p};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(p,l){return"width"===l?Math.min(p.offsetWidth, +p.scrollWidth)-a.getStyle(p,"padding-left")-a.getStyle(p,"padding-right"):"height"===l?Math.min(p.offsetHeight,p.scrollHeight)-a.getStyle(p,"padding-top")-a.getStyle(p,"padding-bottom"):(p=H.getComputedStyle(p,void 0))&&a.pInt(p.getPropertyValue(l))};a.inArray=function(a,l){return l.indexOf?l.indexOf(a):[].indexOf.call(l,a)};a.grep=function(a,l){return[].filter.call(a,l)};a.map=function(a,l){for(var r=[],p=0,t=a.length;pl;l++)w[l]+=p(255*a),0>w[l]&&(w[l]=0),255z.width)z={width:0,height:0}}else z=this.htmlGetBBox();b.isSVG&&(a=z.width, +b=z.height,c&&L&&"11px"===L.fontSize&&"16.9"===b.toPrecision(3)&&(z.height=b=14),v&&(z.width=Math.abs(b*Math.sin(d))+Math.abs(a*Math.cos(d)),z.height=Math.abs(b*Math.cos(d))+Math.abs(a*Math.sin(d))));if(g&&0]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,c,v){"string"===typeof a?v.setAttribute(c, +a):a&&this.colorGradient(a,c,v)},visibilitySetter:function(a,c,v){"inherit"===a?v.removeAttribute(c):v.setAttribute(c,a)},zIndexSetter:function(a,c){var v=this.renderer,z=this.parentGroup,b=(z||v).element||v.box,d,n=this.element,f;d=this.added;var e;k(a)&&(n.zIndex=a,a=+a,this[c]===a&&(d=!1),this[c]=a);if(d){(a=this.zIndex)&&z&&(z.handleZ=!0);c=b.childNodes;for(e=0;ea||!k(a)&&k(d)||0>a&&!k(d)&&b!==v.box)&&(b.insertBefore(n,z),f=!0);f||b.appendChild(n)}return f}, +_defaultSetter:function(a,c,v){v.setAttribute(c,a)}};D.prototype.yGetter=D.prototype.xGetter;D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.rotationSetter=D.prototype.verticalAlignSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=function(a,c){this[c]=a;this.doTransform=!0};D.prototype["stroke-widthSetter"]=D.prototype.strokeSetter=function(a,c,v){this[c]=a;this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",v),v.setAttribute("stroke-width", +this["stroke-width"]),this.hasStroke=!0):"stroke-width"===c&&0===a&&this.hasStroke&&(v.removeAttribute("stroke"),this.hasStroke=!1)};B=a.SVGRenderer=function(){this.init.apply(this,arguments)};B.prototype={Element:D,SVG_NS:K,init:function(a,c,v,b,d,n){var z;b=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(b));z=b.element;a.appendChild(z);-1===a.innerHTML.indexOf("xmlns")&&p(z,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=z;this.boxWrapper=b;this.alignedObjects= +[];this.url=(E||A)&&g.getElementsByTagName("base").length?R.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highstock 5.0.3"));this.defs=this.createElement("defs").add();this.allowHTML=n;this.forExport=d;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(c,v,!1);var f;E&&a.getBoundingClientRect&&(c=function(){w(a,{left:0,top:0});f=a.getBoundingClientRect(); +w(a,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},c(),this.unSubPixelFix=G(R,"resize",c))},getStyle:function(a){return this.style=C({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();e(this.gradients||{});this.gradients= +null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var c=new this.Element;c.init(this,a);return c},draw:J,getRadialAttr:function(a,c){return{cx:a[0]-a[2]/2+c.cx*a[2],cy:a[1]-a[2]/2+c.cy*a[2],r:c.r*a[2]}},buildText:function(a){for(var c=a.element,z=this,b=z.forExport,n=y(a.textStr,"").toString(),f=-1!==n.indexOf("\x3c"),e=c.childNodes,q,F,x,A,I=p(c,"x"),m=a.styles,k=a.textWidth,C=m&&m.lineHeight,M=m&&m.textOutline,J=m&& +"ellipsis"===m.textOverflow,E=e.length,O=k&&!a.added&&this.box,t=function(a){var v;v=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:m&&m.fontSize||z.style.fontSize||12;return C?u(C):z.fontMetrics(v,a.getAttribute("style")?a:c).h};E--;)c.removeChild(e[E]);f||M||J||k||-1!==n.indexOf(" ")?(q=/<.*class="([^"]+)".*>/,F=/<.*style="([^"]+)".*>/,x=/<.*href="(http[^"]+)".*>/,O&&O.appendChild(c),n=f?n.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(//g,"\x3c/span\x3e").split(//g):[n],n=d(n,function(a){return""!==a}),h(n,function(d,n){var f,e=0;d=d.replace(/^\s+|\s+$/g,"").replace(//g,"\x3c/span\x3e|||");f=d.split("|||");h(f,function(d){if(""!==d||1===f.length){var u={},y=g.createElementNS(z.SVG_NS,"tspan"),L,h;q.test(d)&&(L=d.match(q)[1],p(y,"class",L));F.test(d)&&(h=d.match(F)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),p(y,"style",h));x.test(d)&&!b&&(p(y, +"onclick",'location.href\x3d"'+d.match(x)[1]+'"'),w(y,{cursor:"pointer"}));d=(d.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"\x3c").replace(/>/g,"\x3e");if(" "!==d){y.appendChild(g.createTextNode(d));e?u.dx=0:n&&null!==I&&(u.x=I);p(y,u);c.appendChild(y);!e&&n&&(!v&&b&&w(y,{display:"block"}),p(y,"dy",t(y)));if(k){u=d.replace(/([^\^])-/g,"$1- ").split(" ");L="nowrap"===m.whiteSpace;for(var C=1k,void 0===A&&(A=M),J&&A?(Q/=2,""===l||!M&&.5>Q?u=[]:(l=d.substring(0,l.length+(M?-1:1)*Math.ceil(Q)),u=[l+(3k&&(k=P)),u.length&&y.appendChild(g.createTextNode(u.join(" ").replace(/- /g, +"-")));a.rotation=R}e++}}})}),A&&a.attr("title",a.textStr),O&&O.removeChild(c),M&&a.applyTextOutline&&a.applyTextOutline(M)):c.appendChild(g.createTextNode(n.replace(/</g,"\x3c").replace(/>/g,"\x3e")))},getContrast:function(a){a=r(a).rgba;return 510v?d>c+f&&de?d>c+f&&db&&e>a+f&&ed&&e>a+f&&ea?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}},rotCorr:function(a, +c,v){var b=a;c&&v&&(b=Math.max(b*Math.cos(c*m),4));return{x:-a/3*Math.sin(c*m),y:b}},label:function(a,c,v,b,d,n,f,e,K){var q=this,u=q.g("button"!==K&&"label"),y=u.text=q.text("",0,0,f).attr({zIndex:1}),g,F,z=0,A=3,L=0,m,M,J,E,O,t={},l,R,r=/^url\((.*?)\)$/.test(b),p=r,P,w,Q,S;K&&u.addClass("highcharts-"+K);p=r;P=function(){return(l||0)%2/2};w=function(){var a=y.element.style,c={};F=(void 0===m||void 0===M||O)&&k(y.textStr)&&y.getBBox();u.width=(m||F.width||0)+2*A+L;u.height=(M||F.height||0)+2*A;R= +A+q.fontMetrics(a&&a.fontSize,y).b;p&&(g||(u.box=g=q.symbols[b]||r?q.symbol(b):q.rect(),g.addClass(("button"===K?"":"highcharts-label-box")+(K?" highcharts-"+K+"-box":"")),g.add(u),a=P(),c.x=a,c.y=(e?-R:0)+a),c.width=Math.round(u.width),c.height=Math.round(u.height),g.attr(C(c,t)),t={})};Q=function(){var a=L+A,c;c=e?0:R;k(m)&&F&&("center"===O||"right"===O)&&(a+={center:.5,right:1}[O]*(m-F.width));if(a!==y.x||c!==y.y)y.attr("x",a),void 0!==c&&y.attr("y",c);y.x=a;y.y=c};S=function(a,c){g?g.attr(a,c): +t[a]=c};u.onAdd=function(){y.add(u);u.attr({text:a||0===a?a:"",x:c,y:v});g&&k(d)&&u.attr({anchorX:d,anchorY:n})};u.widthSetter=function(a){m=a};u.heightSetter=function(a){M=a};u["text-alignSetter"]=function(a){O=a};u.paddingSetter=function(a){k(a)&&a!==A&&(A=u.padding=a,Q())};u.paddingLeftSetter=function(a){k(a)&&a!==L&&(L=a,Q())};u.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==z&&(z=a,F&&u.attr({x:J}))};u.textSetter=function(a){void 0!==a&&y.textSetter(a);w();Q()};u["stroke-widthSetter"]= +function(a,c){a&&(p=!0);l=this["stroke-width"]=a;S(c,a)};u.strokeSetter=u.fillSetter=u.rSetter=function(a,c){"fill"===c&&a&&(p=!0);S(c,a)};u.anchorXSetter=function(a,c){d=a;S(c,Math.round(a)-P()-J)};u.anchorYSetter=function(a,c){n=a;S(c,a-E)};u.xSetter=function(a){u.x=a;z&&(a-=z*((m||F.width)+2*A));J=Math.round(a);u.attr("translateX",J)};u.ySetter=function(a){E=u.y=Math.round(a);u.attr("translateY",E)};var T=u.css;return C(u,{css:function(a){if(a){var c={};a=x(a);h(u.textProps,function(v){void 0!== +a[v]&&(c[v]=a[v],delete a[v])});y.css(c)}return T.call(u,a)},getBBox:function(){return{width:F.width+2*A,height:F.height+2*A,x:F.x-A,y:F.y-A}},shadow:function(a){a&&(w(),g&&g.shadow(a));return u},destroy:function(){I(u.element,"mouseenter");I(u.element,"mouseleave");y&&(y=y.destroy());g&&(g=g.destroy());D.prototype.destroy.call(u);u=q=w=Q=S=null}})}};a.Renderer=B})(N);(function(a){var D=a.attr,B=a.createElement,G=a.css,H=a.defined,p=a.each,l=a.extend,r=a.isFirefox,w=a.isMS,t=a.isWebKit,k=a.pInt,m= +a.SVGRenderer,e=a.win,g=a.wrap;l(a.SVGElement.prototype,{htmlCss:function(a){var e=this.element;if(e=a&&"SPAN"===e.tagName&&a.width)delete a.width,this.textWidth=e,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=l(this.styles,a);G(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a= +this.renderer,e=this.element,f=this.translateX||0,d=this.translateY||0,b=this.x||0,q=this.y||0,g=this.textAlign||"left",c={left:0,center:.5,right:1}[g],F=this.styles;G(e,{marginLeft:f,marginTop:d});this.shadows&&p(this.shadows,function(a){G(a,{marginLeft:f+1,marginTop:d+1})});this.inverted&&p(e.childNodes,function(c){a.invertChild(c,e)});if("SPAN"===e.tagName){var n=this.rotation,A=k(this.textWidth),x=F&&F.whiteSpace,m=[n,g,e.innerHTML,this.textWidth,this.textAlign].join();m!==this.cTT&&(F=a.fontMetrics(e.style.fontSize).b, +H(n)&&this.setSpanRotation(n,c,F),G(e,{width:"",whiteSpace:x||"nowrap"}),e.offsetWidth>A&&/[ \-]/.test(e.textContent||e.innerText)&&G(e,{width:A+"px",display:"block",whiteSpace:x||"normal"}),this.getSpanCorrection(e.offsetWidth,F,c,n,g));G(e,{left:b+(this.xCorr||0)+"px",top:q+(this.yCorr||0)+"px"});t&&(F=e.offsetHeight);this.cTT=m}}else this.alignOnAdd=!0},setSpanRotation:function(a,g,f){var d={},b=w?"-ms-transform":t?"-webkit-transform":r?"MozTransform":e.opera?"-o-transform":"";d[b]=d.transform= +"rotate("+a+"deg)";d[b+(r?"Origin":"-origin")]=d.transformOrigin=100*g+"% "+f+"px";G(this.element,d)},getSpanCorrection:function(a,e,f){this.xCorr=-a*f;this.yCorr=-e}});l(m.prototype,{html:function(a,e,f){var d=this.createElement("span"),b=d.element,q=d.renderer,h=q.isSVG,c=function(a,c){p(["opacity","visibility"],function(b){g(a,b+"Setter",function(a,b,d,n){a.call(this,b,d,n);c[d]=b})})};d.textSetter=function(a){a!==b.innerHTML&&delete this.bBox;b.innerHTML=this.textStr=a;d.htmlUpdateTransform()}; +h&&c(d,d.element.style);d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter=function(a,c){"align"===c&&(c="textAlign");d[c]=a;d.htmlUpdateTransform()};d.attr({text:a,x:Math.round(e),y:Math.round(f)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});b.style.whiteSpace="nowrap";d.css=d.htmlCss;h&&(d.add=function(a){var n,f=q.box.parentNode,e=[];if(this.parentGroup=a){if(n=a.div,!n){for(;a;)e.push(a),a=a.parentGroup;p(e.reverse(),function(a){var b,d=D(a.element, +"class");d&&(d={className:d});n=a.div=a.div||B("div",d,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},n||f);b=n.style;l(a,{translateXSetter:function(c,d){b.left=c+"px";a[d]=c;a.doTransform=!0},translateYSetter:function(c,d){b.top=c+"px";a[d]=c;a.doTransform=!0}});c(a,b)})}}else n=f;n.appendChild(b);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d});return d}})})(N);(function(a){var D, +B,G=a.createElement,H=a.css,p=a.defined,l=a.deg2rad,r=a.discardElement,w=a.doc,t=a.each,k=a.erase,m=a.extend;D=a.extendClass;var e=a.isArray,g=a.isNumber,h=a.isObject,C=a.merge;B=a.noop;var f=a.pick,d=a.pInt,b=a.SVGElement,q=a.SVGRenderer,E=a.win;a.svg||(B={docMode8:w&&8===w.documentMode,init:function(a,b){var c=["\x3c",b,' filled\x3d"f" stroked\x3d"f"'],d=["position: ","absolute",";"],f="div"===b;("shape"===b||f)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",f?"hidden":"visible"); +c.push(' style\x3d"',d.join(""),'"/\x3e');b&&(c=f||"span"===b||"img"===b?c.join(""):a.prepVML(c),this.element=G(c));this.renderer=a},add:function(a){var c=this.renderer,b=this.element,d=c.box,f=a&&a.inverted,d=a?a.element||a:d;a&&(this.parentGroup=a);f&&c.invertChild(b,d);d.appendChild(b);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},updateTransform:b.prototype.htmlUpdateTransform, +setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*l),d=Math.sin(a*l);H(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",b,", M12\x3d",-d,", M21\x3d",d,", M22\x3d",b,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,d,e,q){var c=e?Math.cos(e*l):1,n=e?Math.sin(e*l):0,u=f(this.elemHeight,this.element.offsetHeight),g;this.xCorr=0>c&&-a;this.yCorr=0>n&&-u;g=0>c*n;this.xCorr+=n*b*(g?1-d:d);this.yCorr-=c*b*(e?g?d:1-d:1);q&&"left"!== +q&&(this.xCorr-=a*d*(0>c?-1:1),e&&(this.yCorr-=u*d*(0>n?-1:1)),H(this.element,{textAlign:q}))},pathToVML:function(a){for(var c=a.length,b=[];c--;)g(a[c])?b[c]=Math.round(10*a[c])-5:"Z"===a[c]?b[c]="x":(b[c]=a[c],!a.isArc||"wa"!==a[c]&&"at"!==a[c]||(b[c+5]===b[c+7]&&(b[c+7]+=a[c+7]>a[c+5]?1:-1),b[c+6]===b[c+8]&&(b[c+8]+=a[c+8]>a[c+6]?1:-1)));return b.join(" ")||"x"},clip:function(a){var c=this,b;a?(b=a.members,k(b,c),b.push(c),c.destroyClip=function(){k(b,c)},a=a.getCSS(c)):(c.destroyClip&&c.destroyClip(), +a={clip:c.docMode8?"inherit":"rect(auto)"});return c.css(a)},css:b.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&r(a)},destroy:function(){this.destroyClip&&this.destroyClip();return b.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=E.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c;a=a.split(/[ ,]/);c=a.length;if(9===c||11===c)a[c-4]=a[c-2]=d(a[c-2])-10*b;return a.join(" ")},shadow:function(a,b,e){var c=[],n,q=this.element, +g=this.renderer,u,I=q.style,F,v=q.path,K,h,m,z;v&&"string"!==typeof v.value&&(v="x");h=v;if(a){m=f(a.width,3);z=(a.opacity||.15)/m;for(n=1;3>=n;n++)K=2*m+1-2*n,e&&(h=this.cutOffPath(v.value,K+.5)),F=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',K,'" filled\x3d"false" path\x3d"',h,'" coordsize\x3d"10 10" style\x3d"',q.style.cssText,'" /\x3e'],u=G(g.prepVML(F),null,{left:d(I.left)+f(a.offsetX,1),top:d(I.top)+f(a.offsetY,1)}),e&&(u.cutOff=K+1),F=['\x3cstroke color\x3d"',a.color||"#000000",'" opacity\x3d"', +z*n,'"/\x3e'],G(g.prepVML(F),null,null,u),b?b.element.appendChild(u):q.parentNode.insertBefore(u,q),c.push(u);this.shadows=c}return this},updateShadows:B,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,b,d){(d.getElementsByTagName("stroke")[0]||G(this.renderer.prepVML(["\x3cstroke/\x3e"]),null,null,d))[b]=a||"solid";this[b]=a},dSetter:function(a,b,d){var c=this.shadows; +a=a||[];this.d=a.join&&a.join(" ");d.path=a=this.pathToVML(a);if(c)for(d=c.length;d--;)c[d].path=c[d].cutOff?this.cutOffPath(a,c[d].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,d){var c=d.nodeName;"SPAN"===c?d.style.color=a:"IMG"!==c&&(d.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,d,b,this)))},"fill-opacitySetter":function(a,b,d){G(this.renderer.prepVML(["\x3c",b.split("-")[0],' opacity\x3d"',a,'"/\x3e']),null,null,d)},opacitySetter:B,rotationSetter:function(a,b,d){d= +d.style;this[b]=d[b]=a;d.left=-Math.round(Math.sin(a*l)+1)+"px";d.top=Math.round(Math.cos(a*l))+"px"},strokeSetter:function(a,b,d){this.setAttr("strokecolor",this.renderer.color(a,d,b,this))},"stroke-widthSetter":function(a,b,d){d.stroked=!!a;this[b]=a;g(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,d){"inherit"===a&&(a="visible");this.shadows&&t(this.shadows,function(c){c.style[b]=a});"DIV"===d.nodeName&&(a="hidden"===a?"-999em": +0,this.docMode8||(d.style[b]=a?"visible":"hidden"),b="top");d.style[b]=a},xSetter:function(a,b,d){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):d.style[b]=a},zIndexSetter:function(a,b,d){d.style[b]=a}},B["stroke-opacitySetter"]=B["fill-opacitySetter"],a.VMLElement=B=D(b,B),B.prototype.ySetter=B.prototype.widthSetter=B.prototype.heightSetter=B.prototype.xSetter,B={Element:B,isIE8:-1l[0]&&c.push([1,l[1]]);t(c,function(c,b){q.test(c[1])?(n=a.color(c[1]),v=n.get("rgb"),K=n.get("a")):(v=c[1],K=1);r.push(100*c[0]+"% "+v);b?(m=K,k=v):(z=K,E=v)});if("fill"===d)if("gradient"===g)d=A.x1||A[0]||0,c=A.y1||A[1]||0,F=A.x2||A[2]||0,A=A.y2||A[3]||0,C='angle\x3d"'+(90-180*Math.atan((A-c)/(F-d))/Math.PI)+'"',p();else{var h=A.r,w=2*h,B=2*h,D=A.cx,H=A.cy,V=b.radialReference,U,h=function(){V&&(U=f.getBBox(),D+=(V[0]- +U.x)/U.width-.5,H+=(V[1]-U.y)/U.height-.5,w*=V[2]/U.width,B*=V[2]/U.height);C='src\x3d"'+a.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+w+","+B+'" origin\x3d"0.5,0.5" position\x3d"'+D+","+H+'" color2\x3d"'+E+'" ';p()};f.added?h():f.onAdd=h;h=k}else h=v}else q.test(c)&&"IMG"!==b.tagName?(n=a.color(c),f[d+"-opacitySetter"](n.get("a"),d,b),h=n.get("rgb")):(h=b.getElementsByTagName(d),h.length&&(h[0].opacity=1,h[0].type="solid"),h=c);return h},prepVML:function(a){var c=this.isIE8;a=a.join(""); +c?(a=a.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),a=-1===a.indexOf('style\x3d"')?a.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(#default#VML);" /\x3e'):a.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(#default#VML);')):a=a.replace("\x3c","\x3chcv:");return a},text:q.prototype.html,path:function(a){var c={coordsize:"10 10"};e(a)?c.d=a:h(a)&&m(c,a);return this.createElement("shape").attr(c)},circle:function(a,b,d){var c=this.symbol("circle"); +h(a)&&(d=a.r,b=a.y,a=a.x);c.isCircle=!0;c.r=d;return c.attr({x:a,y:b})},g:function(a){var c;a&&(c={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement("div").attr(c)},image:function(a,b,d,f,e){var c=this.createElement("img").attr({src:a});1f&&m-d*bg&&(F=Math.round((e-m)/Math.cos(f*w)));else if(e=m+(1-d)*b,m-d*bg&&(E=g-a.x+E*d,c=-1),E=Math.min(q, +E),EE||k.autoRotation&&(C.styles||{}).width)F=E;F&&(n.width=F,(k.options.labels.style||{}).textOverflow||(n.textOverflow="ellipsis"),C.css(n))},getPosition:function(a,k,m,e){var g=this.axis,h=g.chart,l=e&&h.oldChartHeight||h.chartHeight;return{x:a?g.translate(k+m,null,null,e)+g.transB:g.left+g.offset+(g.opposite?(e&&h.oldChartWidth||h.chartWidth)-g.right-g.left:0),y:a?l-g.bottom+g.offset-(g.opposite?g.height:0):l-g.translate(k+m,null, +null,e)-g.transB}},getLabelPosition:function(a,k,m,e,g,h,l,f){var d=this.axis,b=d.transA,q=d.reversed,E=d.staggerLines,c=d.tickRotCorr||{x:0,y:0},F=g.y;B(F)||(F=0===d.side?m.rotation?-8:-m.getBBox().height:2===d.side?c.y+8:Math.cos(m.rotation*w)*(c.y-m.getBBox(!1,0).height/2));a=a+g.x+c.x-(h&&e?h*b*(q?-1:1):0);k=k+F-(h&&!e?h*b*(q?1:-1):0);E&&(m=l/(f||1)%E,d.opposite&&(m=E-m-1),k+=d.labelOffset/E*m);return{x:a,y:Math.round(k)}},getMarkPath:function(a,k,m,e,g,h){return h.crispLine(["M",a,k,"L",a+(g? +0:-m),k+(g?m:0)],e)},render:function(a,k,m){var e=this.axis,g=e.options,h=e.chart.renderer,C=e.horiz,f=this.type,d=this.label,b=this.pos,q=g.labels,E=this.gridLine,c=f?f+"Tick":"tick",F=e.tickSize(c),n=this.mark,A=!n,x=q.step,p={},y=!0,u=e.tickmarkOffset,I=this.getPosition(C,b,u,k),M=I.x,I=I.y,v=C&&M===e.pos+e.len||!C&&I===e.pos?-1:1,K=f?f+"Grid":"grid",O=g[K+"LineWidth"],R=g[K+"LineColor"],z=g[K+"LineDashStyle"],K=l(g[c+"Width"],!f&&e.isXAxis?1:0),c=g[c+"Color"];m=l(m,1);this.isActive=!0;E||(p.stroke= +R,p["stroke-width"]=O,z&&(p.dashstyle=z),f||(p.zIndex=1),k&&(p.opacity=0),this.gridLine=E=h.path().attr(p).addClass("highcharts-"+(f?f+"-":"")+"grid-line").add(e.gridGroup));if(!k&&E&&(b=e.getPlotLinePath(b+u,E.strokeWidth()*v,k,!0)))E[this.isNew?"attr":"animate"]({d:b,opacity:m});F&&(e.opposite&&(F[0]=-F[0]),A&&(this.mark=n=h.path().addClass("highcharts-"+(f?f+"-":"")+"tick").add(e.axisGroup),n.attr({stroke:c,"stroke-width":K})),n[A?"attr":"animate"]({d:this.getMarkPath(M,I,F[0],n.strokeWidth()* +v,C,h),opacity:m}));d&&H(M)&&(d.xy=I=this.getLabelPosition(M,I,d,C,q,u,a,x),this.isFirst&&!this.isLast&&!l(g.showFirstLabel,1)||this.isLast&&!this.isFirst&&!l(g.showLastLabel,1)?y=!1:!C||e.isRadial||q.step||q.rotation||k||0===m||this.handleOverflow(I),x&&a%x&&(y=!1),y&&H(I.y)?(I.opacity=m,d[this.isNew?"attr":"animate"](I)):(r(d),d.attr("y",-9999)),this.isNew=!1)},destroy:function(){G(this,this.axis)}}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.AxisPlotLineOrBandExtension, +l=a.color,r=a.correctFloat,w=a.defaultOptions,t=a.defined,k=a.deg2rad,m=a.destroyObjectProperties,e=a.each,g=a.error,h=a.extend,C=a.fireEvent,f=a.format,d=a.getMagnitude,b=a.grep,q=a.inArray,E=a.isArray,c=a.isNumber,F=a.isString,n=a.merge,A=a.normalizeTickInterval,x=a.pick,J=a.PlotLineOrBand,y=a.removeEvent,u=a.splat,I=a.syncTimeout,M=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M", +hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb", +lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15}, +title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,c){var b=c.isX;this.chart=a;this.horiz=a.inverted?!b:b;this.isXAxis=b;this.coll=this.coll||(b?"xAxis":"yAxis");this.opposite=c.opposite;this.side=c.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(c);var d=this.options,v=d.type;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter; +this.userOptions=c;this.minPixelPadding=0;this.reversed=d.reversed;this.visible=!1!==d.visible;this.zoomEnabled=!1!==d.zoomEnabled;this.hasNames="category"===v||!0===d.categories;this.categories=d.categories||this.hasNames;this.names=this.names||[];this.isLog="logarithmic"===v;this.isDatetimeAxis="datetime"===v;this.isLinked=t(d.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom; +this.range=d.range;this.offset=d.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=x(d.crosshair,u(a.options.tooltip.crosshairs)[b?0:1],!1);var f;c=this.options.events;-1===q(this,a.axes)&&(b?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&b&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(f in c)D(this,f,c[f]); +this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=n(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],n(w[this.coll],a))},defaultLabelFormatter:function(){var c=this.axis,b=this.value,d=c.categories,e=this.dateTimeLabelFormat,q=w.lang,u=q.numericSymbols,q=q.numericSymbolMagnitude||1E3,n=u&&u.length,g,y=c.options.labels.format, +c=c.isLog?b:c.tickInterval;if(y)g=f(y,this);else if(d)g=b;else if(e)g=a.dateFormat(e,b);else if(n&&1E3<=c)for(;n--&&void 0===g;)d=Math.pow(q,n+1),c>=d&&0===10*b%d&&null!==u[n]&&0!==b&&(g=a.numberFormat(b/d,-1)+u[n]);void 0===g&&(g=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b,-1,void 0,""));return g},getSeriesExtremes:function(){var a=this,d=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();e(a.series,function(v){if(v.visible|| +!d.options.chart.ignoreHiddenSeries){var f=v.options,e=f.threshold,q;a.hasVisibleSeries=!0;a.isLog&&0>=e&&(e=null);if(a.isXAxis)f=v.xData,f.length&&(v=H(f),c(v)||v instanceof Date||(f=b(f,function(a){return c(a)}),v=H(f)),a.dataMin=Math.min(x(a.dataMin,f[0]),v),a.dataMax=Math.max(x(a.dataMax,f[0]),G(f)));else if(v.getExtremes(),q=v.dataMax,v=v.dataMin,t(v)&&t(q)&&(a.dataMin=Math.min(x(a.dataMin,v),v),a.dataMax=Math.max(x(a.dataMax,q),q)),t(e)&&(a.threshold=e),!f.softThreshold||a.isLog)a.softThreshold= +!1}})},translate:function(a,b,d,f,e,q){var v=this.linkedParent||this,u=1,n=0,g=f?v.oldTransA:v.transA;f=f?v.oldMin:v.min;var K=v.minPixelPadding;e=(v.isOrdinal||v.isBroken||v.isLog&&e)&&v.lin2val;g||(g=v.transA);d&&(u*=-1,n=v.len);v.reversed&&(u*=-1,n-=u*(v.sector||v.len));b?(a=(a*u+n-K)/g+f,e&&(a=v.lin2val(a))):(e&&(a=v.val2lin(a)),a=u*(a-f)*g+n+u*K+(c(q)?g*q:0));return a},toPixels:function(a,c){return this.translate(a,!1,!this.horiz,null,!0)+(c?0:this.pos)},toValue:function(a,c){return this.translate(a- +(c?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,d,f,e){var v=this.chart,q=this.left,u=this.top,n,g,K=d&&v.oldChartHeight||v.chartHeight,y=d&&v.oldChartWidth||v.chartWidth,z;n=this.transB;var h=function(a,c,b){if(ab)f?a=Math.min(Math.max(c,a),b):z=!0;return a};e=x(e,this.translate(a,null,null,d));a=d=Math.round(e+n);n=g=Math.round(K-e-n);c(e)?this.horiz?(n=u,g=K-this.bottom,a=d=h(a,q,q+this.width)):(a=q,d=y-this.right,n=g=h(n,u,u+this.height)):z=!0;return z&&!f?null:v.renderer.crispLine(["M", +a,n,"L",d,g],b||1)},getLinearTickPositions:function(a,b,d){var v,f=r(Math.floor(b/a)*a),e=r(Math.ceil(d/a)*a),q=[];if(b===d&&c(b))return[b];for(b=f;b<=e;){q.push(b);b=r(b+a);if(b===v)break;v=b}return q},getMinorTickPositions:function(){var a=this.options,c=this.tickPositions,b=this.minorTickInterval,d=[],f,e=this.pointRangePadding||0;f=this.min-e;var e=this.max+e,q=e-f;if(q&&q/b=this.minRange,q,u,n,g,y,h;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(t(a.min)||t(a.max)?this.minRange=null:(e(this.series,function(a){g=a.xData;for(u=y=a.xIncrement? +1:g.length-1;0=E?(p=E,m=0):b.dataMax<=E&&(J=E,I=0)),b.min=x(w,p,b.dataMin),b.max=x(B,J,b.dataMax));q&&(!a&&0>=Math.min(b.min, +x(b.dataMin,b.min))&&g(10,1),b.min=r(u(b.min),15),b.max=r(u(b.max),15));b.range&&t(b.max)&&(b.userMin=b.min=w=Math.max(b.min,b.minFromRange()),b.userMax=B=b.max,b.range=null);C(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(l||b.axisPointRange||b.usePercentage||h)&&t(b.min)&&t(b.max)&&(u=b.max-b.min)&&(!t(w)&&m&&(b.min-=u*m),!t(B)&&I&&(b.max+=u*I));c(f.floor)?b.min=Math.max(b.min,f.floor):c(f.softMin)&&(b.min=Math.min(b.min,f.softMin));c(f.ceiling)?b.max=Math.min(b.max, +f.ceiling):c(f.softMax)&&(b.max=Math.max(b.max,f.softMax));M&&t(b.dataMin)&&(E=E||0,!t(w)&&b.min=E?b.min=E:!t(B)&&b.max>E&&b.dataMax<=E&&(b.max=E));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:h&&!k&&F===b.linkedParent.options.tickPixelInterval?k=b.linkedParent.tickInterval:x(k,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,l?1:(b.max-b.min)*F/Math.max(b.len,F));y&&!a&&e(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0); +b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!k&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));a=x(f.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!k&&b.tickIntervalb.tickInterval&&1E3b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval= +b.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,d=a.tickPositioner,f=a.startOnTick,e=a.endOnTick,q;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units), +this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,d&&(d=d.apply(this,[this.min,this.max])))&&(this.tickPositions=b=d);this.isLinked||(this.trimTicks(b,f,e),this.min===this.max&&t(this.min)&&!this.tickAmount&&(q=!0,this.min-=.5,this.max+=.5),this.single=q,c||d||this.adjustTickAmount())}, +trimTicks:function(a,b,c){var d=a[0],f=a[a.length-1],v=this.minPointOffset||0;if(b)this.min=d;else for(;this.min-v>a[0];)a.shift();if(c)this.max=f;else for(;this.max+vb&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,d=this.finalTickAmt,f=b&&b.length;if(fc&&(this.tickInterval*= +2,this.setTickPositions());if(t(d)){for(a=c=b.length;a--;)(3===d&&1===a%2||2>=d&&0=f&&(b=f)),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=this.horiz,f=x(b.width,a.plotWidth-c+(b.offsetRight||0)),e=x(b.height,a.plotHeight),q=x(b.top,a.plotTop),b=x(b.left,a.plotLeft+c),c=/%$/;c.test(e)&&(e=Math.round(parseFloat(e)/ +100*a.plotHeight));c.test(q)&&(q=Math.round(parseFloat(q)/100*a.plotHeight+a.plotTop));this.left=b;this.top=q;this.width=f;this.height=e;this.bottom=a.chartHeight-e-q;this.right=a.chartWidth-f-b;this.len=Math.max(d?f:e,0);this.pos=d?b:q},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?r(b(this.min)):this.min,max:a?r(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=this.lin2log, +d=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=d:d>a?a=d:ba?"right":195a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],d=x(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(d&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,d]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize, +this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,d=c,f=this.len/(((this.categories?1:0)+this.max-this.min)/c),q,u=a.rotation,n=this.labelMetrics(),g,y=Number.MAX_VALUE,h,I=function(a){a/=f||1;a=1=a)g=I(Math.abs(n.h/Math.sin(k*a))),b=g+Math.abs(a/360),b(c.step||0)&&!c.rotation&&(this.staggerLines||1)*a.plotWidth/d||!b&&(f&&f-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,d=this.ticks,f=this.options.labels,q=this.horiz,u=this.getSlotWidth(),g=Math.max(1, +Math.round(u-2*(f.padding||5))),y={},h=this.labelMetrics(),I=f.style&&f.style.textOverflow,A,x=0,m,k;F(f.rotation)||(y.rotation=f.rotation||0);e(c,function(a){(a=d[a])&&a.labelLength>x&&(x=a.labelLength)});this.maxLabelLength=x;if(this.autoRotation)x>g&&x>h.h?y.rotation=this.labelRotation:this.labelRotation=0;else if(u&&(A={width:g+"px"},!I))for(A.textOverflow="clip",m=c.length;!q&&m--;)if(k=c[m],g=d[k].label)g.styles&&"ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):d[k].labelLength> +u&&g.css({width:u+"px"}),g.getBBox().height>this.len/c.length-(h.h-h.f)&&(g.specCss={textOverflow:"ellipsis"});y.rotation&&(A={width:(x>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},I||(A.textOverflow="ellipsis"));if(this.labelAlign=f.align||this.autoLabelAlign(this.labelRotation))y.align=this.labelAlign;e(c,function(a){var b=(a=d[a])&&a.label;b&&(b.attr(y),A&&b.css(n(A,b.specCss)),delete b.specCss,a.rotation=y.rotation)});this.tickRotCorr=b.rotCorr(h.b,this.labelRotation||0,0!==this.side)}, +hasData:function(){return this.hasVisibleSeries||t(this.min)&&t(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,f=a.tickPositions,q=a.ticks,u=a.horiz,n=a.side,g=b.inverted?[1,0,3,2][n]:n,y,h,I=0,A,m=0,k=d.title,F=d.labels,E=0,l=a.opposite,C=b.axisOffset,b=b.clipOffset,p=[-1,1,1,-1][n],r,J=d.className,w=a.axisParent,B=this.tickSize("tick");y=a.hasData();a.showAxis=h=y||x(d.showEmpty,!0);a.staggerLines=a.horiz&&F.staggerLines;a.axisGroup||(a.gridGroup= +c.g("grid").attr({zIndex:d.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(J||"")).add(w),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(J||"")).add(w),a.labelGroup=c.g("axis-labels").attr({zIndex:F.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(J||"")).add(w));if(y||a.isLinked)e(f,function(b){q[b]?q[b].addLabel():q[b]=new M(a,b)}),a.renderUnsquish(),!1===F.reserveSpace||0!==n&&2!==n&&{1:"left",3:"right"}[n]!== +a.labelAlign&&"center"!==a.labelAlign||e(f,function(a){E=Math.max(q[a].getLabelSize(),E)}),a.staggerLines&&(E*=a.staggerLines,a.labelOffset=E*(a.opposite?-1:1));else for(r in q)q[r].destroy(),delete q[r];k&&k.text&&!1!==k.enabled&&(a.axisTitle||((r=k.textAlign)||(r=(u?{low:"left",middle:"center",high:"right"}:{low:l?"right":"left",middle:"center",high:l?"left":"right"})[k.align]),a.axisTitle=c.text(k.text,0,0,k.useHTML).attr({zIndex:7,rotation:k.rotation||0,align:r}).addClass("highcharts-axis-title").css(k.style).add(a.axisGroup), +a.axisTitle.isNew=!0),h&&(I=a.axisTitle.getBBox()[u?"height":"width"],A=k.offset,m=t(A)?0:x(k.margin,u?5:10)),a.axisTitle[h?"show":"hide"](!0));a.renderLine();a.offset=p*x(d.offset,C[n]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===n?-a.labelMetrics().h:2===n?a.tickRotCorr.y:0;m=Math.abs(E)+m;E&&(m=m-c+p*(u?x(F.y,a.tickRotCorr.y+8*p):F.x));a.axisTitleMargin=x(A,m);C[n]=Math.max(C[n],a.axisTitleMargin+I+p*a.offset,m,y&&f.length&&B?B[0]:0);d=d.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[g]= +Math.max(b[g],d)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,f=this.horiz,e=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",f?this.left:e,f?d:this.top,"L",f?b.chartWidth-this.right:e,f?d:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor, +"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,f=this.options.title,e=a?b:c,q=this.opposite,u=this.offset,n=f.x||0,g=f.y||0,y=this.chart.renderer.fontMetrics(f.style&&f.style.fontSize,this.axisTitle).f,d={low:e+(a?0:d),middle:e+d/2,high:e+(a?d:0)}[f.align],b=(a?c+this.height:b)+(a?1:-1)*(q?-1:1)*this.axisTitleMargin+(2===this.side?y:0);return{x:a?d+n:b+(q?this.width:0)+u+n,y:a?b+g-(q?this.height:0)+u:d+g}},render:function(){var a= +this,b=a.chart,d=b.renderer,f=a.options,q=a.isLog,u=a.lin2log,n=a.isLinked,g=a.tickPositions,y=a.axisTitle,h=a.ticks,A=a.minorTicks,x=a.alternateBands,m=f.stackLabels,k=f.alternateGridColor,F=a.tickmarkOffset,E=a.axisLine,l=b.hasRendered&&c(a.oldMin),C=a.showAxis,p=B(d.globalAnimation),r,t;a.labelEdge.length=0;a.overlap=!1;e([h,A,x],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||n)a.minorTickInterval&&!a.categories&&e(a.getMinorTickPositions(),function(b){A[b]||(A[b]=new M(a,b,"minor")); +l&&A[b].isNew&&A[b].render(null,!0);A[b].render(null,!1,1)}),g.length&&(e(g,function(b,c){if(!n||b>=a.min&&b<=a.max)h[b]||(h[b]=new M(a,b)),l&&h[b].isNew&&h[b].render(c,!0,.1),h[b].render(c)}),F&&(0===a.min||a.single)&&(h[-1]||(h[-1]=new M(a,-1,null,!0)),h[-1].render(-1))),k&&e(g,function(c,d){t=void 0!==g[d+1]?g[d+1]+F:a.max-F;0===d%2&&c=e.second?0:A*Math.floor(c.getMilliseconds()/A));if(n>=e.second)c[B.hcSetSeconds](n>=e.minute?0:A*Math.floor(c.getSeconds()/ +A));if(n>=e.minute)c[B.hcSetMinutes](n>=e.hour?0:A*Math.floor(c[B.hcGetMinutes]()/A));if(n>=e.hour)c[B.hcSetHours](n>=e.day?0:A*Math.floor(c[B.hcGetHours]()/A));if(n>=e.day)c[B.hcSetDate](n>=e.month?1:A*Math.floor(c[B.hcGetDate]()/A));n>=e.month&&(c[B.hcSetMonth](n>=e.year?0:A*Math.floor(c[B.hcGetMonth]()/A)),g=c[B.hcGetFullYear]());if(n>=e.year)c[B.hcSetFullYear](g-g%A);if(n===e.week)c[B.hcSetDate](c[B.hcGetDate]()-c[B.hcGetDay]()+m(f,1));g=c[B.hcGetFullYear]();f=c[B.hcGetMonth]();var C=c[B.hcGetDate](), +y=c[B.hcGetHours]();if(B.hcTimezoneOffset||B.hcGetTimezoneOffset)x=(!q||!!B.hcGetTimezoneOffset)&&(k-h>4*e.month||t(h)!==t(k)),c=c.getTime(),c=new B(c+t(c));q=c.getTime();for(h=1;qr&&(!t||b<=w)&&void 0!==b&&h.push(b),b>w&&(q=!0),b=d;else r=e(r),w= +e(w),a=k[t?"minorTickInterval":"tickInterval"],a=p("auto"===a?null:a,this._minorAutoInterval,k.tickPixelInterval/(t?5:1)*(w-r)/((t?m/this.tickPositions.length:m)||1)),a=H(a,null,B(a)),h=G(this.getLinearTickPositions(a,r,w),g),t||(this._minorAutoInterval=a/5);t||(this.tickInterval=a);return h};D.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};D.prototype.lin2log=function(a){return Math.pow(10,a)}})(N);(function(a){var D=a.dateFormat,B=a.each,G=a.extend,H=a.format,p=a.isNumber,l=a.map,r= +a.merge,w=a.pick,t=a.splat,k=a.stop,m=a.syncTimeout,e=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,e){this.chart=a;this.options=e;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=e.split&&!a.inverted;this.shared=e.shared||this.split},cleanSplit:function(a){B(this.chart.series,function(e){var g=e&&e.tt;g&&(!g.isActive||a?e.tt=g.destroy():g.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,e=this.options;this.label|| +(this.split?this.label=a.g("tooltip"):(this.label=a.label("",0,0,e.shape||"callout",null,null,e.useHTML,null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),this.label.attr({fill:e.backgroundColor,"stroke-width":e.borderWidth}).css(e.style).shadow(e.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,r(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart, +!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,e,m,f){var d=this,b=d.now,q=!1!==d.options.animation&&!d.isHidden&&(1h-q?h:h-q);else if(v)b[a]=Math.max(g,e+q+f>c?e:e+q);else return!1},x=function(a,c,f,e){var q;ec-d?q=!1:b[a]=ec-f/2?c-f-2:e-f/2;return q},k=function(a){var b=c;c=h;h=b;g=a},y=function(){!1!==A.apply(0,c)?!1!==x.apply(0,h)||g||(k(!0),y()):g?b.x=b.y=0:(k(!0),y())};(f.inverted||1y&&(q=!1);a=(e.series&&e.series.yAxis&&e.series.yAxis.pos)+(e.plotY||0);a-=d.plotTop;f.push({target:e.isHeader?d.plotHeight+c:a,rank:e.isHeader?1:0,size:n.tt.getBBox().height+1,point:e,x:y,tt:A})});this.cleanSplit(); +a.distribute(f,d.plotHeight+c);B(f,function(a){var b=a.point;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:q||b.isHeader?a.x:b.plotX+d.plotLeft+w(m.distance,16),y:a.pos+d.plotTop,anchorX:b.plotX+d.plotLeft,anchorY:b.isHeader?a.pos+d.plotTop-15:b.plotY+d.plotTop})})},updatePosition:function(a){var e=this.chart,g=this.getLabel(),g=(this.options.positioner||this.getPosition).call(this,g.width,g.height,a);this.move(Math.round(g.x),Math.round(g.y||0),a.plotX+e.plotLeft,a.plotY+e.plotTop)}, +getXDateFormat:function(a,h,m){var f;h=h.dateTimeLabelFormats;var d=m&&m.closestPointRange,b,q={millisecond:15,second:12,minute:9,hour:6,day:3},g,c="millisecond";if(d){g=D("%m-%d %H:%M:%S.%L",a.x);for(b in e){if(d===e.week&&+D("%w",a.x)===m.options.startOfWeek&&"00:00:00.000"===g.substr(6)){b="week";break}if(e[b]>d){b=c;break}if(q[b]&&g.substr(q[b])!=="01-01 00:00:00.000".substr(q[b]))break;"week"!==b&&(c=b)}b&&(f=h[b])}else f=h.day;return f||h.year},tooltipFooterHeaderFormatter:function(a,e){var g= +e?"footer":"header";e=a.series;var f=e.tooltipOptions,d=f.xDateFormat,b=e.xAxis,q=b&&"datetime"===b.options.type&&p(a.key),g=f[g+"Format"];q&&!d&&(d=this.getXDateFormat(a,f,b));q&&d&&(g=g.replace("{point.key}","{point.key:"+d+"}"));return H(g,{point:a,series:e})},bodyFormatter:function(a){return l(a,function(a){var e=a.series.tooltipOptions;return(e.pointFormatter||a.point.tooltipFormatter).call(a.point,e.pointFormat)})}}})(N);(function(a){var D=a.addEvent,B=a.attr,G=a.charts,H=a.color,p=a.css,l= +a.defined,r=a.doc,w=a.each,t=a.extend,k=a.fireEvent,m=a.offset,e=a.pick,g=a.removeEvent,h=a.splat,C=a.Tooltip,f=a.win;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=b.chart.events&&!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};C&&b.tooltip.enabled&&(a.tooltip=new C(a,b.tooltip),this.followTouchMove=e(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,d=b.options.chart, +f=d.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(f=e(d.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=f=/y/.test(f);this.zoomHor=a&&!b||f&&b;this.zoomVert=f&&!b||a&&b;this.hasZoom=a||f},normalize:function(a,b){var d,e;a=a||f.event;a.target||(a.target=a.srcElement);e=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=m(this.chart.container));void 0===e.pageX?(d=Math.max(a.x,a.clientX-b.left),b=a.y):(d=e.pageX-b.left,b=e.pageY-b.top);return t(a,{chartX:Math.round(d), +chartY:Math.round(b)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};w(this.chart.axes,function(d){b[d.isXAxis?"xAxis":"yAxis"].push({axis:d,value:d.toValue(a[d.horiz?"chartX":"chartY"])})});return b},runPointActions:function(d){var b=this.chart,f=b.series,g=b.tooltip,c=g?g.shared:!1,h=!0,n=b.hoverPoint,m=b.hoverSeries,x,k,y,u=[],I;if(!c&&!m)for(x=0;xb.series.index?-1:1}));if(c)for(x=u.length;x--;)(u[x].x!==u[0].x||u[x].series.noSharedTooltip)&&u.splice(x,1);if(u[0]&&(u[0]!==this.prevKDPoint||g&&g.isHidden)){if(c&& +!u[0].series.noSharedTooltip){for(x=0;xh+k&&(f=h+k),cm+y&&(c=m+y),this.hasDragged=Math.sqrt(Math.pow(l-f,2)+Math.pow(v-c,2)),10x.max&&(l=x.max-c,v=!0);v?(u-=.8*(u-g[f][0]),J||(M-=.8*(M-g[f][1])),p()):g[f]=[u,M];A||(e[f]=F-E,e[q]=c);e=A?1/n:n;m[q]=c;m[f]=l;k[A?a?"scaleY":"scaleX":"scale"+d]=n;k["translate"+d]=e* +E+(u-e*y)},pinch:function(a){var r=this,t=r.chart,k=r.pinchDown,m=a.touches,e=m.length,g=r.lastValidTouch,h=r.hasZoom,C=r.selectionMarker,f={},d=1===e&&(r.inClass(a.target,"highcharts-tracker")&&t.runTrackerClick||r.runChartClick),b={};1b-6&&n(u||d.chartWidth- +2*x-v-e.x)&&(this.itemX=v,this.itemY+=p+this.lastLineHeight+I,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,c);this.lastItemY=p+this.itemY+I;this.lastLineHeight=Math.max(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=c:(this.itemY+=p+g+I,this.lastLineHeight=g);this.offsetWidth=u||Math.max((f?this.itemX-v-l:c)+x,this.offsetWidth)},getAllItems:function(){var a=[];l(this.chart.series,function(d){var b=d&&d.options;d&&m(b.showInLegend,p(b.linkedTo)? +!1:void 0,!0)&&(a=a.concat(d.legendItems||("point"===b.legendType?d.data:d)))});return a},adjustMargins:function(a,d){var b=this.chart,e=this.options,f=e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0);e.floating||l([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(c,g){c.test(f)&&!p(a[g])&&(b[t[g]]=Math.max(b[t[g]],b.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*e[g%2?"x":"y"]+m(e.margin,12)+d[g]))})},render:function(){var a=this,d=a.chart,b=d.renderer, +e=a.group,h,c,m,n,k=a.box,x=a.options,p=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;e||(a.group=e=b.g("legend").attr({zIndex:7}).add(),a.contentGroup=b.g().attr({zIndex:1}).add(e),a.scrollGroup=b.g().add(a.contentGroup));a.renderTitle();h=a.getAllItems();g(h,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});x.reversed&&h.reverse();a.allItems=h;a.display=c=!!h.length;a.lastLineHeight=0;l(h,function(b){a.renderItem(b)}); +m=(x.width||a.offsetWidth)+p;n=a.lastItemY+a.lastLineHeight+a.titleHeight;n=a.handleOverflow(n);n+=p;k||(a.box=k=b.rect().addClass("highcharts-legend-box").attr({r:x.borderRadius}).add(e),k.isNew=!0);k.attr({stroke:x.borderColor,"stroke-width":x.borderWidth||0,fill:x.backgroundColor||"none"}).shadow(x.shadow);0b&&!1!==h.enabled?(this.clipHeight=g=Math.max(b-20-this.titleHeight-I,0),this.currentPage=m(this.currentPage,1),this.fullHeight=a,l(v,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=u.length;if(!d||c-u[d-1]>g&&(r||c)!==u[d-1])u.push(r||c),d++;b===v.length-1&&c+a-u[d-1]>g&&u.push(c);c!==r&&(r=c)}),n||(n=d.clipRect= +e.clipRect(0,I,9999,0),d.contentGroup.clip(n)),t(g),y||(this.nav=y=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,p,p).on("click",function(){d.scroll(-1,k)}).add(y),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").css(h.style).add(y),this.down=e.symbol("triangle-down",0,0,p,p).on("click",function(){d.scroll(1,k)}).add(y)),d.scroll(0),a=b):y&&(t(),y.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,d){var b=this.pages, +f=b.length;a=this.currentPage+a;var g=this.clipHeight,c=this.options.navigation,h=this.pager,n=this.padding;a>f&&(a=f);0f&&(g=typeof a[0],"string"===g?e.name=a[0]:"number"===g&&(e.x=a[0]),d++);b=h.value;)h=e[++g];h&&h.color&&!this.options.color&&(this.color=h.color);return h},destroy:function(){var a=this.series.chart,e=a.hoverPoints,g;a.pointCount--;e&&(this.setState(),H(e,this),e.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)k(this), +this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],e,g=6;g--;)e=a[g],this[e]&&(this[e]=this[e].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var e=this.series,g= +e.tooltipOptions,h=t(g.valueDecimals,""),k=g.valuePrefix||"",f=g.valueSuffix||"";B(e.pointArrayMap||["y"],function(d){d="{point."+d;if(k||f)a=a.replace(d+"}",k+d+"}"+f);a=a.replace(d+"}",d+":,."+h+"f}")});return l(a,{point:this,series:this.series})},firePointEvent:function(a,e,g){var h=this,k=this.series.options;(k.point.events[a]||h.options&&h.options.events&&h.options.events[a])&&this.importEvents();"click"===a&&k.allowPointSelect&&(g=function(a){h.select&&h.select(null,a.ctrlKey||a.metaKey||a.shiftKey)}); +p(this,a,e,g)},visible:!0}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.correctFloat,l=a.Date,r=a.defaultOptions,w=a.defaultPlotOptions,t=a.defined,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.fireEvent,C=a.grep,f=a.isArray,d=a.isNumber,b=a.isString,q=a.merge,E=a.pick,c=a.removeEvent,F=a.splat,n=a.stableSort,A=a.SVGElement,x=a.syncTimeout,J=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{}, +marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1, +marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,d,e,f=a.series,u,y=function(a,b){return E(a.options.index,a._i)-E(b.options.index,b._i)};c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();g(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0=== +b.selected});e=b.events;for(d in e)D(c,d,e[d]);if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();k(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);f.length&&(u=f[f.length-1]);c._i=E(u&&u._i,-1)+1;f.push(c);n(f,y);this.yAxis&&n(this.yAxis.series,y);k(f,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a=this,b=a.options,c=a.chart, +d;k(a.axisTypes||[],function(f){k(c[f],function(c){d=c.options;if(b[f]===d.index||void 0!==b[f]&&b[f]===d.id||void 0===b[f]&&0===d.index)c.series.push(a),a[f]=c,c.isDirty=!0});a[f]||a.optionalAxis===f||e(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,e=arguments,f=d(b)?function(d){var e="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=e}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(e,2))};k(c.parallelArrays,f)},autoIncrement:function(){var a=this.options, +b=this.xIncrement,c,d=a.pointIntervalUnit,b=E(b,a.pointStart,0);this.pointInterval=c=E(this.pointInterval,a.pointInterval,1);d&&(a=new l(b),"day"===d?a=+a[l.hcSetDate](a[l.hcGetDate]()+c):"month"===d?a=+a[l.hcSetMonth](a[l.hcGetMonth]()+c):"year"===d&&(a=+a[l.hcSetFullYear](a[l.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=q(e,c.series,a);this.tooltipOptions= +q(r.tooltip,r.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);null===e.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative",color:c.negativeColor,fillColor:c.negativeFillColor});a.length&&t(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor}); +return c},getCyclic:function(a,b,c){var d,e=this.userOptions,f=a+"Index",g=a+"Counter",u=c?c.length:E(this.chart.options.chart[a+"Count"],this.chart[a+"Count"]);b||(d=E(e[f],e["_"+f]),t(d)||(e["_"+f]=d=this.chart[g]%u,this.chart[g]+=1),c&&(b=c[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||w[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol, +this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(a,c,g,n){var u=this,q=u.points,h=q&&q.length||0,y,m=u.options,x=u.chart,A=null,I=u.xAxis,l=m.turboThreshold,p=this.xData,r=this.yData,F=(y=u.pointArrayMap)&&y.length;a=a||[];y=a.length;c=E(c,!0);if(!1!==n&&y&&h===y&&!u.cropped&&!u.hasGroupedData&&u.visible)k(a,function(a,b){q[b].update&&a!==m.data[b]&&q[b].update(a,!1,null,!1)});else{u.xIncrement=null;u.colorCounter=0;k(this.parallelArrays,function(a){u[a+ +"Data"].length=0});if(l&&y>l){for(g=0;null===A&&gh||this.forceCrop))if(b[d-1]l)b=[],c=[];else if(b[0]l)f=this.cropData(this.xData,this.yData,A,l),b=f.xData,c=f.yData,f=f.start,g=!0;for(h=b.length||1;--h;)d=x?y(b[h])-y(b[h-1]):b[h]-b[h-1],0d&&this.requireSorting&&e(15);this.cropped=g;this.cropStart=f;this.processedXData=b;this.processedYData=c;this.closestPointRange=n},cropData:function(a,b,c,d){var e=a.length,f=0,g=e,n=E(this.cropShoulder,1),u;for(u=0;u=c){f=Math.max(0,u- +n);break}for(c=u;cd){g=c+n;break}return{xData:a.slice(f,g),yData:b.slice(f,g),start:f,end:g}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,n=this.cropStart||0,q,h=this.hasGroupedData,k,m=[],x;b||h||(b=[],b.length=a.length,b=this.data=b);for(x=0;x=q&&(c[x-1]||k)<=h,y&&k)if(y=m.length)for(;y--;)null!==m[y]&&(g[n++]=m[y]);else g[n++]=m;this.dataMin=H(g);this.dataMax=G(g)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,e=c.categories,f=this.yAxis,g=this.points,n=g.length,q=!!this.modifyValue,h=a.pointPlacement,k="between"===h||d(h),m=a.threshold,x=a.startFromThreshold?m:0,A,l,r,F,J=Number.MAX_VALUE;"between"===h&&(h=.5);d(h)&&(h*=E(a.pointRange||c.pointRange)); +for(a=0;a=B&&(C.isNull=!0);C.plotX=A=p(Math.min(Math.max(-1E5,c.translate(w,0,0,0,1,h,"flags"===this.type)),1E5));b&&this.visible&&!C.isNull&&D&&D[w]&&(F=this.getStackIndicator(F,w,this.index),G=D[w],B=G.points[F.key],l=B[0],B=B[1],l===x&&F.key===D[w].base&&(l=E(m,f.min)),f.isLog&&0>=l&&(l=null),C.total=C.stackTotal=G.total,C.percentage=G.total&&C.y/G.total*100,C.stackY= +B,G.setOffset(this.pointXOffset||0,this.barW||0));C.yBottom=t(l)?f.translate(l,0,1,0,1):null;q&&(B=this.modifyValue(B,C));C.plotY=l="number"===typeof B&&Infinity!==B?Math.min(Math.max(-1E5,f.translate(B,0,1,0,1)),1E5):void 0;C.isInside=void 0!==l&&0<=l&&l<=f.len&&0<=A&&A<=c.len;C.clientX=k?p(c.translate(w,0,0,0,1,h)):A;C.negative=C.y<(m||0);C.category=e&&void 0!==e[C.x]?e[C.x]:C.x;C.isNull||(void 0!==r&&(J=Math.min(J,Math.abs(A-r))),r=A)}this.closestPointRangePx=J},getValidPoints:function(a,b){var c= +this.chart;return C(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,f=this.clipBox,g=f||b.clipBox,n=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,g.height,c.xAxis,c.yAxis].join(),q=b[n],h=b[n+"m"];q||(a&&(g.width=0,b[n+"m"]=h=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[n]=q=d.clipRect(g),q.count={length:0});a&&!q.count[this.index]&& +(q.count[this.index]=!0,q.count.length+=1);!1!==c.clip&&(this.group.clip(a||f?q:b.clipRect),this.markerGroup.clip(h),this.sharedClipKey=n);a||(q.count[this.index]&&(delete q.count[this.index],--q.count.length),0===q.count.length&&n&&b[n]&&(f||(b[n]=b[n].destroy()),b[n+"m"]&&(b[n+"m"]=b[n+"m"].destroy())))},animate:function(a){var b=this.chart,c=B(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+ +99},c),this.animate=null)},afterAnimate:function(){this.setClip();h(this,"afterAnimate")},drawPoints:function(){var a=this.points,b=this.chart,c,e,f,g,n=this.options.marker,q,h,k,m,x=this.markerGroup,A=E(n.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>2*n.radius);if(!1!==n.enabled||this._hasPointMarkers)for(e=a.length;e--;)f=a[e],c=f.plotY,g=f.graphic,q=f.marker||{},h=!!f.marker,k=A&&void 0===q.enabled||q.enabled,m=f.isInside,k&&d(c)&&null!==f.y?(c=E(q.symbol,this.symbol),f.hasImage= +0===c.indexOf("url"),k=this.markerAttribs(f,f.selected&&"select"),g?g[m?"show":"hide"](!0).animate(k):m&&(0e&&b.shadow));g&&(g.startX=c.xMap, +g.isArea=c.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,f,g=this.clips||[],n,q=this.graph,h=this.area,m=Math.max(b.chartWidth,b.chartHeight),x=this[(this.zoneAxis||"y")+"Axis"],A,l,p=b.inverted,r,F,C,t,J=!1;d.length&&(q||h)&&x&&void 0!==x.min&&(l=x.reversed,r=x.horiz,q&&q.hide(),h&&h.hide(),A=x.getExtremes(),k(d,function(d,u){e=l?r?b.plotWidth:0:r?0:x.toPixels(A.min);e=Math.min(Math.max(E(f,e),0),m);f=Math.min(Math.max(Math.round(x.toPixels(E(d.value,A.max), +!0)),0),m);J&&(e=f=x.toPixels(A.max));F=Math.abs(e-f);C=Math.min(e,f);t=Math.max(e,f);x.isXAxis?(n={x:p?t:C,y:0,width:F,height:m},r||(n.x=b.plotHeight-n.x)):(n={x:0,y:p?t:C,width:m,height:F},r&&(n.y=b.plotWidth-n.y));p&&c.isVML&&(n=x.isXAxis?{x:0,y:l?C:t,height:n.width,width:b.chartWidth}:{x:n.y-b.plotLeft-b.spacingBox.x,y:0,width:n.height,height:b.chartHeight});g[u]?g[u].animate(n):(g[u]=c.clipRect(n),q&&a["zone-graph-"+u].clip(g[u]),h&&a["zone-area-"+u].clip(g[u]));J=d.value>A.max}),this.clips= +g)},invertGroups:function(a){function b(){var b={width:c.yAxis.len,height:c.xAxis.len};k(["group","markerGroup"],function(d){c[d]&&c[d].attr(b).invert(a)})}var c=this,d;c.xAxis&&(d=D(c.chart,"resize",b),D(c,"destroy",d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({zIndex:d||.1}).add(e),f.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className|| +"")));f.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&B(d.animation).duration,f=a.visible?"inherit":"hidden",g=d.zIndex,n=a.hasRendered,q=b.seriesGroup,h=b.inverted;c=a.plotGroup("group","series",f,g,q);a.markerGroup= +a.plotGroup("markerGroup","markers",f,g,q);e&&a.animate(!0);c.inverted=a.isCartesian?h:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(h);!1===d.clip||a.sharedClipKey||n||c.clip(b.clipRect);e&&a.animate();n||(a.animationTimeout=x(function(){a.afterAnimate()},e));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty|| +this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:E(d&&d.left,a.plotLeft),translateY:E(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)}, +buildKDTree:function(){function a(c,d,e){var f,g;if(g=c&&c.length)return f=b.kdAxisArray[d%e],c.sort(function(a,b){return a[f]-b[f]}),g=Math.floor(g/2),{point:c[g],left:a(c.slice(0,g),d+1,e),right:a(c.slice(g+1),d+1,e)}}var b=this,c=b.kdDimensions;delete b.kdTree;x(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,n,q){var h=b.point,u=d.kdAxisArray[n%q],k,m,x=h;m=t(a[e])&&t(h[e])?Math.pow(a[e]-h[e],2):null;k=t(a[f])&& +t(h[f])?Math.pow(a[f]-h[f],2):null;k=(m||0)+(k||0);h.dist=t(k)?Math.sqrt(k):Number.MAX_VALUE;h.distX=t(m)?Math.sqrt(m):Number.MAX_VALUE;u=a[u]-h[u];k=0>u?"left":"right";m=0>u?"right":"left";b[k]&&(k=c(a,b[k],n+1,q),x=k[g]A;)l--;this.updateParallelArrays(h,"splice",l,0,0);this.updateParallelArrays(h,l);n&&h.name&&(n[A]=h.name);q.splice(l,0,a);m&&(this.data.splice(l,0,null),this.processData());"point"===c.legendType&&this.generatePoints();d&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(h,"shift"),q.shift()));this.isDirtyData=this.isDirty=!0;b&&g.redraw(e)},removePoint:function(a, +b,d){var c=this,e=c.data,f=e[a],g=c.points,n=c.chart,h=function(){g&&g.length===e.length&&g.splice(a,1);e.splice(a,1);c.options.data.splice(a,1);c.updateParallelArrays(f||{series:c},"splice",a,1);f&&f.destroy();c.isDirty=!0;c.isDirtyData=!0;b&&n.redraw()};q(d,n);b=C(b,!0);f?f.firePointEvent("remove",null,h):h()},remove:function(a,b,d){function c(){e.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();C(a,!0)&&f.redraw(b)}var e=this,f=e.chart;!1!==d?k(e,"remove",null,c):c()},update:function(a, +d){var c=this,e=this.chart,f=this.userOptions,g=this.type,q=a.type||f.type||e.options.chart.type,u=b[g].prototype,m=["group","markerGroup","dataLabelsGroup"],k;if(q&&q!==g||void 0!==a.zIndex)m.length=0;r(m,function(a){m[a]=c[a];delete c[a]});a=h(f,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(k in u)this[k]=void 0;t(this,b[q||g].prototype);r(m,function(a){c[a]=m[a]});this.init(e,a);e.linkSeries();C(d,!0)&&e.redraw(!1)}});t(G.prototype, +{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=h(this.userOptions,a);this.destroy(!0);this.init(c,t(a,{events:void 0}));c.isDirtyBox=!0;C(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);w(b.axes,this);w(b[c],this);b.options[c].splice(this.options.index,1);r(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;C(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a}, +b)},setCategories:function(a,b){this.update({categories:a},b)}})})(N);(function(a){var D=a.color,B=a.each,G=a.map,H=a.pick,p=a.Series,l=a.seriesType;l("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],l=[],p=this.xAxis,k=this.yAxis,m=k.stacks[this.stackKey],e={},g=this.points,h=this.index,C=k.series,f=C.length,d,b=H(k.options.reversedStacks,!0)?1:-1,q,E;if(this.options.stacking){for(q=0;qa&&t>l?(t=Math.max(a,l),m=2*l-t):tH&& +m>l?(m=Math.max(H,l),t=2*l-m):m=Math.abs(g)&&.5a.closestPointRange*a.xAxis.transA,k=a.borderWidth=r(h.borderWidth,k?0:1),f=a.yAxis,d=a.translatedThreshold=f.getThreshold(h.threshold),b=r(h.minPointLength,5),q=a.getColumnMetrics(),m=q.width,c=a.barW=Math.max(m,1+2*k),l=a.pointXOffset= +q.offset;g.inverted&&(d-=.5);h.pointPadding&&(c=Math.ceil(c));w.prototype.translate.apply(a);G(a.points,function(e){var n=r(e.yBottom,d),q=999+Math.abs(n),q=Math.min(Math.max(-q,e.plotY),f.len+q),h=e.plotX+l,k=c,u=Math.min(q,n),p,t=Math.max(q,n)-u;Math.abs(t)b?n-b:d-(p?b:0));e.barX=h;e.pointWidth=m;e.tooltipPos=g.inverted?[f.len+f.pos-g.plotLeft-q,a.xAxis.len-h-k/2,t]:[h+k/2,q+f.pos-g.plotTop,t];e.shapeType="rect";e.shapeArgs= +a.crispCol.apply(a,e.isNull?[e.plotX,f.len/2,0,0]:[h,u,k,t])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,g){var e=this.options,k=this.pointAttrToOptions||{},f=k.stroke||"borderColor",d=k["stroke-width"]||"borderWidth",b=a&&a.color||this.color,q=a[f]||e[f]||this.color||b,k=e.dashStyle,m;a&&this.zones.length&&(b=(b=a.getZone())&&b.color||a.options.color|| +this.color);g&&(g=e.states[g],m=g.brightness,b=g.color||void 0!==m&&B(b).brighten(g.brightness).get()||b,q=g[f]||q,k=g.dashStyle||k);a={fill:b,stroke:q,"stroke-width":a[d]||e[d]||this[d]||0};e.borderRadius&&(a.r=e.borderRadius);k&&(a.dashstyle=k);return a},drawPoints:function(){var a=this,g=this.chart,h=a.options,m=g.renderer,f=h.animationLimit||250,d;G(a.points,function(b){var e=b.graphic;p(b.plotY)&&null!==b.y?(d=b.shapeArgs,e?(k(e),e[g.pointCountt;++t)k=r[t],a=2>t||2===t&&/%$/.test(k),r[t]=B(k,[l,H,w,r[2]][t])+(a?p:0);r[3]>r[2]&&(r[3]=r[2]);return r}}})(N);(function(a){var D=a.addEvent,B=a.defined,G=a.each,H=a.extend,p=a.inArray,l=a.noop,r=a.pick,w=a.Point,t=a.Series,k=a.seriesType,m=a.setAnimation;k("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y? +void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var e=this,h=e.points,k=e.startAngleRad;a||(G(h,function(a){var d= +a.graphic,b=a.shapeArgs;d&&(d.attr({r:a.startR||e.center[3]/2,start:k,end:k}),d.animate({r:b.r,start:b.start,end:b.end},e.options.animation))}),e.animate=null)},updateTotals:function(){var a,g=0,h=this.points,k=h.length,f,d=this.options.ignoreHiddenPoint;for(a=0;af.y&&(f.y=null),g+=d&&!f.visible?0:f.y;this.total=g;for(a=0;a1.5*Math.PI?q-=2*Math.PI:q<-Math.PI/2&&(q+=2*Math.PI);t.slicedTranslation={translateX:Math.round(Math.cos(q)*k),translateY:Math.round(Math.sin(q)*k)};d=Math.cos(q)*a[2]/2;b=Math.sin(q)*a[2]/2;t.tooltipPos=[a[0]+.7*d,a[1]+.7*b];t.half=q<-Math.PI/2||q>Math.PI/2?1:0;t.angle=q;f=Math.min(f,n/5);t.labelPos=[a[0]+d+Math.cos(q)*n,a[1]+b+Math.sin(q)*n,a[0]+d+Math.cos(q)*f,a[1]+b+Math.sin(q)* +f,a[0]+d,a[1]+b,0>n?"center":t.half?"right":"left",q]}},drawGraph:null,drawPoints:function(){var a=this,g=a.chart.renderer,h,k,f,d,b=a.options.shadow;b&&!a.shadowGroup&&(a.shadowGroup=g.g("shadow").add(a.group));G(a.points,function(e){if(null!==e.y){k=e.graphic;d=e.shapeArgs;h=e.sliced?e.slicedTranslation:{};var q=e.shadowGroup;b&&!q&&(q=e.shadowGroup=g.g("shadow").add(a.shadowGroup));q&&q.attr(h);f=a.pointAttribs(e,e.selected&&"select");k?k.setRadialReference(a.center).attr(f).animate(H(d,h)):(e.graphic= +k=g[e.shapeType](d).addClass(e.getClassName()).setRadialReference(a.center).attr(h).add(a.group),e.visible||k.attr({visibility:"hidden"}),k.attr(f).attr({"stroke-linejoin":"round"}).shadow(b,q))}})},searchPoint:l,sortByAngle:function(a,g){a.sort(function(a,e){return void 0!==a.angle&&(e.angle-a.angle)*g})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:l},{init:function(){w.prototype.init.apply(this,arguments);var a=this,g;a.name=r(a.name,"Slice"); +g=function(e){a.slice("select"===e.type)};D(a,"select",g);D(a,"unselect",g);return a},setVisible:function(a,g){var e=this,k=e.series,f=k.chart,d=k.options.ignoreHiddenPoint;g=r(g,d);a!==e.visible&&(e.visible=e.options.visible=a=void 0===a?!e.visible:a,k.options.data[p(e,k.data)]=e.options,G(["graphic","dataLabel","connector","shadowGroup"],function(b){if(e[b])e[b][a?"show":"hide"](!0)}),e.legendItem&&f.legend.colorizeItem(e,a),a||"hover"!==e.state||e.setState(""),d&&(k.isDirty=!0),g&&f.redraw())}, +slice:function(a,g,h){var e=this.series;m(h,e.chart);r(g,!0);this.sliced=this.options.sliced=a=B(a)?a:!this.sliced;e.options.data[p(this,e.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)},haloPath:function(a){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+a,e.r+a,{innerR:this.shapeArgs.r,start:e.start,end:e.end})}})})(N);(function(a){var D= +a.addEvent,B=a.arrayMax,G=a.defined,H=a.each,p=a.extend,l=a.format,r=a.map,w=a.merge,t=a.noop,k=a.pick,m=a.relativeLength,e=a.Series,g=a.seriesTypes,h=a.stableSort,C=a.stop;a.distribute=function(a,d){function b(a,b){return a.target-b.target}var e,f=!0,c=a,g=[],n;n=0;for(e=a.length;e--;)n+=a[e].size;if(n>d){h(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(n=e=0;n<=d;)n+=a[e].size,e++;g=a.splice(e-1,a.length)}h(a,b);for(a=r(a,function(a){return{size:a.size,targets:[a.target]}});f;){for(e=a.length;e--;)f= +a[e],n=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=Math.min(Math.max(0,n-f.size/2),d-f.size);e=a.length;for(f=!1;e--;)0a[e].pos&&(a[e-1].size+=a[e].size,a[e-1].targets=a[e-1].targets.concat(a[e].targets),a[e-1].pos+a[e-1].size>d&&(a[e-1].pos=d-a[e-1].size),a.splice(e,1),f=!0)}e=0;H(a,function(a){var b=0;H(a.targets,function(){c[e].pos=a.pos+b;b+=c[e].size;e++})});c.push.apply(c,g);h(c,b)};e.prototype.drawDataLabels=function(){var a=this,d=a.options, +b=d.dataLabels,e=a.points,g,c,h=a.hasRendered||0,n,m,x=k(b.defer,!0),r=a.chart.renderer;if(b.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(b),m=a.plotGroup("dataLabelsGroup","data-labels",x&&!h?"hidden":"visible",b.zIndex||6),x&&(m.attr({opacity:+h}),h||D(a,"afterAnimate",function(){a.visible&&m.show(!0);m[d.animation?"animate":"attr"]({opacity:1},{duration:200})})),c=b,H(e,function(e){var f,q=e.dataLabel,h,x,A=e.connector,y=!0,t,z={};g=e.dlOptions||e.options&&e.options.dataLabels; +f=k(g&&g.enabled,c.enabled)&&null!==e.y;if(q&&!f)e.dataLabel=q.destroy();else if(f){b=w(c,g);t=b.style;f=b.rotation;h=e.getLabelConfig();n=b.format?l(b.format,h):b.formatter.call(h,b);t.color=k(b.color,t.color,a.color,"#000000");if(q)G(n)?(q.attr({text:n}),y=!1):(e.dataLabel=q=q.destroy(),A&&(e.connector=A.destroy()));else if(G(n)){q={fill:b.backgroundColor,stroke:b.borderColor,"stroke-width":b.borderWidth,r:b.borderRadius||0,rotation:f,padding:b.padding,zIndex:1};"contrast"===t.color&&(z.color=b.inside|| +0>b.distance||d.stacking?r.getContrast(e.color||a.color):"#000000");d.cursor&&(z.cursor=d.cursor);for(x in q)void 0===q[x]&&delete q[x];q=e.dataLabel=r[f?"text":"label"](n,0,-9999,b.shape,null,null,b.useHTML,null,"data-label").attr(q);q.addClass("highcharts-data-label-color-"+e.colorIndex+" "+(b.className||""));q.css(p(t,z));q.add(m);q.shadow(b.shadow)}q&&a.alignDataLabel(e,q,b,null,y)}})};e.prototype.alignDataLabel=function(a,d,b,e,g){var c=this.chart,f=c.inverted,n=k(a.plotX,-9999),q=k(a.plotY, +-9999),h=d.getBBox(),m,l=b.rotation,u=b.align,r=this.visible&&(a.series.forceDL||c.isInsidePlot(n,Math.round(q),f)||e&&c.isInsidePlot(n,f?e.x+1:e.y+e.height-1,f)),t="justify"===k(b.overflow,"justify");r&&(m=b.style.fontSize,m=c.renderer.fontMetrics(m,d).b,e=p({x:f?c.plotWidth-q:n,y:Math.round(f?c.plotHeight-n:q),width:0,height:0},e),p(b,{width:h.width,height:h.height}),l?(t=!1,f=c.renderer.rotCorr(m,l),f={x:e.x+b.x+e.width/2+f.x,y:e.y+b.y+{top:0,middle:.5,bottom:1}[b.verticalAlign]*e.height},d[g? +"attr":"animate"](f).attr({align:u}),n=(l+720)%360,n=180n,"left"===u?f.y-=n?h.height:0:"center"===u?(f.x-=h.width/2,f.y-=h.height/2):"right"===u&&(f.x-=h.width,f.y-=n?0:h.height)):(d.align(b,null,e),f=d.alignAttr),t?this.justifyDataLabel(d,b,f,h,e,g):k(b.crop,!0)&&(r=c.isInsidePlot(f.x,f.y)&&c.isInsidePlot(f.x+h.width,f.y+h.height)),b.shape&&!l&&d.attr({anchorX:a.plotX,anchorY:a.plotY}));r||(C(d),d.attr({y:-9999}),d.placed=!1)};e.prototype.justifyDataLabel=function(a,d,b,e,g,c){var f=this.chart, +n=d.align,h=d.verticalAlign,q,k,m=a.box?0:a.padding||0;q=b.x+m;0>q&&("right"===n?d.align="left":d.x=-q,k=!0);q=b.x+e.width-m;q>f.plotWidth&&("left"===n?d.align="right":d.x=f.plotWidth-q,k=!0);q=b.y+m;0>q&&("bottom"===h?d.verticalAlign="top":d.y=-q,k=!0);q=b.y+e.height-m;q>f.plotHeight&&("top"===h?d.verticalAlign="bottom":d.y=f.plotHeight-q,k=!0);k&&(a.placed=!c,a.align(d,null,g))};g.pie&&(g.pie.prototype.drawDataLabels=function(){var f=this,d=f.data,b,g=f.chart,h=f.options.dataLabels,c=k(h.connectorPadding, +10),m=k(h.connectorWidth,1),n=g.plotWidth,l=g.plotHeight,x,p=h.distance,y=f.center,u=y[2]/2,t=y[1],w=0k-2?A:P,e),v._attr={visibility:S,align:D[6]},v._pos={x:L+h.x+({left:c,right:-c}[D[6]]||0),y:P+h.y-10},D.x=L,D.y=P,null===f.options.size&&(C=v.width,L-Cn-c&&(T[1]=Math.max(Math.round(L+ +C-n+c),T[1])),0>P-G/2?T[0]=Math.max(Math.round(-P+G/2),T[0]):P+G/2>l&&(T[2]=Math.max(Math.round(P+G/2-l),T[2])))}),0===B(T)||this.verifyDataLabelOverflow(T))&&(this.placeDataLabels(),w&&m&&H(this.points,function(a){var b;x=a.connector;if((v=a.dataLabel)&&v._pos&&a.visible){S=v._attr.visibility;if(b=!x)a.connector=x=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(f.dataLabelsGroup),x.attr({"stroke-width":m,stroke:h.connectorColor||a.color||"#666666"}); +x[b?"attr":"animate"]({d:f.connectorPath(a.labelPos)});x.attr("visibility",S)}else x&&(a.connector=x.destroy())}))},g.pie.prototype.connectorPath=function(a){var d=a.x,b=a.y;return k(this.options.dataLabels.softConnector,!0)?["M",d+("left"===a[6]?5:-5),b,"C",d,b,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",d+("left"===a[6]?5:-5),b,"L",a[2],a[3],"L",a[4],a[5]]},g.pie.prototype.placeDataLabels=function(){H(this.points,function(a){var d=a.dataLabel;d&&a.visible&&((a=d._pos)?(d.attr(d._attr), +d[d.moved?"animate":"attr"](a),d.moved=!0):d&&d.attr({y:-9999}))})},g.pie.prototype.alignDataLabel=t,g.pie.prototype.verifyDataLabelOverflow=function(a){var d=this.center,b=this.options,e=b.center,f=b.minSize||80,c,g;null!==e[0]?c=Math.max(d[2]-Math.max(a[1],a[3]),f):(c=Math.max(d[2]-a[1]-a[3],f),d[0]+=(a[3]-a[1])/2);null!==e[1]?c=Math.max(Math.min(c,d[2]-Math.max(a[0],a[2])),f):(c=Math.max(Math.min(c,d[2]-a[0]-a[2]),f),d[1]+=(a[0]-a[2])/2);ck(this.translatedThreshold,f.yAxis.len)),m=k(b.inside,!!this.options.stacking);n&&(g=w(n),0>g.y&&(g.height+=g.y,g.y=0),n=g.y+g.height-f.yAxis.len,0a+e||c+nb+f||g+hthis.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints, +e;d&&r(d,function(a){a.setState()});r("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],n=(b.pointRange||0)/2,h=b.getExtremes(),q=b.toValue(g-f,!0)+n,n=b.toValue(g+b.len-f,!0)-n,g=g>f;b.series.length&&(g||q>Math.min(h.dataMin,h.min))&&(!g||n=p(k.minWidth,0)&&this.chartHeight>=p(k.minHeight,0)};void 0===l._id&&(l._id=a.uniqueKey());m=m.call(this);!r[l._id]&&m?l.chartOptions&&(r[l._id]=this.currentOptions(l.chartOptions),this.update(l.chartOptions,w)):r[l._id]&&!m&&(this.update(r[l._id],w),delete r[l._id])};D.prototype.currentOptions=function(a){function p(a,m,e){var g,h;for(g in a)if(-1< +G(g,["series","xAxis","yAxis"]))for(a[g]=l(a[g]),e[g]=[],h=0;hd.length||void 0===h)return a.call(this,g,h,k,f);x=d.length;for(c=0;ck;d[c]5*b||w){if(d[c]>u){for(r=a.call(this,g,d[e],d[c],f);r.length&&r[0]<=u;)r.shift();r.length&&(u=r[r.length-1]);y=y.concat(r)}e=c+1}if(w)break}a= +r.info;if(q&&a.unitRange<=m.hour){c=y.length-1;for(e=1;ek?a-1:a;for(M=void 0;q--;)e=c[q],k=M-e,M&&k<.8*C&&(null===t||k<.8*t)?(n[y[q]]&&!n[y[q+1]]?(k=q+1,M=e):k=q,y.splice(k,1)):M=e}return y});w(B.prototype,{beforeSetTickPositions:function(){var a, +g=[],h=!1,k,f=this.getExtremes(),d=f.min,b=f.max,q,m=this.isXAxis&&!!this.options.breaks,f=this.options.ordinal,c=this.chart.options.chart.ignoreHiddenSeries;if(f||m){r(this.series,function(b,d){if(!(c&&!1===b.visible||!1===b.takeOrdinalPosition&&!m)&&(g=g.concat(b.processedXData),a=g.length,g.sort(function(a,b){return a-b}),a))for(d=a-1;d--;)g[d]===g[d+1]&&g.splice(d,1)});a=g.length;if(2k||b-g[g.length- +1]>k)&&(h=!0)}h?(this.ordinalPositions=g,k=this.val2lin(Math.max(d,g[0]),!0),q=Math.max(this.val2lin(Math.min(b,g[g.length-1]),!0),1),this.ordinalSlope=b=(b-d)/(q-k),this.ordinalOffset=d-k*b):this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0}this.isOrdinal=f&&h;this.groupIntervalFactor=null},val2lin:function(a,g){var e=this.ordinalPositions;if(e){var k=e.length,f,d;for(f=k;f--;)if(e[f]===a){d=f;break}for(f=k-1;f--;)if(a>e[f]||0===f){a=(a-e[f])/(e[f+1]-e[f]);d=f+a;break}g=g?d:this.ordinalSlope* +(d||0)+this.ordinalOffset}else g=a;return g},lin2val:function(a,g){var e=this.ordinalPositions;if(e){var k=this.ordinalSlope,f=this.ordinalOffset,d=e.length-1,b;if(g)0>a?a=e[0]:a>d?a=e[d]:(d=Math.floor(a),b=a-d);else for(;d--;)if(g=k*d+f,a>=g){k=k*(d+1)+f;b=(a-g)/(k-g);break}return void 0!==b&&void 0!==e[d]?e[d]+(b?b*(e[d+1]-e[d]):0):a}return a},getExtendedPositions:function(){var a=this.chart,g=this.series[0].currentDataGrouping,h=this.ordinalIndex,k=g?g.count+g.unitName:"raw",f=this.getExtremes(), +d,b;h||(h=this.ordinalIndex={});h[k]||(d={series:[],chart:a,getExtremes:function(){return{min:f.dataMin,max:f.dataMax}},options:{ordinal:!0},val2lin:B.prototype.val2lin},r(this.series,function(e){b={xAxis:d,xData:e.xData,chart:a,destroyGroupedData:t};b.options={dataGrouping:g?{enabled:!0,forced:!0,approximation:"open",units:[[g.unitName,[g.count]]]}:{enabled:!1}};e.processData.apply(b);d.series.push(b)}),this.beforeSetTickPositions.apply(d),h[k]=d.ordinalPositions);return h[k]},getGroupIntervalFactor:function(a, +g,h){var e;h=h.processedXData;var f=h.length,d=[];e=this.groupIntervalFactor;if(!e){for(e=0;ed?(l=p,t=e.ordinalPositions?e:p):(l=e.ordinalPositions?e:p,t=p),p=t.ordinalPositions,q>p[p.length-1]&&p.push(q),this.fixedRange=c-m,d=e.toFixedRange(null,null,n.apply(l,[x.apply(l,[m,!0])+d,!0]),n.apply(t,[x.apply(t, +[c,!0])+d,!0])),d.min>=Math.min(b.dataMin,m)&&d.max<=Math.max(q,c)&&e.setExtremes(d.min,d.max,!0,!1,{trigger:"pan"}),this.mouseDownX=k,H(this.container,{cursor:"move"})):f=!0}else f=!0;f&&a.apply(this,Array.prototype.slice.call(arguments,1))});k.prototype.gappedPath=function(){var a=this.options.gapSize,g=this.points.slice(),h=g.length-1;if(a&&0this.closestPointRange*a&&g.splice(h+1,0,{isNull:!0});return this.getGraphPath(g)}})(N);(function(a){function D(){return Array.prototype.slice.call(arguments, +1)}function B(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,G(this.pointArrayMap,["y"]))}var G=a.pick,H=a.wrap,p=a.each,l=a.extend,r=a.fireEvent,w=a.Axis,t=a.Series;l(w.prototype,{isInBreak:function(a,m){var e=a.repeat||Infinity,g=a.from,h=a.to-a.from;m=m>=g?(m-g)%e:e-(g-m)%e;return a.inclusive?m<=h:m=a)break;else if(g.isInBreak(f,a)){e-=a-f.from;break}return e};this.lin2val=function(a){var e,f;for(f=0;f=a);f++)e.toh;)m-=b;for(;mb.to||l>b.from&&db.from&&db.from&&d>b.to&&d=c[0]);A++);for(A;A<=q;A++){for(;(void 0!==c[w+1]&&a[A]>=c[w+1]||A===q)&&(l=c[w],this.dataGroupInfo={start:p,length:t[0].length},p=d.apply(this,t),void 0!==p&&(g.push(l),h.push(p),m.push(this.dataGroupInfo)),p=A,t[0]=[],t[1]=[],t[2]=[],t[3]=[],w+=1,A!==q););if(A===q)break;if(x){l=this.cropStart+A;l=e&&e[l]|| +this.pointClass.prototype.applyOptions.apply({series:this},[f[l]]);var E,C;for(E=0;Ethis.chart.plotSizeX/d||b&&f.forced)&&(e=!0);return e?d:0};G.prototype.setDataGrouping=function(a,b){var c;b=e(b,!0);a||(a={forced:!1,units:null});if(this instanceof G)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else l(this.chart.options.series,function(b){b.dataGrouping=a},!1);b&&this.chart.redraw()}})(N);(function(a){var D=a.each,B=a.Point,G=a.seriesType,H=a.seriesTypes;G("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'}, +threshold:null,states:{hover:{lineWidth:3}}},{pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"high",pointAttribs:function(a,l){l=H.column.prototype.pointAttribs.call(this,a,l);var p=this.options;delete l.fill;l["stroke-width"]=p.lineWidth;l.stroke=a.options.color||(a.openk)););B(g,function(a,b){var d;void 0===a.plotY&&(a.x>=c.min&&a.x<=c.max?a.plotY=e.chartHeight-p.bottom-(p.opposite?p.height:0)+p.offset-e.plotTop:a.shapeArgs={});a.plotX+=t;(f=g[b-1])&&f.plotX===a.plotX&&(void 0===f.stackIndex&&(f.stackIndex=0),d=f.stackIndex+1);a.stackIndex=d})},drawPoints:function(){var a=this.points,e=this.chart,g=e.renderer,k,l,f=this.options,d=f.y,b,q,p,c,r,n,t,x=this.yAxis;for(q=a.length;q--;)p=a[q],t=p.plotX>this.xAxis.len,k=p.plotX,c=p.stackIndex,b= +p.options.shape||f.shape,l=p.plotY,void 0!==l&&(l=p.plotY+d-(void 0!==c&&c*f.stackDistance)),r=c?void 0:p.plotX,n=c?void 0:p.plotY,c=p.graphic,void 0!==l&&0<=k&&!t?(c||(c=p.graphic=g.label("",null,null,b,null,null,f.useHTML).attr(this.pointAttribs(p)).css(G(f.style,p.style)).attr({align:"flag"===b?"left":"center",width:f.width,height:f.height,"text-align":f.textAlign}).addClass("highcharts-point").add(this.markerGroup),c.shadow(f.shadow)),0h&&(e-=Math.round((l-h)/2),h=l);e=k[a](e,g,h,l);d&&f&&e.push("M",d,g>f?g:g+l,"L",d,f);return e}});p===t&&B(["flag","circlepin","squarepin"],function(a){t.prototype.symbols[a]=k[a]})})(N);(function(a){function D(a,d,e){this.init(a,d,e)}var B=a.addEvent,G=a.Axis,H=a.correctFloat,p=a.defaultOptions, +l=a.defined,r=a.destroyObjectProperties,w=a.doc,t=a.each,k=a.fireEvent,m=a.hasTouch,e=a.isTouchDevice,g=a.merge,h=a.pick,C=a.removeEvent,f=a.wrap,d={height:e?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:a.svg&&!e,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2", +trackBorderWidth:1};p.scrollbar=g(!0,d,p.scrollbar);D.prototype={init:function(a,e,f){this.scrollbarButtons=[];this.renderer=a;this.userOptions=e;this.options=g(d,e);this.chart=f;this.size=h(this.options.size,this.options.height);e.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,d=this.options,e=this.size,c;this.group=c=a.g("scrollbar").attr({zIndex:d.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0, +r:d.trackBorderRadius||0,height:e,width:e}).add(c);this.track.attr({fill:d.trackBackgroundColor,stroke:d.trackBorderColor,"stroke-width":d.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(c);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:e,width:e,r:d.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(this.swapXY(["M",-3,e/4,"L",-3,2*e/3,"M",0,e/4,"L", +0,2*e/3,"M",3,e/4,"L",3,2*e/3],d.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbar.attr({fill:d.barBackgroundColor,stroke:d.barBorderColor,"stroke-width":d.barBorderWidth});this.scrollbarRifles.attr({stroke:d.rifleColor,"stroke-width":1});this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a, +d,e,c){var b=this.options.vertical,f=0,g=this.rendered?"animate":"attr";this.x=a;this.y=d+this.trackBorderWidth;this.width=e;this.xOffset=this.height=c;this.yOffset=f;b?(this.width=this.yOffset=e=f=this.size,this.xOffset=d=0,this.barWidth=c-2*e,this.x=a+=this.options.margin):(this.height=this.xOffset=c=d=this.size,this.barWidth=e-2*c,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:e,height:c});this.scrollbarButtons[1].attr({translateX:b?0:e-d,translateY:b? +c-f:0})},drawScrollbarButton:function(a){var b=this.renderer,d=this.scrollbarButtons,c=this.options,e=this.size,f;f=b.g().add(this.group);d.push(f);f=b.rect().addClass("highcharts-scrollbar-button").add(f);f.attr({stroke:c.buttonBorderColor,"stroke-width":c.buttonBorderWidth,fill:c.buttonBackgroundColor});f.attr(f.crisp({x:-.5,y:-.5,width:e+1,height:e+1,r:c.buttonBorderRadius},f.strokeWidth()));f=b.path(this.swapXY(["M",e/2+(a?-1:1),e/2-3,"L",e/2+(a?-1:1),e/2+3,"L",e/2+(a?2:-2),e/2],c.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]); +f.attr({fill:c.buttonArrowColor})},swapXY:function(a,d){var b=a.length,c;if(d)for(d=0;d=k?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=d?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var d=a.chart.pointer.normalize(b),c=a.options.vertical? +"chartY":"chartX",e=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][c]||(d=a.cursorToScrollbarPosition(d)[c],c=a[c],c=d-c,a.hasDragged=!0,a.updatePosition(e[0]+c,e[1]+c),a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b); +b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var d=H(a.to-a.from)*a.options.step;a.updatePosition(H(a.from-d),H(a.to-d));k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var d=(a.to-a.from)*a.options.step;a.updatePosition(a.from+d,a.to+d);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var d=a.chart.pointer.normalize(b), +c=a.to-a.from,e=a.y+a.scrollbarTop,f=a.x+a.scrollbarLeft;a.options.vertical&&d.chartY>e||!a.options.vertical&&d.chartX>f?a.updatePosition(a.from+c,a.to+c):a.updatePosition(a.from-c,a.to-c);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a, +d){1a&&(d=H(d-a),a=0);this.from=a;this.to=d},update:function(a){this.destroy();this.init(this.chart.renderer,g(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],d=this.scrollbarButtons,e=this.scrollbarGroup.element,c=this.mouseDownHandler,f=this.mouseMoveHandler,g=this.mouseUpHandler,a=[[d[a[0]].element,"click",this.buttonToMinClick],[d[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[e, +"mousedown",c],[w,"mousemove",f],[w,"mouseup",g]];m&&a.push([e,"touchstart",c],[w,"touchmove",f],[w,"touchend",g]);t(a,function(a){B.apply(null,a)});this._events=a},removeEvents:function(){t(this._events,function(a){C.apply(null,a)});this._events=void 0},destroy:function(){var a=this.chart.scroller;this.removeEvents();t(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&(a.scrollbar=null,r(a.scrollbarButtons))}}; +f(G.prototype,"init",function(a){var b=this;a.apply(b,[].slice.call(arguments,1));b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new D(b.chart.renderer,b.options.scrollbar,b.chart),B(b.scrollbar,"changed",function(a){var c=Math.min(h(b.options.min,b.min),b.min,b.dataMin),d=Math.max(h(b.options.max,b.max),b.max,b.dataMax)-c,e;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(e=c+d*this.to,c+=d*this.from):(e= +c+d*(1-this.from),c+=d*(1-this.to));b.setExtremes(c,e,!0,!1,a)}))});f(G.prototype,"render",function(a){var b=Math.min(h(this.options.min,this.min),this.min,this.dataMin),d=Math.max(h(this.options.max,this.max),this.max,this.dataMax),c=this.scrollbar,e;a.apply(this,[].slice.call(arguments,1));c&&(this.horiz?c.position(this.left,this.top+this.height+this.offset+2+(this.opposite?0:this.axisTitleMargin),this.width,this.height):c.position(this.left+this.width+2+this.offset+(this.opposite?this.axisTitleMargin: +0),this.top,this.width,this.height),isNaN(b)||isNaN(d)||!l(this.min)||!l(this.max)?c.setRange(0,0):(e=(this.min-b)/(d-b),b=(this.max-b)/(d-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?c.setRange(e,b):c.setRange(1-b,1-e)))});f(G.prototype,"getOffset",function(a){var b=this.horiz?2:1,d=this.scrollbar;a.apply(this,[].slice.call(arguments,1));d&&(this.chart.axisOffset[b]+=d.size+d.options.margin)});f(G.prototype,"destroy",function(a){this.scrollbar&&(this.scrollbar=this.scrollbar.destroy()); +a.apply(this,[].slice.call(arguments,1))});a.Scrollbar=D})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.color,l=a.defaultOptions,r=a.defined,w=a.destroyObjectProperties,t=a.doc,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.grep,C=a.hasTouch,f=a.isNumber,d=a.isObject,b=a.isTouchDevice,q=a.merge,E=a.pick,c=a.removeEvent,F=a.Scrollbar,n=a.Series,A=a.seriesTypes,x=a.wrap,J=[].concat(a.defaultDataGroupingUnits),y=function(a){var b=h(arguments,f);if(b.length)return Math[a].apply(0, +b)};J[4]=["day",[1,2,3,4]];J[5]=["week",[1,2,3]];A=void 0===A.areaspline?"line":"areaspline";g(l,{navigator:{height:40,margin:25,maskInside:!0,handles:{backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:p("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:A,color:"#335cad",fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:J},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series", +className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,shadow:!1,threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}); +D.prototype={drawHandle:function(a,b){var c=this.chart.renderer,d=this.handles;this.rendered||(d[b]=c.path(["M",-4.5,.5,"L",3.5,.5,3.5,15.5,-4.5,15.5,-4.5,.5,"M",-1.5,4,"L",-1.5,12,"M",.5,4,"L",.5,12]).attr({zIndex:10-b}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][b]).add(),c=this.navigatorOptions.handles,d[b].attr({fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":1}).css({cursor:"ew-resize"}));d[b][this.rendered&&!this.hasDragged?"animate":"attr"]({translateX:Math.round(this.scrollerLeft+ +this.scrollbarHeight+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-8)})},update:function(a){this.destroy();q(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(a,b,c,d){var e=this.chart,g=e.renderer,k,h,l,n;n=this.scrollbarHeight;var m=this.xAxis,p=this.navigatorOptions,u=p.maskInside,q=this.height,v=this.top,t=this.navigatorEnabled,x=this.outlineHeight,y;y=this.rendered;if(f(a)&&f(b)&&(!this.hasDragged||r(c))&&(this.navigatorLeft=k=E(m.left,e.plotLeft+ +n),this.navigatorWidth=h=E(m.len,e.plotWidth-2*n),this.scrollerLeft=l=k-n,this.scrollerWidth=n=n=h+2*n,c=E(c,m.translate(a)),d=E(d,m.translate(b)),f(c)&&Infinity!==Math.abs(c)||(c=0,d=n),!(m.translate(d,!0)-m.translate(c,!0)f&&tp+d-u&&rk&&re?e=0:e+v>=q&&(e=q-v,x=h.getUnionExtremes().dataMax),e!==d&&(h.fixedWidth=v,d=l.toFixedRange(e, +e+v,null,x),c.setExtremes(d.min,d.max,!0,null,{trigger:"navigator"}))))};h.mouseMoveHandler=function(b){var c=h.scrollbarHeight,d=h.navigatorLeft,e=h.navigatorWidth,f=h.scrollerLeft,g=h.scrollerWidth,k=h.range,l;b.touches&&0===b.touches[0].pageX||(b=a.pointer.normalize(b),l=b.chartX,lf+g-c&&(l=f+g-c),h.grabbedLeft?(h.hasDragged=!0,h.render(0,0,l-d,h.otherHandlePos)):h.grabbedRight?(h.hasDragged=!0,h.render(0,0,h.otherHandlePos,l-d)):h.grabbedCenter&&(h.hasDragged=!0,le+n-k&&(l=e+ +n-k),h.render(0,0,l-n,l-n+k)),h.hasDragged&&h.scrollbar&&h.scrollbar.options.liveRedraw&&(b.DOMType=b.type,setTimeout(function(){h.mouseUpHandler(b)},0)))};h.mouseUpHandler=function(b){var c,d,e=b.DOMEvent||b;if(h.hasDragged||"scrollbar"===b.trigger)h.zoomedMin===h.otherHandlePos?c=h.fixedExtreme:h.zoomedMax===h.otherHandlePos&&(d=h.fixedExtreme),h.zoomedMax===h.navigatorWidth&&(d=h.getUnionExtremes().dataMax),c=l.toFixedRange(h.zoomedMin,h.zoomedMax,c,d),r(c.min)&&a.xAxis[0].setExtremes(c.min,c.max, +!0,h.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e});"mousemove"!==b.DOMType&&(h.grabbedLeft=h.grabbedRight=h.grabbedCenter=h.fixedWidth=h.fixedExtreme=h.otherHandlePos=h.hasDragged=n=null)};var c=a.xAxis.length,f=a.yAxis.length,m=e&&e[0]&&e[0].xAxis||a.xAxis[0];a.extraBottomMargin=h.outlineHeight+d.margin;a.isDirtyBox=!0;h.navigatorEnabled?(h.xAxis=l=new G(a,q({breaks:m.options.breaks,ordinal:m.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis", +isX:!0,type:"datetime",index:c,height:g,offset:0,offsetLeft:k,offsetRight:-k,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1})),h.yAxis=new G(a,q(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,height:g,offset:0,index:f,zoomEnabled:!1})),e||d.series.data?h.addBaseSeries():0===a.series.length&&x(a,"redraw",function(b,c){0=Math.round(a.navigatorWidth);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},destroy:function(){this.removeEvents();this.xAxis&&(m(this.chart.xAxis,this.xAxis),m(this.chart.axes,this.xAxis));this.yAxis&&(m(this.chart.yAxis,this.yAxis),m(this.chart.axes,this.yAxis));k(this.series||[],function(a){a.destroy&&a.destroy()});k("series xAxis yAxis leftShade rightShade outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "), +function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);k([this.handles,this.elementsToDestroy],function(a){w(a)},this)}};a.Navigator=D;x(G.prototype,"zoom",function(a,b,c){var d=this.chart,e=d.options,f=e.chart.zoomType,g=e.navigator,e=e.rangeSelector,h;this.isXAxis&&(g&&g.enabled||e&&e.enabled)&&("x"===f?d.resetZoomButton="blocked":"y"===f?h=!1:"xy"===f&&(d=this.previousZoom,r(b)?this.previousZoom=[this.min,this.max]:d&&(b=d[0],c=d[1],delete this.previousZoom)));return void 0!== +h?h:a.call(this,b,c)});x(H.prototype,"init",function(a,b,c){B(this,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new D(this)});a.call(this,b,c)});x(H.prototype,"getMargins",function(a){var b=this.legend,c=b.options,d=this.scroller,e,f;a.apply(this,[].slice.call(arguments,1));d&&(e=d.xAxis,f=d.yAxis,d.top=d.navigatorOptions.top||this.chartHeight-d.height-d.scrollbarHeight-this.spacing[2]-("bottom"===c.verticalAlign&&c.enabled&& +!c.floating?b.legendHeight+E(c.margin,10):0),e&&f&&(e.options.top=f.options.top=d.top,e.setAxisSize(),f.setAxisSize()))});x(n.prototype,"addPoint",function(a,b,c,f,g){var h=this.options.turboThreshold;h&&this.xData.length>h&&d(b,!0)&&this.chart.scroller&&e(20,!0);a.call(this,b,c,f,g)});x(H.prototype,"addSeries",function(a,b,c,d){a=a.call(this,b,!1,d);this.scroller&&this.scroller.setBaseSeries();E(c,!0)&&this.redraw();return a});x(n.prototype,"update",function(a,b,c){a.call(this,b,!1);this.chart.scroller&& +this.chart.scroller.setBaseSeries();E(c,!0)&&this.chart.redraw()})})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.css,l=a.createElement,r=a.dateFormat,w=a.defaultOptions,t=w.global.useUTC,k=a.defined,m=a.destroyObjectProperties,e=a.discardElement,g=a.each,h=a.extend,C=a.fireEvent,f=a.Date,d=a.isNumber,b=a.merge,q=a.pick,E=a.pInt,c=a.splat,F=a.wrap;h(w,{rangeSelector:{buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},height:35,inputPosition:{align:"right"}, +labelStyle:{color:"#666666"}}});w.lang=b(w.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});D.prototype={clickButton:function(a,b){var e=this,f=e.chart,h=e.buttonOptions[a],k=f.xAxis[0],l=f.scroller&&f.scroller.getUnionExtremes()||k||{},n=l.dataMin,m=l.dataMax,p,r=k&&Math.round(Math.min(k.max,q(m,k.max))),w=h.type,z,l=h._range,A,C,D,E=h.dataGrouping;if(null!==n&&null!==m){f.fixedRange=l;E&&(this.forcedDataGrouping=!0,G.prototype.setDataGrouping.call(k||{chart:this.chart}, +E,!1));if("month"===w||"year"===w)k?(w={range:h,max:r,dataMin:n,dataMax:m},p=k.minFromRange.call(w),d(w.newMax)&&(r=w.newMax)):l=h;else if(l)p=Math.max(r-l,n),r=Math.min(p+l,m);else if("ytd"===w)if(k)void 0===m&&(n=Number.MAX_VALUE,m=Number.MIN_VALUE,g(f.series,function(a){a=a.xData;n=Math.min(a[0],n);m=Math.max(a[a.length-1],m)}),b=!1),r=e.getYTDExtremes(m,n,t),p=A=r.min,r=r.max;else{B(f,"beforeRender",function(){e.clickButton(a)});return}else"all"===w&&k&&(p=n,r=m);e.setSelected(a);k?k.setExtremes(p, +r,q(b,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:h}):(z=c(f.options.xAxis)[0],D=z.range,z.range=l,C=z.min,z.min=A,B(f,"load",function(){z.range=D;z.min=C}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons|| +[].concat(b.defaultButtons),e=c.selected,f=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&C(a,"blur");c&&c.blur&&C(c,"blur")};b.chart=a;b.options=c;b.buttons=[];a.extraTopMargin=c.height;b.buttonOptions=d;this.unMouseDown=B(a.container,"mousedown",f);this.unResize=B(a,"resize",f);g(d,b.computeButtonRange);void 0!==e&&d[e]&&this.clickButton(e,!1);B(a,"load",function(){B(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&& +b.forcedDataGrouping&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this.chart,b=a.xAxis[0],c=Math.round(b.max-b.min),e=!b.hasVisibleSeries,a=a.scroller&&a.scroller.getUnionExtremes()||b,f=a.dataMin,h=a.dataMax,a=this.getYTDExtremes(h,f,t),k=a.min,l=a.max,m=this.selected,p=d(m),q=this.options.allButtonsEnabled,r=this.buttons;g(this.buttonOptions,function(a,d){var g=a._range,n=a.type,u=a.count||1;a=r[d];var t=0;d=d===m;var v=g>h-f,x=g=864E5*{month:28,year:365}[n]*u&&c<=864E5*{month:31,year:366}[n]*u?g=!0:"ytd"===n?(g=l-k===c,y=!d):"all"===n&&(g=b.max-b.min>=h-f,w=!d&&p&&g);n=!q&&(v||x||w||e);g=d&&g||g&&!p&&!y;n?t=3:g&&(p=!0,t=2);a.state!==t&&a.setState(t)})},computeButtonRange:function(a){var b=a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c},setInputValue:function(a,b){var c= +this.chart.options.rangeSelector,d=this[a+"Input"];k(b)&&(d.previousValue=d.HCTime,d.HCTime=b);d.value=r(c.inputEditDateFormat||"%Y-%m-%d",d.HCTime);this[a+"DateBox"].attr({text:r(c.inputDateFormat||"%b %e, %Y",d.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];p(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){p(this[a+"Input"],{border:0,width:"1px",height:"1px"}); +this.setInputValue(a)},drawInput:function(a){function c(){var a=r.value,b=(m.inputDateParser||Date.parse)(a),c=f.xAxis[0],g=f.scroller&&f.scroller.xAxis?f.scroller.xAxis:c,h=g.dataMin,g=g.dataMax;b!==r.previousValue&&(r.previousValue=b,d(b)||(b=a.split("-"),b=Date.UTC(E(b[0]),E(b[1])-1,E(b[2]))),d(b)&&(t||(b+=6E4*(new Date).getTimezoneOffset()),q?b>e.maxInput.HCTime?b=void 0:bg&&(b=g),void 0!==b&&c.setExtremes(q?b:c.min,q?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))} +var e=this,f=e.chart,g=f.renderer.style||{},k=f.renderer,m=f.options.rangeSelector,n=e.div,q="min"===a,r,B,C=this.inputGroup;this[a+"Label"]=B=k.label(w.lang[q?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(C);C.offset+=B.width+5;this[a+"DateBox"]=k=k.label("",C.offset).addClass("highcharts-range-input").attr({padding:2,width:m.inputBoxWidth||90,height:m.inputBoxHeight||17,stroke:m.inputBoxBorderColor||"#cccccc","stroke-width":1, +"text-align":"center"}).on("click",function(){e.showInput(a);e[a+"Input"].focus()}).add(C);C.offset+=k.width+(q?10:0);this[a+"Input"]=r=l("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:f.plotTop+"px"},n);B.css(b(g,m.labelStyle));k.css(b({color:"#333333"},g,m.inputStyle));p(r,h({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:g.fontSize,fontFamily:g.fontFamily,left:"-9em"},m.inputStyle));r.onfocus=function(){e.showInput(a)};r.onblur= +function(){e.hideInput(a)};r.onchange=c;r.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a=q((b.buttonPosition||{}).y,a.plotTop-a.axisOffset[0]-b.height);return{buttonTop:a,inputTop:a-10}},getYTDExtremes:function(a,b,c){var d=new f(a),e=d[f.hcGetFullYear]();c=c?f.UTC(e,0,1):+new f(e,0,1);b=Math.max(b||0,c);d=d.getTime();return{max:Math.min(a||d,d),min:b}},render:function(a,b){var c=this,d=c.chart,e=d.renderer,f=d.container,m=d.options, +n=m.exporting&&!1!==m.exporting.enabled&&m.navigation&&m.navigation.buttonOptions,p=m.rangeSelector,r=c.buttons,m=w.lang,t=c.div,t=c.inputGroup,A=p.buttonTheme,z=p.buttonPosition||{},B=p.inputEnabled,C=A&&A.states,D=d.plotLeft,E,G=this.getPosition(),F=c.group,H=c.rendered;!1!==p.enabled&&(H||(c.group=F=e.g("range-selector-buttons").add(),c.zoomText=e.text(m.rangeSelectorZoom,q(z.x,D),15).css(p.labelStyle).add(F),E=q(z.x,D)+c.zoomText.getBBox().width+5,g(c.buttonOptions,function(a,b){r[b]=e.button(a.text, +E,0,function(){c.clickButton(b);c.isActive=!0},A,C&&C.hover,C&&C.select,C&&C.disabled).attr({"text-align":"center"}).add(F);E+=r[b].width+q(p.buttonSpacing,5)}),!1!==B&&(c.div=t=l("div",null,{position:"relative",height:0,zIndex:1}),f.parentNode.insertBefore(t,f),c.inputGroup=t=e.g("input-group").add(),t.offset=0,c.drawInput("min"),c.drawInput("max"))),c.updateButtonStates(),F[H?"animate":"attr"]({translateY:G.buttonTop}),!1!==B&&(t.align(h({y:G.inputTop,width:t.offset,x:n&&G.inputTop<(n.y||0)+n.height- +d.spacing[0]?-40:0},p.inputPosition),!0,d.spacingBox),k(B)||(d=F.getBBox(),t[t.alignAttr.translateXc&&(e?a=b-f:b=a+f);d(a)||(a=b=void 0);return{min:a,max:b}};G.prototype.minFromRange=function(){var a=this.range,b={month:"Month",year:"FullYear"}[a.type],c,e=this.max,f,g,h=function(a,c){var d=new Date(a);d["set"+b](d["get"+ +b]()+c);return d.getTime()-a};d(a)?(c=e-a,g=a):(c=e+h(e,-a.count),this.chart&&(this.chart.fixedRange=e-c));f=q(this.dataMin,Number.MIN_VALUE);d(c)||(c=f);c<=f&&(c=f,void 0===g&&(g=h(c,a.count)),this.newMax=Math.min(c+g,this.dataMax));d(e)||(c=void 0);return c};F(H.prototype,"init",function(a,b,c){B(this,"init",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new D(this))});a.call(this,b,c)});a.RangeSelector=D})(N);(function(a){var D=a.addEvent,B=a.isNumber;a.Chart.prototype.callbacks.push(function(a){function G(){p= +a.xAxis[0].getExtremes();B(p.min)&&r.render(p.min,p.max)}var p,l=a.scroller,r=a.rangeSelector,w,t;l&&(p=a.xAxis[0].getExtremes(),l.render(p.min,p.max));r&&(t=D(a.xAxis[0],"afterSetExtremes",function(a){r.render(a.min,a.max)}),w=D(a,"redraw",G),G());D(a,"destroy",function(){r&&(w(),t())})})})(N);(function(a){var D=a.arrayMax,B=a.arrayMin,G=a.Axis,H=a.Chart,p=a.defined,l=a.each,r=a.extend,w=a.format,t=a.inArray,k=a.isNumber,m=a.isString,e=a.map,g=a.merge,h=a.pick,C=a.Point,f=a.Renderer,d=a.Series,b= +a.splat,q=a.stop,E=a.SVGRenderer,c=a.VMLRenderer,F=a.wrap,n=d.prototype,A=n.init,x=n.processData,J=C.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(c,d,f){var k=m(c)||c.nodeName,l=arguments[k?1:0],n=l.series,p=a.getOptions(),q,r=h(l.navigator&&l.navigator.enabled,!0)?{startOnTick:!1,endOnTick:!1}:null,t={marker:{enabled:!1,radius:2}},u={shadow:!1,borderWidth:0};l.xAxis=e(b(l.xAxis||{}),function(a){return g({minPadding:0,maxPadding:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"}, +showLastLabel:!0},p.xAxis,a,{type:"datetime",categories:null},r)});l.yAxis=e(b(l.yAxis||{}),function(a){q=h(a.opposite,!0);return g({labels:{y:-2},opposite:q,showLastLabel:!1,title:{text:null}},p.yAxis,a)});l.series=null;l=g({chart:{panning:!0,pinchType:"x"},navigator:{enabled:!0},scrollbar:{enabled:!0},rangeSelector:{enabled:!0},title:{text:null,style:{fontSize:"16px"}},tooltip:{shared:!0,crosshairs:!0},legend:{enabled:!1},plotOptions:{line:t,spline:t,area:t,areaspline:t,arearange:t,areasplinerange:t, +column:u,columnrange:u,candlestick:u,ohlc:u}},l,{_stock:!0,chart:{inverted:!1}});l.series=n;return k?new H(c,l,f):new H(l,d)};F(G.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options._stock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=1,"right"):a.call(this,[].slice.call(arguments,1))});F(G.prototype,"getPlotLinePath",function(a, +b,c,d,f,g){var n=this,q=this.isLinked&&!this.series?this.linkedParent.series:this.series,r=n.chart,u=r.renderer,v=n.left,w=n.top,y,x,A,B,C=[],D=[],E,F;if("colorAxis"===n.coll)return a.apply(this,[].slice.call(arguments,1));D=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=n.options[b];return k(a)?[r[b][a]]:m(a)?[r.get(a)]:e(q,function(a){return a[b]})}(n.coll);l(n.isXAxis?r.yAxis:r.xAxis,function(a){if(p(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=p(a.options[b])? +r[b][a.options[b]]:r[b][0];n===b&&D.push(a)}});E=D.length?[]:[n.isXAxis?r.yAxis[0]:r.xAxis[0]];l(D,function(a){-1===t(a,E)&&E.push(a)});F=h(g,n.translate(b,null,null,d));k(F)&&(n.horiz?l(E,function(a){var b;x=a.pos;B=x+a.len;y=A=Math.round(F+n.transB);if(yv+n.width)f?y=A=Math.min(Math.max(v,y),v+n.width):b=!0;b||C.push("M",y,x,"L",A,B)}):l(E,function(a){var b;y=a.pos;A=y+a.len;x=B=Math.round(w+n.height-F);if(xw+n.height)f?x=B=Math.min(Math.max(w,x),n.top+n.height):b=!0;b||C.push("M",y, +x,"L",A,B)}));return 0=e&&(x=-(l.translateX+b.width-e));l.attr({x:m+x,y:k,anchorX:g?m:this.opposite?0:a.chartWidth,anchorY:g?this.opposite?a.chartHeight:0:k+b.height/2})}});n.init=function(){A.apply(this,arguments);this.setCompare(this.options.compare)};n.setCompare=function(a){this.modifyValue= +"value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b=b/d*100-100,c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};n.processData=function(){var a,b=-1,c,d,e,f;x.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,e=d.length,this.pointArrayMap&&(b=t("close",this.pointArrayMap),-1===b&&(b=t(this.pointValKey||"y",this.pointArrayMap))),a=0;a< +e-1;a++)if(f=-1=this.xAxis.min&&0!==f){this.compareValue=f;break}};F(n,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=B(b),this.dataMax=D(b))});G.prototype.setCompare=function(a,b){this.isXAxis||(l(this.series,function(b){b.setCompare(a)}),h(b,!0)&&this.chart.redraw())};C.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(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 '; + else + var expandButton = ''; + + return '' + expandButton + '' + ellipsedLabel({ name: item.name, parentClass: "nav-tooltip", childClass: "nav-label" }) + ''; +} + +function menuItemsForGroup(group, level, parent) { + var items = ''; + + if (level > 0) + items += menuItem(group, level - 1, parent, true); + + $.each(group.contents, function (contentName, content) { + if (content.type == 'GROUP') + items += menuItemsForGroup(content, level + 1, group.pathFormatted); + else if (content.type == 'REQUEST') + items += menuItem(content, level, group.pathFormatted); + }); + + return items; +} + +function setDetailsMenu(){ + $('.nav ul').append(menuItemsForGroup(stats, 0)); + $('.nav').expandable(); + $('.nav-tooltip').popover({trigger:'hover'}); +} + +function setGlobalMenu(){ + $('.nav ul') + .append('
  • Ranges
  • ') + .append('
  • Stats
  • ') + .append('
  • Active Users
  • ') + .append('
  • Requests / sec
  • ') + .append('
  • Responses / sec
  • '); +} + +function getLink(link){ + var a = link.split('/'); + return (a.length<=1)? link : a[a.length-1]; +} + +function expandUp(li) { + const parentId = li.attr("data-parent"); + if (parentId != "ROOT") { + const span = $('#' + parentId); + const parentLi = span.parents('li').first(); + span.expand(parentLi, false); + expandUp(parentLi); + } +} + +function setActiveMenu(){ + $('.nav a').each(function() { + const navA = $(this) + if(!navA.hasClass('expand-button') && navA.attr('href') == getLink(window.location.pathname)) { + const li = $(this).parents('li').first(); + li.addClass('on'); + expandUp(li); + return false; + } + }); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/stats.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/stats.js new file mode 100644 index 0000000..44ac3fe --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/stats.js @@ -0,0 +1,1523 @@ +var stats = { + type: "GROUP", +name: "All Requests", +path: "", +pathFormatted: "group_missing-name--1146707516", +stats: { + "name": "All Requests", + "numberOfRequests": { + "total": "2108", + "ok": "2108", + "ko": "0" + }, + "minResponseTime": { + "total": "24", + "ok": "24", + "ko": "-" + }, + "maxResponseTime": { + "total": "1697", + "ok": "1697", + "ko": "-" + }, + "meanResponseTime": { + "total": "136", + "ok": "136", + "ko": "-" + }, + "standardDeviation": { + "total": "198", + "ok": "198", + "ko": "-" + }, + "percentiles1": { + "total": "78", + "ok": "78", + "ko": "-" + }, + "percentiles2": { + "total": "95", + "ok": "95", + "ko": "-" + }, + "percentiles3": { + "total": "522", + "ok": "522", + "ko": "-" + }, + "percentiles4": { + "total": "1124", + "ok": "1124", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2057, + "percentage": 98 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 35, + "percentage": 2 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 16, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "15.731", + "ok": "15.731", + "ko": "-" + } +}, +contents: { +"req_request-0-693933696": { + type: "REQUEST", + name: "request_0", +path: "request_0", +pathFormatted: "req_request-0-693933696", +stats: { + "name": "request_0", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "1077", + "ok": "1077", + "ko": "-" + }, + "meanResponseTime": { + "total": "112", + "ok": "112", + "ko": "-" + }, + "standardDeviation": { + "total": "101", + "ok": "101", + "ko": "-" + }, + "percentiles1": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles2": { + "total": "106", + "ok": "106", + "ko": "-" + }, + "percentiles3": { + "total": "223", + "ok": "223", + "ko": "-" + }, + "percentiles4": { + "total": "371", + "ok": "371", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 123, + "percentage": 99 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 1, + "percentage": 1 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-1-693933697": { + type: "REQUEST", + name: "request_1", +path: "request_1", +pathFormatted: "req_request-1-693933697", +stats: { + "name": "request_1", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "36", + "ok": "36", + "ko": "-" + }, + "maxResponseTime": { + "total": "117", + "ok": "117", + "ko": "-" + }, + "meanResponseTime": { + "total": "44", + "ok": "44", + "ko": "-" + }, + "standardDeviation": { + "total": "12", + "ok": "12", + "ko": "-" + }, + "percentiles1": { + "total": "40", + "ok": "40", + "ko": "-" + }, + "percentiles2": { + "total": "44", + "ok": "44", + "ko": "-" + }, + "percentiles3": { + "total": "64", + "ok": "64", + "ko": "-" + }, + "percentiles4": { + "total": "88", + "ok": "88", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-2-693933698": { + type: "REQUEST", + name: "request_2", +path: "request_2", +pathFormatted: "req_request-2-693933698", +stats: { + "name": "request_2", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "395", + "ok": "395", + "ko": "-" + }, + "meanResponseTime": { + "total": "100", + "ok": "100", + "ko": "-" + }, + "standardDeviation": { + "total": "50", + "ok": "50", + "ko": "-" + }, + "percentiles1": { + "total": "81", + "ok": "81", + "ko": "-" + }, + "percentiles2": { + "total": "99", + "ok": "99", + "ko": "-" + }, + "percentiles3": { + "total": "194", + "ok": "194", + "ko": "-" + }, + "percentiles4": { + "total": "331", + "ok": "331", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-3-693933699": { + type: "REQUEST", + name: "request_3", +path: "request_3", +pathFormatted: "req_request-3-693933699", +stats: { + "name": "request_3", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "361", + "ok": "361", + "ko": "-" + }, + "meanResponseTime": { + "total": "91", + "ok": "91", + "ko": "-" + }, + "standardDeviation": { + "total": "35", + "ok": "35", + "ko": "-" + }, + "percentiles1": { + "total": "81", + "ok": "81", + "ko": "-" + }, + "percentiles2": { + "total": "89", + "ok": "89", + "ko": "-" + }, + "percentiles3": { + "total": "151", + "ok": "151", + "ko": "-" + }, + "percentiles4": { + "total": "211", + "ok": "211", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-5-693933701": { + type: "REQUEST", + name: "request_5", +path: "request_5", +pathFormatted: "req_request-5-693933701", +stats: { + "name": "request_5", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "293", + "ok": "293", + "ko": "-" + }, + "maxResponseTime": { + "total": "919", + "ok": "919", + "ko": "-" + }, + "meanResponseTime": { + "total": "415", + "ok": "415", + "ko": "-" + }, + "standardDeviation": { + "total": "144", + "ok": "144", + "ko": "-" + }, + "percentiles1": { + "total": "352", + "ok": "352", + "ko": "-" + }, + "percentiles2": { + "total": "466", + "ok": "466", + "ko": "-" + }, + "percentiles3": { + "total": "737", + "ok": "737", + "ko": "-" + }, + "percentiles4": { + "total": "897", + "ok": "897", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 119, + "percentage": 96 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 5, + "percentage": 4 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-4-693933700": { + type: "REQUEST", + name: "request_4", +path: "request_4", +pathFormatted: "req_request-4-693933700", +stats: { + "name": "request_4", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "112", + "ok": "112", + "ko": "-" + }, + "maxResponseTime": { + "total": "333", + "ok": "333", + "ko": "-" + }, + "meanResponseTime": { + "total": "161", + "ok": "161", + "ko": "-" + }, + "standardDeviation": { + "total": "52", + "ok": "52", + "ko": "-" + }, + "percentiles1": { + "total": "136", + "ok": "136", + "ko": "-" + }, + "percentiles2": { + "total": "183", + "ok": "183", + "ko": "-" + }, + "percentiles3": { + "total": "272", + "ok": "272", + "ko": "-" + }, + "percentiles4": { + "total": "319", + "ok": "319", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-6-693933702": { + type: "REQUEST", + name: "request_6", +path: "request_6", +pathFormatted: "req_request-6-693933702", +stats: { + "name": "request_6", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "386", + "ok": "386", + "ko": "-" + }, + "maxResponseTime": { + "total": "1697", + "ok": "1697", + "ko": "-" + }, + "meanResponseTime": { + "total": "747", + "ok": "747", + "ko": "-" + }, + "standardDeviation": { + "total": "318", + "ok": "318", + "ko": "-" + }, + "percentiles1": { + "total": "658", + "ok": "658", + "ko": "-" + }, + "percentiles2": { + "total": "955", + "ok": "955", + "ko": "-" + }, + "percentiles3": { + "total": "1309", + "ok": "1309", + "ko": "-" + }, + "percentiles4": { + "total": "1448", + "ok": "1448", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 79, + "percentage": 64 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 29, + "percentage": 23 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 16, + "percentage": 13 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-7-693933703": { + type: "REQUEST", + name: "request_7", +path: "request_7", +pathFormatted: "req_request-7-693933703", +stats: { + "name": "request_7", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "37", + "ok": "37", + "ko": "-" + }, + "maxResponseTime": { + "total": "284", + "ok": "284", + "ko": "-" + }, + "meanResponseTime": { + "total": "50", + "ok": "50", + "ko": "-" + }, + "standardDeviation": { + "total": "28", + "ok": "28", + "ko": "-" + }, + "percentiles1": { + "total": "41", + "ok": "41", + "ko": "-" + }, + "percentiles2": { + "total": "45", + "ok": "45", + "ko": "-" + }, + "percentiles3": { + "total": "93", + "ok": "93", + "ko": "-" + }, + "percentiles4": { + "total": "134", + "ok": "134", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-8-693933704": { + type: "REQUEST", + name: "request_8", +path: "request_8", +pathFormatted: "req_request-8-693933704", +stats: { + "name": "request_8", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "349", + "ok": "349", + "ko": "-" + }, + "meanResponseTime": { + "total": "91", + "ok": "91", + "ko": "-" + }, + "standardDeviation": { + "total": "37", + "ok": "37", + "ko": "-" + }, + "percentiles1": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles2": { + "total": "86", + "ok": "86", + "ko": "-" + }, + "percentiles3": { + "total": "134", + "ok": "134", + "ko": "-" + }, + "percentiles4": { + "total": "306", + "ok": "306", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-9-693933705": { + type: "REQUEST", + name: "request_9", +path: "request_9", +pathFormatted: "req_request-9-693933705", +stats: { + "name": "request_9", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "75", + "ok": "75", + "ko": "-" + }, + "maxResponseTime": { + "total": "234", + "ok": "234", + "ko": "-" + }, + "meanResponseTime": { + "total": "85", + "ok": "85", + "ko": "-" + }, + "standardDeviation": { + "total": "19", + "ok": "19", + "ko": "-" + }, + "percentiles1": { + "total": "81", + "ok": "81", + "ko": "-" + }, + "percentiles2": { + "total": "83", + "ok": "83", + "ko": "-" + }, + "percentiles3": { + "total": "109", + "ok": "109", + "ko": "-" + }, + "percentiles4": { + "total": "166", + "ok": "166", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-10-37108175": { + type: "REQUEST", + name: "request_10", +path: "request_10", +pathFormatted: "req_request-10-37108175", +stats: { + "name": "request_10", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "76", + "ok": "76", + "ko": "-" + }, + "maxResponseTime": { + "total": "186", + "ok": "186", + "ko": "-" + }, + "meanResponseTime": { + "total": "84", + "ok": "84", + "ko": "-" + }, + "standardDeviation": { + "total": "12", + "ok": "12", + "ko": "-" + }, + "percentiles1": { + "total": "83", + "ok": "83", + "ko": "-" + }, + "percentiles2": { + "total": "84", + "ok": "84", + "ko": "-" + }, + "percentiles3": { + "total": "96", + "ok": "96", + "ko": "-" + }, + "percentiles4": { + "total": "139", + "ok": "139", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-11-37108176": { + type: "REQUEST", + name: "request_11", +path: "request_11", +pathFormatted: "req_request-11-37108176", +stats: { + "name": "request_11", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "38", + "ok": "38", + "ko": "-" + }, + "maxResponseTime": { + "total": "68", + "ok": "68", + "ko": "-" + }, + "meanResponseTime": { + "total": "43", + "ok": "43", + "ko": "-" + }, + "standardDeviation": { + "total": "5", + "ok": "5", + "ko": "-" + }, + "percentiles1": { + "total": "42", + "ok": "42", + "ko": "-" + }, + "percentiles2": { + "total": "44", + "ok": "44", + "ko": "-" + }, + "percentiles3": { + "total": "50", + "ok": "50", + "ko": "-" + }, + "percentiles4": { + "total": "65", + "ok": "65", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-12-37108177": { + type: "REQUEST", + name: "request_12", +path: "request_12", +pathFormatted: "req_request-12-37108177", +stats: { + "name": "request_12", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "24", + "ok": "24", + "ko": "-" + }, + "maxResponseTime": { + "total": "629", + "ok": "629", + "ko": "-" + }, + "meanResponseTime": { + "total": "39", + "ok": "39", + "ko": "-" + }, + "standardDeviation": { + "total": "68", + "ok": "68", + "ko": "-" + }, + "percentiles1": { + "total": "31", + "ok": "31", + "ko": "-" + }, + "percentiles2": { + "total": "31", + "ok": "31", + "ko": "-" + }, + "percentiles3": { + "total": "35", + "ok": "35", + "ko": "-" + }, + "percentiles4": { + "total": "377", + "ok": "377", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-14-37108179": { + type: "REQUEST", + name: "request_14", +path: "request_14", +pathFormatted: "req_request-14-37108179", +stats: { + "name": "request_14", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "36", + "ok": "36", + "ko": "-" + }, + "maxResponseTime": { + "total": "55", + "ok": "55", + "ko": "-" + }, + "meanResponseTime": { + "total": "39", + "ok": "39", + "ko": "-" + }, + "standardDeviation": { + "total": "3", + "ok": "3", + "ko": "-" + }, + "percentiles1": { + "total": "39", + "ok": "39", + "ko": "-" + }, + "percentiles2": { + "total": "40", + "ok": "40", + "ko": "-" + }, + "percentiles3": { + "total": "42", + "ok": "42", + "ko": "-" + }, + "percentiles4": { + "total": "52", + "ok": "52", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-15-37108180": { + type: "REQUEST", + name: "request_15", +path: "request_15", +pathFormatted: "req_request-15-37108180", +stats: { + "name": "request_15", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "39", + "ok": "39", + "ko": "-" + }, + "maxResponseTime": { + "total": "60", + "ok": "60", + "ko": "-" + }, + "meanResponseTime": { + "total": "43", + "ok": "43", + "ko": "-" + }, + "standardDeviation": { + "total": "3", + "ok": "3", + "ko": "-" + }, + "percentiles1": { + "total": "43", + "ok": "43", + "ko": "-" + }, + "percentiles2": { + "total": "44", + "ok": "44", + "ko": "-" + }, + "percentiles3": { + "total": "48", + "ok": "48", + "ko": "-" + }, + "percentiles4": { + "total": "56", + "ok": "56", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-16-37108181": { + type: "REQUEST", + name: "request_16", +path: "request_16", +pathFormatted: "req_request-16-37108181", +stats: { + "name": "request_16", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "75", + "ok": "75", + "ko": "-" + }, + "maxResponseTime": { + "total": "125", + "ok": "125", + "ko": "-" + }, + "meanResponseTime": { + "total": "81", + "ok": "81", + "ko": "-" + }, + "standardDeviation": { + "total": "7", + "ok": "7", + "ko": "-" + }, + "percentiles1": { + "total": "81", + "ok": "81", + "ko": "-" + }, + "percentiles2": { + "total": "83", + "ok": "83", + "ko": "-" + }, + "percentiles3": { + "total": "89", + "ok": "89", + "ko": "-" + }, + "percentiles4": { + "total": "116", + "ok": "116", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + },"req_request-17-37108182": { + type: "REQUEST", + name: "request_17", +path: "request_17", +pathFormatted: "req_request-17-37108182", +stats: { + "name": "request_17", + "numberOfRequests": { + "total": "124", + "ok": "124", + "ko": "0" + }, + "minResponseTime": { + "total": "75", + "ok": "75", + "ko": "-" + }, + "maxResponseTime": { + "total": "99", + "ok": "99", + "ko": "-" + }, + "meanResponseTime": { + "total": "80", + "ok": "80", + "ko": "-" + }, + "standardDeviation": { + "total": "4", + "ok": "4", + "ko": "-" + }, + "percentiles1": { + "total": "81", + "ok": "81", + "ko": "-" + }, + "percentiles2": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles3": { + "total": "86", + "ok": "86", + "ko": "-" + }, + "percentiles4": { + "total": "91", + "ok": "91", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.925", + "ok": "0.925", + "ko": "-" + } +} + } +} + +} + +function fillStats(stat){ + $("#numberOfRequests").append(stat.numberOfRequests.total); + $("#numberOfRequestsOK").append(stat.numberOfRequests.ok); + $("#numberOfRequestsKO").append(stat.numberOfRequests.ko); + + $("#minResponseTime").append(stat.minResponseTime.total); + $("#minResponseTimeOK").append(stat.minResponseTime.ok); + $("#minResponseTimeKO").append(stat.minResponseTime.ko); + + $("#maxResponseTime").append(stat.maxResponseTime.total); + $("#maxResponseTimeOK").append(stat.maxResponseTime.ok); + $("#maxResponseTimeKO").append(stat.maxResponseTime.ko); + + $("#meanResponseTime").append(stat.meanResponseTime.total); + $("#meanResponseTimeOK").append(stat.meanResponseTime.ok); + $("#meanResponseTimeKO").append(stat.meanResponseTime.ko); + + $("#standardDeviation").append(stat.standardDeviation.total); + $("#standardDeviationOK").append(stat.standardDeviation.ok); + $("#standardDeviationKO").append(stat.standardDeviation.ko); + + $("#percentiles1").append(stat.percentiles1.total); + $("#percentiles1OK").append(stat.percentiles1.ok); + $("#percentiles1KO").append(stat.percentiles1.ko); + + $("#percentiles2").append(stat.percentiles2.total); + $("#percentiles2OK").append(stat.percentiles2.ok); + $("#percentiles2KO").append(stat.percentiles2.ko); + + $("#percentiles3").append(stat.percentiles3.total); + $("#percentiles3OK").append(stat.percentiles3.ok); + $("#percentiles3KO").append(stat.percentiles3.ko); + + $("#percentiles4").append(stat.percentiles4.total); + $("#percentiles4OK").append(stat.percentiles4.ok); + $("#percentiles4KO").append(stat.percentiles4.ko); + + $("#meanNumberOfRequestsPerSecond").append(stat.meanNumberOfRequestsPerSecond.total); + $("#meanNumberOfRequestsPerSecondOK").append(stat.meanNumberOfRequestsPerSecond.ok); + $("#meanNumberOfRequestsPerSecondKO").append(stat.meanNumberOfRequestsPerSecond.ko); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/stats.json new file mode 100644 index 0000000..bd6fc7a --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/stats.json @@ -0,0 +1,1481 @@ +{ + "type": "GROUP", +"name": "All Requests", +"path": "", +"pathFormatted": "group_missing-name--1146707516", +"stats": { + "name": "All Requests", + "numberOfRequests": { + "total": 2108, + "ok": 2108, + "ko": 0 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 0 + }, + "maxResponseTime": { + "total": 1697, + "ok": 1697, + "ko": 0 + }, + "meanResponseTime": { + "total": 136, + "ok": 136, + "ko": 0 + }, + "standardDeviation": { + "total": 198, + "ok": 198, + "ko": 0 + }, + "percentiles1": { + "total": 78, + "ok": 78, + "ko": 0 + }, + "percentiles2": { + "total": 95, + "ok": 95, + "ko": 0 + }, + "percentiles3": { + "total": 522, + "ok": 522, + "ko": 0 + }, + "percentiles4": { + "total": 1124, + "ok": 1124, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2057, + "percentage": 98 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 35, + "percentage": 2 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 16, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 15.73134328358209, + "ok": 15.73134328358209, + "ko": 0 + } +}, +"contents": { +"req_request-0-693933696": { + "type": "REQUEST", + "name": "request_0", +"path": "request_0", +"pathFormatted": "req_request-0-693933696", +"stats": { + "name": "request_0", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 1077, + "ok": 1077, + "ko": 0 + }, + "meanResponseTime": { + "total": 112, + "ok": 112, + "ko": 0 + }, + "standardDeviation": { + "total": 101, + "ok": 101, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles2": { + "total": 106, + "ok": 106, + "ko": 0 + }, + "percentiles3": { + "total": 223, + "ok": 223, + "ko": 0 + }, + "percentiles4": { + "total": 371, + "ok": 371, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 123, + "percentage": 99 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 1, + "percentage": 1 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-1-693933697": { + "type": "REQUEST", + "name": "request_1", +"path": "request_1", +"pathFormatted": "req_request-1-693933697", +"stats": { + "name": "request_1", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 36, + "ok": 36, + "ko": 0 + }, + "maxResponseTime": { + "total": 117, + "ok": 117, + "ko": 0 + }, + "meanResponseTime": { + "total": 44, + "ok": 44, + "ko": 0 + }, + "standardDeviation": { + "total": 12, + "ok": 12, + "ko": 0 + }, + "percentiles1": { + "total": 40, + "ok": 40, + "ko": 0 + }, + "percentiles2": { + "total": 44, + "ok": 44, + "ko": 0 + }, + "percentiles3": { + "total": 64, + "ok": 64, + "ko": 0 + }, + "percentiles4": { + "total": 88, + "ok": 88, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-2-693933698": { + "type": "REQUEST", + "name": "request_2", +"path": "request_2", +"pathFormatted": "req_request-2-693933698", +"stats": { + "name": "request_2", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 395, + "ok": 395, + "ko": 0 + }, + "meanResponseTime": { + "total": 100, + "ok": 100, + "ko": 0 + }, + "standardDeviation": { + "total": 50, + "ok": 50, + "ko": 0 + }, + "percentiles1": { + "total": 81, + "ok": 81, + "ko": 0 + }, + "percentiles2": { + "total": 99, + "ok": 99, + "ko": 0 + }, + "percentiles3": { + "total": 194, + "ok": 194, + "ko": 0 + }, + "percentiles4": { + "total": 331, + "ok": 331, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-3-693933699": { + "type": "REQUEST", + "name": "request_3", +"path": "request_3", +"pathFormatted": "req_request-3-693933699", +"stats": { + "name": "request_3", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 361, + "ok": 361, + "ko": 0 + }, + "meanResponseTime": { + "total": 91, + "ok": 91, + "ko": 0 + }, + "standardDeviation": { + "total": 35, + "ok": 35, + "ko": 0 + }, + "percentiles1": { + "total": 81, + "ok": 81, + "ko": 0 + }, + "percentiles2": { + "total": 89, + "ok": 89, + "ko": 0 + }, + "percentiles3": { + "total": 151, + "ok": 151, + "ko": 0 + }, + "percentiles4": { + "total": 211, + "ok": 211, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-5-693933701": { + "type": "REQUEST", + "name": "request_5", +"path": "request_5", +"pathFormatted": "req_request-5-693933701", +"stats": { + "name": "request_5", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 293, + "ok": 293, + "ko": 0 + }, + "maxResponseTime": { + "total": 919, + "ok": 919, + "ko": 0 + }, + "meanResponseTime": { + "total": 415, + "ok": 415, + "ko": 0 + }, + "standardDeviation": { + "total": 144, + "ok": 144, + "ko": 0 + }, + "percentiles1": { + "total": 352, + "ok": 352, + "ko": 0 + }, + "percentiles2": { + "total": 466, + "ok": 466, + "ko": 0 + }, + "percentiles3": { + "total": 737, + "ok": 737, + "ko": 0 + }, + "percentiles4": { + "total": 897, + "ok": 897, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 119, + "percentage": 96 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 5, + "percentage": 4 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-4-693933700": { + "type": "REQUEST", + "name": "request_4", +"path": "request_4", +"pathFormatted": "req_request-4-693933700", +"stats": { + "name": "request_4", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 112, + "ok": 112, + "ko": 0 + }, + "maxResponseTime": { + "total": 333, + "ok": 333, + "ko": 0 + }, + "meanResponseTime": { + "total": 161, + "ok": 161, + "ko": 0 + }, + "standardDeviation": { + "total": 52, + "ok": 52, + "ko": 0 + }, + "percentiles1": { + "total": 136, + "ok": 136, + "ko": 0 + }, + "percentiles2": { + "total": 183, + "ok": 183, + "ko": 0 + }, + "percentiles3": { + "total": 272, + "ok": 272, + "ko": 0 + }, + "percentiles4": { + "total": 319, + "ok": 319, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-6-693933702": { + "type": "REQUEST", + "name": "request_6", +"path": "request_6", +"pathFormatted": "req_request-6-693933702", +"stats": { + "name": "request_6", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 386, + "ok": 386, + "ko": 0 + }, + "maxResponseTime": { + "total": 1697, + "ok": 1697, + "ko": 0 + }, + "meanResponseTime": { + "total": 747, + "ok": 747, + "ko": 0 + }, + "standardDeviation": { + "total": 318, + "ok": 318, + "ko": 0 + }, + "percentiles1": { + "total": 658, + "ok": 658, + "ko": 0 + }, + "percentiles2": { + "total": 955, + "ok": 955, + "ko": 0 + }, + "percentiles3": { + "total": 1309, + "ok": 1309, + "ko": 0 + }, + "percentiles4": { + "total": 1448, + "ok": 1448, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 79, + "percentage": 64 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 29, + "percentage": 23 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 16, + "percentage": 13 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-7-693933703": { + "type": "REQUEST", + "name": "request_7", +"path": "request_7", +"pathFormatted": "req_request-7-693933703", +"stats": { + "name": "request_7", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 37, + "ok": 37, + "ko": 0 + }, + "maxResponseTime": { + "total": 284, + "ok": 284, + "ko": 0 + }, + "meanResponseTime": { + "total": 50, + "ok": 50, + "ko": 0 + }, + "standardDeviation": { + "total": 28, + "ok": 28, + "ko": 0 + }, + "percentiles1": { + "total": 41, + "ok": 41, + "ko": 0 + }, + "percentiles2": { + "total": 45, + "ok": 45, + "ko": 0 + }, + "percentiles3": { + "total": 93, + "ok": 93, + "ko": 0 + }, + "percentiles4": { + "total": 134, + "ok": 134, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-8-693933704": { + "type": "REQUEST", + "name": "request_8", +"path": "request_8", +"pathFormatted": "req_request-8-693933704", +"stats": { + "name": "request_8", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 349, + "ok": 349, + "ko": 0 + }, + "meanResponseTime": { + "total": 91, + "ok": 91, + "ko": 0 + }, + "standardDeviation": { + "total": 37, + "ok": 37, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles2": { + "total": 86, + "ok": 86, + "ko": 0 + }, + "percentiles3": { + "total": 134, + "ok": 134, + "ko": 0 + }, + "percentiles4": { + "total": 306, + "ok": 306, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-9-693933705": { + "type": "REQUEST", + "name": "request_9", +"path": "request_9", +"pathFormatted": "req_request-9-693933705", +"stats": { + "name": "request_9", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 75, + "ok": 75, + "ko": 0 + }, + "maxResponseTime": { + "total": 234, + "ok": 234, + "ko": 0 + }, + "meanResponseTime": { + "total": 85, + "ok": 85, + "ko": 0 + }, + "standardDeviation": { + "total": 19, + "ok": 19, + "ko": 0 + }, + "percentiles1": { + "total": 81, + "ok": 81, + "ko": 0 + }, + "percentiles2": { + "total": 83, + "ok": 83, + "ko": 0 + }, + "percentiles3": { + "total": 109, + "ok": 109, + "ko": 0 + }, + "percentiles4": { + "total": 166, + "ok": 166, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-10-37108175": { + "type": "REQUEST", + "name": "request_10", +"path": "request_10", +"pathFormatted": "req_request-10-37108175", +"stats": { + "name": "request_10", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 76, + "ok": 76, + "ko": 0 + }, + "maxResponseTime": { + "total": 186, + "ok": 186, + "ko": 0 + }, + "meanResponseTime": { + "total": 84, + "ok": 84, + "ko": 0 + }, + "standardDeviation": { + "total": 12, + "ok": 12, + "ko": 0 + }, + "percentiles1": { + "total": 83, + "ok": 83, + "ko": 0 + }, + "percentiles2": { + "total": 84, + "ok": 84, + "ko": 0 + }, + "percentiles3": { + "total": 96, + "ok": 96, + "ko": 0 + }, + "percentiles4": { + "total": 139, + "ok": 139, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-11-37108176": { + "type": "REQUEST", + "name": "request_11", +"path": "request_11", +"pathFormatted": "req_request-11-37108176", +"stats": { + "name": "request_11", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 38, + "ok": 38, + "ko": 0 + }, + "maxResponseTime": { + "total": 68, + "ok": 68, + "ko": 0 + }, + "meanResponseTime": { + "total": 43, + "ok": 43, + "ko": 0 + }, + "standardDeviation": { + "total": 5, + "ok": 5, + "ko": 0 + }, + "percentiles1": { + "total": 42, + "ok": 42, + "ko": 0 + }, + "percentiles2": { + "total": 44, + "ok": 44, + "ko": 0 + }, + "percentiles3": { + "total": 50, + "ok": 50, + "ko": 0 + }, + "percentiles4": { + "total": 65, + "ok": 65, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-12-37108177": { + "type": "REQUEST", + "name": "request_12", +"path": "request_12", +"pathFormatted": "req_request-12-37108177", +"stats": { + "name": "request_12", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 0 + }, + "maxResponseTime": { + "total": 629, + "ok": 629, + "ko": 0 + }, + "meanResponseTime": { + "total": 39, + "ok": 39, + "ko": 0 + }, + "standardDeviation": { + "total": 68, + "ok": 68, + "ko": 0 + }, + "percentiles1": { + "total": 31, + "ok": 31, + "ko": 0 + }, + "percentiles2": { + "total": 31, + "ok": 31, + "ko": 0 + }, + "percentiles3": { + "total": 35, + "ok": 35, + "ko": 0 + }, + "percentiles4": { + "total": 377, + "ok": 377, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-14-37108179": { + "type": "REQUEST", + "name": "request_14", +"path": "request_14", +"pathFormatted": "req_request-14-37108179", +"stats": { + "name": "request_14", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 36, + "ok": 36, + "ko": 0 + }, + "maxResponseTime": { + "total": 55, + "ok": 55, + "ko": 0 + }, + "meanResponseTime": { + "total": 39, + "ok": 39, + "ko": 0 + }, + "standardDeviation": { + "total": 3, + "ok": 3, + "ko": 0 + }, + "percentiles1": { + "total": 39, + "ok": 39, + "ko": 0 + }, + "percentiles2": { + "total": 40, + "ok": 40, + "ko": 0 + }, + "percentiles3": { + "total": 42, + "ok": 42, + "ko": 0 + }, + "percentiles4": { + "total": 52, + "ok": 52, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-15-37108180": { + "type": "REQUEST", + "name": "request_15", +"path": "request_15", +"pathFormatted": "req_request-15-37108180", +"stats": { + "name": "request_15", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 39, + "ok": 39, + "ko": 0 + }, + "maxResponseTime": { + "total": 60, + "ok": 60, + "ko": 0 + }, + "meanResponseTime": { + "total": 43, + "ok": 43, + "ko": 0 + }, + "standardDeviation": { + "total": 3, + "ok": 3, + "ko": 0 + }, + "percentiles1": { + "total": 43, + "ok": 43, + "ko": 0 + }, + "percentiles2": { + "total": 44, + "ok": 44, + "ko": 0 + }, + "percentiles3": { + "total": 48, + "ok": 48, + "ko": 0 + }, + "percentiles4": { + "total": 56, + "ok": 56, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-16-37108181": { + "type": "REQUEST", + "name": "request_16", +"path": "request_16", +"pathFormatted": "req_request-16-37108181", +"stats": { + "name": "request_16", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 75, + "ok": 75, + "ko": 0 + }, + "maxResponseTime": { + "total": 125, + "ok": 125, + "ko": 0 + }, + "meanResponseTime": { + "total": 81, + "ok": 81, + "ko": 0 + }, + "standardDeviation": { + "total": 7, + "ok": 7, + "ko": 0 + }, + "percentiles1": { + "total": 81, + "ok": 81, + "ko": 0 + }, + "percentiles2": { + "total": 83, + "ok": 83, + "ko": 0 + }, + "percentiles3": { + "total": 89, + "ok": 89, + "ko": 0 + }, + "percentiles4": { + "total": 116, + "ok": 116, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + },"req_request-17-37108182": { + "type": "REQUEST", + "name": "request_17", +"path": "request_17", +"pathFormatted": "req_request-17-37108182", +"stats": { + "name": "request_17", + "numberOfRequests": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "minResponseTime": { + "total": 75, + "ok": 75, + "ko": 0 + }, + "maxResponseTime": { + "total": 99, + "ok": 99, + "ko": 0 + }, + "meanResponseTime": { + "total": 80, + "ok": 80, + "ko": 0 + }, + "standardDeviation": { + "total": 4, + "ok": 4, + "ko": 0 + }, + "percentiles1": { + "total": 81, + "ok": 81, + "ko": 0 + }, + "percentiles2": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles3": { + "total": 86, + "ok": 86, + "ko": 0 + }, + "percentiles4": { + "total": 91, + "ok": 91, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 124, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9253731343283582, + "ok": 0.9253731343283582, + "ko": 0 + } +} + } +} + +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/theme.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/theme.js new file mode 100644 index 0000000..b95a7b3 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/theme.js @@ -0,0 +1,127 @@ +/* + * Copyright 2011-2022 Gatling Corp + * + * Licensed under the Gatling Highcharts License + */ +Highcharts.theme = { + chart: { + backgroundColor: '#f7f7f7', + borderWidth: 0, + borderRadius: 8, + plotBackgroundColor: null, + plotShadow: false, + plotBorderWidth: 0 + }, + xAxis: { + gridLineWidth: 0, + lineColor: '#666', + tickColor: '#666', + labels: { + style: { + color: '#666' + } + }, + title: { + style: { + color: '#666' + } + } + }, + yAxis: { + alternateGridColor: null, + minorTickInterval: null, + gridLineColor: '#999', + lineWidth: 0, + tickWidth: 0, + labels: { + style: { + color: '#666', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#666', + font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + labels: { + style: { + color: '#CCC' + } + }, + + + rangeSelector: { + buttonTheme: { + fill: '#cfc9c6', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#b2b2a9' + }, + states: { + hover: { + fill: '#92918C', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#8b897d' + } + }, + select: { + fill: '#E37400', + stroke: '#000000', + style: { + color: '#FFF' + } + } + } + }, + inputStyle: { + backgroundColor: '#333', + color: 'silver' + }, + labelStyle: { + color: '#8b897d' + } + }, + + navigator: { + handles: { + backgroundColor: '#f7f7f7', + borderColor: '#92918C' + }, + outlineColor: '#92918C', + outlineWidth: 1, + maskFill: 'rgba(146, 145, 140, 0.5)', + series: { + color: '#5E7BE2', + lineColor: '#5E7BE2' + } + }, + + scrollbar: { + buttonBackgroundColor: '#f7f7f7', + buttonBorderWidth: 1, + buttonBorderColor: '#92918C', + buttonArrowColor: '#92918C', + buttonBorderRadius: 2, + + barBorderWidth: 1, + barBorderRadius: 0, + barBackgroundColor: '#92918C', + barBorderColor: '#92918C', + + rifleColor: '#92918C', + + trackBackgroundColor: '#b0b0a8', + trackBorderWidth: 1, + trackBorderColor: '#b0b0a8' + } +}; + +Highcharts.setOptions(Highcharts.theme); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/unpack.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/unpack.js new file mode 100644 index 0000000..883c33e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/js/unpack.js @@ -0,0 +1,38 @@ +'use strict'; + +var unpack = function (array) { + var findNbSeries = function (array) { + var currentPlotPack; + var length = array.length; + + for (var i = 0; i < length; i++) { + currentPlotPack = array[i][1]; + if(currentPlotPack !== null) { + return currentPlotPack.length; + } + } + return 0; + }; + + var i, j; + var nbPlots = array.length; + var nbSeries = findNbSeries(array); + + // Prepare unpacked array + var unpackedArray = new Array(nbSeries); + + for (i = 0; i < nbSeries; i++) { + unpackedArray[i] = new Array(nbPlots); + } + + // Unpack the array + for (i = 0; i < nbPlots; i++) { + var timestamp = array[i][0]; + var values = array[i][1]; + for (j = 0; j < nbSeries; j++) { + unpackedArray[j][i] = [timestamp * 1000, values === null ? null : values[j]]; + } + } + + return unpackedArray; +}; diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-0-693933696.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-0-693933696.html new file mode 100644 index 0000000..25013db --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-0-693933696.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_0 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-1-693933697.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-1-693933697.html new file mode 100644 index 0000000..9104c58 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-1-693933697.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_1 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-10-37108175.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-10-37108175.html new file mode 100644 index 0000000..cbbe164 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-10-37108175.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_10 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-11-37108176.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-11-37108176.html new file mode 100644 index 0000000..65e31fc --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-11-37108176.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_11 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-12-37108177.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-12-37108177.html new file mode 100644 index 0000000..8ff1879 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-12-37108177.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_12 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-14-37108179.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-14-37108179.html new file mode 100644 index 0000000..6d6dac0 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-14-37108179.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_14 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-15-37108180.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-15-37108180.html new file mode 100644 index 0000000..7896bd9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-15-37108180.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_15 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-16-37108181.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-16-37108181.html new file mode 100644 index 0000000..a1dd3fb --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-16-37108181.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_16 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-17-37108182.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-17-37108182.html new file mode 100644 index 0000000..443e4d4 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-17-37108182.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_17 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-2-693933698.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-2-693933698.html new file mode 100644 index 0000000..1af6c7b --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-2-693933698.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_2 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-3-693933699.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-3-693933699.html new file mode 100644 index 0000000..339b015 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-3-693933699.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_3 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-4-693933700.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-4-693933700.html new file mode 100644 index 0000000..ee7559e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-4-693933700.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_4 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-5-693933701.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-5-693933701.html new file mode 100644 index 0000000..5dc71af --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-5-693933701.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_5 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-6-693933702.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-6-693933702.html new file mode 100644 index 0000000..a255f3a --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-6-693933702.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_6 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-7-693933703.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-7-693933703.html new file mode 100644 index 0000000..983e2df --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-7-693933703.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_7 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-8-693933704.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-8-693933704.html new file mode 100644 index 0000000..0bfc8b2 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-8-693933704.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_8 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-9-693933705.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-9-693933705.html new file mode 100644 index 0000000..f330626 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/req_request-9-693933705.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_9 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/bootstrap.min.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/bootstrap.min.css new file mode 100644 index 0000000..76a2b9b --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/bootstrap.min.css @@ -0,0 +1,27 @@ +.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;} +.clearfix:after{clear:both;} +.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;} +.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);} +.tooltip.top{margin-top:-3px;} +.tooltip.right{margin-left:3px;} +.tooltip.bottom{margin-top:3px;} +.tooltip.left{margin-left:-3px;} +.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;} +.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;} +.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;} +.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;} +.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:750px;padding:1px;background-color:#ffffff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);}.popover.top{margin-top:-10px;} +.popover.right{margin-left:10px;} +.popover.bottom{margin-top:10px;} +.popover.left{margin-left:-10px;} +.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;} +.popover-content{padding:9px 14px;}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0;} +.popover .arrow,.popover .arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid;} +.popover .arrow:after{content:"";z-index:-1;} +.popover.top .arrow{bottom:-10px;left:50%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#ffffff;}.popover.top .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0, 0, 0, 0.25);bottom:-1px;left:-11px;} +.popover.right .arrow{top:50%;left:-10px;margin-top:-10px;border-width:10px 10px 10px 0;border-right-color:#ffffff;}.popover.right .arrow:after{border-width:11px 11px 11px 0;border-right-color:rgba(0, 0, 0, 0.25);bottom:-11px;left:-1px;} +.popover.bottom .arrow{top:-10px;left:50%;margin-left:-10px;border-width:0 10px 10px;border-bottom-color:#ffffff;}.popover.bottom .arrow:after{border-width:0 11px 11px;border-bottom-color:rgba(0, 0, 0, 0.25);top:-1px;left:-11px;} +.popover.left .arrow{top:50%;right:-10px;margin-top:-10px;border-width:10px 0 10px 10px;border-left-color:#ffffff;}.popover.left .arrow:after{border-width:11px 0 11px 11px;border-left-color:rgba(0, 0, 0, 0.25);bottom:-11px;right:-1px;} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/close.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/close.svg new file mode 100644 index 0000000..c161bb9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/executions.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/executions.svg new file mode 100644 index 0000000..84068cd --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/executions.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/expand.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/expand.svg new file mode 100644 index 0000000..f6e75e0 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/expand.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/favicon.ico b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d2d20e116df94a676d4bb18395f0479304aef6a4 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/fullscreen.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/fullscreen.svg new file mode 100644 index 0000000..91f3b27 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/fullscreen.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-dark.svg new file mode 100644 index 0000000..7eb4d51 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-enterprise-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-enterprise-dark.svg new file mode 100644 index 0000000..1127d75 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-enterprise-dark.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-enterprise-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-enterprise-light.svg new file mode 100644 index 0000000..4a6e1de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-enterprise-light.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-light.svg new file mode 100644 index 0000000..f519eef --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/logo-light.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/sort-down.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/sort-down.svg new file mode 100644 index 0000000..db58a09 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/sort-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/sort-up.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/sort-up.svg new file mode 100644 index 0000000..bba9d84 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/sort-up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/sort.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/sort.svg new file mode 100644 index 0000000..43b658e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/sort.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/style.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/style.css new file mode 100644 index 0000000..edc9626 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-1cpu/style/style.css @@ -0,0 +1,1199 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +:root { + --gatling-background-color: #f2f2f2; + --gatling-background-light-color: #f7f7f7; + --gatling-border-color: #dddddd; + --gatling-blue-color: #4a9fe5; + --gatling-dark-blue-color: #24275e; + --gatling-danger-color: #f15b4f; + --gatling-danger-light-color: #f5d1ce; + --gatling-enterprise-color: #6161d6; + --gatling-enterprise-light-color: #c4c4ed; + --gatling-gray-medium-color: #bbb; + --gatling-hover-color: #e6e6e6; + --gatling-hover-background-color: #e6e6e6; + --gatling-light-color: #ffffff; + --gatling-orange-color: #f78557; + --gatling-success-color: #68b65c; + --gatling-text-color: #1f2024; + --gatling-total-color: #ffa900; + + --gatling-border-radius: 2px; + --gatling-spacing-small: 5px; + --gatling-spacing: 10px; + --gatling-spacing-layout: 20px; + + --gatling-font-weight-normal: 400; + --gatling-font-weight-medium: 500; + --gatling-font-weight-bold: 700; + --gatling-font-size-secondary: 12px; + --gatling-font-size-default: 14px; + --gatling-font-size-heading: 16px; + --gatling-font-size-section: 22px; + --gatling-font-size-header: 34px; + + --gatling-media-desktop-large: 1920px; +} + +html[data-theme="dark"] { + --gatling-background-color: #1e2225; + --gatling-background-light-color: #272c30; + --gatling-border-color: #555555; + --gatling-blue-color: #1188ff; + --gatling-dark-blue-color: #17223B; + --gatling-danger-color: #d9534f; + --gatling-danger-light-color: #c9302c; + --gatling-enterprise-color: #b2a2ea; + --gatling-enterprise-light-color: #343479; + --gatling-gray-medium-color: #999; + --gatling-hover-color: #30363b; + --gatling-hover-background-color: #2c2c2c; + --gatling-light-color: #394046; + --gatling-orange-color: #fe8e5f; + --gatling-success-color: #5cb85c; + --gatling-text-color: #dee2e6; + --gatling-total-color: #ffa900; +} + +* { + min-height: 0; + min-width: 0; +} + +html, +body { + height: 100%; + width: 100%; +} + +body { + color: var(--gatling-text-color); + font-family: arial; + font-size: var(--gatling-font-size-secondary); + margin: 0; +} + +.app-container { + display: flex; + flex-direction: column; + + height: 100%; + width: 100%; +} + +.head { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + + flex: 1; + + background-color: var(--gatling-light-color); + border-bottom: 1px solid var(--gatling-border-color); + min-height: 69px; + padding: 0 var(--gatling-spacing-layout); +} + +.head .spacer { + flex-grow: 1; +} + +.head .theme-toggle { + margin-left: 20px; + background: none; + color: var(--gatling-text-color); + border: none; +} + +.head .theme-toggle:hover { + color: var(--gatling-gray-medium-color); + cursor: pointer; +} + +body .toggle-dark, body .toggle-light { + display: block; +} + +[data-theme="dark"] body .toggle-dark { + display: none; +} + +[data-theme="light"] body .toggle-light { + display: none; +} + +[data-theme="dark"] body .logo-enterprise-light { + display: none; +} + +[data-theme="light"] body .logo-enterprise-dark { + display: none; +} + +.gatling-open-source { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + gap: var(--gatling-spacing-layout); +} + +.gatling-documentation { + display: flex; + align-items: center; + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-orange-color); + border: 1px solid var(--gatling-orange-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 23px; + + font-size: var(--gatling-font-size-default); +} + +.gatling-documentation:hover { + background-color: var(--gatling-orange-color); + color: var(--gatling-light-color); +} + +.gatling-logo { + height: 35px; +} + +.gatling-logo img { + height: 100%; +} + +[data-theme="dark"] .gatling-logo-light { + display: none; +} + +[data-theme="light"] .gatling-logo-dark { + display: none; +} + +.container { + display: flex; + align-items: stretch; + height: 100%; +} + +.nav { + min-width: 210px; + width: 210px; + max-height: calc(100vh - var(--gatling-spacing-layout) - var(--gatling-spacing-layout)); + background: var(--gatling-light-color); + border-right: 1px solid var(--gatling-border-color); + overflow-y: auto; +} + +@media print { + .nav { + display: none; + } +} + +@media screen and (min-width: 1920px) { + .nav { + min-width: 310px; + width: 310px; + } +} + +.nav ul { + display: flex; + flex-direction: column; + + padding: 0; + margin: 0; +} + +.nav li { + display: flex; + list-style: none; + width: 100%; + padding: 0; +} + +.nav .item { + display: inline-flex; + align-items: center; + margin: 0 auto; + white-space: nowrap; + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + margin: 0; + width: 100%; +} + +.nav .item .nav-label { + padding: var(--gatling-spacing) var(--gatling-spacing-layout); +} + +.nav .item:hover { + background-color: var(--gatling-hover-color); +} + +.nav .on .item { + background-color: var(--gatling-orange-color); +} + +.nav .on .item span { + color: var(--gatling-light-color); +} + +.cadre { + width: 100%; + height: 100%; + overflow-y: scroll; + scroll-behavior: smooth; +} + +@media print { + .cadre { + overflow-y: unset; + } +} + +.frise { + position: absolute; + top: 60px; + z-index: -1; + + background-color: var(--gatling-background-color); + height: 530px; +} + +.global { + height: 650px +} + +a { + text-decoration: none; +} + +a:hover { + color: var(--gatling-hover-color); +} + +img { + border: 0; +} + +h1 { + color: var(--gatling-dark-blue-color); + font-size: var(--gatling-font-size-section); + font-weight: var(--gatling-font-weight-medium); + text-align: center; + margin: 0; +} + +h1 span { + color: var(--gatling-hover-color); +} + +.enterprise { + display: flex; + align-items: center; + justify-content: center; + gap: var(--gatling-spacing-small); + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-enterprise-color); + color: var(--gatling-enterprise-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 25px; +} + +.enterprise:hover { + background-color: var(--gatling-hover-color); + color: var(--gatling-enterprise-color); +} + +.enterprise img { + display: block; + width: 160px; +} + +.simulation-card { + display: flex; + flex-direction: column; + align-self: stretch; + flex: 1; + gap: var(--gatling-spacing-layout); + max-height: 375px; +} + +#simulation-information { + flex: 1; +} + +.simulation-version-information { + display: flex; + flex-direction: column; + + gap: var(--gatling-spacing); + font-size: var(--gatling-font-size-default); + + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing); +} + +.simulation-information-container { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing); +} + +.withTooltip .popover-title { + display: none; +} + +.popover-content p { + margin: 0; +} + +html[data-theme="dark"] div.popover { + background-color: var(--gatling-light-color); + border-bottom: none; +} + +html[data-theme="dark"] div.popover.right .arrow { + border-right-color: var(--gatling-light-color); +} + +.ellipsed-name { + display: block; + + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.simulation-information-item { + display: flex; + flex-direction: row; + align-items: flex-start; + gap: var(--gatling-spacing-small); +} + +.simulation-information-item.description { + flex-direction: column; +} + +.simulation-information-label { + display: inline-block; + font-weight: var(--gatling-font-weight-bold); + min-width: fit-content; +} + +.simulation-information-title { + display: block; + text-align: center; + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + width: 100%; +} + +.simulation-tooltip span { + display: inline-block; + word-wrap: break-word; + overflow: hidden; + text-overflow: ellipsis; +} + +.content { + display: flex; + flex-direction: column; +} + +.content-in { + width: 100%; + height: 100%; + + overflow-x: scroll; +} + +html[data-theme="dark"] .content-in { + background-color: var(--gatling-background-color); +} + +@media print { + .content-in { + overflow-x: unset; + } +} + +.container-article { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + min-width: 1050px; + width: 1050px; + margin: 0 auto; + padding: var(--gatling-spacing-layout); + box-sizing: border-box; +} + +@media screen and (min-width: 1920px) { + .container-article { + min-width: 1350px; + width: 1350px; + } + + #responses * .highcharts-tracker { + transform: translate(400px, 70px); + } +} + +.content-header { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + background-color: var(--gatling-background-light-color); + border-bottom: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-layout) var(--gatling-spacing-layout) 0; +} + +.onglet { + font-size: var(--gatling-font-size-header); + font-weight: var(--gatling-font-weight-medium); + text-align: center; +} + +.sous-menu { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.sous-menu-spacer { + display: flex; + align-items: center; + flex-direction: row; +} + +.sous-menu .item { + margin-bottom: -1px; +} + +.sous-menu a { + display: block; + + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-normal); + padding: var(--gatling-spacing-small) var(--gatling-spacing) var(--gatling-spacing); + border-bottom: 2px solid transparent; + color: var(--gatling-text-color); + text-align: center; + width: 100px; +} + +.sous-menu a:hover { + border-bottom-color: var(--gatling-text-color); +} + +.sous-menu .ouvert a { + border-bottom-color: var(--gatling-orange-color); + font-weight: var(--gatling-font-weight-bold); +} + +.article { + position: relative; + + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); +} + +.infos { + width: 340px; + color: var(--gatling-light-color); +} + +.infos-title { + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-bottom: 0; + border-top-left-radius: var(--gatling-border-radius); + border-top-right-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.info { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + height: 100%; + margin: 0; +} + +.info table { + margin: auto; + padding-right: 15px; +} + +.alert-danger { + background-color: var(--gatling-danger-light-color); + border: 1px solid var(--gatling-danger-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-layout); + font-weight: var(--gatling-font-weight-bold); +} + +.infos h2 { + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + height: 19px; + margin: 0; + padding: 3.5px 0 0 35px; +} + +.infos .first::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.infos .second::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .infos .first::before, +html[data-theme="dark"] .infos .second::before { + filter: invert(0.9); +} + +.infos th { + text-align: center; +} + +.infos td { + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing-small); + -webkit-border-radius: var(--gatling-border-radius); + -moz-border-radius: var(--gatling-border-radius); + -ms-border-radius: var(--gatling-border-radius); + -o-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + text-align: right; + width: 50px; +} + +.infos .title { + width: 120px; +} + +.infos .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); +} + +.infos .total { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); +} + +.infos .ko { + background-color: var(--gatling-danger-color); + -webkit-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); +} + +.schema-container { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--gatling-spacing-layout); +} + +.schema { + background: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); +} + +.ranges { + height: 375px; + width: 500px; +} + +.ranges-large { + height: 375px; + width: 530px; +} + +.geant { + height: 362px; +} + +.extensible-geant { + width: 100%; +} + +.polar { + height: 375px; + width: 230px; +} + +.chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .highcharts-background { + fill: var(--gatling-background-light-color); +} + +html[data-theme="dark"] .highcharts-button-normal rect { + fill: var(--gatling-background-color) !important; +} + +html[data-theme="dark"] .highcharts-button-disabled rect { + fill: var(--gatling-background-light-color) !important; +} + +html[data-theme="dark"] .highcharts-button-pressed rect { + fill: var(--gatling-orange-color) !important; +} + +html[data-theme="dark"] .highcharts-axis text, +html[data-theme="dark"] .highcharts-axis-labels text, +html[data-theme="dark"] .highcharts-button text, +html[data-theme="dark"] .highcharts-legend-item text, +html[data-theme="dark"] .highcharts-range-selector-buttons text { + fill: var(--gatling-text-color) !important; +} + +.statistics { + display: flex; + flex-direction: column; + + background-color: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border-collapse: collapse; + color: var(--gatling-text-color); + max-height: 100%; +} + +.statistics .title { + display: flex; + text-align: center; + justify-content: space-between; + + min-height: 49.5px; + box-sizing: border-box; + + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing); +} + +.title_base { + display: flex; + align-items: center; + text-align: left; + user-select: none; +} + +.title_base_stats { + color: var(--gatling-text-color); + margin-right: 20px; +} + +.toggle-table { + position: relative; + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: 25px; + width: 40px; + height: 20px; + margin: 0 var(--gatling-spacing-small); +} + +.toggle-table::before { + position: absolute; + top: calc(50% - 9px); + left: 1px; + content: ""; + width: 50%; + height: 18px; + border-radius: 50%; + background-color: var(--gatling-text-color); +} + +.toggle-table.off::before { + left: unset; + right: 1px; +} + +.title_expanded { + cursor: pointer; + color: var(--gatling-text-color); +} + +.expand-table, +.collapse-table { + font-size: var(--gatling-font-size-secondary); + font-weight: var(--gatling-font-weight-normal); +} + +.title_expanded span.expand-table { + color: var(--gatling-gray-medium-color); +} + +.title_collapsed { + cursor: pointer; + color: var(--gatling-text-color); +} + +.title_collapsed span.collapse-table { + color: var(--gatling-gray-medium-color); +} + +#container_statistics_head { + position: sticky; + top: -1px; + + background: var(--gatling-background-light-color); + margin-top: -1px; + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); +} + +#container_statistics_body { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + margin-top: -1px; + padding: 0px var(--gatling-spacing-small) var(--gatling-spacing-small) var(--gatling-spacing-small); +} + +#container_errors { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); + margin-top: -1px; +} + +#container_assertions { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small); + margin-top: -1px; +} + +.statistics-in { + border-spacing: var(--gatling-spacing-small); + border-collapse: collapse; + margin: 0; +} + +.statistics .scrollable { + max-height: 100%; + overflow-y: auto; +} + +#statistics_table_container .statistics .scrollable { + max-height: 785px; +} + +.statistics-in a { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .header { + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small); +} + +.sortable { + cursor: pointer; +} + +.sortable span::after { + content: ''; + display: inline-block; + margin-left: 5px; + vertical-align: middle; + width: 12px; + height: 12px; + background: url('sort.svg'); + background-size: contain; +} + +.sorted-up span::after { + background: url('sort-up.svg'); + background-size: contain; +} + +.sorted-down span::after { + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .sortable span::after { + filter: invert(0.9); +} + +.executions::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.response-time::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .executions::before, +html[data-theme="dark"] .response-time::before { + filter: invert(0.9); +} + +.statistics-in td { + background-color: var(--gatling-light-color); + border: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-small); + min-width: 50px; +} + +.statistics-in .col-1 { + width: 175px; + max-width: 175px; +} +@media screen and (min-width: 1200px) { + .statistics-in .col-1 { + width: 50%; + } +} + +.expandable-container { + display: flex; + flex-direction: row; + box-sizing: border-box; + max-width: 100%; +} + +.statistics-in .value { + text-align: right; + width: 50px; +} + +.statistics-in .total { + color: var(--gatling-text-color); +} + +.statistics-in .col-2 { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .error-col-1 { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); +} + +.statistics-in .error-col-2 { + text-align: center; +} + +.statistics-in .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .ko { + background-color: var(--gatling-danger-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .expand-button { + padding-left: var(--gatling-spacing); + cursor: pointer; +} + +.expand-button.hidden { + background: none; + cursor: default; +} + +.statistics-button { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-small) var(--gatling-spacing); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); +} + +#statistics_full_screen{ + padding: var(--gatling-spacing-small); +} + +#statistics_full_screen > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] #statistics_full_screen > img { + filter: invert(0.9); +} + +#statistics_full_screen:disabled { + display: none; +} + +.statistics-button:hover:not(:disabled) { + cursor: pointer; + background-color: var(--gatling-hover-color); +} + +.statistics-in .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('expand.svg'); + background-size: contain; +} + +.statistics-in .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .statistics-in .expand-button.collapse, +html[data-theme="dark"] .statistics-in .expand-button.expand { + filter: invert(0.9); +} + +.nav .expand-button { + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.nav .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('expand.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +.nav .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('sort-down.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +html[data-theme="dark"] .nav .expand-button.expand, +html[data-theme="dark"] .nav .expand-button.collapse { + filter: invert(0.9); +} + +.right { + display: flex; + align-items: center; + gap: var(--gatling-spacing); + float: right; + font-size: var(--gatling-font-size-default); +} + +.withTooltip { + outline: none; +} + +.withTooltip:hover { + text-decoration: none; +} + +.withTooltip .tooltipContent { + position: absolute; + z-index: 10; + display: none; + + background: var(--gatling-orange-color); + -webkit-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + -moz-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); + margin-top: -5px; + padding: var(--gatling-spacing-small); +} + +.withTooltip:hover .tooltipContent { + display: inline; +} + +.button-modal { + padding: var(--gatling-spacing-small); +} + +.button-modal > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] .button-modal > img { + filter: invert(0.9); +} + +.statistics-table-modal { + background-color: var(--gatling-background-color); + height: calc(100% - 60px); + width: calc(100% - 60px); + border-radius: var(--gatling-border-radius); +} + +.statistics-table-modal::backdrop { + position: fixed; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + + background-color: rgba(100, 100, 100, 0.9); +} + +.statistics-table-modal-container { + display: flex; + flex-direction: column; + + width: 100%; + height: calc(100% - 35px); + overflow-x: auto; +} + +.button-modal { + cursor: pointer; + + height: 25px; + width: 25px; + + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); +} + +.button-modal:hover { + background-color: var(--gatling-background-color); +} + +.statistics-table-modal-header { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-bottom: var(--gatling-spacing); +} + +.statistics-table-modal-content { + flex: 1; + overflow-y: auto; + min-width: 1050px; +} + +.statistics-table-modal-footer { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-top: var(--gatling-spacing); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/index.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/index.html new file mode 100644 index 0000000..e2706d3 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/index.html @@ -0,0 +1,1117 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - Global Information + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    +
    +
    + Gatling Version + + Version: + 3.10.5 + + + Released: + 2024-03-22 + +
    +
    + Run Information +
    + + Date: + 2024-04-25 17:42:01 GMT + + + Duration: + 2m 11s + + + Description: + Load testing (2 users/sec in 60sec - 2 cpus) + + +
    +
    +
    +
    + +
    + +
    + +
    +
    +
    +
    +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/all_sessions.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/all_sessions.js new file mode 100644 index 0000000..da516d8 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/all_sessions.js @@ -0,0 +1,11 @@ +allUsersData = { + +color: '#FFA900', +name: 'Active Users', +data: [ + [1714066921000,4],[1714066922000,8],[1714066923000,9],[1714066924000,11],[1714066925000,13],[1714066926000,16],[1714066927000,20],[1714066928000,21],[1714066929000,23],[1714066930000,28],[1714066931000,30],[1714066932000,32],[1714066933000,33],[1714066934000,34],[1714066935000,38],[1714066936000,42],[1714066937000,43],[1714066938000,45],[1714066939000,47],[1714066940000,47],[1714066941000,48],[1714066942000,49],[1714066943000,53],[1714066944000,53],[1714066945000,55],[1714066946000,55],[1714066947000,57],[1714066948000,58],[1714066949000,59],[1714066950000,59],[1714066951000,60],[1714066952000,61],[1714066953000,64],[1714066954000,68],[1714066955000,72],[1714066956000,73],[1714066957000,76],[1714066958000,80],[1714066959000,83],[1714066960000,83],[1714066961000,83],[1714066962000,85],[1714066963000,88],[1714066964000,91],[1714066965000,92],[1714066966000,93],[1714066967000,95],[1714066968000,96],[1714066969000,99],[1714066970000,103],[1714066971000,103],[1714066972000,105],[1714066973000,109],[1714066974000,110],[1714066975000,113],[1714066976000,114],[1714066977000,118],[1714066978000,120],[1714066979000,121],[1714066980000,121],[1714066981000,121],[1714066982000,121],[1714066983000,121],[1714066984000,121],[1714066985000,121],[1714066986000,121],[1714066987000,121],[1714066988000,121],[1714066989000,121],[1714066990000,121],[1714066991000,121],[1714066992000,121],[1714066993000,121],[1714066994000,121],[1714066995000,120],[1714066996000,117],[1714066997000,113],[1714066998000,112],[1714066999000,109],[1714067000000,107],[1714067001000,105],[1714067002000,101],[1714067003000,99],[1714067004000,96],[1714067005000,93],[1714067006000,91],[1714067007000,88],[1714067008000,88],[1714067009000,86],[1714067010000,83],[1714067011000,81],[1714067012000,77],[1714067013000,75],[1714067014000,74],[1714067015000,73],[1714067016000,72],[1714067017000,70],[1714067018000,69],[1714067019000,66],[1714067020000,66],[1714067021000,65],[1714067022000,63],[1714067023000,62],[1714067024000,62],[1714067025000,62],[1714067026000,61],[1714067027000,58],[1714067028000,55],[1714067029000,51],[1714067030000,48],[1714067031000,47],[1714067032000,43],[1714067033000,40],[1714067034000,38],[1714067035000,38],[1714067036000,37],[1714067037000,35],[1714067038000,33],[1714067039000,30],[1714067040000,28],[1714067041000,27],[1714067042000,25],[1714067043000,24],[1714067044000,21],[1714067045000,18],[1714067046000,17],[1714067047000,16],[1714067048000,13],[1714067049000,9],[1714067050000,8],[1714067051000,5],[1714067052000,2] +], +tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 } + , zIndex: 20 + , yAxis: 1 +}; \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/assertions.xml b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/assertions.xml new file mode 100644 index 0000000..c562e00 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/assertions.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/bootstrap.min.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/bootstrap.min.js new file mode 100644 index 0000000..ea41042 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/** +* Bootstrap.js by @fat & @mdo +* plugins: bootstrap-tooltip.js, bootstrap-popover.js +* Copyright 2012 Twitter, Inc. +* http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +!function(a){var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this)):this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f+"."+this.type,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.offset(g).addClass(f).addClass("in")}},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).detach()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.detach()})}var b=this,c=this.tip();return c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.detach(),this},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);c[c.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'
    ',trigger:"hover",title:"",delay:0,html:!1}}(window.jQuery),!function(a){var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content > *")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'

    '})}(window.jQuery) \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/ellipsis.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/ellipsis.js new file mode 100644 index 0000000..781d0de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/ellipsis.js @@ -0,0 +1,26 @@ +function parentId(name) { + return "parent-" + name; +} + +function isEllipsed(name) { + const child = document.getElementById(name); + const parent = document.getElementById(parentId(name)); + const emptyData = parent.getAttribute("data-content") === ""; + const hasOverflow = child.clientWidth < child.scrollWidth; + + if (hasOverflow) { + if (emptyData) { + parent.setAttribute("data-content", name); + } + } else { + if (!emptyData) { + parent.setAttribute("data-content", ""); + } + } +} + +function ellipsedLabel ({ name, parentClass = "", childClass = "" }) { + const child = "" + name + ""; + + return "" + child + ""; +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/gatling.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/gatling.js new file mode 100644 index 0000000..5b9e992 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/gatling.js @@ -0,0 +1,137 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +(function ($) { + $.fn.expandable = function () { + var scope = this; + + this.find('.expand-button:not([class*=hidden])').addClass('collapse').on('click', function () { + var $this = $(this); + + if ($this.hasClass('expand')) + $this.expand(scope); + else + $this.collapse(scope); + }); + + this.find('.expand-all-button').on('click', function () { + $(this).expandAll(scope); + }); + + this.find('.collapse-all-button').on('click', function () { + $(this).collapseAll(scope); + }); + + this.collapseAll(this); + + return this; + }; + + $.fn.expand = function (scope, recursive) { + return this.each(function () { + var $this = $(this); + + if (recursive) { + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + } + + if ($this.hasClass('expand')) { + $('*[data-parent=' + $this.attr('id') + ']').toggle(true); + $this.toggleClass('expand').toggleClass('collapse'); + } + }); + }; + + $.fn.expandAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.expand').expand(scope, true); + $('*[data-parent=ROOT]').find('.expand-button.collapse').expand(scope, true); + }; + + $.fn.collapse = function (scope) { + return this.each(function () { + var $this = $(this); + + scope.find('*[data-parent=' + $this.attr('id') + '] .expand-button.collapse').collapse(scope); + scope.find('*[data-parent=' + $this.attr('id') + ']').toggle(false); + $this.toggleClass('expand').toggleClass('collapse'); + }); + }; + + $.fn.collapseAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.collapse').collapse(scope); + }; + + $.fn.sortable = function (target) { + var table = this; + + this.find('thead .sortable').on('click', function () { + var $this = $(this); + + if ($this.hasClass('sorted-down')) { + var desc = false; + var style = 'sorted-up'; + } + else { + var desc = true; + var style = 'sorted-down'; + } + + $(target).sortTable($this.attr('id'), desc); + + table.find('thead .sortable').removeClass('sorted-up sorted-down'); + $this.addClass(style); + + return false; + }); + + return this; + }; + + $.fn.sortTable = function (col, desc) { + function getValue(line) { + var cell = $(line).find('.' + col); + + if (cell.hasClass('value')) + var value = cell.text(); + else + var value = cell.find('.value').text(); + + return parseFloat(value); + } + + function sortLines (lines, group) { + var notErrorTable = col.search("error") == -1; + var linesToSort = notErrorTable ? lines.filter('*[data-parent=' + group + ']') : lines; + + var sortedLines = linesToSort.sort(function (a, b) { + return desc ? getValue(b) - getValue(a): getValue(a) - getValue(b); + }).toArray(); + + var result = []; + $.each(sortedLines, function (i, line) { + result.push(line); + if (notErrorTable) + result = result.concat(sortLines(lines, $(line).attr('id'))); + }); + + return result; + } + + this.find('tbody').append(sortLines(this.find('tbody tr').detach(), 'ROOT')); + + return this; + }; +})(jQuery); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/global_stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/global_stats.json new file mode 100644 index 0000000..b497c17 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/global_stats.json @@ -0,0 +1,77 @@ +{ + "name": "All Requests", + "numberOfRequests": { + "total": 2057, + "ok": 2057, + "ko": 0 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 0 + }, + "maxResponseTime": { + "total": 1809, + "ok": 1809, + "ko": 0 + }, + "meanResponseTime": { + "total": 128, + "ok": 128, + "ko": 0 + }, + "standardDeviation": { + "total": 189, + "ok": 189, + "ko": 0 + }, + "percentiles1": { + "total": 78, + "ok": 78, + "ko": 0 + }, + "percentiles2": { + "total": 88, + "ok": 88, + "ko": 0 + }, + "percentiles3": { + "total": 507, + "ok": 507, + "ko": 0 + }, + "percentiles4": { + "total": 1054, + "ok": 1054, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2019, + "percentage": 98 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 24, + "percentage": 1 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 14, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 15.583333333333334, + "ok": 15.583333333333334, + "ko": 0 + } +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/highcharts-more.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/highcharts-more.js new file mode 100644 index 0000000..2d78893 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/highcharts-more.js @@ -0,0 +1,60 @@ +/* + Highcharts JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(x){"object"===typeof module&&module.exports?module.exports=x:x(Highcharts)})(function(x){(function(b){function r(b,a,d){this.init(b,a,d)}var t=b.each,w=b.extend,m=b.merge,q=b.splat;w(r.prototype,{init:function(b,a,d){var f=this,h=f.defaultOptions;f.chart=a;f.options=b=m(h,a.angular?{background:{}}:void 0,b);(b=b.background)&&t([].concat(q(b)).reverse(),function(a){var c,h=d.userOptions;c=m(f.defaultBackgroundOptions,a);a.backgroundColor&&(c.backgroundColor=a.backgroundColor);c.color=c.backgroundColor; +d.options.plotBands.unshift(c);h.plotBands=h.plotBands||[];h.plotBands!==d.options.plotBands&&h.plotBands.unshift(c)})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{className:"highcharts-pane",shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}});b.Pane=r})(x);(function(b){var r=b.CenteredSeriesMixin, +t=b.each,w=b.extend,m=b.map,q=b.merge,e=b.noop,a=b.Pane,d=b.pick,f=b.pInt,h=b.splat,u=b.wrap,c,l,k=b.Axis.prototype;b=b.Tick.prototype;c={getOffset:e,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:e,setCategories:e,setTitle:e};l={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2}, +defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(a){a=this.options=q(this.defaultOptions,this.defaultRadialOptions,a);a.plotBands||(a.plotBands=[])},getOffset:function(){k.getOffset.call(this);this.chart.axisOffset[this.side]=0;this.center=this.pane.center= +r.getCenter.call(this.pane)},getLinePath:function(a,g){a=this.center;var c=this.chart,f=d(g,a[2]/2-this.offset);this.isCircular||void 0!==g?g=this.chart.renderer.symbols.arc(this.left+a[0],this.top+a[1],f,f,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}):(g=this.postTranslate(this.angleRad,f),g=["M",a[0]+c.plotLeft,a[1]+c.plotTop,"L",g.x,g.y]);return g},setAxisTranslation:function(){k.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/ +(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===d(this.userMax,this.options.max)&&this.endAngleRad-this.startAngleRad===2*Math.PI)this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){k.setAxisSize.call(this);this.isRadial&&(this.center=this.pane.center=r.getCenter.call(this.pane),this.isCircular&& +(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*d(this.sector,1)/2)},getPosition:function(a,g){return this.postTranslate(this.isCircular?this.translate(a):this.angleRad,d(this.isCircular?g:this.translate(a),this.center[2]/2)-this.offset)},postTranslate:function(a,g){var d=this.chart,c=this.center;a=this.startAngleRad+a;return{x:d.plotLeft+c[0]+Math.cos(a)*g,y:d.plotTop+c[1]+Math.sin(a)*g}},getPlotBandPath:function(a,g,c){var h=this.center,p=this.startAngleRad, +k=h[2]/2,n=[d(c.outerRadius,"100%"),c.innerRadius,d(c.thickness,10)],b=Math.min(this.offset,0),l=/%$/,u,e=this.isCircular;"polygon"===this.options.gridLineInterpolation?h=this.getPlotLinePath(a).concat(this.getPlotLinePath(g,!0)):(a=Math.max(a,this.min),g=Math.min(g,this.max),e||(n[0]=this.translate(a),n[1]=this.translate(g)),n=m(n,function(a){l.test(a)&&(a=f(a,10)*k/100);return a}),"circle"!==c.shape&&e?(a=p+this.translate(a),g=p+this.translate(g)):(a=-Math.PI/2,g=1.5*Math.PI,u=!0),n[0]-=b,n[2]-= +b,h=this.chart.renderer.symbols.arc(this.left+h[0],this.top+h[1],n[0],n[0],{start:Math.min(a,g),end:Math.max(a,g),innerR:d(n[1],n[0]-n[2]),open:u}));return h},getPlotLinePath:function(a,g){var d=this,c=d.center,f=d.chart,h=d.getPosition(a),k,b,p;d.isCircular?p=["M",c[0]+f.plotLeft,c[1]+f.plotTop,"L",h.x,h.y]:"circle"===d.options.gridLineInterpolation?(a=d.translate(a))&&(p=d.getLinePath(0,a)):(t(f.xAxis,function(a){a.pane===d.pane&&(k=a)}),p=[],a=d.translate(a),c=k.tickPositions,k.autoConnect&&(c= +c.concat([c[0]])),g&&(c=[].concat(c).reverse()),t(c,function(g,d){b=k.getPosition(g,a);p.push(d?"L":"M",b.x,b.y)}));return p},getTitlePosition:function(){var a=this.center,g=this.chart,d=this.options.title;return{x:g.plotLeft+a[0]+(d.x||0),y:g.plotTop+a[1]-{high:.5,middle:.25,low:0}[d.align]*a[2]+(d.y||0)}}};u(k,"init",function(f,g,k){var b=g.angular,p=g.polar,n=k.isX,u=b&&n,e,A=g.options,m=k.pane||0;if(b){if(w(this,u?c:l),e=!n)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else p&&(w(this, +l),this.defaultRadialOptions=(e=n)?this.defaultRadialXOptions:q(this.defaultYAxisOptions,this.defaultRadialYOptions));b||p?(this.isRadial=!0,g.inverted=!1,A.chart.zoomType=null):this.isRadial=!1;f.call(this,g,k);u||!b&&!p||(f=this.options,g.panes||(g.panes=[]),this.pane=g=g.panes[m]=g.panes[m]||new a(h(A.pane)[m],g,this),g=g.options,this.angleRad=(f.angle||0)*Math.PI/180,this.startAngleRad=(g.startAngle-90)*Math.PI/180,this.endAngleRad=(d(g.endAngle,g.startAngle+360)-90)*Math.PI/180,this.offset=f.offset|| +0,this.isCircular=e)});u(k,"autoLabelAlign",function(a){if(!this.isRadial)return a.apply(this,[].slice.call(arguments,1))});u(b,"getPosition",function(a,d,c,f,h){var g=this.axis;return g.getPosition?g.getPosition(c):a.call(this,d,c,f,h)});u(b,"getLabelPosition",function(a,g,c,f,h,k,b,l,u){var n=this.axis,p=k.y,e=20,y=k.align,v=(n.translate(this.pos)+n.startAngleRad+Math.PI/2)/Math.PI*180%360;n.isRadial?(a=n.getPosition(this.pos,n.center[2]/2+d(k.distance,-25)),"auto"===k.rotation?f.attr({rotation:v}): +null===p&&(p=n.chart.renderer.fontMetrics(f.styles.fontSize).b-f.getBBox().height/2),null===y&&(n.isCircular?(this.label.getBBox().width>n.len*n.tickInterval/(n.max-n.min)&&(e=0),y=v>e&&v<180-e?"left":v>180+e&&v<360-e?"right":"center"):y="center",f.attr({align:y})),a.x+=k.x,a.y+=p):a=a.call(this,g,c,f,h,k,b,l,u);return a});u(b,"getMarkPath",function(a,d,c,f,h,k,b){var g=this.axis;g.isRadial?(a=g.getPosition(this.pos,g.center[2]/2+f),d=["M",d,c,"L",a.x,a.y]):d=a.call(this,d,c,f,h,k,b);return d})})(x); +(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.Series,q=b.seriesType,e=b.seriesTypes;q("arearange","area",{lineWidth:1,marker:null,threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{series.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},states:{hover:{halo:!1}}},{pointArrayMap:["low","high"],dataLabelCollections:["dataLabel", +"dataLabelUpper"],toYData:function(a){return[a.low,a.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(a){var d=this.chart,f=this.xAxis.postTranslate(a.rectPlotX,this.yAxis.len-a.plotHigh);a.plotHighX=f.x-d.plotLeft;a.plotHigh=f.y-d.plotTop},translate:function(){var a=this,d=a.yAxis,f=!!a.modifyValue;e.area.prototype.translate.apply(a);r(a.points,function(h){var b=h.low,c=h.high,l=h.plotY;null===c||null===b?h.isNull=!0:(h.plotLow=l,h.plotHigh=d.translate(f?a.modifyValue(c,h):c,0,1, +0,1),f&&(h.yBottom=h.plotHigh))});this.chart.polar&&r(this.points,function(d){a.highToXY(d)})},getGraphPath:function(a){var d=[],f=[],h,b=e.area.prototype.getGraphPath,c,l,k;k=this.options;var p=k.step;a=a||this.points;for(h=a.length;h--;)c=a[h],c.isNull||k.connectEnds||a[h+1]&&!a[h+1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1}),l={polarPlotY:c.polarPlotY,rectPlotX:c.rectPlotX,yBottom:c.yBottom,plotX:w(c.plotHighX,c.plotX),plotY:c.plotHigh,isNull:c.isNull},f.push(l),d.push(l),c.isNull|| +k.connectEnds||a[h-1]&&!a[h-1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1});a=b.call(this,a);p&&(!0===p&&(p="left"),k.step={left:"right",center:"center",right:"left"}[p]);d=b.call(this,d);f=b.call(this,f);k.step=p;k=[].concat(a,d);this.chart.polar||"M"!==f[0]||(f[0]="L");this.graphPath=k;this.areaPath=this.areaPath.concat(a,f);k.isArea=!0;k.xMap=a.xMap;this.areaPath.xMap=a.xMap;return k},drawDataLabels:function(){var a=this.data,d=a.length,f,h=[],b=m.prototype,c=this.options.dataLabels, +l=c.align,k=c.verticalAlign,p=c.inside,g,n,e=this.chart.inverted;if(c.enabled||this._hasPointLabels){for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.y=g.high,g._plotY=g.plotY,g.plotY=g.plotHigh,h[f]=g.dataLabel,g.dataLabel=g.dataLabelUpper,g.below=n,e?l||(c.align=n?"right":"left"):k||(c.verticalAlign=n?"top":"bottom"),c.x=c.xHigh,c.y=c.yHigh;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments);for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.dataLabelUpper= +g.dataLabel,g.dataLabel=h[f],g.y=g.low,g.plotY=g._plotY,g.below=!n,e?l||(c.align=n?"left":"right"):k||(c.verticalAlign=n?"bottom":"top"),c.x=c.xLow,c.y=c.yLow;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments)}c.align=l;c.verticalAlign=k},alignDataLabel:function(){e.column.prototype.alignDataLabel.apply(this,arguments)},setStackedPoints:t,getSymbol:t,drawPoints:t})})(x);(function(b){var r=b.seriesType;r("areasplinerange","arearange",null,{getPointSpline:b.seriesTypes.spline.prototype.getPointSpline})})(x); +(function(b){var r=b.defaultPlotOptions,t=b.each,w=b.merge,m=b.noop,q=b.pick,e=b.seriesType,a=b.seriesTypes.column.prototype;e("columnrange","arearange",w(r.column,r.arearange,{lineWidth:1,pointRange:null}),{translate:function(){var d=this,f=d.yAxis,b=d.xAxis,u=b.startAngleRad,c,l=d.chart,k=d.xAxis.isRadial,p;a.translate.apply(d);t(d.points,function(a){var g=a.shapeArgs,h=d.options.minPointLength,e,v;a.plotHigh=p=f.translate(a.high,0,1,0,1);a.plotLow=a.plotY;v=p;e=q(a.rectPlotY,a.plotY)-p;Math.abs(e)< +h?(h-=e,e+=h,v-=h/2):0>e&&(e*=-1,v-=e);k?(c=a.barX+u,a.shapeType="path",a.shapeArgs={d:d.polarArc(v+e,v,c,c+a.pointWidth)}):(g.height=e,g.y=v,a.tooltipPos=l.inverted?[f.len+f.pos-l.plotLeft-v-e/2,b.len+b.pos-l.plotTop-g.x-g.width/2,e]:[b.left-l.plotLeft+g.x+g.width/2,f.pos-l.plotTop+v+e/2,e])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:m,crispCol:a.crispCol,drawPoints:a.drawPoints,drawTracker:a.drawTracker,getColumnMetrics:a.getColumnMetrics,animate:function(){return a.animate.apply(this, +arguments)},polarArc:function(){return a.polarArc.apply(this,arguments)},pointAttribs:a.pointAttribs})})(x);(function(b){var r=b.each,t=b.isNumber,w=b.merge,m=b.pick,q=b.pInt,e=b.Series,a=b.seriesType,d=b.TrackerMixin;a("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2,borderWidth:1,borderColor:"#cccccc"},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,directTouch:!0,drawGraph:b.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0, +trackerGroups:["group","dataLabelsGroup"],translate:function(){var a=this.yAxis,d=this.options,b=a.center;this.generatePoints();r(this.points,function(c){var f=w(d.dial,c.dial),k=q(m(f.radius,80))*b[2]/200,h=q(m(f.baseLength,70))*k/100,g=q(m(f.rearLength,10))*k/100,n=f.baseWidth||3,u=f.topWidth||1,e=d.overshoot,v=a.startAngleRad+a.translate(c.y,null,null,null,!0);t(e)?(e=e/180*Math.PI,v=Math.max(a.startAngleRad-e,Math.min(a.endAngleRad+e,v))):!1===d.wrap&&(v=Math.max(a.startAngleRad,Math.min(a.endAngleRad, +v)));v=180*v/Math.PI;c.shapeType="path";c.shapeArgs={d:f.path||["M",-g,-n/2,"L",h,-n/2,k,-u/2,k,u/2,h,n/2,-g,n/2,"z"],translateX:b[0],translateY:b[1],rotation:v};c.plotX=b[0];c.plotY=b[1]})},drawPoints:function(){var a=this,d=a.yAxis.center,b=a.pivot,c=a.options,l=c.pivot,k=a.chart.renderer;r(a.points,function(d){var g=d.graphic,b=d.shapeArgs,f=b.d,h=w(c.dial,d.dial);g?(g.animate(b),b.d=f):(d.graphic=k[d.shapeType](b).attr({rotation:b.rotation,zIndex:1}).addClass("highcharts-dial").add(a.group),d.graphic.attr({stroke:h.borderColor|| +"none","stroke-width":h.borderWidth||0,fill:h.backgroundColor||"#000000"}))});b?b.animate({translateX:d[0],translateY:d[1]}):(a.pivot=k.circle(0,0,m(l.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(d[0],d[1]).add(a.group),a.pivot.attr({"stroke-width":l.borderWidth||0,stroke:l.borderColor||"#cccccc",fill:l.backgroundColor||"#000000"}))},animate:function(a){var d=this;a||(r(d.points,function(a){var c=a.graphic;c&&(c.attr({rotation:180*d.yAxis.startAngleRad/Math.PI}),c.animate({rotation:a.shapeArgs.rotation}, +d.options.animation))}),d.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);e.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(a,d){e.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();m(d,!0)&&this.chart.redraw()},drawTracker:d&&d.drawTrackerPoint},{setState:function(a){this.state=a}})})(x);(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.seriesType, +q=b.seriesTypes;m("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,states:{hover:{brightness:-.3}},whiskerWidth:2},{pointArrayMap:["low","q1","median", +"q3","high"],toYData:function(b){return[b.low,b.q1,b.median,b.q3,b.high]},pointValKey:"high",pointAttribs:function(b){var a=this.options,d=b&&b.color||this.color;return{fill:b.fillColor||a.fillColor||d,stroke:a.lineColor||d,"stroke-width":a.lineWidth||0}},drawDataLabels:t,translate:function(){var b=this.yAxis,a=this.pointArrayMap;q.column.prototype.translate.apply(this);r(this.points,function(d){r(a,function(a){null!==d[a]&&(d[a+"Plot"]=b.translate(d[a],0,1,0,1))})})},drawPoints:function(){var b= +this,a=b.options,d=b.chart.renderer,f,h,u,c,l,k,p=0,g,n,m,q,v=!1!==b.doQuartiles,t,x=b.options.whiskerLength;r(b.points,function(e){var r=e.graphic,y=r?"animate":"attr",I=e.shapeArgs,z={},B={},G={},H=e.color||b.color;void 0!==e.plotY&&(g=I.width,n=Math.floor(I.x),m=n+g,q=Math.round(g/2),f=Math.floor(v?e.q1Plot:e.lowPlot),h=Math.floor(v?e.q3Plot:e.lowPlot),u=Math.floor(e.highPlot),c=Math.floor(e.lowPlot),r||(e.graphic=r=d.g("point").add(b.group),e.stem=d.path().addClass("highcharts-boxplot-stem").add(r), +x&&(e.whiskers=d.path().addClass("highcharts-boxplot-whisker").add(r)),v&&(e.box=d.path(void 0).addClass("highcharts-boxplot-box").add(r)),e.medianShape=d.path(void 0).addClass("highcharts-boxplot-median").add(r),z.stroke=e.stemColor||a.stemColor||H,z["stroke-width"]=w(e.stemWidth,a.stemWidth,a.lineWidth),z.dashstyle=e.stemDashStyle||a.stemDashStyle,e.stem.attr(z),x&&(B.stroke=e.whiskerColor||a.whiskerColor||H,B["stroke-width"]=w(e.whiskerWidth,a.whiskerWidth,a.lineWidth),e.whiskers.attr(B)),v&&(r= +b.pointAttribs(e),e.box.attr(r)),G.stroke=e.medianColor||a.medianColor||H,G["stroke-width"]=w(e.medianWidth,a.medianWidth,a.lineWidth),e.medianShape.attr(G)),k=e.stem.strokeWidth()%2/2,p=n+q+k,e.stem[y]({d:["M",p,h,"L",p,u,"M",p,f,"L",p,c]}),v&&(k=e.box.strokeWidth()%2/2,f=Math.floor(f)+k,h=Math.floor(h)+k,n+=k,m+=k,e.box[y]({d:["M",n,h,"L",n,f,"L",m,f,"L",m,h,"L",n,h,"z"]})),x&&(k=e.whiskers.strokeWidth()%2/2,u+=k,c+=k,t=/%$/.test(x)?q*parseFloat(x)/100:x/2,e.whiskers[y]({d:["M",p-t,u,"L",p+t,u, +"M",p-t,c,"L",p+t,c]})),l=Math.round(e.medianPlot),k=e.medianShape.strokeWidth()%2/2,l+=k,e.medianShape[y]({d:["M",n,l,"L",m,l]}))})},setStackedPoints:t})})(x);(function(b){var r=b.each,t=b.noop,w=b.seriesType,m=b.seriesTypes;w("errorbar","boxplot",{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},whiskerWidth:null},{type:"errorbar", +pointArrayMap:["low","high"],toYData:function(b){return[b.low,b.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:m.arearange?function(){var b=this.pointValKey;m.arearange.prototype.drawDataLabels.call(this);r(this.data,function(e){e.y=e[b]})}:t,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||m.column.prototype.getColumnMetrics.call(this)}})})(x);(function(b){var r=b.correctFloat,t=b.isNumber,w=b.pick,m=b.Point,q=b.Series,e=b.seriesType,a=b.seriesTypes; +e("waterfall","column",{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}},{pointValKey:"y",translate:function(){var d=this.options,b=this.yAxis,h,e,c,l,k,p,g,n,m,q=w(d.minPointLength,5),v=d.threshold,t=d.stacking;a.column.prototype.translate.apply(this);this.minPointLengthOffset=0;g=n=v;e=this.points;h=0;for(d=e.length;hl.height&&(l.y+=l.height,l.height*=-1),c.plotY=l.y=Math.round(l.y)- +this.borderWidth%2/2,l.height=Math.max(Math.round(l.height),.001),c.yBottom=l.y+l.height,l.height<=q&&(l.height=q,this.minPointLengthOffset+=q),l.y-=this.minPointLengthOffset,l=c.plotY+(c.negative?l.height:0)-this.minPointLengthOffset,this.chart.inverted?c.tooltipPos[0]=b.len-l:c.tooltipPos[1]=l},processData:function(a){var b=this.yData,d=this.options.data,e,c=b.length,l,k,p,g,n,m;k=l=p=g=this.options.threshold||0;for(m=0;ma[k-1].y&&(l[2]+=c.height,l[5]+=c.height),e=e.concat(l);return e},drawGraph:function(){q.prototype.drawGraph.call(this);this.graph.attr({d:this.getCrispPath()})},getExtremes:b.noop},{getClassName:function(){var a=m.prototype.getClassName.call(this);this.isSum?a+=" highcharts-sum":this.isIntermediateSum&&(a+=" highcharts-intermediate-sum"); +return a},isValid:function(){return t(this.y,!0)||this.isSum||this.isIntermediateSum}})})(x);(function(b){var r=b.Series,t=b.seriesType,w=b.seriesTypes;t("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var b=r.prototype.getGraphPath.call(this),q=b.length+1;q--;)(q===b.length||"M"===b[q])&&0=this.minPxSize/2?(d.shapeType="circle",d.shapeArgs={x:d.plotX,y:d.plotY,r:c},d.dlBox={x:d.plotX-c,y:d.plotY-c,width:2*c,height:2*c}):d.shapeArgs=d.plotY=d.dlBox=void 0},drawLegendSymbol:function(a,b){var d=this.chart.renderer,c=d.fontMetrics(a.itemStyle.fontSize).f/2;b.legendSymbol=d.circle(c,a.baseline-c,c).attr({zIndex:3}).add(b.legendGroup);b.legendSymbol.isMarker= +!0},drawPoints:l.column.prototype.drawPoints,alignDataLabel:l.column.prototype.alignDataLabel,buildKDTree:a,applyZones:a},{haloPath:function(a){return h.prototype.haloPath.call(this,this.shapeArgs.r+a)},ttBelow:!1});w.prototype.beforePadding=function(){var a=this,b=this.len,c=this.chart,h=0,l=b,u=this.isXAxis,m=u?"xData":"yData",w=this.min,x={},A=Math.min(c.plotWidth,c.plotHeight),C=Number.MAX_VALUE,D=-Number.MAX_VALUE,E=this.max-w,z=b/E,F=[];q(this.series,function(b){var g=b.options;!b.bubblePadding|| +!b.visible&&c.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,F.push(b),u&&(q(["minSize","maxSize"],function(a){var b=g[a],d=/%$/.test(b),b=f(b);x[a]=d?A*b/100:b}),b.minPxSize=x.minSize,b.maxPxSize=Math.max(x.maxSize,x.minSize),b=b.zData,b.length&&(C=d(g.zMin,Math.min(C,Math.max(t(b),!1===g.displayNegative?g.zThreshold:-Number.MAX_VALUE))),D=d(g.zMax,Math.max(D,r(b))))))});q(F,function(b){var d=b[m],c=d.length,f;u&&b.getRadii(C,D,b.minPxSize,b.maxPxSize);if(0f&&(f+=360),a.clientX=f):a.clientX=a.plotX};m.spline&&q(m.spline.prototype,"getPointSpline",function(a,b,f,h){var d,c,e,k,p,g,n;this.chart.polar?(d=f.plotX, +c=f.plotY,a=b[h-1],e=b[h+1],this.connectEnds&&(a||(a=b[b.length-2]),e||(e=b[1])),a&&e&&(k=a.plotX,p=a.plotY,b=e.plotX,g=e.plotY,k=(1.5*d+k)/2.5,p=(1.5*c+p)/2.5,e=(1.5*d+b)/2.5,n=(1.5*c+g)/2.5,b=Math.sqrt(Math.pow(k-d,2)+Math.pow(p-c,2)),g=Math.sqrt(Math.pow(e-d,2)+Math.pow(n-c,2)),k=Math.atan2(p-c,k-d),p=Math.atan2(n-c,e-d),n=Math.PI/2+(k+p)/2,Math.abs(k-n)>Math.PI/2&&(n-=Math.PI),k=d+Math.cos(n)*b,p=c+Math.sin(n)*b,e=d+Math.cos(Math.PI+n)*g,n=c+Math.sin(Math.PI+n)*g,f.rightContX=e,f.rightContY=n), +h?(f=["C",a.rightContX||a.plotX,a.rightContY||a.plotY,k||d,p||c,d,c],a.rightContX=a.rightContY=null):f=["M",d,c]):f=a.call(this,b,f,h);return f});q(e,"translate",function(a){var b=this.chart;a.call(this);if(b.polar&&(this.kdByAngle=b.tooltip&&b.tooltip.shared,!this.preventPostTranslate))for(a=this.points,b=a.length;b--;)this.toXY(a[b])});q(e,"getGraphPath",function(a,b){var d=this,e,m;if(this.chart.polar){b=b||this.points;for(e=0;eb.center[1]}),q(m,"alignDataLabel",function(a,b,f,h,m,c){this.chart.polar?(a=b.rectPlotX/Math.PI*180,null===h.align&&(h.align=20a?"left":200a?"right":"center"),null===h.verticalAlign&&(h.verticalAlign=45>a||315a?"top":"middle"),e.alignDataLabel.call(this,b,f,h,m,c)):a.call(this, +b,f,h,m,c)}));q(b,"getCoordinates",function(a,b){var d=this.chart,e={xAxis:[],yAxis:[]};d.polar?t(d.axes,function(a){var c=a.isXAxis,f=a.center,h=b.chartX-f[0]-d.plotLeft,f=b.chartY-f[1]-d.plotTop;e[c?"xAxis":"yAxis"].push({axis:a,value:a.translate(c?Math.PI-Math.atan2(h,f):Math.sqrt(Math.pow(h,2)+Math.pow(f,2)),!0)})}):e=a.call(this,b);return e})})(x)}); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/highstock.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/highstock.js new file mode 100644 index 0000000..34a3f91 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/highstock.js @@ -0,0 +1,496 @@ +/* + Highstock JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(N,a){"object"===typeof module&&module.exports?module.exports=N.document?a(N):a:N.Highcharts=a(N)})("undefined"!==typeof window?window:this,function(N){N=function(){var a=window,D=a.document,B=a.navigator&&a.navigator.userAgent||"",G=D&&D.createElementNS&&!!D.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,H=/(edge|msie|trident)/i.test(B)&&!window.opera,p=!G,l=/Firefox/.test(B),r=l&&4>parseInt(B.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highstock", +version:"5.0.3",deg2rad:2*Math.PI/360,doc:D,hasBidiBug:r,hasTouch:D&&void 0!==D.documentElement.ontouchstart,isMS:H,isWebKit:/AppleWebKit/.test(B),isFirefox:l,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(B),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:G,vml:p,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var D=[],B=a.charts,G=a.doc,H=a.win;a.error=function(a,l){a="Highcharts error #"+ +a+": www.highcharts.com/errors/"+a;if(l)throw Error(a);H.console&&console.log(a)};a.Fx=function(a,l,r){this.options=l;this.elem=a;this.prop=r};a.Fx.prototype={dSetter:function(){var a=this.paths[0],l=this.paths[1],r=[],w=this.now,t=a.length,k;if(1===w)r=this.toD;else if(t===l.length&&1>w)for(;t--;)k=parseFloat(a[t]),r[t]=isNaN(k)?a[t]:w*parseFloat(l[t]-k)+k;else r=l;this.elem.attr("d",r)},update:function(){var a=this.elem,l=this.prop,r=this.now,w=this.options.step;if(this[l+"Setter"])this[l+"Setter"](); +else a.attr?a.element&&a.attr(l,r):a.style[l]=r+this.unit;w&&w.call(a,r,this)},run:function(a,l,r){var p=this,t=function(a){return t.stopped?!1:p.step(a)},k;this.startTime=+new Date;this.start=a;this.end=l;this.unit=r;this.now=this.start;this.pos=0;t.elem=this.elem;t()&&1===D.push(t)&&(t.timerId=setInterval(function(){for(k=0;k=k+this.startTime){this.now=this.end;this.pos=1;this.update();a=m[this.prop]=!0;for(e in m)!0!==m[e]&&(a=!1);a&&t&&t.call(p);p=!1}else this.pos=w.easing((l-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),p=!0;return p},initPath:function(p,l,r){function w(a){for(b=a.length;b--;)"M"!==a[b]&&"L"!==a[b]||a.splice(b+1,0,a[b+1],a[b+2],a[b+1],a[b+2])}function t(a,c){for(;a.lengthm?"AM":"PM",P:12>m?"am":"pm",S:q(t.getSeconds()),L:q(Math.round(l%1E3),3)},a.dateFormats);for(k in w)for(;-1!==p.indexOf("%"+k);)p= +p.replace("%"+k,"function"===typeof w[k]?w[k](l):w[k]);return r?p.substr(0,1).toUpperCase()+p.substr(1):p};a.formatSingle=function(p,l){var r=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(p)?(r=(r=p.match(r))?r[1]:-1,null!==l&&(l=a.numberFormat(l,r,w.decimalPoint,-1=r&&(l=[1/r])));for(w=0;w=p||!t&&k<=(l[w]+(l[w+1]||l[w]))/ +2);w++);return m*r};a.stableSort=function(a,l){var r=a.length,p,t;for(t=0;tr&&(r=a[l]);return r};a.destroyObjectProperties=function(a,l){for(var r in a)a[r]&&a[r]!==l&&a[r].destroy&&a[r].destroy(),delete a[r]};a.discardElement=function(p){var l= +a.garbageBin;l||(l=a.createElement("div"));p&&l.appendChild(p);l.innerHTML=""};a.correctFloat=function(a,l){return parseFloat(a.toPrecision(l||14))};a.setAnimation=function(p,l){l.renderer.globalAnimation=a.pick(p,l.options.chart.animation,!0)};a.animObject=function(p){return a.isObject(p)?a.merge(p):{duration:p?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(p,l,r,w){p=+p||0;l=+l;var t=a.defaultOptions.lang, +k=(p.toString().split(".")[1]||"").length,m,e,g=Math.abs(p);-1===l?l=Math.min(k,20):a.isNumber(l)||(l=2);m=String(a.pInt(g.toFixed(l)));e=3p?"-":"")+(e?m.substr(0,e)+w:"");p+=m.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+w);l&&(w=Math.abs(g-m+Math.pow(10,-Math.max(l,k)-1)),p+=r+w.toFixed(l).slice(2));return p};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(p,l){return"width"===l?Math.min(p.offsetWidth, +p.scrollWidth)-a.getStyle(p,"padding-left")-a.getStyle(p,"padding-right"):"height"===l?Math.min(p.offsetHeight,p.scrollHeight)-a.getStyle(p,"padding-top")-a.getStyle(p,"padding-bottom"):(p=H.getComputedStyle(p,void 0))&&a.pInt(p.getPropertyValue(l))};a.inArray=function(a,l){return l.indexOf?l.indexOf(a):[].indexOf.call(l,a)};a.grep=function(a,l){return[].filter.call(a,l)};a.map=function(a,l){for(var r=[],p=0,t=a.length;pl;l++)w[l]+=p(255*a),0>w[l]&&(w[l]=0),255z.width)z={width:0,height:0}}else z=this.htmlGetBBox();b.isSVG&&(a=z.width, +b=z.height,c&&L&&"11px"===L.fontSize&&"16.9"===b.toPrecision(3)&&(z.height=b=14),v&&(z.width=Math.abs(b*Math.sin(d))+Math.abs(a*Math.cos(d)),z.height=Math.abs(b*Math.cos(d))+Math.abs(a*Math.sin(d))));if(g&&0]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,c,v){"string"===typeof a?v.setAttribute(c, +a):a&&this.colorGradient(a,c,v)},visibilitySetter:function(a,c,v){"inherit"===a?v.removeAttribute(c):v.setAttribute(c,a)},zIndexSetter:function(a,c){var v=this.renderer,z=this.parentGroup,b=(z||v).element||v.box,d,n=this.element,f;d=this.added;var e;k(a)&&(n.zIndex=a,a=+a,this[c]===a&&(d=!1),this[c]=a);if(d){(a=this.zIndex)&&z&&(z.handleZ=!0);c=b.childNodes;for(e=0;ea||!k(a)&&k(d)||0>a&&!k(d)&&b!==v.box)&&(b.insertBefore(n,z),f=!0);f||b.appendChild(n)}return f}, +_defaultSetter:function(a,c,v){v.setAttribute(c,a)}};D.prototype.yGetter=D.prototype.xGetter;D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.rotationSetter=D.prototype.verticalAlignSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=function(a,c){this[c]=a;this.doTransform=!0};D.prototype["stroke-widthSetter"]=D.prototype.strokeSetter=function(a,c,v){this[c]=a;this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",v),v.setAttribute("stroke-width", +this["stroke-width"]),this.hasStroke=!0):"stroke-width"===c&&0===a&&this.hasStroke&&(v.removeAttribute("stroke"),this.hasStroke=!1)};B=a.SVGRenderer=function(){this.init.apply(this,arguments)};B.prototype={Element:D,SVG_NS:K,init:function(a,c,v,b,d,n){var z;b=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(b));z=b.element;a.appendChild(z);-1===a.innerHTML.indexOf("xmlns")&&p(z,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=z;this.boxWrapper=b;this.alignedObjects= +[];this.url=(E||A)&&g.getElementsByTagName("base").length?R.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highstock 5.0.3"));this.defs=this.createElement("defs").add();this.allowHTML=n;this.forExport=d;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(c,v,!1);var f;E&&a.getBoundingClientRect&&(c=function(){w(a,{left:0,top:0});f=a.getBoundingClientRect(); +w(a,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},c(),this.unSubPixelFix=G(R,"resize",c))},getStyle:function(a){return this.style=C({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();e(this.gradients||{});this.gradients= +null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var c=new this.Element;c.init(this,a);return c},draw:J,getRadialAttr:function(a,c){return{cx:a[0]-a[2]/2+c.cx*a[2],cy:a[1]-a[2]/2+c.cy*a[2],r:c.r*a[2]}},buildText:function(a){for(var c=a.element,z=this,b=z.forExport,n=y(a.textStr,"").toString(),f=-1!==n.indexOf("\x3c"),e=c.childNodes,q,F,x,A,I=p(c,"x"),m=a.styles,k=a.textWidth,C=m&&m.lineHeight,M=m&&m.textOutline,J=m&& +"ellipsis"===m.textOverflow,E=e.length,O=k&&!a.added&&this.box,t=function(a){var v;v=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:m&&m.fontSize||z.style.fontSize||12;return C?u(C):z.fontMetrics(v,a.getAttribute("style")?a:c).h};E--;)c.removeChild(e[E]);f||M||J||k||-1!==n.indexOf(" ")?(q=/<.*class="([^"]+)".*>/,F=/<.*style="([^"]+)".*>/,x=/<.*href="(http[^"]+)".*>/,O&&O.appendChild(c),n=f?n.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(//g,"\x3c/span\x3e").split(//g):[n],n=d(n,function(a){return""!==a}),h(n,function(d,n){var f,e=0;d=d.replace(/^\s+|\s+$/g,"").replace(//g,"\x3c/span\x3e|||");f=d.split("|||");h(f,function(d){if(""!==d||1===f.length){var u={},y=g.createElementNS(z.SVG_NS,"tspan"),L,h;q.test(d)&&(L=d.match(q)[1],p(y,"class",L));F.test(d)&&(h=d.match(F)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),p(y,"style",h));x.test(d)&&!b&&(p(y, +"onclick",'location.href\x3d"'+d.match(x)[1]+'"'),w(y,{cursor:"pointer"}));d=(d.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"\x3c").replace(/>/g,"\x3e");if(" "!==d){y.appendChild(g.createTextNode(d));e?u.dx=0:n&&null!==I&&(u.x=I);p(y,u);c.appendChild(y);!e&&n&&(!v&&b&&w(y,{display:"block"}),p(y,"dy",t(y)));if(k){u=d.replace(/([^\^])-/g,"$1- ").split(" ");L="nowrap"===m.whiteSpace;for(var C=1k,void 0===A&&(A=M),J&&A?(Q/=2,""===l||!M&&.5>Q?u=[]:(l=d.substring(0,l.length+(M?-1:1)*Math.ceil(Q)),u=[l+(3k&&(k=P)),u.length&&y.appendChild(g.createTextNode(u.join(" ").replace(/- /g, +"-")));a.rotation=R}e++}}})}),A&&a.attr("title",a.textStr),O&&O.removeChild(c),M&&a.applyTextOutline&&a.applyTextOutline(M)):c.appendChild(g.createTextNode(n.replace(/</g,"\x3c").replace(/>/g,"\x3e")))},getContrast:function(a){a=r(a).rgba;return 510v?d>c+f&&de?d>c+f&&db&&e>a+f&&ed&&e>a+f&&ea?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}},rotCorr:function(a, +c,v){var b=a;c&&v&&(b=Math.max(b*Math.cos(c*m),4));return{x:-a/3*Math.sin(c*m),y:b}},label:function(a,c,v,b,d,n,f,e,K){var q=this,u=q.g("button"!==K&&"label"),y=u.text=q.text("",0,0,f).attr({zIndex:1}),g,F,z=0,A=3,L=0,m,M,J,E,O,t={},l,R,r=/^url\((.*?)\)$/.test(b),p=r,P,w,Q,S;K&&u.addClass("highcharts-"+K);p=r;P=function(){return(l||0)%2/2};w=function(){var a=y.element.style,c={};F=(void 0===m||void 0===M||O)&&k(y.textStr)&&y.getBBox();u.width=(m||F.width||0)+2*A+L;u.height=(M||F.height||0)+2*A;R= +A+q.fontMetrics(a&&a.fontSize,y).b;p&&(g||(u.box=g=q.symbols[b]||r?q.symbol(b):q.rect(),g.addClass(("button"===K?"":"highcharts-label-box")+(K?" highcharts-"+K+"-box":"")),g.add(u),a=P(),c.x=a,c.y=(e?-R:0)+a),c.width=Math.round(u.width),c.height=Math.round(u.height),g.attr(C(c,t)),t={})};Q=function(){var a=L+A,c;c=e?0:R;k(m)&&F&&("center"===O||"right"===O)&&(a+={center:.5,right:1}[O]*(m-F.width));if(a!==y.x||c!==y.y)y.attr("x",a),void 0!==c&&y.attr("y",c);y.x=a;y.y=c};S=function(a,c){g?g.attr(a,c): +t[a]=c};u.onAdd=function(){y.add(u);u.attr({text:a||0===a?a:"",x:c,y:v});g&&k(d)&&u.attr({anchorX:d,anchorY:n})};u.widthSetter=function(a){m=a};u.heightSetter=function(a){M=a};u["text-alignSetter"]=function(a){O=a};u.paddingSetter=function(a){k(a)&&a!==A&&(A=u.padding=a,Q())};u.paddingLeftSetter=function(a){k(a)&&a!==L&&(L=a,Q())};u.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==z&&(z=a,F&&u.attr({x:J}))};u.textSetter=function(a){void 0!==a&&y.textSetter(a);w();Q()};u["stroke-widthSetter"]= +function(a,c){a&&(p=!0);l=this["stroke-width"]=a;S(c,a)};u.strokeSetter=u.fillSetter=u.rSetter=function(a,c){"fill"===c&&a&&(p=!0);S(c,a)};u.anchorXSetter=function(a,c){d=a;S(c,Math.round(a)-P()-J)};u.anchorYSetter=function(a,c){n=a;S(c,a-E)};u.xSetter=function(a){u.x=a;z&&(a-=z*((m||F.width)+2*A));J=Math.round(a);u.attr("translateX",J)};u.ySetter=function(a){E=u.y=Math.round(a);u.attr("translateY",E)};var T=u.css;return C(u,{css:function(a){if(a){var c={};a=x(a);h(u.textProps,function(v){void 0!== +a[v]&&(c[v]=a[v],delete a[v])});y.css(c)}return T.call(u,a)},getBBox:function(){return{width:F.width+2*A,height:F.height+2*A,x:F.x-A,y:F.y-A}},shadow:function(a){a&&(w(),g&&g.shadow(a));return u},destroy:function(){I(u.element,"mouseenter");I(u.element,"mouseleave");y&&(y=y.destroy());g&&(g=g.destroy());D.prototype.destroy.call(u);u=q=w=Q=S=null}})}};a.Renderer=B})(N);(function(a){var D=a.attr,B=a.createElement,G=a.css,H=a.defined,p=a.each,l=a.extend,r=a.isFirefox,w=a.isMS,t=a.isWebKit,k=a.pInt,m= +a.SVGRenderer,e=a.win,g=a.wrap;l(a.SVGElement.prototype,{htmlCss:function(a){var e=this.element;if(e=a&&"SPAN"===e.tagName&&a.width)delete a.width,this.textWidth=e,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=l(this.styles,a);G(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a= +this.renderer,e=this.element,f=this.translateX||0,d=this.translateY||0,b=this.x||0,q=this.y||0,g=this.textAlign||"left",c={left:0,center:.5,right:1}[g],F=this.styles;G(e,{marginLeft:f,marginTop:d});this.shadows&&p(this.shadows,function(a){G(a,{marginLeft:f+1,marginTop:d+1})});this.inverted&&p(e.childNodes,function(c){a.invertChild(c,e)});if("SPAN"===e.tagName){var n=this.rotation,A=k(this.textWidth),x=F&&F.whiteSpace,m=[n,g,e.innerHTML,this.textWidth,this.textAlign].join();m!==this.cTT&&(F=a.fontMetrics(e.style.fontSize).b, +H(n)&&this.setSpanRotation(n,c,F),G(e,{width:"",whiteSpace:x||"nowrap"}),e.offsetWidth>A&&/[ \-]/.test(e.textContent||e.innerText)&&G(e,{width:A+"px",display:"block",whiteSpace:x||"normal"}),this.getSpanCorrection(e.offsetWidth,F,c,n,g));G(e,{left:b+(this.xCorr||0)+"px",top:q+(this.yCorr||0)+"px"});t&&(F=e.offsetHeight);this.cTT=m}}else this.alignOnAdd=!0},setSpanRotation:function(a,g,f){var d={},b=w?"-ms-transform":t?"-webkit-transform":r?"MozTransform":e.opera?"-o-transform":"";d[b]=d.transform= +"rotate("+a+"deg)";d[b+(r?"Origin":"-origin")]=d.transformOrigin=100*g+"% "+f+"px";G(this.element,d)},getSpanCorrection:function(a,e,f){this.xCorr=-a*f;this.yCorr=-e}});l(m.prototype,{html:function(a,e,f){var d=this.createElement("span"),b=d.element,q=d.renderer,h=q.isSVG,c=function(a,c){p(["opacity","visibility"],function(b){g(a,b+"Setter",function(a,b,d,n){a.call(this,b,d,n);c[d]=b})})};d.textSetter=function(a){a!==b.innerHTML&&delete this.bBox;b.innerHTML=this.textStr=a;d.htmlUpdateTransform()}; +h&&c(d,d.element.style);d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter=function(a,c){"align"===c&&(c="textAlign");d[c]=a;d.htmlUpdateTransform()};d.attr({text:a,x:Math.round(e),y:Math.round(f)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});b.style.whiteSpace="nowrap";d.css=d.htmlCss;h&&(d.add=function(a){var n,f=q.box.parentNode,e=[];if(this.parentGroup=a){if(n=a.div,!n){for(;a;)e.push(a),a=a.parentGroup;p(e.reverse(),function(a){var b,d=D(a.element, +"class");d&&(d={className:d});n=a.div=a.div||B("div",d,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},n||f);b=n.style;l(a,{translateXSetter:function(c,d){b.left=c+"px";a[d]=c;a.doTransform=!0},translateYSetter:function(c,d){b.top=c+"px";a[d]=c;a.doTransform=!0}});c(a,b)})}}else n=f;n.appendChild(b);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d});return d}})})(N);(function(a){var D, +B,G=a.createElement,H=a.css,p=a.defined,l=a.deg2rad,r=a.discardElement,w=a.doc,t=a.each,k=a.erase,m=a.extend;D=a.extendClass;var e=a.isArray,g=a.isNumber,h=a.isObject,C=a.merge;B=a.noop;var f=a.pick,d=a.pInt,b=a.SVGElement,q=a.SVGRenderer,E=a.win;a.svg||(B={docMode8:w&&8===w.documentMode,init:function(a,b){var c=["\x3c",b,' filled\x3d"f" stroked\x3d"f"'],d=["position: ","absolute",";"],f="div"===b;("shape"===b||f)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",f?"hidden":"visible"); +c.push(' style\x3d"',d.join(""),'"/\x3e');b&&(c=f||"span"===b||"img"===b?c.join(""):a.prepVML(c),this.element=G(c));this.renderer=a},add:function(a){var c=this.renderer,b=this.element,d=c.box,f=a&&a.inverted,d=a?a.element||a:d;a&&(this.parentGroup=a);f&&c.invertChild(b,d);d.appendChild(b);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},updateTransform:b.prototype.htmlUpdateTransform, +setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*l),d=Math.sin(a*l);H(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",b,", M12\x3d",-d,", M21\x3d",d,", M22\x3d",b,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,d,e,q){var c=e?Math.cos(e*l):1,n=e?Math.sin(e*l):0,u=f(this.elemHeight,this.element.offsetHeight),g;this.xCorr=0>c&&-a;this.yCorr=0>n&&-u;g=0>c*n;this.xCorr+=n*b*(g?1-d:d);this.yCorr-=c*b*(e?g?d:1-d:1);q&&"left"!== +q&&(this.xCorr-=a*d*(0>c?-1:1),e&&(this.yCorr-=u*d*(0>n?-1:1)),H(this.element,{textAlign:q}))},pathToVML:function(a){for(var c=a.length,b=[];c--;)g(a[c])?b[c]=Math.round(10*a[c])-5:"Z"===a[c]?b[c]="x":(b[c]=a[c],!a.isArc||"wa"!==a[c]&&"at"!==a[c]||(b[c+5]===b[c+7]&&(b[c+7]+=a[c+7]>a[c+5]?1:-1),b[c+6]===b[c+8]&&(b[c+8]+=a[c+8]>a[c+6]?1:-1)));return b.join(" ")||"x"},clip:function(a){var c=this,b;a?(b=a.members,k(b,c),b.push(c),c.destroyClip=function(){k(b,c)},a=a.getCSS(c)):(c.destroyClip&&c.destroyClip(), +a={clip:c.docMode8?"inherit":"rect(auto)"});return c.css(a)},css:b.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&r(a)},destroy:function(){this.destroyClip&&this.destroyClip();return b.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=E.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c;a=a.split(/[ ,]/);c=a.length;if(9===c||11===c)a[c-4]=a[c-2]=d(a[c-2])-10*b;return a.join(" ")},shadow:function(a,b,e){var c=[],n,q=this.element, +g=this.renderer,u,I=q.style,F,v=q.path,K,h,m,z;v&&"string"!==typeof v.value&&(v="x");h=v;if(a){m=f(a.width,3);z=(a.opacity||.15)/m;for(n=1;3>=n;n++)K=2*m+1-2*n,e&&(h=this.cutOffPath(v.value,K+.5)),F=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',K,'" filled\x3d"false" path\x3d"',h,'" coordsize\x3d"10 10" style\x3d"',q.style.cssText,'" /\x3e'],u=G(g.prepVML(F),null,{left:d(I.left)+f(a.offsetX,1),top:d(I.top)+f(a.offsetY,1)}),e&&(u.cutOff=K+1),F=['\x3cstroke color\x3d"',a.color||"#000000",'" opacity\x3d"', +z*n,'"/\x3e'],G(g.prepVML(F),null,null,u),b?b.element.appendChild(u):q.parentNode.insertBefore(u,q),c.push(u);this.shadows=c}return this},updateShadows:B,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,b,d){(d.getElementsByTagName("stroke")[0]||G(this.renderer.prepVML(["\x3cstroke/\x3e"]),null,null,d))[b]=a||"solid";this[b]=a},dSetter:function(a,b,d){var c=this.shadows; +a=a||[];this.d=a.join&&a.join(" ");d.path=a=this.pathToVML(a);if(c)for(d=c.length;d--;)c[d].path=c[d].cutOff?this.cutOffPath(a,c[d].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,d){var c=d.nodeName;"SPAN"===c?d.style.color=a:"IMG"!==c&&(d.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,d,b,this)))},"fill-opacitySetter":function(a,b,d){G(this.renderer.prepVML(["\x3c",b.split("-")[0],' opacity\x3d"',a,'"/\x3e']),null,null,d)},opacitySetter:B,rotationSetter:function(a,b,d){d= +d.style;this[b]=d[b]=a;d.left=-Math.round(Math.sin(a*l)+1)+"px";d.top=Math.round(Math.cos(a*l))+"px"},strokeSetter:function(a,b,d){this.setAttr("strokecolor",this.renderer.color(a,d,b,this))},"stroke-widthSetter":function(a,b,d){d.stroked=!!a;this[b]=a;g(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,d){"inherit"===a&&(a="visible");this.shadows&&t(this.shadows,function(c){c.style[b]=a});"DIV"===d.nodeName&&(a="hidden"===a?"-999em": +0,this.docMode8||(d.style[b]=a?"visible":"hidden"),b="top");d.style[b]=a},xSetter:function(a,b,d){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):d.style[b]=a},zIndexSetter:function(a,b,d){d.style[b]=a}},B["stroke-opacitySetter"]=B["fill-opacitySetter"],a.VMLElement=B=D(b,B),B.prototype.ySetter=B.prototype.widthSetter=B.prototype.heightSetter=B.prototype.xSetter,B={Element:B,isIE8:-1l[0]&&c.push([1,l[1]]);t(c,function(c,b){q.test(c[1])?(n=a.color(c[1]),v=n.get("rgb"),K=n.get("a")):(v=c[1],K=1);r.push(100*c[0]+"% "+v);b?(m=K,k=v):(z=K,E=v)});if("fill"===d)if("gradient"===g)d=A.x1||A[0]||0,c=A.y1||A[1]||0,F=A.x2||A[2]||0,A=A.y2||A[3]||0,C='angle\x3d"'+(90-180*Math.atan((A-c)/(F-d))/Math.PI)+'"',p();else{var h=A.r,w=2*h,B=2*h,D=A.cx,H=A.cy,V=b.radialReference,U,h=function(){V&&(U=f.getBBox(),D+=(V[0]- +U.x)/U.width-.5,H+=(V[1]-U.y)/U.height-.5,w*=V[2]/U.width,B*=V[2]/U.height);C='src\x3d"'+a.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+w+","+B+'" origin\x3d"0.5,0.5" position\x3d"'+D+","+H+'" color2\x3d"'+E+'" ';p()};f.added?h():f.onAdd=h;h=k}else h=v}else q.test(c)&&"IMG"!==b.tagName?(n=a.color(c),f[d+"-opacitySetter"](n.get("a"),d,b),h=n.get("rgb")):(h=b.getElementsByTagName(d),h.length&&(h[0].opacity=1,h[0].type="solid"),h=c);return h},prepVML:function(a){var c=this.isIE8;a=a.join(""); +c?(a=a.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),a=-1===a.indexOf('style\x3d"')?a.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(#default#VML);" /\x3e'):a.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(#default#VML);')):a=a.replace("\x3c","\x3chcv:");return a},text:q.prototype.html,path:function(a){var c={coordsize:"10 10"};e(a)?c.d=a:h(a)&&m(c,a);return this.createElement("shape").attr(c)},circle:function(a,b,d){var c=this.symbol("circle"); +h(a)&&(d=a.r,b=a.y,a=a.x);c.isCircle=!0;c.r=d;return c.attr({x:a,y:b})},g:function(a){var c;a&&(c={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement("div").attr(c)},image:function(a,b,d,f,e){var c=this.createElement("img").attr({src:a});1f&&m-d*bg&&(F=Math.round((e-m)/Math.cos(f*w)));else if(e=m+(1-d)*b,m-d*bg&&(E=g-a.x+E*d,c=-1),E=Math.min(q, +E),EE||k.autoRotation&&(C.styles||{}).width)F=E;F&&(n.width=F,(k.options.labels.style||{}).textOverflow||(n.textOverflow="ellipsis"),C.css(n))},getPosition:function(a,k,m,e){var g=this.axis,h=g.chart,l=e&&h.oldChartHeight||h.chartHeight;return{x:a?g.translate(k+m,null,null,e)+g.transB:g.left+g.offset+(g.opposite?(e&&h.oldChartWidth||h.chartWidth)-g.right-g.left:0),y:a?l-g.bottom+g.offset-(g.opposite?g.height:0):l-g.translate(k+m,null, +null,e)-g.transB}},getLabelPosition:function(a,k,m,e,g,h,l,f){var d=this.axis,b=d.transA,q=d.reversed,E=d.staggerLines,c=d.tickRotCorr||{x:0,y:0},F=g.y;B(F)||(F=0===d.side?m.rotation?-8:-m.getBBox().height:2===d.side?c.y+8:Math.cos(m.rotation*w)*(c.y-m.getBBox(!1,0).height/2));a=a+g.x+c.x-(h&&e?h*b*(q?-1:1):0);k=k+F-(h&&!e?h*b*(q?1:-1):0);E&&(m=l/(f||1)%E,d.opposite&&(m=E-m-1),k+=d.labelOffset/E*m);return{x:a,y:Math.round(k)}},getMarkPath:function(a,k,m,e,g,h){return h.crispLine(["M",a,k,"L",a+(g? +0:-m),k+(g?m:0)],e)},render:function(a,k,m){var e=this.axis,g=e.options,h=e.chart.renderer,C=e.horiz,f=this.type,d=this.label,b=this.pos,q=g.labels,E=this.gridLine,c=f?f+"Tick":"tick",F=e.tickSize(c),n=this.mark,A=!n,x=q.step,p={},y=!0,u=e.tickmarkOffset,I=this.getPosition(C,b,u,k),M=I.x,I=I.y,v=C&&M===e.pos+e.len||!C&&I===e.pos?-1:1,K=f?f+"Grid":"grid",O=g[K+"LineWidth"],R=g[K+"LineColor"],z=g[K+"LineDashStyle"],K=l(g[c+"Width"],!f&&e.isXAxis?1:0),c=g[c+"Color"];m=l(m,1);this.isActive=!0;E||(p.stroke= +R,p["stroke-width"]=O,z&&(p.dashstyle=z),f||(p.zIndex=1),k&&(p.opacity=0),this.gridLine=E=h.path().attr(p).addClass("highcharts-"+(f?f+"-":"")+"grid-line").add(e.gridGroup));if(!k&&E&&(b=e.getPlotLinePath(b+u,E.strokeWidth()*v,k,!0)))E[this.isNew?"attr":"animate"]({d:b,opacity:m});F&&(e.opposite&&(F[0]=-F[0]),A&&(this.mark=n=h.path().addClass("highcharts-"+(f?f+"-":"")+"tick").add(e.axisGroup),n.attr({stroke:c,"stroke-width":K})),n[A?"attr":"animate"]({d:this.getMarkPath(M,I,F[0],n.strokeWidth()* +v,C,h),opacity:m}));d&&H(M)&&(d.xy=I=this.getLabelPosition(M,I,d,C,q,u,a,x),this.isFirst&&!this.isLast&&!l(g.showFirstLabel,1)||this.isLast&&!this.isFirst&&!l(g.showLastLabel,1)?y=!1:!C||e.isRadial||q.step||q.rotation||k||0===m||this.handleOverflow(I),x&&a%x&&(y=!1),y&&H(I.y)?(I.opacity=m,d[this.isNew?"attr":"animate"](I)):(r(d),d.attr("y",-9999)),this.isNew=!1)},destroy:function(){G(this,this.axis)}}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.AxisPlotLineOrBandExtension, +l=a.color,r=a.correctFloat,w=a.defaultOptions,t=a.defined,k=a.deg2rad,m=a.destroyObjectProperties,e=a.each,g=a.error,h=a.extend,C=a.fireEvent,f=a.format,d=a.getMagnitude,b=a.grep,q=a.inArray,E=a.isArray,c=a.isNumber,F=a.isString,n=a.merge,A=a.normalizeTickInterval,x=a.pick,J=a.PlotLineOrBand,y=a.removeEvent,u=a.splat,I=a.syncTimeout,M=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M", +hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb", +lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15}, +title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,c){var b=c.isX;this.chart=a;this.horiz=a.inverted?!b:b;this.isXAxis=b;this.coll=this.coll||(b?"xAxis":"yAxis");this.opposite=c.opposite;this.side=c.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(c);var d=this.options,v=d.type;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter; +this.userOptions=c;this.minPixelPadding=0;this.reversed=d.reversed;this.visible=!1!==d.visible;this.zoomEnabled=!1!==d.zoomEnabled;this.hasNames="category"===v||!0===d.categories;this.categories=d.categories||this.hasNames;this.names=this.names||[];this.isLog="logarithmic"===v;this.isDatetimeAxis="datetime"===v;this.isLinked=t(d.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom; +this.range=d.range;this.offset=d.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=x(d.crosshair,u(a.options.tooltip.crosshairs)[b?0:1],!1);var f;c=this.options.events;-1===q(this,a.axes)&&(b?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&b&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(f in c)D(this,f,c[f]); +this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=n(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],n(w[this.coll],a))},defaultLabelFormatter:function(){var c=this.axis,b=this.value,d=c.categories,e=this.dateTimeLabelFormat,q=w.lang,u=q.numericSymbols,q=q.numericSymbolMagnitude||1E3,n=u&&u.length,g,y=c.options.labels.format, +c=c.isLog?b:c.tickInterval;if(y)g=f(y,this);else if(d)g=b;else if(e)g=a.dateFormat(e,b);else if(n&&1E3<=c)for(;n--&&void 0===g;)d=Math.pow(q,n+1),c>=d&&0===10*b%d&&null!==u[n]&&0!==b&&(g=a.numberFormat(b/d,-1)+u[n]);void 0===g&&(g=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b,-1,void 0,""));return g},getSeriesExtremes:function(){var a=this,d=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();e(a.series,function(v){if(v.visible|| +!d.options.chart.ignoreHiddenSeries){var f=v.options,e=f.threshold,q;a.hasVisibleSeries=!0;a.isLog&&0>=e&&(e=null);if(a.isXAxis)f=v.xData,f.length&&(v=H(f),c(v)||v instanceof Date||(f=b(f,function(a){return c(a)}),v=H(f)),a.dataMin=Math.min(x(a.dataMin,f[0]),v),a.dataMax=Math.max(x(a.dataMax,f[0]),G(f)));else if(v.getExtremes(),q=v.dataMax,v=v.dataMin,t(v)&&t(q)&&(a.dataMin=Math.min(x(a.dataMin,v),v),a.dataMax=Math.max(x(a.dataMax,q),q)),t(e)&&(a.threshold=e),!f.softThreshold||a.isLog)a.softThreshold= +!1}})},translate:function(a,b,d,f,e,q){var v=this.linkedParent||this,u=1,n=0,g=f?v.oldTransA:v.transA;f=f?v.oldMin:v.min;var K=v.minPixelPadding;e=(v.isOrdinal||v.isBroken||v.isLog&&e)&&v.lin2val;g||(g=v.transA);d&&(u*=-1,n=v.len);v.reversed&&(u*=-1,n-=u*(v.sector||v.len));b?(a=(a*u+n-K)/g+f,e&&(a=v.lin2val(a))):(e&&(a=v.val2lin(a)),a=u*(a-f)*g+n+u*K+(c(q)?g*q:0));return a},toPixels:function(a,c){return this.translate(a,!1,!this.horiz,null,!0)+(c?0:this.pos)},toValue:function(a,c){return this.translate(a- +(c?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,d,f,e){var v=this.chart,q=this.left,u=this.top,n,g,K=d&&v.oldChartHeight||v.chartHeight,y=d&&v.oldChartWidth||v.chartWidth,z;n=this.transB;var h=function(a,c,b){if(ab)f?a=Math.min(Math.max(c,a),b):z=!0;return a};e=x(e,this.translate(a,null,null,d));a=d=Math.round(e+n);n=g=Math.round(K-e-n);c(e)?this.horiz?(n=u,g=K-this.bottom,a=d=h(a,q,q+this.width)):(a=q,d=y-this.right,n=g=h(n,u,u+this.height)):z=!0;return z&&!f?null:v.renderer.crispLine(["M", +a,n,"L",d,g],b||1)},getLinearTickPositions:function(a,b,d){var v,f=r(Math.floor(b/a)*a),e=r(Math.ceil(d/a)*a),q=[];if(b===d&&c(b))return[b];for(b=f;b<=e;){q.push(b);b=r(b+a);if(b===v)break;v=b}return q},getMinorTickPositions:function(){var a=this.options,c=this.tickPositions,b=this.minorTickInterval,d=[],f,e=this.pointRangePadding||0;f=this.min-e;var e=this.max+e,q=e-f;if(q&&q/b=this.minRange,q,u,n,g,y,h;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(t(a.min)||t(a.max)?this.minRange=null:(e(this.series,function(a){g=a.xData;for(u=y=a.xIncrement? +1:g.length-1;0=E?(p=E,m=0):b.dataMax<=E&&(J=E,I=0)),b.min=x(w,p,b.dataMin),b.max=x(B,J,b.dataMax));q&&(!a&&0>=Math.min(b.min, +x(b.dataMin,b.min))&&g(10,1),b.min=r(u(b.min),15),b.max=r(u(b.max),15));b.range&&t(b.max)&&(b.userMin=b.min=w=Math.max(b.min,b.minFromRange()),b.userMax=B=b.max,b.range=null);C(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(l||b.axisPointRange||b.usePercentage||h)&&t(b.min)&&t(b.max)&&(u=b.max-b.min)&&(!t(w)&&m&&(b.min-=u*m),!t(B)&&I&&(b.max+=u*I));c(f.floor)?b.min=Math.max(b.min,f.floor):c(f.softMin)&&(b.min=Math.min(b.min,f.softMin));c(f.ceiling)?b.max=Math.min(b.max, +f.ceiling):c(f.softMax)&&(b.max=Math.max(b.max,f.softMax));M&&t(b.dataMin)&&(E=E||0,!t(w)&&b.min=E?b.min=E:!t(B)&&b.max>E&&b.dataMax<=E&&(b.max=E));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:h&&!k&&F===b.linkedParent.options.tickPixelInterval?k=b.linkedParent.tickInterval:x(k,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,l?1:(b.max-b.min)*F/Math.max(b.len,F));y&&!a&&e(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0); +b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!k&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));a=x(f.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!k&&b.tickIntervalb.tickInterval&&1E3b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval= +b.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,d=a.tickPositioner,f=a.startOnTick,e=a.endOnTick,q;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units), +this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,d&&(d=d.apply(this,[this.min,this.max])))&&(this.tickPositions=b=d);this.isLinked||(this.trimTicks(b,f,e),this.min===this.max&&t(this.min)&&!this.tickAmount&&(q=!0,this.min-=.5,this.max+=.5),this.single=q,c||d||this.adjustTickAmount())}, +trimTicks:function(a,b,c){var d=a[0],f=a[a.length-1],v=this.minPointOffset||0;if(b)this.min=d;else for(;this.min-v>a[0];)a.shift();if(c)this.max=f;else for(;this.max+vb&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,d=this.finalTickAmt,f=b&&b.length;if(fc&&(this.tickInterval*= +2,this.setTickPositions());if(t(d)){for(a=c=b.length;a--;)(3===d&&1===a%2||2>=d&&0=f&&(b=f)),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=this.horiz,f=x(b.width,a.plotWidth-c+(b.offsetRight||0)),e=x(b.height,a.plotHeight),q=x(b.top,a.plotTop),b=x(b.left,a.plotLeft+c),c=/%$/;c.test(e)&&(e=Math.round(parseFloat(e)/ +100*a.plotHeight));c.test(q)&&(q=Math.round(parseFloat(q)/100*a.plotHeight+a.plotTop));this.left=b;this.top=q;this.width=f;this.height=e;this.bottom=a.chartHeight-e-q;this.right=a.chartWidth-f-b;this.len=Math.max(d?f:e,0);this.pos=d?b:q},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?r(b(this.min)):this.min,max:a?r(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=this.lin2log, +d=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=d:d>a?a=d:ba?"right":195a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],d=x(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(d&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,d]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize, +this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,d=c,f=this.len/(((this.categories?1:0)+this.max-this.min)/c),q,u=a.rotation,n=this.labelMetrics(),g,y=Number.MAX_VALUE,h,I=function(a){a/=f||1;a=1=a)g=I(Math.abs(n.h/Math.sin(k*a))),b=g+Math.abs(a/360),b(c.step||0)&&!c.rotation&&(this.staggerLines||1)*a.plotWidth/d||!b&&(f&&f-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,d=this.ticks,f=this.options.labels,q=this.horiz,u=this.getSlotWidth(),g=Math.max(1, +Math.round(u-2*(f.padding||5))),y={},h=this.labelMetrics(),I=f.style&&f.style.textOverflow,A,x=0,m,k;F(f.rotation)||(y.rotation=f.rotation||0);e(c,function(a){(a=d[a])&&a.labelLength>x&&(x=a.labelLength)});this.maxLabelLength=x;if(this.autoRotation)x>g&&x>h.h?y.rotation=this.labelRotation:this.labelRotation=0;else if(u&&(A={width:g+"px"},!I))for(A.textOverflow="clip",m=c.length;!q&&m--;)if(k=c[m],g=d[k].label)g.styles&&"ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):d[k].labelLength> +u&&g.css({width:u+"px"}),g.getBBox().height>this.len/c.length-(h.h-h.f)&&(g.specCss={textOverflow:"ellipsis"});y.rotation&&(A={width:(x>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},I||(A.textOverflow="ellipsis"));if(this.labelAlign=f.align||this.autoLabelAlign(this.labelRotation))y.align=this.labelAlign;e(c,function(a){var b=(a=d[a])&&a.label;b&&(b.attr(y),A&&b.css(n(A,b.specCss)),delete b.specCss,a.rotation=y.rotation)});this.tickRotCorr=b.rotCorr(h.b,this.labelRotation||0,0!==this.side)}, +hasData:function(){return this.hasVisibleSeries||t(this.min)&&t(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,f=a.tickPositions,q=a.ticks,u=a.horiz,n=a.side,g=b.inverted?[1,0,3,2][n]:n,y,h,I=0,A,m=0,k=d.title,F=d.labels,E=0,l=a.opposite,C=b.axisOffset,b=b.clipOffset,p=[-1,1,1,-1][n],r,J=d.className,w=a.axisParent,B=this.tickSize("tick");y=a.hasData();a.showAxis=h=y||x(d.showEmpty,!0);a.staggerLines=a.horiz&&F.staggerLines;a.axisGroup||(a.gridGroup= +c.g("grid").attr({zIndex:d.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(J||"")).add(w),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(J||"")).add(w),a.labelGroup=c.g("axis-labels").attr({zIndex:F.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(J||"")).add(w));if(y||a.isLinked)e(f,function(b){q[b]?q[b].addLabel():q[b]=new M(a,b)}),a.renderUnsquish(),!1===F.reserveSpace||0!==n&&2!==n&&{1:"left",3:"right"}[n]!== +a.labelAlign&&"center"!==a.labelAlign||e(f,function(a){E=Math.max(q[a].getLabelSize(),E)}),a.staggerLines&&(E*=a.staggerLines,a.labelOffset=E*(a.opposite?-1:1));else for(r in q)q[r].destroy(),delete q[r];k&&k.text&&!1!==k.enabled&&(a.axisTitle||((r=k.textAlign)||(r=(u?{low:"left",middle:"center",high:"right"}:{low:l?"right":"left",middle:"center",high:l?"left":"right"})[k.align]),a.axisTitle=c.text(k.text,0,0,k.useHTML).attr({zIndex:7,rotation:k.rotation||0,align:r}).addClass("highcharts-axis-title").css(k.style).add(a.axisGroup), +a.axisTitle.isNew=!0),h&&(I=a.axisTitle.getBBox()[u?"height":"width"],A=k.offset,m=t(A)?0:x(k.margin,u?5:10)),a.axisTitle[h?"show":"hide"](!0));a.renderLine();a.offset=p*x(d.offset,C[n]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===n?-a.labelMetrics().h:2===n?a.tickRotCorr.y:0;m=Math.abs(E)+m;E&&(m=m-c+p*(u?x(F.y,a.tickRotCorr.y+8*p):F.x));a.axisTitleMargin=x(A,m);C[n]=Math.max(C[n],a.axisTitleMargin+I+p*a.offset,m,y&&f.length&&B?B[0]:0);d=d.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[g]= +Math.max(b[g],d)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,f=this.horiz,e=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",f?this.left:e,f?d:this.top,"L",f?b.chartWidth-this.right:e,f?d:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor, +"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,f=this.options.title,e=a?b:c,q=this.opposite,u=this.offset,n=f.x||0,g=f.y||0,y=this.chart.renderer.fontMetrics(f.style&&f.style.fontSize,this.axisTitle).f,d={low:e+(a?0:d),middle:e+d/2,high:e+(a?d:0)}[f.align],b=(a?c+this.height:b)+(a?1:-1)*(q?-1:1)*this.axisTitleMargin+(2===this.side?y:0);return{x:a?d+n:b+(q?this.width:0)+u+n,y:a?b+g-(q?this.height:0)+u:d+g}},render:function(){var a= +this,b=a.chart,d=b.renderer,f=a.options,q=a.isLog,u=a.lin2log,n=a.isLinked,g=a.tickPositions,y=a.axisTitle,h=a.ticks,A=a.minorTicks,x=a.alternateBands,m=f.stackLabels,k=f.alternateGridColor,F=a.tickmarkOffset,E=a.axisLine,l=b.hasRendered&&c(a.oldMin),C=a.showAxis,p=B(d.globalAnimation),r,t;a.labelEdge.length=0;a.overlap=!1;e([h,A,x],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||n)a.minorTickInterval&&!a.categories&&e(a.getMinorTickPositions(),function(b){A[b]||(A[b]=new M(a,b,"minor")); +l&&A[b].isNew&&A[b].render(null,!0);A[b].render(null,!1,1)}),g.length&&(e(g,function(b,c){if(!n||b>=a.min&&b<=a.max)h[b]||(h[b]=new M(a,b)),l&&h[b].isNew&&h[b].render(c,!0,.1),h[b].render(c)}),F&&(0===a.min||a.single)&&(h[-1]||(h[-1]=new M(a,-1,null,!0)),h[-1].render(-1))),k&&e(g,function(c,d){t=void 0!==g[d+1]?g[d+1]+F:a.max-F;0===d%2&&c=e.second?0:A*Math.floor(c.getMilliseconds()/A));if(n>=e.second)c[B.hcSetSeconds](n>=e.minute?0:A*Math.floor(c.getSeconds()/ +A));if(n>=e.minute)c[B.hcSetMinutes](n>=e.hour?0:A*Math.floor(c[B.hcGetMinutes]()/A));if(n>=e.hour)c[B.hcSetHours](n>=e.day?0:A*Math.floor(c[B.hcGetHours]()/A));if(n>=e.day)c[B.hcSetDate](n>=e.month?1:A*Math.floor(c[B.hcGetDate]()/A));n>=e.month&&(c[B.hcSetMonth](n>=e.year?0:A*Math.floor(c[B.hcGetMonth]()/A)),g=c[B.hcGetFullYear]());if(n>=e.year)c[B.hcSetFullYear](g-g%A);if(n===e.week)c[B.hcSetDate](c[B.hcGetDate]()-c[B.hcGetDay]()+m(f,1));g=c[B.hcGetFullYear]();f=c[B.hcGetMonth]();var C=c[B.hcGetDate](), +y=c[B.hcGetHours]();if(B.hcTimezoneOffset||B.hcGetTimezoneOffset)x=(!q||!!B.hcGetTimezoneOffset)&&(k-h>4*e.month||t(h)!==t(k)),c=c.getTime(),c=new B(c+t(c));q=c.getTime();for(h=1;qr&&(!t||b<=w)&&void 0!==b&&h.push(b),b>w&&(q=!0),b=d;else r=e(r),w= +e(w),a=k[t?"minorTickInterval":"tickInterval"],a=p("auto"===a?null:a,this._minorAutoInterval,k.tickPixelInterval/(t?5:1)*(w-r)/((t?m/this.tickPositions.length:m)||1)),a=H(a,null,B(a)),h=G(this.getLinearTickPositions(a,r,w),g),t||(this._minorAutoInterval=a/5);t||(this.tickInterval=a);return h};D.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};D.prototype.lin2log=function(a){return Math.pow(10,a)}})(N);(function(a){var D=a.dateFormat,B=a.each,G=a.extend,H=a.format,p=a.isNumber,l=a.map,r= +a.merge,w=a.pick,t=a.splat,k=a.stop,m=a.syncTimeout,e=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,e){this.chart=a;this.options=e;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=e.split&&!a.inverted;this.shared=e.shared||this.split},cleanSplit:function(a){B(this.chart.series,function(e){var g=e&&e.tt;g&&(!g.isActive||a?e.tt=g.destroy():g.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,e=this.options;this.label|| +(this.split?this.label=a.g("tooltip"):(this.label=a.label("",0,0,e.shape||"callout",null,null,e.useHTML,null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),this.label.attr({fill:e.backgroundColor,"stroke-width":e.borderWidth}).css(e.style).shadow(e.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,r(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart, +!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,e,m,f){var d=this,b=d.now,q=!1!==d.options.animation&&!d.isHidden&&(1h-q?h:h-q);else if(v)b[a]=Math.max(g,e+q+f>c?e:e+q);else return!1},x=function(a,c,f,e){var q;ec-d?q=!1:b[a]=ec-f/2?c-f-2:e-f/2;return q},k=function(a){var b=c;c=h;h=b;g=a},y=function(){!1!==A.apply(0,c)?!1!==x.apply(0,h)||g||(k(!0),y()):g?b.x=b.y=0:(k(!0),y())};(f.inverted||1y&&(q=!1);a=(e.series&&e.series.yAxis&&e.series.yAxis.pos)+(e.plotY||0);a-=d.plotTop;f.push({target:e.isHeader?d.plotHeight+c:a,rank:e.isHeader?1:0,size:n.tt.getBBox().height+1,point:e,x:y,tt:A})});this.cleanSplit(); +a.distribute(f,d.plotHeight+c);B(f,function(a){var b=a.point;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:q||b.isHeader?a.x:b.plotX+d.plotLeft+w(m.distance,16),y:a.pos+d.plotTop,anchorX:b.plotX+d.plotLeft,anchorY:b.isHeader?a.pos+d.plotTop-15:b.plotY+d.plotTop})})},updatePosition:function(a){var e=this.chart,g=this.getLabel(),g=(this.options.positioner||this.getPosition).call(this,g.width,g.height,a);this.move(Math.round(g.x),Math.round(g.y||0),a.plotX+e.plotLeft,a.plotY+e.plotTop)}, +getXDateFormat:function(a,h,m){var f;h=h.dateTimeLabelFormats;var d=m&&m.closestPointRange,b,q={millisecond:15,second:12,minute:9,hour:6,day:3},g,c="millisecond";if(d){g=D("%m-%d %H:%M:%S.%L",a.x);for(b in e){if(d===e.week&&+D("%w",a.x)===m.options.startOfWeek&&"00:00:00.000"===g.substr(6)){b="week";break}if(e[b]>d){b=c;break}if(q[b]&&g.substr(q[b])!=="01-01 00:00:00.000".substr(q[b]))break;"week"!==b&&(c=b)}b&&(f=h[b])}else f=h.day;return f||h.year},tooltipFooterHeaderFormatter:function(a,e){var g= +e?"footer":"header";e=a.series;var f=e.tooltipOptions,d=f.xDateFormat,b=e.xAxis,q=b&&"datetime"===b.options.type&&p(a.key),g=f[g+"Format"];q&&!d&&(d=this.getXDateFormat(a,f,b));q&&d&&(g=g.replace("{point.key}","{point.key:"+d+"}"));return H(g,{point:a,series:e})},bodyFormatter:function(a){return l(a,function(a){var e=a.series.tooltipOptions;return(e.pointFormatter||a.point.tooltipFormatter).call(a.point,e.pointFormat)})}}})(N);(function(a){var D=a.addEvent,B=a.attr,G=a.charts,H=a.color,p=a.css,l= +a.defined,r=a.doc,w=a.each,t=a.extend,k=a.fireEvent,m=a.offset,e=a.pick,g=a.removeEvent,h=a.splat,C=a.Tooltip,f=a.win;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=b.chart.events&&!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};C&&b.tooltip.enabled&&(a.tooltip=new C(a,b.tooltip),this.followTouchMove=e(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,d=b.options.chart, +f=d.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(f=e(d.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=f=/y/.test(f);this.zoomHor=a&&!b||f&&b;this.zoomVert=f&&!b||a&&b;this.hasZoom=a||f},normalize:function(a,b){var d,e;a=a||f.event;a.target||(a.target=a.srcElement);e=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=m(this.chart.container));void 0===e.pageX?(d=Math.max(a.x,a.clientX-b.left),b=a.y):(d=e.pageX-b.left,b=e.pageY-b.top);return t(a,{chartX:Math.round(d), +chartY:Math.round(b)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};w(this.chart.axes,function(d){b[d.isXAxis?"xAxis":"yAxis"].push({axis:d,value:d.toValue(a[d.horiz?"chartX":"chartY"])})});return b},runPointActions:function(d){var b=this.chart,f=b.series,g=b.tooltip,c=g?g.shared:!1,h=!0,n=b.hoverPoint,m=b.hoverSeries,x,k,y,u=[],I;if(!c&&!m)for(x=0;xb.series.index?-1:1}));if(c)for(x=u.length;x--;)(u[x].x!==u[0].x||u[x].series.noSharedTooltip)&&u.splice(x,1);if(u[0]&&(u[0]!==this.prevKDPoint||g&&g.isHidden)){if(c&& +!u[0].series.noSharedTooltip){for(x=0;xh+k&&(f=h+k),cm+y&&(c=m+y),this.hasDragged=Math.sqrt(Math.pow(l-f,2)+Math.pow(v-c,2)),10x.max&&(l=x.max-c,v=!0);v?(u-=.8*(u-g[f][0]),J||(M-=.8*(M-g[f][1])),p()):g[f]=[u,M];A||(e[f]=F-E,e[q]=c);e=A?1/n:n;m[q]=c;m[f]=l;k[A?a?"scaleY":"scaleX":"scale"+d]=n;k["translate"+d]=e* +E+(u-e*y)},pinch:function(a){var r=this,t=r.chart,k=r.pinchDown,m=a.touches,e=m.length,g=r.lastValidTouch,h=r.hasZoom,C=r.selectionMarker,f={},d=1===e&&(r.inClass(a.target,"highcharts-tracker")&&t.runTrackerClick||r.runChartClick),b={};1b-6&&n(u||d.chartWidth- +2*x-v-e.x)&&(this.itemX=v,this.itemY+=p+this.lastLineHeight+I,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,c);this.lastItemY=p+this.itemY+I;this.lastLineHeight=Math.max(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=c:(this.itemY+=p+g+I,this.lastLineHeight=g);this.offsetWidth=u||Math.max((f?this.itemX-v-l:c)+x,this.offsetWidth)},getAllItems:function(){var a=[];l(this.chart.series,function(d){var b=d&&d.options;d&&m(b.showInLegend,p(b.linkedTo)? +!1:void 0,!0)&&(a=a.concat(d.legendItems||("point"===b.legendType?d.data:d)))});return a},adjustMargins:function(a,d){var b=this.chart,e=this.options,f=e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0);e.floating||l([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(c,g){c.test(f)&&!p(a[g])&&(b[t[g]]=Math.max(b[t[g]],b.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*e[g%2?"x":"y"]+m(e.margin,12)+d[g]))})},render:function(){var a=this,d=a.chart,b=d.renderer, +e=a.group,h,c,m,n,k=a.box,x=a.options,p=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;e||(a.group=e=b.g("legend").attr({zIndex:7}).add(),a.contentGroup=b.g().attr({zIndex:1}).add(e),a.scrollGroup=b.g().add(a.contentGroup));a.renderTitle();h=a.getAllItems();g(h,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});x.reversed&&h.reverse();a.allItems=h;a.display=c=!!h.length;a.lastLineHeight=0;l(h,function(b){a.renderItem(b)}); +m=(x.width||a.offsetWidth)+p;n=a.lastItemY+a.lastLineHeight+a.titleHeight;n=a.handleOverflow(n);n+=p;k||(a.box=k=b.rect().addClass("highcharts-legend-box").attr({r:x.borderRadius}).add(e),k.isNew=!0);k.attr({stroke:x.borderColor,"stroke-width":x.borderWidth||0,fill:x.backgroundColor||"none"}).shadow(x.shadow);0b&&!1!==h.enabled?(this.clipHeight=g=Math.max(b-20-this.titleHeight-I,0),this.currentPage=m(this.currentPage,1),this.fullHeight=a,l(v,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=u.length;if(!d||c-u[d-1]>g&&(r||c)!==u[d-1])u.push(r||c),d++;b===v.length-1&&c+a-u[d-1]>g&&u.push(c);c!==r&&(r=c)}),n||(n=d.clipRect= +e.clipRect(0,I,9999,0),d.contentGroup.clip(n)),t(g),y||(this.nav=y=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,p,p).on("click",function(){d.scroll(-1,k)}).add(y),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").css(h.style).add(y),this.down=e.symbol("triangle-down",0,0,p,p).on("click",function(){d.scroll(1,k)}).add(y)),d.scroll(0),a=b):y&&(t(),y.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,d){var b=this.pages, +f=b.length;a=this.currentPage+a;var g=this.clipHeight,c=this.options.navigation,h=this.pager,n=this.padding;a>f&&(a=f);0f&&(g=typeof a[0],"string"===g?e.name=a[0]:"number"===g&&(e.x=a[0]),d++);b=h.value;)h=e[++g];h&&h.color&&!this.options.color&&(this.color=h.color);return h},destroy:function(){var a=this.series.chart,e=a.hoverPoints,g;a.pointCount--;e&&(this.setState(),H(e,this),e.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)k(this), +this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],e,g=6;g--;)e=a[g],this[e]&&(this[e]=this[e].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var e=this.series,g= +e.tooltipOptions,h=t(g.valueDecimals,""),k=g.valuePrefix||"",f=g.valueSuffix||"";B(e.pointArrayMap||["y"],function(d){d="{point."+d;if(k||f)a=a.replace(d+"}",k+d+"}"+f);a=a.replace(d+"}",d+":,."+h+"f}")});return l(a,{point:this,series:this.series})},firePointEvent:function(a,e,g){var h=this,k=this.series.options;(k.point.events[a]||h.options&&h.options.events&&h.options.events[a])&&this.importEvents();"click"===a&&k.allowPointSelect&&(g=function(a){h.select&&h.select(null,a.ctrlKey||a.metaKey||a.shiftKey)}); +p(this,a,e,g)},visible:!0}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.correctFloat,l=a.Date,r=a.defaultOptions,w=a.defaultPlotOptions,t=a.defined,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.fireEvent,C=a.grep,f=a.isArray,d=a.isNumber,b=a.isString,q=a.merge,E=a.pick,c=a.removeEvent,F=a.splat,n=a.stableSort,A=a.SVGElement,x=a.syncTimeout,J=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{}, +marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1, +marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,d,e,f=a.series,u,y=function(a,b){return E(a.options.index,a._i)-E(b.options.index,b._i)};c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();g(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0=== +b.selected});e=b.events;for(d in e)D(c,d,e[d]);if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();k(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);f.length&&(u=f[f.length-1]);c._i=E(u&&u._i,-1)+1;f.push(c);n(f,y);this.yAxis&&n(this.yAxis.series,y);k(f,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a=this,b=a.options,c=a.chart, +d;k(a.axisTypes||[],function(f){k(c[f],function(c){d=c.options;if(b[f]===d.index||void 0!==b[f]&&b[f]===d.id||void 0===b[f]&&0===d.index)c.series.push(a),a[f]=c,c.isDirty=!0});a[f]||a.optionalAxis===f||e(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,e=arguments,f=d(b)?function(d){var e="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=e}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(e,2))};k(c.parallelArrays,f)},autoIncrement:function(){var a=this.options, +b=this.xIncrement,c,d=a.pointIntervalUnit,b=E(b,a.pointStart,0);this.pointInterval=c=E(this.pointInterval,a.pointInterval,1);d&&(a=new l(b),"day"===d?a=+a[l.hcSetDate](a[l.hcGetDate]()+c):"month"===d?a=+a[l.hcSetMonth](a[l.hcGetMonth]()+c):"year"===d&&(a=+a[l.hcSetFullYear](a[l.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=q(e,c.series,a);this.tooltipOptions= +q(r.tooltip,r.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);null===e.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative",color:c.negativeColor,fillColor:c.negativeFillColor});a.length&&t(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor}); +return c},getCyclic:function(a,b,c){var d,e=this.userOptions,f=a+"Index",g=a+"Counter",u=c?c.length:E(this.chart.options.chart[a+"Count"],this.chart[a+"Count"]);b||(d=E(e[f],e["_"+f]),t(d)||(e["_"+f]=d=this.chart[g]%u,this.chart[g]+=1),c&&(b=c[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||w[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol, +this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(a,c,g,n){var u=this,q=u.points,h=q&&q.length||0,y,m=u.options,x=u.chart,A=null,I=u.xAxis,l=m.turboThreshold,p=this.xData,r=this.yData,F=(y=u.pointArrayMap)&&y.length;a=a||[];y=a.length;c=E(c,!0);if(!1!==n&&y&&h===y&&!u.cropped&&!u.hasGroupedData&&u.visible)k(a,function(a,b){q[b].update&&a!==m.data[b]&&q[b].update(a,!1,null,!1)});else{u.xIncrement=null;u.colorCounter=0;k(this.parallelArrays,function(a){u[a+ +"Data"].length=0});if(l&&y>l){for(g=0;null===A&&gh||this.forceCrop))if(b[d-1]l)b=[],c=[];else if(b[0]l)f=this.cropData(this.xData,this.yData,A,l),b=f.xData,c=f.yData,f=f.start,g=!0;for(h=b.length||1;--h;)d=x?y(b[h])-y(b[h-1]):b[h]-b[h-1],0d&&this.requireSorting&&e(15);this.cropped=g;this.cropStart=f;this.processedXData=b;this.processedYData=c;this.closestPointRange=n},cropData:function(a,b,c,d){var e=a.length,f=0,g=e,n=E(this.cropShoulder,1),u;for(u=0;u=c){f=Math.max(0,u- +n);break}for(c=u;cd){g=c+n;break}return{xData:a.slice(f,g),yData:b.slice(f,g),start:f,end:g}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,n=this.cropStart||0,q,h=this.hasGroupedData,k,m=[],x;b||h||(b=[],b.length=a.length,b=this.data=b);for(x=0;x=q&&(c[x-1]||k)<=h,y&&k)if(y=m.length)for(;y--;)null!==m[y]&&(g[n++]=m[y]);else g[n++]=m;this.dataMin=H(g);this.dataMax=G(g)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,e=c.categories,f=this.yAxis,g=this.points,n=g.length,q=!!this.modifyValue,h=a.pointPlacement,k="between"===h||d(h),m=a.threshold,x=a.startFromThreshold?m:0,A,l,r,F,J=Number.MAX_VALUE;"between"===h&&(h=.5);d(h)&&(h*=E(a.pointRange||c.pointRange)); +for(a=0;a=B&&(C.isNull=!0);C.plotX=A=p(Math.min(Math.max(-1E5,c.translate(w,0,0,0,1,h,"flags"===this.type)),1E5));b&&this.visible&&!C.isNull&&D&&D[w]&&(F=this.getStackIndicator(F,w,this.index),G=D[w],B=G.points[F.key],l=B[0],B=B[1],l===x&&F.key===D[w].base&&(l=E(m,f.min)),f.isLog&&0>=l&&(l=null),C.total=C.stackTotal=G.total,C.percentage=G.total&&C.y/G.total*100,C.stackY= +B,G.setOffset(this.pointXOffset||0,this.barW||0));C.yBottom=t(l)?f.translate(l,0,1,0,1):null;q&&(B=this.modifyValue(B,C));C.plotY=l="number"===typeof B&&Infinity!==B?Math.min(Math.max(-1E5,f.translate(B,0,1,0,1)),1E5):void 0;C.isInside=void 0!==l&&0<=l&&l<=f.len&&0<=A&&A<=c.len;C.clientX=k?p(c.translate(w,0,0,0,1,h)):A;C.negative=C.y<(m||0);C.category=e&&void 0!==e[C.x]?e[C.x]:C.x;C.isNull||(void 0!==r&&(J=Math.min(J,Math.abs(A-r))),r=A)}this.closestPointRangePx=J},getValidPoints:function(a,b){var c= +this.chart;return C(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,f=this.clipBox,g=f||b.clipBox,n=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,g.height,c.xAxis,c.yAxis].join(),q=b[n],h=b[n+"m"];q||(a&&(g.width=0,b[n+"m"]=h=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[n]=q=d.clipRect(g),q.count={length:0});a&&!q.count[this.index]&& +(q.count[this.index]=!0,q.count.length+=1);!1!==c.clip&&(this.group.clip(a||f?q:b.clipRect),this.markerGroup.clip(h),this.sharedClipKey=n);a||(q.count[this.index]&&(delete q.count[this.index],--q.count.length),0===q.count.length&&n&&b[n]&&(f||(b[n]=b[n].destroy()),b[n+"m"]&&(b[n+"m"]=b[n+"m"].destroy())))},animate:function(a){var b=this.chart,c=B(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+ +99},c),this.animate=null)},afterAnimate:function(){this.setClip();h(this,"afterAnimate")},drawPoints:function(){var a=this.points,b=this.chart,c,e,f,g,n=this.options.marker,q,h,k,m,x=this.markerGroup,A=E(n.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>2*n.radius);if(!1!==n.enabled||this._hasPointMarkers)for(e=a.length;e--;)f=a[e],c=f.plotY,g=f.graphic,q=f.marker||{},h=!!f.marker,k=A&&void 0===q.enabled||q.enabled,m=f.isInside,k&&d(c)&&null!==f.y?(c=E(q.symbol,this.symbol),f.hasImage= +0===c.indexOf("url"),k=this.markerAttribs(f,f.selected&&"select"),g?g[m?"show":"hide"](!0).animate(k):m&&(0e&&b.shadow));g&&(g.startX=c.xMap, +g.isArea=c.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,f,g=this.clips||[],n,q=this.graph,h=this.area,m=Math.max(b.chartWidth,b.chartHeight),x=this[(this.zoneAxis||"y")+"Axis"],A,l,p=b.inverted,r,F,C,t,J=!1;d.length&&(q||h)&&x&&void 0!==x.min&&(l=x.reversed,r=x.horiz,q&&q.hide(),h&&h.hide(),A=x.getExtremes(),k(d,function(d,u){e=l?r?b.plotWidth:0:r?0:x.toPixels(A.min);e=Math.min(Math.max(E(f,e),0),m);f=Math.min(Math.max(Math.round(x.toPixels(E(d.value,A.max), +!0)),0),m);J&&(e=f=x.toPixels(A.max));F=Math.abs(e-f);C=Math.min(e,f);t=Math.max(e,f);x.isXAxis?(n={x:p?t:C,y:0,width:F,height:m},r||(n.x=b.plotHeight-n.x)):(n={x:0,y:p?t:C,width:m,height:F},r&&(n.y=b.plotWidth-n.y));p&&c.isVML&&(n=x.isXAxis?{x:0,y:l?C:t,height:n.width,width:b.chartWidth}:{x:n.y-b.plotLeft-b.spacingBox.x,y:0,width:n.height,height:b.chartHeight});g[u]?g[u].animate(n):(g[u]=c.clipRect(n),q&&a["zone-graph-"+u].clip(g[u]),h&&a["zone-area-"+u].clip(g[u]));J=d.value>A.max}),this.clips= +g)},invertGroups:function(a){function b(){var b={width:c.yAxis.len,height:c.xAxis.len};k(["group","markerGroup"],function(d){c[d]&&c[d].attr(b).invert(a)})}var c=this,d;c.xAxis&&(d=D(c.chart,"resize",b),D(c,"destroy",d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({zIndex:d||.1}).add(e),f.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className|| +"")));f.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&B(d.animation).duration,f=a.visible?"inherit":"hidden",g=d.zIndex,n=a.hasRendered,q=b.seriesGroup,h=b.inverted;c=a.plotGroup("group","series",f,g,q);a.markerGroup= +a.plotGroup("markerGroup","markers",f,g,q);e&&a.animate(!0);c.inverted=a.isCartesian?h:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(h);!1===d.clip||a.sharedClipKey||n||c.clip(b.clipRect);e&&a.animate();n||(a.animationTimeout=x(function(){a.afterAnimate()},e));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty|| +this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:E(d&&d.left,a.plotLeft),translateY:E(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)}, +buildKDTree:function(){function a(c,d,e){var f,g;if(g=c&&c.length)return f=b.kdAxisArray[d%e],c.sort(function(a,b){return a[f]-b[f]}),g=Math.floor(g/2),{point:c[g],left:a(c.slice(0,g),d+1,e),right:a(c.slice(g+1),d+1,e)}}var b=this,c=b.kdDimensions;delete b.kdTree;x(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,n,q){var h=b.point,u=d.kdAxisArray[n%q],k,m,x=h;m=t(a[e])&&t(h[e])?Math.pow(a[e]-h[e],2):null;k=t(a[f])&& +t(h[f])?Math.pow(a[f]-h[f],2):null;k=(m||0)+(k||0);h.dist=t(k)?Math.sqrt(k):Number.MAX_VALUE;h.distX=t(m)?Math.sqrt(m):Number.MAX_VALUE;u=a[u]-h[u];k=0>u?"left":"right";m=0>u?"right":"left";b[k]&&(k=c(a,b[k],n+1,q),x=k[g]A;)l--;this.updateParallelArrays(h,"splice",l,0,0);this.updateParallelArrays(h,l);n&&h.name&&(n[A]=h.name);q.splice(l,0,a);m&&(this.data.splice(l,0,null),this.processData());"point"===c.legendType&&this.generatePoints();d&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(h,"shift"),q.shift()));this.isDirtyData=this.isDirty=!0;b&&g.redraw(e)},removePoint:function(a, +b,d){var c=this,e=c.data,f=e[a],g=c.points,n=c.chart,h=function(){g&&g.length===e.length&&g.splice(a,1);e.splice(a,1);c.options.data.splice(a,1);c.updateParallelArrays(f||{series:c},"splice",a,1);f&&f.destroy();c.isDirty=!0;c.isDirtyData=!0;b&&n.redraw()};q(d,n);b=C(b,!0);f?f.firePointEvent("remove",null,h):h()},remove:function(a,b,d){function c(){e.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();C(a,!0)&&f.redraw(b)}var e=this,f=e.chart;!1!==d?k(e,"remove",null,c):c()},update:function(a, +d){var c=this,e=this.chart,f=this.userOptions,g=this.type,q=a.type||f.type||e.options.chart.type,u=b[g].prototype,m=["group","markerGroup","dataLabelsGroup"],k;if(q&&q!==g||void 0!==a.zIndex)m.length=0;r(m,function(a){m[a]=c[a];delete c[a]});a=h(f,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(k in u)this[k]=void 0;t(this,b[q||g].prototype);r(m,function(a){c[a]=m[a]});this.init(e,a);e.linkSeries();C(d,!0)&&e.redraw(!1)}});t(G.prototype, +{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=h(this.userOptions,a);this.destroy(!0);this.init(c,t(a,{events:void 0}));c.isDirtyBox=!0;C(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);w(b.axes,this);w(b[c],this);b.options[c].splice(this.options.index,1);r(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;C(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a}, +b)},setCategories:function(a,b){this.update({categories:a},b)}})})(N);(function(a){var D=a.color,B=a.each,G=a.map,H=a.pick,p=a.Series,l=a.seriesType;l("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],l=[],p=this.xAxis,k=this.yAxis,m=k.stacks[this.stackKey],e={},g=this.points,h=this.index,C=k.series,f=C.length,d,b=H(k.options.reversedStacks,!0)?1:-1,q,E;if(this.options.stacking){for(q=0;qa&&t>l?(t=Math.max(a,l),m=2*l-t):tH&& +m>l?(m=Math.max(H,l),t=2*l-m):m=Math.abs(g)&&.5a.closestPointRange*a.xAxis.transA,k=a.borderWidth=r(h.borderWidth,k?0:1),f=a.yAxis,d=a.translatedThreshold=f.getThreshold(h.threshold),b=r(h.minPointLength,5),q=a.getColumnMetrics(),m=q.width,c=a.barW=Math.max(m,1+2*k),l=a.pointXOffset= +q.offset;g.inverted&&(d-=.5);h.pointPadding&&(c=Math.ceil(c));w.prototype.translate.apply(a);G(a.points,function(e){var n=r(e.yBottom,d),q=999+Math.abs(n),q=Math.min(Math.max(-q,e.plotY),f.len+q),h=e.plotX+l,k=c,u=Math.min(q,n),p,t=Math.max(q,n)-u;Math.abs(t)b?n-b:d-(p?b:0));e.barX=h;e.pointWidth=m;e.tooltipPos=g.inverted?[f.len+f.pos-g.plotLeft-q,a.xAxis.len-h-k/2,t]:[h+k/2,q+f.pos-g.plotTop,t];e.shapeType="rect";e.shapeArgs= +a.crispCol.apply(a,e.isNull?[e.plotX,f.len/2,0,0]:[h,u,k,t])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,g){var e=this.options,k=this.pointAttrToOptions||{},f=k.stroke||"borderColor",d=k["stroke-width"]||"borderWidth",b=a&&a.color||this.color,q=a[f]||e[f]||this.color||b,k=e.dashStyle,m;a&&this.zones.length&&(b=(b=a.getZone())&&b.color||a.options.color|| +this.color);g&&(g=e.states[g],m=g.brightness,b=g.color||void 0!==m&&B(b).brighten(g.brightness).get()||b,q=g[f]||q,k=g.dashStyle||k);a={fill:b,stroke:q,"stroke-width":a[d]||e[d]||this[d]||0};e.borderRadius&&(a.r=e.borderRadius);k&&(a.dashstyle=k);return a},drawPoints:function(){var a=this,g=this.chart,h=a.options,m=g.renderer,f=h.animationLimit||250,d;G(a.points,function(b){var e=b.graphic;p(b.plotY)&&null!==b.y?(d=b.shapeArgs,e?(k(e),e[g.pointCountt;++t)k=r[t],a=2>t||2===t&&/%$/.test(k),r[t]=B(k,[l,H,w,r[2]][t])+(a?p:0);r[3]>r[2]&&(r[3]=r[2]);return r}}})(N);(function(a){var D=a.addEvent,B=a.defined,G=a.each,H=a.extend,p=a.inArray,l=a.noop,r=a.pick,w=a.Point,t=a.Series,k=a.seriesType,m=a.setAnimation;k("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y? +void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var e=this,h=e.points,k=e.startAngleRad;a||(G(h,function(a){var d= +a.graphic,b=a.shapeArgs;d&&(d.attr({r:a.startR||e.center[3]/2,start:k,end:k}),d.animate({r:b.r,start:b.start,end:b.end},e.options.animation))}),e.animate=null)},updateTotals:function(){var a,g=0,h=this.points,k=h.length,f,d=this.options.ignoreHiddenPoint;for(a=0;af.y&&(f.y=null),g+=d&&!f.visible?0:f.y;this.total=g;for(a=0;a1.5*Math.PI?q-=2*Math.PI:q<-Math.PI/2&&(q+=2*Math.PI);t.slicedTranslation={translateX:Math.round(Math.cos(q)*k),translateY:Math.round(Math.sin(q)*k)};d=Math.cos(q)*a[2]/2;b=Math.sin(q)*a[2]/2;t.tooltipPos=[a[0]+.7*d,a[1]+.7*b];t.half=q<-Math.PI/2||q>Math.PI/2?1:0;t.angle=q;f=Math.min(f,n/5);t.labelPos=[a[0]+d+Math.cos(q)*n,a[1]+b+Math.sin(q)*n,a[0]+d+Math.cos(q)*f,a[1]+b+Math.sin(q)* +f,a[0]+d,a[1]+b,0>n?"center":t.half?"right":"left",q]}},drawGraph:null,drawPoints:function(){var a=this,g=a.chart.renderer,h,k,f,d,b=a.options.shadow;b&&!a.shadowGroup&&(a.shadowGroup=g.g("shadow").add(a.group));G(a.points,function(e){if(null!==e.y){k=e.graphic;d=e.shapeArgs;h=e.sliced?e.slicedTranslation:{};var q=e.shadowGroup;b&&!q&&(q=e.shadowGroup=g.g("shadow").add(a.shadowGroup));q&&q.attr(h);f=a.pointAttribs(e,e.selected&&"select");k?k.setRadialReference(a.center).attr(f).animate(H(d,h)):(e.graphic= +k=g[e.shapeType](d).addClass(e.getClassName()).setRadialReference(a.center).attr(h).add(a.group),e.visible||k.attr({visibility:"hidden"}),k.attr(f).attr({"stroke-linejoin":"round"}).shadow(b,q))}})},searchPoint:l,sortByAngle:function(a,g){a.sort(function(a,e){return void 0!==a.angle&&(e.angle-a.angle)*g})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:l},{init:function(){w.prototype.init.apply(this,arguments);var a=this,g;a.name=r(a.name,"Slice"); +g=function(e){a.slice("select"===e.type)};D(a,"select",g);D(a,"unselect",g);return a},setVisible:function(a,g){var e=this,k=e.series,f=k.chart,d=k.options.ignoreHiddenPoint;g=r(g,d);a!==e.visible&&(e.visible=e.options.visible=a=void 0===a?!e.visible:a,k.options.data[p(e,k.data)]=e.options,G(["graphic","dataLabel","connector","shadowGroup"],function(b){if(e[b])e[b][a?"show":"hide"](!0)}),e.legendItem&&f.legend.colorizeItem(e,a),a||"hover"!==e.state||e.setState(""),d&&(k.isDirty=!0),g&&f.redraw())}, +slice:function(a,g,h){var e=this.series;m(h,e.chart);r(g,!0);this.sliced=this.options.sliced=a=B(a)?a:!this.sliced;e.options.data[p(this,e.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)},haloPath:function(a){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+a,e.r+a,{innerR:this.shapeArgs.r,start:e.start,end:e.end})}})})(N);(function(a){var D= +a.addEvent,B=a.arrayMax,G=a.defined,H=a.each,p=a.extend,l=a.format,r=a.map,w=a.merge,t=a.noop,k=a.pick,m=a.relativeLength,e=a.Series,g=a.seriesTypes,h=a.stableSort,C=a.stop;a.distribute=function(a,d){function b(a,b){return a.target-b.target}var e,f=!0,c=a,g=[],n;n=0;for(e=a.length;e--;)n+=a[e].size;if(n>d){h(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(n=e=0;n<=d;)n+=a[e].size,e++;g=a.splice(e-1,a.length)}h(a,b);for(a=r(a,function(a){return{size:a.size,targets:[a.target]}});f;){for(e=a.length;e--;)f= +a[e],n=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=Math.min(Math.max(0,n-f.size/2),d-f.size);e=a.length;for(f=!1;e--;)0a[e].pos&&(a[e-1].size+=a[e].size,a[e-1].targets=a[e-1].targets.concat(a[e].targets),a[e-1].pos+a[e-1].size>d&&(a[e-1].pos=d-a[e-1].size),a.splice(e,1),f=!0)}e=0;H(a,function(a){var b=0;H(a.targets,function(){c[e].pos=a.pos+b;b+=c[e].size;e++})});c.push.apply(c,g);h(c,b)};e.prototype.drawDataLabels=function(){var a=this,d=a.options, +b=d.dataLabels,e=a.points,g,c,h=a.hasRendered||0,n,m,x=k(b.defer,!0),r=a.chart.renderer;if(b.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(b),m=a.plotGroup("dataLabelsGroup","data-labels",x&&!h?"hidden":"visible",b.zIndex||6),x&&(m.attr({opacity:+h}),h||D(a,"afterAnimate",function(){a.visible&&m.show(!0);m[d.animation?"animate":"attr"]({opacity:1},{duration:200})})),c=b,H(e,function(e){var f,q=e.dataLabel,h,x,A=e.connector,y=!0,t,z={};g=e.dlOptions||e.options&&e.options.dataLabels; +f=k(g&&g.enabled,c.enabled)&&null!==e.y;if(q&&!f)e.dataLabel=q.destroy();else if(f){b=w(c,g);t=b.style;f=b.rotation;h=e.getLabelConfig();n=b.format?l(b.format,h):b.formatter.call(h,b);t.color=k(b.color,t.color,a.color,"#000000");if(q)G(n)?(q.attr({text:n}),y=!1):(e.dataLabel=q=q.destroy(),A&&(e.connector=A.destroy()));else if(G(n)){q={fill:b.backgroundColor,stroke:b.borderColor,"stroke-width":b.borderWidth,r:b.borderRadius||0,rotation:f,padding:b.padding,zIndex:1};"contrast"===t.color&&(z.color=b.inside|| +0>b.distance||d.stacking?r.getContrast(e.color||a.color):"#000000");d.cursor&&(z.cursor=d.cursor);for(x in q)void 0===q[x]&&delete q[x];q=e.dataLabel=r[f?"text":"label"](n,0,-9999,b.shape,null,null,b.useHTML,null,"data-label").attr(q);q.addClass("highcharts-data-label-color-"+e.colorIndex+" "+(b.className||""));q.css(p(t,z));q.add(m);q.shadow(b.shadow)}q&&a.alignDataLabel(e,q,b,null,y)}})};e.prototype.alignDataLabel=function(a,d,b,e,g){var c=this.chart,f=c.inverted,n=k(a.plotX,-9999),q=k(a.plotY, +-9999),h=d.getBBox(),m,l=b.rotation,u=b.align,r=this.visible&&(a.series.forceDL||c.isInsidePlot(n,Math.round(q),f)||e&&c.isInsidePlot(n,f?e.x+1:e.y+e.height-1,f)),t="justify"===k(b.overflow,"justify");r&&(m=b.style.fontSize,m=c.renderer.fontMetrics(m,d).b,e=p({x:f?c.plotWidth-q:n,y:Math.round(f?c.plotHeight-n:q),width:0,height:0},e),p(b,{width:h.width,height:h.height}),l?(t=!1,f=c.renderer.rotCorr(m,l),f={x:e.x+b.x+e.width/2+f.x,y:e.y+b.y+{top:0,middle:.5,bottom:1}[b.verticalAlign]*e.height},d[g? +"attr":"animate"](f).attr({align:u}),n=(l+720)%360,n=180n,"left"===u?f.y-=n?h.height:0:"center"===u?(f.x-=h.width/2,f.y-=h.height/2):"right"===u&&(f.x-=h.width,f.y-=n?0:h.height)):(d.align(b,null,e),f=d.alignAttr),t?this.justifyDataLabel(d,b,f,h,e,g):k(b.crop,!0)&&(r=c.isInsidePlot(f.x,f.y)&&c.isInsidePlot(f.x+h.width,f.y+h.height)),b.shape&&!l&&d.attr({anchorX:a.plotX,anchorY:a.plotY}));r||(C(d),d.attr({y:-9999}),d.placed=!1)};e.prototype.justifyDataLabel=function(a,d,b,e,g,c){var f=this.chart, +n=d.align,h=d.verticalAlign,q,k,m=a.box?0:a.padding||0;q=b.x+m;0>q&&("right"===n?d.align="left":d.x=-q,k=!0);q=b.x+e.width-m;q>f.plotWidth&&("left"===n?d.align="right":d.x=f.plotWidth-q,k=!0);q=b.y+m;0>q&&("bottom"===h?d.verticalAlign="top":d.y=-q,k=!0);q=b.y+e.height-m;q>f.plotHeight&&("top"===h?d.verticalAlign="bottom":d.y=f.plotHeight-q,k=!0);k&&(a.placed=!c,a.align(d,null,g))};g.pie&&(g.pie.prototype.drawDataLabels=function(){var f=this,d=f.data,b,g=f.chart,h=f.options.dataLabels,c=k(h.connectorPadding, +10),m=k(h.connectorWidth,1),n=g.plotWidth,l=g.plotHeight,x,p=h.distance,y=f.center,u=y[2]/2,t=y[1],w=0k-2?A:P,e),v._attr={visibility:S,align:D[6]},v._pos={x:L+h.x+({left:c,right:-c}[D[6]]||0),y:P+h.y-10},D.x=L,D.y=P,null===f.options.size&&(C=v.width,L-Cn-c&&(T[1]=Math.max(Math.round(L+ +C-n+c),T[1])),0>P-G/2?T[0]=Math.max(Math.round(-P+G/2),T[0]):P+G/2>l&&(T[2]=Math.max(Math.round(P+G/2-l),T[2])))}),0===B(T)||this.verifyDataLabelOverflow(T))&&(this.placeDataLabels(),w&&m&&H(this.points,function(a){var b;x=a.connector;if((v=a.dataLabel)&&v._pos&&a.visible){S=v._attr.visibility;if(b=!x)a.connector=x=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(f.dataLabelsGroup),x.attr({"stroke-width":m,stroke:h.connectorColor||a.color||"#666666"}); +x[b?"attr":"animate"]({d:f.connectorPath(a.labelPos)});x.attr("visibility",S)}else x&&(a.connector=x.destroy())}))},g.pie.prototype.connectorPath=function(a){var d=a.x,b=a.y;return k(this.options.dataLabels.softConnector,!0)?["M",d+("left"===a[6]?5:-5),b,"C",d,b,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",d+("left"===a[6]?5:-5),b,"L",a[2],a[3],"L",a[4],a[5]]},g.pie.prototype.placeDataLabels=function(){H(this.points,function(a){var d=a.dataLabel;d&&a.visible&&((a=d._pos)?(d.attr(d._attr), +d[d.moved?"animate":"attr"](a),d.moved=!0):d&&d.attr({y:-9999}))})},g.pie.prototype.alignDataLabel=t,g.pie.prototype.verifyDataLabelOverflow=function(a){var d=this.center,b=this.options,e=b.center,f=b.minSize||80,c,g;null!==e[0]?c=Math.max(d[2]-Math.max(a[1],a[3]),f):(c=Math.max(d[2]-a[1]-a[3],f),d[0]+=(a[3]-a[1])/2);null!==e[1]?c=Math.max(Math.min(c,d[2]-Math.max(a[0],a[2])),f):(c=Math.max(Math.min(c,d[2]-a[0]-a[2]),f),d[1]+=(a[0]-a[2])/2);ck(this.translatedThreshold,f.yAxis.len)),m=k(b.inside,!!this.options.stacking);n&&(g=w(n),0>g.y&&(g.height+=g.y,g.y=0),n=g.y+g.height-f.yAxis.len,0a+e||c+nb+f||g+hthis.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints, +e;d&&r(d,function(a){a.setState()});r("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],n=(b.pointRange||0)/2,h=b.getExtremes(),q=b.toValue(g-f,!0)+n,n=b.toValue(g+b.len-f,!0)-n,g=g>f;b.series.length&&(g||q>Math.min(h.dataMin,h.min))&&(!g||n=p(k.minWidth,0)&&this.chartHeight>=p(k.minHeight,0)};void 0===l._id&&(l._id=a.uniqueKey());m=m.call(this);!r[l._id]&&m?l.chartOptions&&(r[l._id]=this.currentOptions(l.chartOptions),this.update(l.chartOptions,w)):r[l._id]&&!m&&(this.update(r[l._id],w),delete r[l._id])};D.prototype.currentOptions=function(a){function p(a,m,e){var g,h;for(g in a)if(-1< +G(g,["series","xAxis","yAxis"]))for(a[g]=l(a[g]),e[g]=[],h=0;hd.length||void 0===h)return a.call(this,g,h,k,f);x=d.length;for(c=0;ck;d[c]5*b||w){if(d[c]>u){for(r=a.call(this,g,d[e],d[c],f);r.length&&r[0]<=u;)r.shift();r.length&&(u=r[r.length-1]);y=y.concat(r)}e=c+1}if(w)break}a= +r.info;if(q&&a.unitRange<=m.hour){c=y.length-1;for(e=1;ek?a-1:a;for(M=void 0;q--;)e=c[q],k=M-e,M&&k<.8*C&&(null===t||k<.8*t)?(n[y[q]]&&!n[y[q+1]]?(k=q+1,M=e):k=q,y.splice(k,1)):M=e}return y});w(B.prototype,{beforeSetTickPositions:function(){var a, +g=[],h=!1,k,f=this.getExtremes(),d=f.min,b=f.max,q,m=this.isXAxis&&!!this.options.breaks,f=this.options.ordinal,c=this.chart.options.chart.ignoreHiddenSeries;if(f||m){r(this.series,function(b,d){if(!(c&&!1===b.visible||!1===b.takeOrdinalPosition&&!m)&&(g=g.concat(b.processedXData),a=g.length,g.sort(function(a,b){return a-b}),a))for(d=a-1;d--;)g[d]===g[d+1]&&g.splice(d,1)});a=g.length;if(2k||b-g[g.length- +1]>k)&&(h=!0)}h?(this.ordinalPositions=g,k=this.val2lin(Math.max(d,g[0]),!0),q=Math.max(this.val2lin(Math.min(b,g[g.length-1]),!0),1),this.ordinalSlope=b=(b-d)/(q-k),this.ordinalOffset=d-k*b):this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0}this.isOrdinal=f&&h;this.groupIntervalFactor=null},val2lin:function(a,g){var e=this.ordinalPositions;if(e){var k=e.length,f,d;for(f=k;f--;)if(e[f]===a){d=f;break}for(f=k-1;f--;)if(a>e[f]||0===f){a=(a-e[f])/(e[f+1]-e[f]);d=f+a;break}g=g?d:this.ordinalSlope* +(d||0)+this.ordinalOffset}else g=a;return g},lin2val:function(a,g){var e=this.ordinalPositions;if(e){var k=this.ordinalSlope,f=this.ordinalOffset,d=e.length-1,b;if(g)0>a?a=e[0]:a>d?a=e[d]:(d=Math.floor(a),b=a-d);else for(;d--;)if(g=k*d+f,a>=g){k=k*(d+1)+f;b=(a-g)/(k-g);break}return void 0!==b&&void 0!==e[d]?e[d]+(b?b*(e[d+1]-e[d]):0):a}return a},getExtendedPositions:function(){var a=this.chart,g=this.series[0].currentDataGrouping,h=this.ordinalIndex,k=g?g.count+g.unitName:"raw",f=this.getExtremes(), +d,b;h||(h=this.ordinalIndex={});h[k]||(d={series:[],chart:a,getExtremes:function(){return{min:f.dataMin,max:f.dataMax}},options:{ordinal:!0},val2lin:B.prototype.val2lin},r(this.series,function(e){b={xAxis:d,xData:e.xData,chart:a,destroyGroupedData:t};b.options={dataGrouping:g?{enabled:!0,forced:!0,approximation:"open",units:[[g.unitName,[g.count]]]}:{enabled:!1}};e.processData.apply(b);d.series.push(b)}),this.beforeSetTickPositions.apply(d),h[k]=d.ordinalPositions);return h[k]},getGroupIntervalFactor:function(a, +g,h){var e;h=h.processedXData;var f=h.length,d=[];e=this.groupIntervalFactor;if(!e){for(e=0;ed?(l=p,t=e.ordinalPositions?e:p):(l=e.ordinalPositions?e:p,t=p),p=t.ordinalPositions,q>p[p.length-1]&&p.push(q),this.fixedRange=c-m,d=e.toFixedRange(null,null,n.apply(l,[x.apply(l,[m,!0])+d,!0]),n.apply(t,[x.apply(t, +[c,!0])+d,!0])),d.min>=Math.min(b.dataMin,m)&&d.max<=Math.max(q,c)&&e.setExtremes(d.min,d.max,!0,!1,{trigger:"pan"}),this.mouseDownX=k,H(this.container,{cursor:"move"})):f=!0}else f=!0;f&&a.apply(this,Array.prototype.slice.call(arguments,1))});k.prototype.gappedPath=function(){var a=this.options.gapSize,g=this.points.slice(),h=g.length-1;if(a&&0this.closestPointRange*a&&g.splice(h+1,0,{isNull:!0});return this.getGraphPath(g)}})(N);(function(a){function D(){return Array.prototype.slice.call(arguments, +1)}function B(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,G(this.pointArrayMap,["y"]))}var G=a.pick,H=a.wrap,p=a.each,l=a.extend,r=a.fireEvent,w=a.Axis,t=a.Series;l(w.prototype,{isInBreak:function(a,m){var e=a.repeat||Infinity,g=a.from,h=a.to-a.from;m=m>=g?(m-g)%e:e-(g-m)%e;return a.inclusive?m<=h:m=a)break;else if(g.isInBreak(f,a)){e-=a-f.from;break}return e};this.lin2val=function(a){var e,f;for(f=0;f=a);f++)e.toh;)m-=b;for(;mb.to||l>b.from&&db.from&&db.from&&d>b.to&&d=c[0]);A++);for(A;A<=q;A++){for(;(void 0!==c[w+1]&&a[A]>=c[w+1]||A===q)&&(l=c[w],this.dataGroupInfo={start:p,length:t[0].length},p=d.apply(this,t),void 0!==p&&(g.push(l),h.push(p),m.push(this.dataGroupInfo)),p=A,t[0]=[],t[1]=[],t[2]=[],t[3]=[],w+=1,A!==q););if(A===q)break;if(x){l=this.cropStart+A;l=e&&e[l]|| +this.pointClass.prototype.applyOptions.apply({series:this},[f[l]]);var E,C;for(E=0;Ethis.chart.plotSizeX/d||b&&f.forced)&&(e=!0);return e?d:0};G.prototype.setDataGrouping=function(a,b){var c;b=e(b,!0);a||(a={forced:!1,units:null});if(this instanceof G)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else l(this.chart.options.series,function(b){b.dataGrouping=a},!1);b&&this.chart.redraw()}})(N);(function(a){var D=a.each,B=a.Point,G=a.seriesType,H=a.seriesTypes;G("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'}, +threshold:null,states:{hover:{lineWidth:3}}},{pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"high",pointAttribs:function(a,l){l=H.column.prototype.pointAttribs.call(this,a,l);var p=this.options;delete l.fill;l["stroke-width"]=p.lineWidth;l.stroke=a.options.color||(a.openk)););B(g,function(a,b){var d;void 0===a.plotY&&(a.x>=c.min&&a.x<=c.max?a.plotY=e.chartHeight-p.bottom-(p.opposite?p.height:0)+p.offset-e.plotTop:a.shapeArgs={});a.plotX+=t;(f=g[b-1])&&f.plotX===a.plotX&&(void 0===f.stackIndex&&(f.stackIndex=0),d=f.stackIndex+1);a.stackIndex=d})},drawPoints:function(){var a=this.points,e=this.chart,g=e.renderer,k,l,f=this.options,d=f.y,b,q,p,c,r,n,t,x=this.yAxis;for(q=a.length;q--;)p=a[q],t=p.plotX>this.xAxis.len,k=p.plotX,c=p.stackIndex,b= +p.options.shape||f.shape,l=p.plotY,void 0!==l&&(l=p.plotY+d-(void 0!==c&&c*f.stackDistance)),r=c?void 0:p.plotX,n=c?void 0:p.plotY,c=p.graphic,void 0!==l&&0<=k&&!t?(c||(c=p.graphic=g.label("",null,null,b,null,null,f.useHTML).attr(this.pointAttribs(p)).css(G(f.style,p.style)).attr({align:"flag"===b?"left":"center",width:f.width,height:f.height,"text-align":f.textAlign}).addClass("highcharts-point").add(this.markerGroup),c.shadow(f.shadow)),0h&&(e-=Math.round((l-h)/2),h=l);e=k[a](e,g,h,l);d&&f&&e.push("M",d,g>f?g:g+l,"L",d,f);return e}});p===t&&B(["flag","circlepin","squarepin"],function(a){t.prototype.symbols[a]=k[a]})})(N);(function(a){function D(a,d,e){this.init(a,d,e)}var B=a.addEvent,G=a.Axis,H=a.correctFloat,p=a.defaultOptions, +l=a.defined,r=a.destroyObjectProperties,w=a.doc,t=a.each,k=a.fireEvent,m=a.hasTouch,e=a.isTouchDevice,g=a.merge,h=a.pick,C=a.removeEvent,f=a.wrap,d={height:e?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:a.svg&&!e,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2", +trackBorderWidth:1};p.scrollbar=g(!0,d,p.scrollbar);D.prototype={init:function(a,e,f){this.scrollbarButtons=[];this.renderer=a;this.userOptions=e;this.options=g(d,e);this.chart=f;this.size=h(this.options.size,this.options.height);e.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,d=this.options,e=this.size,c;this.group=c=a.g("scrollbar").attr({zIndex:d.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0, +r:d.trackBorderRadius||0,height:e,width:e}).add(c);this.track.attr({fill:d.trackBackgroundColor,stroke:d.trackBorderColor,"stroke-width":d.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(c);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:e,width:e,r:d.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(this.swapXY(["M",-3,e/4,"L",-3,2*e/3,"M",0,e/4,"L", +0,2*e/3,"M",3,e/4,"L",3,2*e/3],d.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbar.attr({fill:d.barBackgroundColor,stroke:d.barBorderColor,"stroke-width":d.barBorderWidth});this.scrollbarRifles.attr({stroke:d.rifleColor,"stroke-width":1});this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a, +d,e,c){var b=this.options.vertical,f=0,g=this.rendered?"animate":"attr";this.x=a;this.y=d+this.trackBorderWidth;this.width=e;this.xOffset=this.height=c;this.yOffset=f;b?(this.width=this.yOffset=e=f=this.size,this.xOffset=d=0,this.barWidth=c-2*e,this.x=a+=this.options.margin):(this.height=this.xOffset=c=d=this.size,this.barWidth=e-2*c,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:e,height:c});this.scrollbarButtons[1].attr({translateX:b?0:e-d,translateY:b? +c-f:0})},drawScrollbarButton:function(a){var b=this.renderer,d=this.scrollbarButtons,c=this.options,e=this.size,f;f=b.g().add(this.group);d.push(f);f=b.rect().addClass("highcharts-scrollbar-button").add(f);f.attr({stroke:c.buttonBorderColor,"stroke-width":c.buttonBorderWidth,fill:c.buttonBackgroundColor});f.attr(f.crisp({x:-.5,y:-.5,width:e+1,height:e+1,r:c.buttonBorderRadius},f.strokeWidth()));f=b.path(this.swapXY(["M",e/2+(a?-1:1),e/2-3,"L",e/2+(a?-1:1),e/2+3,"L",e/2+(a?2:-2),e/2],c.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]); +f.attr({fill:c.buttonArrowColor})},swapXY:function(a,d){var b=a.length,c;if(d)for(d=0;d=k?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=d?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var d=a.chart.pointer.normalize(b),c=a.options.vertical? +"chartY":"chartX",e=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][c]||(d=a.cursorToScrollbarPosition(d)[c],c=a[c],c=d-c,a.hasDragged=!0,a.updatePosition(e[0]+c,e[1]+c),a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b); +b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var d=H(a.to-a.from)*a.options.step;a.updatePosition(H(a.from-d),H(a.to-d));k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var d=(a.to-a.from)*a.options.step;a.updatePosition(a.from+d,a.to+d);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var d=a.chart.pointer.normalize(b), +c=a.to-a.from,e=a.y+a.scrollbarTop,f=a.x+a.scrollbarLeft;a.options.vertical&&d.chartY>e||!a.options.vertical&&d.chartX>f?a.updatePosition(a.from+c,a.to+c):a.updatePosition(a.from-c,a.to-c);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a, +d){1a&&(d=H(d-a),a=0);this.from=a;this.to=d},update:function(a){this.destroy();this.init(this.chart.renderer,g(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],d=this.scrollbarButtons,e=this.scrollbarGroup.element,c=this.mouseDownHandler,f=this.mouseMoveHandler,g=this.mouseUpHandler,a=[[d[a[0]].element,"click",this.buttonToMinClick],[d[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[e, +"mousedown",c],[w,"mousemove",f],[w,"mouseup",g]];m&&a.push([e,"touchstart",c],[w,"touchmove",f],[w,"touchend",g]);t(a,function(a){B.apply(null,a)});this._events=a},removeEvents:function(){t(this._events,function(a){C.apply(null,a)});this._events=void 0},destroy:function(){var a=this.chart.scroller;this.removeEvents();t(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&(a.scrollbar=null,r(a.scrollbarButtons))}}; +f(G.prototype,"init",function(a){var b=this;a.apply(b,[].slice.call(arguments,1));b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new D(b.chart.renderer,b.options.scrollbar,b.chart),B(b.scrollbar,"changed",function(a){var c=Math.min(h(b.options.min,b.min),b.min,b.dataMin),d=Math.max(h(b.options.max,b.max),b.max,b.dataMax)-c,e;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(e=c+d*this.to,c+=d*this.from):(e= +c+d*(1-this.from),c+=d*(1-this.to));b.setExtremes(c,e,!0,!1,a)}))});f(G.prototype,"render",function(a){var b=Math.min(h(this.options.min,this.min),this.min,this.dataMin),d=Math.max(h(this.options.max,this.max),this.max,this.dataMax),c=this.scrollbar,e;a.apply(this,[].slice.call(arguments,1));c&&(this.horiz?c.position(this.left,this.top+this.height+this.offset+2+(this.opposite?0:this.axisTitleMargin),this.width,this.height):c.position(this.left+this.width+2+this.offset+(this.opposite?this.axisTitleMargin: +0),this.top,this.width,this.height),isNaN(b)||isNaN(d)||!l(this.min)||!l(this.max)?c.setRange(0,0):(e=(this.min-b)/(d-b),b=(this.max-b)/(d-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?c.setRange(e,b):c.setRange(1-b,1-e)))});f(G.prototype,"getOffset",function(a){var b=this.horiz?2:1,d=this.scrollbar;a.apply(this,[].slice.call(arguments,1));d&&(this.chart.axisOffset[b]+=d.size+d.options.margin)});f(G.prototype,"destroy",function(a){this.scrollbar&&(this.scrollbar=this.scrollbar.destroy()); +a.apply(this,[].slice.call(arguments,1))});a.Scrollbar=D})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.color,l=a.defaultOptions,r=a.defined,w=a.destroyObjectProperties,t=a.doc,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.grep,C=a.hasTouch,f=a.isNumber,d=a.isObject,b=a.isTouchDevice,q=a.merge,E=a.pick,c=a.removeEvent,F=a.Scrollbar,n=a.Series,A=a.seriesTypes,x=a.wrap,J=[].concat(a.defaultDataGroupingUnits),y=function(a){var b=h(arguments,f);if(b.length)return Math[a].apply(0, +b)};J[4]=["day",[1,2,3,4]];J[5]=["week",[1,2,3]];A=void 0===A.areaspline?"line":"areaspline";g(l,{navigator:{height:40,margin:25,maskInside:!0,handles:{backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:p("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:A,color:"#335cad",fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:J},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series", +className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,shadow:!1,threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}); +D.prototype={drawHandle:function(a,b){var c=this.chart.renderer,d=this.handles;this.rendered||(d[b]=c.path(["M",-4.5,.5,"L",3.5,.5,3.5,15.5,-4.5,15.5,-4.5,.5,"M",-1.5,4,"L",-1.5,12,"M",.5,4,"L",.5,12]).attr({zIndex:10-b}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][b]).add(),c=this.navigatorOptions.handles,d[b].attr({fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":1}).css({cursor:"ew-resize"}));d[b][this.rendered&&!this.hasDragged?"animate":"attr"]({translateX:Math.round(this.scrollerLeft+ +this.scrollbarHeight+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-8)})},update:function(a){this.destroy();q(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(a,b,c,d){var e=this.chart,g=e.renderer,k,h,l,n;n=this.scrollbarHeight;var m=this.xAxis,p=this.navigatorOptions,u=p.maskInside,q=this.height,v=this.top,t=this.navigatorEnabled,x=this.outlineHeight,y;y=this.rendered;if(f(a)&&f(b)&&(!this.hasDragged||r(c))&&(this.navigatorLeft=k=E(m.left,e.plotLeft+ +n),this.navigatorWidth=h=E(m.len,e.plotWidth-2*n),this.scrollerLeft=l=k-n,this.scrollerWidth=n=n=h+2*n,c=E(c,m.translate(a)),d=E(d,m.translate(b)),f(c)&&Infinity!==Math.abs(c)||(c=0,d=n),!(m.translate(d,!0)-m.translate(c,!0)f&&tp+d-u&&rk&&re?e=0:e+v>=q&&(e=q-v,x=h.getUnionExtremes().dataMax),e!==d&&(h.fixedWidth=v,d=l.toFixedRange(e, +e+v,null,x),c.setExtremes(d.min,d.max,!0,null,{trigger:"navigator"}))))};h.mouseMoveHandler=function(b){var c=h.scrollbarHeight,d=h.navigatorLeft,e=h.navigatorWidth,f=h.scrollerLeft,g=h.scrollerWidth,k=h.range,l;b.touches&&0===b.touches[0].pageX||(b=a.pointer.normalize(b),l=b.chartX,lf+g-c&&(l=f+g-c),h.grabbedLeft?(h.hasDragged=!0,h.render(0,0,l-d,h.otherHandlePos)):h.grabbedRight?(h.hasDragged=!0,h.render(0,0,h.otherHandlePos,l-d)):h.grabbedCenter&&(h.hasDragged=!0,le+n-k&&(l=e+ +n-k),h.render(0,0,l-n,l-n+k)),h.hasDragged&&h.scrollbar&&h.scrollbar.options.liveRedraw&&(b.DOMType=b.type,setTimeout(function(){h.mouseUpHandler(b)},0)))};h.mouseUpHandler=function(b){var c,d,e=b.DOMEvent||b;if(h.hasDragged||"scrollbar"===b.trigger)h.zoomedMin===h.otherHandlePos?c=h.fixedExtreme:h.zoomedMax===h.otherHandlePos&&(d=h.fixedExtreme),h.zoomedMax===h.navigatorWidth&&(d=h.getUnionExtremes().dataMax),c=l.toFixedRange(h.zoomedMin,h.zoomedMax,c,d),r(c.min)&&a.xAxis[0].setExtremes(c.min,c.max, +!0,h.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e});"mousemove"!==b.DOMType&&(h.grabbedLeft=h.grabbedRight=h.grabbedCenter=h.fixedWidth=h.fixedExtreme=h.otherHandlePos=h.hasDragged=n=null)};var c=a.xAxis.length,f=a.yAxis.length,m=e&&e[0]&&e[0].xAxis||a.xAxis[0];a.extraBottomMargin=h.outlineHeight+d.margin;a.isDirtyBox=!0;h.navigatorEnabled?(h.xAxis=l=new G(a,q({breaks:m.options.breaks,ordinal:m.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis", +isX:!0,type:"datetime",index:c,height:g,offset:0,offsetLeft:k,offsetRight:-k,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1})),h.yAxis=new G(a,q(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,height:g,offset:0,index:f,zoomEnabled:!1})),e||d.series.data?h.addBaseSeries():0===a.series.length&&x(a,"redraw",function(b,c){0=Math.round(a.navigatorWidth);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},destroy:function(){this.removeEvents();this.xAxis&&(m(this.chart.xAxis,this.xAxis),m(this.chart.axes,this.xAxis));this.yAxis&&(m(this.chart.yAxis,this.yAxis),m(this.chart.axes,this.yAxis));k(this.series||[],function(a){a.destroy&&a.destroy()});k("series xAxis yAxis leftShade rightShade outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "), +function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);k([this.handles,this.elementsToDestroy],function(a){w(a)},this)}};a.Navigator=D;x(G.prototype,"zoom",function(a,b,c){var d=this.chart,e=d.options,f=e.chart.zoomType,g=e.navigator,e=e.rangeSelector,h;this.isXAxis&&(g&&g.enabled||e&&e.enabled)&&("x"===f?d.resetZoomButton="blocked":"y"===f?h=!1:"xy"===f&&(d=this.previousZoom,r(b)?this.previousZoom=[this.min,this.max]:d&&(b=d[0],c=d[1],delete this.previousZoom)));return void 0!== +h?h:a.call(this,b,c)});x(H.prototype,"init",function(a,b,c){B(this,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new D(this)});a.call(this,b,c)});x(H.prototype,"getMargins",function(a){var b=this.legend,c=b.options,d=this.scroller,e,f;a.apply(this,[].slice.call(arguments,1));d&&(e=d.xAxis,f=d.yAxis,d.top=d.navigatorOptions.top||this.chartHeight-d.height-d.scrollbarHeight-this.spacing[2]-("bottom"===c.verticalAlign&&c.enabled&& +!c.floating?b.legendHeight+E(c.margin,10):0),e&&f&&(e.options.top=f.options.top=d.top,e.setAxisSize(),f.setAxisSize()))});x(n.prototype,"addPoint",function(a,b,c,f,g){var h=this.options.turboThreshold;h&&this.xData.length>h&&d(b,!0)&&this.chart.scroller&&e(20,!0);a.call(this,b,c,f,g)});x(H.prototype,"addSeries",function(a,b,c,d){a=a.call(this,b,!1,d);this.scroller&&this.scroller.setBaseSeries();E(c,!0)&&this.redraw();return a});x(n.prototype,"update",function(a,b,c){a.call(this,b,!1);this.chart.scroller&& +this.chart.scroller.setBaseSeries();E(c,!0)&&this.chart.redraw()})})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.css,l=a.createElement,r=a.dateFormat,w=a.defaultOptions,t=w.global.useUTC,k=a.defined,m=a.destroyObjectProperties,e=a.discardElement,g=a.each,h=a.extend,C=a.fireEvent,f=a.Date,d=a.isNumber,b=a.merge,q=a.pick,E=a.pInt,c=a.splat,F=a.wrap;h(w,{rangeSelector:{buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},height:35,inputPosition:{align:"right"}, +labelStyle:{color:"#666666"}}});w.lang=b(w.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});D.prototype={clickButton:function(a,b){var e=this,f=e.chart,h=e.buttonOptions[a],k=f.xAxis[0],l=f.scroller&&f.scroller.getUnionExtremes()||k||{},n=l.dataMin,m=l.dataMax,p,r=k&&Math.round(Math.min(k.max,q(m,k.max))),w=h.type,z,l=h._range,A,C,D,E=h.dataGrouping;if(null!==n&&null!==m){f.fixedRange=l;E&&(this.forcedDataGrouping=!0,G.prototype.setDataGrouping.call(k||{chart:this.chart}, +E,!1));if("month"===w||"year"===w)k?(w={range:h,max:r,dataMin:n,dataMax:m},p=k.minFromRange.call(w),d(w.newMax)&&(r=w.newMax)):l=h;else if(l)p=Math.max(r-l,n),r=Math.min(p+l,m);else if("ytd"===w)if(k)void 0===m&&(n=Number.MAX_VALUE,m=Number.MIN_VALUE,g(f.series,function(a){a=a.xData;n=Math.min(a[0],n);m=Math.max(a[a.length-1],m)}),b=!1),r=e.getYTDExtremes(m,n,t),p=A=r.min,r=r.max;else{B(f,"beforeRender",function(){e.clickButton(a)});return}else"all"===w&&k&&(p=n,r=m);e.setSelected(a);k?k.setExtremes(p, +r,q(b,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:h}):(z=c(f.options.xAxis)[0],D=z.range,z.range=l,C=z.min,z.min=A,B(f,"load",function(){z.range=D;z.min=C}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons|| +[].concat(b.defaultButtons),e=c.selected,f=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&C(a,"blur");c&&c.blur&&C(c,"blur")};b.chart=a;b.options=c;b.buttons=[];a.extraTopMargin=c.height;b.buttonOptions=d;this.unMouseDown=B(a.container,"mousedown",f);this.unResize=B(a,"resize",f);g(d,b.computeButtonRange);void 0!==e&&d[e]&&this.clickButton(e,!1);B(a,"load",function(){B(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&& +b.forcedDataGrouping&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this.chart,b=a.xAxis[0],c=Math.round(b.max-b.min),e=!b.hasVisibleSeries,a=a.scroller&&a.scroller.getUnionExtremes()||b,f=a.dataMin,h=a.dataMax,a=this.getYTDExtremes(h,f,t),k=a.min,l=a.max,m=this.selected,p=d(m),q=this.options.allButtonsEnabled,r=this.buttons;g(this.buttonOptions,function(a,d){var g=a._range,n=a.type,u=a.count||1;a=r[d];var t=0;d=d===m;var v=g>h-f,x=g=864E5*{month:28,year:365}[n]*u&&c<=864E5*{month:31,year:366}[n]*u?g=!0:"ytd"===n?(g=l-k===c,y=!d):"all"===n&&(g=b.max-b.min>=h-f,w=!d&&p&&g);n=!q&&(v||x||w||e);g=d&&g||g&&!p&&!y;n?t=3:g&&(p=!0,t=2);a.state!==t&&a.setState(t)})},computeButtonRange:function(a){var b=a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c},setInputValue:function(a,b){var c= +this.chart.options.rangeSelector,d=this[a+"Input"];k(b)&&(d.previousValue=d.HCTime,d.HCTime=b);d.value=r(c.inputEditDateFormat||"%Y-%m-%d",d.HCTime);this[a+"DateBox"].attr({text:r(c.inputDateFormat||"%b %e, %Y",d.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];p(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){p(this[a+"Input"],{border:0,width:"1px",height:"1px"}); +this.setInputValue(a)},drawInput:function(a){function c(){var a=r.value,b=(m.inputDateParser||Date.parse)(a),c=f.xAxis[0],g=f.scroller&&f.scroller.xAxis?f.scroller.xAxis:c,h=g.dataMin,g=g.dataMax;b!==r.previousValue&&(r.previousValue=b,d(b)||(b=a.split("-"),b=Date.UTC(E(b[0]),E(b[1])-1,E(b[2]))),d(b)&&(t||(b+=6E4*(new Date).getTimezoneOffset()),q?b>e.maxInput.HCTime?b=void 0:bg&&(b=g),void 0!==b&&c.setExtremes(q?b:c.min,q?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))} +var e=this,f=e.chart,g=f.renderer.style||{},k=f.renderer,m=f.options.rangeSelector,n=e.div,q="min"===a,r,B,C=this.inputGroup;this[a+"Label"]=B=k.label(w.lang[q?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(C);C.offset+=B.width+5;this[a+"DateBox"]=k=k.label("",C.offset).addClass("highcharts-range-input").attr({padding:2,width:m.inputBoxWidth||90,height:m.inputBoxHeight||17,stroke:m.inputBoxBorderColor||"#cccccc","stroke-width":1, +"text-align":"center"}).on("click",function(){e.showInput(a);e[a+"Input"].focus()}).add(C);C.offset+=k.width+(q?10:0);this[a+"Input"]=r=l("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:f.plotTop+"px"},n);B.css(b(g,m.labelStyle));k.css(b({color:"#333333"},g,m.inputStyle));p(r,h({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:g.fontSize,fontFamily:g.fontFamily,left:"-9em"},m.inputStyle));r.onfocus=function(){e.showInput(a)};r.onblur= +function(){e.hideInput(a)};r.onchange=c;r.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a=q((b.buttonPosition||{}).y,a.plotTop-a.axisOffset[0]-b.height);return{buttonTop:a,inputTop:a-10}},getYTDExtremes:function(a,b,c){var d=new f(a),e=d[f.hcGetFullYear]();c=c?f.UTC(e,0,1):+new f(e,0,1);b=Math.max(b||0,c);d=d.getTime();return{max:Math.min(a||d,d),min:b}},render:function(a,b){var c=this,d=c.chart,e=d.renderer,f=d.container,m=d.options, +n=m.exporting&&!1!==m.exporting.enabled&&m.navigation&&m.navigation.buttonOptions,p=m.rangeSelector,r=c.buttons,m=w.lang,t=c.div,t=c.inputGroup,A=p.buttonTheme,z=p.buttonPosition||{},B=p.inputEnabled,C=A&&A.states,D=d.plotLeft,E,G=this.getPosition(),F=c.group,H=c.rendered;!1!==p.enabled&&(H||(c.group=F=e.g("range-selector-buttons").add(),c.zoomText=e.text(m.rangeSelectorZoom,q(z.x,D),15).css(p.labelStyle).add(F),E=q(z.x,D)+c.zoomText.getBBox().width+5,g(c.buttonOptions,function(a,b){r[b]=e.button(a.text, +E,0,function(){c.clickButton(b);c.isActive=!0},A,C&&C.hover,C&&C.select,C&&C.disabled).attr({"text-align":"center"}).add(F);E+=r[b].width+q(p.buttonSpacing,5)}),!1!==B&&(c.div=t=l("div",null,{position:"relative",height:0,zIndex:1}),f.parentNode.insertBefore(t,f),c.inputGroup=t=e.g("input-group").add(),t.offset=0,c.drawInput("min"),c.drawInput("max"))),c.updateButtonStates(),F[H?"animate":"attr"]({translateY:G.buttonTop}),!1!==B&&(t.align(h({y:G.inputTop,width:t.offset,x:n&&G.inputTop<(n.y||0)+n.height- +d.spacing[0]?-40:0},p.inputPosition),!0,d.spacingBox),k(B)||(d=F.getBBox(),t[t.alignAttr.translateXc&&(e?a=b-f:b=a+f);d(a)||(a=b=void 0);return{min:a,max:b}};G.prototype.minFromRange=function(){var a=this.range,b={month:"Month",year:"FullYear"}[a.type],c,e=this.max,f,g,h=function(a,c){var d=new Date(a);d["set"+b](d["get"+ +b]()+c);return d.getTime()-a};d(a)?(c=e-a,g=a):(c=e+h(e,-a.count),this.chart&&(this.chart.fixedRange=e-c));f=q(this.dataMin,Number.MIN_VALUE);d(c)||(c=f);c<=f&&(c=f,void 0===g&&(g=h(c,a.count)),this.newMax=Math.min(c+g,this.dataMax));d(e)||(c=void 0);return c};F(H.prototype,"init",function(a,b,c){B(this,"init",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new D(this))});a.call(this,b,c)});a.RangeSelector=D})(N);(function(a){var D=a.addEvent,B=a.isNumber;a.Chart.prototype.callbacks.push(function(a){function G(){p= +a.xAxis[0].getExtremes();B(p.min)&&r.render(p.min,p.max)}var p,l=a.scroller,r=a.rangeSelector,w,t;l&&(p=a.xAxis[0].getExtremes(),l.render(p.min,p.max));r&&(t=D(a.xAxis[0],"afterSetExtremes",function(a){r.render(a.min,a.max)}),w=D(a,"redraw",G),G());D(a,"destroy",function(){r&&(w(),t())})})})(N);(function(a){var D=a.arrayMax,B=a.arrayMin,G=a.Axis,H=a.Chart,p=a.defined,l=a.each,r=a.extend,w=a.format,t=a.inArray,k=a.isNumber,m=a.isString,e=a.map,g=a.merge,h=a.pick,C=a.Point,f=a.Renderer,d=a.Series,b= +a.splat,q=a.stop,E=a.SVGRenderer,c=a.VMLRenderer,F=a.wrap,n=d.prototype,A=n.init,x=n.processData,J=C.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(c,d,f){var k=m(c)||c.nodeName,l=arguments[k?1:0],n=l.series,p=a.getOptions(),q,r=h(l.navigator&&l.navigator.enabled,!0)?{startOnTick:!1,endOnTick:!1}:null,t={marker:{enabled:!1,radius:2}},u={shadow:!1,borderWidth:0};l.xAxis=e(b(l.xAxis||{}),function(a){return g({minPadding:0,maxPadding:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"}, +showLastLabel:!0},p.xAxis,a,{type:"datetime",categories:null},r)});l.yAxis=e(b(l.yAxis||{}),function(a){q=h(a.opposite,!0);return g({labels:{y:-2},opposite:q,showLastLabel:!1,title:{text:null}},p.yAxis,a)});l.series=null;l=g({chart:{panning:!0,pinchType:"x"},navigator:{enabled:!0},scrollbar:{enabled:!0},rangeSelector:{enabled:!0},title:{text:null,style:{fontSize:"16px"}},tooltip:{shared:!0,crosshairs:!0},legend:{enabled:!1},plotOptions:{line:t,spline:t,area:t,areaspline:t,arearange:t,areasplinerange:t, +column:u,columnrange:u,candlestick:u,ohlc:u}},l,{_stock:!0,chart:{inverted:!1}});l.series=n;return k?new H(c,l,f):new H(l,d)};F(G.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options._stock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=1,"right"):a.call(this,[].slice.call(arguments,1))});F(G.prototype,"getPlotLinePath",function(a, +b,c,d,f,g){var n=this,q=this.isLinked&&!this.series?this.linkedParent.series:this.series,r=n.chart,u=r.renderer,v=n.left,w=n.top,y,x,A,B,C=[],D=[],E,F;if("colorAxis"===n.coll)return a.apply(this,[].slice.call(arguments,1));D=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=n.options[b];return k(a)?[r[b][a]]:m(a)?[r.get(a)]:e(q,function(a){return a[b]})}(n.coll);l(n.isXAxis?r.yAxis:r.xAxis,function(a){if(p(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=p(a.options[b])? +r[b][a.options[b]]:r[b][0];n===b&&D.push(a)}});E=D.length?[]:[n.isXAxis?r.yAxis[0]:r.xAxis[0]];l(D,function(a){-1===t(a,E)&&E.push(a)});F=h(g,n.translate(b,null,null,d));k(F)&&(n.horiz?l(E,function(a){var b;x=a.pos;B=x+a.len;y=A=Math.round(F+n.transB);if(yv+n.width)f?y=A=Math.min(Math.max(v,y),v+n.width):b=!0;b||C.push("M",y,x,"L",A,B)}):l(E,function(a){var b;y=a.pos;A=y+a.len;x=B=Math.round(w+n.height-F);if(xw+n.height)f?x=B=Math.min(Math.max(w,x),n.top+n.height):b=!0;b||C.push("M",y, +x,"L",A,B)}));return 0=e&&(x=-(l.translateX+b.width-e));l.attr({x:m+x,y:k,anchorX:g?m:this.opposite?0:a.chartWidth,anchorY:g?this.opposite?a.chartHeight:0:k+b.height/2})}});n.init=function(){A.apply(this,arguments);this.setCompare(this.options.compare)};n.setCompare=function(a){this.modifyValue= +"value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b=b/d*100-100,c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};n.processData=function(){var a,b=-1,c,d,e,f;x.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,e=d.length,this.pointArrayMap&&(b=t("close",this.pointArrayMap),-1===b&&(b=t(this.pointValKey||"y",this.pointArrayMap))),a=0;a< +e-1;a++)if(f=-1=this.xAxis.min&&0!==f){this.compareValue=f;break}};F(n,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=B(b),this.dataMax=D(b))});G.prototype.setCompare=function(a,b){this.isXAxis||(l(this.series,function(b){b.setCompare(a)}),h(b,!0)&&this.chart.redraw())};C.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(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 '; + else + var expandButton = ''; + + return '' + expandButton + '' + ellipsedLabel({ name: item.name, parentClass: "nav-tooltip", childClass: "nav-label" }) + ''; +} + +function menuItemsForGroup(group, level, parent) { + var items = ''; + + if (level > 0) + items += menuItem(group, level - 1, parent, true); + + $.each(group.contents, function (contentName, content) { + if (content.type == 'GROUP') + items += menuItemsForGroup(content, level + 1, group.pathFormatted); + else if (content.type == 'REQUEST') + items += menuItem(content, level, group.pathFormatted); + }); + + return items; +} + +function setDetailsMenu(){ + $('.nav ul').append(menuItemsForGroup(stats, 0)); + $('.nav').expandable(); + $('.nav-tooltip').popover({trigger:'hover'}); +} + +function setGlobalMenu(){ + $('.nav ul') + .append('
  • Ranges
  • ') + .append('
  • Stats
  • ') + .append('
  • Active Users
  • ') + .append('
  • Requests / sec
  • ') + .append('
  • Responses / sec
  • '); +} + +function getLink(link){ + var a = link.split('/'); + return (a.length<=1)? link : a[a.length-1]; +} + +function expandUp(li) { + const parentId = li.attr("data-parent"); + if (parentId != "ROOT") { + const span = $('#' + parentId); + const parentLi = span.parents('li').first(); + span.expand(parentLi, false); + expandUp(parentLi); + } +} + +function setActiveMenu(){ + $('.nav a').each(function() { + const navA = $(this) + if(!navA.hasClass('expand-button') && navA.attr('href') == getLink(window.location.pathname)) { + const li = $(this).parents('li').first(); + li.addClass('on'); + expandUp(li); + return false; + } + }); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/stats.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/stats.js new file mode 100644 index 0000000..fa3d74f --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/stats.js @@ -0,0 +1,1523 @@ +var stats = { + type: "GROUP", +name: "All Requests", +path: "", +pathFormatted: "group_missing-name--1146707516", +stats: { + "name": "All Requests", + "numberOfRequests": { + "total": "2057", + "ok": "2057", + "ko": "0" + }, + "minResponseTime": { + "total": "24", + "ok": "24", + "ko": "-" + }, + "maxResponseTime": { + "total": "1809", + "ok": "1809", + "ko": "-" + }, + "meanResponseTime": { + "total": "128", + "ok": "128", + "ko": "-" + }, + "standardDeviation": { + "total": "189", + "ok": "189", + "ko": "-" + }, + "percentiles1": { + "total": "78", + "ok": "78", + "ko": "-" + }, + "percentiles2": { + "total": "88", + "ok": "88", + "ko": "-" + }, + "percentiles3": { + "total": "507", + "ok": "507", + "ko": "-" + }, + "percentiles4": { + "total": "1054", + "ok": "1054", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2019, + "percentage": 98 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 24, + "percentage": 1 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 14, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "15.583", + "ok": "15.583", + "ko": "-" + } +}, +contents: { +"req_request-0-693933696": { + type: "REQUEST", + name: "request_0", +path: "request_0", +pathFormatted: "req_request-0-693933696", +stats: { + "name": "request_0", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "251", + "ok": "251", + "ko": "-" + }, + "meanResponseTime": { + "total": "89", + "ok": "89", + "ko": "-" + }, + "standardDeviation": { + "total": "25", + "ok": "25", + "ko": "-" + }, + "percentiles1": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles2": { + "total": "89", + "ok": "89", + "ko": "-" + }, + "percentiles3": { + "total": "133", + "ok": "133", + "ko": "-" + }, + "percentiles4": { + "total": "188", + "ok": "188", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-1-693933697": { + type: "REQUEST", + name: "request_1", +path: "request_1", +pathFormatted: "req_request-1-693933697", +stats: { + "name": "request_1", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "36", + "ok": "36", + "ko": "-" + }, + "maxResponseTime": { + "total": "77", + "ok": "77", + "ko": "-" + }, + "meanResponseTime": { + "total": "42", + "ok": "42", + "ko": "-" + }, + "standardDeviation": { + "total": "7", + "ok": "7", + "ko": "-" + }, + "percentiles1": { + "total": "40", + "ok": "40", + "ko": "-" + }, + "percentiles2": { + "total": "41", + "ok": "41", + "ko": "-" + }, + "percentiles3": { + "total": "57", + "ok": "57", + "ko": "-" + }, + "percentiles4": { + "total": "69", + "ok": "69", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-2-693933698": { + type: "REQUEST", + name: "request_2", +path: "request_2", +pathFormatted: "req_request-2-693933698", +stats: { + "name": "request_2", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "165", + "ok": "165", + "ko": "-" + }, + "meanResponseTime": { + "total": "85", + "ok": "85", + "ko": "-" + }, + "standardDeviation": { + "total": "16", + "ok": "16", + "ko": "-" + }, + "percentiles1": { + "total": "81", + "ok": "81", + "ko": "-" + }, + "percentiles2": { + "total": "84", + "ok": "84", + "ko": "-" + }, + "percentiles3": { + "total": "126", + "ok": "126", + "ko": "-" + }, + "percentiles4": { + "total": "152", + "ok": "152", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-3-693933699": { + type: "REQUEST", + name: "request_3", +path: "request_3", +pathFormatted: "req_request-3-693933699", +stats: { + "name": "request_3", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "212", + "ok": "212", + "ko": "-" + }, + "meanResponseTime": { + "total": "88", + "ok": "88", + "ko": "-" + }, + "standardDeviation": { + "total": "22", + "ok": "22", + "ko": "-" + }, + "percentiles1": { + "total": "81", + "ok": "81", + "ko": "-" + }, + "percentiles2": { + "total": "87", + "ok": "87", + "ko": "-" + }, + "percentiles3": { + "total": "130", + "ok": "130", + "ko": "-" + }, + "percentiles4": { + "total": "195", + "ok": "195", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-4-693933700": { + type: "REQUEST", + name: "request_4", +path: "request_4", +pathFormatted: "req_request-4-693933700", +stats: { + "name": "request_4", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "109", + "ok": "109", + "ko": "-" + }, + "maxResponseTime": { + "total": "250", + "ok": "250", + "ko": "-" + }, + "meanResponseTime": { + "total": "122", + "ok": "122", + "ko": "-" + }, + "standardDeviation": { + "total": "17", + "ok": "17", + "ko": "-" + }, + "percentiles1": { + "total": "116", + "ok": "116", + "ko": "-" + }, + "percentiles2": { + "total": "126", + "ok": "126", + "ko": "-" + }, + "percentiles3": { + "total": "149", + "ok": "149", + "ko": "-" + }, + "percentiles4": { + "total": "171", + "ok": "171", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-5-693933701": { + type: "REQUEST", + name: "request_5", +path: "request_5", +pathFormatted: "req_request-5-693933701", +stats: { + "name": "request_5", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "295", + "ok": "295", + "ko": "-" + }, + "maxResponseTime": { + "total": "1473", + "ok": "1473", + "ko": "-" + }, + "meanResponseTime": { + "total": "396", + "ok": "396", + "ko": "-" + }, + "standardDeviation": { + "total": "145", + "ok": "145", + "ko": "-" + }, + "percentiles1": { + "total": "345", + "ok": "345", + "ko": "-" + }, + "percentiles2": { + "total": "428", + "ok": "428", + "ko": "-" + }, + "percentiles3": { + "total": "609", + "ok": "609", + "ko": "-" + }, + "percentiles4": { + "total": "874", + "ok": "874", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 118, + "percentage": 98 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 2, + "percentage": 2 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 1, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-6-693933702": { + type: "REQUEST", + name: "request_6", +path: "request_6", +pathFormatted: "req_request-6-693933702", +stats: { + "name": "request_6", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "385", + "ok": "385", + "ko": "-" + }, + "maxResponseTime": { + "total": "1809", + "ok": "1809", + "ko": "-" + }, + "meanResponseTime": { + "total": "723", + "ok": "723", + "ko": "-" + }, + "standardDeviation": { + "total": "310", + "ok": "310", + "ko": "-" + }, + "percentiles1": { + "total": "608", + "ok": "608", + "ko": "-" + }, + "percentiles2": { + "total": "879", + "ok": "879", + "ko": "-" + }, + "percentiles3": { + "total": "1348", + "ok": "1348", + "ko": "-" + }, + "percentiles4": { + "total": "1600", + "ok": "1600", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 86, + "percentage": 71 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 22, + "percentage": 18 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 13, + "percentage": 11 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-7-693933703": { + type: "REQUEST", + name: "request_7", +path: "request_7", +pathFormatted: "req_request-7-693933703", +stats: { + "name": "request_7", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "38", + "ok": "38", + "ko": "-" + }, + "maxResponseTime": { + "total": "185", + "ok": "185", + "ko": "-" + }, + "meanResponseTime": { + "total": "50", + "ok": "50", + "ko": "-" + }, + "standardDeviation": { + "total": "22", + "ok": "22", + "ko": "-" + }, + "percentiles1": { + "total": "42", + "ok": "42", + "ko": "-" + }, + "percentiles2": { + "total": "45", + "ok": "45", + "ko": "-" + }, + "percentiles3": { + "total": "86", + "ok": "86", + "ko": "-" + }, + "percentiles4": { + "total": "124", + "ok": "124", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-8-693933704": { + type: "REQUEST", + name: "request_8", +path: "request_8", +pathFormatted: "req_request-8-693933704", +stats: { + "name": "request_8", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "75", + "ok": "75", + "ko": "-" + }, + "maxResponseTime": { + "total": "255", + "ok": "255", + "ko": "-" + }, + "meanResponseTime": { + "total": "87", + "ok": "87", + "ko": "-" + }, + "standardDeviation": { + "total": "25", + "ok": "25", + "ko": "-" + }, + "percentiles1": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles2": { + "total": "83", + "ok": "83", + "ko": "-" + }, + "percentiles3": { + "total": "133", + "ok": "133", + "ko": "-" + }, + "percentiles4": { + "total": "204", + "ok": "204", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-9-693933705": { + type: "REQUEST", + name: "request_9", +path: "request_9", +pathFormatted: "req_request-9-693933705", +stats: { + "name": "request_9", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "75", + "ok": "75", + "ko": "-" + }, + "maxResponseTime": { + "total": "282", + "ok": "282", + "ko": "-" + }, + "meanResponseTime": { + "total": "87", + "ok": "87", + "ko": "-" + }, + "standardDeviation": { + "total": "24", + "ok": "24", + "ko": "-" + }, + "percentiles1": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles2": { + "total": "84", + "ok": "84", + "ko": "-" + }, + "percentiles3": { + "total": "127", + "ok": "127", + "ko": "-" + }, + "percentiles4": { + "total": "167", + "ok": "167", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-10-37108175": { + type: "REQUEST", + name: "request_10", +path: "request_10", +pathFormatted: "req_request-10-37108175", +stats: { + "name": "request_10", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "77", + "ok": "77", + "ko": "-" + }, + "maxResponseTime": { + "total": "189", + "ok": "189", + "ko": "-" + }, + "meanResponseTime": { + "total": "85", + "ok": "85", + "ko": "-" + }, + "standardDeviation": { + "total": "16", + "ok": "16", + "ko": "-" + }, + "percentiles1": { + "total": "80", + "ok": "80", + "ko": "-" + }, + "percentiles2": { + "total": "84", + "ok": "84", + "ko": "-" + }, + "percentiles3": { + "total": "108", + "ok": "108", + "ko": "-" + }, + "percentiles4": { + "total": "163", + "ok": "163", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-11-37108176": { + type: "REQUEST", + name: "request_11", +path: "request_11", +pathFormatted: "req_request-11-37108176", +stats: { + "name": "request_11", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "39", + "ok": "39", + "ko": "-" + }, + "maxResponseTime": { + "total": "86", + "ok": "86", + "ko": "-" + }, + "meanResponseTime": { + "total": "43", + "ok": "43", + "ko": "-" + }, + "standardDeviation": { + "total": "6", + "ok": "6", + "ko": "-" + }, + "percentiles1": { + "total": "41", + "ok": "41", + "ko": "-" + }, + "percentiles2": { + "total": "44", + "ok": "44", + "ko": "-" + }, + "percentiles3": { + "total": "51", + "ok": "51", + "ko": "-" + }, + "percentiles4": { + "total": "63", + "ok": "63", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-12-37108177": { + type: "REQUEST", + name: "request_12", +path: "request_12", +pathFormatted: "req_request-12-37108177", +stats: { + "name": "request_12", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "24", + "ok": "24", + "ko": "-" + }, + "maxResponseTime": { + "total": "494", + "ok": "494", + "ko": "-" + }, + "meanResponseTime": { + "total": "36", + "ok": "36", + "ko": "-" + }, + "standardDeviation": { + "total": "52", + "ok": "52", + "ko": "-" + }, + "percentiles1": { + "total": "25", + "ok": "25", + "ko": "-" + }, + "percentiles2": { + "total": "30", + "ok": "30", + "ko": "-" + }, + "percentiles3": { + "total": "41", + "ok": "41", + "ko": "-" + }, + "percentiles4": { + "total": "280", + "ok": "280", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-14-37108179": { + type: "REQUEST", + name: "request_14", +path: "request_14", +pathFormatted: "req_request-14-37108179", +stats: { + "name": "request_14", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "35", + "ok": "35", + "ko": "-" + }, + "maxResponseTime": { + "total": "54", + "ok": "54", + "ko": "-" + }, + "meanResponseTime": { + "total": "38", + "ok": "38", + "ko": "-" + }, + "standardDeviation": { + "total": "2", + "ok": "2", + "ko": "-" + }, + "percentiles1": { + "total": "37", + "ok": "37", + "ko": "-" + }, + "percentiles2": { + "total": "39", + "ok": "39", + "ko": "-" + }, + "percentiles3": { + "total": "40", + "ok": "40", + "ko": "-" + }, + "percentiles4": { + "total": "45", + "ok": "45", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-15-37108180": { + type: "REQUEST", + name: "request_15", +path: "request_15", +pathFormatted: "req_request-15-37108180", +stats: { + "name": "request_15", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "39", + "ok": "39", + "ko": "-" + }, + "maxResponseTime": { + "total": "57", + "ok": "57", + "ko": "-" + }, + "meanResponseTime": { + "total": "43", + "ok": "43", + "ko": "-" + }, + "standardDeviation": { + "total": "3", + "ok": "3", + "ko": "-" + }, + "percentiles1": { + "total": "42", + "ok": "42", + "ko": "-" + }, + "percentiles2": { + "total": "44", + "ok": "44", + "ko": "-" + }, + "percentiles3": { + "total": "45", + "ok": "45", + "ko": "-" + }, + "percentiles4": { + "total": "56", + "ok": "56", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-16-37108181": { + type: "REQUEST", + name: "request_16", +path: "request_16", +pathFormatted: "req_request-16-37108181", +stats: { + "name": "request_16", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "75", + "ok": "75", + "ko": "-" + }, + "maxResponseTime": { + "total": "157", + "ok": "157", + "ko": "-" + }, + "meanResponseTime": { + "total": "81", + "ok": "81", + "ko": "-" + }, + "standardDeviation": { + "total": "10", + "ok": "10", + "ko": "-" + }, + "percentiles1": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles2": { + "total": "83", + "ok": "83", + "ko": "-" + }, + "percentiles3": { + "total": "84", + "ok": "84", + "ko": "-" + }, + "percentiles4": { + "total": "134", + "ok": "134", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + },"req_request-17-37108182": { + type: "REQUEST", + name: "request_17", +path: "request_17", +pathFormatted: "req_request-17-37108182", +stats: { + "name": "request_17", + "numberOfRequests": { + "total": "121", + "ok": "121", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "84", + "ok": "84", + "ko": "-" + }, + "meanResponseTime": { + "total": "80", + "ok": "80", + "ko": "-" + }, + "standardDeviation": { + "total": "3", + "ok": "3", + "ko": "-" + }, + "percentiles1": { + "total": "78", + "ok": "78", + "ko": "-" + }, + "percentiles2": { + "total": "83", + "ok": "83", + "ko": "-" + }, + "percentiles3": { + "total": "84", + "ok": "84", + "ko": "-" + }, + "percentiles4": { + "total": "84", + "ok": "84", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "0.917", + "ok": "0.917", + "ko": "-" + } +} + } +} + +} + +function fillStats(stat){ + $("#numberOfRequests").append(stat.numberOfRequests.total); + $("#numberOfRequestsOK").append(stat.numberOfRequests.ok); + $("#numberOfRequestsKO").append(stat.numberOfRequests.ko); + + $("#minResponseTime").append(stat.minResponseTime.total); + $("#minResponseTimeOK").append(stat.minResponseTime.ok); + $("#minResponseTimeKO").append(stat.minResponseTime.ko); + + $("#maxResponseTime").append(stat.maxResponseTime.total); + $("#maxResponseTimeOK").append(stat.maxResponseTime.ok); + $("#maxResponseTimeKO").append(stat.maxResponseTime.ko); + + $("#meanResponseTime").append(stat.meanResponseTime.total); + $("#meanResponseTimeOK").append(stat.meanResponseTime.ok); + $("#meanResponseTimeKO").append(stat.meanResponseTime.ko); + + $("#standardDeviation").append(stat.standardDeviation.total); + $("#standardDeviationOK").append(stat.standardDeviation.ok); + $("#standardDeviationKO").append(stat.standardDeviation.ko); + + $("#percentiles1").append(stat.percentiles1.total); + $("#percentiles1OK").append(stat.percentiles1.ok); + $("#percentiles1KO").append(stat.percentiles1.ko); + + $("#percentiles2").append(stat.percentiles2.total); + $("#percentiles2OK").append(stat.percentiles2.ok); + $("#percentiles2KO").append(stat.percentiles2.ko); + + $("#percentiles3").append(stat.percentiles3.total); + $("#percentiles3OK").append(stat.percentiles3.ok); + $("#percentiles3KO").append(stat.percentiles3.ko); + + $("#percentiles4").append(stat.percentiles4.total); + $("#percentiles4OK").append(stat.percentiles4.ok); + $("#percentiles4KO").append(stat.percentiles4.ko); + + $("#meanNumberOfRequestsPerSecond").append(stat.meanNumberOfRequestsPerSecond.total); + $("#meanNumberOfRequestsPerSecondOK").append(stat.meanNumberOfRequestsPerSecond.ok); + $("#meanNumberOfRequestsPerSecondKO").append(stat.meanNumberOfRequestsPerSecond.ko); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/stats.json new file mode 100644 index 0000000..915f16d --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/stats.json @@ -0,0 +1,1481 @@ +{ + "type": "GROUP", +"name": "All Requests", +"path": "", +"pathFormatted": "group_missing-name--1146707516", +"stats": { + "name": "All Requests", + "numberOfRequests": { + "total": 2057, + "ok": 2057, + "ko": 0 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 0 + }, + "maxResponseTime": { + "total": 1809, + "ok": 1809, + "ko": 0 + }, + "meanResponseTime": { + "total": 128, + "ok": 128, + "ko": 0 + }, + "standardDeviation": { + "total": 189, + "ok": 189, + "ko": 0 + }, + "percentiles1": { + "total": 78, + "ok": 78, + "ko": 0 + }, + "percentiles2": { + "total": 88, + "ok": 88, + "ko": 0 + }, + "percentiles3": { + "total": 507, + "ok": 507, + "ko": 0 + }, + "percentiles4": { + "total": 1054, + "ok": 1054, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 2019, + "percentage": 98 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 24, + "percentage": 1 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 14, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 15.583333333333334, + "ok": 15.583333333333334, + "ko": 0 + } +}, +"contents": { +"req_request-0-693933696": { + "type": "REQUEST", + "name": "request_0", +"path": "request_0", +"pathFormatted": "req_request-0-693933696", +"stats": { + "name": "request_0", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 251, + "ok": 251, + "ko": 0 + }, + "meanResponseTime": { + "total": 89, + "ok": 89, + "ko": 0 + }, + "standardDeviation": { + "total": 25, + "ok": 25, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles2": { + "total": 89, + "ok": 89, + "ko": 0 + }, + "percentiles3": { + "total": 133, + "ok": 133, + "ko": 0 + }, + "percentiles4": { + "total": 188, + "ok": 188, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-1-693933697": { + "type": "REQUEST", + "name": "request_1", +"path": "request_1", +"pathFormatted": "req_request-1-693933697", +"stats": { + "name": "request_1", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 36, + "ok": 36, + "ko": 0 + }, + "maxResponseTime": { + "total": 77, + "ok": 77, + "ko": 0 + }, + "meanResponseTime": { + "total": 42, + "ok": 42, + "ko": 0 + }, + "standardDeviation": { + "total": 7, + "ok": 7, + "ko": 0 + }, + "percentiles1": { + "total": 40, + "ok": 40, + "ko": 0 + }, + "percentiles2": { + "total": 41, + "ok": 41, + "ko": 0 + }, + "percentiles3": { + "total": 57, + "ok": 57, + "ko": 0 + }, + "percentiles4": { + "total": 69, + "ok": 69, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-2-693933698": { + "type": "REQUEST", + "name": "request_2", +"path": "request_2", +"pathFormatted": "req_request-2-693933698", +"stats": { + "name": "request_2", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 165, + "ok": 165, + "ko": 0 + }, + "meanResponseTime": { + "total": 85, + "ok": 85, + "ko": 0 + }, + "standardDeviation": { + "total": 16, + "ok": 16, + "ko": 0 + }, + "percentiles1": { + "total": 81, + "ok": 81, + "ko": 0 + }, + "percentiles2": { + "total": 84, + "ok": 84, + "ko": 0 + }, + "percentiles3": { + "total": 126, + "ok": 126, + "ko": 0 + }, + "percentiles4": { + "total": 152, + "ok": 152, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-3-693933699": { + "type": "REQUEST", + "name": "request_3", +"path": "request_3", +"pathFormatted": "req_request-3-693933699", +"stats": { + "name": "request_3", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 212, + "ok": 212, + "ko": 0 + }, + "meanResponseTime": { + "total": 88, + "ok": 88, + "ko": 0 + }, + "standardDeviation": { + "total": 22, + "ok": 22, + "ko": 0 + }, + "percentiles1": { + "total": 81, + "ok": 81, + "ko": 0 + }, + "percentiles2": { + "total": 87, + "ok": 87, + "ko": 0 + }, + "percentiles3": { + "total": 130, + "ok": 130, + "ko": 0 + }, + "percentiles4": { + "total": 195, + "ok": 195, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-4-693933700": { + "type": "REQUEST", + "name": "request_4", +"path": "request_4", +"pathFormatted": "req_request-4-693933700", +"stats": { + "name": "request_4", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 109, + "ok": 109, + "ko": 0 + }, + "maxResponseTime": { + "total": 250, + "ok": 250, + "ko": 0 + }, + "meanResponseTime": { + "total": 122, + "ok": 122, + "ko": 0 + }, + "standardDeviation": { + "total": 17, + "ok": 17, + "ko": 0 + }, + "percentiles1": { + "total": 116, + "ok": 116, + "ko": 0 + }, + "percentiles2": { + "total": 126, + "ok": 126, + "ko": 0 + }, + "percentiles3": { + "total": 149, + "ok": 149, + "ko": 0 + }, + "percentiles4": { + "total": 171, + "ok": 171, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-5-693933701": { + "type": "REQUEST", + "name": "request_5", +"path": "request_5", +"pathFormatted": "req_request-5-693933701", +"stats": { + "name": "request_5", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 295, + "ok": 295, + "ko": 0 + }, + "maxResponseTime": { + "total": 1473, + "ok": 1473, + "ko": 0 + }, + "meanResponseTime": { + "total": 396, + "ok": 396, + "ko": 0 + }, + "standardDeviation": { + "total": 145, + "ok": 145, + "ko": 0 + }, + "percentiles1": { + "total": 345, + "ok": 345, + "ko": 0 + }, + "percentiles2": { + "total": 428, + "ok": 428, + "ko": 0 + }, + "percentiles3": { + "total": 609, + "ok": 609, + "ko": 0 + }, + "percentiles4": { + "total": 874, + "ok": 874, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 118, + "percentage": 98 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 2, + "percentage": 2 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 1, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-6-693933702": { + "type": "REQUEST", + "name": "request_6", +"path": "request_6", +"pathFormatted": "req_request-6-693933702", +"stats": { + "name": "request_6", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 385, + "ok": 385, + "ko": 0 + }, + "maxResponseTime": { + "total": 1809, + "ok": 1809, + "ko": 0 + }, + "meanResponseTime": { + "total": 723, + "ok": 723, + "ko": 0 + }, + "standardDeviation": { + "total": 310, + "ok": 310, + "ko": 0 + }, + "percentiles1": { + "total": 608, + "ok": 608, + "ko": 0 + }, + "percentiles2": { + "total": 879, + "ok": 879, + "ko": 0 + }, + "percentiles3": { + "total": 1348, + "ok": 1348, + "ko": 0 + }, + "percentiles4": { + "total": 1600, + "ok": 1600, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 86, + "percentage": 71 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 22, + "percentage": 18 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 13, + "percentage": 11 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-7-693933703": { + "type": "REQUEST", + "name": "request_7", +"path": "request_7", +"pathFormatted": "req_request-7-693933703", +"stats": { + "name": "request_7", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 38, + "ok": 38, + "ko": 0 + }, + "maxResponseTime": { + "total": 185, + "ok": 185, + "ko": 0 + }, + "meanResponseTime": { + "total": 50, + "ok": 50, + "ko": 0 + }, + "standardDeviation": { + "total": 22, + "ok": 22, + "ko": 0 + }, + "percentiles1": { + "total": 42, + "ok": 42, + "ko": 0 + }, + "percentiles2": { + "total": 45, + "ok": 45, + "ko": 0 + }, + "percentiles3": { + "total": 86, + "ok": 86, + "ko": 0 + }, + "percentiles4": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-8-693933704": { + "type": "REQUEST", + "name": "request_8", +"path": "request_8", +"pathFormatted": "req_request-8-693933704", +"stats": { + "name": "request_8", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 75, + "ok": 75, + "ko": 0 + }, + "maxResponseTime": { + "total": 255, + "ok": 255, + "ko": 0 + }, + "meanResponseTime": { + "total": 87, + "ok": 87, + "ko": 0 + }, + "standardDeviation": { + "total": 25, + "ok": 25, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles2": { + "total": 83, + "ok": 83, + "ko": 0 + }, + "percentiles3": { + "total": 133, + "ok": 133, + "ko": 0 + }, + "percentiles4": { + "total": 204, + "ok": 204, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-9-693933705": { + "type": "REQUEST", + "name": "request_9", +"path": "request_9", +"pathFormatted": "req_request-9-693933705", +"stats": { + "name": "request_9", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 75, + "ok": 75, + "ko": 0 + }, + "maxResponseTime": { + "total": 282, + "ok": 282, + "ko": 0 + }, + "meanResponseTime": { + "total": 87, + "ok": 87, + "ko": 0 + }, + "standardDeviation": { + "total": 24, + "ok": 24, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles2": { + "total": 84, + "ok": 84, + "ko": 0 + }, + "percentiles3": { + "total": 127, + "ok": 127, + "ko": 0 + }, + "percentiles4": { + "total": 167, + "ok": 167, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-10-37108175": { + "type": "REQUEST", + "name": "request_10", +"path": "request_10", +"pathFormatted": "req_request-10-37108175", +"stats": { + "name": "request_10", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 77, + "ok": 77, + "ko": 0 + }, + "maxResponseTime": { + "total": 189, + "ok": 189, + "ko": 0 + }, + "meanResponseTime": { + "total": 85, + "ok": 85, + "ko": 0 + }, + "standardDeviation": { + "total": 16, + "ok": 16, + "ko": 0 + }, + "percentiles1": { + "total": 80, + "ok": 80, + "ko": 0 + }, + "percentiles2": { + "total": 84, + "ok": 84, + "ko": 0 + }, + "percentiles3": { + "total": 108, + "ok": 108, + "ko": 0 + }, + "percentiles4": { + "total": 163, + "ok": 163, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-11-37108176": { + "type": "REQUEST", + "name": "request_11", +"path": "request_11", +"pathFormatted": "req_request-11-37108176", +"stats": { + "name": "request_11", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 39, + "ok": 39, + "ko": 0 + }, + "maxResponseTime": { + "total": 86, + "ok": 86, + "ko": 0 + }, + "meanResponseTime": { + "total": 43, + "ok": 43, + "ko": 0 + }, + "standardDeviation": { + "total": 6, + "ok": 6, + "ko": 0 + }, + "percentiles1": { + "total": 41, + "ok": 41, + "ko": 0 + }, + "percentiles2": { + "total": 44, + "ok": 44, + "ko": 0 + }, + "percentiles3": { + "total": 51, + "ok": 51, + "ko": 0 + }, + "percentiles4": { + "total": 63, + "ok": 63, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-12-37108177": { + "type": "REQUEST", + "name": "request_12", +"path": "request_12", +"pathFormatted": "req_request-12-37108177", +"stats": { + "name": "request_12", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 0 + }, + "maxResponseTime": { + "total": 494, + "ok": 494, + "ko": 0 + }, + "meanResponseTime": { + "total": 36, + "ok": 36, + "ko": 0 + }, + "standardDeviation": { + "total": 52, + "ok": 52, + "ko": 0 + }, + "percentiles1": { + "total": 25, + "ok": 25, + "ko": 0 + }, + "percentiles2": { + "total": 30, + "ok": 30, + "ko": 0 + }, + "percentiles3": { + "total": 41, + "ok": 41, + "ko": 0 + }, + "percentiles4": { + "total": 280, + "ok": 280, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-14-37108179": { + "type": "REQUEST", + "name": "request_14", +"path": "request_14", +"pathFormatted": "req_request-14-37108179", +"stats": { + "name": "request_14", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 35, + "ok": 35, + "ko": 0 + }, + "maxResponseTime": { + "total": 54, + "ok": 54, + "ko": 0 + }, + "meanResponseTime": { + "total": 38, + "ok": 38, + "ko": 0 + }, + "standardDeviation": { + "total": 2, + "ok": 2, + "ko": 0 + }, + "percentiles1": { + "total": 37, + "ok": 37, + "ko": 0 + }, + "percentiles2": { + "total": 39, + "ok": 39, + "ko": 0 + }, + "percentiles3": { + "total": 40, + "ok": 40, + "ko": 0 + }, + "percentiles4": { + "total": 45, + "ok": 45, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-15-37108180": { + "type": "REQUEST", + "name": "request_15", +"path": "request_15", +"pathFormatted": "req_request-15-37108180", +"stats": { + "name": "request_15", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 39, + "ok": 39, + "ko": 0 + }, + "maxResponseTime": { + "total": 57, + "ok": 57, + "ko": 0 + }, + "meanResponseTime": { + "total": 43, + "ok": 43, + "ko": 0 + }, + "standardDeviation": { + "total": 3, + "ok": 3, + "ko": 0 + }, + "percentiles1": { + "total": 42, + "ok": 42, + "ko": 0 + }, + "percentiles2": { + "total": 44, + "ok": 44, + "ko": 0 + }, + "percentiles3": { + "total": 45, + "ok": 45, + "ko": 0 + }, + "percentiles4": { + "total": 56, + "ok": 56, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-16-37108181": { + "type": "REQUEST", + "name": "request_16", +"path": "request_16", +"pathFormatted": "req_request-16-37108181", +"stats": { + "name": "request_16", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 75, + "ok": 75, + "ko": 0 + }, + "maxResponseTime": { + "total": 157, + "ok": 157, + "ko": 0 + }, + "meanResponseTime": { + "total": 81, + "ok": 81, + "ko": 0 + }, + "standardDeviation": { + "total": 10, + "ok": 10, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles2": { + "total": 83, + "ok": 83, + "ko": 0 + }, + "percentiles3": { + "total": 84, + "ok": 84, + "ko": 0 + }, + "percentiles4": { + "total": 134, + "ok": 134, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + },"req_request-17-37108182": { + "type": "REQUEST", + "name": "request_17", +"path": "request_17", +"pathFormatted": "req_request-17-37108182", +"stats": { + "name": "request_17", + "numberOfRequests": { + "total": 121, + "ok": 121, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 84, + "ok": 84, + "ko": 0 + }, + "meanResponseTime": { + "total": 80, + "ok": 80, + "ko": 0 + }, + "standardDeviation": { + "total": 3, + "ok": 3, + "ko": 0 + }, + "percentiles1": { + "total": 78, + "ok": 78, + "ko": 0 + }, + "percentiles2": { + "total": 83, + "ok": 83, + "ko": 0 + }, + "percentiles3": { + "total": 84, + "ok": 84, + "ko": 0 + }, + "percentiles4": { + "total": 84, + "ok": 84, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 121, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 0.9166666666666666, + "ok": 0.9166666666666666, + "ko": 0 + } +} + } +} + +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/theme.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/theme.js new file mode 100644 index 0000000..b95a7b3 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/theme.js @@ -0,0 +1,127 @@ +/* + * Copyright 2011-2022 Gatling Corp + * + * Licensed under the Gatling Highcharts License + */ +Highcharts.theme = { + chart: { + backgroundColor: '#f7f7f7', + borderWidth: 0, + borderRadius: 8, + plotBackgroundColor: null, + plotShadow: false, + plotBorderWidth: 0 + }, + xAxis: { + gridLineWidth: 0, + lineColor: '#666', + tickColor: '#666', + labels: { + style: { + color: '#666' + } + }, + title: { + style: { + color: '#666' + } + } + }, + yAxis: { + alternateGridColor: null, + minorTickInterval: null, + gridLineColor: '#999', + lineWidth: 0, + tickWidth: 0, + labels: { + style: { + color: '#666', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#666', + font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + labels: { + style: { + color: '#CCC' + } + }, + + + rangeSelector: { + buttonTheme: { + fill: '#cfc9c6', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#b2b2a9' + }, + states: { + hover: { + fill: '#92918C', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#8b897d' + } + }, + select: { + fill: '#E37400', + stroke: '#000000', + style: { + color: '#FFF' + } + } + } + }, + inputStyle: { + backgroundColor: '#333', + color: 'silver' + }, + labelStyle: { + color: '#8b897d' + } + }, + + navigator: { + handles: { + backgroundColor: '#f7f7f7', + borderColor: '#92918C' + }, + outlineColor: '#92918C', + outlineWidth: 1, + maskFill: 'rgba(146, 145, 140, 0.5)', + series: { + color: '#5E7BE2', + lineColor: '#5E7BE2' + } + }, + + scrollbar: { + buttonBackgroundColor: '#f7f7f7', + buttonBorderWidth: 1, + buttonBorderColor: '#92918C', + buttonArrowColor: '#92918C', + buttonBorderRadius: 2, + + barBorderWidth: 1, + barBorderRadius: 0, + barBackgroundColor: '#92918C', + barBorderColor: '#92918C', + + rifleColor: '#92918C', + + trackBackgroundColor: '#b0b0a8', + trackBorderWidth: 1, + trackBorderColor: '#b0b0a8' + } +}; + +Highcharts.setOptions(Highcharts.theme); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/unpack.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/unpack.js new file mode 100644 index 0000000..883c33e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/js/unpack.js @@ -0,0 +1,38 @@ +'use strict'; + +var unpack = function (array) { + var findNbSeries = function (array) { + var currentPlotPack; + var length = array.length; + + for (var i = 0; i < length; i++) { + currentPlotPack = array[i][1]; + if(currentPlotPack !== null) { + return currentPlotPack.length; + } + } + return 0; + }; + + var i, j; + var nbPlots = array.length; + var nbSeries = findNbSeries(array); + + // Prepare unpacked array + var unpackedArray = new Array(nbSeries); + + for (i = 0; i < nbSeries; i++) { + unpackedArray[i] = new Array(nbPlots); + } + + // Unpack the array + for (i = 0; i < nbPlots; i++) { + var timestamp = array[i][0]; + var values = array[i][1]; + for (j = 0; j < nbSeries; j++) { + unpackedArray[j][i] = [timestamp * 1000, values === null ? null : values[j]]; + } + } + + return unpackedArray; +}; diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-0-693933696.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-0-693933696.html new file mode 100644 index 0000000..22f0f37 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-0-693933696.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_0 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-1-693933697.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-1-693933697.html new file mode 100644 index 0000000..9712d57 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-1-693933697.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_1 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-10-37108175.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-10-37108175.html new file mode 100644 index 0000000..8e31800 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-10-37108175.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_10 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-11-37108176.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-11-37108176.html new file mode 100644 index 0000000..2c1e0a9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-11-37108176.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_11 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-12-37108177.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-12-37108177.html new file mode 100644 index 0000000..01986d3 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-12-37108177.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_12 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-14-37108179.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-14-37108179.html new file mode 100644 index 0000000..cc48c9a --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-14-37108179.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_14 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-15-37108180.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-15-37108180.html new file mode 100644 index 0000000..aebbdfd --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-15-37108180.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_15 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-16-37108181.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-16-37108181.html new file mode 100644 index 0000000..25be57a --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-16-37108181.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_16 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-17-37108182.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-17-37108182.html new file mode 100644 index 0000000..2ddcaa9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-17-37108182.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_17 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-2-693933698.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-2-693933698.html new file mode 100644 index 0000000..859b93a --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-2-693933698.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_2 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-3-693933699.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-3-693933699.html new file mode 100644 index 0000000..c80aeb1 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-3-693933699.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_3 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-4-693933700.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-4-693933700.html new file mode 100644 index 0000000..914815d --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-4-693933700.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_4 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-5-693933701.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-5-693933701.html new file mode 100644 index 0000000..b6d4f09 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-5-693933701.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_5 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-6-693933702.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-6-693933702.html new file mode 100644 index 0000000..62e4f20 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-6-693933702.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_6 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-7-693933703.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-7-693933703.html new file mode 100644 index 0000000..0d05df9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-7-693933703.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_7 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-8-693933704.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-8-693933704.html new file mode 100644 index 0000000..0b2b09d --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-8-693933704.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_8 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-9-693933705.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-9-693933705.html new file mode 100644 index 0000000..4d85fc5 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/req_request-9-693933705.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_9 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/bootstrap.min.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/bootstrap.min.css new file mode 100644 index 0000000..76a2b9b --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/bootstrap.min.css @@ -0,0 +1,27 @@ +.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;} +.clearfix:after{clear:both;} +.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;} +.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);} +.tooltip.top{margin-top:-3px;} +.tooltip.right{margin-left:3px;} +.tooltip.bottom{margin-top:3px;} +.tooltip.left{margin-left:-3px;} +.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;} +.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;} +.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;} +.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;} +.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:750px;padding:1px;background-color:#ffffff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);}.popover.top{margin-top:-10px;} +.popover.right{margin-left:10px;} +.popover.bottom{margin-top:10px;} +.popover.left{margin-left:-10px;} +.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;} +.popover-content{padding:9px 14px;}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0;} +.popover .arrow,.popover .arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid;} +.popover .arrow:after{content:"";z-index:-1;} +.popover.top .arrow{bottom:-10px;left:50%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#ffffff;}.popover.top .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0, 0, 0, 0.25);bottom:-1px;left:-11px;} +.popover.right .arrow{top:50%;left:-10px;margin-top:-10px;border-width:10px 10px 10px 0;border-right-color:#ffffff;}.popover.right .arrow:after{border-width:11px 11px 11px 0;border-right-color:rgba(0, 0, 0, 0.25);bottom:-11px;left:-1px;} +.popover.bottom .arrow{top:-10px;left:50%;margin-left:-10px;border-width:0 10px 10px;border-bottom-color:#ffffff;}.popover.bottom .arrow:after{border-width:0 11px 11px;border-bottom-color:rgba(0, 0, 0, 0.25);top:-1px;left:-11px;} +.popover.left .arrow{top:50%;right:-10px;margin-top:-10px;border-width:10px 0 10px 10px;border-left-color:#ffffff;}.popover.left .arrow:after{border-width:11px 0 11px 11px;border-left-color:rgba(0, 0, 0, 0.25);bottom:-11px;right:-1px;} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/close.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/close.svg new file mode 100644 index 0000000..c161bb9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/executions.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/executions.svg new file mode 100644 index 0000000..84068cd --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/executions.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/expand.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/expand.svg new file mode 100644 index 0000000..f6e75e0 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/expand.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/favicon.ico b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d2d20e116df94a676d4bb18395f0479304aef6a4 GIT binary patch literal 15086 zcmeI23vgA%8OKi&AiTq?AkPF8c@!wf`!S@5ViAx>a_JLSF1VWMQKse&#dLi5wlM1_0 z{FM;Ti|sk&y~DuuWXc=~!vbOZMy|V())CrJpY;0L8wi!QM>m&zYv9kY5B?3u;2c!O zs6ZM%Cwv?}ZUCR5a}lC&3CiHSi?f8KBR+xu!araKY=q^sqfcTxa>ExJ5kHFbN8w@G zFbUZkx(k2U9zdM>;c2eb9<@Vt5POLKHVlK|b%E|Ae7gwwDx3hf9oZ^{qwoRjg6;52 zcpeJLI}f_J>rdS@R>r_B=yd$%s`3!zFD&bhZdZTkLaK?cPhvA2 zKl><4eGxC4a;Mdo*PR{+mo_KQ0&Hlk7(2(YeOGR{yx#iw!sRK{pC^Z_`%&gZIOHn( z0A)|bA46eyt%M^3$D@Q6QTcTUVt9h#E14pioqpnJ5Fv4vueCTp(_y(W_1RLr&f2 zqI)=IL-U*F1Lco^e7uSJ_DHlro5zyo?tjgxFM|B=QxDdXXQn?~UhTf54G*EKdD-|u zWftJKwuxmXUXwQ)-H%*()s8zUXDUnsXPpUz?CyzqH4f0-=E{2#{o&G^u_}`4MWPK| zGcOFrhQ_|B|0!d~OW(w?ZnYrKW>-GtKStgfYlX>^DA8Z$%3n^K?&qG-Jk_EOS}M&~ zSmyKt;kMY&T4m~Q6TU}wa>8Y`&PSBh4?T@@lTT9pxFoTjwOyl|2O4L_#y<(a2I`l( z_!a5jhgQ_TIdUr)8=4RH#^M$;j#_w?Px@py3nrhDhiKc)UU?GZD0>?D-D{Dt(GYo> z{mz&`fvtJyWsiEu#tG^&D6w2!Q}%77YrgU->oD<47@K|3>re}AiN6y)?PZJ&g*E?a zKTsDRQLmTaI&A1ZdIO9NN$rJnU;Z3Adexu2ePcTAeC}{L>Br!2@E6#XfZ{#`%~>X& z=AN$5tsc5kzOxRXr#W;#7#o`Z7J&8>o@2-Hf7Kkm!IjVCzgl^TIpI5AzN#yZ@~41% z3?8H2{p-qO(%6fPB=3LfX@mT$KG1!s`_Axt!dfRxdvzbLVLaRm@%_FltoUKGf*0d+ ziZ5(8A*2esb2%T!qR?L?zjmkbm{QqUbpo+5Y;bl<5@UZ>vksWYd= z)qkY5f?t3sS9McgxSvZB!y4B+m=m1+1HSLY^_yU9NU9HI=MZCKZ1qyBuJVc^sZe8I z76_F!A|Lxc=ickgKD?!mwk6ugVUJ6j9zaj^F=hXOxLKez+Y7DZig(sV+HgH#tq*Fq zv9Xu9c`>~afx=SHJ#wJXPWJ`Nn9dG0~%k(XL|0)b(fP9EKlYB(7M_h zTG8GN*3cg0nE{&5KXv6lO?Vx8{oFR{3;PP4=f?@yR=;-h)v?bYy(tW%oae#4-W?$S z^qDI!&nGH(RS)ppgpSgYFay zfX-0*!FbR*qP1P)#q_s)rf1k8c`Iw)A8G^pRqYAB!v3HiWsHnrp7XVCwx{i$<6HT! z!K7 zY1Mc-Co%a;dLZe6FN_B`E73b>oe7VIDLfDA+(FWyvn4$zdST9EFRHo+DTeofqdI0t$jFNyI9 zQfKTs`+N&tf;p7QOzXUtYC?Dr<*UBkb@qhhywuir2b~Ddgzcd7&O_93j-H`?=(!=j z1?gFE7pUGk$EX0k7tBH43ZtM8*X?+Z>zw&fPHW1kb9TfwXB^HsjQpVUhS`Cj-I%lA zbT_kuk;YD&cxR8!i=aB3BLDon2E1oRHx)XraG zuGLrVtNJ!Ffw11ONMCIBde24Mnv(V`$X}}Klc4h|z4z9q$?+f8KLXj(dr-YU?E^Z0 zGQ{8Gs4Vn;7t=q592Ga@3J|ZeqBAi)wOyY%d;Un91$yUG28$_o1dMi}Gre)7_45VK zryy5>>KlQFNV}f)#`{%;5Wgg*WBl|S?^s%SRRBHNHg(lKdBFpfrT*&$ZriH&9>{dt z=K2vZWlO4UTS4!rZwE8~e1o`0L1ju$=aV`&d?kU6To*82GLSz2>FVD36XXNCt;;{I zvq57=dTunvROdvbqqtd@t<(%LcAKMP`u}6Xp5IFF4xtHY8gr_nyL?^04*8(5sJZc9 zARYN=GpqrfH;SLYgDO|GA*^v_+NFDBKJ!ks?+Q$<858o=!|*N~fnD$zzIX1Wn7u*7 z6@$uGA84*U@1m5j@-ffb9g)8U>8c&l+e%yG?+W#PgfseheRwyb@!A&nt}D_mr@)TC z7vWw~{3ejS!{A3}400?;YTQfqhMu4?q5D~5@d?s2ZnI2#jih|Og|gfGYdK?%wYv*> z*MY{vX>83k`B@9}9YF@Dekyw*>;aXndM*a1KTICC^cUJ%e}<>k`j> z&a;&EIBlRiq{Dc44?=J^+zYuNTOWY-tv!wV36BKrC$tVvQathjI1A5#_IcXhYR{#5 zXuolbqsM-i@OsdmWd=IVH#3CQ?&I(>JPALBr7#E1fa3Ihz4E^RQPBQp13Uv-XFmt6 znG0h~jmgiD_k;5e7^$+h!$Eiow7$Ixs{d=C=Tfb)^3OIn3Ad{L_>Vn;-IVKA(2@G+ z8!hM&P7LH*?Hb7SjjFRsUd%6%NRz+7xKmOnt_Vj9eV__wnvUqALE y@<9iX-XLgKmGb5P*V(C?vZI{Ap0ljoe9iI#Pp2!ETh`m`k}sX$tTjPb`Thqd2I;E+ literal 0 HcmV?d00001 diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/fullscreen.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/fullscreen.svg new file mode 100644 index 0000000..91f3b27 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/fullscreen.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-dark.svg new file mode 100644 index 0000000..7eb4d51 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-enterprise-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-enterprise-dark.svg new file mode 100644 index 0000000..1127d75 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-enterprise-dark.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-enterprise-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-enterprise-light.svg new file mode 100644 index 0000000..4a6e1de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-enterprise-light.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-light.svg new file mode 100644 index 0000000..f519eef --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/logo-light.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/sort-down.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/sort-down.svg new file mode 100644 index 0000000..db58a09 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/sort-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/sort-up.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/sort-up.svg new file mode 100644 index 0000000..bba9d84 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/sort-up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/sort.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/sort.svg new file mode 100644 index 0000000..43b658e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/sort.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/style.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/style.css new file mode 100644 index 0000000..edc9626 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/2users-2cpus/style/style.css @@ -0,0 +1,1199 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +:root { + --gatling-background-color: #f2f2f2; + --gatling-background-light-color: #f7f7f7; + --gatling-border-color: #dddddd; + --gatling-blue-color: #4a9fe5; + --gatling-dark-blue-color: #24275e; + --gatling-danger-color: #f15b4f; + --gatling-danger-light-color: #f5d1ce; + --gatling-enterprise-color: #6161d6; + --gatling-enterprise-light-color: #c4c4ed; + --gatling-gray-medium-color: #bbb; + --gatling-hover-color: #e6e6e6; + --gatling-hover-background-color: #e6e6e6; + --gatling-light-color: #ffffff; + --gatling-orange-color: #f78557; + --gatling-success-color: #68b65c; + --gatling-text-color: #1f2024; + --gatling-total-color: #ffa900; + + --gatling-border-radius: 2px; + --gatling-spacing-small: 5px; + --gatling-spacing: 10px; + --gatling-spacing-layout: 20px; + + --gatling-font-weight-normal: 400; + --gatling-font-weight-medium: 500; + --gatling-font-weight-bold: 700; + --gatling-font-size-secondary: 12px; + --gatling-font-size-default: 14px; + --gatling-font-size-heading: 16px; + --gatling-font-size-section: 22px; + --gatling-font-size-header: 34px; + + --gatling-media-desktop-large: 1920px; +} + +html[data-theme="dark"] { + --gatling-background-color: #1e2225; + --gatling-background-light-color: #272c30; + --gatling-border-color: #555555; + --gatling-blue-color: #1188ff; + --gatling-dark-blue-color: #17223B; + --gatling-danger-color: #d9534f; + --gatling-danger-light-color: #c9302c; + --gatling-enterprise-color: #b2a2ea; + --gatling-enterprise-light-color: #343479; + --gatling-gray-medium-color: #999; + --gatling-hover-color: #30363b; + --gatling-hover-background-color: #2c2c2c; + --gatling-light-color: #394046; + --gatling-orange-color: #fe8e5f; + --gatling-success-color: #5cb85c; + --gatling-text-color: #dee2e6; + --gatling-total-color: #ffa900; +} + +* { + min-height: 0; + min-width: 0; +} + +html, +body { + height: 100%; + width: 100%; +} + +body { + color: var(--gatling-text-color); + font-family: arial; + font-size: var(--gatling-font-size-secondary); + margin: 0; +} + +.app-container { + display: flex; + flex-direction: column; + + height: 100%; + width: 100%; +} + +.head { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + + flex: 1; + + background-color: var(--gatling-light-color); + border-bottom: 1px solid var(--gatling-border-color); + min-height: 69px; + padding: 0 var(--gatling-spacing-layout); +} + +.head .spacer { + flex-grow: 1; +} + +.head .theme-toggle { + margin-left: 20px; + background: none; + color: var(--gatling-text-color); + border: none; +} + +.head .theme-toggle:hover { + color: var(--gatling-gray-medium-color); + cursor: pointer; +} + +body .toggle-dark, body .toggle-light { + display: block; +} + +[data-theme="dark"] body .toggle-dark { + display: none; +} + +[data-theme="light"] body .toggle-light { + display: none; +} + +[data-theme="dark"] body .logo-enterprise-light { + display: none; +} + +[data-theme="light"] body .logo-enterprise-dark { + display: none; +} + +.gatling-open-source { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + gap: var(--gatling-spacing-layout); +} + +.gatling-documentation { + display: flex; + align-items: center; + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-orange-color); + border: 1px solid var(--gatling-orange-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 23px; + + font-size: var(--gatling-font-size-default); +} + +.gatling-documentation:hover { + background-color: var(--gatling-orange-color); + color: var(--gatling-light-color); +} + +.gatling-logo { + height: 35px; +} + +.gatling-logo img { + height: 100%; +} + +[data-theme="dark"] .gatling-logo-light { + display: none; +} + +[data-theme="light"] .gatling-logo-dark { + display: none; +} + +.container { + display: flex; + align-items: stretch; + height: 100%; +} + +.nav { + min-width: 210px; + width: 210px; + max-height: calc(100vh - var(--gatling-spacing-layout) - var(--gatling-spacing-layout)); + background: var(--gatling-light-color); + border-right: 1px solid var(--gatling-border-color); + overflow-y: auto; +} + +@media print { + .nav { + display: none; + } +} + +@media screen and (min-width: 1920px) { + .nav { + min-width: 310px; + width: 310px; + } +} + +.nav ul { + display: flex; + flex-direction: column; + + padding: 0; + margin: 0; +} + +.nav li { + display: flex; + list-style: none; + width: 100%; + padding: 0; +} + +.nav .item { + display: inline-flex; + align-items: center; + margin: 0 auto; + white-space: nowrap; + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + margin: 0; + width: 100%; +} + +.nav .item .nav-label { + padding: var(--gatling-spacing) var(--gatling-spacing-layout); +} + +.nav .item:hover { + background-color: var(--gatling-hover-color); +} + +.nav .on .item { + background-color: var(--gatling-orange-color); +} + +.nav .on .item span { + color: var(--gatling-light-color); +} + +.cadre { + width: 100%; + height: 100%; + overflow-y: scroll; + scroll-behavior: smooth; +} + +@media print { + .cadre { + overflow-y: unset; + } +} + +.frise { + position: absolute; + top: 60px; + z-index: -1; + + background-color: var(--gatling-background-color); + height: 530px; +} + +.global { + height: 650px +} + +a { + text-decoration: none; +} + +a:hover { + color: var(--gatling-hover-color); +} + +img { + border: 0; +} + +h1 { + color: var(--gatling-dark-blue-color); + font-size: var(--gatling-font-size-section); + font-weight: var(--gatling-font-weight-medium); + text-align: center; + margin: 0; +} + +h1 span { + color: var(--gatling-hover-color); +} + +.enterprise { + display: flex; + align-items: center; + justify-content: center; + gap: var(--gatling-spacing-small); + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-enterprise-color); + color: var(--gatling-enterprise-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 25px; +} + +.enterprise:hover { + background-color: var(--gatling-hover-color); + color: var(--gatling-enterprise-color); +} + +.enterprise img { + display: block; + width: 160px; +} + +.simulation-card { + display: flex; + flex-direction: column; + align-self: stretch; + flex: 1; + gap: var(--gatling-spacing-layout); + max-height: 375px; +} + +#simulation-information { + flex: 1; +} + +.simulation-version-information { + display: flex; + flex-direction: column; + + gap: var(--gatling-spacing); + font-size: var(--gatling-font-size-default); + + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing); +} + +.simulation-information-container { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing); +} + +.withTooltip .popover-title { + display: none; +} + +.popover-content p { + margin: 0; +} + +html[data-theme="dark"] div.popover { + background-color: var(--gatling-light-color); + border-bottom: none; +} + +html[data-theme="dark"] div.popover.right .arrow { + border-right-color: var(--gatling-light-color); +} + +.ellipsed-name { + display: block; + + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.simulation-information-item { + display: flex; + flex-direction: row; + align-items: flex-start; + gap: var(--gatling-spacing-small); +} + +.simulation-information-item.description { + flex-direction: column; +} + +.simulation-information-label { + display: inline-block; + font-weight: var(--gatling-font-weight-bold); + min-width: fit-content; +} + +.simulation-information-title { + display: block; + text-align: center; + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + width: 100%; +} + +.simulation-tooltip span { + display: inline-block; + word-wrap: break-word; + overflow: hidden; + text-overflow: ellipsis; +} + +.content { + display: flex; + flex-direction: column; +} + +.content-in { + width: 100%; + height: 100%; + + overflow-x: scroll; +} + +html[data-theme="dark"] .content-in { + background-color: var(--gatling-background-color); +} + +@media print { + .content-in { + overflow-x: unset; + } +} + +.container-article { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + min-width: 1050px; + width: 1050px; + margin: 0 auto; + padding: var(--gatling-spacing-layout); + box-sizing: border-box; +} + +@media screen and (min-width: 1920px) { + .container-article { + min-width: 1350px; + width: 1350px; + } + + #responses * .highcharts-tracker { + transform: translate(400px, 70px); + } +} + +.content-header { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + background-color: var(--gatling-background-light-color); + border-bottom: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-layout) var(--gatling-spacing-layout) 0; +} + +.onglet { + font-size: var(--gatling-font-size-header); + font-weight: var(--gatling-font-weight-medium); + text-align: center; +} + +.sous-menu { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.sous-menu-spacer { + display: flex; + align-items: center; + flex-direction: row; +} + +.sous-menu .item { + margin-bottom: -1px; +} + +.sous-menu a { + display: block; + + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-normal); + padding: var(--gatling-spacing-small) var(--gatling-spacing) var(--gatling-spacing); + border-bottom: 2px solid transparent; + color: var(--gatling-text-color); + text-align: center; + width: 100px; +} + +.sous-menu a:hover { + border-bottom-color: var(--gatling-text-color); +} + +.sous-menu .ouvert a { + border-bottom-color: var(--gatling-orange-color); + font-weight: var(--gatling-font-weight-bold); +} + +.article { + position: relative; + + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); +} + +.infos { + width: 340px; + color: var(--gatling-light-color); +} + +.infos-title { + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-bottom: 0; + border-top-left-radius: var(--gatling-border-radius); + border-top-right-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.info { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + height: 100%; + margin: 0; +} + +.info table { + margin: auto; + padding-right: 15px; +} + +.alert-danger { + background-color: var(--gatling-danger-light-color); + border: 1px solid var(--gatling-danger-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-layout); + font-weight: var(--gatling-font-weight-bold); +} + +.infos h2 { + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + height: 19px; + margin: 0; + padding: 3.5px 0 0 35px; +} + +.infos .first::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.infos .second::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .infos .first::before, +html[data-theme="dark"] .infos .second::before { + filter: invert(0.9); +} + +.infos th { + text-align: center; +} + +.infos td { + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing-small); + -webkit-border-radius: var(--gatling-border-radius); + -moz-border-radius: var(--gatling-border-radius); + -ms-border-radius: var(--gatling-border-radius); + -o-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + text-align: right; + width: 50px; +} + +.infos .title { + width: 120px; +} + +.infos .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); +} + +.infos .total { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); +} + +.infos .ko { + background-color: var(--gatling-danger-color); + -webkit-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); +} + +.schema-container { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--gatling-spacing-layout); +} + +.schema { + background: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); +} + +.ranges { + height: 375px; + width: 500px; +} + +.ranges-large { + height: 375px; + width: 530px; +} + +.geant { + height: 362px; +} + +.extensible-geant { + width: 100%; +} + +.polar { + height: 375px; + width: 230px; +} + +.chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .highcharts-background { + fill: var(--gatling-background-light-color); +} + +html[data-theme="dark"] .highcharts-button-normal rect { + fill: var(--gatling-background-color) !important; +} + +html[data-theme="dark"] .highcharts-button-disabled rect { + fill: var(--gatling-background-light-color) !important; +} + +html[data-theme="dark"] .highcharts-button-pressed rect { + fill: var(--gatling-orange-color) !important; +} + +html[data-theme="dark"] .highcharts-axis text, +html[data-theme="dark"] .highcharts-axis-labels text, +html[data-theme="dark"] .highcharts-button text, +html[data-theme="dark"] .highcharts-legend-item text, +html[data-theme="dark"] .highcharts-range-selector-buttons text { + fill: var(--gatling-text-color) !important; +} + +.statistics { + display: flex; + flex-direction: column; + + background-color: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border-collapse: collapse; + color: var(--gatling-text-color); + max-height: 100%; +} + +.statistics .title { + display: flex; + text-align: center; + justify-content: space-between; + + min-height: 49.5px; + box-sizing: border-box; + + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing); +} + +.title_base { + display: flex; + align-items: center; + text-align: left; + user-select: none; +} + +.title_base_stats { + color: var(--gatling-text-color); + margin-right: 20px; +} + +.toggle-table { + position: relative; + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: 25px; + width: 40px; + height: 20px; + margin: 0 var(--gatling-spacing-small); +} + +.toggle-table::before { + position: absolute; + top: calc(50% - 9px); + left: 1px; + content: ""; + width: 50%; + height: 18px; + border-radius: 50%; + background-color: var(--gatling-text-color); +} + +.toggle-table.off::before { + left: unset; + right: 1px; +} + +.title_expanded { + cursor: pointer; + color: var(--gatling-text-color); +} + +.expand-table, +.collapse-table { + font-size: var(--gatling-font-size-secondary); + font-weight: var(--gatling-font-weight-normal); +} + +.title_expanded span.expand-table { + color: var(--gatling-gray-medium-color); +} + +.title_collapsed { + cursor: pointer; + color: var(--gatling-text-color); +} + +.title_collapsed span.collapse-table { + color: var(--gatling-gray-medium-color); +} + +#container_statistics_head { + position: sticky; + top: -1px; + + background: var(--gatling-background-light-color); + margin-top: -1px; + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); +} + +#container_statistics_body { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + margin-top: -1px; + padding: 0px var(--gatling-spacing-small) var(--gatling-spacing-small) var(--gatling-spacing-small); +} + +#container_errors { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); + margin-top: -1px; +} + +#container_assertions { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small); + margin-top: -1px; +} + +.statistics-in { + border-spacing: var(--gatling-spacing-small); + border-collapse: collapse; + margin: 0; +} + +.statistics .scrollable { + max-height: 100%; + overflow-y: auto; +} + +#statistics_table_container .statistics .scrollable { + max-height: 785px; +} + +.statistics-in a { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .header { + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small); +} + +.sortable { + cursor: pointer; +} + +.sortable span::after { + content: ''; + display: inline-block; + margin-left: 5px; + vertical-align: middle; + width: 12px; + height: 12px; + background: url('sort.svg'); + background-size: contain; +} + +.sorted-up span::after { + background: url('sort-up.svg'); + background-size: contain; +} + +.sorted-down span::after { + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .sortable span::after { + filter: invert(0.9); +} + +.executions::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.response-time::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .executions::before, +html[data-theme="dark"] .response-time::before { + filter: invert(0.9); +} + +.statistics-in td { + background-color: var(--gatling-light-color); + border: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-small); + min-width: 50px; +} + +.statistics-in .col-1 { + width: 175px; + max-width: 175px; +} +@media screen and (min-width: 1200px) { + .statistics-in .col-1 { + width: 50%; + } +} + +.expandable-container { + display: flex; + flex-direction: row; + box-sizing: border-box; + max-width: 100%; +} + +.statistics-in .value { + text-align: right; + width: 50px; +} + +.statistics-in .total { + color: var(--gatling-text-color); +} + +.statistics-in .col-2 { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .error-col-1 { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); +} + +.statistics-in .error-col-2 { + text-align: center; +} + +.statistics-in .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .ko { + background-color: var(--gatling-danger-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .expand-button { + padding-left: var(--gatling-spacing); + cursor: pointer; +} + +.expand-button.hidden { + background: none; + cursor: default; +} + +.statistics-button { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-small) var(--gatling-spacing); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); +} + +#statistics_full_screen{ + padding: var(--gatling-spacing-small); +} + +#statistics_full_screen > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] #statistics_full_screen > img { + filter: invert(0.9); +} + +#statistics_full_screen:disabled { + display: none; +} + +.statistics-button:hover:not(:disabled) { + cursor: pointer; + background-color: var(--gatling-hover-color); +} + +.statistics-in .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('expand.svg'); + background-size: contain; +} + +.statistics-in .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .statistics-in .expand-button.collapse, +html[data-theme="dark"] .statistics-in .expand-button.expand { + filter: invert(0.9); +} + +.nav .expand-button { + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.nav .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('expand.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +.nav .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('sort-down.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +html[data-theme="dark"] .nav .expand-button.expand, +html[data-theme="dark"] .nav .expand-button.collapse { + filter: invert(0.9); +} + +.right { + display: flex; + align-items: center; + gap: var(--gatling-spacing); + float: right; + font-size: var(--gatling-font-size-default); +} + +.withTooltip { + outline: none; +} + +.withTooltip:hover { + text-decoration: none; +} + +.withTooltip .tooltipContent { + position: absolute; + z-index: 10; + display: none; + + background: var(--gatling-orange-color); + -webkit-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + -moz-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); + margin-top: -5px; + padding: var(--gatling-spacing-small); +} + +.withTooltip:hover .tooltipContent { + display: inline; +} + +.button-modal { + padding: var(--gatling-spacing-small); +} + +.button-modal > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] .button-modal > img { + filter: invert(0.9); +} + +.statistics-table-modal { + background-color: var(--gatling-background-color); + height: calc(100% - 60px); + width: calc(100% - 60px); + border-radius: var(--gatling-border-radius); +} + +.statistics-table-modal::backdrop { + position: fixed; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + + background-color: rgba(100, 100, 100, 0.9); +} + +.statistics-table-modal-container { + display: flex; + flex-direction: column; + + width: 100%; + height: calc(100% - 35px); + overflow-x: auto; +} + +.button-modal { + cursor: pointer; + + height: 25px; + width: 25px; + + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); +} + +.button-modal:hover { + background-color: var(--gatling-background-color); +} + +.statistics-table-modal-header { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-bottom: var(--gatling-spacing); +} + +.statistics-table-modal-content { + flex: 1; + overflow-y: auto; + min-width: 1050px; +} + +.statistics-table-modal-footer { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-top: var(--gatling-spacing); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/index.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/index.html new file mode 100644 index 0000000..3ba5101 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/index.html @@ -0,0 +1,1144 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - Global Information + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    +
    +
    + Gatling Version + + Version: + 3.10.5 + + + Released: + 2024-03-22 + +
    +
    + Run Information +
    + + Date: + 2024-04-25 16:51:07 GMT + + + Duration: + 2m 19s + + + Description: + Load testing (5 users/sec and 60secs - machine 1 cpu) + + +
    +
    +
    +
    + +
    + +
    + +
    +
    +
    +
    +
    + + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/all_sessions.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/all_sessions.js new file mode 100644 index 0000000..87e02a4 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/all_sessions.js @@ -0,0 +1,11 @@ +allUsersData = { + +color: '#FFA900', +name: 'Active Users', +data: [ + [1714063867000,6],[1714063868000,13],[1714063869000,18],[1714063870000,21],[1714063871000,26],[1714063872000,30],[1714063873000,37],[1714063874000,46],[1714063875000,52],[1714063876000,56],[1714063877000,57],[1714063878000,60],[1714063879000,64],[1714063880000,69],[1714063881000,75],[1714063882000,80],[1714063883000,86],[1714063884000,91],[1714063885000,91],[1714063886000,98],[1714063887000,100],[1714063888000,103],[1714063889000,105],[1714063890000,114],[1714063891000,119],[1714063892000,124],[1714063893000,132],[1714063894000,136],[1714063895000,142],[1714063896000,146],[1714063897000,151],[1714063898000,157],[1714063899000,166],[1714063900000,170],[1714063901000,177],[1714063902000,178],[1714063903000,184],[1714063904000,191],[1714063905000,196],[1714063906000,203],[1714063907000,207],[1714063908000,210],[1714063909000,215],[1714063910000,222],[1714063911000,228],[1714063912000,234],[1714063913000,238],[1714063914000,249],[1714063915000,259],[1714063916000,269],[1714063917000,272],[1714063918000,275],[1714063919000,279],[1714063920000,288],[1714063921000,293],[1714063922000,299],[1714063923000,300],[1714063924000,305],[1714063925000,307],[1714063926000,309],[1714063927000,309],[1714063928000,309],[1714063929000,309],[1714063930000,309],[1714063931000,309],[1714063932000,309],[1714063933000,309],[1714063934000,309],[1714063935000,309],[1714063936000,309],[1714063937000,309],[1714063938000,309],[1714063939000,309],[1714063940000,309],[1714063941000,309],[1714063942000,307],[1714063943000,307],[1714063944000,304],[1714063945000,301],[1714063946000,297],[1714063947000,297],[1714063948000,294],[1714063949000,290],[1714063950000,284],[1714063951000,279],[1714063952000,273],[1714063953000,268],[1714063954000,265],[1714063955000,254],[1714063956000,247],[1714063957000,244],[1714063958000,244],[1714063959000,237],[1714063960000,229],[1714063961000,224],[1714063962000,222],[1714063963000,212],[1714063964000,208],[1714063965000,202],[1714063966000,199],[1714063967000,197],[1714063968000,193],[1714063969000,190],[1714063970000,188],[1714063971000,185],[1714063972000,184],[1714063973000,183],[1714063974000,183],[1714063975000,172],[1714063976000,162],[1714063977000,156],[1714063978000,137],[1714063979000,133],[1714063980000,127],[1714063981000,121],[1714063982000,117],[1714063983000,114],[1714063984000,109],[1714063985000,103],[1714063986000,97],[1714063987000,93],[1714063988000,89],[1714063989000,83],[1714063990000,72],[1714063991000,64],[1714063992000,60],[1714063993000,51],[1714063994000,43],[1714063995000,35],[1714063996000,30],[1714063997000,25],[1714063998000,21],[1714063999000,14],[1714064000000,9],[1714064001000,4],[1714064002000,1],[1714064003000,1],[1714064004000,1],[1714064005000,1],[1714064006000,1] +], +tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 } + , zIndex: 20 + , yAxis: 1 +}; \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/assertions.xml b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/assertions.xml new file mode 100644 index 0000000..c562e00 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/assertions.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/bootstrap.min.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/bootstrap.min.js new file mode 100644 index 0000000..ea41042 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/** +* Bootstrap.js by @fat & @mdo +* plugins: bootstrap-tooltip.js, bootstrap-popover.js +* Copyright 2012 Twitter, Inc. +* http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +!function(a){var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this)):this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f+"."+this.type,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.offset(g).addClass(f).addClass("in")}},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).detach()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.detach()})}var b=this,c=this.tip();return c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.detach(),this},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);c[c.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'
    ',trigger:"hover",title:"",delay:0,html:!1}}(window.jQuery),!function(a){var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content > *")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'

    '})}(window.jQuery) \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/ellipsis.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/ellipsis.js new file mode 100644 index 0000000..781d0de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/ellipsis.js @@ -0,0 +1,26 @@ +function parentId(name) { + return "parent-" + name; +} + +function isEllipsed(name) { + const child = document.getElementById(name); + const parent = document.getElementById(parentId(name)); + const emptyData = parent.getAttribute("data-content") === ""; + const hasOverflow = child.clientWidth < child.scrollWidth; + + if (hasOverflow) { + if (emptyData) { + parent.setAttribute("data-content", name); + } + } else { + if (!emptyData) { + parent.setAttribute("data-content", ""); + } + } +} + +function ellipsedLabel ({ name, parentClass = "", childClass = "" }) { + const child = "" + name + ""; + + return "" + child + ""; +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/gatling.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/gatling.js new file mode 100644 index 0000000..5b9e992 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/gatling.js @@ -0,0 +1,137 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +(function ($) { + $.fn.expandable = function () { + var scope = this; + + this.find('.expand-button:not([class*=hidden])').addClass('collapse').on('click', function () { + var $this = $(this); + + if ($this.hasClass('expand')) + $this.expand(scope); + else + $this.collapse(scope); + }); + + this.find('.expand-all-button').on('click', function () { + $(this).expandAll(scope); + }); + + this.find('.collapse-all-button').on('click', function () { + $(this).collapseAll(scope); + }); + + this.collapseAll(this); + + return this; + }; + + $.fn.expand = function (scope, recursive) { + return this.each(function () { + var $this = $(this); + + if (recursive) { + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + } + + if ($this.hasClass('expand')) { + $('*[data-parent=' + $this.attr('id') + ']').toggle(true); + $this.toggleClass('expand').toggleClass('collapse'); + } + }); + }; + + $.fn.expandAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.expand').expand(scope, true); + $('*[data-parent=ROOT]').find('.expand-button.collapse').expand(scope, true); + }; + + $.fn.collapse = function (scope) { + return this.each(function () { + var $this = $(this); + + scope.find('*[data-parent=' + $this.attr('id') + '] .expand-button.collapse').collapse(scope); + scope.find('*[data-parent=' + $this.attr('id') + ']').toggle(false); + $this.toggleClass('expand').toggleClass('collapse'); + }); + }; + + $.fn.collapseAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.collapse').collapse(scope); + }; + + $.fn.sortable = function (target) { + var table = this; + + this.find('thead .sortable').on('click', function () { + var $this = $(this); + + if ($this.hasClass('sorted-down')) { + var desc = false; + var style = 'sorted-up'; + } + else { + var desc = true; + var style = 'sorted-down'; + } + + $(target).sortTable($this.attr('id'), desc); + + table.find('thead .sortable').removeClass('sorted-up sorted-down'); + $this.addClass(style); + + return false; + }); + + return this; + }; + + $.fn.sortTable = function (col, desc) { + function getValue(line) { + var cell = $(line).find('.' + col); + + if (cell.hasClass('value')) + var value = cell.text(); + else + var value = cell.find('.value').text(); + + return parseFloat(value); + } + + function sortLines (lines, group) { + var notErrorTable = col.search("error") == -1; + var linesToSort = notErrorTable ? lines.filter('*[data-parent=' + group + ']') : lines; + + var sortedLines = linesToSort.sort(function (a, b) { + return desc ? getValue(b) - getValue(a): getValue(a) - getValue(b); + }).toArray(); + + var result = []; + $.each(sortedLines, function (i, line) { + result.push(line); + if (notErrorTable) + result = result.concat(sortLines(lines, $(line).attr('id'))); + }); + + return result; + } + + this.find('tbody').append(sortLines(this.find('tbody tr').detach(), 'ROOT')); + + return this; + }; +})(jQuery); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/global_stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/global_stats.json new file mode 100644 index 0000000..b5cc50d --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/global_stats.json @@ -0,0 +1,77 @@ +{ + "name": "All Requests", + "numberOfRequests": { + "total": 5246, + "ok": 5243, + "ko": 3 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 10009 + }, + "maxResponseTime": { + "total": 10010, + "ok": 8436, + "ko": 10010 + }, + "meanResponseTime": { + "total": 392, + "ok": 386, + "ko": 10010 + }, + "standardDeviation": { + "total": 737, + "ok": 701, + "ko": 0 + }, + "percentiles1": { + "total": 84, + "ok": 84, + "ko": 10010 + }, + "percentiles2": { + "total": 369, + "ok": 368, + "ko": 10010 + }, + "percentiles3": { + "total": 1734, + "ok": 1722, + "ko": 10010 + }, + "percentiles4": { + "total": 3410, + "ok": 3340, + "ko": 10010 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 4364, + "percentage": 83 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 451, + "percentage": 9 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 428, + "percentage": 8 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 3, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 37.47142857142857, + "ok": 37.45, + "ko": 0.02142857142857143 + } +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/highcharts-more.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/highcharts-more.js new file mode 100644 index 0000000..2d78893 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/highcharts-more.js @@ -0,0 +1,60 @@ +/* + Highcharts JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(x){"object"===typeof module&&module.exports?module.exports=x:x(Highcharts)})(function(x){(function(b){function r(b,a,d){this.init(b,a,d)}var t=b.each,w=b.extend,m=b.merge,q=b.splat;w(r.prototype,{init:function(b,a,d){var f=this,h=f.defaultOptions;f.chart=a;f.options=b=m(h,a.angular?{background:{}}:void 0,b);(b=b.background)&&t([].concat(q(b)).reverse(),function(a){var c,h=d.userOptions;c=m(f.defaultBackgroundOptions,a);a.backgroundColor&&(c.backgroundColor=a.backgroundColor);c.color=c.backgroundColor; +d.options.plotBands.unshift(c);h.plotBands=h.plotBands||[];h.plotBands!==d.options.plotBands&&h.plotBands.unshift(c)})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{className:"highcharts-pane",shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}});b.Pane=r})(x);(function(b){var r=b.CenteredSeriesMixin, +t=b.each,w=b.extend,m=b.map,q=b.merge,e=b.noop,a=b.Pane,d=b.pick,f=b.pInt,h=b.splat,u=b.wrap,c,l,k=b.Axis.prototype;b=b.Tick.prototype;c={getOffset:e,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:e,setCategories:e,setTitle:e};l={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2}, +defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(a){a=this.options=q(this.defaultOptions,this.defaultRadialOptions,a);a.plotBands||(a.plotBands=[])},getOffset:function(){k.getOffset.call(this);this.chart.axisOffset[this.side]=0;this.center=this.pane.center= +r.getCenter.call(this.pane)},getLinePath:function(a,g){a=this.center;var c=this.chart,f=d(g,a[2]/2-this.offset);this.isCircular||void 0!==g?g=this.chart.renderer.symbols.arc(this.left+a[0],this.top+a[1],f,f,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}):(g=this.postTranslate(this.angleRad,f),g=["M",a[0]+c.plotLeft,a[1]+c.plotTop,"L",g.x,g.y]);return g},setAxisTranslation:function(){k.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/ +(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===d(this.userMax,this.options.max)&&this.endAngleRad-this.startAngleRad===2*Math.PI)this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){k.setAxisSize.call(this);this.isRadial&&(this.center=this.pane.center=r.getCenter.call(this.pane),this.isCircular&& +(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*d(this.sector,1)/2)},getPosition:function(a,g){return this.postTranslate(this.isCircular?this.translate(a):this.angleRad,d(this.isCircular?g:this.translate(a),this.center[2]/2)-this.offset)},postTranslate:function(a,g){var d=this.chart,c=this.center;a=this.startAngleRad+a;return{x:d.plotLeft+c[0]+Math.cos(a)*g,y:d.plotTop+c[1]+Math.sin(a)*g}},getPlotBandPath:function(a,g,c){var h=this.center,p=this.startAngleRad, +k=h[2]/2,n=[d(c.outerRadius,"100%"),c.innerRadius,d(c.thickness,10)],b=Math.min(this.offset,0),l=/%$/,u,e=this.isCircular;"polygon"===this.options.gridLineInterpolation?h=this.getPlotLinePath(a).concat(this.getPlotLinePath(g,!0)):(a=Math.max(a,this.min),g=Math.min(g,this.max),e||(n[0]=this.translate(a),n[1]=this.translate(g)),n=m(n,function(a){l.test(a)&&(a=f(a,10)*k/100);return a}),"circle"!==c.shape&&e?(a=p+this.translate(a),g=p+this.translate(g)):(a=-Math.PI/2,g=1.5*Math.PI,u=!0),n[0]-=b,n[2]-= +b,h=this.chart.renderer.symbols.arc(this.left+h[0],this.top+h[1],n[0],n[0],{start:Math.min(a,g),end:Math.max(a,g),innerR:d(n[1],n[0]-n[2]),open:u}));return h},getPlotLinePath:function(a,g){var d=this,c=d.center,f=d.chart,h=d.getPosition(a),k,b,p;d.isCircular?p=["M",c[0]+f.plotLeft,c[1]+f.plotTop,"L",h.x,h.y]:"circle"===d.options.gridLineInterpolation?(a=d.translate(a))&&(p=d.getLinePath(0,a)):(t(f.xAxis,function(a){a.pane===d.pane&&(k=a)}),p=[],a=d.translate(a),c=k.tickPositions,k.autoConnect&&(c= +c.concat([c[0]])),g&&(c=[].concat(c).reverse()),t(c,function(g,d){b=k.getPosition(g,a);p.push(d?"L":"M",b.x,b.y)}));return p},getTitlePosition:function(){var a=this.center,g=this.chart,d=this.options.title;return{x:g.plotLeft+a[0]+(d.x||0),y:g.plotTop+a[1]-{high:.5,middle:.25,low:0}[d.align]*a[2]+(d.y||0)}}};u(k,"init",function(f,g,k){var b=g.angular,p=g.polar,n=k.isX,u=b&&n,e,A=g.options,m=k.pane||0;if(b){if(w(this,u?c:l),e=!n)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else p&&(w(this, +l),this.defaultRadialOptions=(e=n)?this.defaultRadialXOptions:q(this.defaultYAxisOptions,this.defaultRadialYOptions));b||p?(this.isRadial=!0,g.inverted=!1,A.chart.zoomType=null):this.isRadial=!1;f.call(this,g,k);u||!b&&!p||(f=this.options,g.panes||(g.panes=[]),this.pane=g=g.panes[m]=g.panes[m]||new a(h(A.pane)[m],g,this),g=g.options,this.angleRad=(f.angle||0)*Math.PI/180,this.startAngleRad=(g.startAngle-90)*Math.PI/180,this.endAngleRad=(d(g.endAngle,g.startAngle+360)-90)*Math.PI/180,this.offset=f.offset|| +0,this.isCircular=e)});u(k,"autoLabelAlign",function(a){if(!this.isRadial)return a.apply(this,[].slice.call(arguments,1))});u(b,"getPosition",function(a,d,c,f,h){var g=this.axis;return g.getPosition?g.getPosition(c):a.call(this,d,c,f,h)});u(b,"getLabelPosition",function(a,g,c,f,h,k,b,l,u){var n=this.axis,p=k.y,e=20,y=k.align,v=(n.translate(this.pos)+n.startAngleRad+Math.PI/2)/Math.PI*180%360;n.isRadial?(a=n.getPosition(this.pos,n.center[2]/2+d(k.distance,-25)),"auto"===k.rotation?f.attr({rotation:v}): +null===p&&(p=n.chart.renderer.fontMetrics(f.styles.fontSize).b-f.getBBox().height/2),null===y&&(n.isCircular?(this.label.getBBox().width>n.len*n.tickInterval/(n.max-n.min)&&(e=0),y=v>e&&v<180-e?"left":v>180+e&&v<360-e?"right":"center"):y="center",f.attr({align:y})),a.x+=k.x,a.y+=p):a=a.call(this,g,c,f,h,k,b,l,u);return a});u(b,"getMarkPath",function(a,d,c,f,h,k,b){var g=this.axis;g.isRadial?(a=g.getPosition(this.pos,g.center[2]/2+f),d=["M",d,c,"L",a.x,a.y]):d=a.call(this,d,c,f,h,k,b);return d})})(x); +(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.Series,q=b.seriesType,e=b.seriesTypes;q("arearange","area",{lineWidth:1,marker:null,threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{series.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},states:{hover:{halo:!1}}},{pointArrayMap:["low","high"],dataLabelCollections:["dataLabel", +"dataLabelUpper"],toYData:function(a){return[a.low,a.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(a){var d=this.chart,f=this.xAxis.postTranslate(a.rectPlotX,this.yAxis.len-a.plotHigh);a.plotHighX=f.x-d.plotLeft;a.plotHigh=f.y-d.plotTop},translate:function(){var a=this,d=a.yAxis,f=!!a.modifyValue;e.area.prototype.translate.apply(a);r(a.points,function(h){var b=h.low,c=h.high,l=h.plotY;null===c||null===b?h.isNull=!0:(h.plotLow=l,h.plotHigh=d.translate(f?a.modifyValue(c,h):c,0,1, +0,1),f&&(h.yBottom=h.plotHigh))});this.chart.polar&&r(this.points,function(d){a.highToXY(d)})},getGraphPath:function(a){var d=[],f=[],h,b=e.area.prototype.getGraphPath,c,l,k;k=this.options;var p=k.step;a=a||this.points;for(h=a.length;h--;)c=a[h],c.isNull||k.connectEnds||a[h+1]&&!a[h+1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1}),l={polarPlotY:c.polarPlotY,rectPlotX:c.rectPlotX,yBottom:c.yBottom,plotX:w(c.plotHighX,c.plotX),plotY:c.plotHigh,isNull:c.isNull},f.push(l),d.push(l),c.isNull|| +k.connectEnds||a[h-1]&&!a[h-1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1});a=b.call(this,a);p&&(!0===p&&(p="left"),k.step={left:"right",center:"center",right:"left"}[p]);d=b.call(this,d);f=b.call(this,f);k.step=p;k=[].concat(a,d);this.chart.polar||"M"!==f[0]||(f[0]="L");this.graphPath=k;this.areaPath=this.areaPath.concat(a,f);k.isArea=!0;k.xMap=a.xMap;this.areaPath.xMap=a.xMap;return k},drawDataLabels:function(){var a=this.data,d=a.length,f,h=[],b=m.prototype,c=this.options.dataLabels, +l=c.align,k=c.verticalAlign,p=c.inside,g,n,e=this.chart.inverted;if(c.enabled||this._hasPointLabels){for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.y=g.high,g._plotY=g.plotY,g.plotY=g.plotHigh,h[f]=g.dataLabel,g.dataLabel=g.dataLabelUpper,g.below=n,e?l||(c.align=n?"right":"left"):k||(c.verticalAlign=n?"top":"bottom"),c.x=c.xHigh,c.y=c.yHigh;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments);for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.dataLabelUpper= +g.dataLabel,g.dataLabel=h[f],g.y=g.low,g.plotY=g._plotY,g.below=!n,e?l||(c.align=n?"left":"right"):k||(c.verticalAlign=n?"bottom":"top"),c.x=c.xLow,c.y=c.yLow;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments)}c.align=l;c.verticalAlign=k},alignDataLabel:function(){e.column.prototype.alignDataLabel.apply(this,arguments)},setStackedPoints:t,getSymbol:t,drawPoints:t})})(x);(function(b){var r=b.seriesType;r("areasplinerange","arearange",null,{getPointSpline:b.seriesTypes.spline.prototype.getPointSpline})})(x); +(function(b){var r=b.defaultPlotOptions,t=b.each,w=b.merge,m=b.noop,q=b.pick,e=b.seriesType,a=b.seriesTypes.column.prototype;e("columnrange","arearange",w(r.column,r.arearange,{lineWidth:1,pointRange:null}),{translate:function(){var d=this,f=d.yAxis,b=d.xAxis,u=b.startAngleRad,c,l=d.chart,k=d.xAxis.isRadial,p;a.translate.apply(d);t(d.points,function(a){var g=a.shapeArgs,h=d.options.minPointLength,e,v;a.plotHigh=p=f.translate(a.high,0,1,0,1);a.plotLow=a.plotY;v=p;e=q(a.rectPlotY,a.plotY)-p;Math.abs(e)< +h?(h-=e,e+=h,v-=h/2):0>e&&(e*=-1,v-=e);k?(c=a.barX+u,a.shapeType="path",a.shapeArgs={d:d.polarArc(v+e,v,c,c+a.pointWidth)}):(g.height=e,g.y=v,a.tooltipPos=l.inverted?[f.len+f.pos-l.plotLeft-v-e/2,b.len+b.pos-l.plotTop-g.x-g.width/2,e]:[b.left-l.plotLeft+g.x+g.width/2,f.pos-l.plotTop+v+e/2,e])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:m,crispCol:a.crispCol,drawPoints:a.drawPoints,drawTracker:a.drawTracker,getColumnMetrics:a.getColumnMetrics,animate:function(){return a.animate.apply(this, +arguments)},polarArc:function(){return a.polarArc.apply(this,arguments)},pointAttribs:a.pointAttribs})})(x);(function(b){var r=b.each,t=b.isNumber,w=b.merge,m=b.pick,q=b.pInt,e=b.Series,a=b.seriesType,d=b.TrackerMixin;a("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2,borderWidth:1,borderColor:"#cccccc"},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,directTouch:!0,drawGraph:b.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0, +trackerGroups:["group","dataLabelsGroup"],translate:function(){var a=this.yAxis,d=this.options,b=a.center;this.generatePoints();r(this.points,function(c){var f=w(d.dial,c.dial),k=q(m(f.radius,80))*b[2]/200,h=q(m(f.baseLength,70))*k/100,g=q(m(f.rearLength,10))*k/100,n=f.baseWidth||3,u=f.topWidth||1,e=d.overshoot,v=a.startAngleRad+a.translate(c.y,null,null,null,!0);t(e)?(e=e/180*Math.PI,v=Math.max(a.startAngleRad-e,Math.min(a.endAngleRad+e,v))):!1===d.wrap&&(v=Math.max(a.startAngleRad,Math.min(a.endAngleRad, +v)));v=180*v/Math.PI;c.shapeType="path";c.shapeArgs={d:f.path||["M",-g,-n/2,"L",h,-n/2,k,-u/2,k,u/2,h,n/2,-g,n/2,"z"],translateX:b[0],translateY:b[1],rotation:v};c.plotX=b[0];c.plotY=b[1]})},drawPoints:function(){var a=this,d=a.yAxis.center,b=a.pivot,c=a.options,l=c.pivot,k=a.chart.renderer;r(a.points,function(d){var g=d.graphic,b=d.shapeArgs,f=b.d,h=w(c.dial,d.dial);g?(g.animate(b),b.d=f):(d.graphic=k[d.shapeType](b).attr({rotation:b.rotation,zIndex:1}).addClass("highcharts-dial").add(a.group),d.graphic.attr({stroke:h.borderColor|| +"none","stroke-width":h.borderWidth||0,fill:h.backgroundColor||"#000000"}))});b?b.animate({translateX:d[0],translateY:d[1]}):(a.pivot=k.circle(0,0,m(l.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(d[0],d[1]).add(a.group),a.pivot.attr({"stroke-width":l.borderWidth||0,stroke:l.borderColor||"#cccccc",fill:l.backgroundColor||"#000000"}))},animate:function(a){var d=this;a||(r(d.points,function(a){var c=a.graphic;c&&(c.attr({rotation:180*d.yAxis.startAngleRad/Math.PI}),c.animate({rotation:a.shapeArgs.rotation}, +d.options.animation))}),d.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);e.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(a,d){e.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();m(d,!0)&&this.chart.redraw()},drawTracker:d&&d.drawTrackerPoint},{setState:function(a){this.state=a}})})(x);(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.seriesType, +q=b.seriesTypes;m("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,states:{hover:{brightness:-.3}},whiskerWidth:2},{pointArrayMap:["low","q1","median", +"q3","high"],toYData:function(b){return[b.low,b.q1,b.median,b.q3,b.high]},pointValKey:"high",pointAttribs:function(b){var a=this.options,d=b&&b.color||this.color;return{fill:b.fillColor||a.fillColor||d,stroke:a.lineColor||d,"stroke-width":a.lineWidth||0}},drawDataLabels:t,translate:function(){var b=this.yAxis,a=this.pointArrayMap;q.column.prototype.translate.apply(this);r(this.points,function(d){r(a,function(a){null!==d[a]&&(d[a+"Plot"]=b.translate(d[a],0,1,0,1))})})},drawPoints:function(){var b= +this,a=b.options,d=b.chart.renderer,f,h,u,c,l,k,p=0,g,n,m,q,v=!1!==b.doQuartiles,t,x=b.options.whiskerLength;r(b.points,function(e){var r=e.graphic,y=r?"animate":"attr",I=e.shapeArgs,z={},B={},G={},H=e.color||b.color;void 0!==e.plotY&&(g=I.width,n=Math.floor(I.x),m=n+g,q=Math.round(g/2),f=Math.floor(v?e.q1Plot:e.lowPlot),h=Math.floor(v?e.q3Plot:e.lowPlot),u=Math.floor(e.highPlot),c=Math.floor(e.lowPlot),r||(e.graphic=r=d.g("point").add(b.group),e.stem=d.path().addClass("highcharts-boxplot-stem").add(r), +x&&(e.whiskers=d.path().addClass("highcharts-boxplot-whisker").add(r)),v&&(e.box=d.path(void 0).addClass("highcharts-boxplot-box").add(r)),e.medianShape=d.path(void 0).addClass("highcharts-boxplot-median").add(r),z.stroke=e.stemColor||a.stemColor||H,z["stroke-width"]=w(e.stemWidth,a.stemWidth,a.lineWidth),z.dashstyle=e.stemDashStyle||a.stemDashStyle,e.stem.attr(z),x&&(B.stroke=e.whiskerColor||a.whiskerColor||H,B["stroke-width"]=w(e.whiskerWidth,a.whiskerWidth,a.lineWidth),e.whiskers.attr(B)),v&&(r= +b.pointAttribs(e),e.box.attr(r)),G.stroke=e.medianColor||a.medianColor||H,G["stroke-width"]=w(e.medianWidth,a.medianWidth,a.lineWidth),e.medianShape.attr(G)),k=e.stem.strokeWidth()%2/2,p=n+q+k,e.stem[y]({d:["M",p,h,"L",p,u,"M",p,f,"L",p,c]}),v&&(k=e.box.strokeWidth()%2/2,f=Math.floor(f)+k,h=Math.floor(h)+k,n+=k,m+=k,e.box[y]({d:["M",n,h,"L",n,f,"L",m,f,"L",m,h,"L",n,h,"z"]})),x&&(k=e.whiskers.strokeWidth()%2/2,u+=k,c+=k,t=/%$/.test(x)?q*parseFloat(x)/100:x/2,e.whiskers[y]({d:["M",p-t,u,"L",p+t,u, +"M",p-t,c,"L",p+t,c]})),l=Math.round(e.medianPlot),k=e.medianShape.strokeWidth()%2/2,l+=k,e.medianShape[y]({d:["M",n,l,"L",m,l]}))})},setStackedPoints:t})})(x);(function(b){var r=b.each,t=b.noop,w=b.seriesType,m=b.seriesTypes;w("errorbar","boxplot",{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},whiskerWidth:null},{type:"errorbar", +pointArrayMap:["low","high"],toYData:function(b){return[b.low,b.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:m.arearange?function(){var b=this.pointValKey;m.arearange.prototype.drawDataLabels.call(this);r(this.data,function(e){e.y=e[b]})}:t,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||m.column.prototype.getColumnMetrics.call(this)}})})(x);(function(b){var r=b.correctFloat,t=b.isNumber,w=b.pick,m=b.Point,q=b.Series,e=b.seriesType,a=b.seriesTypes; +e("waterfall","column",{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}},{pointValKey:"y",translate:function(){var d=this.options,b=this.yAxis,h,e,c,l,k,p,g,n,m,q=w(d.minPointLength,5),v=d.threshold,t=d.stacking;a.column.prototype.translate.apply(this);this.minPointLengthOffset=0;g=n=v;e=this.points;h=0;for(d=e.length;hl.height&&(l.y+=l.height,l.height*=-1),c.plotY=l.y=Math.round(l.y)- +this.borderWidth%2/2,l.height=Math.max(Math.round(l.height),.001),c.yBottom=l.y+l.height,l.height<=q&&(l.height=q,this.minPointLengthOffset+=q),l.y-=this.minPointLengthOffset,l=c.plotY+(c.negative?l.height:0)-this.minPointLengthOffset,this.chart.inverted?c.tooltipPos[0]=b.len-l:c.tooltipPos[1]=l},processData:function(a){var b=this.yData,d=this.options.data,e,c=b.length,l,k,p,g,n,m;k=l=p=g=this.options.threshold||0;for(m=0;ma[k-1].y&&(l[2]+=c.height,l[5]+=c.height),e=e.concat(l);return e},drawGraph:function(){q.prototype.drawGraph.call(this);this.graph.attr({d:this.getCrispPath()})},getExtremes:b.noop},{getClassName:function(){var a=m.prototype.getClassName.call(this);this.isSum?a+=" highcharts-sum":this.isIntermediateSum&&(a+=" highcharts-intermediate-sum"); +return a},isValid:function(){return t(this.y,!0)||this.isSum||this.isIntermediateSum}})})(x);(function(b){var r=b.Series,t=b.seriesType,w=b.seriesTypes;t("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var b=r.prototype.getGraphPath.call(this),q=b.length+1;q--;)(q===b.length||"M"===b[q])&&0=this.minPxSize/2?(d.shapeType="circle",d.shapeArgs={x:d.plotX,y:d.plotY,r:c},d.dlBox={x:d.plotX-c,y:d.plotY-c,width:2*c,height:2*c}):d.shapeArgs=d.plotY=d.dlBox=void 0},drawLegendSymbol:function(a,b){var d=this.chart.renderer,c=d.fontMetrics(a.itemStyle.fontSize).f/2;b.legendSymbol=d.circle(c,a.baseline-c,c).attr({zIndex:3}).add(b.legendGroup);b.legendSymbol.isMarker= +!0},drawPoints:l.column.prototype.drawPoints,alignDataLabel:l.column.prototype.alignDataLabel,buildKDTree:a,applyZones:a},{haloPath:function(a){return h.prototype.haloPath.call(this,this.shapeArgs.r+a)},ttBelow:!1});w.prototype.beforePadding=function(){var a=this,b=this.len,c=this.chart,h=0,l=b,u=this.isXAxis,m=u?"xData":"yData",w=this.min,x={},A=Math.min(c.plotWidth,c.plotHeight),C=Number.MAX_VALUE,D=-Number.MAX_VALUE,E=this.max-w,z=b/E,F=[];q(this.series,function(b){var g=b.options;!b.bubblePadding|| +!b.visible&&c.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,F.push(b),u&&(q(["minSize","maxSize"],function(a){var b=g[a],d=/%$/.test(b),b=f(b);x[a]=d?A*b/100:b}),b.minPxSize=x.minSize,b.maxPxSize=Math.max(x.maxSize,x.minSize),b=b.zData,b.length&&(C=d(g.zMin,Math.min(C,Math.max(t(b),!1===g.displayNegative?g.zThreshold:-Number.MAX_VALUE))),D=d(g.zMax,Math.max(D,r(b))))))});q(F,function(b){var d=b[m],c=d.length,f;u&&b.getRadii(C,D,b.minPxSize,b.maxPxSize);if(0f&&(f+=360),a.clientX=f):a.clientX=a.plotX};m.spline&&q(m.spline.prototype,"getPointSpline",function(a,b,f,h){var d,c,e,k,p,g,n;this.chart.polar?(d=f.plotX, +c=f.plotY,a=b[h-1],e=b[h+1],this.connectEnds&&(a||(a=b[b.length-2]),e||(e=b[1])),a&&e&&(k=a.plotX,p=a.plotY,b=e.plotX,g=e.plotY,k=(1.5*d+k)/2.5,p=(1.5*c+p)/2.5,e=(1.5*d+b)/2.5,n=(1.5*c+g)/2.5,b=Math.sqrt(Math.pow(k-d,2)+Math.pow(p-c,2)),g=Math.sqrt(Math.pow(e-d,2)+Math.pow(n-c,2)),k=Math.atan2(p-c,k-d),p=Math.atan2(n-c,e-d),n=Math.PI/2+(k+p)/2,Math.abs(k-n)>Math.PI/2&&(n-=Math.PI),k=d+Math.cos(n)*b,p=c+Math.sin(n)*b,e=d+Math.cos(Math.PI+n)*g,n=c+Math.sin(Math.PI+n)*g,f.rightContX=e,f.rightContY=n), +h?(f=["C",a.rightContX||a.plotX,a.rightContY||a.plotY,k||d,p||c,d,c],a.rightContX=a.rightContY=null):f=["M",d,c]):f=a.call(this,b,f,h);return f});q(e,"translate",function(a){var b=this.chart;a.call(this);if(b.polar&&(this.kdByAngle=b.tooltip&&b.tooltip.shared,!this.preventPostTranslate))for(a=this.points,b=a.length;b--;)this.toXY(a[b])});q(e,"getGraphPath",function(a,b){var d=this,e,m;if(this.chart.polar){b=b||this.points;for(e=0;eb.center[1]}),q(m,"alignDataLabel",function(a,b,f,h,m,c){this.chart.polar?(a=b.rectPlotX/Math.PI*180,null===h.align&&(h.align=20a?"left":200a?"right":"center"),null===h.verticalAlign&&(h.verticalAlign=45>a||315a?"top":"middle"),e.alignDataLabel.call(this,b,f,h,m,c)):a.call(this, +b,f,h,m,c)}));q(b,"getCoordinates",function(a,b){var d=this.chart,e={xAxis:[],yAxis:[]};d.polar?t(d.axes,function(a){var c=a.isXAxis,f=a.center,h=b.chartX-f[0]-d.plotLeft,f=b.chartY-f[1]-d.plotTop;e[c?"xAxis":"yAxis"].push({axis:a,value:a.translate(c?Math.PI-Math.atan2(h,f):Math.sqrt(Math.pow(h,2)+Math.pow(f,2)),!0)})}):e=a.call(this,b);return e})})(x)}); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/highstock.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/highstock.js new file mode 100644 index 0000000..34a3f91 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/highstock.js @@ -0,0 +1,496 @@ +/* + Highstock JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(N,a){"object"===typeof module&&module.exports?module.exports=N.document?a(N):a:N.Highcharts=a(N)})("undefined"!==typeof window?window:this,function(N){N=function(){var a=window,D=a.document,B=a.navigator&&a.navigator.userAgent||"",G=D&&D.createElementNS&&!!D.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,H=/(edge|msie|trident)/i.test(B)&&!window.opera,p=!G,l=/Firefox/.test(B),r=l&&4>parseInt(B.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highstock", +version:"5.0.3",deg2rad:2*Math.PI/360,doc:D,hasBidiBug:r,hasTouch:D&&void 0!==D.documentElement.ontouchstart,isMS:H,isWebKit:/AppleWebKit/.test(B),isFirefox:l,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(B),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:G,vml:p,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var D=[],B=a.charts,G=a.doc,H=a.win;a.error=function(a,l){a="Highcharts error #"+ +a+": www.highcharts.com/errors/"+a;if(l)throw Error(a);H.console&&console.log(a)};a.Fx=function(a,l,r){this.options=l;this.elem=a;this.prop=r};a.Fx.prototype={dSetter:function(){var a=this.paths[0],l=this.paths[1],r=[],w=this.now,t=a.length,k;if(1===w)r=this.toD;else if(t===l.length&&1>w)for(;t--;)k=parseFloat(a[t]),r[t]=isNaN(k)?a[t]:w*parseFloat(l[t]-k)+k;else r=l;this.elem.attr("d",r)},update:function(){var a=this.elem,l=this.prop,r=this.now,w=this.options.step;if(this[l+"Setter"])this[l+"Setter"](); +else a.attr?a.element&&a.attr(l,r):a.style[l]=r+this.unit;w&&w.call(a,r,this)},run:function(a,l,r){var p=this,t=function(a){return t.stopped?!1:p.step(a)},k;this.startTime=+new Date;this.start=a;this.end=l;this.unit=r;this.now=this.start;this.pos=0;t.elem=this.elem;t()&&1===D.push(t)&&(t.timerId=setInterval(function(){for(k=0;k=k+this.startTime){this.now=this.end;this.pos=1;this.update();a=m[this.prop]=!0;for(e in m)!0!==m[e]&&(a=!1);a&&t&&t.call(p);p=!1}else this.pos=w.easing((l-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),p=!0;return p},initPath:function(p,l,r){function w(a){for(b=a.length;b--;)"M"!==a[b]&&"L"!==a[b]||a.splice(b+1,0,a[b+1],a[b+2],a[b+1],a[b+2])}function t(a,c){for(;a.lengthm?"AM":"PM",P:12>m?"am":"pm",S:q(t.getSeconds()),L:q(Math.round(l%1E3),3)},a.dateFormats);for(k in w)for(;-1!==p.indexOf("%"+k);)p= +p.replace("%"+k,"function"===typeof w[k]?w[k](l):w[k]);return r?p.substr(0,1).toUpperCase()+p.substr(1):p};a.formatSingle=function(p,l){var r=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(p)?(r=(r=p.match(r))?r[1]:-1,null!==l&&(l=a.numberFormat(l,r,w.decimalPoint,-1=r&&(l=[1/r])));for(w=0;w=p||!t&&k<=(l[w]+(l[w+1]||l[w]))/ +2);w++);return m*r};a.stableSort=function(a,l){var r=a.length,p,t;for(t=0;tr&&(r=a[l]);return r};a.destroyObjectProperties=function(a,l){for(var r in a)a[r]&&a[r]!==l&&a[r].destroy&&a[r].destroy(),delete a[r]};a.discardElement=function(p){var l= +a.garbageBin;l||(l=a.createElement("div"));p&&l.appendChild(p);l.innerHTML=""};a.correctFloat=function(a,l){return parseFloat(a.toPrecision(l||14))};a.setAnimation=function(p,l){l.renderer.globalAnimation=a.pick(p,l.options.chart.animation,!0)};a.animObject=function(p){return a.isObject(p)?a.merge(p):{duration:p?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(p,l,r,w){p=+p||0;l=+l;var t=a.defaultOptions.lang, +k=(p.toString().split(".")[1]||"").length,m,e,g=Math.abs(p);-1===l?l=Math.min(k,20):a.isNumber(l)||(l=2);m=String(a.pInt(g.toFixed(l)));e=3p?"-":"")+(e?m.substr(0,e)+w:"");p+=m.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+w);l&&(w=Math.abs(g-m+Math.pow(10,-Math.max(l,k)-1)),p+=r+w.toFixed(l).slice(2));return p};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(p,l){return"width"===l?Math.min(p.offsetWidth, +p.scrollWidth)-a.getStyle(p,"padding-left")-a.getStyle(p,"padding-right"):"height"===l?Math.min(p.offsetHeight,p.scrollHeight)-a.getStyle(p,"padding-top")-a.getStyle(p,"padding-bottom"):(p=H.getComputedStyle(p,void 0))&&a.pInt(p.getPropertyValue(l))};a.inArray=function(a,l){return l.indexOf?l.indexOf(a):[].indexOf.call(l,a)};a.grep=function(a,l){return[].filter.call(a,l)};a.map=function(a,l){for(var r=[],p=0,t=a.length;pl;l++)w[l]+=p(255*a),0>w[l]&&(w[l]=0),255z.width)z={width:0,height:0}}else z=this.htmlGetBBox();b.isSVG&&(a=z.width, +b=z.height,c&&L&&"11px"===L.fontSize&&"16.9"===b.toPrecision(3)&&(z.height=b=14),v&&(z.width=Math.abs(b*Math.sin(d))+Math.abs(a*Math.cos(d)),z.height=Math.abs(b*Math.cos(d))+Math.abs(a*Math.sin(d))));if(g&&0]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,c,v){"string"===typeof a?v.setAttribute(c, +a):a&&this.colorGradient(a,c,v)},visibilitySetter:function(a,c,v){"inherit"===a?v.removeAttribute(c):v.setAttribute(c,a)},zIndexSetter:function(a,c){var v=this.renderer,z=this.parentGroup,b=(z||v).element||v.box,d,n=this.element,f;d=this.added;var e;k(a)&&(n.zIndex=a,a=+a,this[c]===a&&(d=!1),this[c]=a);if(d){(a=this.zIndex)&&z&&(z.handleZ=!0);c=b.childNodes;for(e=0;ea||!k(a)&&k(d)||0>a&&!k(d)&&b!==v.box)&&(b.insertBefore(n,z),f=!0);f||b.appendChild(n)}return f}, +_defaultSetter:function(a,c,v){v.setAttribute(c,a)}};D.prototype.yGetter=D.prototype.xGetter;D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.rotationSetter=D.prototype.verticalAlignSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=function(a,c){this[c]=a;this.doTransform=!0};D.prototype["stroke-widthSetter"]=D.prototype.strokeSetter=function(a,c,v){this[c]=a;this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",v),v.setAttribute("stroke-width", +this["stroke-width"]),this.hasStroke=!0):"stroke-width"===c&&0===a&&this.hasStroke&&(v.removeAttribute("stroke"),this.hasStroke=!1)};B=a.SVGRenderer=function(){this.init.apply(this,arguments)};B.prototype={Element:D,SVG_NS:K,init:function(a,c,v,b,d,n){var z;b=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(b));z=b.element;a.appendChild(z);-1===a.innerHTML.indexOf("xmlns")&&p(z,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=z;this.boxWrapper=b;this.alignedObjects= +[];this.url=(E||A)&&g.getElementsByTagName("base").length?R.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highstock 5.0.3"));this.defs=this.createElement("defs").add();this.allowHTML=n;this.forExport=d;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(c,v,!1);var f;E&&a.getBoundingClientRect&&(c=function(){w(a,{left:0,top:0});f=a.getBoundingClientRect(); +w(a,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},c(),this.unSubPixelFix=G(R,"resize",c))},getStyle:function(a){return this.style=C({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();e(this.gradients||{});this.gradients= +null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var c=new this.Element;c.init(this,a);return c},draw:J,getRadialAttr:function(a,c){return{cx:a[0]-a[2]/2+c.cx*a[2],cy:a[1]-a[2]/2+c.cy*a[2],r:c.r*a[2]}},buildText:function(a){for(var c=a.element,z=this,b=z.forExport,n=y(a.textStr,"").toString(),f=-1!==n.indexOf("\x3c"),e=c.childNodes,q,F,x,A,I=p(c,"x"),m=a.styles,k=a.textWidth,C=m&&m.lineHeight,M=m&&m.textOutline,J=m&& +"ellipsis"===m.textOverflow,E=e.length,O=k&&!a.added&&this.box,t=function(a){var v;v=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:m&&m.fontSize||z.style.fontSize||12;return C?u(C):z.fontMetrics(v,a.getAttribute("style")?a:c).h};E--;)c.removeChild(e[E]);f||M||J||k||-1!==n.indexOf(" ")?(q=/<.*class="([^"]+)".*>/,F=/<.*style="([^"]+)".*>/,x=/<.*href="(http[^"]+)".*>/,O&&O.appendChild(c),n=f?n.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(//g,"\x3c/span\x3e").split(//g):[n],n=d(n,function(a){return""!==a}),h(n,function(d,n){var f,e=0;d=d.replace(/^\s+|\s+$/g,"").replace(//g,"\x3c/span\x3e|||");f=d.split("|||");h(f,function(d){if(""!==d||1===f.length){var u={},y=g.createElementNS(z.SVG_NS,"tspan"),L,h;q.test(d)&&(L=d.match(q)[1],p(y,"class",L));F.test(d)&&(h=d.match(F)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),p(y,"style",h));x.test(d)&&!b&&(p(y, +"onclick",'location.href\x3d"'+d.match(x)[1]+'"'),w(y,{cursor:"pointer"}));d=(d.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"\x3c").replace(/>/g,"\x3e");if(" "!==d){y.appendChild(g.createTextNode(d));e?u.dx=0:n&&null!==I&&(u.x=I);p(y,u);c.appendChild(y);!e&&n&&(!v&&b&&w(y,{display:"block"}),p(y,"dy",t(y)));if(k){u=d.replace(/([^\^])-/g,"$1- ").split(" ");L="nowrap"===m.whiteSpace;for(var C=1k,void 0===A&&(A=M),J&&A?(Q/=2,""===l||!M&&.5>Q?u=[]:(l=d.substring(0,l.length+(M?-1:1)*Math.ceil(Q)),u=[l+(3k&&(k=P)),u.length&&y.appendChild(g.createTextNode(u.join(" ").replace(/- /g, +"-")));a.rotation=R}e++}}})}),A&&a.attr("title",a.textStr),O&&O.removeChild(c),M&&a.applyTextOutline&&a.applyTextOutline(M)):c.appendChild(g.createTextNode(n.replace(/</g,"\x3c").replace(/>/g,"\x3e")))},getContrast:function(a){a=r(a).rgba;return 510v?d>c+f&&de?d>c+f&&db&&e>a+f&&ed&&e>a+f&&ea?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}},rotCorr:function(a, +c,v){var b=a;c&&v&&(b=Math.max(b*Math.cos(c*m),4));return{x:-a/3*Math.sin(c*m),y:b}},label:function(a,c,v,b,d,n,f,e,K){var q=this,u=q.g("button"!==K&&"label"),y=u.text=q.text("",0,0,f).attr({zIndex:1}),g,F,z=0,A=3,L=0,m,M,J,E,O,t={},l,R,r=/^url\((.*?)\)$/.test(b),p=r,P,w,Q,S;K&&u.addClass("highcharts-"+K);p=r;P=function(){return(l||0)%2/2};w=function(){var a=y.element.style,c={};F=(void 0===m||void 0===M||O)&&k(y.textStr)&&y.getBBox();u.width=(m||F.width||0)+2*A+L;u.height=(M||F.height||0)+2*A;R= +A+q.fontMetrics(a&&a.fontSize,y).b;p&&(g||(u.box=g=q.symbols[b]||r?q.symbol(b):q.rect(),g.addClass(("button"===K?"":"highcharts-label-box")+(K?" highcharts-"+K+"-box":"")),g.add(u),a=P(),c.x=a,c.y=(e?-R:0)+a),c.width=Math.round(u.width),c.height=Math.round(u.height),g.attr(C(c,t)),t={})};Q=function(){var a=L+A,c;c=e?0:R;k(m)&&F&&("center"===O||"right"===O)&&(a+={center:.5,right:1}[O]*(m-F.width));if(a!==y.x||c!==y.y)y.attr("x",a),void 0!==c&&y.attr("y",c);y.x=a;y.y=c};S=function(a,c){g?g.attr(a,c): +t[a]=c};u.onAdd=function(){y.add(u);u.attr({text:a||0===a?a:"",x:c,y:v});g&&k(d)&&u.attr({anchorX:d,anchorY:n})};u.widthSetter=function(a){m=a};u.heightSetter=function(a){M=a};u["text-alignSetter"]=function(a){O=a};u.paddingSetter=function(a){k(a)&&a!==A&&(A=u.padding=a,Q())};u.paddingLeftSetter=function(a){k(a)&&a!==L&&(L=a,Q())};u.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==z&&(z=a,F&&u.attr({x:J}))};u.textSetter=function(a){void 0!==a&&y.textSetter(a);w();Q()};u["stroke-widthSetter"]= +function(a,c){a&&(p=!0);l=this["stroke-width"]=a;S(c,a)};u.strokeSetter=u.fillSetter=u.rSetter=function(a,c){"fill"===c&&a&&(p=!0);S(c,a)};u.anchorXSetter=function(a,c){d=a;S(c,Math.round(a)-P()-J)};u.anchorYSetter=function(a,c){n=a;S(c,a-E)};u.xSetter=function(a){u.x=a;z&&(a-=z*((m||F.width)+2*A));J=Math.round(a);u.attr("translateX",J)};u.ySetter=function(a){E=u.y=Math.round(a);u.attr("translateY",E)};var T=u.css;return C(u,{css:function(a){if(a){var c={};a=x(a);h(u.textProps,function(v){void 0!== +a[v]&&(c[v]=a[v],delete a[v])});y.css(c)}return T.call(u,a)},getBBox:function(){return{width:F.width+2*A,height:F.height+2*A,x:F.x-A,y:F.y-A}},shadow:function(a){a&&(w(),g&&g.shadow(a));return u},destroy:function(){I(u.element,"mouseenter");I(u.element,"mouseleave");y&&(y=y.destroy());g&&(g=g.destroy());D.prototype.destroy.call(u);u=q=w=Q=S=null}})}};a.Renderer=B})(N);(function(a){var D=a.attr,B=a.createElement,G=a.css,H=a.defined,p=a.each,l=a.extend,r=a.isFirefox,w=a.isMS,t=a.isWebKit,k=a.pInt,m= +a.SVGRenderer,e=a.win,g=a.wrap;l(a.SVGElement.prototype,{htmlCss:function(a){var e=this.element;if(e=a&&"SPAN"===e.tagName&&a.width)delete a.width,this.textWidth=e,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=l(this.styles,a);G(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a= +this.renderer,e=this.element,f=this.translateX||0,d=this.translateY||0,b=this.x||0,q=this.y||0,g=this.textAlign||"left",c={left:0,center:.5,right:1}[g],F=this.styles;G(e,{marginLeft:f,marginTop:d});this.shadows&&p(this.shadows,function(a){G(a,{marginLeft:f+1,marginTop:d+1})});this.inverted&&p(e.childNodes,function(c){a.invertChild(c,e)});if("SPAN"===e.tagName){var n=this.rotation,A=k(this.textWidth),x=F&&F.whiteSpace,m=[n,g,e.innerHTML,this.textWidth,this.textAlign].join();m!==this.cTT&&(F=a.fontMetrics(e.style.fontSize).b, +H(n)&&this.setSpanRotation(n,c,F),G(e,{width:"",whiteSpace:x||"nowrap"}),e.offsetWidth>A&&/[ \-]/.test(e.textContent||e.innerText)&&G(e,{width:A+"px",display:"block",whiteSpace:x||"normal"}),this.getSpanCorrection(e.offsetWidth,F,c,n,g));G(e,{left:b+(this.xCorr||0)+"px",top:q+(this.yCorr||0)+"px"});t&&(F=e.offsetHeight);this.cTT=m}}else this.alignOnAdd=!0},setSpanRotation:function(a,g,f){var d={},b=w?"-ms-transform":t?"-webkit-transform":r?"MozTransform":e.opera?"-o-transform":"";d[b]=d.transform= +"rotate("+a+"deg)";d[b+(r?"Origin":"-origin")]=d.transformOrigin=100*g+"% "+f+"px";G(this.element,d)},getSpanCorrection:function(a,e,f){this.xCorr=-a*f;this.yCorr=-e}});l(m.prototype,{html:function(a,e,f){var d=this.createElement("span"),b=d.element,q=d.renderer,h=q.isSVG,c=function(a,c){p(["opacity","visibility"],function(b){g(a,b+"Setter",function(a,b,d,n){a.call(this,b,d,n);c[d]=b})})};d.textSetter=function(a){a!==b.innerHTML&&delete this.bBox;b.innerHTML=this.textStr=a;d.htmlUpdateTransform()}; +h&&c(d,d.element.style);d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter=function(a,c){"align"===c&&(c="textAlign");d[c]=a;d.htmlUpdateTransform()};d.attr({text:a,x:Math.round(e),y:Math.round(f)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});b.style.whiteSpace="nowrap";d.css=d.htmlCss;h&&(d.add=function(a){var n,f=q.box.parentNode,e=[];if(this.parentGroup=a){if(n=a.div,!n){for(;a;)e.push(a),a=a.parentGroup;p(e.reverse(),function(a){var b,d=D(a.element, +"class");d&&(d={className:d});n=a.div=a.div||B("div",d,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},n||f);b=n.style;l(a,{translateXSetter:function(c,d){b.left=c+"px";a[d]=c;a.doTransform=!0},translateYSetter:function(c,d){b.top=c+"px";a[d]=c;a.doTransform=!0}});c(a,b)})}}else n=f;n.appendChild(b);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d});return d}})})(N);(function(a){var D, +B,G=a.createElement,H=a.css,p=a.defined,l=a.deg2rad,r=a.discardElement,w=a.doc,t=a.each,k=a.erase,m=a.extend;D=a.extendClass;var e=a.isArray,g=a.isNumber,h=a.isObject,C=a.merge;B=a.noop;var f=a.pick,d=a.pInt,b=a.SVGElement,q=a.SVGRenderer,E=a.win;a.svg||(B={docMode8:w&&8===w.documentMode,init:function(a,b){var c=["\x3c",b,' filled\x3d"f" stroked\x3d"f"'],d=["position: ","absolute",";"],f="div"===b;("shape"===b||f)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",f?"hidden":"visible"); +c.push(' style\x3d"',d.join(""),'"/\x3e');b&&(c=f||"span"===b||"img"===b?c.join(""):a.prepVML(c),this.element=G(c));this.renderer=a},add:function(a){var c=this.renderer,b=this.element,d=c.box,f=a&&a.inverted,d=a?a.element||a:d;a&&(this.parentGroup=a);f&&c.invertChild(b,d);d.appendChild(b);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},updateTransform:b.prototype.htmlUpdateTransform, +setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*l),d=Math.sin(a*l);H(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",b,", M12\x3d",-d,", M21\x3d",d,", M22\x3d",b,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,d,e,q){var c=e?Math.cos(e*l):1,n=e?Math.sin(e*l):0,u=f(this.elemHeight,this.element.offsetHeight),g;this.xCorr=0>c&&-a;this.yCorr=0>n&&-u;g=0>c*n;this.xCorr+=n*b*(g?1-d:d);this.yCorr-=c*b*(e?g?d:1-d:1);q&&"left"!== +q&&(this.xCorr-=a*d*(0>c?-1:1),e&&(this.yCorr-=u*d*(0>n?-1:1)),H(this.element,{textAlign:q}))},pathToVML:function(a){for(var c=a.length,b=[];c--;)g(a[c])?b[c]=Math.round(10*a[c])-5:"Z"===a[c]?b[c]="x":(b[c]=a[c],!a.isArc||"wa"!==a[c]&&"at"!==a[c]||(b[c+5]===b[c+7]&&(b[c+7]+=a[c+7]>a[c+5]?1:-1),b[c+6]===b[c+8]&&(b[c+8]+=a[c+8]>a[c+6]?1:-1)));return b.join(" ")||"x"},clip:function(a){var c=this,b;a?(b=a.members,k(b,c),b.push(c),c.destroyClip=function(){k(b,c)},a=a.getCSS(c)):(c.destroyClip&&c.destroyClip(), +a={clip:c.docMode8?"inherit":"rect(auto)"});return c.css(a)},css:b.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&r(a)},destroy:function(){this.destroyClip&&this.destroyClip();return b.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=E.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c;a=a.split(/[ ,]/);c=a.length;if(9===c||11===c)a[c-4]=a[c-2]=d(a[c-2])-10*b;return a.join(" ")},shadow:function(a,b,e){var c=[],n,q=this.element, +g=this.renderer,u,I=q.style,F,v=q.path,K,h,m,z;v&&"string"!==typeof v.value&&(v="x");h=v;if(a){m=f(a.width,3);z=(a.opacity||.15)/m;for(n=1;3>=n;n++)K=2*m+1-2*n,e&&(h=this.cutOffPath(v.value,K+.5)),F=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',K,'" filled\x3d"false" path\x3d"',h,'" coordsize\x3d"10 10" style\x3d"',q.style.cssText,'" /\x3e'],u=G(g.prepVML(F),null,{left:d(I.left)+f(a.offsetX,1),top:d(I.top)+f(a.offsetY,1)}),e&&(u.cutOff=K+1),F=['\x3cstroke color\x3d"',a.color||"#000000",'" opacity\x3d"', +z*n,'"/\x3e'],G(g.prepVML(F),null,null,u),b?b.element.appendChild(u):q.parentNode.insertBefore(u,q),c.push(u);this.shadows=c}return this},updateShadows:B,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,b,d){(d.getElementsByTagName("stroke")[0]||G(this.renderer.prepVML(["\x3cstroke/\x3e"]),null,null,d))[b]=a||"solid";this[b]=a},dSetter:function(a,b,d){var c=this.shadows; +a=a||[];this.d=a.join&&a.join(" ");d.path=a=this.pathToVML(a);if(c)for(d=c.length;d--;)c[d].path=c[d].cutOff?this.cutOffPath(a,c[d].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,d){var c=d.nodeName;"SPAN"===c?d.style.color=a:"IMG"!==c&&(d.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,d,b,this)))},"fill-opacitySetter":function(a,b,d){G(this.renderer.prepVML(["\x3c",b.split("-")[0],' opacity\x3d"',a,'"/\x3e']),null,null,d)},opacitySetter:B,rotationSetter:function(a,b,d){d= +d.style;this[b]=d[b]=a;d.left=-Math.round(Math.sin(a*l)+1)+"px";d.top=Math.round(Math.cos(a*l))+"px"},strokeSetter:function(a,b,d){this.setAttr("strokecolor",this.renderer.color(a,d,b,this))},"stroke-widthSetter":function(a,b,d){d.stroked=!!a;this[b]=a;g(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,d){"inherit"===a&&(a="visible");this.shadows&&t(this.shadows,function(c){c.style[b]=a});"DIV"===d.nodeName&&(a="hidden"===a?"-999em": +0,this.docMode8||(d.style[b]=a?"visible":"hidden"),b="top");d.style[b]=a},xSetter:function(a,b,d){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):d.style[b]=a},zIndexSetter:function(a,b,d){d.style[b]=a}},B["stroke-opacitySetter"]=B["fill-opacitySetter"],a.VMLElement=B=D(b,B),B.prototype.ySetter=B.prototype.widthSetter=B.prototype.heightSetter=B.prototype.xSetter,B={Element:B,isIE8:-1l[0]&&c.push([1,l[1]]);t(c,function(c,b){q.test(c[1])?(n=a.color(c[1]),v=n.get("rgb"),K=n.get("a")):(v=c[1],K=1);r.push(100*c[0]+"% "+v);b?(m=K,k=v):(z=K,E=v)});if("fill"===d)if("gradient"===g)d=A.x1||A[0]||0,c=A.y1||A[1]||0,F=A.x2||A[2]||0,A=A.y2||A[3]||0,C='angle\x3d"'+(90-180*Math.atan((A-c)/(F-d))/Math.PI)+'"',p();else{var h=A.r,w=2*h,B=2*h,D=A.cx,H=A.cy,V=b.radialReference,U,h=function(){V&&(U=f.getBBox(),D+=(V[0]- +U.x)/U.width-.5,H+=(V[1]-U.y)/U.height-.5,w*=V[2]/U.width,B*=V[2]/U.height);C='src\x3d"'+a.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+w+","+B+'" origin\x3d"0.5,0.5" position\x3d"'+D+","+H+'" color2\x3d"'+E+'" ';p()};f.added?h():f.onAdd=h;h=k}else h=v}else q.test(c)&&"IMG"!==b.tagName?(n=a.color(c),f[d+"-opacitySetter"](n.get("a"),d,b),h=n.get("rgb")):(h=b.getElementsByTagName(d),h.length&&(h[0].opacity=1,h[0].type="solid"),h=c);return h},prepVML:function(a){var c=this.isIE8;a=a.join(""); +c?(a=a.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),a=-1===a.indexOf('style\x3d"')?a.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(#default#VML);" /\x3e'):a.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(#default#VML);')):a=a.replace("\x3c","\x3chcv:");return a},text:q.prototype.html,path:function(a){var c={coordsize:"10 10"};e(a)?c.d=a:h(a)&&m(c,a);return this.createElement("shape").attr(c)},circle:function(a,b,d){var c=this.symbol("circle"); +h(a)&&(d=a.r,b=a.y,a=a.x);c.isCircle=!0;c.r=d;return c.attr({x:a,y:b})},g:function(a){var c;a&&(c={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement("div").attr(c)},image:function(a,b,d,f,e){var c=this.createElement("img").attr({src:a});1f&&m-d*bg&&(F=Math.round((e-m)/Math.cos(f*w)));else if(e=m+(1-d)*b,m-d*bg&&(E=g-a.x+E*d,c=-1),E=Math.min(q, +E),EE||k.autoRotation&&(C.styles||{}).width)F=E;F&&(n.width=F,(k.options.labels.style||{}).textOverflow||(n.textOverflow="ellipsis"),C.css(n))},getPosition:function(a,k,m,e){var g=this.axis,h=g.chart,l=e&&h.oldChartHeight||h.chartHeight;return{x:a?g.translate(k+m,null,null,e)+g.transB:g.left+g.offset+(g.opposite?(e&&h.oldChartWidth||h.chartWidth)-g.right-g.left:0),y:a?l-g.bottom+g.offset-(g.opposite?g.height:0):l-g.translate(k+m,null, +null,e)-g.transB}},getLabelPosition:function(a,k,m,e,g,h,l,f){var d=this.axis,b=d.transA,q=d.reversed,E=d.staggerLines,c=d.tickRotCorr||{x:0,y:0},F=g.y;B(F)||(F=0===d.side?m.rotation?-8:-m.getBBox().height:2===d.side?c.y+8:Math.cos(m.rotation*w)*(c.y-m.getBBox(!1,0).height/2));a=a+g.x+c.x-(h&&e?h*b*(q?-1:1):0);k=k+F-(h&&!e?h*b*(q?1:-1):0);E&&(m=l/(f||1)%E,d.opposite&&(m=E-m-1),k+=d.labelOffset/E*m);return{x:a,y:Math.round(k)}},getMarkPath:function(a,k,m,e,g,h){return h.crispLine(["M",a,k,"L",a+(g? +0:-m),k+(g?m:0)],e)},render:function(a,k,m){var e=this.axis,g=e.options,h=e.chart.renderer,C=e.horiz,f=this.type,d=this.label,b=this.pos,q=g.labels,E=this.gridLine,c=f?f+"Tick":"tick",F=e.tickSize(c),n=this.mark,A=!n,x=q.step,p={},y=!0,u=e.tickmarkOffset,I=this.getPosition(C,b,u,k),M=I.x,I=I.y,v=C&&M===e.pos+e.len||!C&&I===e.pos?-1:1,K=f?f+"Grid":"grid",O=g[K+"LineWidth"],R=g[K+"LineColor"],z=g[K+"LineDashStyle"],K=l(g[c+"Width"],!f&&e.isXAxis?1:0),c=g[c+"Color"];m=l(m,1);this.isActive=!0;E||(p.stroke= +R,p["stroke-width"]=O,z&&(p.dashstyle=z),f||(p.zIndex=1),k&&(p.opacity=0),this.gridLine=E=h.path().attr(p).addClass("highcharts-"+(f?f+"-":"")+"grid-line").add(e.gridGroup));if(!k&&E&&(b=e.getPlotLinePath(b+u,E.strokeWidth()*v,k,!0)))E[this.isNew?"attr":"animate"]({d:b,opacity:m});F&&(e.opposite&&(F[0]=-F[0]),A&&(this.mark=n=h.path().addClass("highcharts-"+(f?f+"-":"")+"tick").add(e.axisGroup),n.attr({stroke:c,"stroke-width":K})),n[A?"attr":"animate"]({d:this.getMarkPath(M,I,F[0],n.strokeWidth()* +v,C,h),opacity:m}));d&&H(M)&&(d.xy=I=this.getLabelPosition(M,I,d,C,q,u,a,x),this.isFirst&&!this.isLast&&!l(g.showFirstLabel,1)||this.isLast&&!this.isFirst&&!l(g.showLastLabel,1)?y=!1:!C||e.isRadial||q.step||q.rotation||k||0===m||this.handleOverflow(I),x&&a%x&&(y=!1),y&&H(I.y)?(I.opacity=m,d[this.isNew?"attr":"animate"](I)):(r(d),d.attr("y",-9999)),this.isNew=!1)},destroy:function(){G(this,this.axis)}}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.AxisPlotLineOrBandExtension, +l=a.color,r=a.correctFloat,w=a.defaultOptions,t=a.defined,k=a.deg2rad,m=a.destroyObjectProperties,e=a.each,g=a.error,h=a.extend,C=a.fireEvent,f=a.format,d=a.getMagnitude,b=a.grep,q=a.inArray,E=a.isArray,c=a.isNumber,F=a.isString,n=a.merge,A=a.normalizeTickInterval,x=a.pick,J=a.PlotLineOrBand,y=a.removeEvent,u=a.splat,I=a.syncTimeout,M=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M", +hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb", +lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15}, +title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,c){var b=c.isX;this.chart=a;this.horiz=a.inverted?!b:b;this.isXAxis=b;this.coll=this.coll||(b?"xAxis":"yAxis");this.opposite=c.opposite;this.side=c.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(c);var d=this.options,v=d.type;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter; +this.userOptions=c;this.minPixelPadding=0;this.reversed=d.reversed;this.visible=!1!==d.visible;this.zoomEnabled=!1!==d.zoomEnabled;this.hasNames="category"===v||!0===d.categories;this.categories=d.categories||this.hasNames;this.names=this.names||[];this.isLog="logarithmic"===v;this.isDatetimeAxis="datetime"===v;this.isLinked=t(d.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom; +this.range=d.range;this.offset=d.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=x(d.crosshair,u(a.options.tooltip.crosshairs)[b?0:1],!1);var f;c=this.options.events;-1===q(this,a.axes)&&(b?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&b&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(f in c)D(this,f,c[f]); +this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=n(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],n(w[this.coll],a))},defaultLabelFormatter:function(){var c=this.axis,b=this.value,d=c.categories,e=this.dateTimeLabelFormat,q=w.lang,u=q.numericSymbols,q=q.numericSymbolMagnitude||1E3,n=u&&u.length,g,y=c.options.labels.format, +c=c.isLog?b:c.tickInterval;if(y)g=f(y,this);else if(d)g=b;else if(e)g=a.dateFormat(e,b);else if(n&&1E3<=c)for(;n--&&void 0===g;)d=Math.pow(q,n+1),c>=d&&0===10*b%d&&null!==u[n]&&0!==b&&(g=a.numberFormat(b/d,-1)+u[n]);void 0===g&&(g=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b,-1,void 0,""));return g},getSeriesExtremes:function(){var a=this,d=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();e(a.series,function(v){if(v.visible|| +!d.options.chart.ignoreHiddenSeries){var f=v.options,e=f.threshold,q;a.hasVisibleSeries=!0;a.isLog&&0>=e&&(e=null);if(a.isXAxis)f=v.xData,f.length&&(v=H(f),c(v)||v instanceof Date||(f=b(f,function(a){return c(a)}),v=H(f)),a.dataMin=Math.min(x(a.dataMin,f[0]),v),a.dataMax=Math.max(x(a.dataMax,f[0]),G(f)));else if(v.getExtremes(),q=v.dataMax,v=v.dataMin,t(v)&&t(q)&&(a.dataMin=Math.min(x(a.dataMin,v),v),a.dataMax=Math.max(x(a.dataMax,q),q)),t(e)&&(a.threshold=e),!f.softThreshold||a.isLog)a.softThreshold= +!1}})},translate:function(a,b,d,f,e,q){var v=this.linkedParent||this,u=1,n=0,g=f?v.oldTransA:v.transA;f=f?v.oldMin:v.min;var K=v.minPixelPadding;e=(v.isOrdinal||v.isBroken||v.isLog&&e)&&v.lin2val;g||(g=v.transA);d&&(u*=-1,n=v.len);v.reversed&&(u*=-1,n-=u*(v.sector||v.len));b?(a=(a*u+n-K)/g+f,e&&(a=v.lin2val(a))):(e&&(a=v.val2lin(a)),a=u*(a-f)*g+n+u*K+(c(q)?g*q:0));return a},toPixels:function(a,c){return this.translate(a,!1,!this.horiz,null,!0)+(c?0:this.pos)},toValue:function(a,c){return this.translate(a- +(c?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,d,f,e){var v=this.chart,q=this.left,u=this.top,n,g,K=d&&v.oldChartHeight||v.chartHeight,y=d&&v.oldChartWidth||v.chartWidth,z;n=this.transB;var h=function(a,c,b){if(ab)f?a=Math.min(Math.max(c,a),b):z=!0;return a};e=x(e,this.translate(a,null,null,d));a=d=Math.round(e+n);n=g=Math.round(K-e-n);c(e)?this.horiz?(n=u,g=K-this.bottom,a=d=h(a,q,q+this.width)):(a=q,d=y-this.right,n=g=h(n,u,u+this.height)):z=!0;return z&&!f?null:v.renderer.crispLine(["M", +a,n,"L",d,g],b||1)},getLinearTickPositions:function(a,b,d){var v,f=r(Math.floor(b/a)*a),e=r(Math.ceil(d/a)*a),q=[];if(b===d&&c(b))return[b];for(b=f;b<=e;){q.push(b);b=r(b+a);if(b===v)break;v=b}return q},getMinorTickPositions:function(){var a=this.options,c=this.tickPositions,b=this.minorTickInterval,d=[],f,e=this.pointRangePadding||0;f=this.min-e;var e=this.max+e,q=e-f;if(q&&q/b=this.minRange,q,u,n,g,y,h;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(t(a.min)||t(a.max)?this.minRange=null:(e(this.series,function(a){g=a.xData;for(u=y=a.xIncrement? +1:g.length-1;0=E?(p=E,m=0):b.dataMax<=E&&(J=E,I=0)),b.min=x(w,p,b.dataMin),b.max=x(B,J,b.dataMax));q&&(!a&&0>=Math.min(b.min, +x(b.dataMin,b.min))&&g(10,1),b.min=r(u(b.min),15),b.max=r(u(b.max),15));b.range&&t(b.max)&&(b.userMin=b.min=w=Math.max(b.min,b.minFromRange()),b.userMax=B=b.max,b.range=null);C(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(l||b.axisPointRange||b.usePercentage||h)&&t(b.min)&&t(b.max)&&(u=b.max-b.min)&&(!t(w)&&m&&(b.min-=u*m),!t(B)&&I&&(b.max+=u*I));c(f.floor)?b.min=Math.max(b.min,f.floor):c(f.softMin)&&(b.min=Math.min(b.min,f.softMin));c(f.ceiling)?b.max=Math.min(b.max, +f.ceiling):c(f.softMax)&&(b.max=Math.max(b.max,f.softMax));M&&t(b.dataMin)&&(E=E||0,!t(w)&&b.min=E?b.min=E:!t(B)&&b.max>E&&b.dataMax<=E&&(b.max=E));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:h&&!k&&F===b.linkedParent.options.tickPixelInterval?k=b.linkedParent.tickInterval:x(k,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,l?1:(b.max-b.min)*F/Math.max(b.len,F));y&&!a&&e(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0); +b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!k&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));a=x(f.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!k&&b.tickIntervalb.tickInterval&&1E3b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval= +b.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,d=a.tickPositioner,f=a.startOnTick,e=a.endOnTick,q;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units), +this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,d&&(d=d.apply(this,[this.min,this.max])))&&(this.tickPositions=b=d);this.isLinked||(this.trimTicks(b,f,e),this.min===this.max&&t(this.min)&&!this.tickAmount&&(q=!0,this.min-=.5,this.max+=.5),this.single=q,c||d||this.adjustTickAmount())}, +trimTicks:function(a,b,c){var d=a[0],f=a[a.length-1],v=this.minPointOffset||0;if(b)this.min=d;else for(;this.min-v>a[0];)a.shift();if(c)this.max=f;else for(;this.max+vb&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,d=this.finalTickAmt,f=b&&b.length;if(fc&&(this.tickInterval*= +2,this.setTickPositions());if(t(d)){for(a=c=b.length;a--;)(3===d&&1===a%2||2>=d&&0=f&&(b=f)),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=this.horiz,f=x(b.width,a.plotWidth-c+(b.offsetRight||0)),e=x(b.height,a.plotHeight),q=x(b.top,a.plotTop),b=x(b.left,a.plotLeft+c),c=/%$/;c.test(e)&&(e=Math.round(parseFloat(e)/ +100*a.plotHeight));c.test(q)&&(q=Math.round(parseFloat(q)/100*a.plotHeight+a.plotTop));this.left=b;this.top=q;this.width=f;this.height=e;this.bottom=a.chartHeight-e-q;this.right=a.chartWidth-f-b;this.len=Math.max(d?f:e,0);this.pos=d?b:q},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?r(b(this.min)):this.min,max:a?r(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=this.lin2log, +d=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=d:d>a?a=d:ba?"right":195a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],d=x(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(d&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,d]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize, +this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,d=c,f=this.len/(((this.categories?1:0)+this.max-this.min)/c),q,u=a.rotation,n=this.labelMetrics(),g,y=Number.MAX_VALUE,h,I=function(a){a/=f||1;a=1=a)g=I(Math.abs(n.h/Math.sin(k*a))),b=g+Math.abs(a/360),b(c.step||0)&&!c.rotation&&(this.staggerLines||1)*a.plotWidth/d||!b&&(f&&f-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,d=this.ticks,f=this.options.labels,q=this.horiz,u=this.getSlotWidth(),g=Math.max(1, +Math.round(u-2*(f.padding||5))),y={},h=this.labelMetrics(),I=f.style&&f.style.textOverflow,A,x=0,m,k;F(f.rotation)||(y.rotation=f.rotation||0);e(c,function(a){(a=d[a])&&a.labelLength>x&&(x=a.labelLength)});this.maxLabelLength=x;if(this.autoRotation)x>g&&x>h.h?y.rotation=this.labelRotation:this.labelRotation=0;else if(u&&(A={width:g+"px"},!I))for(A.textOverflow="clip",m=c.length;!q&&m--;)if(k=c[m],g=d[k].label)g.styles&&"ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):d[k].labelLength> +u&&g.css({width:u+"px"}),g.getBBox().height>this.len/c.length-(h.h-h.f)&&(g.specCss={textOverflow:"ellipsis"});y.rotation&&(A={width:(x>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},I||(A.textOverflow="ellipsis"));if(this.labelAlign=f.align||this.autoLabelAlign(this.labelRotation))y.align=this.labelAlign;e(c,function(a){var b=(a=d[a])&&a.label;b&&(b.attr(y),A&&b.css(n(A,b.specCss)),delete b.specCss,a.rotation=y.rotation)});this.tickRotCorr=b.rotCorr(h.b,this.labelRotation||0,0!==this.side)}, +hasData:function(){return this.hasVisibleSeries||t(this.min)&&t(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,f=a.tickPositions,q=a.ticks,u=a.horiz,n=a.side,g=b.inverted?[1,0,3,2][n]:n,y,h,I=0,A,m=0,k=d.title,F=d.labels,E=0,l=a.opposite,C=b.axisOffset,b=b.clipOffset,p=[-1,1,1,-1][n],r,J=d.className,w=a.axisParent,B=this.tickSize("tick");y=a.hasData();a.showAxis=h=y||x(d.showEmpty,!0);a.staggerLines=a.horiz&&F.staggerLines;a.axisGroup||(a.gridGroup= +c.g("grid").attr({zIndex:d.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(J||"")).add(w),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(J||"")).add(w),a.labelGroup=c.g("axis-labels").attr({zIndex:F.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(J||"")).add(w));if(y||a.isLinked)e(f,function(b){q[b]?q[b].addLabel():q[b]=new M(a,b)}),a.renderUnsquish(),!1===F.reserveSpace||0!==n&&2!==n&&{1:"left",3:"right"}[n]!== +a.labelAlign&&"center"!==a.labelAlign||e(f,function(a){E=Math.max(q[a].getLabelSize(),E)}),a.staggerLines&&(E*=a.staggerLines,a.labelOffset=E*(a.opposite?-1:1));else for(r in q)q[r].destroy(),delete q[r];k&&k.text&&!1!==k.enabled&&(a.axisTitle||((r=k.textAlign)||(r=(u?{low:"left",middle:"center",high:"right"}:{low:l?"right":"left",middle:"center",high:l?"left":"right"})[k.align]),a.axisTitle=c.text(k.text,0,0,k.useHTML).attr({zIndex:7,rotation:k.rotation||0,align:r}).addClass("highcharts-axis-title").css(k.style).add(a.axisGroup), +a.axisTitle.isNew=!0),h&&(I=a.axisTitle.getBBox()[u?"height":"width"],A=k.offset,m=t(A)?0:x(k.margin,u?5:10)),a.axisTitle[h?"show":"hide"](!0));a.renderLine();a.offset=p*x(d.offset,C[n]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===n?-a.labelMetrics().h:2===n?a.tickRotCorr.y:0;m=Math.abs(E)+m;E&&(m=m-c+p*(u?x(F.y,a.tickRotCorr.y+8*p):F.x));a.axisTitleMargin=x(A,m);C[n]=Math.max(C[n],a.axisTitleMargin+I+p*a.offset,m,y&&f.length&&B?B[0]:0);d=d.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[g]= +Math.max(b[g],d)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,f=this.horiz,e=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",f?this.left:e,f?d:this.top,"L",f?b.chartWidth-this.right:e,f?d:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor, +"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,f=this.options.title,e=a?b:c,q=this.opposite,u=this.offset,n=f.x||0,g=f.y||0,y=this.chart.renderer.fontMetrics(f.style&&f.style.fontSize,this.axisTitle).f,d={low:e+(a?0:d),middle:e+d/2,high:e+(a?d:0)}[f.align],b=(a?c+this.height:b)+(a?1:-1)*(q?-1:1)*this.axisTitleMargin+(2===this.side?y:0);return{x:a?d+n:b+(q?this.width:0)+u+n,y:a?b+g-(q?this.height:0)+u:d+g}},render:function(){var a= +this,b=a.chart,d=b.renderer,f=a.options,q=a.isLog,u=a.lin2log,n=a.isLinked,g=a.tickPositions,y=a.axisTitle,h=a.ticks,A=a.minorTicks,x=a.alternateBands,m=f.stackLabels,k=f.alternateGridColor,F=a.tickmarkOffset,E=a.axisLine,l=b.hasRendered&&c(a.oldMin),C=a.showAxis,p=B(d.globalAnimation),r,t;a.labelEdge.length=0;a.overlap=!1;e([h,A,x],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||n)a.minorTickInterval&&!a.categories&&e(a.getMinorTickPositions(),function(b){A[b]||(A[b]=new M(a,b,"minor")); +l&&A[b].isNew&&A[b].render(null,!0);A[b].render(null,!1,1)}),g.length&&(e(g,function(b,c){if(!n||b>=a.min&&b<=a.max)h[b]||(h[b]=new M(a,b)),l&&h[b].isNew&&h[b].render(c,!0,.1),h[b].render(c)}),F&&(0===a.min||a.single)&&(h[-1]||(h[-1]=new M(a,-1,null,!0)),h[-1].render(-1))),k&&e(g,function(c,d){t=void 0!==g[d+1]?g[d+1]+F:a.max-F;0===d%2&&c=e.second?0:A*Math.floor(c.getMilliseconds()/A));if(n>=e.second)c[B.hcSetSeconds](n>=e.minute?0:A*Math.floor(c.getSeconds()/ +A));if(n>=e.minute)c[B.hcSetMinutes](n>=e.hour?0:A*Math.floor(c[B.hcGetMinutes]()/A));if(n>=e.hour)c[B.hcSetHours](n>=e.day?0:A*Math.floor(c[B.hcGetHours]()/A));if(n>=e.day)c[B.hcSetDate](n>=e.month?1:A*Math.floor(c[B.hcGetDate]()/A));n>=e.month&&(c[B.hcSetMonth](n>=e.year?0:A*Math.floor(c[B.hcGetMonth]()/A)),g=c[B.hcGetFullYear]());if(n>=e.year)c[B.hcSetFullYear](g-g%A);if(n===e.week)c[B.hcSetDate](c[B.hcGetDate]()-c[B.hcGetDay]()+m(f,1));g=c[B.hcGetFullYear]();f=c[B.hcGetMonth]();var C=c[B.hcGetDate](), +y=c[B.hcGetHours]();if(B.hcTimezoneOffset||B.hcGetTimezoneOffset)x=(!q||!!B.hcGetTimezoneOffset)&&(k-h>4*e.month||t(h)!==t(k)),c=c.getTime(),c=new B(c+t(c));q=c.getTime();for(h=1;qr&&(!t||b<=w)&&void 0!==b&&h.push(b),b>w&&(q=!0),b=d;else r=e(r),w= +e(w),a=k[t?"minorTickInterval":"tickInterval"],a=p("auto"===a?null:a,this._minorAutoInterval,k.tickPixelInterval/(t?5:1)*(w-r)/((t?m/this.tickPositions.length:m)||1)),a=H(a,null,B(a)),h=G(this.getLinearTickPositions(a,r,w),g),t||(this._minorAutoInterval=a/5);t||(this.tickInterval=a);return h};D.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};D.prototype.lin2log=function(a){return Math.pow(10,a)}})(N);(function(a){var D=a.dateFormat,B=a.each,G=a.extend,H=a.format,p=a.isNumber,l=a.map,r= +a.merge,w=a.pick,t=a.splat,k=a.stop,m=a.syncTimeout,e=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,e){this.chart=a;this.options=e;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=e.split&&!a.inverted;this.shared=e.shared||this.split},cleanSplit:function(a){B(this.chart.series,function(e){var g=e&&e.tt;g&&(!g.isActive||a?e.tt=g.destroy():g.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,e=this.options;this.label|| +(this.split?this.label=a.g("tooltip"):(this.label=a.label("",0,0,e.shape||"callout",null,null,e.useHTML,null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),this.label.attr({fill:e.backgroundColor,"stroke-width":e.borderWidth}).css(e.style).shadow(e.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,r(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart, +!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,e,m,f){var d=this,b=d.now,q=!1!==d.options.animation&&!d.isHidden&&(1h-q?h:h-q);else if(v)b[a]=Math.max(g,e+q+f>c?e:e+q);else return!1},x=function(a,c,f,e){var q;ec-d?q=!1:b[a]=ec-f/2?c-f-2:e-f/2;return q},k=function(a){var b=c;c=h;h=b;g=a},y=function(){!1!==A.apply(0,c)?!1!==x.apply(0,h)||g||(k(!0),y()):g?b.x=b.y=0:(k(!0),y())};(f.inverted||1y&&(q=!1);a=(e.series&&e.series.yAxis&&e.series.yAxis.pos)+(e.plotY||0);a-=d.plotTop;f.push({target:e.isHeader?d.plotHeight+c:a,rank:e.isHeader?1:0,size:n.tt.getBBox().height+1,point:e,x:y,tt:A})});this.cleanSplit(); +a.distribute(f,d.plotHeight+c);B(f,function(a){var b=a.point;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:q||b.isHeader?a.x:b.plotX+d.plotLeft+w(m.distance,16),y:a.pos+d.plotTop,anchorX:b.plotX+d.plotLeft,anchorY:b.isHeader?a.pos+d.plotTop-15:b.plotY+d.plotTop})})},updatePosition:function(a){var e=this.chart,g=this.getLabel(),g=(this.options.positioner||this.getPosition).call(this,g.width,g.height,a);this.move(Math.round(g.x),Math.round(g.y||0),a.plotX+e.plotLeft,a.plotY+e.plotTop)}, +getXDateFormat:function(a,h,m){var f;h=h.dateTimeLabelFormats;var d=m&&m.closestPointRange,b,q={millisecond:15,second:12,minute:9,hour:6,day:3},g,c="millisecond";if(d){g=D("%m-%d %H:%M:%S.%L",a.x);for(b in e){if(d===e.week&&+D("%w",a.x)===m.options.startOfWeek&&"00:00:00.000"===g.substr(6)){b="week";break}if(e[b]>d){b=c;break}if(q[b]&&g.substr(q[b])!=="01-01 00:00:00.000".substr(q[b]))break;"week"!==b&&(c=b)}b&&(f=h[b])}else f=h.day;return f||h.year},tooltipFooterHeaderFormatter:function(a,e){var g= +e?"footer":"header";e=a.series;var f=e.tooltipOptions,d=f.xDateFormat,b=e.xAxis,q=b&&"datetime"===b.options.type&&p(a.key),g=f[g+"Format"];q&&!d&&(d=this.getXDateFormat(a,f,b));q&&d&&(g=g.replace("{point.key}","{point.key:"+d+"}"));return H(g,{point:a,series:e})},bodyFormatter:function(a){return l(a,function(a){var e=a.series.tooltipOptions;return(e.pointFormatter||a.point.tooltipFormatter).call(a.point,e.pointFormat)})}}})(N);(function(a){var D=a.addEvent,B=a.attr,G=a.charts,H=a.color,p=a.css,l= +a.defined,r=a.doc,w=a.each,t=a.extend,k=a.fireEvent,m=a.offset,e=a.pick,g=a.removeEvent,h=a.splat,C=a.Tooltip,f=a.win;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=b.chart.events&&!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};C&&b.tooltip.enabled&&(a.tooltip=new C(a,b.tooltip),this.followTouchMove=e(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,d=b.options.chart, +f=d.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(f=e(d.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=f=/y/.test(f);this.zoomHor=a&&!b||f&&b;this.zoomVert=f&&!b||a&&b;this.hasZoom=a||f},normalize:function(a,b){var d,e;a=a||f.event;a.target||(a.target=a.srcElement);e=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=m(this.chart.container));void 0===e.pageX?(d=Math.max(a.x,a.clientX-b.left),b=a.y):(d=e.pageX-b.left,b=e.pageY-b.top);return t(a,{chartX:Math.round(d), +chartY:Math.round(b)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};w(this.chart.axes,function(d){b[d.isXAxis?"xAxis":"yAxis"].push({axis:d,value:d.toValue(a[d.horiz?"chartX":"chartY"])})});return b},runPointActions:function(d){var b=this.chart,f=b.series,g=b.tooltip,c=g?g.shared:!1,h=!0,n=b.hoverPoint,m=b.hoverSeries,x,k,y,u=[],I;if(!c&&!m)for(x=0;xb.series.index?-1:1}));if(c)for(x=u.length;x--;)(u[x].x!==u[0].x||u[x].series.noSharedTooltip)&&u.splice(x,1);if(u[0]&&(u[0]!==this.prevKDPoint||g&&g.isHidden)){if(c&& +!u[0].series.noSharedTooltip){for(x=0;xh+k&&(f=h+k),cm+y&&(c=m+y),this.hasDragged=Math.sqrt(Math.pow(l-f,2)+Math.pow(v-c,2)),10x.max&&(l=x.max-c,v=!0);v?(u-=.8*(u-g[f][0]),J||(M-=.8*(M-g[f][1])),p()):g[f]=[u,M];A||(e[f]=F-E,e[q]=c);e=A?1/n:n;m[q]=c;m[f]=l;k[A?a?"scaleY":"scaleX":"scale"+d]=n;k["translate"+d]=e* +E+(u-e*y)},pinch:function(a){var r=this,t=r.chart,k=r.pinchDown,m=a.touches,e=m.length,g=r.lastValidTouch,h=r.hasZoom,C=r.selectionMarker,f={},d=1===e&&(r.inClass(a.target,"highcharts-tracker")&&t.runTrackerClick||r.runChartClick),b={};1b-6&&n(u||d.chartWidth- +2*x-v-e.x)&&(this.itemX=v,this.itemY+=p+this.lastLineHeight+I,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,c);this.lastItemY=p+this.itemY+I;this.lastLineHeight=Math.max(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=c:(this.itemY+=p+g+I,this.lastLineHeight=g);this.offsetWidth=u||Math.max((f?this.itemX-v-l:c)+x,this.offsetWidth)},getAllItems:function(){var a=[];l(this.chart.series,function(d){var b=d&&d.options;d&&m(b.showInLegend,p(b.linkedTo)? +!1:void 0,!0)&&(a=a.concat(d.legendItems||("point"===b.legendType?d.data:d)))});return a},adjustMargins:function(a,d){var b=this.chart,e=this.options,f=e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0);e.floating||l([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(c,g){c.test(f)&&!p(a[g])&&(b[t[g]]=Math.max(b[t[g]],b.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*e[g%2?"x":"y"]+m(e.margin,12)+d[g]))})},render:function(){var a=this,d=a.chart,b=d.renderer, +e=a.group,h,c,m,n,k=a.box,x=a.options,p=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;e||(a.group=e=b.g("legend").attr({zIndex:7}).add(),a.contentGroup=b.g().attr({zIndex:1}).add(e),a.scrollGroup=b.g().add(a.contentGroup));a.renderTitle();h=a.getAllItems();g(h,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});x.reversed&&h.reverse();a.allItems=h;a.display=c=!!h.length;a.lastLineHeight=0;l(h,function(b){a.renderItem(b)}); +m=(x.width||a.offsetWidth)+p;n=a.lastItemY+a.lastLineHeight+a.titleHeight;n=a.handleOverflow(n);n+=p;k||(a.box=k=b.rect().addClass("highcharts-legend-box").attr({r:x.borderRadius}).add(e),k.isNew=!0);k.attr({stroke:x.borderColor,"stroke-width":x.borderWidth||0,fill:x.backgroundColor||"none"}).shadow(x.shadow);0b&&!1!==h.enabled?(this.clipHeight=g=Math.max(b-20-this.titleHeight-I,0),this.currentPage=m(this.currentPage,1),this.fullHeight=a,l(v,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=u.length;if(!d||c-u[d-1]>g&&(r||c)!==u[d-1])u.push(r||c),d++;b===v.length-1&&c+a-u[d-1]>g&&u.push(c);c!==r&&(r=c)}),n||(n=d.clipRect= +e.clipRect(0,I,9999,0),d.contentGroup.clip(n)),t(g),y||(this.nav=y=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,p,p).on("click",function(){d.scroll(-1,k)}).add(y),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").css(h.style).add(y),this.down=e.symbol("triangle-down",0,0,p,p).on("click",function(){d.scroll(1,k)}).add(y)),d.scroll(0),a=b):y&&(t(),y.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,d){var b=this.pages, +f=b.length;a=this.currentPage+a;var g=this.clipHeight,c=this.options.navigation,h=this.pager,n=this.padding;a>f&&(a=f);0f&&(g=typeof a[0],"string"===g?e.name=a[0]:"number"===g&&(e.x=a[0]),d++);b=h.value;)h=e[++g];h&&h.color&&!this.options.color&&(this.color=h.color);return h},destroy:function(){var a=this.series.chart,e=a.hoverPoints,g;a.pointCount--;e&&(this.setState(),H(e,this),e.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)k(this), +this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],e,g=6;g--;)e=a[g],this[e]&&(this[e]=this[e].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var e=this.series,g= +e.tooltipOptions,h=t(g.valueDecimals,""),k=g.valuePrefix||"",f=g.valueSuffix||"";B(e.pointArrayMap||["y"],function(d){d="{point."+d;if(k||f)a=a.replace(d+"}",k+d+"}"+f);a=a.replace(d+"}",d+":,."+h+"f}")});return l(a,{point:this,series:this.series})},firePointEvent:function(a,e,g){var h=this,k=this.series.options;(k.point.events[a]||h.options&&h.options.events&&h.options.events[a])&&this.importEvents();"click"===a&&k.allowPointSelect&&(g=function(a){h.select&&h.select(null,a.ctrlKey||a.metaKey||a.shiftKey)}); +p(this,a,e,g)},visible:!0}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.correctFloat,l=a.Date,r=a.defaultOptions,w=a.defaultPlotOptions,t=a.defined,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.fireEvent,C=a.grep,f=a.isArray,d=a.isNumber,b=a.isString,q=a.merge,E=a.pick,c=a.removeEvent,F=a.splat,n=a.stableSort,A=a.SVGElement,x=a.syncTimeout,J=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{}, +marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1, +marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,d,e,f=a.series,u,y=function(a,b){return E(a.options.index,a._i)-E(b.options.index,b._i)};c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();g(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0=== +b.selected});e=b.events;for(d in e)D(c,d,e[d]);if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();k(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);f.length&&(u=f[f.length-1]);c._i=E(u&&u._i,-1)+1;f.push(c);n(f,y);this.yAxis&&n(this.yAxis.series,y);k(f,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a=this,b=a.options,c=a.chart, +d;k(a.axisTypes||[],function(f){k(c[f],function(c){d=c.options;if(b[f]===d.index||void 0!==b[f]&&b[f]===d.id||void 0===b[f]&&0===d.index)c.series.push(a),a[f]=c,c.isDirty=!0});a[f]||a.optionalAxis===f||e(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,e=arguments,f=d(b)?function(d){var e="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=e}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(e,2))};k(c.parallelArrays,f)},autoIncrement:function(){var a=this.options, +b=this.xIncrement,c,d=a.pointIntervalUnit,b=E(b,a.pointStart,0);this.pointInterval=c=E(this.pointInterval,a.pointInterval,1);d&&(a=new l(b),"day"===d?a=+a[l.hcSetDate](a[l.hcGetDate]()+c):"month"===d?a=+a[l.hcSetMonth](a[l.hcGetMonth]()+c):"year"===d&&(a=+a[l.hcSetFullYear](a[l.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=q(e,c.series,a);this.tooltipOptions= +q(r.tooltip,r.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);null===e.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative",color:c.negativeColor,fillColor:c.negativeFillColor});a.length&&t(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor}); +return c},getCyclic:function(a,b,c){var d,e=this.userOptions,f=a+"Index",g=a+"Counter",u=c?c.length:E(this.chart.options.chart[a+"Count"],this.chart[a+"Count"]);b||(d=E(e[f],e["_"+f]),t(d)||(e["_"+f]=d=this.chart[g]%u,this.chart[g]+=1),c&&(b=c[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||w[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol, +this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(a,c,g,n){var u=this,q=u.points,h=q&&q.length||0,y,m=u.options,x=u.chart,A=null,I=u.xAxis,l=m.turboThreshold,p=this.xData,r=this.yData,F=(y=u.pointArrayMap)&&y.length;a=a||[];y=a.length;c=E(c,!0);if(!1!==n&&y&&h===y&&!u.cropped&&!u.hasGroupedData&&u.visible)k(a,function(a,b){q[b].update&&a!==m.data[b]&&q[b].update(a,!1,null,!1)});else{u.xIncrement=null;u.colorCounter=0;k(this.parallelArrays,function(a){u[a+ +"Data"].length=0});if(l&&y>l){for(g=0;null===A&&gh||this.forceCrop))if(b[d-1]l)b=[],c=[];else if(b[0]l)f=this.cropData(this.xData,this.yData,A,l),b=f.xData,c=f.yData,f=f.start,g=!0;for(h=b.length||1;--h;)d=x?y(b[h])-y(b[h-1]):b[h]-b[h-1],0d&&this.requireSorting&&e(15);this.cropped=g;this.cropStart=f;this.processedXData=b;this.processedYData=c;this.closestPointRange=n},cropData:function(a,b,c,d){var e=a.length,f=0,g=e,n=E(this.cropShoulder,1),u;for(u=0;u=c){f=Math.max(0,u- +n);break}for(c=u;cd){g=c+n;break}return{xData:a.slice(f,g),yData:b.slice(f,g),start:f,end:g}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,n=this.cropStart||0,q,h=this.hasGroupedData,k,m=[],x;b||h||(b=[],b.length=a.length,b=this.data=b);for(x=0;x=q&&(c[x-1]||k)<=h,y&&k)if(y=m.length)for(;y--;)null!==m[y]&&(g[n++]=m[y]);else g[n++]=m;this.dataMin=H(g);this.dataMax=G(g)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,e=c.categories,f=this.yAxis,g=this.points,n=g.length,q=!!this.modifyValue,h=a.pointPlacement,k="between"===h||d(h),m=a.threshold,x=a.startFromThreshold?m:0,A,l,r,F,J=Number.MAX_VALUE;"between"===h&&(h=.5);d(h)&&(h*=E(a.pointRange||c.pointRange)); +for(a=0;a=B&&(C.isNull=!0);C.plotX=A=p(Math.min(Math.max(-1E5,c.translate(w,0,0,0,1,h,"flags"===this.type)),1E5));b&&this.visible&&!C.isNull&&D&&D[w]&&(F=this.getStackIndicator(F,w,this.index),G=D[w],B=G.points[F.key],l=B[0],B=B[1],l===x&&F.key===D[w].base&&(l=E(m,f.min)),f.isLog&&0>=l&&(l=null),C.total=C.stackTotal=G.total,C.percentage=G.total&&C.y/G.total*100,C.stackY= +B,G.setOffset(this.pointXOffset||0,this.barW||0));C.yBottom=t(l)?f.translate(l,0,1,0,1):null;q&&(B=this.modifyValue(B,C));C.plotY=l="number"===typeof B&&Infinity!==B?Math.min(Math.max(-1E5,f.translate(B,0,1,0,1)),1E5):void 0;C.isInside=void 0!==l&&0<=l&&l<=f.len&&0<=A&&A<=c.len;C.clientX=k?p(c.translate(w,0,0,0,1,h)):A;C.negative=C.y<(m||0);C.category=e&&void 0!==e[C.x]?e[C.x]:C.x;C.isNull||(void 0!==r&&(J=Math.min(J,Math.abs(A-r))),r=A)}this.closestPointRangePx=J},getValidPoints:function(a,b){var c= +this.chart;return C(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,f=this.clipBox,g=f||b.clipBox,n=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,g.height,c.xAxis,c.yAxis].join(),q=b[n],h=b[n+"m"];q||(a&&(g.width=0,b[n+"m"]=h=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[n]=q=d.clipRect(g),q.count={length:0});a&&!q.count[this.index]&& +(q.count[this.index]=!0,q.count.length+=1);!1!==c.clip&&(this.group.clip(a||f?q:b.clipRect),this.markerGroup.clip(h),this.sharedClipKey=n);a||(q.count[this.index]&&(delete q.count[this.index],--q.count.length),0===q.count.length&&n&&b[n]&&(f||(b[n]=b[n].destroy()),b[n+"m"]&&(b[n+"m"]=b[n+"m"].destroy())))},animate:function(a){var b=this.chart,c=B(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+ +99},c),this.animate=null)},afterAnimate:function(){this.setClip();h(this,"afterAnimate")},drawPoints:function(){var a=this.points,b=this.chart,c,e,f,g,n=this.options.marker,q,h,k,m,x=this.markerGroup,A=E(n.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>2*n.radius);if(!1!==n.enabled||this._hasPointMarkers)for(e=a.length;e--;)f=a[e],c=f.plotY,g=f.graphic,q=f.marker||{},h=!!f.marker,k=A&&void 0===q.enabled||q.enabled,m=f.isInside,k&&d(c)&&null!==f.y?(c=E(q.symbol,this.symbol),f.hasImage= +0===c.indexOf("url"),k=this.markerAttribs(f,f.selected&&"select"),g?g[m?"show":"hide"](!0).animate(k):m&&(0e&&b.shadow));g&&(g.startX=c.xMap, +g.isArea=c.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,f,g=this.clips||[],n,q=this.graph,h=this.area,m=Math.max(b.chartWidth,b.chartHeight),x=this[(this.zoneAxis||"y")+"Axis"],A,l,p=b.inverted,r,F,C,t,J=!1;d.length&&(q||h)&&x&&void 0!==x.min&&(l=x.reversed,r=x.horiz,q&&q.hide(),h&&h.hide(),A=x.getExtremes(),k(d,function(d,u){e=l?r?b.plotWidth:0:r?0:x.toPixels(A.min);e=Math.min(Math.max(E(f,e),0),m);f=Math.min(Math.max(Math.round(x.toPixels(E(d.value,A.max), +!0)),0),m);J&&(e=f=x.toPixels(A.max));F=Math.abs(e-f);C=Math.min(e,f);t=Math.max(e,f);x.isXAxis?(n={x:p?t:C,y:0,width:F,height:m},r||(n.x=b.plotHeight-n.x)):(n={x:0,y:p?t:C,width:m,height:F},r&&(n.y=b.plotWidth-n.y));p&&c.isVML&&(n=x.isXAxis?{x:0,y:l?C:t,height:n.width,width:b.chartWidth}:{x:n.y-b.plotLeft-b.spacingBox.x,y:0,width:n.height,height:b.chartHeight});g[u]?g[u].animate(n):(g[u]=c.clipRect(n),q&&a["zone-graph-"+u].clip(g[u]),h&&a["zone-area-"+u].clip(g[u]));J=d.value>A.max}),this.clips= +g)},invertGroups:function(a){function b(){var b={width:c.yAxis.len,height:c.xAxis.len};k(["group","markerGroup"],function(d){c[d]&&c[d].attr(b).invert(a)})}var c=this,d;c.xAxis&&(d=D(c.chart,"resize",b),D(c,"destroy",d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({zIndex:d||.1}).add(e),f.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className|| +"")));f.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&B(d.animation).duration,f=a.visible?"inherit":"hidden",g=d.zIndex,n=a.hasRendered,q=b.seriesGroup,h=b.inverted;c=a.plotGroup("group","series",f,g,q);a.markerGroup= +a.plotGroup("markerGroup","markers",f,g,q);e&&a.animate(!0);c.inverted=a.isCartesian?h:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(h);!1===d.clip||a.sharedClipKey||n||c.clip(b.clipRect);e&&a.animate();n||(a.animationTimeout=x(function(){a.afterAnimate()},e));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty|| +this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:E(d&&d.left,a.plotLeft),translateY:E(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)}, +buildKDTree:function(){function a(c,d,e){var f,g;if(g=c&&c.length)return f=b.kdAxisArray[d%e],c.sort(function(a,b){return a[f]-b[f]}),g=Math.floor(g/2),{point:c[g],left:a(c.slice(0,g),d+1,e),right:a(c.slice(g+1),d+1,e)}}var b=this,c=b.kdDimensions;delete b.kdTree;x(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,n,q){var h=b.point,u=d.kdAxisArray[n%q],k,m,x=h;m=t(a[e])&&t(h[e])?Math.pow(a[e]-h[e],2):null;k=t(a[f])&& +t(h[f])?Math.pow(a[f]-h[f],2):null;k=(m||0)+(k||0);h.dist=t(k)?Math.sqrt(k):Number.MAX_VALUE;h.distX=t(m)?Math.sqrt(m):Number.MAX_VALUE;u=a[u]-h[u];k=0>u?"left":"right";m=0>u?"right":"left";b[k]&&(k=c(a,b[k],n+1,q),x=k[g]A;)l--;this.updateParallelArrays(h,"splice",l,0,0);this.updateParallelArrays(h,l);n&&h.name&&(n[A]=h.name);q.splice(l,0,a);m&&(this.data.splice(l,0,null),this.processData());"point"===c.legendType&&this.generatePoints();d&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(h,"shift"),q.shift()));this.isDirtyData=this.isDirty=!0;b&&g.redraw(e)},removePoint:function(a, +b,d){var c=this,e=c.data,f=e[a],g=c.points,n=c.chart,h=function(){g&&g.length===e.length&&g.splice(a,1);e.splice(a,1);c.options.data.splice(a,1);c.updateParallelArrays(f||{series:c},"splice",a,1);f&&f.destroy();c.isDirty=!0;c.isDirtyData=!0;b&&n.redraw()};q(d,n);b=C(b,!0);f?f.firePointEvent("remove",null,h):h()},remove:function(a,b,d){function c(){e.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();C(a,!0)&&f.redraw(b)}var e=this,f=e.chart;!1!==d?k(e,"remove",null,c):c()},update:function(a, +d){var c=this,e=this.chart,f=this.userOptions,g=this.type,q=a.type||f.type||e.options.chart.type,u=b[g].prototype,m=["group","markerGroup","dataLabelsGroup"],k;if(q&&q!==g||void 0!==a.zIndex)m.length=0;r(m,function(a){m[a]=c[a];delete c[a]});a=h(f,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(k in u)this[k]=void 0;t(this,b[q||g].prototype);r(m,function(a){c[a]=m[a]});this.init(e,a);e.linkSeries();C(d,!0)&&e.redraw(!1)}});t(G.prototype, +{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=h(this.userOptions,a);this.destroy(!0);this.init(c,t(a,{events:void 0}));c.isDirtyBox=!0;C(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);w(b.axes,this);w(b[c],this);b.options[c].splice(this.options.index,1);r(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;C(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a}, +b)},setCategories:function(a,b){this.update({categories:a},b)}})})(N);(function(a){var D=a.color,B=a.each,G=a.map,H=a.pick,p=a.Series,l=a.seriesType;l("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],l=[],p=this.xAxis,k=this.yAxis,m=k.stacks[this.stackKey],e={},g=this.points,h=this.index,C=k.series,f=C.length,d,b=H(k.options.reversedStacks,!0)?1:-1,q,E;if(this.options.stacking){for(q=0;qa&&t>l?(t=Math.max(a,l),m=2*l-t):tH&& +m>l?(m=Math.max(H,l),t=2*l-m):m=Math.abs(g)&&.5a.closestPointRange*a.xAxis.transA,k=a.borderWidth=r(h.borderWidth,k?0:1),f=a.yAxis,d=a.translatedThreshold=f.getThreshold(h.threshold),b=r(h.minPointLength,5),q=a.getColumnMetrics(),m=q.width,c=a.barW=Math.max(m,1+2*k),l=a.pointXOffset= +q.offset;g.inverted&&(d-=.5);h.pointPadding&&(c=Math.ceil(c));w.prototype.translate.apply(a);G(a.points,function(e){var n=r(e.yBottom,d),q=999+Math.abs(n),q=Math.min(Math.max(-q,e.plotY),f.len+q),h=e.plotX+l,k=c,u=Math.min(q,n),p,t=Math.max(q,n)-u;Math.abs(t)b?n-b:d-(p?b:0));e.barX=h;e.pointWidth=m;e.tooltipPos=g.inverted?[f.len+f.pos-g.plotLeft-q,a.xAxis.len-h-k/2,t]:[h+k/2,q+f.pos-g.plotTop,t];e.shapeType="rect";e.shapeArgs= +a.crispCol.apply(a,e.isNull?[e.plotX,f.len/2,0,0]:[h,u,k,t])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,g){var e=this.options,k=this.pointAttrToOptions||{},f=k.stroke||"borderColor",d=k["stroke-width"]||"borderWidth",b=a&&a.color||this.color,q=a[f]||e[f]||this.color||b,k=e.dashStyle,m;a&&this.zones.length&&(b=(b=a.getZone())&&b.color||a.options.color|| +this.color);g&&(g=e.states[g],m=g.brightness,b=g.color||void 0!==m&&B(b).brighten(g.brightness).get()||b,q=g[f]||q,k=g.dashStyle||k);a={fill:b,stroke:q,"stroke-width":a[d]||e[d]||this[d]||0};e.borderRadius&&(a.r=e.borderRadius);k&&(a.dashstyle=k);return a},drawPoints:function(){var a=this,g=this.chart,h=a.options,m=g.renderer,f=h.animationLimit||250,d;G(a.points,function(b){var e=b.graphic;p(b.plotY)&&null!==b.y?(d=b.shapeArgs,e?(k(e),e[g.pointCountt;++t)k=r[t],a=2>t||2===t&&/%$/.test(k),r[t]=B(k,[l,H,w,r[2]][t])+(a?p:0);r[3]>r[2]&&(r[3]=r[2]);return r}}})(N);(function(a){var D=a.addEvent,B=a.defined,G=a.each,H=a.extend,p=a.inArray,l=a.noop,r=a.pick,w=a.Point,t=a.Series,k=a.seriesType,m=a.setAnimation;k("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y? +void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var e=this,h=e.points,k=e.startAngleRad;a||(G(h,function(a){var d= +a.graphic,b=a.shapeArgs;d&&(d.attr({r:a.startR||e.center[3]/2,start:k,end:k}),d.animate({r:b.r,start:b.start,end:b.end},e.options.animation))}),e.animate=null)},updateTotals:function(){var a,g=0,h=this.points,k=h.length,f,d=this.options.ignoreHiddenPoint;for(a=0;af.y&&(f.y=null),g+=d&&!f.visible?0:f.y;this.total=g;for(a=0;a1.5*Math.PI?q-=2*Math.PI:q<-Math.PI/2&&(q+=2*Math.PI);t.slicedTranslation={translateX:Math.round(Math.cos(q)*k),translateY:Math.round(Math.sin(q)*k)};d=Math.cos(q)*a[2]/2;b=Math.sin(q)*a[2]/2;t.tooltipPos=[a[0]+.7*d,a[1]+.7*b];t.half=q<-Math.PI/2||q>Math.PI/2?1:0;t.angle=q;f=Math.min(f,n/5);t.labelPos=[a[0]+d+Math.cos(q)*n,a[1]+b+Math.sin(q)*n,a[0]+d+Math.cos(q)*f,a[1]+b+Math.sin(q)* +f,a[0]+d,a[1]+b,0>n?"center":t.half?"right":"left",q]}},drawGraph:null,drawPoints:function(){var a=this,g=a.chart.renderer,h,k,f,d,b=a.options.shadow;b&&!a.shadowGroup&&(a.shadowGroup=g.g("shadow").add(a.group));G(a.points,function(e){if(null!==e.y){k=e.graphic;d=e.shapeArgs;h=e.sliced?e.slicedTranslation:{};var q=e.shadowGroup;b&&!q&&(q=e.shadowGroup=g.g("shadow").add(a.shadowGroup));q&&q.attr(h);f=a.pointAttribs(e,e.selected&&"select");k?k.setRadialReference(a.center).attr(f).animate(H(d,h)):(e.graphic= +k=g[e.shapeType](d).addClass(e.getClassName()).setRadialReference(a.center).attr(h).add(a.group),e.visible||k.attr({visibility:"hidden"}),k.attr(f).attr({"stroke-linejoin":"round"}).shadow(b,q))}})},searchPoint:l,sortByAngle:function(a,g){a.sort(function(a,e){return void 0!==a.angle&&(e.angle-a.angle)*g})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:l},{init:function(){w.prototype.init.apply(this,arguments);var a=this,g;a.name=r(a.name,"Slice"); +g=function(e){a.slice("select"===e.type)};D(a,"select",g);D(a,"unselect",g);return a},setVisible:function(a,g){var e=this,k=e.series,f=k.chart,d=k.options.ignoreHiddenPoint;g=r(g,d);a!==e.visible&&(e.visible=e.options.visible=a=void 0===a?!e.visible:a,k.options.data[p(e,k.data)]=e.options,G(["graphic","dataLabel","connector","shadowGroup"],function(b){if(e[b])e[b][a?"show":"hide"](!0)}),e.legendItem&&f.legend.colorizeItem(e,a),a||"hover"!==e.state||e.setState(""),d&&(k.isDirty=!0),g&&f.redraw())}, +slice:function(a,g,h){var e=this.series;m(h,e.chart);r(g,!0);this.sliced=this.options.sliced=a=B(a)?a:!this.sliced;e.options.data[p(this,e.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)},haloPath:function(a){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+a,e.r+a,{innerR:this.shapeArgs.r,start:e.start,end:e.end})}})})(N);(function(a){var D= +a.addEvent,B=a.arrayMax,G=a.defined,H=a.each,p=a.extend,l=a.format,r=a.map,w=a.merge,t=a.noop,k=a.pick,m=a.relativeLength,e=a.Series,g=a.seriesTypes,h=a.stableSort,C=a.stop;a.distribute=function(a,d){function b(a,b){return a.target-b.target}var e,f=!0,c=a,g=[],n;n=0;for(e=a.length;e--;)n+=a[e].size;if(n>d){h(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(n=e=0;n<=d;)n+=a[e].size,e++;g=a.splice(e-1,a.length)}h(a,b);for(a=r(a,function(a){return{size:a.size,targets:[a.target]}});f;){for(e=a.length;e--;)f= +a[e],n=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=Math.min(Math.max(0,n-f.size/2),d-f.size);e=a.length;for(f=!1;e--;)0a[e].pos&&(a[e-1].size+=a[e].size,a[e-1].targets=a[e-1].targets.concat(a[e].targets),a[e-1].pos+a[e-1].size>d&&(a[e-1].pos=d-a[e-1].size),a.splice(e,1),f=!0)}e=0;H(a,function(a){var b=0;H(a.targets,function(){c[e].pos=a.pos+b;b+=c[e].size;e++})});c.push.apply(c,g);h(c,b)};e.prototype.drawDataLabels=function(){var a=this,d=a.options, +b=d.dataLabels,e=a.points,g,c,h=a.hasRendered||0,n,m,x=k(b.defer,!0),r=a.chart.renderer;if(b.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(b),m=a.plotGroup("dataLabelsGroup","data-labels",x&&!h?"hidden":"visible",b.zIndex||6),x&&(m.attr({opacity:+h}),h||D(a,"afterAnimate",function(){a.visible&&m.show(!0);m[d.animation?"animate":"attr"]({opacity:1},{duration:200})})),c=b,H(e,function(e){var f,q=e.dataLabel,h,x,A=e.connector,y=!0,t,z={};g=e.dlOptions||e.options&&e.options.dataLabels; +f=k(g&&g.enabled,c.enabled)&&null!==e.y;if(q&&!f)e.dataLabel=q.destroy();else if(f){b=w(c,g);t=b.style;f=b.rotation;h=e.getLabelConfig();n=b.format?l(b.format,h):b.formatter.call(h,b);t.color=k(b.color,t.color,a.color,"#000000");if(q)G(n)?(q.attr({text:n}),y=!1):(e.dataLabel=q=q.destroy(),A&&(e.connector=A.destroy()));else if(G(n)){q={fill:b.backgroundColor,stroke:b.borderColor,"stroke-width":b.borderWidth,r:b.borderRadius||0,rotation:f,padding:b.padding,zIndex:1};"contrast"===t.color&&(z.color=b.inside|| +0>b.distance||d.stacking?r.getContrast(e.color||a.color):"#000000");d.cursor&&(z.cursor=d.cursor);for(x in q)void 0===q[x]&&delete q[x];q=e.dataLabel=r[f?"text":"label"](n,0,-9999,b.shape,null,null,b.useHTML,null,"data-label").attr(q);q.addClass("highcharts-data-label-color-"+e.colorIndex+" "+(b.className||""));q.css(p(t,z));q.add(m);q.shadow(b.shadow)}q&&a.alignDataLabel(e,q,b,null,y)}})};e.prototype.alignDataLabel=function(a,d,b,e,g){var c=this.chart,f=c.inverted,n=k(a.plotX,-9999),q=k(a.plotY, +-9999),h=d.getBBox(),m,l=b.rotation,u=b.align,r=this.visible&&(a.series.forceDL||c.isInsidePlot(n,Math.round(q),f)||e&&c.isInsidePlot(n,f?e.x+1:e.y+e.height-1,f)),t="justify"===k(b.overflow,"justify");r&&(m=b.style.fontSize,m=c.renderer.fontMetrics(m,d).b,e=p({x:f?c.plotWidth-q:n,y:Math.round(f?c.plotHeight-n:q),width:0,height:0},e),p(b,{width:h.width,height:h.height}),l?(t=!1,f=c.renderer.rotCorr(m,l),f={x:e.x+b.x+e.width/2+f.x,y:e.y+b.y+{top:0,middle:.5,bottom:1}[b.verticalAlign]*e.height},d[g? +"attr":"animate"](f).attr({align:u}),n=(l+720)%360,n=180n,"left"===u?f.y-=n?h.height:0:"center"===u?(f.x-=h.width/2,f.y-=h.height/2):"right"===u&&(f.x-=h.width,f.y-=n?0:h.height)):(d.align(b,null,e),f=d.alignAttr),t?this.justifyDataLabel(d,b,f,h,e,g):k(b.crop,!0)&&(r=c.isInsidePlot(f.x,f.y)&&c.isInsidePlot(f.x+h.width,f.y+h.height)),b.shape&&!l&&d.attr({anchorX:a.plotX,anchorY:a.plotY}));r||(C(d),d.attr({y:-9999}),d.placed=!1)};e.prototype.justifyDataLabel=function(a,d,b,e,g,c){var f=this.chart, +n=d.align,h=d.verticalAlign,q,k,m=a.box?0:a.padding||0;q=b.x+m;0>q&&("right"===n?d.align="left":d.x=-q,k=!0);q=b.x+e.width-m;q>f.plotWidth&&("left"===n?d.align="right":d.x=f.plotWidth-q,k=!0);q=b.y+m;0>q&&("bottom"===h?d.verticalAlign="top":d.y=-q,k=!0);q=b.y+e.height-m;q>f.plotHeight&&("top"===h?d.verticalAlign="bottom":d.y=f.plotHeight-q,k=!0);k&&(a.placed=!c,a.align(d,null,g))};g.pie&&(g.pie.prototype.drawDataLabels=function(){var f=this,d=f.data,b,g=f.chart,h=f.options.dataLabels,c=k(h.connectorPadding, +10),m=k(h.connectorWidth,1),n=g.plotWidth,l=g.plotHeight,x,p=h.distance,y=f.center,u=y[2]/2,t=y[1],w=0k-2?A:P,e),v._attr={visibility:S,align:D[6]},v._pos={x:L+h.x+({left:c,right:-c}[D[6]]||0),y:P+h.y-10},D.x=L,D.y=P,null===f.options.size&&(C=v.width,L-Cn-c&&(T[1]=Math.max(Math.round(L+ +C-n+c),T[1])),0>P-G/2?T[0]=Math.max(Math.round(-P+G/2),T[0]):P+G/2>l&&(T[2]=Math.max(Math.round(P+G/2-l),T[2])))}),0===B(T)||this.verifyDataLabelOverflow(T))&&(this.placeDataLabels(),w&&m&&H(this.points,function(a){var b;x=a.connector;if((v=a.dataLabel)&&v._pos&&a.visible){S=v._attr.visibility;if(b=!x)a.connector=x=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(f.dataLabelsGroup),x.attr({"stroke-width":m,stroke:h.connectorColor||a.color||"#666666"}); +x[b?"attr":"animate"]({d:f.connectorPath(a.labelPos)});x.attr("visibility",S)}else x&&(a.connector=x.destroy())}))},g.pie.prototype.connectorPath=function(a){var d=a.x,b=a.y;return k(this.options.dataLabels.softConnector,!0)?["M",d+("left"===a[6]?5:-5),b,"C",d,b,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",d+("left"===a[6]?5:-5),b,"L",a[2],a[3],"L",a[4],a[5]]},g.pie.prototype.placeDataLabels=function(){H(this.points,function(a){var d=a.dataLabel;d&&a.visible&&((a=d._pos)?(d.attr(d._attr), +d[d.moved?"animate":"attr"](a),d.moved=!0):d&&d.attr({y:-9999}))})},g.pie.prototype.alignDataLabel=t,g.pie.prototype.verifyDataLabelOverflow=function(a){var d=this.center,b=this.options,e=b.center,f=b.minSize||80,c,g;null!==e[0]?c=Math.max(d[2]-Math.max(a[1],a[3]),f):(c=Math.max(d[2]-a[1]-a[3],f),d[0]+=(a[3]-a[1])/2);null!==e[1]?c=Math.max(Math.min(c,d[2]-Math.max(a[0],a[2])),f):(c=Math.max(Math.min(c,d[2]-a[0]-a[2]),f),d[1]+=(a[0]-a[2])/2);ck(this.translatedThreshold,f.yAxis.len)),m=k(b.inside,!!this.options.stacking);n&&(g=w(n),0>g.y&&(g.height+=g.y,g.y=0),n=g.y+g.height-f.yAxis.len,0a+e||c+nb+f||g+hthis.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints, +e;d&&r(d,function(a){a.setState()});r("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],n=(b.pointRange||0)/2,h=b.getExtremes(),q=b.toValue(g-f,!0)+n,n=b.toValue(g+b.len-f,!0)-n,g=g>f;b.series.length&&(g||q>Math.min(h.dataMin,h.min))&&(!g||n=p(k.minWidth,0)&&this.chartHeight>=p(k.minHeight,0)};void 0===l._id&&(l._id=a.uniqueKey());m=m.call(this);!r[l._id]&&m?l.chartOptions&&(r[l._id]=this.currentOptions(l.chartOptions),this.update(l.chartOptions,w)):r[l._id]&&!m&&(this.update(r[l._id],w),delete r[l._id])};D.prototype.currentOptions=function(a){function p(a,m,e){var g,h;for(g in a)if(-1< +G(g,["series","xAxis","yAxis"]))for(a[g]=l(a[g]),e[g]=[],h=0;hd.length||void 0===h)return a.call(this,g,h,k,f);x=d.length;for(c=0;ck;d[c]5*b||w){if(d[c]>u){for(r=a.call(this,g,d[e],d[c],f);r.length&&r[0]<=u;)r.shift();r.length&&(u=r[r.length-1]);y=y.concat(r)}e=c+1}if(w)break}a= +r.info;if(q&&a.unitRange<=m.hour){c=y.length-1;for(e=1;ek?a-1:a;for(M=void 0;q--;)e=c[q],k=M-e,M&&k<.8*C&&(null===t||k<.8*t)?(n[y[q]]&&!n[y[q+1]]?(k=q+1,M=e):k=q,y.splice(k,1)):M=e}return y});w(B.prototype,{beforeSetTickPositions:function(){var a, +g=[],h=!1,k,f=this.getExtremes(),d=f.min,b=f.max,q,m=this.isXAxis&&!!this.options.breaks,f=this.options.ordinal,c=this.chart.options.chart.ignoreHiddenSeries;if(f||m){r(this.series,function(b,d){if(!(c&&!1===b.visible||!1===b.takeOrdinalPosition&&!m)&&(g=g.concat(b.processedXData),a=g.length,g.sort(function(a,b){return a-b}),a))for(d=a-1;d--;)g[d]===g[d+1]&&g.splice(d,1)});a=g.length;if(2k||b-g[g.length- +1]>k)&&(h=!0)}h?(this.ordinalPositions=g,k=this.val2lin(Math.max(d,g[0]),!0),q=Math.max(this.val2lin(Math.min(b,g[g.length-1]),!0),1),this.ordinalSlope=b=(b-d)/(q-k),this.ordinalOffset=d-k*b):this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0}this.isOrdinal=f&&h;this.groupIntervalFactor=null},val2lin:function(a,g){var e=this.ordinalPositions;if(e){var k=e.length,f,d;for(f=k;f--;)if(e[f]===a){d=f;break}for(f=k-1;f--;)if(a>e[f]||0===f){a=(a-e[f])/(e[f+1]-e[f]);d=f+a;break}g=g?d:this.ordinalSlope* +(d||0)+this.ordinalOffset}else g=a;return g},lin2val:function(a,g){var e=this.ordinalPositions;if(e){var k=this.ordinalSlope,f=this.ordinalOffset,d=e.length-1,b;if(g)0>a?a=e[0]:a>d?a=e[d]:(d=Math.floor(a),b=a-d);else for(;d--;)if(g=k*d+f,a>=g){k=k*(d+1)+f;b=(a-g)/(k-g);break}return void 0!==b&&void 0!==e[d]?e[d]+(b?b*(e[d+1]-e[d]):0):a}return a},getExtendedPositions:function(){var a=this.chart,g=this.series[0].currentDataGrouping,h=this.ordinalIndex,k=g?g.count+g.unitName:"raw",f=this.getExtremes(), +d,b;h||(h=this.ordinalIndex={});h[k]||(d={series:[],chart:a,getExtremes:function(){return{min:f.dataMin,max:f.dataMax}},options:{ordinal:!0},val2lin:B.prototype.val2lin},r(this.series,function(e){b={xAxis:d,xData:e.xData,chart:a,destroyGroupedData:t};b.options={dataGrouping:g?{enabled:!0,forced:!0,approximation:"open",units:[[g.unitName,[g.count]]]}:{enabled:!1}};e.processData.apply(b);d.series.push(b)}),this.beforeSetTickPositions.apply(d),h[k]=d.ordinalPositions);return h[k]},getGroupIntervalFactor:function(a, +g,h){var e;h=h.processedXData;var f=h.length,d=[];e=this.groupIntervalFactor;if(!e){for(e=0;ed?(l=p,t=e.ordinalPositions?e:p):(l=e.ordinalPositions?e:p,t=p),p=t.ordinalPositions,q>p[p.length-1]&&p.push(q),this.fixedRange=c-m,d=e.toFixedRange(null,null,n.apply(l,[x.apply(l,[m,!0])+d,!0]),n.apply(t,[x.apply(t, +[c,!0])+d,!0])),d.min>=Math.min(b.dataMin,m)&&d.max<=Math.max(q,c)&&e.setExtremes(d.min,d.max,!0,!1,{trigger:"pan"}),this.mouseDownX=k,H(this.container,{cursor:"move"})):f=!0}else f=!0;f&&a.apply(this,Array.prototype.slice.call(arguments,1))});k.prototype.gappedPath=function(){var a=this.options.gapSize,g=this.points.slice(),h=g.length-1;if(a&&0this.closestPointRange*a&&g.splice(h+1,0,{isNull:!0});return this.getGraphPath(g)}})(N);(function(a){function D(){return Array.prototype.slice.call(arguments, +1)}function B(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,G(this.pointArrayMap,["y"]))}var G=a.pick,H=a.wrap,p=a.each,l=a.extend,r=a.fireEvent,w=a.Axis,t=a.Series;l(w.prototype,{isInBreak:function(a,m){var e=a.repeat||Infinity,g=a.from,h=a.to-a.from;m=m>=g?(m-g)%e:e-(g-m)%e;return a.inclusive?m<=h:m=a)break;else if(g.isInBreak(f,a)){e-=a-f.from;break}return e};this.lin2val=function(a){var e,f;for(f=0;f=a);f++)e.toh;)m-=b;for(;mb.to||l>b.from&&db.from&&db.from&&d>b.to&&d=c[0]);A++);for(A;A<=q;A++){for(;(void 0!==c[w+1]&&a[A]>=c[w+1]||A===q)&&(l=c[w],this.dataGroupInfo={start:p,length:t[0].length},p=d.apply(this,t),void 0!==p&&(g.push(l),h.push(p),m.push(this.dataGroupInfo)),p=A,t[0]=[],t[1]=[],t[2]=[],t[3]=[],w+=1,A!==q););if(A===q)break;if(x){l=this.cropStart+A;l=e&&e[l]|| +this.pointClass.prototype.applyOptions.apply({series:this},[f[l]]);var E,C;for(E=0;Ethis.chart.plotSizeX/d||b&&f.forced)&&(e=!0);return e?d:0};G.prototype.setDataGrouping=function(a,b){var c;b=e(b,!0);a||(a={forced:!1,units:null});if(this instanceof G)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else l(this.chart.options.series,function(b){b.dataGrouping=a},!1);b&&this.chart.redraw()}})(N);(function(a){var D=a.each,B=a.Point,G=a.seriesType,H=a.seriesTypes;G("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'}, +threshold:null,states:{hover:{lineWidth:3}}},{pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"high",pointAttribs:function(a,l){l=H.column.prototype.pointAttribs.call(this,a,l);var p=this.options;delete l.fill;l["stroke-width"]=p.lineWidth;l.stroke=a.options.color||(a.openk)););B(g,function(a,b){var d;void 0===a.plotY&&(a.x>=c.min&&a.x<=c.max?a.plotY=e.chartHeight-p.bottom-(p.opposite?p.height:0)+p.offset-e.plotTop:a.shapeArgs={});a.plotX+=t;(f=g[b-1])&&f.plotX===a.plotX&&(void 0===f.stackIndex&&(f.stackIndex=0),d=f.stackIndex+1);a.stackIndex=d})},drawPoints:function(){var a=this.points,e=this.chart,g=e.renderer,k,l,f=this.options,d=f.y,b,q,p,c,r,n,t,x=this.yAxis;for(q=a.length;q--;)p=a[q],t=p.plotX>this.xAxis.len,k=p.plotX,c=p.stackIndex,b= +p.options.shape||f.shape,l=p.plotY,void 0!==l&&(l=p.plotY+d-(void 0!==c&&c*f.stackDistance)),r=c?void 0:p.plotX,n=c?void 0:p.plotY,c=p.graphic,void 0!==l&&0<=k&&!t?(c||(c=p.graphic=g.label("",null,null,b,null,null,f.useHTML).attr(this.pointAttribs(p)).css(G(f.style,p.style)).attr({align:"flag"===b?"left":"center",width:f.width,height:f.height,"text-align":f.textAlign}).addClass("highcharts-point").add(this.markerGroup),c.shadow(f.shadow)),0h&&(e-=Math.round((l-h)/2),h=l);e=k[a](e,g,h,l);d&&f&&e.push("M",d,g>f?g:g+l,"L",d,f);return e}});p===t&&B(["flag","circlepin","squarepin"],function(a){t.prototype.symbols[a]=k[a]})})(N);(function(a){function D(a,d,e){this.init(a,d,e)}var B=a.addEvent,G=a.Axis,H=a.correctFloat,p=a.defaultOptions, +l=a.defined,r=a.destroyObjectProperties,w=a.doc,t=a.each,k=a.fireEvent,m=a.hasTouch,e=a.isTouchDevice,g=a.merge,h=a.pick,C=a.removeEvent,f=a.wrap,d={height:e?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:a.svg&&!e,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2", +trackBorderWidth:1};p.scrollbar=g(!0,d,p.scrollbar);D.prototype={init:function(a,e,f){this.scrollbarButtons=[];this.renderer=a;this.userOptions=e;this.options=g(d,e);this.chart=f;this.size=h(this.options.size,this.options.height);e.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,d=this.options,e=this.size,c;this.group=c=a.g("scrollbar").attr({zIndex:d.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0, +r:d.trackBorderRadius||0,height:e,width:e}).add(c);this.track.attr({fill:d.trackBackgroundColor,stroke:d.trackBorderColor,"stroke-width":d.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(c);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:e,width:e,r:d.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(this.swapXY(["M",-3,e/4,"L",-3,2*e/3,"M",0,e/4,"L", +0,2*e/3,"M",3,e/4,"L",3,2*e/3],d.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbar.attr({fill:d.barBackgroundColor,stroke:d.barBorderColor,"stroke-width":d.barBorderWidth});this.scrollbarRifles.attr({stroke:d.rifleColor,"stroke-width":1});this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a, +d,e,c){var b=this.options.vertical,f=0,g=this.rendered?"animate":"attr";this.x=a;this.y=d+this.trackBorderWidth;this.width=e;this.xOffset=this.height=c;this.yOffset=f;b?(this.width=this.yOffset=e=f=this.size,this.xOffset=d=0,this.barWidth=c-2*e,this.x=a+=this.options.margin):(this.height=this.xOffset=c=d=this.size,this.barWidth=e-2*c,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:e,height:c});this.scrollbarButtons[1].attr({translateX:b?0:e-d,translateY:b? +c-f:0})},drawScrollbarButton:function(a){var b=this.renderer,d=this.scrollbarButtons,c=this.options,e=this.size,f;f=b.g().add(this.group);d.push(f);f=b.rect().addClass("highcharts-scrollbar-button").add(f);f.attr({stroke:c.buttonBorderColor,"stroke-width":c.buttonBorderWidth,fill:c.buttonBackgroundColor});f.attr(f.crisp({x:-.5,y:-.5,width:e+1,height:e+1,r:c.buttonBorderRadius},f.strokeWidth()));f=b.path(this.swapXY(["M",e/2+(a?-1:1),e/2-3,"L",e/2+(a?-1:1),e/2+3,"L",e/2+(a?2:-2),e/2],c.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]); +f.attr({fill:c.buttonArrowColor})},swapXY:function(a,d){var b=a.length,c;if(d)for(d=0;d=k?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=d?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var d=a.chart.pointer.normalize(b),c=a.options.vertical? +"chartY":"chartX",e=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][c]||(d=a.cursorToScrollbarPosition(d)[c],c=a[c],c=d-c,a.hasDragged=!0,a.updatePosition(e[0]+c,e[1]+c),a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b); +b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var d=H(a.to-a.from)*a.options.step;a.updatePosition(H(a.from-d),H(a.to-d));k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var d=(a.to-a.from)*a.options.step;a.updatePosition(a.from+d,a.to+d);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var d=a.chart.pointer.normalize(b), +c=a.to-a.from,e=a.y+a.scrollbarTop,f=a.x+a.scrollbarLeft;a.options.vertical&&d.chartY>e||!a.options.vertical&&d.chartX>f?a.updatePosition(a.from+c,a.to+c):a.updatePosition(a.from-c,a.to-c);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a, +d){1a&&(d=H(d-a),a=0);this.from=a;this.to=d},update:function(a){this.destroy();this.init(this.chart.renderer,g(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],d=this.scrollbarButtons,e=this.scrollbarGroup.element,c=this.mouseDownHandler,f=this.mouseMoveHandler,g=this.mouseUpHandler,a=[[d[a[0]].element,"click",this.buttonToMinClick],[d[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[e, +"mousedown",c],[w,"mousemove",f],[w,"mouseup",g]];m&&a.push([e,"touchstart",c],[w,"touchmove",f],[w,"touchend",g]);t(a,function(a){B.apply(null,a)});this._events=a},removeEvents:function(){t(this._events,function(a){C.apply(null,a)});this._events=void 0},destroy:function(){var a=this.chart.scroller;this.removeEvents();t(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&(a.scrollbar=null,r(a.scrollbarButtons))}}; +f(G.prototype,"init",function(a){var b=this;a.apply(b,[].slice.call(arguments,1));b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new D(b.chart.renderer,b.options.scrollbar,b.chart),B(b.scrollbar,"changed",function(a){var c=Math.min(h(b.options.min,b.min),b.min,b.dataMin),d=Math.max(h(b.options.max,b.max),b.max,b.dataMax)-c,e;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(e=c+d*this.to,c+=d*this.from):(e= +c+d*(1-this.from),c+=d*(1-this.to));b.setExtremes(c,e,!0,!1,a)}))});f(G.prototype,"render",function(a){var b=Math.min(h(this.options.min,this.min),this.min,this.dataMin),d=Math.max(h(this.options.max,this.max),this.max,this.dataMax),c=this.scrollbar,e;a.apply(this,[].slice.call(arguments,1));c&&(this.horiz?c.position(this.left,this.top+this.height+this.offset+2+(this.opposite?0:this.axisTitleMargin),this.width,this.height):c.position(this.left+this.width+2+this.offset+(this.opposite?this.axisTitleMargin: +0),this.top,this.width,this.height),isNaN(b)||isNaN(d)||!l(this.min)||!l(this.max)?c.setRange(0,0):(e=(this.min-b)/(d-b),b=(this.max-b)/(d-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?c.setRange(e,b):c.setRange(1-b,1-e)))});f(G.prototype,"getOffset",function(a){var b=this.horiz?2:1,d=this.scrollbar;a.apply(this,[].slice.call(arguments,1));d&&(this.chart.axisOffset[b]+=d.size+d.options.margin)});f(G.prototype,"destroy",function(a){this.scrollbar&&(this.scrollbar=this.scrollbar.destroy()); +a.apply(this,[].slice.call(arguments,1))});a.Scrollbar=D})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.color,l=a.defaultOptions,r=a.defined,w=a.destroyObjectProperties,t=a.doc,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.grep,C=a.hasTouch,f=a.isNumber,d=a.isObject,b=a.isTouchDevice,q=a.merge,E=a.pick,c=a.removeEvent,F=a.Scrollbar,n=a.Series,A=a.seriesTypes,x=a.wrap,J=[].concat(a.defaultDataGroupingUnits),y=function(a){var b=h(arguments,f);if(b.length)return Math[a].apply(0, +b)};J[4]=["day",[1,2,3,4]];J[5]=["week",[1,2,3]];A=void 0===A.areaspline?"line":"areaspline";g(l,{navigator:{height:40,margin:25,maskInside:!0,handles:{backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:p("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:A,color:"#335cad",fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:J},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series", +className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,shadow:!1,threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}); +D.prototype={drawHandle:function(a,b){var c=this.chart.renderer,d=this.handles;this.rendered||(d[b]=c.path(["M",-4.5,.5,"L",3.5,.5,3.5,15.5,-4.5,15.5,-4.5,.5,"M",-1.5,4,"L",-1.5,12,"M",.5,4,"L",.5,12]).attr({zIndex:10-b}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][b]).add(),c=this.navigatorOptions.handles,d[b].attr({fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":1}).css({cursor:"ew-resize"}));d[b][this.rendered&&!this.hasDragged?"animate":"attr"]({translateX:Math.round(this.scrollerLeft+ +this.scrollbarHeight+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-8)})},update:function(a){this.destroy();q(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(a,b,c,d){var e=this.chart,g=e.renderer,k,h,l,n;n=this.scrollbarHeight;var m=this.xAxis,p=this.navigatorOptions,u=p.maskInside,q=this.height,v=this.top,t=this.navigatorEnabled,x=this.outlineHeight,y;y=this.rendered;if(f(a)&&f(b)&&(!this.hasDragged||r(c))&&(this.navigatorLeft=k=E(m.left,e.plotLeft+ +n),this.navigatorWidth=h=E(m.len,e.plotWidth-2*n),this.scrollerLeft=l=k-n,this.scrollerWidth=n=n=h+2*n,c=E(c,m.translate(a)),d=E(d,m.translate(b)),f(c)&&Infinity!==Math.abs(c)||(c=0,d=n),!(m.translate(d,!0)-m.translate(c,!0)f&&tp+d-u&&rk&&re?e=0:e+v>=q&&(e=q-v,x=h.getUnionExtremes().dataMax),e!==d&&(h.fixedWidth=v,d=l.toFixedRange(e, +e+v,null,x),c.setExtremes(d.min,d.max,!0,null,{trigger:"navigator"}))))};h.mouseMoveHandler=function(b){var c=h.scrollbarHeight,d=h.navigatorLeft,e=h.navigatorWidth,f=h.scrollerLeft,g=h.scrollerWidth,k=h.range,l;b.touches&&0===b.touches[0].pageX||(b=a.pointer.normalize(b),l=b.chartX,lf+g-c&&(l=f+g-c),h.grabbedLeft?(h.hasDragged=!0,h.render(0,0,l-d,h.otherHandlePos)):h.grabbedRight?(h.hasDragged=!0,h.render(0,0,h.otherHandlePos,l-d)):h.grabbedCenter&&(h.hasDragged=!0,le+n-k&&(l=e+ +n-k),h.render(0,0,l-n,l-n+k)),h.hasDragged&&h.scrollbar&&h.scrollbar.options.liveRedraw&&(b.DOMType=b.type,setTimeout(function(){h.mouseUpHandler(b)},0)))};h.mouseUpHandler=function(b){var c,d,e=b.DOMEvent||b;if(h.hasDragged||"scrollbar"===b.trigger)h.zoomedMin===h.otherHandlePos?c=h.fixedExtreme:h.zoomedMax===h.otherHandlePos&&(d=h.fixedExtreme),h.zoomedMax===h.navigatorWidth&&(d=h.getUnionExtremes().dataMax),c=l.toFixedRange(h.zoomedMin,h.zoomedMax,c,d),r(c.min)&&a.xAxis[0].setExtremes(c.min,c.max, +!0,h.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e});"mousemove"!==b.DOMType&&(h.grabbedLeft=h.grabbedRight=h.grabbedCenter=h.fixedWidth=h.fixedExtreme=h.otherHandlePos=h.hasDragged=n=null)};var c=a.xAxis.length,f=a.yAxis.length,m=e&&e[0]&&e[0].xAxis||a.xAxis[0];a.extraBottomMargin=h.outlineHeight+d.margin;a.isDirtyBox=!0;h.navigatorEnabled?(h.xAxis=l=new G(a,q({breaks:m.options.breaks,ordinal:m.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis", +isX:!0,type:"datetime",index:c,height:g,offset:0,offsetLeft:k,offsetRight:-k,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1})),h.yAxis=new G(a,q(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,height:g,offset:0,index:f,zoomEnabled:!1})),e||d.series.data?h.addBaseSeries():0===a.series.length&&x(a,"redraw",function(b,c){0=Math.round(a.navigatorWidth);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},destroy:function(){this.removeEvents();this.xAxis&&(m(this.chart.xAxis,this.xAxis),m(this.chart.axes,this.xAxis));this.yAxis&&(m(this.chart.yAxis,this.yAxis),m(this.chart.axes,this.yAxis));k(this.series||[],function(a){a.destroy&&a.destroy()});k("series xAxis yAxis leftShade rightShade outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "), +function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);k([this.handles,this.elementsToDestroy],function(a){w(a)},this)}};a.Navigator=D;x(G.prototype,"zoom",function(a,b,c){var d=this.chart,e=d.options,f=e.chart.zoomType,g=e.navigator,e=e.rangeSelector,h;this.isXAxis&&(g&&g.enabled||e&&e.enabled)&&("x"===f?d.resetZoomButton="blocked":"y"===f?h=!1:"xy"===f&&(d=this.previousZoom,r(b)?this.previousZoom=[this.min,this.max]:d&&(b=d[0],c=d[1],delete this.previousZoom)));return void 0!== +h?h:a.call(this,b,c)});x(H.prototype,"init",function(a,b,c){B(this,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new D(this)});a.call(this,b,c)});x(H.prototype,"getMargins",function(a){var b=this.legend,c=b.options,d=this.scroller,e,f;a.apply(this,[].slice.call(arguments,1));d&&(e=d.xAxis,f=d.yAxis,d.top=d.navigatorOptions.top||this.chartHeight-d.height-d.scrollbarHeight-this.spacing[2]-("bottom"===c.verticalAlign&&c.enabled&& +!c.floating?b.legendHeight+E(c.margin,10):0),e&&f&&(e.options.top=f.options.top=d.top,e.setAxisSize(),f.setAxisSize()))});x(n.prototype,"addPoint",function(a,b,c,f,g){var h=this.options.turboThreshold;h&&this.xData.length>h&&d(b,!0)&&this.chart.scroller&&e(20,!0);a.call(this,b,c,f,g)});x(H.prototype,"addSeries",function(a,b,c,d){a=a.call(this,b,!1,d);this.scroller&&this.scroller.setBaseSeries();E(c,!0)&&this.redraw();return a});x(n.prototype,"update",function(a,b,c){a.call(this,b,!1);this.chart.scroller&& +this.chart.scroller.setBaseSeries();E(c,!0)&&this.chart.redraw()})})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.css,l=a.createElement,r=a.dateFormat,w=a.defaultOptions,t=w.global.useUTC,k=a.defined,m=a.destroyObjectProperties,e=a.discardElement,g=a.each,h=a.extend,C=a.fireEvent,f=a.Date,d=a.isNumber,b=a.merge,q=a.pick,E=a.pInt,c=a.splat,F=a.wrap;h(w,{rangeSelector:{buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},height:35,inputPosition:{align:"right"}, +labelStyle:{color:"#666666"}}});w.lang=b(w.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});D.prototype={clickButton:function(a,b){var e=this,f=e.chart,h=e.buttonOptions[a],k=f.xAxis[0],l=f.scroller&&f.scroller.getUnionExtremes()||k||{},n=l.dataMin,m=l.dataMax,p,r=k&&Math.round(Math.min(k.max,q(m,k.max))),w=h.type,z,l=h._range,A,C,D,E=h.dataGrouping;if(null!==n&&null!==m){f.fixedRange=l;E&&(this.forcedDataGrouping=!0,G.prototype.setDataGrouping.call(k||{chart:this.chart}, +E,!1));if("month"===w||"year"===w)k?(w={range:h,max:r,dataMin:n,dataMax:m},p=k.minFromRange.call(w),d(w.newMax)&&(r=w.newMax)):l=h;else if(l)p=Math.max(r-l,n),r=Math.min(p+l,m);else if("ytd"===w)if(k)void 0===m&&(n=Number.MAX_VALUE,m=Number.MIN_VALUE,g(f.series,function(a){a=a.xData;n=Math.min(a[0],n);m=Math.max(a[a.length-1],m)}),b=!1),r=e.getYTDExtremes(m,n,t),p=A=r.min,r=r.max;else{B(f,"beforeRender",function(){e.clickButton(a)});return}else"all"===w&&k&&(p=n,r=m);e.setSelected(a);k?k.setExtremes(p, +r,q(b,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:h}):(z=c(f.options.xAxis)[0],D=z.range,z.range=l,C=z.min,z.min=A,B(f,"load",function(){z.range=D;z.min=C}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons|| +[].concat(b.defaultButtons),e=c.selected,f=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&C(a,"blur");c&&c.blur&&C(c,"blur")};b.chart=a;b.options=c;b.buttons=[];a.extraTopMargin=c.height;b.buttonOptions=d;this.unMouseDown=B(a.container,"mousedown",f);this.unResize=B(a,"resize",f);g(d,b.computeButtonRange);void 0!==e&&d[e]&&this.clickButton(e,!1);B(a,"load",function(){B(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&& +b.forcedDataGrouping&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this.chart,b=a.xAxis[0],c=Math.round(b.max-b.min),e=!b.hasVisibleSeries,a=a.scroller&&a.scroller.getUnionExtremes()||b,f=a.dataMin,h=a.dataMax,a=this.getYTDExtremes(h,f,t),k=a.min,l=a.max,m=this.selected,p=d(m),q=this.options.allButtonsEnabled,r=this.buttons;g(this.buttonOptions,function(a,d){var g=a._range,n=a.type,u=a.count||1;a=r[d];var t=0;d=d===m;var v=g>h-f,x=g=864E5*{month:28,year:365}[n]*u&&c<=864E5*{month:31,year:366}[n]*u?g=!0:"ytd"===n?(g=l-k===c,y=!d):"all"===n&&(g=b.max-b.min>=h-f,w=!d&&p&&g);n=!q&&(v||x||w||e);g=d&&g||g&&!p&&!y;n?t=3:g&&(p=!0,t=2);a.state!==t&&a.setState(t)})},computeButtonRange:function(a){var b=a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c},setInputValue:function(a,b){var c= +this.chart.options.rangeSelector,d=this[a+"Input"];k(b)&&(d.previousValue=d.HCTime,d.HCTime=b);d.value=r(c.inputEditDateFormat||"%Y-%m-%d",d.HCTime);this[a+"DateBox"].attr({text:r(c.inputDateFormat||"%b %e, %Y",d.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];p(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){p(this[a+"Input"],{border:0,width:"1px",height:"1px"}); +this.setInputValue(a)},drawInput:function(a){function c(){var a=r.value,b=(m.inputDateParser||Date.parse)(a),c=f.xAxis[0],g=f.scroller&&f.scroller.xAxis?f.scroller.xAxis:c,h=g.dataMin,g=g.dataMax;b!==r.previousValue&&(r.previousValue=b,d(b)||(b=a.split("-"),b=Date.UTC(E(b[0]),E(b[1])-1,E(b[2]))),d(b)&&(t||(b+=6E4*(new Date).getTimezoneOffset()),q?b>e.maxInput.HCTime?b=void 0:bg&&(b=g),void 0!==b&&c.setExtremes(q?b:c.min,q?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))} +var e=this,f=e.chart,g=f.renderer.style||{},k=f.renderer,m=f.options.rangeSelector,n=e.div,q="min"===a,r,B,C=this.inputGroup;this[a+"Label"]=B=k.label(w.lang[q?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(C);C.offset+=B.width+5;this[a+"DateBox"]=k=k.label("",C.offset).addClass("highcharts-range-input").attr({padding:2,width:m.inputBoxWidth||90,height:m.inputBoxHeight||17,stroke:m.inputBoxBorderColor||"#cccccc","stroke-width":1, +"text-align":"center"}).on("click",function(){e.showInput(a);e[a+"Input"].focus()}).add(C);C.offset+=k.width+(q?10:0);this[a+"Input"]=r=l("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:f.plotTop+"px"},n);B.css(b(g,m.labelStyle));k.css(b({color:"#333333"},g,m.inputStyle));p(r,h({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:g.fontSize,fontFamily:g.fontFamily,left:"-9em"},m.inputStyle));r.onfocus=function(){e.showInput(a)};r.onblur= +function(){e.hideInput(a)};r.onchange=c;r.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a=q((b.buttonPosition||{}).y,a.plotTop-a.axisOffset[0]-b.height);return{buttonTop:a,inputTop:a-10}},getYTDExtremes:function(a,b,c){var d=new f(a),e=d[f.hcGetFullYear]();c=c?f.UTC(e,0,1):+new f(e,0,1);b=Math.max(b||0,c);d=d.getTime();return{max:Math.min(a||d,d),min:b}},render:function(a,b){var c=this,d=c.chart,e=d.renderer,f=d.container,m=d.options, +n=m.exporting&&!1!==m.exporting.enabled&&m.navigation&&m.navigation.buttonOptions,p=m.rangeSelector,r=c.buttons,m=w.lang,t=c.div,t=c.inputGroup,A=p.buttonTheme,z=p.buttonPosition||{},B=p.inputEnabled,C=A&&A.states,D=d.plotLeft,E,G=this.getPosition(),F=c.group,H=c.rendered;!1!==p.enabled&&(H||(c.group=F=e.g("range-selector-buttons").add(),c.zoomText=e.text(m.rangeSelectorZoom,q(z.x,D),15).css(p.labelStyle).add(F),E=q(z.x,D)+c.zoomText.getBBox().width+5,g(c.buttonOptions,function(a,b){r[b]=e.button(a.text, +E,0,function(){c.clickButton(b);c.isActive=!0},A,C&&C.hover,C&&C.select,C&&C.disabled).attr({"text-align":"center"}).add(F);E+=r[b].width+q(p.buttonSpacing,5)}),!1!==B&&(c.div=t=l("div",null,{position:"relative",height:0,zIndex:1}),f.parentNode.insertBefore(t,f),c.inputGroup=t=e.g("input-group").add(),t.offset=0,c.drawInput("min"),c.drawInput("max"))),c.updateButtonStates(),F[H?"animate":"attr"]({translateY:G.buttonTop}),!1!==B&&(t.align(h({y:G.inputTop,width:t.offset,x:n&&G.inputTop<(n.y||0)+n.height- +d.spacing[0]?-40:0},p.inputPosition),!0,d.spacingBox),k(B)||(d=F.getBBox(),t[t.alignAttr.translateXc&&(e?a=b-f:b=a+f);d(a)||(a=b=void 0);return{min:a,max:b}};G.prototype.minFromRange=function(){var a=this.range,b={month:"Month",year:"FullYear"}[a.type],c,e=this.max,f,g,h=function(a,c){var d=new Date(a);d["set"+b](d["get"+ +b]()+c);return d.getTime()-a};d(a)?(c=e-a,g=a):(c=e+h(e,-a.count),this.chart&&(this.chart.fixedRange=e-c));f=q(this.dataMin,Number.MIN_VALUE);d(c)||(c=f);c<=f&&(c=f,void 0===g&&(g=h(c,a.count)),this.newMax=Math.min(c+g,this.dataMax));d(e)||(c=void 0);return c};F(H.prototype,"init",function(a,b,c){B(this,"init",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new D(this))});a.call(this,b,c)});a.RangeSelector=D})(N);(function(a){var D=a.addEvent,B=a.isNumber;a.Chart.prototype.callbacks.push(function(a){function G(){p= +a.xAxis[0].getExtremes();B(p.min)&&r.render(p.min,p.max)}var p,l=a.scroller,r=a.rangeSelector,w,t;l&&(p=a.xAxis[0].getExtremes(),l.render(p.min,p.max));r&&(t=D(a.xAxis[0],"afterSetExtremes",function(a){r.render(a.min,a.max)}),w=D(a,"redraw",G),G());D(a,"destroy",function(){r&&(w(),t())})})})(N);(function(a){var D=a.arrayMax,B=a.arrayMin,G=a.Axis,H=a.Chart,p=a.defined,l=a.each,r=a.extend,w=a.format,t=a.inArray,k=a.isNumber,m=a.isString,e=a.map,g=a.merge,h=a.pick,C=a.Point,f=a.Renderer,d=a.Series,b= +a.splat,q=a.stop,E=a.SVGRenderer,c=a.VMLRenderer,F=a.wrap,n=d.prototype,A=n.init,x=n.processData,J=C.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(c,d,f){var k=m(c)||c.nodeName,l=arguments[k?1:0],n=l.series,p=a.getOptions(),q,r=h(l.navigator&&l.navigator.enabled,!0)?{startOnTick:!1,endOnTick:!1}:null,t={marker:{enabled:!1,radius:2}},u={shadow:!1,borderWidth:0};l.xAxis=e(b(l.xAxis||{}),function(a){return g({minPadding:0,maxPadding:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"}, +showLastLabel:!0},p.xAxis,a,{type:"datetime",categories:null},r)});l.yAxis=e(b(l.yAxis||{}),function(a){q=h(a.opposite,!0);return g({labels:{y:-2},opposite:q,showLastLabel:!1,title:{text:null}},p.yAxis,a)});l.series=null;l=g({chart:{panning:!0,pinchType:"x"},navigator:{enabled:!0},scrollbar:{enabled:!0},rangeSelector:{enabled:!0},title:{text:null,style:{fontSize:"16px"}},tooltip:{shared:!0,crosshairs:!0},legend:{enabled:!1},plotOptions:{line:t,spline:t,area:t,areaspline:t,arearange:t,areasplinerange:t, +column:u,columnrange:u,candlestick:u,ohlc:u}},l,{_stock:!0,chart:{inverted:!1}});l.series=n;return k?new H(c,l,f):new H(l,d)};F(G.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options._stock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=1,"right"):a.call(this,[].slice.call(arguments,1))});F(G.prototype,"getPlotLinePath",function(a, +b,c,d,f,g){var n=this,q=this.isLinked&&!this.series?this.linkedParent.series:this.series,r=n.chart,u=r.renderer,v=n.left,w=n.top,y,x,A,B,C=[],D=[],E,F;if("colorAxis"===n.coll)return a.apply(this,[].slice.call(arguments,1));D=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=n.options[b];return k(a)?[r[b][a]]:m(a)?[r.get(a)]:e(q,function(a){return a[b]})}(n.coll);l(n.isXAxis?r.yAxis:r.xAxis,function(a){if(p(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=p(a.options[b])? +r[b][a.options[b]]:r[b][0];n===b&&D.push(a)}});E=D.length?[]:[n.isXAxis?r.yAxis[0]:r.xAxis[0]];l(D,function(a){-1===t(a,E)&&E.push(a)});F=h(g,n.translate(b,null,null,d));k(F)&&(n.horiz?l(E,function(a){var b;x=a.pos;B=x+a.len;y=A=Math.round(F+n.transB);if(yv+n.width)f?y=A=Math.min(Math.max(v,y),v+n.width):b=!0;b||C.push("M",y,x,"L",A,B)}):l(E,function(a){var b;y=a.pos;A=y+a.len;x=B=Math.round(w+n.height-F);if(xw+n.height)f?x=B=Math.min(Math.max(w,x),n.top+n.height):b=!0;b||C.push("M",y, +x,"L",A,B)}));return 0=e&&(x=-(l.translateX+b.width-e));l.attr({x:m+x,y:k,anchorX:g?m:this.opposite?0:a.chartWidth,anchorY:g?this.opposite?a.chartHeight:0:k+b.height/2})}});n.init=function(){A.apply(this,arguments);this.setCompare(this.options.compare)};n.setCompare=function(a){this.modifyValue= +"value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b=b/d*100-100,c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};n.processData=function(){var a,b=-1,c,d,e,f;x.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,e=d.length,this.pointArrayMap&&(b=t("close",this.pointArrayMap),-1===b&&(b=t(this.pointValKey||"y",this.pointArrayMap))),a=0;a< +e-1;a++)if(f=-1=this.xAxis.min&&0!==f){this.compareValue=f;break}};F(n,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=B(b),this.dataMax=D(b))});G.prototype.setCompare=function(a,b){this.isXAxis||(l(this.series,function(b){b.setCompare(a)}),h(b,!0)&&this.chart.redraw())};C.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(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 '; + else + var expandButton = ''; + + return '' + expandButton + '' + ellipsedLabel({ name: item.name, parentClass: "nav-tooltip", childClass: "nav-label" }) + ''; +} + +function menuItemsForGroup(group, level, parent) { + var items = ''; + + if (level > 0) + items += menuItem(group, level - 1, parent, true); + + $.each(group.contents, function (contentName, content) { + if (content.type == 'GROUP') + items += menuItemsForGroup(content, level + 1, group.pathFormatted); + else if (content.type == 'REQUEST') + items += menuItem(content, level, group.pathFormatted); + }); + + return items; +} + +function setDetailsMenu(){ + $('.nav ul').append(menuItemsForGroup(stats, 0)); + $('.nav').expandable(); + $('.nav-tooltip').popover({trigger:'hover'}); +} + +function setGlobalMenu(){ + $('.nav ul') + .append('
  • Ranges
  • ') + .append('
  • Stats
  • ') + .append('
  • Active Users
  • ') + .append('
  • Requests / sec
  • ') + .append('
  • Responses / sec
  • '); +} + +function getLink(link){ + var a = link.split('/'); + return (a.length<=1)? link : a[a.length-1]; +} + +function expandUp(li) { + const parentId = li.attr("data-parent"); + if (parentId != "ROOT") { + const span = $('#' + parentId); + const parentLi = span.parents('li').first(); + span.expand(parentLi, false); + expandUp(parentLi); + } +} + +function setActiveMenu(){ + $('.nav a').each(function() { + const navA = $(this) + if(!navA.hasClass('expand-button') && navA.attr('href') == getLink(window.location.pathname)) { + const li = $(this).parents('li').first(); + li.addClass('on'); + expandUp(li); + return false; + } + }); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/stats.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/stats.js new file mode 100644 index 0000000..84ffcf9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/stats.js @@ -0,0 +1,1523 @@ +var stats = { + type: "GROUP", +name: "All Requests", +path: "", +pathFormatted: "group_missing-name--1146707516", +stats: { + "name": "All Requests", + "numberOfRequests": { + "total": "5246", + "ok": "5243", + "ko": "3" + }, + "minResponseTime": { + "total": "24", + "ok": "24", + "ko": "10009" + }, + "maxResponseTime": { + "total": "10010", + "ok": "8436", + "ko": "10010" + }, + "meanResponseTime": { + "total": "392", + "ok": "386", + "ko": "10010" + }, + "standardDeviation": { + "total": "737", + "ok": "701", + "ko": "0" + }, + "percentiles1": { + "total": "84", + "ok": "84", + "ko": "10010" + }, + "percentiles2": { + "total": "369", + "ok": "368", + "ko": "10010" + }, + "percentiles3": { + "total": "1734", + "ok": "1722", + "ko": "10010" + }, + "percentiles4": { + "total": "3410", + "ok": "3340", + "ko": "10010" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 4364, + "percentage": 83 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 451, + "percentage": 9 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 428, + "percentage": 8 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 3, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "37.471", + "ok": "37.45", + "ko": "0.021" + } +}, +contents: { +"req_request-0-693933696": { + type: "REQUEST", + name: "request_0", +path: "request_0", +pathFormatted: "req_request-0-693933696", +stats: { + "name": "request_0", + "numberOfRequests": { + "total": "309", + "ok": "307", + "ko": "2" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "10009" + }, + "maxResponseTime": { + "total": "10010", + "ok": "3183", + "ko": "10010" + }, + "meanResponseTime": { + "total": "479", + "ok": "417", + "ko": "10010" + }, + "standardDeviation": { + "total": "1007", + "ok": "651", + "ko": "1" + }, + "percentiles1": { + "total": "142", + "ok": "139", + "ko": "10010" + }, + "percentiles2": { + "total": "378", + "ok": "377", + "ko": "10010" + }, + "percentiles3": { + "total": "1712", + "ok": "1488", + "ko": "10010" + }, + "percentiles4": { + "total": "3153", + "ok": "3142", + "ko": "10010" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 258, + "percentage": 83 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 21, + "percentage": 7 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 28, + "percentage": 9 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 2, + "percentage": 1 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.207", + "ok": "2.193", + "ko": "0.014" + } +} + },"req_request-1-693933697": { + type: "REQUEST", + name: "request_1", +path: "request_1", +pathFormatted: "req_request-1-693933697", +stats: { + "name": "request_1", + "numberOfRequests": { + "total": "307", + "ok": "307", + "ko": "0" + }, + "minResponseTime": { + "total": "36", + "ok": "36", + "ko": "-" + }, + "maxResponseTime": { + "total": "970", + "ok": "970", + "ko": "-" + }, + "meanResponseTime": { + "total": "97", + "ok": "97", + "ko": "-" + }, + "standardDeviation": { + "total": "123", + "ok": "123", + "ko": "-" + }, + "percentiles1": { + "total": "56", + "ok": "56", + "ko": "-" + }, + "percentiles2": { + "total": "101", + "ok": "101", + "ko": "-" + }, + "percentiles3": { + "total": "327", + "ok": "327", + "ko": "-" + }, + "percentiles4": { + "total": "700", + "ok": "700", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 305, + "percentage": 99 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 2, + "percentage": 1 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.193", + "ok": "2.193", + "ko": "-" + } +} + },"req_request-2-693933698": { + type: "REQUEST", + name: "request_2", +path: "request_2", +pathFormatted: "req_request-2-693933698", +stats: { + "name": "request_2", + "numberOfRequests": { + "total": "307", + "ok": "307", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "3540", + "ok": "3540", + "ko": "-" + }, + "meanResponseTime": { + "total": "334", + "ok": "334", + "ko": "-" + }, + "standardDeviation": { + "total": "501", + "ok": "501", + "ko": "-" + }, + "percentiles1": { + "total": "127", + "ok": "127", + "ko": "-" + }, + "percentiles2": { + "total": "372", + "ok": "372", + "ko": "-" + }, + "percentiles3": { + "total": "1145", + "ok": "1145", + "ko": "-" + }, + "percentiles4": { + "total": "3123", + "ok": "3123", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 271, + "percentage": 88 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 24, + "percentage": 8 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 12, + "percentage": 4 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.193", + "ok": "2.193", + "ko": "-" + } +} + },"req_request-3-693933699": { + type: "REQUEST", + name: "request_3", +path: "request_3", +pathFormatted: "req_request-3-693933699", +stats: { + "name": "request_3", + "numberOfRequests": { + "total": "309", + "ok": "308", + "ko": "1" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "10010" + }, + "maxResponseTime": { + "total": "10010", + "ok": "3169", + "ko": "10010" + }, + "meanResponseTime": { + "total": "479", + "ok": "448", + "ko": "10010" + }, + "standardDeviation": { + "total": "823", + "ok": "620", + "ko": "0" + }, + "percentiles1": { + "total": "200", + "ok": "198", + "ko": "10010" + }, + "percentiles2": { + "total": "413", + "ok": "413", + "ko": "10010" + }, + "percentiles3": { + "total": "1478", + "ok": "1427", + "ko": "10010" + }, + "percentiles4": { + "total": "3123", + "ok": "3118", + "ko": "10010" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 251, + "percentage": 81 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 32, + "percentage": 10 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 25, + "percentage": 8 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 1, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.207", + "ok": "2.2", + "ko": "0.007" + } +} + },"req_request-5-693933701": { + type: "REQUEST", + name: "request_5", +path: "request_5", +pathFormatted: "req_request-5-693933701", +stats: { + "name": "request_5", + "numberOfRequests": { + "total": "308", + "ok": "308", + "ko": "0" + }, + "minResponseTime": { + "total": "296", + "ok": "296", + "ko": "-" + }, + "maxResponseTime": { + "total": "4512", + "ok": "4512", + "ko": "-" + }, + "meanResponseTime": { + "total": "1059", + "ok": "1059", + "ko": "-" + }, + "standardDeviation": { + "total": "702", + "ok": "702", + "ko": "-" + }, + "percentiles1": { + "total": "887", + "ok": "887", + "ko": "-" + }, + "percentiles2": { + "total": "1344", + "ok": "1344", + "ko": "-" + }, + "percentiles3": { + "total": "2300", + "ok": "2300", + "ko": "-" + }, + "percentiles4": { + "total": "3613", + "ok": "3613", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 139, + "percentage": 45 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 76, + "percentage": 25 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 93, + "percentage": 30 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.2", + "ok": "2.2", + "ko": "-" + } +} + },"req_request-6-693933702": { + type: "REQUEST", + name: "request_6", +path: "request_6", +pathFormatted: "req_request-6-693933702", +stats: { + "name": "request_6", + "numberOfRequests": { + "total": "308", + "ok": "308", + "ko": "0" + }, + "minResponseTime": { + "total": "391", + "ok": "391", + "ko": "-" + }, + "maxResponseTime": { + "total": "8436", + "ok": "8436", + "ko": "-" + }, + "meanResponseTime": { + "total": "1962", + "ok": "1962", + "ko": "-" + }, + "standardDeviation": { + "total": "1312", + "ok": "1312", + "ko": "-" + }, + "percentiles1": { + "total": "1611", + "ok": "1611", + "ko": "-" + }, + "percentiles2": { + "total": "2445", + "ok": "2445", + "ko": "-" + }, + "percentiles3": { + "total": "4528", + "ok": "4528", + "ko": "-" + }, + "percentiles4": { + "total": "6239", + "ok": "6239", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 45, + "percentage": 15 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 55, + "percentage": 18 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 208, + "percentage": 68 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.2", + "ok": "2.2", + "ko": "-" + } +} + },"req_request-4-693933700": { + type: "REQUEST", + name: "request_4", +path: "request_4", +pathFormatted: "req_request-4-693933700", +stats: { + "name": "request_4", + "numberOfRequests": { + "total": "308", + "ok": "308", + "ko": "0" + }, + "minResponseTime": { + "total": "112", + "ok": "112", + "ko": "-" + }, + "maxResponseTime": { + "total": "1979", + "ok": "1979", + "ko": "-" + }, + "meanResponseTime": { + "total": "365", + "ok": "365", + "ko": "-" + }, + "standardDeviation": { + "total": "249", + "ok": "249", + "ko": "-" + }, + "percentiles1": { + "total": "289", + "ok": "289", + "ko": "-" + }, + "percentiles2": { + "total": "455", + "ok": "455", + "ko": "-" + }, + "percentiles3": { + "total": "835", + "ok": "835", + "ko": "-" + }, + "percentiles4": { + "total": "1133", + "ok": "1133", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 286, + "percentage": 93 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 20, + "percentage": 6 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 2, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.2", + "ok": "2.2", + "ko": "-" + } +} + },"req_request-7-693933703": { + type: "REQUEST", + name: "request_7", +path: "request_7", +pathFormatted: "req_request-7-693933703", +stats: { + "name": "request_7", + "numberOfRequests": { + "total": "309", + "ok": "309", + "ko": "0" + }, + "minResponseTime": { + "total": "37", + "ok": "37", + "ko": "-" + }, + "maxResponseTime": { + "total": "3126", + "ok": "3126", + "ko": "-" + }, + "meanResponseTime": { + "total": "295", + "ok": "295", + "ko": "-" + }, + "standardDeviation": { + "total": "502", + "ok": "502", + "ko": "-" + }, + "percentiles1": { + "total": "91", + "ok": "91", + "ko": "-" + }, + "percentiles2": { + "total": "329", + "ok": "329", + "ko": "-" + }, + "percentiles3": { + "total": "1394", + "ok": "1394", + "ko": "-" + }, + "percentiles4": { + "total": "3016", + "ok": "3016", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 270, + "percentage": 87 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 21, + "percentage": 7 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 18, + "percentage": 6 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.207", + "ok": "2.207", + "ko": "-" + } +} + },"req_request-8-693933704": { + type: "REQUEST", + name: "request_8", +path: "request_8", +pathFormatted: "req_request-8-693933704", +stats: { + "name": "request_8", + "numberOfRequests": { + "total": "309", + "ok": "309", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "3142", + "ok": "3142", + "ko": "-" + }, + "meanResponseTime": { + "total": "279", + "ok": "279", + "ko": "-" + }, + "standardDeviation": { + "total": "493", + "ok": "493", + "ko": "-" + }, + "percentiles1": { + "total": "85", + "ok": "85", + "ko": "-" + }, + "percentiles2": { + "total": "132", + "ok": "132", + "ko": "-" + }, + "percentiles3": { + "total": "1103", + "ok": "1103", + "ko": "-" + }, + "percentiles4": { + "total": "3052", + "ok": "3052", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 270, + "percentage": 87 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 29, + "percentage": 9 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 10, + "percentage": 3 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.207", + "ok": "2.207", + "ko": "-" + } +} + },"req_request-9-693933705": { + type: "REQUEST", + name: "request_9", +path: "request_9", +pathFormatted: "req_request-9-693933705", +stats: { + "name": "request_9", + "numberOfRequests": { + "total": "309", + "ok": "309", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "3125", + "ok": "3125", + "ko": "-" + }, + "meanResponseTime": { + "total": "280", + "ok": "280", + "ko": "-" + }, + "standardDeviation": { + "total": "418", + "ok": "418", + "ko": "-" + }, + "percentiles1": { + "total": "83", + "ok": "83", + "ko": "-" + }, + "percentiles2": { + "total": "128", + "ok": "128", + "ko": "-" + }, + "percentiles3": { + "total": "1098", + "ok": "1098", + "ko": "-" + }, + "percentiles4": { + "total": "1212", + "ok": "1212", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 257, + "percentage": 83 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 48, + "percentage": 16 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 4, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.207", + "ok": "2.207", + "ko": "-" + } +} + },"req_request-10-37108175": { + type: "REQUEST", + name: "request_10", +path: "request_10", +pathFormatted: "req_request-10-37108175", +stats: { + "name": "request_10", + "numberOfRequests": { + "total": "309", + "ok": "309", + "ko": "0" + }, + "minResponseTime": { + "total": "76", + "ok": "76", + "ko": "-" + }, + "maxResponseTime": { + "total": "3337", + "ok": "3337", + "ko": "-" + }, + "meanResponseTime": { + "total": "278", + "ok": "278", + "ko": "-" + }, + "standardDeviation": { + "total": "513", + "ok": "513", + "ko": "-" + }, + "percentiles1": { + "total": "84", + "ok": "84", + "ko": "-" + }, + "percentiles2": { + "total": "104", + "ok": "104", + "ko": "-" + }, + "percentiles3": { + "total": "1096", + "ok": "1096", + "ko": "-" + }, + "percentiles4": { + "total": "3087", + "ok": "3087", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 264, + "percentage": 85 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 38, + "percentage": 12 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 7, + "percentage": 2 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.207", + "ok": "2.207", + "ko": "-" + } +} + },"req_request-11-37108176": { + type: "REQUEST", + name: "request_11", +path: "request_11", +pathFormatted: "req_request-11-37108176", +stats: { + "name": "request_11", + "numberOfRequests": { + "total": "309", + "ok": "309", + "ko": "0" + }, + "minResponseTime": { + "total": "38", + "ok": "38", + "ko": "-" + }, + "maxResponseTime": { + "total": "439", + "ok": "439", + "ko": "-" + }, + "meanResponseTime": { + "total": "49", + "ok": "49", + "ko": "-" + }, + "standardDeviation": { + "total": "41", + "ok": "41", + "ko": "-" + }, + "percentiles1": { + "total": "42", + "ok": "42", + "ko": "-" + }, + "percentiles2": { + "total": "45", + "ok": "45", + "ko": "-" + }, + "percentiles3": { + "total": "67", + "ok": "67", + "ko": "-" + }, + "percentiles4": { + "total": "327", + "ok": "327", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 309, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.207", + "ok": "2.207", + "ko": "-" + } +} + },"req_request-12-37108177": { + type: "REQUEST", + name: "request_12", +path: "request_12", +pathFormatted: "req_request-12-37108177", +stats: { + "name": "request_12", + "numberOfRequests": { + "total": "309", + "ok": "309", + "ko": "0" + }, + "minResponseTime": { + "total": "24", + "ok": "24", + "ko": "-" + }, + "maxResponseTime": { + "total": "3111", + "ok": "3111", + "ko": "-" + }, + "meanResponseTime": { + "total": "186", + "ok": "186", + "ko": "-" + }, + "standardDeviation": { + "total": "528", + "ok": "528", + "ko": "-" + }, + "percentiles1": { + "total": "30", + "ok": "30", + "ko": "-" + }, + "percentiles2": { + "total": "31", + "ok": "31", + "ko": "-" + }, + "percentiles3": { + "total": "1575", + "ok": "1575", + "ko": "-" + }, + "percentiles4": { + "total": "2760", + "ok": "2760", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 284, + "percentage": 92 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 6, + "percentage": 2 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 19, + "percentage": 6 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.207", + "ok": "2.207", + "ko": "-" + } +} + },"req_request-14-37108179": { + type: "REQUEST", + name: "request_14", +path: "request_14", +pathFormatted: "req_request-14-37108179", +stats: { + "name": "request_14", + "numberOfRequests": { + "total": "309", + "ok": "309", + "ko": "0" + }, + "minResponseTime": { + "total": "35", + "ok": "35", + "ko": "-" + }, + "maxResponseTime": { + "total": "1129", + "ok": "1129", + "ko": "-" + }, + "meanResponseTime": { + "total": "62", + "ok": "62", + "ko": "-" + }, + "standardDeviation": { + "total": "146", + "ok": "146", + "ko": "-" + }, + "percentiles1": { + "total": "39", + "ok": "39", + "ko": "-" + }, + "percentiles2": { + "total": "40", + "ok": "40", + "ko": "-" + }, + "percentiles3": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles4": { + "total": "1094", + "ok": "1094", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 303, + "percentage": 98 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 6, + "percentage": 2 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.207", + "ok": "2.207", + "ko": "-" + } +} + },"req_request-15-37108180": { + type: "REQUEST", + name: "request_15", +path: "request_15", +pathFormatted: "req_request-15-37108180", +stats: { + "name": "request_15", + "numberOfRequests": { + "total": "309", + "ok": "309", + "ko": "0" + }, + "minResponseTime": { + "total": "38", + "ok": "38", + "ko": "-" + }, + "maxResponseTime": { + "total": "346", + "ok": "346", + "ko": "-" + }, + "meanResponseTime": { + "total": "45", + "ok": "45", + "ko": "-" + }, + "standardDeviation": { + "total": "18", + "ok": "18", + "ko": "-" + }, + "percentiles1": { + "total": "43", + "ok": "43", + "ko": "-" + }, + "percentiles2": { + "total": "45", + "ok": "45", + "ko": "-" + }, + "percentiles3": { + "total": "60", + "ok": "60", + "ko": "-" + }, + "percentiles4": { + "total": "76", + "ok": "76", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 309, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.207", + "ok": "2.207", + "ko": "-" + } +} + },"req_request-16-37108181": { + type: "REQUEST", + name: "request_16", +path: "request_16", +pathFormatted: "req_request-16-37108181", +stats: { + "name": "request_16", + "numberOfRequests": { + "total": "309", + "ok": "309", + "ko": "0" + }, + "minResponseTime": { + "total": "75", + "ok": "75", + "ko": "-" + }, + "maxResponseTime": { + "total": "2744", + "ok": "2744", + "ko": "-" + }, + "meanResponseTime": { + "total": "213", + "ok": "213", + "ko": "-" + }, + "standardDeviation": { + "total": "379", + "ok": "379", + "ko": "-" + }, + "percentiles1": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles2": { + "total": "85", + "ok": "85", + "ko": "-" + }, + "percentiles3": { + "total": "1091", + "ok": "1091", + "ko": "-" + }, + "percentiles4": { + "total": "1099", + "ok": "1099", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 272, + "percentage": 88 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 35, + "percentage": 11 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 2, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.207", + "ok": "2.207", + "ko": "-" + } +} + },"req_request-17-37108182": { + type: "REQUEST", + name: "request_17", +path: "request_17", +pathFormatted: "req_request-17-37108182", +stats: { + "name": "request_17", + "numberOfRequests": { + "total": "309", + "ok": "309", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "1103", + "ok": "1103", + "ko": "-" + }, + "meanResponseTime": { + "total": "205", + "ok": "205", + "ko": "-" + }, + "standardDeviation": { + "total": "332", + "ok": "332", + "ko": "-" + }, + "percentiles1": { + "total": "81", + "ok": "81", + "ko": "-" + }, + "percentiles2": { + "total": "83", + "ok": "83", + "ko": "-" + }, + "percentiles3": { + "total": "1092", + "ok": "1092", + "ko": "-" + }, + "percentiles4": { + "total": "1097", + "ok": "1097", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 271, + "percentage": 88 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 38, + "percentage": 12 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.207", + "ok": "2.207", + "ko": "-" + } +} + } +} + +} + +function fillStats(stat){ + $("#numberOfRequests").append(stat.numberOfRequests.total); + $("#numberOfRequestsOK").append(stat.numberOfRequests.ok); + $("#numberOfRequestsKO").append(stat.numberOfRequests.ko); + + $("#minResponseTime").append(stat.minResponseTime.total); + $("#minResponseTimeOK").append(stat.minResponseTime.ok); + $("#minResponseTimeKO").append(stat.minResponseTime.ko); + + $("#maxResponseTime").append(stat.maxResponseTime.total); + $("#maxResponseTimeOK").append(stat.maxResponseTime.ok); + $("#maxResponseTimeKO").append(stat.maxResponseTime.ko); + + $("#meanResponseTime").append(stat.meanResponseTime.total); + $("#meanResponseTimeOK").append(stat.meanResponseTime.ok); + $("#meanResponseTimeKO").append(stat.meanResponseTime.ko); + + $("#standardDeviation").append(stat.standardDeviation.total); + $("#standardDeviationOK").append(stat.standardDeviation.ok); + $("#standardDeviationKO").append(stat.standardDeviation.ko); + + $("#percentiles1").append(stat.percentiles1.total); + $("#percentiles1OK").append(stat.percentiles1.ok); + $("#percentiles1KO").append(stat.percentiles1.ko); + + $("#percentiles2").append(stat.percentiles2.total); + $("#percentiles2OK").append(stat.percentiles2.ok); + $("#percentiles2KO").append(stat.percentiles2.ko); + + $("#percentiles3").append(stat.percentiles3.total); + $("#percentiles3OK").append(stat.percentiles3.ok); + $("#percentiles3KO").append(stat.percentiles3.ko); + + $("#percentiles4").append(stat.percentiles4.total); + $("#percentiles4OK").append(stat.percentiles4.ok); + $("#percentiles4KO").append(stat.percentiles4.ko); + + $("#meanNumberOfRequestsPerSecond").append(stat.meanNumberOfRequestsPerSecond.total); + $("#meanNumberOfRequestsPerSecondOK").append(stat.meanNumberOfRequestsPerSecond.ok); + $("#meanNumberOfRequestsPerSecondKO").append(stat.meanNumberOfRequestsPerSecond.ko); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/stats.json new file mode 100644 index 0000000..a602e15 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/stats.json @@ -0,0 +1,1481 @@ +{ + "type": "GROUP", +"name": "All Requests", +"path": "", +"pathFormatted": "group_missing-name--1146707516", +"stats": { + "name": "All Requests", + "numberOfRequests": { + "total": 5246, + "ok": 5243, + "ko": 3 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 10009 + }, + "maxResponseTime": { + "total": 10010, + "ok": 8436, + "ko": 10010 + }, + "meanResponseTime": { + "total": 392, + "ok": 386, + "ko": 10010 + }, + "standardDeviation": { + "total": 737, + "ok": 701, + "ko": 0 + }, + "percentiles1": { + "total": 84, + "ok": 84, + "ko": 10010 + }, + "percentiles2": { + "total": 369, + "ok": 368, + "ko": 10010 + }, + "percentiles3": { + "total": 1734, + "ok": 1722, + "ko": 10010 + }, + "percentiles4": { + "total": 3410, + "ok": 3340, + "ko": 10010 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 4364, + "percentage": 83 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 451, + "percentage": 9 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 428, + "percentage": 8 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 3, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 37.47142857142857, + "ok": 37.45, + "ko": 0.02142857142857143 + } +}, +"contents": { +"req_request-0-693933696": { + "type": "REQUEST", + "name": "request_0", +"path": "request_0", +"pathFormatted": "req_request-0-693933696", +"stats": { + "name": "request_0", + "numberOfRequests": { + "total": 309, + "ok": 307, + "ko": 2 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 10009 + }, + "maxResponseTime": { + "total": 10010, + "ok": 3183, + "ko": 10010 + }, + "meanResponseTime": { + "total": 479, + "ok": 417, + "ko": 10010 + }, + "standardDeviation": { + "total": 1007, + "ok": 651, + "ko": 1 + }, + "percentiles1": { + "total": 142, + "ok": 139, + "ko": 10010 + }, + "percentiles2": { + "total": 378, + "ok": 377, + "ko": 10010 + }, + "percentiles3": { + "total": 1712, + "ok": 1488, + "ko": 10010 + }, + "percentiles4": { + "total": 3153, + "ok": 3142, + "ko": 10010 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 258, + "percentage": 83 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 21, + "percentage": 7 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 28, + "percentage": 9 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 2, + "percentage": 1 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2071428571428573, + "ok": 2.192857142857143, + "ko": 0.014285714285714285 + } +} + },"req_request-1-693933697": { + "type": "REQUEST", + "name": "request_1", +"path": "request_1", +"pathFormatted": "req_request-1-693933697", +"stats": { + "name": "request_1", + "numberOfRequests": { + "total": 307, + "ok": 307, + "ko": 0 + }, + "minResponseTime": { + "total": 36, + "ok": 36, + "ko": 0 + }, + "maxResponseTime": { + "total": 970, + "ok": 970, + "ko": 0 + }, + "meanResponseTime": { + "total": 97, + "ok": 97, + "ko": 0 + }, + "standardDeviation": { + "total": 123, + "ok": 123, + "ko": 0 + }, + "percentiles1": { + "total": 56, + "ok": 56, + "ko": 0 + }, + "percentiles2": { + "total": 101, + "ok": 101, + "ko": 0 + }, + "percentiles3": { + "total": 327, + "ok": 327, + "ko": 0 + }, + "percentiles4": { + "total": 700, + "ok": 700, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 305, + "percentage": 99 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 2, + "percentage": 1 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.192857142857143, + "ok": 2.192857142857143, + "ko": 0 + } +} + },"req_request-2-693933698": { + "type": "REQUEST", + "name": "request_2", +"path": "request_2", +"pathFormatted": "req_request-2-693933698", +"stats": { + "name": "request_2", + "numberOfRequests": { + "total": 307, + "ok": 307, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 3540, + "ok": 3540, + "ko": 0 + }, + "meanResponseTime": { + "total": 334, + "ok": 334, + "ko": 0 + }, + "standardDeviation": { + "total": 501, + "ok": 501, + "ko": 0 + }, + "percentiles1": { + "total": 127, + "ok": 127, + "ko": 0 + }, + "percentiles2": { + "total": 372, + "ok": 372, + "ko": 0 + }, + "percentiles3": { + "total": 1145, + "ok": 1145, + "ko": 0 + }, + "percentiles4": { + "total": 3123, + "ok": 3123, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 271, + "percentage": 88 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 24, + "percentage": 8 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 12, + "percentage": 4 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.192857142857143, + "ok": 2.192857142857143, + "ko": 0 + } +} + },"req_request-3-693933699": { + "type": "REQUEST", + "name": "request_3", +"path": "request_3", +"pathFormatted": "req_request-3-693933699", +"stats": { + "name": "request_3", + "numberOfRequests": { + "total": 309, + "ok": 308, + "ko": 1 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 10010 + }, + "maxResponseTime": { + "total": 10010, + "ok": 3169, + "ko": 10010 + }, + "meanResponseTime": { + "total": 479, + "ok": 448, + "ko": 10010 + }, + "standardDeviation": { + "total": 823, + "ok": 620, + "ko": 0 + }, + "percentiles1": { + "total": 200, + "ok": 198, + "ko": 10010 + }, + "percentiles2": { + "total": 413, + "ok": 413, + "ko": 10010 + }, + "percentiles3": { + "total": 1478, + "ok": 1427, + "ko": 10010 + }, + "percentiles4": { + "total": 3123, + "ok": 3118, + "ko": 10010 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 251, + "percentage": 81 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 32, + "percentage": 10 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 25, + "percentage": 8 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 1, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2071428571428573, + "ok": 2.2, + "ko": 0.007142857142857143 + } +} + },"req_request-5-693933701": { + "type": "REQUEST", + "name": "request_5", +"path": "request_5", +"pathFormatted": "req_request-5-693933701", +"stats": { + "name": "request_5", + "numberOfRequests": { + "total": 308, + "ok": 308, + "ko": 0 + }, + "minResponseTime": { + "total": 296, + "ok": 296, + "ko": 0 + }, + "maxResponseTime": { + "total": 4512, + "ok": 4512, + "ko": 0 + }, + "meanResponseTime": { + "total": 1059, + "ok": 1059, + "ko": 0 + }, + "standardDeviation": { + "total": 702, + "ok": 702, + "ko": 0 + }, + "percentiles1": { + "total": 887, + "ok": 887, + "ko": 0 + }, + "percentiles2": { + "total": 1344, + "ok": 1344, + "ko": 0 + }, + "percentiles3": { + "total": 2300, + "ok": 2300, + "ko": 0 + }, + "percentiles4": { + "total": 3613, + "ok": 3613, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 139, + "percentage": 45 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 76, + "percentage": 25 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 93, + "percentage": 30 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2, + "ok": 2.2, + "ko": 0 + } +} + },"req_request-6-693933702": { + "type": "REQUEST", + "name": "request_6", +"path": "request_6", +"pathFormatted": "req_request-6-693933702", +"stats": { + "name": "request_6", + "numberOfRequests": { + "total": 308, + "ok": 308, + "ko": 0 + }, + "minResponseTime": { + "total": 391, + "ok": 391, + "ko": 0 + }, + "maxResponseTime": { + "total": 8436, + "ok": 8436, + "ko": 0 + }, + "meanResponseTime": { + "total": 1962, + "ok": 1962, + "ko": 0 + }, + "standardDeviation": { + "total": 1312, + "ok": 1312, + "ko": 0 + }, + "percentiles1": { + "total": 1611, + "ok": 1611, + "ko": 0 + }, + "percentiles2": { + "total": 2445, + "ok": 2445, + "ko": 0 + }, + "percentiles3": { + "total": 4528, + "ok": 4528, + "ko": 0 + }, + "percentiles4": { + "total": 6239, + "ok": 6239, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 45, + "percentage": 15 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 55, + "percentage": 18 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 208, + "percentage": 68 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2, + "ok": 2.2, + "ko": 0 + } +} + },"req_request-4-693933700": { + "type": "REQUEST", + "name": "request_4", +"path": "request_4", +"pathFormatted": "req_request-4-693933700", +"stats": { + "name": "request_4", + "numberOfRequests": { + "total": 308, + "ok": 308, + "ko": 0 + }, + "minResponseTime": { + "total": 112, + "ok": 112, + "ko": 0 + }, + "maxResponseTime": { + "total": 1979, + "ok": 1979, + "ko": 0 + }, + "meanResponseTime": { + "total": 365, + "ok": 365, + "ko": 0 + }, + "standardDeviation": { + "total": 249, + "ok": 249, + "ko": 0 + }, + "percentiles1": { + "total": 289, + "ok": 289, + "ko": 0 + }, + "percentiles2": { + "total": 455, + "ok": 455, + "ko": 0 + }, + "percentiles3": { + "total": 835, + "ok": 835, + "ko": 0 + }, + "percentiles4": { + "total": 1133, + "ok": 1133, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 286, + "percentage": 93 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 20, + "percentage": 6 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 2, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2, + "ok": 2.2, + "ko": 0 + } +} + },"req_request-7-693933703": { + "type": "REQUEST", + "name": "request_7", +"path": "request_7", +"pathFormatted": "req_request-7-693933703", +"stats": { + "name": "request_7", + "numberOfRequests": { + "total": 309, + "ok": 309, + "ko": 0 + }, + "minResponseTime": { + "total": 37, + "ok": 37, + "ko": 0 + }, + "maxResponseTime": { + "total": 3126, + "ok": 3126, + "ko": 0 + }, + "meanResponseTime": { + "total": 295, + "ok": 295, + "ko": 0 + }, + "standardDeviation": { + "total": 502, + "ok": 502, + "ko": 0 + }, + "percentiles1": { + "total": 91, + "ok": 91, + "ko": 0 + }, + "percentiles2": { + "total": 329, + "ok": 329, + "ko": 0 + }, + "percentiles3": { + "total": 1394, + "ok": 1394, + "ko": 0 + }, + "percentiles4": { + "total": 3016, + "ok": 3016, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 270, + "percentage": 87 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 21, + "percentage": 7 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 18, + "percentage": 6 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2071428571428573, + "ok": 2.2071428571428573, + "ko": 0 + } +} + },"req_request-8-693933704": { + "type": "REQUEST", + "name": "request_8", +"path": "request_8", +"pathFormatted": "req_request-8-693933704", +"stats": { + "name": "request_8", + "numberOfRequests": { + "total": 309, + "ok": 309, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 3142, + "ok": 3142, + "ko": 0 + }, + "meanResponseTime": { + "total": 279, + "ok": 279, + "ko": 0 + }, + "standardDeviation": { + "total": 493, + "ok": 493, + "ko": 0 + }, + "percentiles1": { + "total": 85, + "ok": 85, + "ko": 0 + }, + "percentiles2": { + "total": 132, + "ok": 132, + "ko": 0 + }, + "percentiles3": { + "total": 1103, + "ok": 1103, + "ko": 0 + }, + "percentiles4": { + "total": 3052, + "ok": 3052, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 270, + "percentage": 87 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 29, + "percentage": 9 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 10, + "percentage": 3 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2071428571428573, + "ok": 2.2071428571428573, + "ko": 0 + } +} + },"req_request-9-693933705": { + "type": "REQUEST", + "name": "request_9", +"path": "request_9", +"pathFormatted": "req_request-9-693933705", +"stats": { + "name": "request_9", + "numberOfRequests": { + "total": 309, + "ok": 309, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 3125, + "ok": 3125, + "ko": 0 + }, + "meanResponseTime": { + "total": 280, + "ok": 280, + "ko": 0 + }, + "standardDeviation": { + "total": 418, + "ok": 418, + "ko": 0 + }, + "percentiles1": { + "total": 83, + "ok": 83, + "ko": 0 + }, + "percentiles2": { + "total": 128, + "ok": 128, + "ko": 0 + }, + "percentiles3": { + "total": 1098, + "ok": 1098, + "ko": 0 + }, + "percentiles4": { + "total": 1212, + "ok": 1212, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 257, + "percentage": 83 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 48, + "percentage": 16 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 4, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2071428571428573, + "ok": 2.2071428571428573, + "ko": 0 + } +} + },"req_request-10-37108175": { + "type": "REQUEST", + "name": "request_10", +"path": "request_10", +"pathFormatted": "req_request-10-37108175", +"stats": { + "name": "request_10", + "numberOfRequests": { + "total": 309, + "ok": 309, + "ko": 0 + }, + "minResponseTime": { + "total": 76, + "ok": 76, + "ko": 0 + }, + "maxResponseTime": { + "total": 3337, + "ok": 3337, + "ko": 0 + }, + "meanResponseTime": { + "total": 278, + "ok": 278, + "ko": 0 + }, + "standardDeviation": { + "total": 513, + "ok": 513, + "ko": 0 + }, + "percentiles1": { + "total": 84, + "ok": 84, + "ko": 0 + }, + "percentiles2": { + "total": 104, + "ok": 104, + "ko": 0 + }, + "percentiles3": { + "total": 1096, + "ok": 1096, + "ko": 0 + }, + "percentiles4": { + "total": 3087, + "ok": 3087, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 264, + "percentage": 85 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 38, + "percentage": 12 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 7, + "percentage": 2 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2071428571428573, + "ok": 2.2071428571428573, + "ko": 0 + } +} + },"req_request-11-37108176": { + "type": "REQUEST", + "name": "request_11", +"path": "request_11", +"pathFormatted": "req_request-11-37108176", +"stats": { + "name": "request_11", + "numberOfRequests": { + "total": 309, + "ok": 309, + "ko": 0 + }, + "minResponseTime": { + "total": 38, + "ok": 38, + "ko": 0 + }, + "maxResponseTime": { + "total": 439, + "ok": 439, + "ko": 0 + }, + "meanResponseTime": { + "total": 49, + "ok": 49, + "ko": 0 + }, + "standardDeviation": { + "total": 41, + "ok": 41, + "ko": 0 + }, + "percentiles1": { + "total": 42, + "ok": 42, + "ko": 0 + }, + "percentiles2": { + "total": 45, + "ok": 45, + "ko": 0 + }, + "percentiles3": { + "total": 67, + "ok": 67, + "ko": 0 + }, + "percentiles4": { + "total": 327, + "ok": 327, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 309, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2071428571428573, + "ok": 2.2071428571428573, + "ko": 0 + } +} + },"req_request-12-37108177": { + "type": "REQUEST", + "name": "request_12", +"path": "request_12", +"pathFormatted": "req_request-12-37108177", +"stats": { + "name": "request_12", + "numberOfRequests": { + "total": 309, + "ok": 309, + "ko": 0 + }, + "minResponseTime": { + "total": 24, + "ok": 24, + "ko": 0 + }, + "maxResponseTime": { + "total": 3111, + "ok": 3111, + "ko": 0 + }, + "meanResponseTime": { + "total": 186, + "ok": 186, + "ko": 0 + }, + "standardDeviation": { + "total": 528, + "ok": 528, + "ko": 0 + }, + "percentiles1": { + "total": 30, + "ok": 30, + "ko": 0 + }, + "percentiles2": { + "total": 31, + "ok": 31, + "ko": 0 + }, + "percentiles3": { + "total": 1575, + "ok": 1575, + "ko": 0 + }, + "percentiles4": { + "total": 2760, + "ok": 2760, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 284, + "percentage": 92 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 6, + "percentage": 2 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 19, + "percentage": 6 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2071428571428573, + "ok": 2.2071428571428573, + "ko": 0 + } +} + },"req_request-14-37108179": { + "type": "REQUEST", + "name": "request_14", +"path": "request_14", +"pathFormatted": "req_request-14-37108179", +"stats": { + "name": "request_14", + "numberOfRequests": { + "total": 309, + "ok": 309, + "ko": 0 + }, + "minResponseTime": { + "total": 35, + "ok": 35, + "ko": 0 + }, + "maxResponseTime": { + "total": 1129, + "ok": 1129, + "ko": 0 + }, + "meanResponseTime": { + "total": 62, + "ok": 62, + "ko": 0 + }, + "standardDeviation": { + "total": 146, + "ok": 146, + "ko": 0 + }, + "percentiles1": { + "total": 39, + "ok": 39, + "ko": 0 + }, + "percentiles2": { + "total": 40, + "ok": 40, + "ko": 0 + }, + "percentiles3": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles4": { + "total": 1094, + "ok": 1094, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 303, + "percentage": 98 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 6, + "percentage": 2 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2071428571428573, + "ok": 2.2071428571428573, + "ko": 0 + } +} + },"req_request-15-37108180": { + "type": "REQUEST", + "name": "request_15", +"path": "request_15", +"pathFormatted": "req_request-15-37108180", +"stats": { + "name": "request_15", + "numberOfRequests": { + "total": 309, + "ok": 309, + "ko": 0 + }, + "minResponseTime": { + "total": 38, + "ok": 38, + "ko": 0 + }, + "maxResponseTime": { + "total": 346, + "ok": 346, + "ko": 0 + }, + "meanResponseTime": { + "total": 45, + "ok": 45, + "ko": 0 + }, + "standardDeviation": { + "total": 18, + "ok": 18, + "ko": 0 + }, + "percentiles1": { + "total": 43, + "ok": 43, + "ko": 0 + }, + "percentiles2": { + "total": 45, + "ok": 45, + "ko": 0 + }, + "percentiles3": { + "total": 60, + "ok": 60, + "ko": 0 + }, + "percentiles4": { + "total": 76, + "ok": 76, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 309, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2071428571428573, + "ok": 2.2071428571428573, + "ko": 0 + } +} + },"req_request-16-37108181": { + "type": "REQUEST", + "name": "request_16", +"path": "request_16", +"pathFormatted": "req_request-16-37108181", +"stats": { + "name": "request_16", + "numberOfRequests": { + "total": 309, + "ok": 309, + "ko": 0 + }, + "minResponseTime": { + "total": 75, + "ok": 75, + "ko": 0 + }, + "maxResponseTime": { + "total": 2744, + "ok": 2744, + "ko": 0 + }, + "meanResponseTime": { + "total": 213, + "ok": 213, + "ko": 0 + }, + "standardDeviation": { + "total": 379, + "ok": 379, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles2": { + "total": 85, + "ok": 85, + "ko": 0 + }, + "percentiles3": { + "total": 1091, + "ok": 1091, + "ko": 0 + }, + "percentiles4": { + "total": 1099, + "ok": 1099, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 272, + "percentage": 88 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 35, + "percentage": 11 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 2, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2071428571428573, + "ok": 2.2071428571428573, + "ko": 0 + } +} + },"req_request-17-37108182": { + "type": "REQUEST", + "name": "request_17", +"path": "request_17", +"pathFormatted": "req_request-17-37108182", +"stats": { + "name": "request_17", + "numberOfRequests": { + "total": 309, + "ok": 309, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 1103, + "ok": 1103, + "ko": 0 + }, + "meanResponseTime": { + "total": 205, + "ok": 205, + "ko": 0 + }, + "standardDeviation": { + "total": 332, + "ok": 332, + "ko": 0 + }, + "percentiles1": { + "total": 81, + "ok": 81, + "ko": 0 + }, + "percentiles2": { + "total": 83, + "ok": 83, + "ko": 0 + }, + "percentiles3": { + "total": 1092, + "ok": 1092, + "ko": 0 + }, + "percentiles4": { + "total": 1097, + "ok": 1097, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 271, + "percentage": 88 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 38, + "percentage": 12 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.2071428571428573, + "ok": 2.2071428571428573, + "ko": 0 + } +} + } +} + +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/theme.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/theme.js new file mode 100644 index 0000000..b95a7b3 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/theme.js @@ -0,0 +1,127 @@ +/* + * Copyright 2011-2022 Gatling Corp + * + * Licensed under the Gatling Highcharts License + */ +Highcharts.theme = { + chart: { + backgroundColor: '#f7f7f7', + borderWidth: 0, + borderRadius: 8, + plotBackgroundColor: null, + plotShadow: false, + plotBorderWidth: 0 + }, + xAxis: { + gridLineWidth: 0, + lineColor: '#666', + tickColor: '#666', + labels: { + style: { + color: '#666' + } + }, + title: { + style: { + color: '#666' + } + } + }, + yAxis: { + alternateGridColor: null, + minorTickInterval: null, + gridLineColor: '#999', + lineWidth: 0, + tickWidth: 0, + labels: { + style: { + color: '#666', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#666', + font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + labels: { + style: { + color: '#CCC' + } + }, + + + rangeSelector: { + buttonTheme: { + fill: '#cfc9c6', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#b2b2a9' + }, + states: { + hover: { + fill: '#92918C', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#8b897d' + } + }, + select: { + fill: '#E37400', + stroke: '#000000', + style: { + color: '#FFF' + } + } + } + }, + inputStyle: { + backgroundColor: '#333', + color: 'silver' + }, + labelStyle: { + color: '#8b897d' + } + }, + + navigator: { + handles: { + backgroundColor: '#f7f7f7', + borderColor: '#92918C' + }, + outlineColor: '#92918C', + outlineWidth: 1, + maskFill: 'rgba(146, 145, 140, 0.5)', + series: { + color: '#5E7BE2', + lineColor: '#5E7BE2' + } + }, + + scrollbar: { + buttonBackgroundColor: '#f7f7f7', + buttonBorderWidth: 1, + buttonBorderColor: '#92918C', + buttonArrowColor: '#92918C', + buttonBorderRadius: 2, + + barBorderWidth: 1, + barBorderRadius: 0, + barBackgroundColor: '#92918C', + barBorderColor: '#92918C', + + rifleColor: '#92918C', + + trackBackgroundColor: '#b0b0a8', + trackBorderWidth: 1, + trackBorderColor: '#b0b0a8' + } +}; + +Highcharts.setOptions(Highcharts.theme); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/unpack.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/unpack.js new file mode 100644 index 0000000..883c33e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/js/unpack.js @@ -0,0 +1,38 @@ +'use strict'; + +var unpack = function (array) { + var findNbSeries = function (array) { + var currentPlotPack; + var length = array.length; + + for (var i = 0; i < length; i++) { + currentPlotPack = array[i][1]; + if(currentPlotPack !== null) { + return currentPlotPack.length; + } + } + return 0; + }; + + var i, j; + var nbPlots = array.length; + var nbSeries = findNbSeries(array); + + // Prepare unpacked array + var unpackedArray = new Array(nbSeries); + + for (i = 0; i < nbSeries; i++) { + unpackedArray[i] = new Array(nbPlots); + } + + // Unpack the array + for (i = 0; i < nbPlots; i++) { + var timestamp = array[i][0]; + var values = array[i][1]; + for (j = 0; j < nbSeries; j++) { + unpackedArray[j][i] = [timestamp * 1000, values === null ? null : values[j]]; + } + } + + return unpackedArray; +}; diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-0-693933696.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-0-693933696.html new file mode 100644 index 0000000..d073902 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-0-693933696.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_0 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-1-693933697.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-1-693933697.html new file mode 100644 index 0000000..ba7319f --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-1-693933697.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_1 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-10-37108175.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-10-37108175.html new file mode 100644 index 0000000..987853b --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-10-37108175.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_10 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-11-37108176.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-11-37108176.html new file mode 100644 index 0000000..671ca8f --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-11-37108176.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_11 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-12-37108177.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-12-37108177.html new file mode 100644 index 0000000..96043a3 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-12-37108177.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_12 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-14-37108179.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-14-37108179.html new file mode 100644 index 0000000..a623b7a --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-14-37108179.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_14 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-15-37108180.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-15-37108180.html new file mode 100644 index 0000000..e961e61 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-15-37108180.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_15 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-16-37108181.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-16-37108181.html new file mode 100644 index 0000000..20d78ed --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-16-37108181.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_16 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-17-37108182.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-17-37108182.html new file mode 100644 index 0000000..d73bfbc --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-17-37108182.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_17 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-2-693933698.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-2-693933698.html new file mode 100644 index 0000000..9c5d25e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-2-693933698.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_2 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-3-693933699.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-3-693933699.html new file mode 100644 index 0000000..de3d6f8 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-3-693933699.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_3 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-4-693933700.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-4-693933700.html new file mode 100644 index 0000000..23aacc9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-4-693933700.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_4 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-5-693933701.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-5-693933701.html new file mode 100644 index 0000000..3f2822c --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-5-693933701.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_5 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-6-693933702.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-6-693933702.html new file mode 100644 index 0000000..89205ec --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-6-693933702.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_6 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-7-693933703.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-7-693933703.html new file mode 100644 index 0000000..9a00c24 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-7-693933703.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_7 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-8-693933704.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-8-693933704.html new file mode 100644 index 0000000..7d1febf --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-8-693933704.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_8 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-9-693933705.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-9-693933705.html new file mode 100644 index 0000000..878ed1c --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/req_request-9-693933705.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_9 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/bootstrap.min.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/bootstrap.min.css new file mode 100644 index 0000000..76a2b9b --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/bootstrap.min.css @@ -0,0 +1,27 @@ +.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;} +.clearfix:after{clear:both;} +.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;} +.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);} +.tooltip.top{margin-top:-3px;} +.tooltip.right{margin-left:3px;} +.tooltip.bottom{margin-top:3px;} +.tooltip.left{margin-left:-3px;} +.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;} +.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;} +.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;} +.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;} +.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:750px;padding:1px;background-color:#ffffff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);}.popover.top{margin-top:-10px;} +.popover.right{margin-left:10px;} +.popover.bottom{margin-top:10px;} +.popover.left{margin-left:-10px;} +.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;} +.popover-content{padding:9px 14px;}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0;} +.popover .arrow,.popover .arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid;} +.popover .arrow:after{content:"";z-index:-1;} +.popover.top .arrow{bottom:-10px;left:50%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#ffffff;}.popover.top .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0, 0, 0, 0.25);bottom:-1px;left:-11px;} +.popover.right .arrow{top:50%;left:-10px;margin-top:-10px;border-width:10px 10px 10px 0;border-right-color:#ffffff;}.popover.right .arrow:after{border-width:11px 11px 11px 0;border-right-color:rgba(0, 0, 0, 0.25);bottom:-11px;left:-1px;} +.popover.bottom .arrow{top:-10px;left:50%;margin-left:-10px;border-width:0 10px 10px;border-bottom-color:#ffffff;}.popover.bottom .arrow:after{border-width:0 11px 11px;border-bottom-color:rgba(0, 0, 0, 0.25);top:-1px;left:-11px;} +.popover.left .arrow{top:50%;right:-10px;margin-top:-10px;border-width:10px 0 10px 10px;border-left-color:#ffffff;}.popover.left .arrow:after{border-width:11px 0 11px 11px;border-left-color:rgba(0, 0, 0, 0.25);bottom:-11px;right:-1px;} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/close.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/close.svg new file mode 100644 index 0000000..c161bb9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/executions.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/executions.svg new file mode 100644 index 0000000..84068cd --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/executions.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/expand.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/expand.svg new file mode 100644 index 0000000..f6e75e0 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/expand.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/favicon.ico b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d2d20e116df94a676d4bb18395f0479304aef6a4 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/fullscreen.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/fullscreen.svg new file mode 100644 index 0000000..91f3b27 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/fullscreen.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-dark.svg new file mode 100644 index 0000000..7eb4d51 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-enterprise-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-enterprise-dark.svg new file mode 100644 index 0000000..1127d75 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-enterprise-dark.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-enterprise-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-enterprise-light.svg new file mode 100644 index 0000000..4a6e1de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-enterprise-light.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-light.svg new file mode 100644 index 0000000..f519eef --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/logo-light.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/sort-down.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/sort-down.svg new file mode 100644 index 0000000..db58a09 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/sort-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/sort-up.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/sort-up.svg new file mode 100644 index 0000000..bba9d84 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/sort-up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/sort.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/sort.svg new file mode 100644 index 0000000..43b658e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/sort.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/style.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/style.css new file mode 100644 index 0000000..edc9626 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-1cpu/style/style.css @@ -0,0 +1,1199 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +:root { + --gatling-background-color: #f2f2f2; + --gatling-background-light-color: #f7f7f7; + --gatling-border-color: #dddddd; + --gatling-blue-color: #4a9fe5; + --gatling-dark-blue-color: #24275e; + --gatling-danger-color: #f15b4f; + --gatling-danger-light-color: #f5d1ce; + --gatling-enterprise-color: #6161d6; + --gatling-enterprise-light-color: #c4c4ed; + --gatling-gray-medium-color: #bbb; + --gatling-hover-color: #e6e6e6; + --gatling-hover-background-color: #e6e6e6; + --gatling-light-color: #ffffff; + --gatling-orange-color: #f78557; + --gatling-success-color: #68b65c; + --gatling-text-color: #1f2024; + --gatling-total-color: #ffa900; + + --gatling-border-radius: 2px; + --gatling-spacing-small: 5px; + --gatling-spacing: 10px; + --gatling-spacing-layout: 20px; + + --gatling-font-weight-normal: 400; + --gatling-font-weight-medium: 500; + --gatling-font-weight-bold: 700; + --gatling-font-size-secondary: 12px; + --gatling-font-size-default: 14px; + --gatling-font-size-heading: 16px; + --gatling-font-size-section: 22px; + --gatling-font-size-header: 34px; + + --gatling-media-desktop-large: 1920px; +} + +html[data-theme="dark"] { + --gatling-background-color: #1e2225; + --gatling-background-light-color: #272c30; + --gatling-border-color: #555555; + --gatling-blue-color: #1188ff; + --gatling-dark-blue-color: #17223B; + --gatling-danger-color: #d9534f; + --gatling-danger-light-color: #c9302c; + --gatling-enterprise-color: #b2a2ea; + --gatling-enterprise-light-color: #343479; + --gatling-gray-medium-color: #999; + --gatling-hover-color: #30363b; + --gatling-hover-background-color: #2c2c2c; + --gatling-light-color: #394046; + --gatling-orange-color: #fe8e5f; + --gatling-success-color: #5cb85c; + --gatling-text-color: #dee2e6; + --gatling-total-color: #ffa900; +} + +* { + min-height: 0; + min-width: 0; +} + +html, +body { + height: 100%; + width: 100%; +} + +body { + color: var(--gatling-text-color); + font-family: arial; + font-size: var(--gatling-font-size-secondary); + margin: 0; +} + +.app-container { + display: flex; + flex-direction: column; + + height: 100%; + width: 100%; +} + +.head { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + + flex: 1; + + background-color: var(--gatling-light-color); + border-bottom: 1px solid var(--gatling-border-color); + min-height: 69px; + padding: 0 var(--gatling-spacing-layout); +} + +.head .spacer { + flex-grow: 1; +} + +.head .theme-toggle { + margin-left: 20px; + background: none; + color: var(--gatling-text-color); + border: none; +} + +.head .theme-toggle:hover { + color: var(--gatling-gray-medium-color); + cursor: pointer; +} + +body .toggle-dark, body .toggle-light { + display: block; +} + +[data-theme="dark"] body .toggle-dark { + display: none; +} + +[data-theme="light"] body .toggle-light { + display: none; +} + +[data-theme="dark"] body .logo-enterprise-light { + display: none; +} + +[data-theme="light"] body .logo-enterprise-dark { + display: none; +} + +.gatling-open-source { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + gap: var(--gatling-spacing-layout); +} + +.gatling-documentation { + display: flex; + align-items: center; + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-orange-color); + border: 1px solid var(--gatling-orange-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 23px; + + font-size: var(--gatling-font-size-default); +} + +.gatling-documentation:hover { + background-color: var(--gatling-orange-color); + color: var(--gatling-light-color); +} + +.gatling-logo { + height: 35px; +} + +.gatling-logo img { + height: 100%; +} + +[data-theme="dark"] .gatling-logo-light { + display: none; +} + +[data-theme="light"] .gatling-logo-dark { + display: none; +} + +.container { + display: flex; + align-items: stretch; + height: 100%; +} + +.nav { + min-width: 210px; + width: 210px; + max-height: calc(100vh - var(--gatling-spacing-layout) - var(--gatling-spacing-layout)); + background: var(--gatling-light-color); + border-right: 1px solid var(--gatling-border-color); + overflow-y: auto; +} + +@media print { + .nav { + display: none; + } +} + +@media screen and (min-width: 1920px) { + .nav { + min-width: 310px; + width: 310px; + } +} + +.nav ul { + display: flex; + flex-direction: column; + + padding: 0; + margin: 0; +} + +.nav li { + display: flex; + list-style: none; + width: 100%; + padding: 0; +} + +.nav .item { + display: inline-flex; + align-items: center; + margin: 0 auto; + white-space: nowrap; + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + margin: 0; + width: 100%; +} + +.nav .item .nav-label { + padding: var(--gatling-spacing) var(--gatling-spacing-layout); +} + +.nav .item:hover { + background-color: var(--gatling-hover-color); +} + +.nav .on .item { + background-color: var(--gatling-orange-color); +} + +.nav .on .item span { + color: var(--gatling-light-color); +} + +.cadre { + width: 100%; + height: 100%; + overflow-y: scroll; + scroll-behavior: smooth; +} + +@media print { + .cadre { + overflow-y: unset; + } +} + +.frise { + position: absolute; + top: 60px; + z-index: -1; + + background-color: var(--gatling-background-color); + height: 530px; +} + +.global { + height: 650px +} + +a { + text-decoration: none; +} + +a:hover { + color: var(--gatling-hover-color); +} + +img { + border: 0; +} + +h1 { + color: var(--gatling-dark-blue-color); + font-size: var(--gatling-font-size-section); + font-weight: var(--gatling-font-weight-medium); + text-align: center; + margin: 0; +} + +h1 span { + color: var(--gatling-hover-color); +} + +.enterprise { + display: flex; + align-items: center; + justify-content: center; + gap: var(--gatling-spacing-small); + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-enterprise-color); + color: var(--gatling-enterprise-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 25px; +} + +.enterprise:hover { + background-color: var(--gatling-hover-color); + color: var(--gatling-enterprise-color); +} + +.enterprise img { + display: block; + width: 160px; +} + +.simulation-card { + display: flex; + flex-direction: column; + align-self: stretch; + flex: 1; + gap: var(--gatling-spacing-layout); + max-height: 375px; +} + +#simulation-information { + flex: 1; +} + +.simulation-version-information { + display: flex; + flex-direction: column; + + gap: var(--gatling-spacing); + font-size: var(--gatling-font-size-default); + + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing); +} + +.simulation-information-container { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing); +} + +.withTooltip .popover-title { + display: none; +} + +.popover-content p { + margin: 0; +} + +html[data-theme="dark"] div.popover { + background-color: var(--gatling-light-color); + border-bottom: none; +} + +html[data-theme="dark"] div.popover.right .arrow { + border-right-color: var(--gatling-light-color); +} + +.ellipsed-name { + display: block; + + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.simulation-information-item { + display: flex; + flex-direction: row; + align-items: flex-start; + gap: var(--gatling-spacing-small); +} + +.simulation-information-item.description { + flex-direction: column; +} + +.simulation-information-label { + display: inline-block; + font-weight: var(--gatling-font-weight-bold); + min-width: fit-content; +} + +.simulation-information-title { + display: block; + text-align: center; + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + width: 100%; +} + +.simulation-tooltip span { + display: inline-block; + word-wrap: break-word; + overflow: hidden; + text-overflow: ellipsis; +} + +.content { + display: flex; + flex-direction: column; +} + +.content-in { + width: 100%; + height: 100%; + + overflow-x: scroll; +} + +html[data-theme="dark"] .content-in { + background-color: var(--gatling-background-color); +} + +@media print { + .content-in { + overflow-x: unset; + } +} + +.container-article { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + min-width: 1050px; + width: 1050px; + margin: 0 auto; + padding: var(--gatling-spacing-layout); + box-sizing: border-box; +} + +@media screen and (min-width: 1920px) { + .container-article { + min-width: 1350px; + width: 1350px; + } + + #responses * .highcharts-tracker { + transform: translate(400px, 70px); + } +} + +.content-header { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + background-color: var(--gatling-background-light-color); + border-bottom: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-layout) var(--gatling-spacing-layout) 0; +} + +.onglet { + font-size: var(--gatling-font-size-header); + font-weight: var(--gatling-font-weight-medium); + text-align: center; +} + +.sous-menu { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.sous-menu-spacer { + display: flex; + align-items: center; + flex-direction: row; +} + +.sous-menu .item { + margin-bottom: -1px; +} + +.sous-menu a { + display: block; + + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-normal); + padding: var(--gatling-spacing-small) var(--gatling-spacing) var(--gatling-spacing); + border-bottom: 2px solid transparent; + color: var(--gatling-text-color); + text-align: center; + width: 100px; +} + +.sous-menu a:hover { + border-bottom-color: var(--gatling-text-color); +} + +.sous-menu .ouvert a { + border-bottom-color: var(--gatling-orange-color); + font-weight: var(--gatling-font-weight-bold); +} + +.article { + position: relative; + + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); +} + +.infos { + width: 340px; + color: var(--gatling-light-color); +} + +.infos-title { + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-bottom: 0; + border-top-left-radius: var(--gatling-border-radius); + border-top-right-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.info { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + height: 100%; + margin: 0; +} + +.info table { + margin: auto; + padding-right: 15px; +} + +.alert-danger { + background-color: var(--gatling-danger-light-color); + border: 1px solid var(--gatling-danger-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-layout); + font-weight: var(--gatling-font-weight-bold); +} + +.infos h2 { + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + height: 19px; + margin: 0; + padding: 3.5px 0 0 35px; +} + +.infos .first::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.infos .second::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .infos .first::before, +html[data-theme="dark"] .infos .second::before { + filter: invert(0.9); +} + +.infos th { + text-align: center; +} + +.infos td { + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing-small); + -webkit-border-radius: var(--gatling-border-radius); + -moz-border-radius: var(--gatling-border-radius); + -ms-border-radius: var(--gatling-border-radius); + -o-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + text-align: right; + width: 50px; +} + +.infos .title { + width: 120px; +} + +.infos .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); +} + +.infos .total { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); +} + +.infos .ko { + background-color: var(--gatling-danger-color); + -webkit-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); +} + +.schema-container { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--gatling-spacing-layout); +} + +.schema { + background: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); +} + +.ranges { + height: 375px; + width: 500px; +} + +.ranges-large { + height: 375px; + width: 530px; +} + +.geant { + height: 362px; +} + +.extensible-geant { + width: 100%; +} + +.polar { + height: 375px; + width: 230px; +} + +.chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .highcharts-background { + fill: var(--gatling-background-light-color); +} + +html[data-theme="dark"] .highcharts-button-normal rect { + fill: var(--gatling-background-color) !important; +} + +html[data-theme="dark"] .highcharts-button-disabled rect { + fill: var(--gatling-background-light-color) !important; +} + +html[data-theme="dark"] .highcharts-button-pressed rect { + fill: var(--gatling-orange-color) !important; +} + +html[data-theme="dark"] .highcharts-axis text, +html[data-theme="dark"] .highcharts-axis-labels text, +html[data-theme="dark"] .highcharts-button text, +html[data-theme="dark"] .highcharts-legend-item text, +html[data-theme="dark"] .highcharts-range-selector-buttons text { + fill: var(--gatling-text-color) !important; +} + +.statistics { + display: flex; + flex-direction: column; + + background-color: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border-collapse: collapse; + color: var(--gatling-text-color); + max-height: 100%; +} + +.statistics .title { + display: flex; + text-align: center; + justify-content: space-between; + + min-height: 49.5px; + box-sizing: border-box; + + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing); +} + +.title_base { + display: flex; + align-items: center; + text-align: left; + user-select: none; +} + +.title_base_stats { + color: var(--gatling-text-color); + margin-right: 20px; +} + +.toggle-table { + position: relative; + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: 25px; + width: 40px; + height: 20px; + margin: 0 var(--gatling-spacing-small); +} + +.toggle-table::before { + position: absolute; + top: calc(50% - 9px); + left: 1px; + content: ""; + width: 50%; + height: 18px; + border-radius: 50%; + background-color: var(--gatling-text-color); +} + +.toggle-table.off::before { + left: unset; + right: 1px; +} + +.title_expanded { + cursor: pointer; + color: var(--gatling-text-color); +} + +.expand-table, +.collapse-table { + font-size: var(--gatling-font-size-secondary); + font-weight: var(--gatling-font-weight-normal); +} + +.title_expanded span.expand-table { + color: var(--gatling-gray-medium-color); +} + +.title_collapsed { + cursor: pointer; + color: var(--gatling-text-color); +} + +.title_collapsed span.collapse-table { + color: var(--gatling-gray-medium-color); +} + +#container_statistics_head { + position: sticky; + top: -1px; + + background: var(--gatling-background-light-color); + margin-top: -1px; + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); +} + +#container_statistics_body { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + margin-top: -1px; + padding: 0px var(--gatling-spacing-small) var(--gatling-spacing-small) var(--gatling-spacing-small); +} + +#container_errors { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); + margin-top: -1px; +} + +#container_assertions { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small); + margin-top: -1px; +} + +.statistics-in { + border-spacing: var(--gatling-spacing-small); + border-collapse: collapse; + margin: 0; +} + +.statistics .scrollable { + max-height: 100%; + overflow-y: auto; +} + +#statistics_table_container .statistics .scrollable { + max-height: 785px; +} + +.statistics-in a { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .header { + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small); +} + +.sortable { + cursor: pointer; +} + +.sortable span::after { + content: ''; + display: inline-block; + margin-left: 5px; + vertical-align: middle; + width: 12px; + height: 12px; + background: url('sort.svg'); + background-size: contain; +} + +.sorted-up span::after { + background: url('sort-up.svg'); + background-size: contain; +} + +.sorted-down span::after { + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .sortable span::after { + filter: invert(0.9); +} + +.executions::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.response-time::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .executions::before, +html[data-theme="dark"] .response-time::before { + filter: invert(0.9); +} + +.statistics-in td { + background-color: var(--gatling-light-color); + border: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-small); + min-width: 50px; +} + +.statistics-in .col-1 { + width: 175px; + max-width: 175px; +} +@media screen and (min-width: 1200px) { + .statistics-in .col-1 { + width: 50%; + } +} + +.expandable-container { + display: flex; + flex-direction: row; + box-sizing: border-box; + max-width: 100%; +} + +.statistics-in .value { + text-align: right; + width: 50px; +} + +.statistics-in .total { + color: var(--gatling-text-color); +} + +.statistics-in .col-2 { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .error-col-1 { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); +} + +.statistics-in .error-col-2 { + text-align: center; +} + +.statistics-in .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .ko { + background-color: var(--gatling-danger-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .expand-button { + padding-left: var(--gatling-spacing); + cursor: pointer; +} + +.expand-button.hidden { + background: none; + cursor: default; +} + +.statistics-button { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-small) var(--gatling-spacing); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); +} + +#statistics_full_screen{ + padding: var(--gatling-spacing-small); +} + +#statistics_full_screen > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] #statistics_full_screen > img { + filter: invert(0.9); +} + +#statistics_full_screen:disabled { + display: none; +} + +.statistics-button:hover:not(:disabled) { + cursor: pointer; + background-color: var(--gatling-hover-color); +} + +.statistics-in .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('expand.svg'); + background-size: contain; +} + +.statistics-in .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .statistics-in .expand-button.collapse, +html[data-theme="dark"] .statistics-in .expand-button.expand { + filter: invert(0.9); +} + +.nav .expand-button { + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.nav .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('expand.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +.nav .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('sort-down.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +html[data-theme="dark"] .nav .expand-button.expand, +html[data-theme="dark"] .nav .expand-button.collapse { + filter: invert(0.9); +} + +.right { + display: flex; + align-items: center; + gap: var(--gatling-spacing); + float: right; + font-size: var(--gatling-font-size-default); +} + +.withTooltip { + outline: none; +} + +.withTooltip:hover { + text-decoration: none; +} + +.withTooltip .tooltipContent { + position: absolute; + z-index: 10; + display: none; + + background: var(--gatling-orange-color); + -webkit-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + -moz-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); + margin-top: -5px; + padding: var(--gatling-spacing-small); +} + +.withTooltip:hover .tooltipContent { + display: inline; +} + +.button-modal { + padding: var(--gatling-spacing-small); +} + +.button-modal > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] .button-modal > img { + filter: invert(0.9); +} + +.statistics-table-modal { + background-color: var(--gatling-background-color); + height: calc(100% - 60px); + width: calc(100% - 60px); + border-radius: var(--gatling-border-radius); +} + +.statistics-table-modal::backdrop { + position: fixed; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + + background-color: rgba(100, 100, 100, 0.9); +} + +.statistics-table-modal-container { + display: flex; + flex-direction: column; + + width: 100%; + height: calc(100% - 35px); + overflow-x: auto; +} + +.button-modal { + cursor: pointer; + + height: 25px; + width: 25px; + + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); +} + +.button-modal:hover { + background-color: var(--gatling-background-color); +} + +.statistics-table-modal-header { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-bottom: var(--gatling-spacing); +} + +.statistics-table-modal-content { + flex: 1; + overflow-y: auto; + min-width: 1050px; +} + +.statistics-table-modal-footer { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-top: var(--gatling-spacing); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/index.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/index.html new file mode 100644 index 0000000..688d678 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/index.html @@ -0,0 +1,1139 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - Global Information + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    +
    +
    + Gatling Version + + Version: + 3.10.5 + + + Released: + 2024-03-22 + +
    +
    + Run Information +
    + + Date: + 2024-04-25 17:51:20 GMT + + + Duration: + 2m 20s + + + Description: + Load testing (5 users/sec in 60sec - 2 cpu) + + +
    +
    +
    +
    + +
    + +
    + +
    +
    +
    +
    +
    + + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/all_sessions.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/all_sessions.js new file mode 100644 index 0000000..dfca966 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/all_sessions.js @@ -0,0 +1,11 @@ +allUsersData = { + +color: '#FFA900', +name: 'Active Users', +data: [ + [1714067481000,9],[1714067482000,12],[1714067483000,17],[1714067484000,23],[1714067485000,29],[1714067486000,31],[1714067487000,35],[1714067488000,41],[1714067489000,45],[1714067490000,50],[1714067491000,52],[1714067492000,55],[1714067493000,62],[1714067494000,69],[1714067495000,74],[1714067496000,79],[1714067497000,89],[1714067498000,95],[1714067499000,98],[1714067500000,106],[1714067501000,108],[1714067502000,114],[1714067503000,117],[1714067504000,123],[1714067505000,129],[1714067506000,134],[1714067507000,137],[1714067508000,142],[1714067509000,144],[1714067510000,149],[1714067511000,150],[1714067512000,152],[1714067513000,158],[1714067514000,164],[1714067515000,167],[1714067516000,173],[1714067517000,179],[1714067518000,183],[1714067519000,187],[1714067520000,193],[1714067521000,200],[1714067522000,204],[1714067523000,207],[1714067524000,211],[1714067525000,216],[1714067526000,224],[1714067527000,229],[1714067528000,233],[1714067529000,238],[1714067530000,242],[1714067531000,247],[1714067532000,255],[1714067533000,260],[1714067534000,266],[1714067535000,278],[1714067536000,279],[1714067537000,287],[1714067538000,296],[1714067539000,301],[1714067540000,302],[1714067541000,302],[1714067542000,302],[1714067543000,302],[1714067544000,302],[1714067545000,302],[1714067546000,302],[1714067547000,302],[1714067548000,302],[1714067549000,302],[1714067550000,302],[1714067551000,302],[1714067552000,302],[1714067553000,302],[1714067554000,302],[1714067555000,302],[1714067556000,301],[1714067557000,297],[1714067558000,294],[1714067559000,294],[1714067560000,293],[1714067561000,289],[1714067562000,285],[1714067563000,278],[1714067564000,273],[1714067565000,267],[1714067566000,262],[1714067567000,256],[1714067568000,251],[1714067569000,247],[1714067570000,245],[1714067571000,239],[1714067572000,234],[1714067573000,232],[1714067574000,225],[1714067575000,218],[1714067576000,216],[1714067577000,210],[1714067578000,203],[1714067579000,197],[1714067580000,190],[1714067581000,180],[1714067582000,173],[1714067583000,170],[1714067584000,167],[1714067585000,165],[1714067586000,163],[1714067587000,159],[1714067588000,157],[1714067589000,153],[1714067590000,149],[1714067591000,143],[1714067592000,138],[1714067593000,136],[1714067594000,130],[1714067595000,123],[1714067596000,118],[1714067597000,112],[1714067598000,110],[1714067599000,105],[1714067600000,96],[1714067601000,91],[1714067602000,86],[1714067603000,82],[1714067604000,75],[1714067605000,71],[1714067606000,67],[1714067607000,63],[1714067608000,58],[1714067609000,55],[1714067610000,51],[1714067611000,46],[1714067612000,41],[1714067613000,37],[1714067614000,32],[1714067615000,23],[1714067616000,16],[1714067617000,7],[1714067618000,2],[1714067619000,1],[1714067620000,1],[1714067621000,1] +], +tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 } + , zIndex: 20 + , yAxis: 1 +}; \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/assertions.xml b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/assertions.xml new file mode 100644 index 0000000..c562e00 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/assertions.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/bootstrap.min.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/bootstrap.min.js new file mode 100644 index 0000000..ea41042 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/** +* Bootstrap.js by @fat & @mdo +* plugins: bootstrap-tooltip.js, bootstrap-popover.js +* Copyright 2012 Twitter, Inc. +* http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +!function(a){var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this)):this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f+"."+this.type,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.offset(g).addClass(f).addClass("in")}},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).detach()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.detach()})}var b=this,c=this.tip();return c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.detach(),this},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);c[c.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'
    ',trigger:"hover",title:"",delay:0,html:!1}}(window.jQuery),!function(a){var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content > *")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'

    '})}(window.jQuery) \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/ellipsis.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/ellipsis.js new file mode 100644 index 0000000..781d0de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/ellipsis.js @@ -0,0 +1,26 @@ +function parentId(name) { + return "parent-" + name; +} + +function isEllipsed(name) { + const child = document.getElementById(name); + const parent = document.getElementById(parentId(name)); + const emptyData = parent.getAttribute("data-content") === ""; + const hasOverflow = child.clientWidth < child.scrollWidth; + + if (hasOverflow) { + if (emptyData) { + parent.setAttribute("data-content", name); + } + } else { + if (!emptyData) { + parent.setAttribute("data-content", ""); + } + } +} + +function ellipsedLabel ({ name, parentClass = "", childClass = "" }) { + const child = "" + name + ""; + + return "" + child + ""; +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/gatling.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/gatling.js new file mode 100644 index 0000000..5b9e992 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/gatling.js @@ -0,0 +1,137 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +(function ($) { + $.fn.expandable = function () { + var scope = this; + + this.find('.expand-button:not([class*=hidden])').addClass('collapse').on('click', function () { + var $this = $(this); + + if ($this.hasClass('expand')) + $this.expand(scope); + else + $this.collapse(scope); + }); + + this.find('.expand-all-button').on('click', function () { + $(this).expandAll(scope); + }); + + this.find('.collapse-all-button').on('click', function () { + $(this).collapseAll(scope); + }); + + this.collapseAll(this); + + return this; + }; + + $.fn.expand = function (scope, recursive) { + return this.each(function () { + var $this = $(this); + + if (recursive) { + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + scope.find('*[data-parent=' + $this.attr('id') + ']').find('.expand-button.expand').expand(scope, true); + } + + if ($this.hasClass('expand')) { + $('*[data-parent=' + $this.attr('id') + ']').toggle(true); + $this.toggleClass('expand').toggleClass('collapse'); + } + }); + }; + + $.fn.expandAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.expand').expand(scope, true); + $('*[data-parent=ROOT]').find('.expand-button.collapse').expand(scope, true); + }; + + $.fn.collapse = function (scope) { + return this.each(function () { + var $this = $(this); + + scope.find('*[data-parent=' + $this.attr('id') + '] .expand-button.collapse').collapse(scope); + scope.find('*[data-parent=' + $this.attr('id') + ']').toggle(false); + $this.toggleClass('expand').toggleClass('collapse'); + }); + }; + + $.fn.collapseAll = function (scope) { + $('*[data-parent=ROOT]').find('.expand-button.collapse').collapse(scope); + }; + + $.fn.sortable = function (target) { + var table = this; + + this.find('thead .sortable').on('click', function () { + var $this = $(this); + + if ($this.hasClass('sorted-down')) { + var desc = false; + var style = 'sorted-up'; + } + else { + var desc = true; + var style = 'sorted-down'; + } + + $(target).sortTable($this.attr('id'), desc); + + table.find('thead .sortable').removeClass('sorted-up sorted-down'); + $this.addClass(style); + + return false; + }); + + return this; + }; + + $.fn.sortTable = function (col, desc) { + function getValue(line) { + var cell = $(line).find('.' + col); + + if (cell.hasClass('value')) + var value = cell.text(); + else + var value = cell.find('.value').text(); + + return parseFloat(value); + } + + function sortLines (lines, group) { + var notErrorTable = col.search("error") == -1; + var linesToSort = notErrorTable ? lines.filter('*[data-parent=' + group + ']') : lines; + + var sortedLines = linesToSort.sort(function (a, b) { + return desc ? getValue(b) - getValue(a): getValue(a) - getValue(b); + }).toArray(); + + var result = []; + $.each(sortedLines, function (i, line) { + result.push(line); + if (notErrorTable) + result = result.concat(sortLines(lines, $(line).attr('id'))); + }); + + return result; + } + + this.find('tbody').append(sortLines(this.find('tbody tr').detach(), 'ROOT')); + + return this; + }; +})(jQuery); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/global_stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/global_stats.json new file mode 100644 index 0000000..38918c4 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/global_stats.json @@ -0,0 +1,77 @@ +{ + "name": "All Requests", + "numberOfRequests": { + "total": 5134, + "ok": 5133, + "ko": 1 + }, + "minResponseTime": { + "total": 23, + "ok": 23, + "ko": 10012 + }, + "maxResponseTime": { + "total": 10012, + "ok": 9288, + "ko": 10012 + }, + "meanResponseTime": { + "total": 383, + "ok": 381, + "ko": 10012 + }, + "standardDeviation": { + "total": 764, + "ok": 752, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 82, + "ko": 10012 + }, + "percentiles2": { + "total": 300, + "ok": 299, + "ko": 10012 + }, + "percentiles3": { + "total": 1688, + "ok": 1685, + "ko": 10012 + }, + "percentiles4": { + "total": 3508, + "ok": 3495, + "ko": 10012 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 4290, + "percentage": 84 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 433, + "percentage": 8 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 410, + "percentage": 8 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 1, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 36.4113475177305, + "ok": 36.40425531914894, + "ko": 0.0070921985815602835 + } +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/highcharts-more.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/highcharts-more.js new file mode 100644 index 0000000..2d78893 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/highcharts-more.js @@ -0,0 +1,60 @@ +/* + Highcharts JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(x){"object"===typeof module&&module.exports?module.exports=x:x(Highcharts)})(function(x){(function(b){function r(b,a,d){this.init(b,a,d)}var t=b.each,w=b.extend,m=b.merge,q=b.splat;w(r.prototype,{init:function(b,a,d){var f=this,h=f.defaultOptions;f.chart=a;f.options=b=m(h,a.angular?{background:{}}:void 0,b);(b=b.background)&&t([].concat(q(b)).reverse(),function(a){var c,h=d.userOptions;c=m(f.defaultBackgroundOptions,a);a.backgroundColor&&(c.backgroundColor=a.backgroundColor);c.color=c.backgroundColor; +d.options.plotBands.unshift(c);h.plotBands=h.plotBands||[];h.plotBands!==d.options.plotBands&&h.plotBands.unshift(c)})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{className:"highcharts-pane",shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}});b.Pane=r})(x);(function(b){var r=b.CenteredSeriesMixin, +t=b.each,w=b.extend,m=b.map,q=b.merge,e=b.noop,a=b.Pane,d=b.pick,f=b.pInt,h=b.splat,u=b.wrap,c,l,k=b.Axis.prototype;b=b.Tick.prototype;c={getOffset:e,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:e,setCategories:e,setTitle:e};l={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2}, +defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(a){a=this.options=q(this.defaultOptions,this.defaultRadialOptions,a);a.plotBands||(a.plotBands=[])},getOffset:function(){k.getOffset.call(this);this.chart.axisOffset[this.side]=0;this.center=this.pane.center= +r.getCenter.call(this.pane)},getLinePath:function(a,g){a=this.center;var c=this.chart,f=d(g,a[2]/2-this.offset);this.isCircular||void 0!==g?g=this.chart.renderer.symbols.arc(this.left+a[0],this.top+a[1],f,f,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}):(g=this.postTranslate(this.angleRad,f),g=["M",a[0]+c.plotLeft,a[1]+c.plotTop,"L",g.x,g.y]);return g},setAxisTranslation:function(){k.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/ +(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===d(this.userMax,this.options.max)&&this.endAngleRad-this.startAngleRad===2*Math.PI)this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){k.setAxisSize.call(this);this.isRadial&&(this.center=this.pane.center=r.getCenter.call(this.pane),this.isCircular&& +(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*d(this.sector,1)/2)},getPosition:function(a,g){return this.postTranslate(this.isCircular?this.translate(a):this.angleRad,d(this.isCircular?g:this.translate(a),this.center[2]/2)-this.offset)},postTranslate:function(a,g){var d=this.chart,c=this.center;a=this.startAngleRad+a;return{x:d.plotLeft+c[0]+Math.cos(a)*g,y:d.plotTop+c[1]+Math.sin(a)*g}},getPlotBandPath:function(a,g,c){var h=this.center,p=this.startAngleRad, +k=h[2]/2,n=[d(c.outerRadius,"100%"),c.innerRadius,d(c.thickness,10)],b=Math.min(this.offset,0),l=/%$/,u,e=this.isCircular;"polygon"===this.options.gridLineInterpolation?h=this.getPlotLinePath(a).concat(this.getPlotLinePath(g,!0)):(a=Math.max(a,this.min),g=Math.min(g,this.max),e||(n[0]=this.translate(a),n[1]=this.translate(g)),n=m(n,function(a){l.test(a)&&(a=f(a,10)*k/100);return a}),"circle"!==c.shape&&e?(a=p+this.translate(a),g=p+this.translate(g)):(a=-Math.PI/2,g=1.5*Math.PI,u=!0),n[0]-=b,n[2]-= +b,h=this.chart.renderer.symbols.arc(this.left+h[0],this.top+h[1],n[0],n[0],{start:Math.min(a,g),end:Math.max(a,g),innerR:d(n[1],n[0]-n[2]),open:u}));return h},getPlotLinePath:function(a,g){var d=this,c=d.center,f=d.chart,h=d.getPosition(a),k,b,p;d.isCircular?p=["M",c[0]+f.plotLeft,c[1]+f.plotTop,"L",h.x,h.y]:"circle"===d.options.gridLineInterpolation?(a=d.translate(a))&&(p=d.getLinePath(0,a)):(t(f.xAxis,function(a){a.pane===d.pane&&(k=a)}),p=[],a=d.translate(a),c=k.tickPositions,k.autoConnect&&(c= +c.concat([c[0]])),g&&(c=[].concat(c).reverse()),t(c,function(g,d){b=k.getPosition(g,a);p.push(d?"L":"M",b.x,b.y)}));return p},getTitlePosition:function(){var a=this.center,g=this.chart,d=this.options.title;return{x:g.plotLeft+a[0]+(d.x||0),y:g.plotTop+a[1]-{high:.5,middle:.25,low:0}[d.align]*a[2]+(d.y||0)}}};u(k,"init",function(f,g,k){var b=g.angular,p=g.polar,n=k.isX,u=b&&n,e,A=g.options,m=k.pane||0;if(b){if(w(this,u?c:l),e=!n)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else p&&(w(this, +l),this.defaultRadialOptions=(e=n)?this.defaultRadialXOptions:q(this.defaultYAxisOptions,this.defaultRadialYOptions));b||p?(this.isRadial=!0,g.inverted=!1,A.chart.zoomType=null):this.isRadial=!1;f.call(this,g,k);u||!b&&!p||(f=this.options,g.panes||(g.panes=[]),this.pane=g=g.panes[m]=g.panes[m]||new a(h(A.pane)[m],g,this),g=g.options,this.angleRad=(f.angle||0)*Math.PI/180,this.startAngleRad=(g.startAngle-90)*Math.PI/180,this.endAngleRad=(d(g.endAngle,g.startAngle+360)-90)*Math.PI/180,this.offset=f.offset|| +0,this.isCircular=e)});u(k,"autoLabelAlign",function(a){if(!this.isRadial)return a.apply(this,[].slice.call(arguments,1))});u(b,"getPosition",function(a,d,c,f,h){var g=this.axis;return g.getPosition?g.getPosition(c):a.call(this,d,c,f,h)});u(b,"getLabelPosition",function(a,g,c,f,h,k,b,l,u){var n=this.axis,p=k.y,e=20,y=k.align,v=(n.translate(this.pos)+n.startAngleRad+Math.PI/2)/Math.PI*180%360;n.isRadial?(a=n.getPosition(this.pos,n.center[2]/2+d(k.distance,-25)),"auto"===k.rotation?f.attr({rotation:v}): +null===p&&(p=n.chart.renderer.fontMetrics(f.styles.fontSize).b-f.getBBox().height/2),null===y&&(n.isCircular?(this.label.getBBox().width>n.len*n.tickInterval/(n.max-n.min)&&(e=0),y=v>e&&v<180-e?"left":v>180+e&&v<360-e?"right":"center"):y="center",f.attr({align:y})),a.x+=k.x,a.y+=p):a=a.call(this,g,c,f,h,k,b,l,u);return a});u(b,"getMarkPath",function(a,d,c,f,h,k,b){var g=this.axis;g.isRadial?(a=g.getPosition(this.pos,g.center[2]/2+f),d=["M",d,c,"L",a.x,a.y]):d=a.call(this,d,c,f,h,k,b);return d})})(x); +(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.Series,q=b.seriesType,e=b.seriesTypes;q("arearange","area",{lineWidth:1,marker:null,threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{series.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},states:{hover:{halo:!1}}},{pointArrayMap:["low","high"],dataLabelCollections:["dataLabel", +"dataLabelUpper"],toYData:function(a){return[a.low,a.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(a){var d=this.chart,f=this.xAxis.postTranslate(a.rectPlotX,this.yAxis.len-a.plotHigh);a.plotHighX=f.x-d.plotLeft;a.plotHigh=f.y-d.plotTop},translate:function(){var a=this,d=a.yAxis,f=!!a.modifyValue;e.area.prototype.translate.apply(a);r(a.points,function(h){var b=h.low,c=h.high,l=h.plotY;null===c||null===b?h.isNull=!0:(h.plotLow=l,h.plotHigh=d.translate(f?a.modifyValue(c,h):c,0,1, +0,1),f&&(h.yBottom=h.plotHigh))});this.chart.polar&&r(this.points,function(d){a.highToXY(d)})},getGraphPath:function(a){var d=[],f=[],h,b=e.area.prototype.getGraphPath,c,l,k;k=this.options;var p=k.step;a=a||this.points;for(h=a.length;h--;)c=a[h],c.isNull||k.connectEnds||a[h+1]&&!a[h+1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1}),l={polarPlotY:c.polarPlotY,rectPlotX:c.rectPlotX,yBottom:c.yBottom,plotX:w(c.plotHighX,c.plotX),plotY:c.plotHigh,isNull:c.isNull},f.push(l),d.push(l),c.isNull|| +k.connectEnds||a[h-1]&&!a[h-1].isNull||f.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1});a=b.call(this,a);p&&(!0===p&&(p="left"),k.step={left:"right",center:"center",right:"left"}[p]);d=b.call(this,d);f=b.call(this,f);k.step=p;k=[].concat(a,d);this.chart.polar||"M"!==f[0]||(f[0]="L");this.graphPath=k;this.areaPath=this.areaPath.concat(a,f);k.isArea=!0;k.xMap=a.xMap;this.areaPath.xMap=a.xMap;return k},drawDataLabels:function(){var a=this.data,d=a.length,f,h=[],b=m.prototype,c=this.options.dataLabels, +l=c.align,k=c.verticalAlign,p=c.inside,g,n,e=this.chart.inverted;if(c.enabled||this._hasPointLabels){for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.y=g.high,g._plotY=g.plotY,g.plotY=g.plotHigh,h[f]=g.dataLabel,g.dataLabel=g.dataLabelUpper,g.below=n,e?l||(c.align=n?"right":"left"):k||(c.verticalAlign=n?"top":"bottom"),c.x=c.xHigh,c.y=c.yHigh;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments);for(f=d;f--;)if(g=a[f])n=p?g.plotHighg.plotLow,g.dataLabelUpper= +g.dataLabel,g.dataLabel=h[f],g.y=g.low,g.plotY=g._plotY,g.below=!n,e?l||(c.align=n?"left":"right"):k||(c.verticalAlign=n?"bottom":"top"),c.x=c.xLow,c.y=c.yLow;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments)}c.align=l;c.verticalAlign=k},alignDataLabel:function(){e.column.prototype.alignDataLabel.apply(this,arguments)},setStackedPoints:t,getSymbol:t,drawPoints:t})})(x);(function(b){var r=b.seriesType;r("areasplinerange","arearange",null,{getPointSpline:b.seriesTypes.spline.prototype.getPointSpline})})(x); +(function(b){var r=b.defaultPlotOptions,t=b.each,w=b.merge,m=b.noop,q=b.pick,e=b.seriesType,a=b.seriesTypes.column.prototype;e("columnrange","arearange",w(r.column,r.arearange,{lineWidth:1,pointRange:null}),{translate:function(){var d=this,f=d.yAxis,b=d.xAxis,u=b.startAngleRad,c,l=d.chart,k=d.xAxis.isRadial,p;a.translate.apply(d);t(d.points,function(a){var g=a.shapeArgs,h=d.options.minPointLength,e,v;a.plotHigh=p=f.translate(a.high,0,1,0,1);a.plotLow=a.plotY;v=p;e=q(a.rectPlotY,a.plotY)-p;Math.abs(e)< +h?(h-=e,e+=h,v-=h/2):0>e&&(e*=-1,v-=e);k?(c=a.barX+u,a.shapeType="path",a.shapeArgs={d:d.polarArc(v+e,v,c,c+a.pointWidth)}):(g.height=e,g.y=v,a.tooltipPos=l.inverted?[f.len+f.pos-l.plotLeft-v-e/2,b.len+b.pos-l.plotTop-g.x-g.width/2,e]:[b.left-l.plotLeft+g.x+g.width/2,f.pos-l.plotTop+v+e/2,e])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:m,crispCol:a.crispCol,drawPoints:a.drawPoints,drawTracker:a.drawTracker,getColumnMetrics:a.getColumnMetrics,animate:function(){return a.animate.apply(this, +arguments)},polarArc:function(){return a.polarArc.apply(this,arguments)},pointAttribs:a.pointAttribs})})(x);(function(b){var r=b.each,t=b.isNumber,w=b.merge,m=b.pick,q=b.pInt,e=b.Series,a=b.seriesType,d=b.TrackerMixin;a("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2,borderWidth:1,borderColor:"#cccccc"},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,directTouch:!0,drawGraph:b.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0, +trackerGroups:["group","dataLabelsGroup"],translate:function(){var a=this.yAxis,d=this.options,b=a.center;this.generatePoints();r(this.points,function(c){var f=w(d.dial,c.dial),k=q(m(f.radius,80))*b[2]/200,h=q(m(f.baseLength,70))*k/100,g=q(m(f.rearLength,10))*k/100,n=f.baseWidth||3,u=f.topWidth||1,e=d.overshoot,v=a.startAngleRad+a.translate(c.y,null,null,null,!0);t(e)?(e=e/180*Math.PI,v=Math.max(a.startAngleRad-e,Math.min(a.endAngleRad+e,v))):!1===d.wrap&&(v=Math.max(a.startAngleRad,Math.min(a.endAngleRad, +v)));v=180*v/Math.PI;c.shapeType="path";c.shapeArgs={d:f.path||["M",-g,-n/2,"L",h,-n/2,k,-u/2,k,u/2,h,n/2,-g,n/2,"z"],translateX:b[0],translateY:b[1],rotation:v};c.plotX=b[0];c.plotY=b[1]})},drawPoints:function(){var a=this,d=a.yAxis.center,b=a.pivot,c=a.options,l=c.pivot,k=a.chart.renderer;r(a.points,function(d){var g=d.graphic,b=d.shapeArgs,f=b.d,h=w(c.dial,d.dial);g?(g.animate(b),b.d=f):(d.graphic=k[d.shapeType](b).attr({rotation:b.rotation,zIndex:1}).addClass("highcharts-dial").add(a.group),d.graphic.attr({stroke:h.borderColor|| +"none","stroke-width":h.borderWidth||0,fill:h.backgroundColor||"#000000"}))});b?b.animate({translateX:d[0],translateY:d[1]}):(a.pivot=k.circle(0,0,m(l.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(d[0],d[1]).add(a.group),a.pivot.attr({"stroke-width":l.borderWidth||0,stroke:l.borderColor||"#cccccc",fill:l.backgroundColor||"#000000"}))},animate:function(a){var d=this;a||(r(d.points,function(a){var c=a.graphic;c&&(c.attr({rotation:180*d.yAxis.startAngleRad/Math.PI}),c.animate({rotation:a.shapeArgs.rotation}, +d.options.animation))}),d.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);e.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(a,d){e.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();m(d,!0)&&this.chart.redraw()},drawTracker:d&&d.drawTrackerPoint},{setState:function(a){this.state=a}})})(x);(function(b){var r=b.each,t=b.noop,w=b.pick,m=b.seriesType, +q=b.seriesTypes;m("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,states:{hover:{brightness:-.3}},whiskerWidth:2},{pointArrayMap:["low","q1","median", +"q3","high"],toYData:function(b){return[b.low,b.q1,b.median,b.q3,b.high]},pointValKey:"high",pointAttribs:function(b){var a=this.options,d=b&&b.color||this.color;return{fill:b.fillColor||a.fillColor||d,stroke:a.lineColor||d,"stroke-width":a.lineWidth||0}},drawDataLabels:t,translate:function(){var b=this.yAxis,a=this.pointArrayMap;q.column.prototype.translate.apply(this);r(this.points,function(d){r(a,function(a){null!==d[a]&&(d[a+"Plot"]=b.translate(d[a],0,1,0,1))})})},drawPoints:function(){var b= +this,a=b.options,d=b.chart.renderer,f,h,u,c,l,k,p=0,g,n,m,q,v=!1!==b.doQuartiles,t,x=b.options.whiskerLength;r(b.points,function(e){var r=e.graphic,y=r?"animate":"attr",I=e.shapeArgs,z={},B={},G={},H=e.color||b.color;void 0!==e.plotY&&(g=I.width,n=Math.floor(I.x),m=n+g,q=Math.round(g/2),f=Math.floor(v?e.q1Plot:e.lowPlot),h=Math.floor(v?e.q3Plot:e.lowPlot),u=Math.floor(e.highPlot),c=Math.floor(e.lowPlot),r||(e.graphic=r=d.g("point").add(b.group),e.stem=d.path().addClass("highcharts-boxplot-stem").add(r), +x&&(e.whiskers=d.path().addClass("highcharts-boxplot-whisker").add(r)),v&&(e.box=d.path(void 0).addClass("highcharts-boxplot-box").add(r)),e.medianShape=d.path(void 0).addClass("highcharts-boxplot-median").add(r),z.stroke=e.stemColor||a.stemColor||H,z["stroke-width"]=w(e.stemWidth,a.stemWidth,a.lineWidth),z.dashstyle=e.stemDashStyle||a.stemDashStyle,e.stem.attr(z),x&&(B.stroke=e.whiskerColor||a.whiskerColor||H,B["stroke-width"]=w(e.whiskerWidth,a.whiskerWidth,a.lineWidth),e.whiskers.attr(B)),v&&(r= +b.pointAttribs(e),e.box.attr(r)),G.stroke=e.medianColor||a.medianColor||H,G["stroke-width"]=w(e.medianWidth,a.medianWidth,a.lineWidth),e.medianShape.attr(G)),k=e.stem.strokeWidth()%2/2,p=n+q+k,e.stem[y]({d:["M",p,h,"L",p,u,"M",p,f,"L",p,c]}),v&&(k=e.box.strokeWidth()%2/2,f=Math.floor(f)+k,h=Math.floor(h)+k,n+=k,m+=k,e.box[y]({d:["M",n,h,"L",n,f,"L",m,f,"L",m,h,"L",n,h,"z"]})),x&&(k=e.whiskers.strokeWidth()%2/2,u+=k,c+=k,t=/%$/.test(x)?q*parseFloat(x)/100:x/2,e.whiskers[y]({d:["M",p-t,u,"L",p+t,u, +"M",p-t,c,"L",p+t,c]})),l=Math.round(e.medianPlot),k=e.medianShape.strokeWidth()%2/2,l+=k,e.medianShape[y]({d:["M",n,l,"L",m,l]}))})},setStackedPoints:t})})(x);(function(b){var r=b.each,t=b.noop,w=b.seriesType,m=b.seriesTypes;w("errorbar","boxplot",{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},whiskerWidth:null},{type:"errorbar", +pointArrayMap:["low","high"],toYData:function(b){return[b.low,b.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:m.arearange?function(){var b=this.pointValKey;m.arearange.prototype.drawDataLabels.call(this);r(this.data,function(e){e.y=e[b]})}:t,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||m.column.prototype.getColumnMetrics.call(this)}})})(x);(function(b){var r=b.correctFloat,t=b.isNumber,w=b.pick,m=b.Point,q=b.Series,e=b.seriesType,a=b.seriesTypes; +e("waterfall","column",{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}},{pointValKey:"y",translate:function(){var d=this.options,b=this.yAxis,h,e,c,l,k,p,g,n,m,q=w(d.minPointLength,5),v=d.threshold,t=d.stacking;a.column.prototype.translate.apply(this);this.minPointLengthOffset=0;g=n=v;e=this.points;h=0;for(d=e.length;hl.height&&(l.y+=l.height,l.height*=-1),c.plotY=l.y=Math.round(l.y)- +this.borderWidth%2/2,l.height=Math.max(Math.round(l.height),.001),c.yBottom=l.y+l.height,l.height<=q&&(l.height=q,this.minPointLengthOffset+=q),l.y-=this.minPointLengthOffset,l=c.plotY+(c.negative?l.height:0)-this.minPointLengthOffset,this.chart.inverted?c.tooltipPos[0]=b.len-l:c.tooltipPos[1]=l},processData:function(a){var b=this.yData,d=this.options.data,e,c=b.length,l,k,p,g,n,m;k=l=p=g=this.options.threshold||0;for(m=0;ma[k-1].y&&(l[2]+=c.height,l[5]+=c.height),e=e.concat(l);return e},drawGraph:function(){q.prototype.drawGraph.call(this);this.graph.attr({d:this.getCrispPath()})},getExtremes:b.noop},{getClassName:function(){var a=m.prototype.getClassName.call(this);this.isSum?a+=" highcharts-sum":this.isIntermediateSum&&(a+=" highcharts-intermediate-sum"); +return a},isValid:function(){return t(this.y,!0)||this.isSum||this.isIntermediateSum}})})(x);(function(b){var r=b.Series,t=b.seriesType,w=b.seriesTypes;t("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var b=r.prototype.getGraphPath.call(this),q=b.length+1;q--;)(q===b.length||"M"===b[q])&&0=this.minPxSize/2?(d.shapeType="circle",d.shapeArgs={x:d.plotX,y:d.plotY,r:c},d.dlBox={x:d.plotX-c,y:d.plotY-c,width:2*c,height:2*c}):d.shapeArgs=d.plotY=d.dlBox=void 0},drawLegendSymbol:function(a,b){var d=this.chart.renderer,c=d.fontMetrics(a.itemStyle.fontSize).f/2;b.legendSymbol=d.circle(c,a.baseline-c,c).attr({zIndex:3}).add(b.legendGroup);b.legendSymbol.isMarker= +!0},drawPoints:l.column.prototype.drawPoints,alignDataLabel:l.column.prototype.alignDataLabel,buildKDTree:a,applyZones:a},{haloPath:function(a){return h.prototype.haloPath.call(this,this.shapeArgs.r+a)},ttBelow:!1});w.prototype.beforePadding=function(){var a=this,b=this.len,c=this.chart,h=0,l=b,u=this.isXAxis,m=u?"xData":"yData",w=this.min,x={},A=Math.min(c.plotWidth,c.plotHeight),C=Number.MAX_VALUE,D=-Number.MAX_VALUE,E=this.max-w,z=b/E,F=[];q(this.series,function(b){var g=b.options;!b.bubblePadding|| +!b.visible&&c.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,F.push(b),u&&(q(["minSize","maxSize"],function(a){var b=g[a],d=/%$/.test(b),b=f(b);x[a]=d?A*b/100:b}),b.minPxSize=x.minSize,b.maxPxSize=Math.max(x.maxSize,x.minSize),b=b.zData,b.length&&(C=d(g.zMin,Math.min(C,Math.max(t(b),!1===g.displayNegative?g.zThreshold:-Number.MAX_VALUE))),D=d(g.zMax,Math.max(D,r(b))))))});q(F,function(b){var d=b[m],c=d.length,f;u&&b.getRadii(C,D,b.minPxSize,b.maxPxSize);if(0f&&(f+=360),a.clientX=f):a.clientX=a.plotX};m.spline&&q(m.spline.prototype,"getPointSpline",function(a,b,f,h){var d,c,e,k,p,g,n;this.chart.polar?(d=f.plotX, +c=f.plotY,a=b[h-1],e=b[h+1],this.connectEnds&&(a||(a=b[b.length-2]),e||(e=b[1])),a&&e&&(k=a.plotX,p=a.plotY,b=e.plotX,g=e.plotY,k=(1.5*d+k)/2.5,p=(1.5*c+p)/2.5,e=(1.5*d+b)/2.5,n=(1.5*c+g)/2.5,b=Math.sqrt(Math.pow(k-d,2)+Math.pow(p-c,2)),g=Math.sqrt(Math.pow(e-d,2)+Math.pow(n-c,2)),k=Math.atan2(p-c,k-d),p=Math.atan2(n-c,e-d),n=Math.PI/2+(k+p)/2,Math.abs(k-n)>Math.PI/2&&(n-=Math.PI),k=d+Math.cos(n)*b,p=c+Math.sin(n)*b,e=d+Math.cos(Math.PI+n)*g,n=c+Math.sin(Math.PI+n)*g,f.rightContX=e,f.rightContY=n), +h?(f=["C",a.rightContX||a.plotX,a.rightContY||a.plotY,k||d,p||c,d,c],a.rightContX=a.rightContY=null):f=["M",d,c]):f=a.call(this,b,f,h);return f});q(e,"translate",function(a){var b=this.chart;a.call(this);if(b.polar&&(this.kdByAngle=b.tooltip&&b.tooltip.shared,!this.preventPostTranslate))for(a=this.points,b=a.length;b--;)this.toXY(a[b])});q(e,"getGraphPath",function(a,b){var d=this,e,m;if(this.chart.polar){b=b||this.points;for(e=0;eb.center[1]}),q(m,"alignDataLabel",function(a,b,f,h,m,c){this.chart.polar?(a=b.rectPlotX/Math.PI*180,null===h.align&&(h.align=20a?"left":200a?"right":"center"),null===h.verticalAlign&&(h.verticalAlign=45>a||315a?"top":"middle"),e.alignDataLabel.call(this,b,f,h,m,c)):a.call(this, +b,f,h,m,c)}));q(b,"getCoordinates",function(a,b){var d=this.chart,e={xAxis:[],yAxis:[]};d.polar?t(d.axes,function(a){var c=a.isXAxis,f=a.center,h=b.chartX-f[0]-d.plotLeft,f=b.chartY-f[1]-d.plotTop;e[c?"xAxis":"yAxis"].push({axis:a,value:a.translate(c?Math.PI-Math.atan2(h,f):Math.sqrt(Math.pow(h,2)+Math.pow(f,2)),!0)})}):e=a.call(this,b);return e})})(x)}); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/highstock.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/highstock.js new file mode 100644 index 0000000..34a3f91 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/highstock.js @@ -0,0 +1,496 @@ +/* + Highstock JS v5.0.3 (2016-11-18) + + (c) 2009-2016 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(N,a){"object"===typeof module&&module.exports?module.exports=N.document?a(N):a:N.Highcharts=a(N)})("undefined"!==typeof window?window:this,function(N){N=function(){var a=window,D=a.document,B=a.navigator&&a.navigator.userAgent||"",G=D&&D.createElementNS&&!!D.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,H=/(edge|msie|trident)/i.test(B)&&!window.opera,p=!G,l=/Firefox/.test(B),r=l&&4>parseInt(B.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highstock", +version:"5.0.3",deg2rad:2*Math.PI/360,doc:D,hasBidiBug:r,hasTouch:D&&void 0!==D.documentElement.ontouchstart,isMS:H,isWebKit:/AppleWebKit/.test(B),isFirefox:l,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(B),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:G,vml:p,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var D=[],B=a.charts,G=a.doc,H=a.win;a.error=function(a,l){a="Highcharts error #"+ +a+": www.highcharts.com/errors/"+a;if(l)throw Error(a);H.console&&console.log(a)};a.Fx=function(a,l,r){this.options=l;this.elem=a;this.prop=r};a.Fx.prototype={dSetter:function(){var a=this.paths[0],l=this.paths[1],r=[],w=this.now,t=a.length,k;if(1===w)r=this.toD;else if(t===l.length&&1>w)for(;t--;)k=parseFloat(a[t]),r[t]=isNaN(k)?a[t]:w*parseFloat(l[t]-k)+k;else r=l;this.elem.attr("d",r)},update:function(){var a=this.elem,l=this.prop,r=this.now,w=this.options.step;if(this[l+"Setter"])this[l+"Setter"](); +else a.attr?a.element&&a.attr(l,r):a.style[l]=r+this.unit;w&&w.call(a,r,this)},run:function(a,l,r){var p=this,t=function(a){return t.stopped?!1:p.step(a)},k;this.startTime=+new Date;this.start=a;this.end=l;this.unit=r;this.now=this.start;this.pos=0;t.elem=this.elem;t()&&1===D.push(t)&&(t.timerId=setInterval(function(){for(k=0;k=k+this.startTime){this.now=this.end;this.pos=1;this.update();a=m[this.prop]=!0;for(e in m)!0!==m[e]&&(a=!1);a&&t&&t.call(p);p=!1}else this.pos=w.easing((l-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),p=!0;return p},initPath:function(p,l,r){function w(a){for(b=a.length;b--;)"M"!==a[b]&&"L"!==a[b]||a.splice(b+1,0,a[b+1],a[b+2],a[b+1],a[b+2])}function t(a,c){for(;a.lengthm?"AM":"PM",P:12>m?"am":"pm",S:q(t.getSeconds()),L:q(Math.round(l%1E3),3)},a.dateFormats);for(k in w)for(;-1!==p.indexOf("%"+k);)p= +p.replace("%"+k,"function"===typeof w[k]?w[k](l):w[k]);return r?p.substr(0,1).toUpperCase()+p.substr(1):p};a.formatSingle=function(p,l){var r=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(p)?(r=(r=p.match(r))?r[1]:-1,null!==l&&(l=a.numberFormat(l,r,w.decimalPoint,-1=r&&(l=[1/r])));for(w=0;w=p||!t&&k<=(l[w]+(l[w+1]||l[w]))/ +2);w++);return m*r};a.stableSort=function(a,l){var r=a.length,p,t;for(t=0;tr&&(r=a[l]);return r};a.destroyObjectProperties=function(a,l){for(var r in a)a[r]&&a[r]!==l&&a[r].destroy&&a[r].destroy(),delete a[r]};a.discardElement=function(p){var l= +a.garbageBin;l||(l=a.createElement("div"));p&&l.appendChild(p);l.innerHTML=""};a.correctFloat=function(a,l){return parseFloat(a.toPrecision(l||14))};a.setAnimation=function(p,l){l.renderer.globalAnimation=a.pick(p,l.options.chart.animation,!0)};a.animObject=function(p){return a.isObject(p)?a.merge(p):{duration:p?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(p,l,r,w){p=+p||0;l=+l;var t=a.defaultOptions.lang, +k=(p.toString().split(".")[1]||"").length,m,e,g=Math.abs(p);-1===l?l=Math.min(k,20):a.isNumber(l)||(l=2);m=String(a.pInt(g.toFixed(l)));e=3p?"-":"")+(e?m.substr(0,e)+w:"");p+=m.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+w);l&&(w=Math.abs(g-m+Math.pow(10,-Math.max(l,k)-1)),p+=r+w.toFixed(l).slice(2));return p};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(p,l){return"width"===l?Math.min(p.offsetWidth, +p.scrollWidth)-a.getStyle(p,"padding-left")-a.getStyle(p,"padding-right"):"height"===l?Math.min(p.offsetHeight,p.scrollHeight)-a.getStyle(p,"padding-top")-a.getStyle(p,"padding-bottom"):(p=H.getComputedStyle(p,void 0))&&a.pInt(p.getPropertyValue(l))};a.inArray=function(a,l){return l.indexOf?l.indexOf(a):[].indexOf.call(l,a)};a.grep=function(a,l){return[].filter.call(a,l)};a.map=function(a,l){for(var r=[],p=0,t=a.length;pl;l++)w[l]+=p(255*a),0>w[l]&&(w[l]=0),255z.width)z={width:0,height:0}}else z=this.htmlGetBBox();b.isSVG&&(a=z.width, +b=z.height,c&&L&&"11px"===L.fontSize&&"16.9"===b.toPrecision(3)&&(z.height=b=14),v&&(z.width=Math.abs(b*Math.sin(d))+Math.abs(a*Math.cos(d)),z.height=Math.abs(b*Math.cos(d))+Math.abs(a*Math.sin(d))));if(g&&0]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,c,v){"string"===typeof a?v.setAttribute(c, +a):a&&this.colorGradient(a,c,v)},visibilitySetter:function(a,c,v){"inherit"===a?v.removeAttribute(c):v.setAttribute(c,a)},zIndexSetter:function(a,c){var v=this.renderer,z=this.parentGroup,b=(z||v).element||v.box,d,n=this.element,f;d=this.added;var e;k(a)&&(n.zIndex=a,a=+a,this[c]===a&&(d=!1),this[c]=a);if(d){(a=this.zIndex)&&z&&(z.handleZ=!0);c=b.childNodes;for(e=0;ea||!k(a)&&k(d)||0>a&&!k(d)&&b!==v.box)&&(b.insertBefore(n,z),f=!0);f||b.appendChild(n)}return f}, +_defaultSetter:function(a,c,v){v.setAttribute(c,a)}};D.prototype.yGetter=D.prototype.xGetter;D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.rotationSetter=D.prototype.verticalAlignSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=function(a,c){this[c]=a;this.doTransform=!0};D.prototype["stroke-widthSetter"]=D.prototype.strokeSetter=function(a,c,v){this[c]=a;this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",v),v.setAttribute("stroke-width", +this["stroke-width"]),this.hasStroke=!0):"stroke-width"===c&&0===a&&this.hasStroke&&(v.removeAttribute("stroke"),this.hasStroke=!1)};B=a.SVGRenderer=function(){this.init.apply(this,arguments)};B.prototype={Element:D,SVG_NS:K,init:function(a,c,v,b,d,n){var z;b=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(b));z=b.element;a.appendChild(z);-1===a.innerHTML.indexOf("xmlns")&&p(z,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=z;this.boxWrapper=b;this.alignedObjects= +[];this.url=(E||A)&&g.getElementsByTagName("base").length?R.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highstock 5.0.3"));this.defs=this.createElement("defs").add();this.allowHTML=n;this.forExport=d;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(c,v,!1);var f;E&&a.getBoundingClientRect&&(c=function(){w(a,{left:0,top:0});f=a.getBoundingClientRect(); +w(a,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},c(),this.unSubPixelFix=G(R,"resize",c))},getStyle:function(a){return this.style=C({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();e(this.gradients||{});this.gradients= +null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var c=new this.Element;c.init(this,a);return c},draw:J,getRadialAttr:function(a,c){return{cx:a[0]-a[2]/2+c.cx*a[2],cy:a[1]-a[2]/2+c.cy*a[2],r:c.r*a[2]}},buildText:function(a){for(var c=a.element,z=this,b=z.forExport,n=y(a.textStr,"").toString(),f=-1!==n.indexOf("\x3c"),e=c.childNodes,q,F,x,A,I=p(c,"x"),m=a.styles,k=a.textWidth,C=m&&m.lineHeight,M=m&&m.textOutline,J=m&& +"ellipsis"===m.textOverflow,E=e.length,O=k&&!a.added&&this.box,t=function(a){var v;v=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:m&&m.fontSize||z.style.fontSize||12;return C?u(C):z.fontMetrics(v,a.getAttribute("style")?a:c).h};E--;)c.removeChild(e[E]);f||M||J||k||-1!==n.indexOf(" ")?(q=/<.*class="([^"]+)".*>/,F=/<.*style="([^"]+)".*>/,x=/<.*href="(http[^"]+)".*>/,O&&O.appendChild(c),n=f?n.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(//g,"\x3c/span\x3e").split(//g):[n],n=d(n,function(a){return""!==a}),h(n,function(d,n){var f,e=0;d=d.replace(/^\s+|\s+$/g,"").replace(//g,"\x3c/span\x3e|||");f=d.split("|||");h(f,function(d){if(""!==d||1===f.length){var u={},y=g.createElementNS(z.SVG_NS,"tspan"),L,h;q.test(d)&&(L=d.match(q)[1],p(y,"class",L));F.test(d)&&(h=d.match(F)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),p(y,"style",h));x.test(d)&&!b&&(p(y, +"onclick",'location.href\x3d"'+d.match(x)[1]+'"'),w(y,{cursor:"pointer"}));d=(d.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"\x3c").replace(/>/g,"\x3e");if(" "!==d){y.appendChild(g.createTextNode(d));e?u.dx=0:n&&null!==I&&(u.x=I);p(y,u);c.appendChild(y);!e&&n&&(!v&&b&&w(y,{display:"block"}),p(y,"dy",t(y)));if(k){u=d.replace(/([^\^])-/g,"$1- ").split(" ");L="nowrap"===m.whiteSpace;for(var C=1k,void 0===A&&(A=M),J&&A?(Q/=2,""===l||!M&&.5>Q?u=[]:(l=d.substring(0,l.length+(M?-1:1)*Math.ceil(Q)),u=[l+(3k&&(k=P)),u.length&&y.appendChild(g.createTextNode(u.join(" ").replace(/- /g, +"-")));a.rotation=R}e++}}})}),A&&a.attr("title",a.textStr),O&&O.removeChild(c),M&&a.applyTextOutline&&a.applyTextOutline(M)):c.appendChild(g.createTextNode(n.replace(/</g,"\x3c").replace(/>/g,"\x3e")))},getContrast:function(a){a=r(a).rgba;return 510v?d>c+f&&de?d>c+f&&db&&e>a+f&&ed&&e>a+f&&ea?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}},rotCorr:function(a, +c,v){var b=a;c&&v&&(b=Math.max(b*Math.cos(c*m),4));return{x:-a/3*Math.sin(c*m),y:b}},label:function(a,c,v,b,d,n,f,e,K){var q=this,u=q.g("button"!==K&&"label"),y=u.text=q.text("",0,0,f).attr({zIndex:1}),g,F,z=0,A=3,L=0,m,M,J,E,O,t={},l,R,r=/^url\((.*?)\)$/.test(b),p=r,P,w,Q,S;K&&u.addClass("highcharts-"+K);p=r;P=function(){return(l||0)%2/2};w=function(){var a=y.element.style,c={};F=(void 0===m||void 0===M||O)&&k(y.textStr)&&y.getBBox();u.width=(m||F.width||0)+2*A+L;u.height=(M||F.height||0)+2*A;R= +A+q.fontMetrics(a&&a.fontSize,y).b;p&&(g||(u.box=g=q.symbols[b]||r?q.symbol(b):q.rect(),g.addClass(("button"===K?"":"highcharts-label-box")+(K?" highcharts-"+K+"-box":"")),g.add(u),a=P(),c.x=a,c.y=(e?-R:0)+a),c.width=Math.round(u.width),c.height=Math.round(u.height),g.attr(C(c,t)),t={})};Q=function(){var a=L+A,c;c=e?0:R;k(m)&&F&&("center"===O||"right"===O)&&(a+={center:.5,right:1}[O]*(m-F.width));if(a!==y.x||c!==y.y)y.attr("x",a),void 0!==c&&y.attr("y",c);y.x=a;y.y=c};S=function(a,c){g?g.attr(a,c): +t[a]=c};u.onAdd=function(){y.add(u);u.attr({text:a||0===a?a:"",x:c,y:v});g&&k(d)&&u.attr({anchorX:d,anchorY:n})};u.widthSetter=function(a){m=a};u.heightSetter=function(a){M=a};u["text-alignSetter"]=function(a){O=a};u.paddingSetter=function(a){k(a)&&a!==A&&(A=u.padding=a,Q())};u.paddingLeftSetter=function(a){k(a)&&a!==L&&(L=a,Q())};u.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==z&&(z=a,F&&u.attr({x:J}))};u.textSetter=function(a){void 0!==a&&y.textSetter(a);w();Q()};u["stroke-widthSetter"]= +function(a,c){a&&(p=!0);l=this["stroke-width"]=a;S(c,a)};u.strokeSetter=u.fillSetter=u.rSetter=function(a,c){"fill"===c&&a&&(p=!0);S(c,a)};u.anchorXSetter=function(a,c){d=a;S(c,Math.round(a)-P()-J)};u.anchorYSetter=function(a,c){n=a;S(c,a-E)};u.xSetter=function(a){u.x=a;z&&(a-=z*((m||F.width)+2*A));J=Math.round(a);u.attr("translateX",J)};u.ySetter=function(a){E=u.y=Math.round(a);u.attr("translateY",E)};var T=u.css;return C(u,{css:function(a){if(a){var c={};a=x(a);h(u.textProps,function(v){void 0!== +a[v]&&(c[v]=a[v],delete a[v])});y.css(c)}return T.call(u,a)},getBBox:function(){return{width:F.width+2*A,height:F.height+2*A,x:F.x-A,y:F.y-A}},shadow:function(a){a&&(w(),g&&g.shadow(a));return u},destroy:function(){I(u.element,"mouseenter");I(u.element,"mouseleave");y&&(y=y.destroy());g&&(g=g.destroy());D.prototype.destroy.call(u);u=q=w=Q=S=null}})}};a.Renderer=B})(N);(function(a){var D=a.attr,B=a.createElement,G=a.css,H=a.defined,p=a.each,l=a.extend,r=a.isFirefox,w=a.isMS,t=a.isWebKit,k=a.pInt,m= +a.SVGRenderer,e=a.win,g=a.wrap;l(a.SVGElement.prototype,{htmlCss:function(a){var e=this.element;if(e=a&&"SPAN"===e.tagName&&a.width)delete a.width,this.textWidth=e,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=l(this.styles,a);G(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a= +this.renderer,e=this.element,f=this.translateX||0,d=this.translateY||0,b=this.x||0,q=this.y||0,g=this.textAlign||"left",c={left:0,center:.5,right:1}[g],F=this.styles;G(e,{marginLeft:f,marginTop:d});this.shadows&&p(this.shadows,function(a){G(a,{marginLeft:f+1,marginTop:d+1})});this.inverted&&p(e.childNodes,function(c){a.invertChild(c,e)});if("SPAN"===e.tagName){var n=this.rotation,A=k(this.textWidth),x=F&&F.whiteSpace,m=[n,g,e.innerHTML,this.textWidth,this.textAlign].join();m!==this.cTT&&(F=a.fontMetrics(e.style.fontSize).b, +H(n)&&this.setSpanRotation(n,c,F),G(e,{width:"",whiteSpace:x||"nowrap"}),e.offsetWidth>A&&/[ \-]/.test(e.textContent||e.innerText)&&G(e,{width:A+"px",display:"block",whiteSpace:x||"normal"}),this.getSpanCorrection(e.offsetWidth,F,c,n,g));G(e,{left:b+(this.xCorr||0)+"px",top:q+(this.yCorr||0)+"px"});t&&(F=e.offsetHeight);this.cTT=m}}else this.alignOnAdd=!0},setSpanRotation:function(a,g,f){var d={},b=w?"-ms-transform":t?"-webkit-transform":r?"MozTransform":e.opera?"-o-transform":"";d[b]=d.transform= +"rotate("+a+"deg)";d[b+(r?"Origin":"-origin")]=d.transformOrigin=100*g+"% "+f+"px";G(this.element,d)},getSpanCorrection:function(a,e,f){this.xCorr=-a*f;this.yCorr=-e}});l(m.prototype,{html:function(a,e,f){var d=this.createElement("span"),b=d.element,q=d.renderer,h=q.isSVG,c=function(a,c){p(["opacity","visibility"],function(b){g(a,b+"Setter",function(a,b,d,n){a.call(this,b,d,n);c[d]=b})})};d.textSetter=function(a){a!==b.innerHTML&&delete this.bBox;b.innerHTML=this.textStr=a;d.htmlUpdateTransform()}; +h&&c(d,d.element.style);d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter=function(a,c){"align"===c&&(c="textAlign");d[c]=a;d.htmlUpdateTransform()};d.attr({text:a,x:Math.round(e),y:Math.round(f)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});b.style.whiteSpace="nowrap";d.css=d.htmlCss;h&&(d.add=function(a){var n,f=q.box.parentNode,e=[];if(this.parentGroup=a){if(n=a.div,!n){for(;a;)e.push(a),a=a.parentGroup;p(e.reverse(),function(a){var b,d=D(a.element, +"class");d&&(d={className:d});n=a.div=a.div||B("div",d,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},n||f);b=n.style;l(a,{translateXSetter:function(c,d){b.left=c+"px";a[d]=c;a.doTransform=!0},translateYSetter:function(c,d){b.top=c+"px";a[d]=c;a.doTransform=!0}});c(a,b)})}}else n=f;n.appendChild(b);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d});return d}})})(N);(function(a){var D, +B,G=a.createElement,H=a.css,p=a.defined,l=a.deg2rad,r=a.discardElement,w=a.doc,t=a.each,k=a.erase,m=a.extend;D=a.extendClass;var e=a.isArray,g=a.isNumber,h=a.isObject,C=a.merge;B=a.noop;var f=a.pick,d=a.pInt,b=a.SVGElement,q=a.SVGRenderer,E=a.win;a.svg||(B={docMode8:w&&8===w.documentMode,init:function(a,b){var c=["\x3c",b,' filled\x3d"f" stroked\x3d"f"'],d=["position: ","absolute",";"],f="div"===b;("shape"===b||f)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",f?"hidden":"visible"); +c.push(' style\x3d"',d.join(""),'"/\x3e');b&&(c=f||"span"===b||"img"===b?c.join(""):a.prepVML(c),this.element=G(c));this.renderer=a},add:function(a){var c=this.renderer,b=this.element,d=c.box,f=a&&a.inverted,d=a?a.element||a:d;a&&(this.parentGroup=a);f&&c.invertChild(b,d);d.appendChild(b);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},updateTransform:b.prototype.htmlUpdateTransform, +setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*l),d=Math.sin(a*l);H(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",b,", M12\x3d",-d,", M21\x3d",d,", M22\x3d",b,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,d,e,q){var c=e?Math.cos(e*l):1,n=e?Math.sin(e*l):0,u=f(this.elemHeight,this.element.offsetHeight),g;this.xCorr=0>c&&-a;this.yCorr=0>n&&-u;g=0>c*n;this.xCorr+=n*b*(g?1-d:d);this.yCorr-=c*b*(e?g?d:1-d:1);q&&"left"!== +q&&(this.xCorr-=a*d*(0>c?-1:1),e&&(this.yCorr-=u*d*(0>n?-1:1)),H(this.element,{textAlign:q}))},pathToVML:function(a){for(var c=a.length,b=[];c--;)g(a[c])?b[c]=Math.round(10*a[c])-5:"Z"===a[c]?b[c]="x":(b[c]=a[c],!a.isArc||"wa"!==a[c]&&"at"!==a[c]||(b[c+5]===b[c+7]&&(b[c+7]+=a[c+7]>a[c+5]?1:-1),b[c+6]===b[c+8]&&(b[c+8]+=a[c+8]>a[c+6]?1:-1)));return b.join(" ")||"x"},clip:function(a){var c=this,b;a?(b=a.members,k(b,c),b.push(c),c.destroyClip=function(){k(b,c)},a=a.getCSS(c)):(c.destroyClip&&c.destroyClip(), +a={clip:c.docMode8?"inherit":"rect(auto)"});return c.css(a)},css:b.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&r(a)},destroy:function(){this.destroyClip&&this.destroyClip();return b.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=E.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c;a=a.split(/[ ,]/);c=a.length;if(9===c||11===c)a[c-4]=a[c-2]=d(a[c-2])-10*b;return a.join(" ")},shadow:function(a,b,e){var c=[],n,q=this.element, +g=this.renderer,u,I=q.style,F,v=q.path,K,h,m,z;v&&"string"!==typeof v.value&&(v="x");h=v;if(a){m=f(a.width,3);z=(a.opacity||.15)/m;for(n=1;3>=n;n++)K=2*m+1-2*n,e&&(h=this.cutOffPath(v.value,K+.5)),F=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',K,'" filled\x3d"false" path\x3d"',h,'" coordsize\x3d"10 10" style\x3d"',q.style.cssText,'" /\x3e'],u=G(g.prepVML(F),null,{left:d(I.left)+f(a.offsetX,1),top:d(I.top)+f(a.offsetY,1)}),e&&(u.cutOff=K+1),F=['\x3cstroke color\x3d"',a.color||"#000000",'" opacity\x3d"', +z*n,'"/\x3e'],G(g.prepVML(F),null,null,u),b?b.element.appendChild(u):q.parentNode.insertBefore(u,q),c.push(u);this.shadows=c}return this},updateShadows:B,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,b,d){(d.getElementsByTagName("stroke")[0]||G(this.renderer.prepVML(["\x3cstroke/\x3e"]),null,null,d))[b]=a||"solid";this[b]=a},dSetter:function(a,b,d){var c=this.shadows; +a=a||[];this.d=a.join&&a.join(" ");d.path=a=this.pathToVML(a);if(c)for(d=c.length;d--;)c[d].path=c[d].cutOff?this.cutOffPath(a,c[d].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,d){var c=d.nodeName;"SPAN"===c?d.style.color=a:"IMG"!==c&&(d.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,d,b,this)))},"fill-opacitySetter":function(a,b,d){G(this.renderer.prepVML(["\x3c",b.split("-")[0],' opacity\x3d"',a,'"/\x3e']),null,null,d)},opacitySetter:B,rotationSetter:function(a,b,d){d= +d.style;this[b]=d[b]=a;d.left=-Math.round(Math.sin(a*l)+1)+"px";d.top=Math.round(Math.cos(a*l))+"px"},strokeSetter:function(a,b,d){this.setAttr("strokecolor",this.renderer.color(a,d,b,this))},"stroke-widthSetter":function(a,b,d){d.stroked=!!a;this[b]=a;g(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,d){"inherit"===a&&(a="visible");this.shadows&&t(this.shadows,function(c){c.style[b]=a});"DIV"===d.nodeName&&(a="hidden"===a?"-999em": +0,this.docMode8||(d.style[b]=a?"visible":"hidden"),b="top");d.style[b]=a},xSetter:function(a,b,d){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):d.style[b]=a},zIndexSetter:function(a,b,d){d.style[b]=a}},B["stroke-opacitySetter"]=B["fill-opacitySetter"],a.VMLElement=B=D(b,B),B.prototype.ySetter=B.prototype.widthSetter=B.prototype.heightSetter=B.prototype.xSetter,B={Element:B,isIE8:-1l[0]&&c.push([1,l[1]]);t(c,function(c,b){q.test(c[1])?(n=a.color(c[1]),v=n.get("rgb"),K=n.get("a")):(v=c[1],K=1);r.push(100*c[0]+"% "+v);b?(m=K,k=v):(z=K,E=v)});if("fill"===d)if("gradient"===g)d=A.x1||A[0]||0,c=A.y1||A[1]||0,F=A.x2||A[2]||0,A=A.y2||A[3]||0,C='angle\x3d"'+(90-180*Math.atan((A-c)/(F-d))/Math.PI)+'"',p();else{var h=A.r,w=2*h,B=2*h,D=A.cx,H=A.cy,V=b.radialReference,U,h=function(){V&&(U=f.getBBox(),D+=(V[0]- +U.x)/U.width-.5,H+=(V[1]-U.y)/U.height-.5,w*=V[2]/U.width,B*=V[2]/U.height);C='src\x3d"'+a.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+w+","+B+'" origin\x3d"0.5,0.5" position\x3d"'+D+","+H+'" color2\x3d"'+E+'" ';p()};f.added?h():f.onAdd=h;h=k}else h=v}else q.test(c)&&"IMG"!==b.tagName?(n=a.color(c),f[d+"-opacitySetter"](n.get("a"),d,b),h=n.get("rgb")):(h=b.getElementsByTagName(d),h.length&&(h[0].opacity=1,h[0].type="solid"),h=c);return h},prepVML:function(a){var c=this.isIE8;a=a.join(""); +c?(a=a.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),a=-1===a.indexOf('style\x3d"')?a.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(#default#VML);" /\x3e'):a.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(#default#VML);')):a=a.replace("\x3c","\x3chcv:");return a},text:q.prototype.html,path:function(a){var c={coordsize:"10 10"};e(a)?c.d=a:h(a)&&m(c,a);return this.createElement("shape").attr(c)},circle:function(a,b,d){var c=this.symbol("circle"); +h(a)&&(d=a.r,b=a.y,a=a.x);c.isCircle=!0;c.r=d;return c.attr({x:a,y:b})},g:function(a){var c;a&&(c={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement("div").attr(c)},image:function(a,b,d,f,e){var c=this.createElement("img").attr({src:a});1f&&m-d*bg&&(F=Math.round((e-m)/Math.cos(f*w)));else if(e=m+(1-d)*b,m-d*bg&&(E=g-a.x+E*d,c=-1),E=Math.min(q, +E),EE||k.autoRotation&&(C.styles||{}).width)F=E;F&&(n.width=F,(k.options.labels.style||{}).textOverflow||(n.textOverflow="ellipsis"),C.css(n))},getPosition:function(a,k,m,e){var g=this.axis,h=g.chart,l=e&&h.oldChartHeight||h.chartHeight;return{x:a?g.translate(k+m,null,null,e)+g.transB:g.left+g.offset+(g.opposite?(e&&h.oldChartWidth||h.chartWidth)-g.right-g.left:0),y:a?l-g.bottom+g.offset-(g.opposite?g.height:0):l-g.translate(k+m,null, +null,e)-g.transB}},getLabelPosition:function(a,k,m,e,g,h,l,f){var d=this.axis,b=d.transA,q=d.reversed,E=d.staggerLines,c=d.tickRotCorr||{x:0,y:0},F=g.y;B(F)||(F=0===d.side?m.rotation?-8:-m.getBBox().height:2===d.side?c.y+8:Math.cos(m.rotation*w)*(c.y-m.getBBox(!1,0).height/2));a=a+g.x+c.x-(h&&e?h*b*(q?-1:1):0);k=k+F-(h&&!e?h*b*(q?1:-1):0);E&&(m=l/(f||1)%E,d.opposite&&(m=E-m-1),k+=d.labelOffset/E*m);return{x:a,y:Math.round(k)}},getMarkPath:function(a,k,m,e,g,h){return h.crispLine(["M",a,k,"L",a+(g? +0:-m),k+(g?m:0)],e)},render:function(a,k,m){var e=this.axis,g=e.options,h=e.chart.renderer,C=e.horiz,f=this.type,d=this.label,b=this.pos,q=g.labels,E=this.gridLine,c=f?f+"Tick":"tick",F=e.tickSize(c),n=this.mark,A=!n,x=q.step,p={},y=!0,u=e.tickmarkOffset,I=this.getPosition(C,b,u,k),M=I.x,I=I.y,v=C&&M===e.pos+e.len||!C&&I===e.pos?-1:1,K=f?f+"Grid":"grid",O=g[K+"LineWidth"],R=g[K+"LineColor"],z=g[K+"LineDashStyle"],K=l(g[c+"Width"],!f&&e.isXAxis?1:0),c=g[c+"Color"];m=l(m,1);this.isActive=!0;E||(p.stroke= +R,p["stroke-width"]=O,z&&(p.dashstyle=z),f||(p.zIndex=1),k&&(p.opacity=0),this.gridLine=E=h.path().attr(p).addClass("highcharts-"+(f?f+"-":"")+"grid-line").add(e.gridGroup));if(!k&&E&&(b=e.getPlotLinePath(b+u,E.strokeWidth()*v,k,!0)))E[this.isNew?"attr":"animate"]({d:b,opacity:m});F&&(e.opposite&&(F[0]=-F[0]),A&&(this.mark=n=h.path().addClass("highcharts-"+(f?f+"-":"")+"tick").add(e.axisGroup),n.attr({stroke:c,"stroke-width":K})),n[A?"attr":"animate"]({d:this.getMarkPath(M,I,F[0],n.strokeWidth()* +v,C,h),opacity:m}));d&&H(M)&&(d.xy=I=this.getLabelPosition(M,I,d,C,q,u,a,x),this.isFirst&&!this.isLast&&!l(g.showFirstLabel,1)||this.isLast&&!this.isFirst&&!l(g.showLastLabel,1)?y=!1:!C||e.isRadial||q.step||q.rotation||k||0===m||this.handleOverflow(I),x&&a%x&&(y=!1),y&&H(I.y)?(I.opacity=m,d[this.isNew?"attr":"animate"](I)):(r(d),d.attr("y",-9999)),this.isNew=!1)},destroy:function(){G(this,this.axis)}}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.AxisPlotLineOrBandExtension, +l=a.color,r=a.correctFloat,w=a.defaultOptions,t=a.defined,k=a.deg2rad,m=a.destroyObjectProperties,e=a.each,g=a.error,h=a.extend,C=a.fireEvent,f=a.format,d=a.getMagnitude,b=a.grep,q=a.inArray,E=a.isArray,c=a.isNumber,F=a.isString,n=a.merge,A=a.normalizeTickInterval,x=a.pick,J=a.PlotLineOrBand,y=a.removeEvent,u=a.splat,I=a.syncTimeout,M=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M", +hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb", +lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15}, +title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,c){var b=c.isX;this.chart=a;this.horiz=a.inverted?!b:b;this.isXAxis=b;this.coll=this.coll||(b?"xAxis":"yAxis");this.opposite=c.opposite;this.side=c.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(c);var d=this.options,v=d.type;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter; +this.userOptions=c;this.minPixelPadding=0;this.reversed=d.reversed;this.visible=!1!==d.visible;this.zoomEnabled=!1!==d.zoomEnabled;this.hasNames="category"===v||!0===d.categories;this.categories=d.categories||this.hasNames;this.names=this.names||[];this.isLog="logarithmic"===v;this.isDatetimeAxis="datetime"===v;this.isLinked=t(d.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom; +this.range=d.range;this.offset=d.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=x(d.crosshair,u(a.options.tooltip.crosshairs)[b?0:1],!1);var f;c=this.options.events;-1===q(this,a.axes)&&(b?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&b&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(f in c)D(this,f,c[f]); +this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=n(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],n(w[this.coll],a))},defaultLabelFormatter:function(){var c=this.axis,b=this.value,d=c.categories,e=this.dateTimeLabelFormat,q=w.lang,u=q.numericSymbols,q=q.numericSymbolMagnitude||1E3,n=u&&u.length,g,y=c.options.labels.format, +c=c.isLog?b:c.tickInterval;if(y)g=f(y,this);else if(d)g=b;else if(e)g=a.dateFormat(e,b);else if(n&&1E3<=c)for(;n--&&void 0===g;)d=Math.pow(q,n+1),c>=d&&0===10*b%d&&null!==u[n]&&0!==b&&(g=a.numberFormat(b/d,-1)+u[n]);void 0===g&&(g=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b,-1,void 0,""));return g},getSeriesExtremes:function(){var a=this,d=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();e(a.series,function(v){if(v.visible|| +!d.options.chart.ignoreHiddenSeries){var f=v.options,e=f.threshold,q;a.hasVisibleSeries=!0;a.isLog&&0>=e&&(e=null);if(a.isXAxis)f=v.xData,f.length&&(v=H(f),c(v)||v instanceof Date||(f=b(f,function(a){return c(a)}),v=H(f)),a.dataMin=Math.min(x(a.dataMin,f[0]),v),a.dataMax=Math.max(x(a.dataMax,f[0]),G(f)));else if(v.getExtremes(),q=v.dataMax,v=v.dataMin,t(v)&&t(q)&&(a.dataMin=Math.min(x(a.dataMin,v),v),a.dataMax=Math.max(x(a.dataMax,q),q)),t(e)&&(a.threshold=e),!f.softThreshold||a.isLog)a.softThreshold= +!1}})},translate:function(a,b,d,f,e,q){var v=this.linkedParent||this,u=1,n=0,g=f?v.oldTransA:v.transA;f=f?v.oldMin:v.min;var K=v.minPixelPadding;e=(v.isOrdinal||v.isBroken||v.isLog&&e)&&v.lin2val;g||(g=v.transA);d&&(u*=-1,n=v.len);v.reversed&&(u*=-1,n-=u*(v.sector||v.len));b?(a=(a*u+n-K)/g+f,e&&(a=v.lin2val(a))):(e&&(a=v.val2lin(a)),a=u*(a-f)*g+n+u*K+(c(q)?g*q:0));return a},toPixels:function(a,c){return this.translate(a,!1,!this.horiz,null,!0)+(c?0:this.pos)},toValue:function(a,c){return this.translate(a- +(c?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,d,f,e){var v=this.chart,q=this.left,u=this.top,n,g,K=d&&v.oldChartHeight||v.chartHeight,y=d&&v.oldChartWidth||v.chartWidth,z;n=this.transB;var h=function(a,c,b){if(ab)f?a=Math.min(Math.max(c,a),b):z=!0;return a};e=x(e,this.translate(a,null,null,d));a=d=Math.round(e+n);n=g=Math.round(K-e-n);c(e)?this.horiz?(n=u,g=K-this.bottom,a=d=h(a,q,q+this.width)):(a=q,d=y-this.right,n=g=h(n,u,u+this.height)):z=!0;return z&&!f?null:v.renderer.crispLine(["M", +a,n,"L",d,g],b||1)},getLinearTickPositions:function(a,b,d){var v,f=r(Math.floor(b/a)*a),e=r(Math.ceil(d/a)*a),q=[];if(b===d&&c(b))return[b];for(b=f;b<=e;){q.push(b);b=r(b+a);if(b===v)break;v=b}return q},getMinorTickPositions:function(){var a=this.options,c=this.tickPositions,b=this.minorTickInterval,d=[],f,e=this.pointRangePadding||0;f=this.min-e;var e=this.max+e,q=e-f;if(q&&q/b=this.minRange,q,u,n,g,y,h;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(t(a.min)||t(a.max)?this.minRange=null:(e(this.series,function(a){g=a.xData;for(u=y=a.xIncrement? +1:g.length-1;0=E?(p=E,m=0):b.dataMax<=E&&(J=E,I=0)),b.min=x(w,p,b.dataMin),b.max=x(B,J,b.dataMax));q&&(!a&&0>=Math.min(b.min, +x(b.dataMin,b.min))&&g(10,1),b.min=r(u(b.min),15),b.max=r(u(b.max),15));b.range&&t(b.max)&&(b.userMin=b.min=w=Math.max(b.min,b.minFromRange()),b.userMax=B=b.max,b.range=null);C(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(l||b.axisPointRange||b.usePercentage||h)&&t(b.min)&&t(b.max)&&(u=b.max-b.min)&&(!t(w)&&m&&(b.min-=u*m),!t(B)&&I&&(b.max+=u*I));c(f.floor)?b.min=Math.max(b.min,f.floor):c(f.softMin)&&(b.min=Math.min(b.min,f.softMin));c(f.ceiling)?b.max=Math.min(b.max, +f.ceiling):c(f.softMax)&&(b.max=Math.max(b.max,f.softMax));M&&t(b.dataMin)&&(E=E||0,!t(w)&&b.min=E?b.min=E:!t(B)&&b.max>E&&b.dataMax<=E&&(b.max=E));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:h&&!k&&F===b.linkedParent.options.tickPixelInterval?k=b.linkedParent.tickInterval:x(k,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,l?1:(b.max-b.min)*F/Math.max(b.len,F));y&&!a&&e(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0); +b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!k&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));a=x(f.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!k&&b.tickIntervalb.tickInterval&&1E3b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval= +b.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,d=a.tickPositioner,f=a.startOnTick,e=a.endOnTick,q;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units), +this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,d&&(d=d.apply(this,[this.min,this.max])))&&(this.tickPositions=b=d);this.isLinked||(this.trimTicks(b,f,e),this.min===this.max&&t(this.min)&&!this.tickAmount&&(q=!0,this.min-=.5,this.max+=.5),this.single=q,c||d||this.adjustTickAmount())}, +trimTicks:function(a,b,c){var d=a[0],f=a[a.length-1],v=this.minPointOffset||0;if(b)this.min=d;else for(;this.min-v>a[0];)a.shift();if(c)this.max=f;else for(;this.max+vb&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,d=this.finalTickAmt,f=b&&b.length;if(fc&&(this.tickInterval*= +2,this.setTickPositions());if(t(d)){for(a=c=b.length;a--;)(3===d&&1===a%2||2>=d&&0=f&&(b=f)),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=this.horiz,f=x(b.width,a.plotWidth-c+(b.offsetRight||0)),e=x(b.height,a.plotHeight),q=x(b.top,a.plotTop),b=x(b.left,a.plotLeft+c),c=/%$/;c.test(e)&&(e=Math.round(parseFloat(e)/ +100*a.plotHeight));c.test(q)&&(q=Math.round(parseFloat(q)/100*a.plotHeight+a.plotTop));this.left=b;this.top=q;this.width=f;this.height=e;this.bottom=a.chartHeight-e-q;this.right=a.chartWidth-f-b;this.len=Math.max(d?f:e,0);this.pos=d?b:q},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?r(b(this.min)):this.min,max:a?r(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=this.lin2log, +d=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=d:d>a?a=d:ba?"right":195a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],d=x(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(d&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,d]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize, +this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,d=c,f=this.len/(((this.categories?1:0)+this.max-this.min)/c),q,u=a.rotation,n=this.labelMetrics(),g,y=Number.MAX_VALUE,h,I=function(a){a/=f||1;a=1=a)g=I(Math.abs(n.h/Math.sin(k*a))),b=g+Math.abs(a/360),b(c.step||0)&&!c.rotation&&(this.staggerLines||1)*a.plotWidth/d||!b&&(f&&f-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,d=this.ticks,f=this.options.labels,q=this.horiz,u=this.getSlotWidth(),g=Math.max(1, +Math.round(u-2*(f.padding||5))),y={},h=this.labelMetrics(),I=f.style&&f.style.textOverflow,A,x=0,m,k;F(f.rotation)||(y.rotation=f.rotation||0);e(c,function(a){(a=d[a])&&a.labelLength>x&&(x=a.labelLength)});this.maxLabelLength=x;if(this.autoRotation)x>g&&x>h.h?y.rotation=this.labelRotation:this.labelRotation=0;else if(u&&(A={width:g+"px"},!I))for(A.textOverflow="clip",m=c.length;!q&&m--;)if(k=c[m],g=d[k].label)g.styles&&"ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):d[k].labelLength> +u&&g.css({width:u+"px"}),g.getBBox().height>this.len/c.length-(h.h-h.f)&&(g.specCss={textOverflow:"ellipsis"});y.rotation&&(A={width:(x>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},I||(A.textOverflow="ellipsis"));if(this.labelAlign=f.align||this.autoLabelAlign(this.labelRotation))y.align=this.labelAlign;e(c,function(a){var b=(a=d[a])&&a.label;b&&(b.attr(y),A&&b.css(n(A,b.specCss)),delete b.specCss,a.rotation=y.rotation)});this.tickRotCorr=b.rotCorr(h.b,this.labelRotation||0,0!==this.side)}, +hasData:function(){return this.hasVisibleSeries||t(this.min)&&t(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,f=a.tickPositions,q=a.ticks,u=a.horiz,n=a.side,g=b.inverted?[1,0,3,2][n]:n,y,h,I=0,A,m=0,k=d.title,F=d.labels,E=0,l=a.opposite,C=b.axisOffset,b=b.clipOffset,p=[-1,1,1,-1][n],r,J=d.className,w=a.axisParent,B=this.tickSize("tick");y=a.hasData();a.showAxis=h=y||x(d.showEmpty,!0);a.staggerLines=a.horiz&&F.staggerLines;a.axisGroup||(a.gridGroup= +c.g("grid").attr({zIndex:d.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(J||"")).add(w),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(J||"")).add(w),a.labelGroup=c.g("axis-labels").attr({zIndex:F.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(J||"")).add(w));if(y||a.isLinked)e(f,function(b){q[b]?q[b].addLabel():q[b]=new M(a,b)}),a.renderUnsquish(),!1===F.reserveSpace||0!==n&&2!==n&&{1:"left",3:"right"}[n]!== +a.labelAlign&&"center"!==a.labelAlign||e(f,function(a){E=Math.max(q[a].getLabelSize(),E)}),a.staggerLines&&(E*=a.staggerLines,a.labelOffset=E*(a.opposite?-1:1));else for(r in q)q[r].destroy(),delete q[r];k&&k.text&&!1!==k.enabled&&(a.axisTitle||((r=k.textAlign)||(r=(u?{low:"left",middle:"center",high:"right"}:{low:l?"right":"left",middle:"center",high:l?"left":"right"})[k.align]),a.axisTitle=c.text(k.text,0,0,k.useHTML).attr({zIndex:7,rotation:k.rotation||0,align:r}).addClass("highcharts-axis-title").css(k.style).add(a.axisGroup), +a.axisTitle.isNew=!0),h&&(I=a.axisTitle.getBBox()[u?"height":"width"],A=k.offset,m=t(A)?0:x(k.margin,u?5:10)),a.axisTitle[h?"show":"hide"](!0));a.renderLine();a.offset=p*x(d.offset,C[n]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===n?-a.labelMetrics().h:2===n?a.tickRotCorr.y:0;m=Math.abs(E)+m;E&&(m=m-c+p*(u?x(F.y,a.tickRotCorr.y+8*p):F.x));a.axisTitleMargin=x(A,m);C[n]=Math.max(C[n],a.axisTitleMargin+I+p*a.offset,m,y&&f.length&&B?B[0]:0);d=d.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[g]= +Math.max(b[g],d)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,f=this.horiz,e=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",f?this.left:e,f?d:this.top,"L",f?b.chartWidth-this.right:e,f?d:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor, +"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,f=this.options.title,e=a?b:c,q=this.opposite,u=this.offset,n=f.x||0,g=f.y||0,y=this.chart.renderer.fontMetrics(f.style&&f.style.fontSize,this.axisTitle).f,d={low:e+(a?0:d),middle:e+d/2,high:e+(a?d:0)}[f.align],b=(a?c+this.height:b)+(a?1:-1)*(q?-1:1)*this.axisTitleMargin+(2===this.side?y:0);return{x:a?d+n:b+(q?this.width:0)+u+n,y:a?b+g-(q?this.height:0)+u:d+g}},render:function(){var a= +this,b=a.chart,d=b.renderer,f=a.options,q=a.isLog,u=a.lin2log,n=a.isLinked,g=a.tickPositions,y=a.axisTitle,h=a.ticks,A=a.minorTicks,x=a.alternateBands,m=f.stackLabels,k=f.alternateGridColor,F=a.tickmarkOffset,E=a.axisLine,l=b.hasRendered&&c(a.oldMin),C=a.showAxis,p=B(d.globalAnimation),r,t;a.labelEdge.length=0;a.overlap=!1;e([h,A,x],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||n)a.minorTickInterval&&!a.categories&&e(a.getMinorTickPositions(),function(b){A[b]||(A[b]=new M(a,b,"minor")); +l&&A[b].isNew&&A[b].render(null,!0);A[b].render(null,!1,1)}),g.length&&(e(g,function(b,c){if(!n||b>=a.min&&b<=a.max)h[b]||(h[b]=new M(a,b)),l&&h[b].isNew&&h[b].render(c,!0,.1),h[b].render(c)}),F&&(0===a.min||a.single)&&(h[-1]||(h[-1]=new M(a,-1,null,!0)),h[-1].render(-1))),k&&e(g,function(c,d){t=void 0!==g[d+1]?g[d+1]+F:a.max-F;0===d%2&&c=e.second?0:A*Math.floor(c.getMilliseconds()/A));if(n>=e.second)c[B.hcSetSeconds](n>=e.minute?0:A*Math.floor(c.getSeconds()/ +A));if(n>=e.minute)c[B.hcSetMinutes](n>=e.hour?0:A*Math.floor(c[B.hcGetMinutes]()/A));if(n>=e.hour)c[B.hcSetHours](n>=e.day?0:A*Math.floor(c[B.hcGetHours]()/A));if(n>=e.day)c[B.hcSetDate](n>=e.month?1:A*Math.floor(c[B.hcGetDate]()/A));n>=e.month&&(c[B.hcSetMonth](n>=e.year?0:A*Math.floor(c[B.hcGetMonth]()/A)),g=c[B.hcGetFullYear]());if(n>=e.year)c[B.hcSetFullYear](g-g%A);if(n===e.week)c[B.hcSetDate](c[B.hcGetDate]()-c[B.hcGetDay]()+m(f,1));g=c[B.hcGetFullYear]();f=c[B.hcGetMonth]();var C=c[B.hcGetDate](), +y=c[B.hcGetHours]();if(B.hcTimezoneOffset||B.hcGetTimezoneOffset)x=(!q||!!B.hcGetTimezoneOffset)&&(k-h>4*e.month||t(h)!==t(k)),c=c.getTime(),c=new B(c+t(c));q=c.getTime();for(h=1;qr&&(!t||b<=w)&&void 0!==b&&h.push(b),b>w&&(q=!0),b=d;else r=e(r),w= +e(w),a=k[t?"minorTickInterval":"tickInterval"],a=p("auto"===a?null:a,this._minorAutoInterval,k.tickPixelInterval/(t?5:1)*(w-r)/((t?m/this.tickPositions.length:m)||1)),a=H(a,null,B(a)),h=G(this.getLinearTickPositions(a,r,w),g),t||(this._minorAutoInterval=a/5);t||(this.tickInterval=a);return h};D.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};D.prototype.lin2log=function(a){return Math.pow(10,a)}})(N);(function(a){var D=a.dateFormat,B=a.each,G=a.extend,H=a.format,p=a.isNumber,l=a.map,r= +a.merge,w=a.pick,t=a.splat,k=a.stop,m=a.syncTimeout,e=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,e){this.chart=a;this.options=e;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=e.split&&!a.inverted;this.shared=e.shared||this.split},cleanSplit:function(a){B(this.chart.series,function(e){var g=e&&e.tt;g&&(!g.isActive||a?e.tt=g.destroy():g.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,e=this.options;this.label|| +(this.split?this.label=a.g("tooltip"):(this.label=a.label("",0,0,e.shape||"callout",null,null,e.useHTML,null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),this.label.attr({fill:e.backgroundColor,"stroke-width":e.borderWidth}).css(e.style).shadow(e.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,r(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart, +!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,e,m,f){var d=this,b=d.now,q=!1!==d.options.animation&&!d.isHidden&&(1h-q?h:h-q);else if(v)b[a]=Math.max(g,e+q+f>c?e:e+q);else return!1},x=function(a,c,f,e){var q;ec-d?q=!1:b[a]=ec-f/2?c-f-2:e-f/2;return q},k=function(a){var b=c;c=h;h=b;g=a},y=function(){!1!==A.apply(0,c)?!1!==x.apply(0,h)||g||(k(!0),y()):g?b.x=b.y=0:(k(!0),y())};(f.inverted||1y&&(q=!1);a=(e.series&&e.series.yAxis&&e.series.yAxis.pos)+(e.plotY||0);a-=d.plotTop;f.push({target:e.isHeader?d.plotHeight+c:a,rank:e.isHeader?1:0,size:n.tt.getBBox().height+1,point:e,x:y,tt:A})});this.cleanSplit(); +a.distribute(f,d.plotHeight+c);B(f,function(a){var b=a.point;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:q||b.isHeader?a.x:b.plotX+d.plotLeft+w(m.distance,16),y:a.pos+d.plotTop,anchorX:b.plotX+d.plotLeft,anchorY:b.isHeader?a.pos+d.plotTop-15:b.plotY+d.plotTop})})},updatePosition:function(a){var e=this.chart,g=this.getLabel(),g=(this.options.positioner||this.getPosition).call(this,g.width,g.height,a);this.move(Math.round(g.x),Math.round(g.y||0),a.plotX+e.plotLeft,a.plotY+e.plotTop)}, +getXDateFormat:function(a,h,m){var f;h=h.dateTimeLabelFormats;var d=m&&m.closestPointRange,b,q={millisecond:15,second:12,minute:9,hour:6,day:3},g,c="millisecond";if(d){g=D("%m-%d %H:%M:%S.%L",a.x);for(b in e){if(d===e.week&&+D("%w",a.x)===m.options.startOfWeek&&"00:00:00.000"===g.substr(6)){b="week";break}if(e[b]>d){b=c;break}if(q[b]&&g.substr(q[b])!=="01-01 00:00:00.000".substr(q[b]))break;"week"!==b&&(c=b)}b&&(f=h[b])}else f=h.day;return f||h.year},tooltipFooterHeaderFormatter:function(a,e){var g= +e?"footer":"header";e=a.series;var f=e.tooltipOptions,d=f.xDateFormat,b=e.xAxis,q=b&&"datetime"===b.options.type&&p(a.key),g=f[g+"Format"];q&&!d&&(d=this.getXDateFormat(a,f,b));q&&d&&(g=g.replace("{point.key}","{point.key:"+d+"}"));return H(g,{point:a,series:e})},bodyFormatter:function(a){return l(a,function(a){var e=a.series.tooltipOptions;return(e.pointFormatter||a.point.tooltipFormatter).call(a.point,e.pointFormat)})}}})(N);(function(a){var D=a.addEvent,B=a.attr,G=a.charts,H=a.color,p=a.css,l= +a.defined,r=a.doc,w=a.each,t=a.extend,k=a.fireEvent,m=a.offset,e=a.pick,g=a.removeEvent,h=a.splat,C=a.Tooltip,f=a.win;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=b.chart.events&&!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};C&&b.tooltip.enabled&&(a.tooltip=new C(a,b.tooltip),this.followTouchMove=e(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,d=b.options.chart, +f=d.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(f=e(d.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=f=/y/.test(f);this.zoomHor=a&&!b||f&&b;this.zoomVert=f&&!b||a&&b;this.hasZoom=a||f},normalize:function(a,b){var d,e;a=a||f.event;a.target||(a.target=a.srcElement);e=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=m(this.chart.container));void 0===e.pageX?(d=Math.max(a.x,a.clientX-b.left),b=a.y):(d=e.pageX-b.left,b=e.pageY-b.top);return t(a,{chartX:Math.round(d), +chartY:Math.round(b)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};w(this.chart.axes,function(d){b[d.isXAxis?"xAxis":"yAxis"].push({axis:d,value:d.toValue(a[d.horiz?"chartX":"chartY"])})});return b},runPointActions:function(d){var b=this.chart,f=b.series,g=b.tooltip,c=g?g.shared:!1,h=!0,n=b.hoverPoint,m=b.hoverSeries,x,k,y,u=[],I;if(!c&&!m)for(x=0;xb.series.index?-1:1}));if(c)for(x=u.length;x--;)(u[x].x!==u[0].x||u[x].series.noSharedTooltip)&&u.splice(x,1);if(u[0]&&(u[0]!==this.prevKDPoint||g&&g.isHidden)){if(c&& +!u[0].series.noSharedTooltip){for(x=0;xh+k&&(f=h+k),cm+y&&(c=m+y),this.hasDragged=Math.sqrt(Math.pow(l-f,2)+Math.pow(v-c,2)),10x.max&&(l=x.max-c,v=!0);v?(u-=.8*(u-g[f][0]),J||(M-=.8*(M-g[f][1])),p()):g[f]=[u,M];A||(e[f]=F-E,e[q]=c);e=A?1/n:n;m[q]=c;m[f]=l;k[A?a?"scaleY":"scaleX":"scale"+d]=n;k["translate"+d]=e* +E+(u-e*y)},pinch:function(a){var r=this,t=r.chart,k=r.pinchDown,m=a.touches,e=m.length,g=r.lastValidTouch,h=r.hasZoom,C=r.selectionMarker,f={},d=1===e&&(r.inClass(a.target,"highcharts-tracker")&&t.runTrackerClick||r.runChartClick),b={};1b-6&&n(u||d.chartWidth- +2*x-v-e.x)&&(this.itemX=v,this.itemY+=p+this.lastLineHeight+I,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,c);this.lastItemY=p+this.itemY+I;this.lastLineHeight=Math.max(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=c:(this.itemY+=p+g+I,this.lastLineHeight=g);this.offsetWidth=u||Math.max((f?this.itemX-v-l:c)+x,this.offsetWidth)},getAllItems:function(){var a=[];l(this.chart.series,function(d){var b=d&&d.options;d&&m(b.showInLegend,p(b.linkedTo)? +!1:void 0,!0)&&(a=a.concat(d.legendItems||("point"===b.legendType?d.data:d)))});return a},adjustMargins:function(a,d){var b=this.chart,e=this.options,f=e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0);e.floating||l([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(c,g){c.test(f)&&!p(a[g])&&(b[t[g]]=Math.max(b[t[g]],b.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*e[g%2?"x":"y"]+m(e.margin,12)+d[g]))})},render:function(){var a=this,d=a.chart,b=d.renderer, +e=a.group,h,c,m,n,k=a.box,x=a.options,p=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;e||(a.group=e=b.g("legend").attr({zIndex:7}).add(),a.contentGroup=b.g().attr({zIndex:1}).add(e),a.scrollGroup=b.g().add(a.contentGroup));a.renderTitle();h=a.getAllItems();g(h,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});x.reversed&&h.reverse();a.allItems=h;a.display=c=!!h.length;a.lastLineHeight=0;l(h,function(b){a.renderItem(b)}); +m=(x.width||a.offsetWidth)+p;n=a.lastItemY+a.lastLineHeight+a.titleHeight;n=a.handleOverflow(n);n+=p;k||(a.box=k=b.rect().addClass("highcharts-legend-box").attr({r:x.borderRadius}).add(e),k.isNew=!0);k.attr({stroke:x.borderColor,"stroke-width":x.borderWidth||0,fill:x.backgroundColor||"none"}).shadow(x.shadow);0b&&!1!==h.enabled?(this.clipHeight=g=Math.max(b-20-this.titleHeight-I,0),this.currentPage=m(this.currentPage,1),this.fullHeight=a,l(v,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=u.length;if(!d||c-u[d-1]>g&&(r||c)!==u[d-1])u.push(r||c),d++;b===v.length-1&&c+a-u[d-1]>g&&u.push(c);c!==r&&(r=c)}),n||(n=d.clipRect= +e.clipRect(0,I,9999,0),d.contentGroup.clip(n)),t(g),y||(this.nav=y=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,p,p).on("click",function(){d.scroll(-1,k)}).add(y),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").css(h.style).add(y),this.down=e.symbol("triangle-down",0,0,p,p).on("click",function(){d.scroll(1,k)}).add(y)),d.scroll(0),a=b):y&&(t(),y.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,d){var b=this.pages, +f=b.length;a=this.currentPage+a;var g=this.clipHeight,c=this.options.navigation,h=this.pager,n=this.padding;a>f&&(a=f);0f&&(g=typeof a[0],"string"===g?e.name=a[0]:"number"===g&&(e.x=a[0]),d++);b=h.value;)h=e[++g];h&&h.color&&!this.options.color&&(this.color=h.color);return h},destroy:function(){var a=this.series.chart,e=a.hoverPoints,g;a.pointCount--;e&&(this.setState(),H(e,this),e.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)k(this), +this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],e,g=6;g--;)e=a[g],this[e]&&(this[e]=this[e].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var e=this.series,g= +e.tooltipOptions,h=t(g.valueDecimals,""),k=g.valuePrefix||"",f=g.valueSuffix||"";B(e.pointArrayMap||["y"],function(d){d="{point."+d;if(k||f)a=a.replace(d+"}",k+d+"}"+f);a=a.replace(d+"}",d+":,."+h+"f}")});return l(a,{point:this,series:this.series})},firePointEvent:function(a,e,g){var h=this,k=this.series.options;(k.point.events[a]||h.options&&h.options.events&&h.options.events[a])&&this.importEvents();"click"===a&&k.allowPointSelect&&(g=function(a){h.select&&h.select(null,a.ctrlKey||a.metaKey||a.shiftKey)}); +p(this,a,e,g)},visible:!0}})(N);(function(a){var D=a.addEvent,B=a.animObject,G=a.arrayMax,H=a.arrayMin,p=a.correctFloat,l=a.Date,r=a.defaultOptions,w=a.defaultPlotOptions,t=a.defined,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.fireEvent,C=a.grep,f=a.isArray,d=a.isNumber,b=a.isString,q=a.merge,E=a.pick,c=a.removeEvent,F=a.splat,n=a.stableSort,A=a.SVGElement,x=a.syncTimeout,J=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{}, +marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1, +marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,d,e,f=a.series,u,y=function(a,b){return E(a.options.index,a._i)-E(b.options.index,b._i)};c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();g(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0=== +b.selected});e=b.events;for(d in e)D(c,d,e[d]);if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();k(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);f.length&&(u=f[f.length-1]);c._i=E(u&&u._i,-1)+1;f.push(c);n(f,y);this.yAxis&&n(this.yAxis.series,y);k(f,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a=this,b=a.options,c=a.chart, +d;k(a.axisTypes||[],function(f){k(c[f],function(c){d=c.options;if(b[f]===d.index||void 0!==b[f]&&b[f]===d.id||void 0===b[f]&&0===d.index)c.series.push(a),a[f]=c,c.isDirty=!0});a[f]||a.optionalAxis===f||e(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,e=arguments,f=d(b)?function(d){var e="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=e}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(e,2))};k(c.parallelArrays,f)},autoIncrement:function(){var a=this.options, +b=this.xIncrement,c,d=a.pointIntervalUnit,b=E(b,a.pointStart,0);this.pointInterval=c=E(this.pointInterval,a.pointInterval,1);d&&(a=new l(b),"day"===d?a=+a[l.hcSetDate](a[l.hcGetDate]()+c):"month"===d?a=+a[l.hcSetMonth](a[l.hcGetMonth]()+c):"year"===d&&(a=+a[l.hcSetFullYear](a[l.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=q(e,c.series,a);this.tooltipOptions= +q(r.tooltip,r.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);null===e.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative",color:c.negativeColor,fillColor:c.negativeFillColor});a.length&&t(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor}); +return c},getCyclic:function(a,b,c){var d,e=this.userOptions,f=a+"Index",g=a+"Counter",u=c?c.length:E(this.chart.options.chart[a+"Count"],this.chart[a+"Count"]);b||(d=E(e[f],e["_"+f]),t(d)||(e["_"+f]=d=this.chart[g]%u,this.chart[g]+=1),c&&(b=c[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||w[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol, +this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(a,c,g,n){var u=this,q=u.points,h=q&&q.length||0,y,m=u.options,x=u.chart,A=null,I=u.xAxis,l=m.turboThreshold,p=this.xData,r=this.yData,F=(y=u.pointArrayMap)&&y.length;a=a||[];y=a.length;c=E(c,!0);if(!1!==n&&y&&h===y&&!u.cropped&&!u.hasGroupedData&&u.visible)k(a,function(a,b){q[b].update&&a!==m.data[b]&&q[b].update(a,!1,null,!1)});else{u.xIncrement=null;u.colorCounter=0;k(this.parallelArrays,function(a){u[a+ +"Data"].length=0});if(l&&y>l){for(g=0;null===A&&gh||this.forceCrop))if(b[d-1]l)b=[],c=[];else if(b[0]l)f=this.cropData(this.xData,this.yData,A,l),b=f.xData,c=f.yData,f=f.start,g=!0;for(h=b.length||1;--h;)d=x?y(b[h])-y(b[h-1]):b[h]-b[h-1],0d&&this.requireSorting&&e(15);this.cropped=g;this.cropStart=f;this.processedXData=b;this.processedYData=c;this.closestPointRange=n},cropData:function(a,b,c,d){var e=a.length,f=0,g=e,n=E(this.cropShoulder,1),u;for(u=0;u=c){f=Math.max(0,u- +n);break}for(c=u;cd){g=c+n;break}return{xData:a.slice(f,g),yData:b.slice(f,g),start:f,end:g}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,n=this.cropStart||0,q,h=this.hasGroupedData,k,m=[],x;b||h||(b=[],b.length=a.length,b=this.data=b);for(x=0;x=q&&(c[x-1]||k)<=h,y&&k)if(y=m.length)for(;y--;)null!==m[y]&&(g[n++]=m[y]);else g[n++]=m;this.dataMin=H(g);this.dataMax=G(g)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,e=c.categories,f=this.yAxis,g=this.points,n=g.length,q=!!this.modifyValue,h=a.pointPlacement,k="between"===h||d(h),m=a.threshold,x=a.startFromThreshold?m:0,A,l,r,F,J=Number.MAX_VALUE;"between"===h&&(h=.5);d(h)&&(h*=E(a.pointRange||c.pointRange)); +for(a=0;a=B&&(C.isNull=!0);C.plotX=A=p(Math.min(Math.max(-1E5,c.translate(w,0,0,0,1,h,"flags"===this.type)),1E5));b&&this.visible&&!C.isNull&&D&&D[w]&&(F=this.getStackIndicator(F,w,this.index),G=D[w],B=G.points[F.key],l=B[0],B=B[1],l===x&&F.key===D[w].base&&(l=E(m,f.min)),f.isLog&&0>=l&&(l=null),C.total=C.stackTotal=G.total,C.percentage=G.total&&C.y/G.total*100,C.stackY= +B,G.setOffset(this.pointXOffset||0,this.barW||0));C.yBottom=t(l)?f.translate(l,0,1,0,1):null;q&&(B=this.modifyValue(B,C));C.plotY=l="number"===typeof B&&Infinity!==B?Math.min(Math.max(-1E5,f.translate(B,0,1,0,1)),1E5):void 0;C.isInside=void 0!==l&&0<=l&&l<=f.len&&0<=A&&A<=c.len;C.clientX=k?p(c.translate(w,0,0,0,1,h)):A;C.negative=C.y<(m||0);C.category=e&&void 0!==e[C.x]?e[C.x]:C.x;C.isNull||(void 0!==r&&(J=Math.min(J,Math.abs(A-r))),r=A)}this.closestPointRangePx=J},getValidPoints:function(a,b){var c= +this.chart;return C(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,f=this.clipBox,g=f||b.clipBox,n=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,g.height,c.xAxis,c.yAxis].join(),q=b[n],h=b[n+"m"];q||(a&&(g.width=0,b[n+"m"]=h=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[n]=q=d.clipRect(g),q.count={length:0});a&&!q.count[this.index]&& +(q.count[this.index]=!0,q.count.length+=1);!1!==c.clip&&(this.group.clip(a||f?q:b.clipRect),this.markerGroup.clip(h),this.sharedClipKey=n);a||(q.count[this.index]&&(delete q.count[this.index],--q.count.length),0===q.count.length&&n&&b[n]&&(f||(b[n]=b[n].destroy()),b[n+"m"]&&(b[n+"m"]=b[n+"m"].destroy())))},animate:function(a){var b=this.chart,c=B(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+ +99},c),this.animate=null)},afterAnimate:function(){this.setClip();h(this,"afterAnimate")},drawPoints:function(){var a=this.points,b=this.chart,c,e,f,g,n=this.options.marker,q,h,k,m,x=this.markerGroup,A=E(n.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>2*n.radius);if(!1!==n.enabled||this._hasPointMarkers)for(e=a.length;e--;)f=a[e],c=f.plotY,g=f.graphic,q=f.marker||{},h=!!f.marker,k=A&&void 0===q.enabled||q.enabled,m=f.isInside,k&&d(c)&&null!==f.y?(c=E(q.symbol,this.symbol),f.hasImage= +0===c.indexOf("url"),k=this.markerAttribs(f,f.selected&&"select"),g?g[m?"show":"hide"](!0).animate(k):m&&(0e&&b.shadow));g&&(g.startX=c.xMap, +g.isArea=c.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,f,g=this.clips||[],n,q=this.graph,h=this.area,m=Math.max(b.chartWidth,b.chartHeight),x=this[(this.zoneAxis||"y")+"Axis"],A,l,p=b.inverted,r,F,C,t,J=!1;d.length&&(q||h)&&x&&void 0!==x.min&&(l=x.reversed,r=x.horiz,q&&q.hide(),h&&h.hide(),A=x.getExtremes(),k(d,function(d,u){e=l?r?b.plotWidth:0:r?0:x.toPixels(A.min);e=Math.min(Math.max(E(f,e),0),m);f=Math.min(Math.max(Math.round(x.toPixels(E(d.value,A.max), +!0)),0),m);J&&(e=f=x.toPixels(A.max));F=Math.abs(e-f);C=Math.min(e,f);t=Math.max(e,f);x.isXAxis?(n={x:p?t:C,y:0,width:F,height:m},r||(n.x=b.plotHeight-n.x)):(n={x:0,y:p?t:C,width:m,height:F},r&&(n.y=b.plotWidth-n.y));p&&c.isVML&&(n=x.isXAxis?{x:0,y:l?C:t,height:n.width,width:b.chartWidth}:{x:n.y-b.plotLeft-b.spacingBox.x,y:0,width:n.height,height:b.chartHeight});g[u]?g[u].animate(n):(g[u]=c.clipRect(n),q&&a["zone-graph-"+u].clip(g[u]),h&&a["zone-area-"+u].clip(g[u]));J=d.value>A.max}),this.clips= +g)},invertGroups:function(a){function b(){var b={width:c.yAxis.len,height:c.xAxis.len};k(["group","markerGroup"],function(d){c[d]&&c[d].attr(b).invert(a)})}var c=this,d;c.xAxis&&(d=D(c.chart,"resize",b),D(c,"destroy",d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({zIndex:d||.1}).add(e),f.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className|| +"")));f.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&B(d.animation).duration,f=a.visible?"inherit":"hidden",g=d.zIndex,n=a.hasRendered,q=b.seriesGroup,h=b.inverted;c=a.plotGroup("group","series",f,g,q);a.markerGroup= +a.plotGroup("markerGroup","markers",f,g,q);e&&a.animate(!0);c.inverted=a.isCartesian?h:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(h);!1===d.clip||a.sharedClipKey||n||c.clip(b.clipRect);e&&a.animate();n||(a.animationTimeout=x(function(){a.afterAnimate()},e));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty|| +this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:E(d&&d.left,a.plotLeft),translateY:E(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)}, +buildKDTree:function(){function a(c,d,e){var f,g;if(g=c&&c.length)return f=b.kdAxisArray[d%e],c.sort(function(a,b){return a[f]-b[f]}),g=Math.floor(g/2),{point:c[g],left:a(c.slice(0,g),d+1,e),right:a(c.slice(g+1),d+1,e)}}var b=this,c=b.kdDimensions;delete b.kdTree;x(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,n,q){var h=b.point,u=d.kdAxisArray[n%q],k,m,x=h;m=t(a[e])&&t(h[e])?Math.pow(a[e]-h[e],2):null;k=t(a[f])&& +t(h[f])?Math.pow(a[f]-h[f],2):null;k=(m||0)+(k||0);h.dist=t(k)?Math.sqrt(k):Number.MAX_VALUE;h.distX=t(m)?Math.sqrt(m):Number.MAX_VALUE;u=a[u]-h[u];k=0>u?"left":"right";m=0>u?"right":"left";b[k]&&(k=c(a,b[k],n+1,q),x=k[g]A;)l--;this.updateParallelArrays(h,"splice",l,0,0);this.updateParallelArrays(h,l);n&&h.name&&(n[A]=h.name);q.splice(l,0,a);m&&(this.data.splice(l,0,null),this.processData());"point"===c.legendType&&this.generatePoints();d&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(h,"shift"),q.shift()));this.isDirtyData=this.isDirty=!0;b&&g.redraw(e)},removePoint:function(a, +b,d){var c=this,e=c.data,f=e[a],g=c.points,n=c.chart,h=function(){g&&g.length===e.length&&g.splice(a,1);e.splice(a,1);c.options.data.splice(a,1);c.updateParallelArrays(f||{series:c},"splice",a,1);f&&f.destroy();c.isDirty=!0;c.isDirtyData=!0;b&&n.redraw()};q(d,n);b=C(b,!0);f?f.firePointEvent("remove",null,h):h()},remove:function(a,b,d){function c(){e.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();C(a,!0)&&f.redraw(b)}var e=this,f=e.chart;!1!==d?k(e,"remove",null,c):c()},update:function(a, +d){var c=this,e=this.chart,f=this.userOptions,g=this.type,q=a.type||f.type||e.options.chart.type,u=b[g].prototype,m=["group","markerGroup","dataLabelsGroup"],k;if(q&&q!==g||void 0!==a.zIndex)m.length=0;r(m,function(a){m[a]=c[a];delete c[a]});a=h(f,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(k in u)this[k]=void 0;t(this,b[q||g].prototype);r(m,function(a){c[a]=m[a]});this.init(e,a);e.linkSeries();C(d,!0)&&e.redraw(!1)}});t(G.prototype, +{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=h(this.userOptions,a);this.destroy(!0);this.init(c,t(a,{events:void 0}));c.isDirtyBox=!0;C(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);w(b.axes,this);w(b[c],this);b.options[c].splice(this.options.index,1);r(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;C(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a}, +b)},setCategories:function(a,b){this.update({categories:a},b)}})})(N);(function(a){var D=a.color,B=a.each,G=a.map,H=a.pick,p=a.Series,l=a.seriesType;l("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],l=[],p=this.xAxis,k=this.yAxis,m=k.stacks[this.stackKey],e={},g=this.points,h=this.index,C=k.series,f=C.length,d,b=H(k.options.reversedStacks,!0)?1:-1,q,E;if(this.options.stacking){for(q=0;qa&&t>l?(t=Math.max(a,l),m=2*l-t):tH&& +m>l?(m=Math.max(H,l),t=2*l-m):m=Math.abs(g)&&.5a.closestPointRange*a.xAxis.transA,k=a.borderWidth=r(h.borderWidth,k?0:1),f=a.yAxis,d=a.translatedThreshold=f.getThreshold(h.threshold),b=r(h.minPointLength,5),q=a.getColumnMetrics(),m=q.width,c=a.barW=Math.max(m,1+2*k),l=a.pointXOffset= +q.offset;g.inverted&&(d-=.5);h.pointPadding&&(c=Math.ceil(c));w.prototype.translate.apply(a);G(a.points,function(e){var n=r(e.yBottom,d),q=999+Math.abs(n),q=Math.min(Math.max(-q,e.plotY),f.len+q),h=e.plotX+l,k=c,u=Math.min(q,n),p,t=Math.max(q,n)-u;Math.abs(t)b?n-b:d-(p?b:0));e.barX=h;e.pointWidth=m;e.tooltipPos=g.inverted?[f.len+f.pos-g.plotLeft-q,a.xAxis.len-h-k/2,t]:[h+k/2,q+f.pos-g.plotTop,t];e.shapeType="rect";e.shapeArgs= +a.crispCol.apply(a,e.isNull?[e.plotX,f.len/2,0,0]:[h,u,k,t])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,g){var e=this.options,k=this.pointAttrToOptions||{},f=k.stroke||"borderColor",d=k["stroke-width"]||"borderWidth",b=a&&a.color||this.color,q=a[f]||e[f]||this.color||b,k=e.dashStyle,m;a&&this.zones.length&&(b=(b=a.getZone())&&b.color||a.options.color|| +this.color);g&&(g=e.states[g],m=g.brightness,b=g.color||void 0!==m&&B(b).brighten(g.brightness).get()||b,q=g[f]||q,k=g.dashStyle||k);a={fill:b,stroke:q,"stroke-width":a[d]||e[d]||this[d]||0};e.borderRadius&&(a.r=e.borderRadius);k&&(a.dashstyle=k);return a},drawPoints:function(){var a=this,g=this.chart,h=a.options,m=g.renderer,f=h.animationLimit||250,d;G(a.points,function(b){var e=b.graphic;p(b.plotY)&&null!==b.y?(d=b.shapeArgs,e?(k(e),e[g.pointCountt;++t)k=r[t],a=2>t||2===t&&/%$/.test(k),r[t]=B(k,[l,H,w,r[2]][t])+(a?p:0);r[3]>r[2]&&(r[3]=r[2]);return r}}})(N);(function(a){var D=a.addEvent,B=a.defined,G=a.each,H=a.extend,p=a.inArray,l=a.noop,r=a.pick,w=a.Point,t=a.Series,k=a.seriesType,m=a.setAnimation;k("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y? +void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var e=this,h=e.points,k=e.startAngleRad;a||(G(h,function(a){var d= +a.graphic,b=a.shapeArgs;d&&(d.attr({r:a.startR||e.center[3]/2,start:k,end:k}),d.animate({r:b.r,start:b.start,end:b.end},e.options.animation))}),e.animate=null)},updateTotals:function(){var a,g=0,h=this.points,k=h.length,f,d=this.options.ignoreHiddenPoint;for(a=0;af.y&&(f.y=null),g+=d&&!f.visible?0:f.y;this.total=g;for(a=0;a1.5*Math.PI?q-=2*Math.PI:q<-Math.PI/2&&(q+=2*Math.PI);t.slicedTranslation={translateX:Math.round(Math.cos(q)*k),translateY:Math.round(Math.sin(q)*k)};d=Math.cos(q)*a[2]/2;b=Math.sin(q)*a[2]/2;t.tooltipPos=[a[0]+.7*d,a[1]+.7*b];t.half=q<-Math.PI/2||q>Math.PI/2?1:0;t.angle=q;f=Math.min(f,n/5);t.labelPos=[a[0]+d+Math.cos(q)*n,a[1]+b+Math.sin(q)*n,a[0]+d+Math.cos(q)*f,a[1]+b+Math.sin(q)* +f,a[0]+d,a[1]+b,0>n?"center":t.half?"right":"left",q]}},drawGraph:null,drawPoints:function(){var a=this,g=a.chart.renderer,h,k,f,d,b=a.options.shadow;b&&!a.shadowGroup&&(a.shadowGroup=g.g("shadow").add(a.group));G(a.points,function(e){if(null!==e.y){k=e.graphic;d=e.shapeArgs;h=e.sliced?e.slicedTranslation:{};var q=e.shadowGroup;b&&!q&&(q=e.shadowGroup=g.g("shadow").add(a.shadowGroup));q&&q.attr(h);f=a.pointAttribs(e,e.selected&&"select");k?k.setRadialReference(a.center).attr(f).animate(H(d,h)):(e.graphic= +k=g[e.shapeType](d).addClass(e.getClassName()).setRadialReference(a.center).attr(h).add(a.group),e.visible||k.attr({visibility:"hidden"}),k.attr(f).attr({"stroke-linejoin":"round"}).shadow(b,q))}})},searchPoint:l,sortByAngle:function(a,g){a.sort(function(a,e){return void 0!==a.angle&&(e.angle-a.angle)*g})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:l},{init:function(){w.prototype.init.apply(this,arguments);var a=this,g;a.name=r(a.name,"Slice"); +g=function(e){a.slice("select"===e.type)};D(a,"select",g);D(a,"unselect",g);return a},setVisible:function(a,g){var e=this,k=e.series,f=k.chart,d=k.options.ignoreHiddenPoint;g=r(g,d);a!==e.visible&&(e.visible=e.options.visible=a=void 0===a?!e.visible:a,k.options.data[p(e,k.data)]=e.options,G(["graphic","dataLabel","connector","shadowGroup"],function(b){if(e[b])e[b][a?"show":"hide"](!0)}),e.legendItem&&f.legend.colorizeItem(e,a),a||"hover"!==e.state||e.setState(""),d&&(k.isDirty=!0),g&&f.redraw())}, +slice:function(a,g,h){var e=this.series;m(h,e.chart);r(g,!0);this.sliced=this.options.sliced=a=B(a)?a:!this.sliced;e.options.data[p(this,e.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)},haloPath:function(a){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+a,e.r+a,{innerR:this.shapeArgs.r,start:e.start,end:e.end})}})})(N);(function(a){var D= +a.addEvent,B=a.arrayMax,G=a.defined,H=a.each,p=a.extend,l=a.format,r=a.map,w=a.merge,t=a.noop,k=a.pick,m=a.relativeLength,e=a.Series,g=a.seriesTypes,h=a.stableSort,C=a.stop;a.distribute=function(a,d){function b(a,b){return a.target-b.target}var e,f=!0,c=a,g=[],n;n=0;for(e=a.length;e--;)n+=a[e].size;if(n>d){h(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(n=e=0;n<=d;)n+=a[e].size,e++;g=a.splice(e-1,a.length)}h(a,b);for(a=r(a,function(a){return{size:a.size,targets:[a.target]}});f;){for(e=a.length;e--;)f= +a[e],n=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=Math.min(Math.max(0,n-f.size/2),d-f.size);e=a.length;for(f=!1;e--;)0a[e].pos&&(a[e-1].size+=a[e].size,a[e-1].targets=a[e-1].targets.concat(a[e].targets),a[e-1].pos+a[e-1].size>d&&(a[e-1].pos=d-a[e-1].size),a.splice(e,1),f=!0)}e=0;H(a,function(a){var b=0;H(a.targets,function(){c[e].pos=a.pos+b;b+=c[e].size;e++})});c.push.apply(c,g);h(c,b)};e.prototype.drawDataLabels=function(){var a=this,d=a.options, +b=d.dataLabels,e=a.points,g,c,h=a.hasRendered||0,n,m,x=k(b.defer,!0),r=a.chart.renderer;if(b.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(b),m=a.plotGroup("dataLabelsGroup","data-labels",x&&!h?"hidden":"visible",b.zIndex||6),x&&(m.attr({opacity:+h}),h||D(a,"afterAnimate",function(){a.visible&&m.show(!0);m[d.animation?"animate":"attr"]({opacity:1},{duration:200})})),c=b,H(e,function(e){var f,q=e.dataLabel,h,x,A=e.connector,y=!0,t,z={};g=e.dlOptions||e.options&&e.options.dataLabels; +f=k(g&&g.enabled,c.enabled)&&null!==e.y;if(q&&!f)e.dataLabel=q.destroy();else if(f){b=w(c,g);t=b.style;f=b.rotation;h=e.getLabelConfig();n=b.format?l(b.format,h):b.formatter.call(h,b);t.color=k(b.color,t.color,a.color,"#000000");if(q)G(n)?(q.attr({text:n}),y=!1):(e.dataLabel=q=q.destroy(),A&&(e.connector=A.destroy()));else if(G(n)){q={fill:b.backgroundColor,stroke:b.borderColor,"stroke-width":b.borderWidth,r:b.borderRadius||0,rotation:f,padding:b.padding,zIndex:1};"contrast"===t.color&&(z.color=b.inside|| +0>b.distance||d.stacking?r.getContrast(e.color||a.color):"#000000");d.cursor&&(z.cursor=d.cursor);for(x in q)void 0===q[x]&&delete q[x];q=e.dataLabel=r[f?"text":"label"](n,0,-9999,b.shape,null,null,b.useHTML,null,"data-label").attr(q);q.addClass("highcharts-data-label-color-"+e.colorIndex+" "+(b.className||""));q.css(p(t,z));q.add(m);q.shadow(b.shadow)}q&&a.alignDataLabel(e,q,b,null,y)}})};e.prototype.alignDataLabel=function(a,d,b,e,g){var c=this.chart,f=c.inverted,n=k(a.plotX,-9999),q=k(a.plotY, +-9999),h=d.getBBox(),m,l=b.rotation,u=b.align,r=this.visible&&(a.series.forceDL||c.isInsidePlot(n,Math.round(q),f)||e&&c.isInsidePlot(n,f?e.x+1:e.y+e.height-1,f)),t="justify"===k(b.overflow,"justify");r&&(m=b.style.fontSize,m=c.renderer.fontMetrics(m,d).b,e=p({x:f?c.plotWidth-q:n,y:Math.round(f?c.plotHeight-n:q),width:0,height:0},e),p(b,{width:h.width,height:h.height}),l?(t=!1,f=c.renderer.rotCorr(m,l),f={x:e.x+b.x+e.width/2+f.x,y:e.y+b.y+{top:0,middle:.5,bottom:1}[b.verticalAlign]*e.height},d[g? +"attr":"animate"](f).attr({align:u}),n=(l+720)%360,n=180n,"left"===u?f.y-=n?h.height:0:"center"===u?(f.x-=h.width/2,f.y-=h.height/2):"right"===u&&(f.x-=h.width,f.y-=n?0:h.height)):(d.align(b,null,e),f=d.alignAttr),t?this.justifyDataLabel(d,b,f,h,e,g):k(b.crop,!0)&&(r=c.isInsidePlot(f.x,f.y)&&c.isInsidePlot(f.x+h.width,f.y+h.height)),b.shape&&!l&&d.attr({anchorX:a.plotX,anchorY:a.plotY}));r||(C(d),d.attr({y:-9999}),d.placed=!1)};e.prototype.justifyDataLabel=function(a,d,b,e,g,c){var f=this.chart, +n=d.align,h=d.verticalAlign,q,k,m=a.box?0:a.padding||0;q=b.x+m;0>q&&("right"===n?d.align="left":d.x=-q,k=!0);q=b.x+e.width-m;q>f.plotWidth&&("left"===n?d.align="right":d.x=f.plotWidth-q,k=!0);q=b.y+m;0>q&&("bottom"===h?d.verticalAlign="top":d.y=-q,k=!0);q=b.y+e.height-m;q>f.plotHeight&&("top"===h?d.verticalAlign="bottom":d.y=f.plotHeight-q,k=!0);k&&(a.placed=!c,a.align(d,null,g))};g.pie&&(g.pie.prototype.drawDataLabels=function(){var f=this,d=f.data,b,g=f.chart,h=f.options.dataLabels,c=k(h.connectorPadding, +10),m=k(h.connectorWidth,1),n=g.plotWidth,l=g.plotHeight,x,p=h.distance,y=f.center,u=y[2]/2,t=y[1],w=0k-2?A:P,e),v._attr={visibility:S,align:D[6]},v._pos={x:L+h.x+({left:c,right:-c}[D[6]]||0),y:P+h.y-10},D.x=L,D.y=P,null===f.options.size&&(C=v.width,L-Cn-c&&(T[1]=Math.max(Math.round(L+ +C-n+c),T[1])),0>P-G/2?T[0]=Math.max(Math.round(-P+G/2),T[0]):P+G/2>l&&(T[2]=Math.max(Math.round(P+G/2-l),T[2])))}),0===B(T)||this.verifyDataLabelOverflow(T))&&(this.placeDataLabels(),w&&m&&H(this.points,function(a){var b;x=a.connector;if((v=a.dataLabel)&&v._pos&&a.visible){S=v._attr.visibility;if(b=!x)a.connector=x=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(f.dataLabelsGroup),x.attr({"stroke-width":m,stroke:h.connectorColor||a.color||"#666666"}); +x[b?"attr":"animate"]({d:f.connectorPath(a.labelPos)});x.attr("visibility",S)}else x&&(a.connector=x.destroy())}))},g.pie.prototype.connectorPath=function(a){var d=a.x,b=a.y;return k(this.options.dataLabels.softConnector,!0)?["M",d+("left"===a[6]?5:-5),b,"C",d,b,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",d+("left"===a[6]?5:-5),b,"L",a[2],a[3],"L",a[4],a[5]]},g.pie.prototype.placeDataLabels=function(){H(this.points,function(a){var d=a.dataLabel;d&&a.visible&&((a=d._pos)?(d.attr(d._attr), +d[d.moved?"animate":"attr"](a),d.moved=!0):d&&d.attr({y:-9999}))})},g.pie.prototype.alignDataLabel=t,g.pie.prototype.verifyDataLabelOverflow=function(a){var d=this.center,b=this.options,e=b.center,f=b.minSize||80,c,g;null!==e[0]?c=Math.max(d[2]-Math.max(a[1],a[3]),f):(c=Math.max(d[2]-a[1]-a[3],f),d[0]+=(a[3]-a[1])/2);null!==e[1]?c=Math.max(Math.min(c,d[2]-Math.max(a[0],a[2])),f):(c=Math.max(Math.min(c,d[2]-a[0]-a[2]),f),d[1]+=(a[0]-a[2])/2);ck(this.translatedThreshold,f.yAxis.len)),m=k(b.inside,!!this.options.stacking);n&&(g=w(n),0>g.y&&(g.height+=g.y,g.y=0),n=g.y+g.height-f.yAxis.len,0a+e||c+nb+f||g+hthis.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints, +e;d&&r(d,function(a){a.setState()});r("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],n=(b.pointRange||0)/2,h=b.getExtremes(),q=b.toValue(g-f,!0)+n,n=b.toValue(g+b.len-f,!0)-n,g=g>f;b.series.length&&(g||q>Math.min(h.dataMin,h.min))&&(!g||n=p(k.minWidth,0)&&this.chartHeight>=p(k.minHeight,0)};void 0===l._id&&(l._id=a.uniqueKey());m=m.call(this);!r[l._id]&&m?l.chartOptions&&(r[l._id]=this.currentOptions(l.chartOptions),this.update(l.chartOptions,w)):r[l._id]&&!m&&(this.update(r[l._id],w),delete r[l._id])};D.prototype.currentOptions=function(a){function p(a,m,e){var g,h;for(g in a)if(-1< +G(g,["series","xAxis","yAxis"]))for(a[g]=l(a[g]),e[g]=[],h=0;hd.length||void 0===h)return a.call(this,g,h,k,f);x=d.length;for(c=0;ck;d[c]5*b||w){if(d[c]>u){for(r=a.call(this,g,d[e],d[c],f);r.length&&r[0]<=u;)r.shift();r.length&&(u=r[r.length-1]);y=y.concat(r)}e=c+1}if(w)break}a= +r.info;if(q&&a.unitRange<=m.hour){c=y.length-1;for(e=1;ek?a-1:a;for(M=void 0;q--;)e=c[q],k=M-e,M&&k<.8*C&&(null===t||k<.8*t)?(n[y[q]]&&!n[y[q+1]]?(k=q+1,M=e):k=q,y.splice(k,1)):M=e}return y});w(B.prototype,{beforeSetTickPositions:function(){var a, +g=[],h=!1,k,f=this.getExtremes(),d=f.min,b=f.max,q,m=this.isXAxis&&!!this.options.breaks,f=this.options.ordinal,c=this.chart.options.chart.ignoreHiddenSeries;if(f||m){r(this.series,function(b,d){if(!(c&&!1===b.visible||!1===b.takeOrdinalPosition&&!m)&&(g=g.concat(b.processedXData),a=g.length,g.sort(function(a,b){return a-b}),a))for(d=a-1;d--;)g[d]===g[d+1]&&g.splice(d,1)});a=g.length;if(2k||b-g[g.length- +1]>k)&&(h=!0)}h?(this.ordinalPositions=g,k=this.val2lin(Math.max(d,g[0]),!0),q=Math.max(this.val2lin(Math.min(b,g[g.length-1]),!0),1),this.ordinalSlope=b=(b-d)/(q-k),this.ordinalOffset=d-k*b):this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0}this.isOrdinal=f&&h;this.groupIntervalFactor=null},val2lin:function(a,g){var e=this.ordinalPositions;if(e){var k=e.length,f,d;for(f=k;f--;)if(e[f]===a){d=f;break}for(f=k-1;f--;)if(a>e[f]||0===f){a=(a-e[f])/(e[f+1]-e[f]);d=f+a;break}g=g?d:this.ordinalSlope* +(d||0)+this.ordinalOffset}else g=a;return g},lin2val:function(a,g){var e=this.ordinalPositions;if(e){var k=this.ordinalSlope,f=this.ordinalOffset,d=e.length-1,b;if(g)0>a?a=e[0]:a>d?a=e[d]:(d=Math.floor(a),b=a-d);else for(;d--;)if(g=k*d+f,a>=g){k=k*(d+1)+f;b=(a-g)/(k-g);break}return void 0!==b&&void 0!==e[d]?e[d]+(b?b*(e[d+1]-e[d]):0):a}return a},getExtendedPositions:function(){var a=this.chart,g=this.series[0].currentDataGrouping,h=this.ordinalIndex,k=g?g.count+g.unitName:"raw",f=this.getExtremes(), +d,b;h||(h=this.ordinalIndex={});h[k]||(d={series:[],chart:a,getExtremes:function(){return{min:f.dataMin,max:f.dataMax}},options:{ordinal:!0},val2lin:B.prototype.val2lin},r(this.series,function(e){b={xAxis:d,xData:e.xData,chart:a,destroyGroupedData:t};b.options={dataGrouping:g?{enabled:!0,forced:!0,approximation:"open",units:[[g.unitName,[g.count]]]}:{enabled:!1}};e.processData.apply(b);d.series.push(b)}),this.beforeSetTickPositions.apply(d),h[k]=d.ordinalPositions);return h[k]},getGroupIntervalFactor:function(a, +g,h){var e;h=h.processedXData;var f=h.length,d=[];e=this.groupIntervalFactor;if(!e){for(e=0;ed?(l=p,t=e.ordinalPositions?e:p):(l=e.ordinalPositions?e:p,t=p),p=t.ordinalPositions,q>p[p.length-1]&&p.push(q),this.fixedRange=c-m,d=e.toFixedRange(null,null,n.apply(l,[x.apply(l,[m,!0])+d,!0]),n.apply(t,[x.apply(t, +[c,!0])+d,!0])),d.min>=Math.min(b.dataMin,m)&&d.max<=Math.max(q,c)&&e.setExtremes(d.min,d.max,!0,!1,{trigger:"pan"}),this.mouseDownX=k,H(this.container,{cursor:"move"})):f=!0}else f=!0;f&&a.apply(this,Array.prototype.slice.call(arguments,1))});k.prototype.gappedPath=function(){var a=this.options.gapSize,g=this.points.slice(),h=g.length-1;if(a&&0this.closestPointRange*a&&g.splice(h+1,0,{isNull:!0});return this.getGraphPath(g)}})(N);(function(a){function D(){return Array.prototype.slice.call(arguments, +1)}function B(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,G(this.pointArrayMap,["y"]))}var G=a.pick,H=a.wrap,p=a.each,l=a.extend,r=a.fireEvent,w=a.Axis,t=a.Series;l(w.prototype,{isInBreak:function(a,m){var e=a.repeat||Infinity,g=a.from,h=a.to-a.from;m=m>=g?(m-g)%e:e-(g-m)%e;return a.inclusive?m<=h:m=a)break;else if(g.isInBreak(f,a)){e-=a-f.from;break}return e};this.lin2val=function(a){var e,f;for(f=0;f=a);f++)e.toh;)m-=b;for(;mb.to||l>b.from&&db.from&&db.from&&d>b.to&&d=c[0]);A++);for(A;A<=q;A++){for(;(void 0!==c[w+1]&&a[A]>=c[w+1]||A===q)&&(l=c[w],this.dataGroupInfo={start:p,length:t[0].length},p=d.apply(this,t),void 0!==p&&(g.push(l),h.push(p),m.push(this.dataGroupInfo)),p=A,t[0]=[],t[1]=[],t[2]=[],t[3]=[],w+=1,A!==q););if(A===q)break;if(x){l=this.cropStart+A;l=e&&e[l]|| +this.pointClass.prototype.applyOptions.apply({series:this},[f[l]]);var E,C;for(E=0;Ethis.chart.plotSizeX/d||b&&f.forced)&&(e=!0);return e?d:0};G.prototype.setDataGrouping=function(a,b){var c;b=e(b,!0);a||(a={forced:!1,units:null});if(this instanceof G)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else l(this.chart.options.series,function(b){b.dataGrouping=a},!1);b&&this.chart.redraw()}})(N);(function(a){var D=a.each,B=a.Point,G=a.seriesType,H=a.seriesTypes;G("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'}, +threshold:null,states:{hover:{lineWidth:3}}},{pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"high",pointAttribs:function(a,l){l=H.column.prototype.pointAttribs.call(this,a,l);var p=this.options;delete l.fill;l["stroke-width"]=p.lineWidth;l.stroke=a.options.color||(a.openk)););B(g,function(a,b){var d;void 0===a.plotY&&(a.x>=c.min&&a.x<=c.max?a.plotY=e.chartHeight-p.bottom-(p.opposite?p.height:0)+p.offset-e.plotTop:a.shapeArgs={});a.plotX+=t;(f=g[b-1])&&f.plotX===a.plotX&&(void 0===f.stackIndex&&(f.stackIndex=0),d=f.stackIndex+1);a.stackIndex=d})},drawPoints:function(){var a=this.points,e=this.chart,g=e.renderer,k,l,f=this.options,d=f.y,b,q,p,c,r,n,t,x=this.yAxis;for(q=a.length;q--;)p=a[q],t=p.plotX>this.xAxis.len,k=p.plotX,c=p.stackIndex,b= +p.options.shape||f.shape,l=p.plotY,void 0!==l&&(l=p.plotY+d-(void 0!==c&&c*f.stackDistance)),r=c?void 0:p.plotX,n=c?void 0:p.plotY,c=p.graphic,void 0!==l&&0<=k&&!t?(c||(c=p.graphic=g.label("",null,null,b,null,null,f.useHTML).attr(this.pointAttribs(p)).css(G(f.style,p.style)).attr({align:"flag"===b?"left":"center",width:f.width,height:f.height,"text-align":f.textAlign}).addClass("highcharts-point").add(this.markerGroup),c.shadow(f.shadow)),0h&&(e-=Math.round((l-h)/2),h=l);e=k[a](e,g,h,l);d&&f&&e.push("M",d,g>f?g:g+l,"L",d,f);return e}});p===t&&B(["flag","circlepin","squarepin"],function(a){t.prototype.symbols[a]=k[a]})})(N);(function(a){function D(a,d,e){this.init(a,d,e)}var B=a.addEvent,G=a.Axis,H=a.correctFloat,p=a.defaultOptions, +l=a.defined,r=a.destroyObjectProperties,w=a.doc,t=a.each,k=a.fireEvent,m=a.hasTouch,e=a.isTouchDevice,g=a.merge,h=a.pick,C=a.removeEvent,f=a.wrap,d={height:e?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:a.svg&&!e,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2", +trackBorderWidth:1};p.scrollbar=g(!0,d,p.scrollbar);D.prototype={init:function(a,e,f){this.scrollbarButtons=[];this.renderer=a;this.userOptions=e;this.options=g(d,e);this.chart=f;this.size=h(this.options.size,this.options.height);e.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,d=this.options,e=this.size,c;this.group=c=a.g("scrollbar").attr({zIndex:d.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0, +r:d.trackBorderRadius||0,height:e,width:e}).add(c);this.track.attr({fill:d.trackBackgroundColor,stroke:d.trackBorderColor,"stroke-width":d.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(c);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:e,width:e,r:d.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(this.swapXY(["M",-3,e/4,"L",-3,2*e/3,"M",0,e/4,"L", +0,2*e/3,"M",3,e/4,"L",3,2*e/3],d.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbar.attr({fill:d.barBackgroundColor,stroke:d.barBorderColor,"stroke-width":d.barBorderWidth});this.scrollbarRifles.attr({stroke:d.rifleColor,"stroke-width":1});this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a, +d,e,c){var b=this.options.vertical,f=0,g=this.rendered?"animate":"attr";this.x=a;this.y=d+this.trackBorderWidth;this.width=e;this.xOffset=this.height=c;this.yOffset=f;b?(this.width=this.yOffset=e=f=this.size,this.xOffset=d=0,this.barWidth=c-2*e,this.x=a+=this.options.margin):(this.height=this.xOffset=c=d=this.size,this.barWidth=e-2*c,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:e,height:c});this.scrollbarButtons[1].attr({translateX:b?0:e-d,translateY:b? +c-f:0})},drawScrollbarButton:function(a){var b=this.renderer,d=this.scrollbarButtons,c=this.options,e=this.size,f;f=b.g().add(this.group);d.push(f);f=b.rect().addClass("highcharts-scrollbar-button").add(f);f.attr({stroke:c.buttonBorderColor,"stroke-width":c.buttonBorderWidth,fill:c.buttonBackgroundColor});f.attr(f.crisp({x:-.5,y:-.5,width:e+1,height:e+1,r:c.buttonBorderRadius},f.strokeWidth()));f=b.path(this.swapXY(["M",e/2+(a?-1:1),e/2-3,"L",e/2+(a?-1:1),e/2+3,"L",e/2+(a?2:-2),e/2],c.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]); +f.attr({fill:c.buttonArrowColor})},swapXY:function(a,d){var b=a.length,c;if(d)for(d=0;d=k?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=d?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var d=a.chart.pointer.normalize(b),c=a.options.vertical? +"chartY":"chartX",e=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][c]||(d=a.cursorToScrollbarPosition(d)[c],c=a[c],c=d-c,a.hasDragged=!0,a.updatePosition(e[0]+c,e[1]+c),a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b); +b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var d=H(a.to-a.from)*a.options.step;a.updatePosition(H(a.from-d),H(a.to-d));k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var d=(a.to-a.from)*a.options.step;a.updatePosition(a.from+d,a.to+d);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var d=a.chart.pointer.normalize(b), +c=a.to-a.from,e=a.y+a.scrollbarTop,f=a.x+a.scrollbarLeft;a.options.vertical&&d.chartY>e||!a.options.vertical&&d.chartX>f?a.updatePosition(a.from+c,a.to+c):a.updatePosition(a.from-c,a.to-c);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a, +d){1a&&(d=H(d-a),a=0);this.from=a;this.to=d},update:function(a){this.destroy();this.init(this.chart.renderer,g(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],d=this.scrollbarButtons,e=this.scrollbarGroup.element,c=this.mouseDownHandler,f=this.mouseMoveHandler,g=this.mouseUpHandler,a=[[d[a[0]].element,"click",this.buttonToMinClick],[d[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[e, +"mousedown",c],[w,"mousemove",f],[w,"mouseup",g]];m&&a.push([e,"touchstart",c],[w,"touchmove",f],[w,"touchend",g]);t(a,function(a){B.apply(null,a)});this._events=a},removeEvents:function(){t(this._events,function(a){C.apply(null,a)});this._events=void 0},destroy:function(){var a=this.chart.scroller;this.removeEvents();t(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&(a.scrollbar=null,r(a.scrollbarButtons))}}; +f(G.prototype,"init",function(a){var b=this;a.apply(b,[].slice.call(arguments,1));b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new D(b.chart.renderer,b.options.scrollbar,b.chart),B(b.scrollbar,"changed",function(a){var c=Math.min(h(b.options.min,b.min),b.min,b.dataMin),d=Math.max(h(b.options.max,b.max),b.max,b.dataMax)-c,e;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(e=c+d*this.to,c+=d*this.from):(e= +c+d*(1-this.from),c+=d*(1-this.to));b.setExtremes(c,e,!0,!1,a)}))});f(G.prototype,"render",function(a){var b=Math.min(h(this.options.min,this.min),this.min,this.dataMin),d=Math.max(h(this.options.max,this.max),this.max,this.dataMax),c=this.scrollbar,e;a.apply(this,[].slice.call(arguments,1));c&&(this.horiz?c.position(this.left,this.top+this.height+this.offset+2+(this.opposite?0:this.axisTitleMargin),this.width,this.height):c.position(this.left+this.width+2+this.offset+(this.opposite?this.axisTitleMargin: +0),this.top,this.width,this.height),isNaN(b)||isNaN(d)||!l(this.min)||!l(this.max)?c.setRange(0,0):(e=(this.min-b)/(d-b),b=(this.max-b)/(d-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?c.setRange(e,b):c.setRange(1-b,1-e)))});f(G.prototype,"getOffset",function(a){var b=this.horiz?2:1,d=this.scrollbar;a.apply(this,[].slice.call(arguments,1));d&&(this.chart.axisOffset[b]+=d.size+d.options.margin)});f(G.prototype,"destroy",function(a){this.scrollbar&&(this.scrollbar=this.scrollbar.destroy()); +a.apply(this,[].slice.call(arguments,1))});a.Scrollbar=D})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.color,l=a.defaultOptions,r=a.defined,w=a.destroyObjectProperties,t=a.doc,k=a.each,m=a.erase,e=a.error,g=a.extend,h=a.grep,C=a.hasTouch,f=a.isNumber,d=a.isObject,b=a.isTouchDevice,q=a.merge,E=a.pick,c=a.removeEvent,F=a.Scrollbar,n=a.Series,A=a.seriesTypes,x=a.wrap,J=[].concat(a.defaultDataGroupingUnits),y=function(a){var b=h(arguments,f);if(b.length)return Math[a].apply(0, +b)};J[4]=["day",[1,2,3,4]];J[5]=["week",[1,2,3]];A=void 0===A.areaspline?"line":"areaspline";g(l,{navigator:{height:40,margin:25,maskInside:!0,handles:{backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:p("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:A,color:"#335cad",fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:J},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series", +className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,shadow:!1,threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}); +D.prototype={drawHandle:function(a,b){var c=this.chart.renderer,d=this.handles;this.rendered||(d[b]=c.path(["M",-4.5,.5,"L",3.5,.5,3.5,15.5,-4.5,15.5,-4.5,.5,"M",-1.5,4,"L",-1.5,12,"M",.5,4,"L",.5,12]).attr({zIndex:10-b}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][b]).add(),c=this.navigatorOptions.handles,d[b].attr({fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":1}).css({cursor:"ew-resize"}));d[b][this.rendered&&!this.hasDragged?"animate":"attr"]({translateX:Math.round(this.scrollerLeft+ +this.scrollbarHeight+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-8)})},update:function(a){this.destroy();q(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(a,b,c,d){var e=this.chart,g=e.renderer,k,h,l,n;n=this.scrollbarHeight;var m=this.xAxis,p=this.navigatorOptions,u=p.maskInside,q=this.height,v=this.top,t=this.navigatorEnabled,x=this.outlineHeight,y;y=this.rendered;if(f(a)&&f(b)&&(!this.hasDragged||r(c))&&(this.navigatorLeft=k=E(m.left,e.plotLeft+ +n),this.navigatorWidth=h=E(m.len,e.plotWidth-2*n),this.scrollerLeft=l=k-n,this.scrollerWidth=n=n=h+2*n,c=E(c,m.translate(a)),d=E(d,m.translate(b)),f(c)&&Infinity!==Math.abs(c)||(c=0,d=n),!(m.translate(d,!0)-m.translate(c,!0)f&&tp+d-u&&rk&&re?e=0:e+v>=q&&(e=q-v,x=h.getUnionExtremes().dataMax),e!==d&&(h.fixedWidth=v,d=l.toFixedRange(e, +e+v,null,x),c.setExtremes(d.min,d.max,!0,null,{trigger:"navigator"}))))};h.mouseMoveHandler=function(b){var c=h.scrollbarHeight,d=h.navigatorLeft,e=h.navigatorWidth,f=h.scrollerLeft,g=h.scrollerWidth,k=h.range,l;b.touches&&0===b.touches[0].pageX||(b=a.pointer.normalize(b),l=b.chartX,lf+g-c&&(l=f+g-c),h.grabbedLeft?(h.hasDragged=!0,h.render(0,0,l-d,h.otherHandlePos)):h.grabbedRight?(h.hasDragged=!0,h.render(0,0,h.otherHandlePos,l-d)):h.grabbedCenter&&(h.hasDragged=!0,le+n-k&&(l=e+ +n-k),h.render(0,0,l-n,l-n+k)),h.hasDragged&&h.scrollbar&&h.scrollbar.options.liveRedraw&&(b.DOMType=b.type,setTimeout(function(){h.mouseUpHandler(b)},0)))};h.mouseUpHandler=function(b){var c,d,e=b.DOMEvent||b;if(h.hasDragged||"scrollbar"===b.trigger)h.zoomedMin===h.otherHandlePos?c=h.fixedExtreme:h.zoomedMax===h.otherHandlePos&&(d=h.fixedExtreme),h.zoomedMax===h.navigatorWidth&&(d=h.getUnionExtremes().dataMax),c=l.toFixedRange(h.zoomedMin,h.zoomedMax,c,d),r(c.min)&&a.xAxis[0].setExtremes(c.min,c.max, +!0,h.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e});"mousemove"!==b.DOMType&&(h.grabbedLeft=h.grabbedRight=h.grabbedCenter=h.fixedWidth=h.fixedExtreme=h.otherHandlePos=h.hasDragged=n=null)};var c=a.xAxis.length,f=a.yAxis.length,m=e&&e[0]&&e[0].xAxis||a.xAxis[0];a.extraBottomMargin=h.outlineHeight+d.margin;a.isDirtyBox=!0;h.navigatorEnabled?(h.xAxis=l=new G(a,q({breaks:m.options.breaks,ordinal:m.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis", +isX:!0,type:"datetime",index:c,height:g,offset:0,offsetLeft:k,offsetRight:-k,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1})),h.yAxis=new G(a,q(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,height:g,offset:0,index:f,zoomEnabled:!1})),e||d.series.data?h.addBaseSeries():0===a.series.length&&x(a,"redraw",function(b,c){0=Math.round(a.navigatorWidth);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},destroy:function(){this.removeEvents();this.xAxis&&(m(this.chart.xAxis,this.xAxis),m(this.chart.axes,this.xAxis));this.yAxis&&(m(this.chart.yAxis,this.yAxis),m(this.chart.axes,this.yAxis));k(this.series||[],function(a){a.destroy&&a.destroy()});k("series xAxis yAxis leftShade rightShade outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "), +function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);k([this.handles,this.elementsToDestroy],function(a){w(a)},this)}};a.Navigator=D;x(G.prototype,"zoom",function(a,b,c){var d=this.chart,e=d.options,f=e.chart.zoomType,g=e.navigator,e=e.rangeSelector,h;this.isXAxis&&(g&&g.enabled||e&&e.enabled)&&("x"===f?d.resetZoomButton="blocked":"y"===f?h=!1:"xy"===f&&(d=this.previousZoom,r(b)?this.previousZoom=[this.min,this.max]:d&&(b=d[0],c=d[1],delete this.previousZoom)));return void 0!== +h?h:a.call(this,b,c)});x(H.prototype,"init",function(a,b,c){B(this,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new D(this)});a.call(this,b,c)});x(H.prototype,"getMargins",function(a){var b=this.legend,c=b.options,d=this.scroller,e,f;a.apply(this,[].slice.call(arguments,1));d&&(e=d.xAxis,f=d.yAxis,d.top=d.navigatorOptions.top||this.chartHeight-d.height-d.scrollbarHeight-this.spacing[2]-("bottom"===c.verticalAlign&&c.enabled&& +!c.floating?b.legendHeight+E(c.margin,10):0),e&&f&&(e.options.top=f.options.top=d.top,e.setAxisSize(),f.setAxisSize()))});x(n.prototype,"addPoint",function(a,b,c,f,g){var h=this.options.turboThreshold;h&&this.xData.length>h&&d(b,!0)&&this.chart.scroller&&e(20,!0);a.call(this,b,c,f,g)});x(H.prototype,"addSeries",function(a,b,c,d){a=a.call(this,b,!1,d);this.scroller&&this.scroller.setBaseSeries();E(c,!0)&&this.redraw();return a});x(n.prototype,"update",function(a,b,c){a.call(this,b,!1);this.chart.scroller&& +this.chart.scroller.setBaseSeries();E(c,!0)&&this.chart.redraw()})})(N);(function(a){function D(a){this.init(a)}var B=a.addEvent,G=a.Axis,H=a.Chart,p=a.css,l=a.createElement,r=a.dateFormat,w=a.defaultOptions,t=w.global.useUTC,k=a.defined,m=a.destroyObjectProperties,e=a.discardElement,g=a.each,h=a.extend,C=a.fireEvent,f=a.Date,d=a.isNumber,b=a.merge,q=a.pick,E=a.pInt,c=a.splat,F=a.wrap;h(w,{rangeSelector:{buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},height:35,inputPosition:{align:"right"}, +labelStyle:{color:"#666666"}}});w.lang=b(w.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});D.prototype={clickButton:function(a,b){var e=this,f=e.chart,h=e.buttonOptions[a],k=f.xAxis[0],l=f.scroller&&f.scroller.getUnionExtremes()||k||{},n=l.dataMin,m=l.dataMax,p,r=k&&Math.round(Math.min(k.max,q(m,k.max))),w=h.type,z,l=h._range,A,C,D,E=h.dataGrouping;if(null!==n&&null!==m){f.fixedRange=l;E&&(this.forcedDataGrouping=!0,G.prototype.setDataGrouping.call(k||{chart:this.chart}, +E,!1));if("month"===w||"year"===w)k?(w={range:h,max:r,dataMin:n,dataMax:m},p=k.minFromRange.call(w),d(w.newMax)&&(r=w.newMax)):l=h;else if(l)p=Math.max(r-l,n),r=Math.min(p+l,m);else if("ytd"===w)if(k)void 0===m&&(n=Number.MAX_VALUE,m=Number.MIN_VALUE,g(f.series,function(a){a=a.xData;n=Math.min(a[0],n);m=Math.max(a[a.length-1],m)}),b=!1),r=e.getYTDExtremes(m,n,t),p=A=r.min,r=r.max;else{B(f,"beforeRender",function(){e.clickButton(a)});return}else"all"===w&&k&&(p=n,r=m);e.setSelected(a);k?k.setExtremes(p, +r,q(b,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:h}):(z=c(f.options.xAxis)[0],D=z.range,z.range=l,C=z.min,z.min=A,B(f,"load",function(){z.range=D;z.min=C}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons|| +[].concat(b.defaultButtons),e=c.selected,f=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&C(a,"blur");c&&c.blur&&C(c,"blur")};b.chart=a;b.options=c;b.buttons=[];a.extraTopMargin=c.height;b.buttonOptions=d;this.unMouseDown=B(a.container,"mousedown",f);this.unResize=B(a,"resize",f);g(d,b.computeButtonRange);void 0!==e&&d[e]&&this.clickButton(e,!1);B(a,"load",function(){B(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&& +b.forcedDataGrouping&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this.chart,b=a.xAxis[0],c=Math.round(b.max-b.min),e=!b.hasVisibleSeries,a=a.scroller&&a.scroller.getUnionExtremes()||b,f=a.dataMin,h=a.dataMax,a=this.getYTDExtremes(h,f,t),k=a.min,l=a.max,m=this.selected,p=d(m),q=this.options.allButtonsEnabled,r=this.buttons;g(this.buttonOptions,function(a,d){var g=a._range,n=a.type,u=a.count||1;a=r[d];var t=0;d=d===m;var v=g>h-f,x=g=864E5*{month:28,year:365}[n]*u&&c<=864E5*{month:31,year:366}[n]*u?g=!0:"ytd"===n?(g=l-k===c,y=!d):"all"===n&&(g=b.max-b.min>=h-f,w=!d&&p&&g);n=!q&&(v||x||w||e);g=d&&g||g&&!p&&!y;n?t=3:g&&(p=!0,t=2);a.state!==t&&a.setState(t)})},computeButtonRange:function(a){var b=a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c},setInputValue:function(a,b){var c= +this.chart.options.rangeSelector,d=this[a+"Input"];k(b)&&(d.previousValue=d.HCTime,d.HCTime=b);d.value=r(c.inputEditDateFormat||"%Y-%m-%d",d.HCTime);this[a+"DateBox"].attr({text:r(c.inputDateFormat||"%b %e, %Y",d.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];p(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){p(this[a+"Input"],{border:0,width:"1px",height:"1px"}); +this.setInputValue(a)},drawInput:function(a){function c(){var a=r.value,b=(m.inputDateParser||Date.parse)(a),c=f.xAxis[0],g=f.scroller&&f.scroller.xAxis?f.scroller.xAxis:c,h=g.dataMin,g=g.dataMax;b!==r.previousValue&&(r.previousValue=b,d(b)||(b=a.split("-"),b=Date.UTC(E(b[0]),E(b[1])-1,E(b[2]))),d(b)&&(t||(b+=6E4*(new Date).getTimezoneOffset()),q?b>e.maxInput.HCTime?b=void 0:bg&&(b=g),void 0!==b&&c.setExtremes(q?b:c.min,q?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))} +var e=this,f=e.chart,g=f.renderer.style||{},k=f.renderer,m=f.options.rangeSelector,n=e.div,q="min"===a,r,B,C=this.inputGroup;this[a+"Label"]=B=k.label(w.lang[q?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(C);C.offset+=B.width+5;this[a+"DateBox"]=k=k.label("",C.offset).addClass("highcharts-range-input").attr({padding:2,width:m.inputBoxWidth||90,height:m.inputBoxHeight||17,stroke:m.inputBoxBorderColor||"#cccccc","stroke-width":1, +"text-align":"center"}).on("click",function(){e.showInput(a);e[a+"Input"].focus()}).add(C);C.offset+=k.width+(q?10:0);this[a+"Input"]=r=l("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:f.plotTop+"px"},n);B.css(b(g,m.labelStyle));k.css(b({color:"#333333"},g,m.inputStyle));p(r,h({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:g.fontSize,fontFamily:g.fontFamily,left:"-9em"},m.inputStyle));r.onfocus=function(){e.showInput(a)};r.onblur= +function(){e.hideInput(a)};r.onchange=c;r.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a=q((b.buttonPosition||{}).y,a.plotTop-a.axisOffset[0]-b.height);return{buttonTop:a,inputTop:a-10}},getYTDExtremes:function(a,b,c){var d=new f(a),e=d[f.hcGetFullYear]();c=c?f.UTC(e,0,1):+new f(e,0,1);b=Math.max(b||0,c);d=d.getTime();return{max:Math.min(a||d,d),min:b}},render:function(a,b){var c=this,d=c.chart,e=d.renderer,f=d.container,m=d.options, +n=m.exporting&&!1!==m.exporting.enabled&&m.navigation&&m.navigation.buttonOptions,p=m.rangeSelector,r=c.buttons,m=w.lang,t=c.div,t=c.inputGroup,A=p.buttonTheme,z=p.buttonPosition||{},B=p.inputEnabled,C=A&&A.states,D=d.plotLeft,E,G=this.getPosition(),F=c.group,H=c.rendered;!1!==p.enabled&&(H||(c.group=F=e.g("range-selector-buttons").add(),c.zoomText=e.text(m.rangeSelectorZoom,q(z.x,D),15).css(p.labelStyle).add(F),E=q(z.x,D)+c.zoomText.getBBox().width+5,g(c.buttonOptions,function(a,b){r[b]=e.button(a.text, +E,0,function(){c.clickButton(b);c.isActive=!0},A,C&&C.hover,C&&C.select,C&&C.disabled).attr({"text-align":"center"}).add(F);E+=r[b].width+q(p.buttonSpacing,5)}),!1!==B&&(c.div=t=l("div",null,{position:"relative",height:0,zIndex:1}),f.parentNode.insertBefore(t,f),c.inputGroup=t=e.g("input-group").add(),t.offset=0,c.drawInput("min"),c.drawInput("max"))),c.updateButtonStates(),F[H?"animate":"attr"]({translateY:G.buttonTop}),!1!==B&&(t.align(h({y:G.inputTop,width:t.offset,x:n&&G.inputTop<(n.y||0)+n.height- +d.spacing[0]?-40:0},p.inputPosition),!0,d.spacingBox),k(B)||(d=F.getBBox(),t[t.alignAttr.translateXc&&(e?a=b-f:b=a+f);d(a)||(a=b=void 0);return{min:a,max:b}};G.prototype.minFromRange=function(){var a=this.range,b={month:"Month",year:"FullYear"}[a.type],c,e=this.max,f,g,h=function(a,c){var d=new Date(a);d["set"+b](d["get"+ +b]()+c);return d.getTime()-a};d(a)?(c=e-a,g=a):(c=e+h(e,-a.count),this.chart&&(this.chart.fixedRange=e-c));f=q(this.dataMin,Number.MIN_VALUE);d(c)||(c=f);c<=f&&(c=f,void 0===g&&(g=h(c,a.count)),this.newMax=Math.min(c+g,this.dataMax));d(e)||(c=void 0);return c};F(H.prototype,"init",function(a,b,c){B(this,"init",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new D(this))});a.call(this,b,c)});a.RangeSelector=D})(N);(function(a){var D=a.addEvent,B=a.isNumber;a.Chart.prototype.callbacks.push(function(a){function G(){p= +a.xAxis[0].getExtremes();B(p.min)&&r.render(p.min,p.max)}var p,l=a.scroller,r=a.rangeSelector,w,t;l&&(p=a.xAxis[0].getExtremes(),l.render(p.min,p.max));r&&(t=D(a.xAxis[0],"afterSetExtremes",function(a){r.render(a.min,a.max)}),w=D(a,"redraw",G),G());D(a,"destroy",function(){r&&(w(),t())})})})(N);(function(a){var D=a.arrayMax,B=a.arrayMin,G=a.Axis,H=a.Chart,p=a.defined,l=a.each,r=a.extend,w=a.format,t=a.inArray,k=a.isNumber,m=a.isString,e=a.map,g=a.merge,h=a.pick,C=a.Point,f=a.Renderer,d=a.Series,b= +a.splat,q=a.stop,E=a.SVGRenderer,c=a.VMLRenderer,F=a.wrap,n=d.prototype,A=n.init,x=n.processData,J=C.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(c,d,f){var k=m(c)||c.nodeName,l=arguments[k?1:0],n=l.series,p=a.getOptions(),q,r=h(l.navigator&&l.navigator.enabled,!0)?{startOnTick:!1,endOnTick:!1}:null,t={marker:{enabled:!1,radius:2}},u={shadow:!1,borderWidth:0};l.xAxis=e(b(l.xAxis||{}),function(a){return g({minPadding:0,maxPadding:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"}, +showLastLabel:!0},p.xAxis,a,{type:"datetime",categories:null},r)});l.yAxis=e(b(l.yAxis||{}),function(a){q=h(a.opposite,!0);return g({labels:{y:-2},opposite:q,showLastLabel:!1,title:{text:null}},p.yAxis,a)});l.series=null;l=g({chart:{panning:!0,pinchType:"x"},navigator:{enabled:!0},scrollbar:{enabled:!0},rangeSelector:{enabled:!0},title:{text:null,style:{fontSize:"16px"}},tooltip:{shared:!0,crosshairs:!0},legend:{enabled:!1},plotOptions:{line:t,spline:t,area:t,areaspline:t,arearange:t,areasplinerange:t, +column:u,columnrange:u,candlestick:u,ohlc:u}},l,{_stock:!0,chart:{inverted:!1}});l.series=n;return k?new H(c,l,f):new H(l,d)};F(G.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options._stock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=1,"right"):a.call(this,[].slice.call(arguments,1))});F(G.prototype,"getPlotLinePath",function(a, +b,c,d,f,g){var n=this,q=this.isLinked&&!this.series?this.linkedParent.series:this.series,r=n.chart,u=r.renderer,v=n.left,w=n.top,y,x,A,B,C=[],D=[],E,F;if("colorAxis"===n.coll)return a.apply(this,[].slice.call(arguments,1));D=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=n.options[b];return k(a)?[r[b][a]]:m(a)?[r.get(a)]:e(q,function(a){return a[b]})}(n.coll);l(n.isXAxis?r.yAxis:r.xAxis,function(a){if(p(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=p(a.options[b])? +r[b][a.options[b]]:r[b][0];n===b&&D.push(a)}});E=D.length?[]:[n.isXAxis?r.yAxis[0]:r.xAxis[0]];l(D,function(a){-1===t(a,E)&&E.push(a)});F=h(g,n.translate(b,null,null,d));k(F)&&(n.horiz?l(E,function(a){var b;x=a.pos;B=x+a.len;y=A=Math.round(F+n.transB);if(yv+n.width)f?y=A=Math.min(Math.max(v,y),v+n.width):b=!0;b||C.push("M",y,x,"L",A,B)}):l(E,function(a){var b;y=a.pos;A=y+a.len;x=B=Math.round(w+n.height-F);if(xw+n.height)f?x=B=Math.min(Math.max(w,x),n.top+n.height):b=!0;b||C.push("M",y, +x,"L",A,B)}));return 0=e&&(x=-(l.translateX+b.width-e));l.attr({x:m+x,y:k,anchorX:g?m:this.opposite?0:a.chartWidth,anchorY:g?this.opposite?a.chartHeight:0:k+b.height/2})}});n.init=function(){A.apply(this,arguments);this.setCompare(this.options.compare)};n.setCompare=function(a){this.modifyValue= +"value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b=b/d*100-100,c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};n.processData=function(){var a,b=-1,c,d,e,f;x.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,e=d.length,this.pointArrayMap&&(b=t("close",this.pointArrayMap),-1===b&&(b=t(this.pointValKey||"y",this.pointArrayMap))),a=0;a< +e-1;a++)if(f=-1=this.xAxis.min&&0!==f){this.compareValue=f;break}};F(n,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=B(b),this.dataMax=D(b))});G.prototype.setCompare=function(a,b){this.isXAxis||(l(this.series,function(b){b.setCompare(a)}),h(b,!0)&&this.chart.redraw())};C.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(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 '; + else + var expandButton = ''; + + return '' + expandButton + '' + ellipsedLabel({ name: item.name, parentClass: "nav-tooltip", childClass: "nav-label" }) + ''; +} + +function menuItemsForGroup(group, level, parent) { + var items = ''; + + if (level > 0) + items += menuItem(group, level - 1, parent, true); + + $.each(group.contents, function (contentName, content) { + if (content.type == 'GROUP') + items += menuItemsForGroup(content, level + 1, group.pathFormatted); + else if (content.type == 'REQUEST') + items += menuItem(content, level, group.pathFormatted); + }); + + return items; +} + +function setDetailsMenu(){ + $('.nav ul').append(menuItemsForGroup(stats, 0)); + $('.nav').expandable(); + $('.nav-tooltip').popover({trigger:'hover'}); +} + +function setGlobalMenu(){ + $('.nav ul') + .append('
  • Ranges
  • ') + .append('
  • Stats
  • ') + .append('
  • Active Users
  • ') + .append('
  • Requests / sec
  • ') + .append('
  • Responses / sec
  • '); +} + +function getLink(link){ + var a = link.split('/'); + return (a.length<=1)? link : a[a.length-1]; +} + +function expandUp(li) { + const parentId = li.attr("data-parent"); + if (parentId != "ROOT") { + const span = $('#' + parentId); + const parentLi = span.parents('li').first(); + span.expand(parentLi, false); + expandUp(parentLi); + } +} + +function setActiveMenu(){ + $('.nav a').each(function() { + const navA = $(this) + if(!navA.hasClass('expand-button') && navA.attr('href') == getLink(window.location.pathname)) { + const li = $(this).parents('li').first(); + li.addClass('on'); + expandUp(li); + return false; + } + }); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/stats.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/stats.js new file mode 100644 index 0000000..3662121 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/stats.js @@ -0,0 +1,1523 @@ +var stats = { + type: "GROUP", +name: "All Requests", +path: "", +pathFormatted: "group_missing-name--1146707516", +stats: { + "name": "All Requests", + "numberOfRequests": { + "total": "5134", + "ok": "5133", + "ko": "1" + }, + "minResponseTime": { + "total": "23", + "ok": "23", + "ko": "10012" + }, + "maxResponseTime": { + "total": "10012", + "ok": "9288", + "ko": "10012" + }, + "meanResponseTime": { + "total": "383", + "ok": "381", + "ko": "10012" + }, + "standardDeviation": { + "total": "764", + "ok": "752", + "ko": "0" + }, + "percentiles1": { + "total": "82", + "ok": "82", + "ko": "10012" + }, + "percentiles2": { + "total": "300", + "ok": "299", + "ko": "10012" + }, + "percentiles3": { + "total": "1688", + "ok": "1685", + "ko": "10012" + }, + "percentiles4": { + "total": "3508", + "ok": "3495", + "ko": "10012" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 4290, + "percentage": 84 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 433, + "percentage": 8 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 410, + "percentage": 8 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 1, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "36.411", + "ok": "36.404", + "ko": "0.007" + } +}, +contents: { +"req_request-0-693933696": { + type: "REQUEST", + name: "request_0", +path: "request_0", +pathFormatted: "req_request-0-693933696", +stats: { + "name": "request_0", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "7142", + "ok": "7142", + "ko": "-" + }, + "meanResponseTime": { + "total": "466", + "ok": "466", + "ko": "-" + }, + "standardDeviation": { + "total": "745", + "ok": "745", + "ko": "-" + }, + "percentiles1": { + "total": "198", + "ok": "198", + "ko": "-" + }, + "percentiles2": { + "total": "411", + "ok": "411", + "ko": "-" + }, + "percentiles3": { + "total": "1595", + "ok": "1595", + "ko": "-" + }, + "percentiles4": { + "total": "3146", + "ok": "3146", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 246, + "percentage": 81 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 31, + "percentage": 10 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 25, + "percentage": 8 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-1-693933697": { + type: "REQUEST", + name: "request_1", +path: "request_1", +pathFormatted: "req_request-1-693933697", +stats: { + "name": "request_1", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "36", + "ok": "36", + "ko": "-" + }, + "maxResponseTime": { + "total": "1234", + "ok": "1234", + "ko": "-" + }, + "meanResponseTime": { + "total": "96", + "ok": "96", + "ko": "-" + }, + "standardDeviation": { + "total": "146", + "ok": "146", + "ko": "-" + }, + "percentiles1": { + "total": "56", + "ok": "56", + "ko": "-" + }, + "percentiles2": { + "total": "88", + "ok": "88", + "ko": "-" + }, + "percentiles3": { + "total": "350", + "ok": "350", + "ko": "-" + }, + "percentiles4": { + "total": "676", + "ok": "676", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 300, + "percentage": 99 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 2, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-2-693933698": { + type: "REQUEST", + name: "request_2", +path: "request_2", +pathFormatted: "req_request-2-693933698", +stats: { + "name": "request_2", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "7113", + "ok": "7113", + "ko": "-" + }, + "meanResponseTime": { + "total": "320", + "ok": "320", + "ko": "-" + }, + "standardDeviation": { + "total": "567", + "ok": "567", + "ko": "-" + }, + "percentiles1": { + "total": "130", + "ok": "130", + "ko": "-" + }, + "percentiles2": { + "total": "340", + "ok": "340", + "ko": "-" + }, + "percentiles3": { + "total": "1187", + "ok": "1187", + "ko": "-" + }, + "percentiles4": { + "total": "2031", + "ok": "2031", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 269, + "percentage": 89 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 19, + "percentage": 6 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 14, + "percentage": 5 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-3-693933699": { + type: "REQUEST", + name: "request_3", +path: "request_3", +pathFormatted: "req_request-3-693933699", +stats: { + "name": "request_3", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "3971", + "ok": "3971", + "ko": "-" + }, + "meanResponseTime": { + "total": "417", + "ok": "417", + "ko": "-" + }, + "standardDeviation": { + "total": "613", + "ok": "613", + "ko": "-" + }, + "percentiles1": { + "total": "165", + "ok": "165", + "ko": "-" + }, + "percentiles2": { + "total": "386", + "ok": "386", + "ko": "-" + }, + "percentiles3": { + "total": "1422", + "ok": "1422", + "ko": "-" + }, + "percentiles4": { + "total": "3181", + "ok": "3181", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 248, + "percentage": 82 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 31, + "percentage": 10 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 23, + "percentage": 8 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-4-693933700": { + type: "REQUEST", + name: "request_4", +path: "request_4", +pathFormatted: "req_request-4-693933700", +stats: { + "name": "request_4", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "109", + "ok": "109", + "ko": "-" + }, + "maxResponseTime": { + "total": "710", + "ok": "710", + "ko": "-" + }, + "meanResponseTime": { + "total": "204", + "ok": "204", + "ko": "-" + }, + "standardDeviation": { + "total": "112", + "ok": "112", + "ko": "-" + }, + "percentiles1": { + "total": "166", + "ok": "166", + "ko": "-" + }, + "percentiles2": { + "total": "213", + "ok": "213", + "ko": "-" + }, + "percentiles3": { + "total": "418", + "ok": "418", + "ko": "-" + }, + "percentiles4": { + "total": "680", + "ok": "680", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 302, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-5-693933701": { + type: "REQUEST", + name: "request_5", +path: "request_5", +pathFormatted: "req_request-5-693933701", +stats: { + "name": "request_5", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "296", + "ok": "296", + "ko": "-" + }, + "maxResponseTime": { + "total": "6063", + "ok": "6063", + "ko": "-" + }, + "meanResponseTime": { + "total": "1097", + "ok": "1097", + "ko": "-" + }, + "standardDeviation": { + "total": "806", + "ok": "806", + "ko": "-" + }, + "percentiles1": { + "total": "886", + "ok": "886", + "ko": "-" + }, + "percentiles2": { + "total": "1324", + "ok": "1324", + "ko": "-" + }, + "percentiles3": { + "total": "2571", + "ok": "2571", + "ko": "-" + }, + "percentiles4": { + "total": "4207", + "ok": "4207", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 131, + "percentage": 43 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 83, + "percentage": 27 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 88, + "percentage": 29 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-6-693933702": { + type: "REQUEST", + name: "request_6", +path: "request_6", +pathFormatted: "req_request-6-693933702", +stats: { + "name": "request_6", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "390", + "ok": "390", + "ko": "-" + }, + "maxResponseTime": { + "total": "9288", + "ok": "9288", + "ko": "-" + }, + "meanResponseTime": { + "total": "2174", + "ok": "2174", + "ko": "-" + }, + "standardDeviation": { + "total": "1486", + "ok": "1486", + "ko": "-" + }, + "percentiles1": { + "total": "1783", + "ok": "1783", + "ko": "-" + }, + "percentiles2": { + "total": "2740", + "ok": "2740", + "ko": "-" + }, + "percentiles3": { + "total": "5240", + "ok": "5240", + "ko": "-" + }, + "percentiles4": { + "total": "7322", + "ok": "7322", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 37, + "percentage": 12 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 38, + "percentage": 13 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 227, + "percentage": 75 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-7-693933703": { + type: "REQUEST", + name: "request_7", +path: "request_7", +pathFormatted: "req_request-7-693933703", +stats: { + "name": "request_7", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "37", + "ok": "37", + "ko": "-" + }, + "maxResponseTime": { + "total": "3149", + "ok": "3149", + "ko": "-" + }, + "meanResponseTime": { + "total": "286", + "ok": "286", + "ko": "-" + }, + "standardDeviation": { + "total": "473", + "ok": "473", + "ko": "-" + }, + "percentiles1": { + "total": "92", + "ok": "92", + "ko": "-" + }, + "percentiles2": { + "total": "274", + "ok": "274", + "ko": "-" + }, + "percentiles3": { + "total": "1159", + "ok": "1159", + "ko": "-" + }, + "percentiles4": { + "total": "2464", + "ok": "2464", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 266, + "percentage": 88 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 21, + "percentage": 7 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 15, + "percentage": 5 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-8-693933704": { + type: "REQUEST", + name: "request_8", +path: "request_8", +pathFormatted: "req_request-8-693933704", +stats: { + "name": "request_8", + "numberOfRequests": { + "total": "302", + "ok": "301", + "ko": "1" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "10012" + }, + "maxResponseTime": { + "total": "10012", + "ok": "3184", + "ko": "10012" + }, + "meanResponseTime": { + "total": "321", + "ok": "289", + "ko": "10012" + }, + "standardDeviation": { + "total": "715", + "ok": "447", + "ko": "0" + }, + "percentiles1": { + "total": "83", + "ok": "83", + "ko": "10012" + }, + "percentiles2": { + "total": "137", + "ok": "137", + "ko": "10012" + }, + "percentiles3": { + "total": "1107", + "ok": "1106", + "ko": "10012" + }, + "percentiles4": { + "total": "1582", + "ok": "1477", + "ko": "10012" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 252, + "percentage": 83 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 43, + "percentage": 14 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 6, + "percentage": 2 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 1, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.135", + "ko": "0.007" + } +} + },"req_request-9-693933705": { + type: "REQUEST", + name: "request_9", +path: "request_9", +pathFormatted: "req_request-9-693933705", +stats: { + "name": "request_9", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "3122", + "ok": "3122", + "ko": "-" + }, + "meanResponseTime": { + "total": "264", + "ok": "264", + "ko": "-" + }, + "standardDeviation": { + "total": "404", + "ok": "404", + "ko": "-" + }, + "percentiles1": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles2": { + "total": "126", + "ok": "126", + "ko": "-" + }, + "percentiles3": { + "total": "1094", + "ok": "1094", + "ko": "-" + }, + "percentiles4": { + "total": "1126", + "ok": "1126", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 254, + "percentage": 84 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 46, + "percentage": 15 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 2, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-10-37108175": { + type: "REQUEST", + name: "request_10", +path: "request_10", +pathFormatted: "req_request-10-37108175", +stats: { + "name": "request_10", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "3122", + "ok": "3122", + "ko": "-" + }, + "meanResponseTime": { + "total": "252", + "ok": "252", + "ko": "-" + }, + "standardDeviation": { + "total": "429", + "ok": "429", + "ko": "-" + }, + "percentiles1": { + "total": "83", + "ok": "83", + "ko": "-" + }, + "percentiles2": { + "total": "101", + "ok": "101", + "ko": "-" + }, + "percentiles3": { + "total": "1097", + "ok": "1097", + "ko": "-" + }, + "percentiles4": { + "total": "1443", + "ok": "1443", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 258, + "percentage": 85 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 39, + "percentage": 13 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 5, + "percentage": 2 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-11-37108176": { + type: "REQUEST", + name: "request_11", +path: "request_11", +pathFormatted: "req_request-11-37108176", +stats: { + "name": "request_11", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "38", + "ok": "38", + "ko": "-" + }, + "maxResponseTime": { + "total": "372", + "ok": "372", + "ko": "-" + }, + "meanResponseTime": { + "total": "47", + "ok": "47", + "ko": "-" + }, + "standardDeviation": { + "total": "28", + "ok": "28", + "ko": "-" + }, + "percentiles1": { + "total": "42", + "ok": "42", + "ko": "-" + }, + "percentiles2": { + "total": "43", + "ok": "43", + "ko": "-" + }, + "percentiles3": { + "total": "67", + "ok": "67", + "ko": "-" + }, + "percentiles4": { + "total": "131", + "ok": "131", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 302, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-12-37108177": { + type: "REQUEST", + name: "request_12", +path: "request_12", +pathFormatted: "req_request-12-37108177", +stats: { + "name": "request_12", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "23", + "ok": "23", + "ko": "-" + }, + "maxResponseTime": { + "total": "3114", + "ok": "3114", + "ko": "-" + }, + "meanResponseTime": { + "total": "55", + "ok": "55", + "ko": "-" + }, + "standardDeviation": { + "total": "223", + "ok": "223", + "ko": "-" + }, + "percentiles1": { + "total": "30", + "ok": "30", + "ko": "-" + }, + "percentiles2": { + "total": "31", + "ok": "31", + "ko": "-" + }, + "percentiles3": { + "total": "72", + "ok": "72", + "ko": "-" + }, + "percentiles4": { + "total": "216", + "ok": "216", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 299, + "percentage": 99 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 3, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-14-37108179": { + type: "REQUEST", + name: "request_14", +path: "request_14", +pathFormatted: "req_request-14-37108179", +stats: { + "name": "request_14", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "35", + "ok": "35", + "ko": "-" + }, + "maxResponseTime": { + "total": "124", + "ok": "124", + "ko": "-" + }, + "meanResponseTime": { + "total": "40", + "ok": "40", + "ko": "-" + }, + "standardDeviation": { + "total": "8", + "ok": "8", + "ko": "-" + }, + "percentiles1": { + "total": "39", + "ok": "39", + "ko": "-" + }, + "percentiles2": { + "total": "40", + "ok": "40", + "ko": "-" + }, + "percentiles3": { + "total": "56", + "ok": "56", + "ko": "-" + }, + "percentiles4": { + "total": "64", + "ok": "64", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 302, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-15-37108180": { + type: "REQUEST", + name: "request_15", +path: "request_15", +pathFormatted: "req_request-15-37108180", +stats: { + "name": "request_15", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "38", + "ok": "38", + "ko": "-" + }, + "maxResponseTime": { + "total": "91", + "ok": "91", + "ko": "-" + }, + "meanResponseTime": { + "total": "43", + "ok": "43", + "ko": "-" + }, + "standardDeviation": { + "total": "6", + "ok": "6", + "ko": "-" + }, + "percentiles1": { + "total": "42", + "ok": "42", + "ko": "-" + }, + "percentiles2": { + "total": "43", + "ok": "43", + "ko": "-" + }, + "percentiles3": { + "total": "58", + "ok": "58", + "ko": "-" + }, + "percentiles4": { + "total": "66", + "ok": "66", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 302, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-16-37108181": { + type: "REQUEST", + name: "request_16", +path: "request_16", +pathFormatted: "req_request-16-37108181", +stats: { + "name": "request_16", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "73", + "ok": "73", + "ko": "-" + }, + "maxResponseTime": { + "total": "1097", + "ok": "1097", + "ko": "-" + }, + "meanResponseTime": { + "total": "221", + "ok": "221", + "ko": "-" + }, + "standardDeviation": { + "total": "349", + "ok": "349", + "ko": "-" + }, + "percentiles1": { + "total": "81", + "ok": "81", + "ko": "-" + }, + "percentiles2": { + "total": "83", + "ok": "83", + "ko": "-" + }, + "percentiles3": { + "total": "1092", + "ok": "1092", + "ko": "-" + }, + "percentiles4": { + "total": "1096", + "ok": "1096", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 260, + "percentage": 86 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 42, + "percentage": 14 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + },"req_request-17-37108182": { + type: "REQUEST", + name: "request_17", +path: "request_17", +pathFormatted: "req_request-17-37108182", +stats: { + "name": "request_17", + "numberOfRequests": { + "total": "302", + "ok": "302", + "ko": "0" + }, + "minResponseTime": { + "total": "74", + "ok": "74", + "ko": "-" + }, + "maxResponseTime": { + "total": "1097", + "ok": "1097", + "ko": "-" + }, + "meanResponseTime": { + "total": "213", + "ok": "213", + "ko": "-" + }, + "standardDeviation": { + "total": "342", + "ok": "342", + "ko": "-" + }, + "percentiles1": { + "total": "81", + "ok": "81", + "ko": "-" + }, + "percentiles2": { + "total": "82", + "ok": "82", + "ko": "-" + }, + "percentiles3": { + "total": "1091", + "ok": "1091", + "ko": "-" + }, + "percentiles4": { + "total": "1096", + "ok": "1096", + "ko": "-" + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 262, + "percentage": 87 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 40, + "percentage": 13 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": "2.142", + "ok": "2.142", + "ko": "-" + } +} + } +} + +} + +function fillStats(stat){ + $("#numberOfRequests").append(stat.numberOfRequests.total); + $("#numberOfRequestsOK").append(stat.numberOfRequests.ok); + $("#numberOfRequestsKO").append(stat.numberOfRequests.ko); + + $("#minResponseTime").append(stat.minResponseTime.total); + $("#minResponseTimeOK").append(stat.minResponseTime.ok); + $("#minResponseTimeKO").append(stat.minResponseTime.ko); + + $("#maxResponseTime").append(stat.maxResponseTime.total); + $("#maxResponseTimeOK").append(stat.maxResponseTime.ok); + $("#maxResponseTimeKO").append(stat.maxResponseTime.ko); + + $("#meanResponseTime").append(stat.meanResponseTime.total); + $("#meanResponseTimeOK").append(stat.meanResponseTime.ok); + $("#meanResponseTimeKO").append(stat.meanResponseTime.ko); + + $("#standardDeviation").append(stat.standardDeviation.total); + $("#standardDeviationOK").append(stat.standardDeviation.ok); + $("#standardDeviationKO").append(stat.standardDeviation.ko); + + $("#percentiles1").append(stat.percentiles1.total); + $("#percentiles1OK").append(stat.percentiles1.ok); + $("#percentiles1KO").append(stat.percentiles1.ko); + + $("#percentiles2").append(stat.percentiles2.total); + $("#percentiles2OK").append(stat.percentiles2.ok); + $("#percentiles2KO").append(stat.percentiles2.ko); + + $("#percentiles3").append(stat.percentiles3.total); + $("#percentiles3OK").append(stat.percentiles3.ok); + $("#percentiles3KO").append(stat.percentiles3.ko); + + $("#percentiles4").append(stat.percentiles4.total); + $("#percentiles4OK").append(stat.percentiles4.ok); + $("#percentiles4KO").append(stat.percentiles4.ko); + + $("#meanNumberOfRequestsPerSecond").append(stat.meanNumberOfRequestsPerSecond.total); + $("#meanNumberOfRequestsPerSecondOK").append(stat.meanNumberOfRequestsPerSecond.ok); + $("#meanNumberOfRequestsPerSecondKO").append(stat.meanNumberOfRequestsPerSecond.ko); +} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/stats.json b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/stats.json new file mode 100644 index 0000000..273911c --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/stats.json @@ -0,0 +1,1481 @@ +{ + "type": "GROUP", +"name": "All Requests", +"path": "", +"pathFormatted": "group_missing-name--1146707516", +"stats": { + "name": "All Requests", + "numberOfRequests": { + "total": 5134, + "ok": 5133, + "ko": 1 + }, + "minResponseTime": { + "total": 23, + "ok": 23, + "ko": 10012 + }, + "maxResponseTime": { + "total": 10012, + "ok": 9288, + "ko": 10012 + }, + "meanResponseTime": { + "total": 383, + "ok": 381, + "ko": 10012 + }, + "standardDeviation": { + "total": 764, + "ok": 752, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 82, + "ko": 10012 + }, + "percentiles2": { + "total": 300, + "ok": 299, + "ko": 10012 + }, + "percentiles3": { + "total": 1688, + "ok": 1685, + "ko": 10012 + }, + "percentiles4": { + "total": 3508, + "ok": 3495, + "ko": 10012 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 4290, + "percentage": 84 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 433, + "percentage": 8 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 410, + "percentage": 8 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 1, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 36.4113475177305, + "ok": 36.40425531914894, + "ko": 0.0070921985815602835 + } +}, +"contents": { +"req_request-0-693933696": { + "type": "REQUEST", + "name": "request_0", +"path": "request_0", +"pathFormatted": "req_request-0-693933696", +"stats": { + "name": "request_0", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 7142, + "ok": 7142, + "ko": 0 + }, + "meanResponseTime": { + "total": 466, + "ok": 466, + "ko": 0 + }, + "standardDeviation": { + "total": 745, + "ok": 745, + "ko": 0 + }, + "percentiles1": { + "total": 198, + "ok": 198, + "ko": 0 + }, + "percentiles2": { + "total": 411, + "ok": 411, + "ko": 0 + }, + "percentiles3": { + "total": 1595, + "ok": 1595, + "ko": 0 + }, + "percentiles4": { + "total": 3146, + "ok": 3146, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 246, + "percentage": 81 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 31, + "percentage": 10 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 25, + "percentage": 8 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-1-693933697": { + "type": "REQUEST", + "name": "request_1", +"path": "request_1", +"pathFormatted": "req_request-1-693933697", +"stats": { + "name": "request_1", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 36, + "ok": 36, + "ko": 0 + }, + "maxResponseTime": { + "total": 1234, + "ok": 1234, + "ko": 0 + }, + "meanResponseTime": { + "total": 96, + "ok": 96, + "ko": 0 + }, + "standardDeviation": { + "total": 146, + "ok": 146, + "ko": 0 + }, + "percentiles1": { + "total": 56, + "ok": 56, + "ko": 0 + }, + "percentiles2": { + "total": 88, + "ok": 88, + "ko": 0 + }, + "percentiles3": { + "total": 350, + "ok": 350, + "ko": 0 + }, + "percentiles4": { + "total": 676, + "ok": 676, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 300, + "percentage": 99 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 2, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-2-693933698": { + "type": "REQUEST", + "name": "request_2", +"path": "request_2", +"pathFormatted": "req_request-2-693933698", +"stats": { + "name": "request_2", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 7113, + "ok": 7113, + "ko": 0 + }, + "meanResponseTime": { + "total": 320, + "ok": 320, + "ko": 0 + }, + "standardDeviation": { + "total": 567, + "ok": 567, + "ko": 0 + }, + "percentiles1": { + "total": 130, + "ok": 130, + "ko": 0 + }, + "percentiles2": { + "total": 340, + "ok": 340, + "ko": 0 + }, + "percentiles3": { + "total": 1187, + "ok": 1187, + "ko": 0 + }, + "percentiles4": { + "total": 2031, + "ok": 2031, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 269, + "percentage": 89 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 19, + "percentage": 6 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 14, + "percentage": 5 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-3-693933699": { + "type": "REQUEST", + "name": "request_3", +"path": "request_3", +"pathFormatted": "req_request-3-693933699", +"stats": { + "name": "request_3", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 3971, + "ok": 3971, + "ko": 0 + }, + "meanResponseTime": { + "total": 417, + "ok": 417, + "ko": 0 + }, + "standardDeviation": { + "total": 613, + "ok": 613, + "ko": 0 + }, + "percentiles1": { + "total": 165, + "ok": 165, + "ko": 0 + }, + "percentiles2": { + "total": 386, + "ok": 386, + "ko": 0 + }, + "percentiles3": { + "total": 1422, + "ok": 1422, + "ko": 0 + }, + "percentiles4": { + "total": 3181, + "ok": 3181, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 248, + "percentage": 82 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 31, + "percentage": 10 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 23, + "percentage": 8 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-4-693933700": { + "type": "REQUEST", + "name": "request_4", +"path": "request_4", +"pathFormatted": "req_request-4-693933700", +"stats": { + "name": "request_4", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 109, + "ok": 109, + "ko": 0 + }, + "maxResponseTime": { + "total": 710, + "ok": 710, + "ko": 0 + }, + "meanResponseTime": { + "total": 204, + "ok": 204, + "ko": 0 + }, + "standardDeviation": { + "total": 112, + "ok": 112, + "ko": 0 + }, + "percentiles1": { + "total": 166, + "ok": 166, + "ko": 0 + }, + "percentiles2": { + "total": 213, + "ok": 213, + "ko": 0 + }, + "percentiles3": { + "total": 418, + "ok": 418, + "ko": 0 + }, + "percentiles4": { + "total": 680, + "ok": 680, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 302, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-5-693933701": { + "type": "REQUEST", + "name": "request_5", +"path": "request_5", +"pathFormatted": "req_request-5-693933701", +"stats": { + "name": "request_5", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 296, + "ok": 296, + "ko": 0 + }, + "maxResponseTime": { + "total": 6063, + "ok": 6063, + "ko": 0 + }, + "meanResponseTime": { + "total": 1097, + "ok": 1097, + "ko": 0 + }, + "standardDeviation": { + "total": 806, + "ok": 806, + "ko": 0 + }, + "percentiles1": { + "total": 886, + "ok": 886, + "ko": 0 + }, + "percentiles2": { + "total": 1324, + "ok": 1324, + "ko": 0 + }, + "percentiles3": { + "total": 2571, + "ok": 2571, + "ko": 0 + }, + "percentiles4": { + "total": 4207, + "ok": 4207, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 131, + "percentage": 43 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 83, + "percentage": 27 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 88, + "percentage": 29 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-6-693933702": { + "type": "REQUEST", + "name": "request_6", +"path": "request_6", +"pathFormatted": "req_request-6-693933702", +"stats": { + "name": "request_6", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 390, + "ok": 390, + "ko": 0 + }, + "maxResponseTime": { + "total": 9288, + "ok": 9288, + "ko": 0 + }, + "meanResponseTime": { + "total": 2174, + "ok": 2174, + "ko": 0 + }, + "standardDeviation": { + "total": 1486, + "ok": 1486, + "ko": 0 + }, + "percentiles1": { + "total": 1783, + "ok": 1783, + "ko": 0 + }, + "percentiles2": { + "total": 2740, + "ok": 2740, + "ko": 0 + }, + "percentiles3": { + "total": 5240, + "ok": 5240, + "ko": 0 + }, + "percentiles4": { + "total": 7322, + "ok": 7322, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 37, + "percentage": 12 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 38, + "percentage": 13 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 227, + "percentage": 75 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-7-693933703": { + "type": "REQUEST", + "name": "request_7", +"path": "request_7", +"pathFormatted": "req_request-7-693933703", +"stats": { + "name": "request_7", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 37, + "ok": 37, + "ko": 0 + }, + "maxResponseTime": { + "total": 3149, + "ok": 3149, + "ko": 0 + }, + "meanResponseTime": { + "total": 286, + "ok": 286, + "ko": 0 + }, + "standardDeviation": { + "total": 473, + "ok": 473, + "ko": 0 + }, + "percentiles1": { + "total": 92, + "ok": 92, + "ko": 0 + }, + "percentiles2": { + "total": 274, + "ok": 274, + "ko": 0 + }, + "percentiles3": { + "total": 1159, + "ok": 1159, + "ko": 0 + }, + "percentiles4": { + "total": 2464, + "ok": 2464, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 266, + "percentage": 88 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 21, + "percentage": 7 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 15, + "percentage": 5 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-8-693933704": { + "type": "REQUEST", + "name": "request_8", +"path": "request_8", +"pathFormatted": "req_request-8-693933704", +"stats": { + "name": "request_8", + "numberOfRequests": { + "total": 302, + "ok": 301, + "ko": 1 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 10012 + }, + "maxResponseTime": { + "total": 10012, + "ok": 3184, + "ko": 10012 + }, + "meanResponseTime": { + "total": 321, + "ok": 289, + "ko": 10012 + }, + "standardDeviation": { + "total": 715, + "ok": 447, + "ko": 0 + }, + "percentiles1": { + "total": 83, + "ok": 83, + "ko": 10012 + }, + "percentiles2": { + "total": 137, + "ok": 137, + "ko": 10012 + }, + "percentiles3": { + "total": 1107, + "ok": 1106, + "ko": 10012 + }, + "percentiles4": { + "total": 1582, + "ok": 1477, + "ko": 10012 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 252, + "percentage": 83 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 43, + "percentage": 14 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 6, + "percentage": 2 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 1, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.1347517730496453, + "ko": 0.0070921985815602835 + } +} + },"req_request-9-693933705": { + "type": "REQUEST", + "name": "request_9", +"path": "request_9", +"pathFormatted": "req_request-9-693933705", +"stats": { + "name": "request_9", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 3122, + "ok": 3122, + "ko": 0 + }, + "meanResponseTime": { + "total": 264, + "ok": 264, + "ko": 0 + }, + "standardDeviation": { + "total": 404, + "ok": 404, + "ko": 0 + }, + "percentiles1": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles2": { + "total": 126, + "ok": 126, + "ko": 0 + }, + "percentiles3": { + "total": 1094, + "ok": 1094, + "ko": 0 + }, + "percentiles4": { + "total": 1126, + "ok": 1126, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 254, + "percentage": 84 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 46, + "percentage": 15 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 2, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-10-37108175": { + "type": "REQUEST", + "name": "request_10", +"path": "request_10", +"pathFormatted": "req_request-10-37108175", +"stats": { + "name": "request_10", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 3122, + "ok": 3122, + "ko": 0 + }, + "meanResponseTime": { + "total": 252, + "ok": 252, + "ko": 0 + }, + "standardDeviation": { + "total": 429, + "ok": 429, + "ko": 0 + }, + "percentiles1": { + "total": 83, + "ok": 83, + "ko": 0 + }, + "percentiles2": { + "total": 101, + "ok": 101, + "ko": 0 + }, + "percentiles3": { + "total": 1097, + "ok": 1097, + "ko": 0 + }, + "percentiles4": { + "total": 1443, + "ok": 1443, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 258, + "percentage": 85 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 39, + "percentage": 13 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 5, + "percentage": 2 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-11-37108176": { + "type": "REQUEST", + "name": "request_11", +"path": "request_11", +"pathFormatted": "req_request-11-37108176", +"stats": { + "name": "request_11", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 38, + "ok": 38, + "ko": 0 + }, + "maxResponseTime": { + "total": 372, + "ok": 372, + "ko": 0 + }, + "meanResponseTime": { + "total": 47, + "ok": 47, + "ko": 0 + }, + "standardDeviation": { + "total": 28, + "ok": 28, + "ko": 0 + }, + "percentiles1": { + "total": 42, + "ok": 42, + "ko": 0 + }, + "percentiles2": { + "total": 43, + "ok": 43, + "ko": 0 + }, + "percentiles3": { + "total": 67, + "ok": 67, + "ko": 0 + }, + "percentiles4": { + "total": 131, + "ok": 131, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 302, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-12-37108177": { + "type": "REQUEST", + "name": "request_12", +"path": "request_12", +"pathFormatted": "req_request-12-37108177", +"stats": { + "name": "request_12", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 23, + "ok": 23, + "ko": 0 + }, + "maxResponseTime": { + "total": 3114, + "ok": 3114, + "ko": 0 + }, + "meanResponseTime": { + "total": 55, + "ok": 55, + "ko": 0 + }, + "standardDeviation": { + "total": 223, + "ok": 223, + "ko": 0 + }, + "percentiles1": { + "total": 30, + "ok": 30, + "ko": 0 + }, + "percentiles2": { + "total": 31, + "ok": 31, + "ko": 0 + }, + "percentiles3": { + "total": 72, + "ok": 72, + "ko": 0 + }, + "percentiles4": { + "total": 216, + "ok": 216, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 299, + "percentage": 99 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 3, + "percentage": 1 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-14-37108179": { + "type": "REQUEST", + "name": "request_14", +"path": "request_14", +"pathFormatted": "req_request-14-37108179", +"stats": { + "name": "request_14", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 35, + "ok": 35, + "ko": 0 + }, + "maxResponseTime": { + "total": 124, + "ok": 124, + "ko": 0 + }, + "meanResponseTime": { + "total": 40, + "ok": 40, + "ko": 0 + }, + "standardDeviation": { + "total": 8, + "ok": 8, + "ko": 0 + }, + "percentiles1": { + "total": 39, + "ok": 39, + "ko": 0 + }, + "percentiles2": { + "total": 40, + "ok": 40, + "ko": 0 + }, + "percentiles3": { + "total": 56, + "ok": 56, + "ko": 0 + }, + "percentiles4": { + "total": 64, + "ok": 64, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 302, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-15-37108180": { + "type": "REQUEST", + "name": "request_15", +"path": "request_15", +"pathFormatted": "req_request-15-37108180", +"stats": { + "name": "request_15", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 38, + "ok": 38, + "ko": 0 + }, + "maxResponseTime": { + "total": 91, + "ok": 91, + "ko": 0 + }, + "meanResponseTime": { + "total": 43, + "ok": 43, + "ko": 0 + }, + "standardDeviation": { + "total": 6, + "ok": 6, + "ko": 0 + }, + "percentiles1": { + "total": 42, + "ok": 42, + "ko": 0 + }, + "percentiles2": { + "total": 43, + "ok": 43, + "ko": 0 + }, + "percentiles3": { + "total": 58, + "ok": 58, + "ko": 0 + }, + "percentiles4": { + "total": 66, + "ok": 66, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 302, + "percentage": 100 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 0, + "percentage": 0 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-16-37108181": { + "type": "REQUEST", + "name": "request_16", +"path": "request_16", +"pathFormatted": "req_request-16-37108181", +"stats": { + "name": "request_16", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 73, + "ok": 73, + "ko": 0 + }, + "maxResponseTime": { + "total": 1097, + "ok": 1097, + "ko": 0 + }, + "meanResponseTime": { + "total": 221, + "ok": 221, + "ko": 0 + }, + "standardDeviation": { + "total": 349, + "ok": 349, + "ko": 0 + }, + "percentiles1": { + "total": 81, + "ok": 81, + "ko": 0 + }, + "percentiles2": { + "total": 83, + "ok": 83, + "ko": 0 + }, + "percentiles3": { + "total": 1092, + "ok": 1092, + "ko": 0 + }, + "percentiles4": { + "total": 1096, + "ok": 1096, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 260, + "percentage": 86 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 42, + "percentage": 14 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + },"req_request-17-37108182": { + "type": "REQUEST", + "name": "request_17", +"path": "request_17", +"pathFormatted": "req_request-17-37108182", +"stats": { + "name": "request_17", + "numberOfRequests": { + "total": 302, + "ok": 302, + "ko": 0 + }, + "minResponseTime": { + "total": 74, + "ok": 74, + "ko": 0 + }, + "maxResponseTime": { + "total": 1097, + "ok": 1097, + "ko": 0 + }, + "meanResponseTime": { + "total": 213, + "ok": 213, + "ko": 0 + }, + "standardDeviation": { + "total": 342, + "ok": 342, + "ko": 0 + }, + "percentiles1": { + "total": 81, + "ok": 81, + "ko": 0 + }, + "percentiles2": { + "total": 82, + "ok": 82, + "ko": 0 + }, + "percentiles3": { + "total": 1091, + "ok": 1091, + "ko": 0 + }, + "percentiles4": { + "total": 1096, + "ok": 1096, + "ko": 0 + }, + "group1": { + "name": "t < 800 ms", + "htmlName": "t < 800 ms", + "count": 262, + "percentage": 87 +}, + "group2": { + "name": "800 ms <= t < 1200 ms", + "htmlName": "t >= 800 ms
    t < 1200 ms", + "count": 40, + "percentage": 13 +}, + "group3": { + "name": "t >= 1200 ms", + "htmlName": "t >= 1200 ms", + "count": 0, + "percentage": 0 +}, + "group4": { + "name": "failed", + "htmlName": "failed", + "count": 0, + "percentage": 0 +}, + "meanNumberOfRequestsPerSecond": { + "total": 2.141843971631206, + "ok": 2.141843971631206, + "ko": 0 + } +} + } +} + +} \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/theme.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/theme.js new file mode 100644 index 0000000..b95a7b3 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/theme.js @@ -0,0 +1,127 @@ +/* + * Copyright 2011-2022 Gatling Corp + * + * Licensed under the Gatling Highcharts License + */ +Highcharts.theme = { + chart: { + backgroundColor: '#f7f7f7', + borderWidth: 0, + borderRadius: 8, + plotBackgroundColor: null, + plotShadow: false, + plotBorderWidth: 0 + }, + xAxis: { + gridLineWidth: 0, + lineColor: '#666', + tickColor: '#666', + labels: { + style: { + color: '#666' + } + }, + title: { + style: { + color: '#666' + } + } + }, + yAxis: { + alternateGridColor: null, + minorTickInterval: null, + gridLineColor: '#999', + lineWidth: 0, + tickWidth: 0, + labels: { + style: { + color: '#666', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#666', + font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + labels: { + style: { + color: '#CCC' + } + }, + + + rangeSelector: { + buttonTheme: { + fill: '#cfc9c6', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#b2b2a9' + }, + states: { + hover: { + fill: '#92918C', + stroke: '#000000', + style: { + color: '#34332e', + fontWeight: 'bold', + borderColor: '#8b897d' + } + }, + select: { + fill: '#E37400', + stroke: '#000000', + style: { + color: '#FFF' + } + } + } + }, + inputStyle: { + backgroundColor: '#333', + color: 'silver' + }, + labelStyle: { + color: '#8b897d' + } + }, + + navigator: { + handles: { + backgroundColor: '#f7f7f7', + borderColor: '#92918C' + }, + outlineColor: '#92918C', + outlineWidth: 1, + maskFill: 'rgba(146, 145, 140, 0.5)', + series: { + color: '#5E7BE2', + lineColor: '#5E7BE2' + } + }, + + scrollbar: { + buttonBackgroundColor: '#f7f7f7', + buttonBorderWidth: 1, + buttonBorderColor: '#92918C', + buttonArrowColor: '#92918C', + buttonBorderRadius: 2, + + barBorderWidth: 1, + barBorderRadius: 0, + barBackgroundColor: '#92918C', + barBorderColor: '#92918C', + + rifleColor: '#92918C', + + trackBackgroundColor: '#b0b0a8', + trackBorderWidth: 1, + trackBorderColor: '#b0b0a8' + } +}; + +Highcharts.setOptions(Highcharts.theme); diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/unpack.js b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/unpack.js new file mode 100644 index 0000000..883c33e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/js/unpack.js @@ -0,0 +1,38 @@ +'use strict'; + +var unpack = function (array) { + var findNbSeries = function (array) { + var currentPlotPack; + var length = array.length; + + for (var i = 0; i < length; i++) { + currentPlotPack = array[i][1]; + if(currentPlotPack !== null) { + return currentPlotPack.length; + } + } + return 0; + }; + + var i, j; + var nbPlots = array.length; + var nbSeries = findNbSeries(array); + + // Prepare unpacked array + var unpackedArray = new Array(nbSeries); + + for (i = 0; i < nbSeries; i++) { + unpackedArray[i] = new Array(nbPlots); + } + + // Unpack the array + for (i = 0; i < nbPlots; i++) { + var timestamp = array[i][0]; + var values = array[i][1]; + for (j = 0; j < nbSeries; j++) { + unpackedArray[j][i] = [timestamp * 1000, values === null ? null : values[j]]; + } + } + + return unpackedArray; +}; diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-0-693933696.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-0-693933696.html new file mode 100644 index 0000000..95d4be6 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-0-693933696.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_0 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-1-693933697.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-1-693933697.html new file mode 100644 index 0000000..63d4bdc --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-1-693933697.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_1 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-10-37108175.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-10-37108175.html new file mode 100644 index 0000000..a0b7da6 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-10-37108175.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_10 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-11-37108176.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-11-37108176.html new file mode 100644 index 0000000..bdbb334 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-11-37108176.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_11 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-12-37108177.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-12-37108177.html new file mode 100644 index 0000000..ed7a716 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-12-37108177.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_12 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-14-37108179.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-14-37108179.html new file mode 100644 index 0000000..cd31f50 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-14-37108179.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_14 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-15-37108180.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-15-37108180.html new file mode 100644 index 0000000..d4d95f5 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-15-37108180.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_15 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-16-37108181.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-16-37108181.html new file mode 100644 index 0000000..6e277d8 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-16-37108181.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_16 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-17-37108182.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-17-37108182.html new file mode 100644 index 0000000..8260c39 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-17-37108182.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_17 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-2-693933698.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-2-693933698.html new file mode 100644 index 0000000..99c7238 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-2-693933698.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_2 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-3-693933699.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-3-693933699.html new file mode 100644 index 0000000..be4687a --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-3-693933699.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_3 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-4-693933700.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-4-693933700.html new file mode 100644 index 0000000..ac16e55 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-4-693933700.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_4 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-5-693933701.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-5-693933701.html new file mode 100644 index 0000000..8b5ddb5 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-5-693933701.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_5 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-6-693933702.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-6-693933702.html new file mode 100644 index 0000000..e27b509 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-6-693933702.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_6 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-7-693933703.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-7-693933703.html new file mode 100644 index 0000000..8d3ef64 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-7-693933703.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_7 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-8-693933704.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-8-693933704.html new file mode 100644 index 0000000..cd81ef3 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-8-693933704.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_8 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-9-693933705.html b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-9-693933705.html new file mode 100644 index 0000000..7ca10da --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/req_request-9-693933705.html @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + +Gatling Stats - request_9 + + + +
    +
    +
    +
    + + + Documentation +
    + + Try + Gatling Enterprise + Gatling Enterprise + + +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    Stats
    +
    +

    Executions

    + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Total count
    Mean count/s
    +

    Response Time (ms)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TotalOKKO
    Min
    50th percentile
    75th percentile
    95th percentile
    99th percentile
    Max
    Mean
    Standard Deviation
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/bootstrap.min.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/bootstrap.min.css new file mode 100644 index 0000000..76a2b9b --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/bootstrap.min.css @@ -0,0 +1,27 @@ +.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;} +.clearfix:after{clear:both;} +.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;} +.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);} +.tooltip.top{margin-top:-3px;} +.tooltip.right{margin-left:3px;} +.tooltip.bottom{margin-top:3px;} +.tooltip.left{margin-left:-3px;} +.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;} +.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;} +.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;} +.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;} +.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:750px;padding:1px;background-color:#ffffff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);}.popover.top{margin-top:-10px;} +.popover.right{margin-left:10px;} +.popover.bottom{margin-top:10px;} +.popover.left{margin-left:-10px;} +.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;} +.popover-content{padding:9px 14px;}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0;} +.popover .arrow,.popover .arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid;} +.popover .arrow:after{content:"";z-index:-1;} +.popover.top .arrow{bottom:-10px;left:50%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#ffffff;}.popover.top .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0, 0, 0, 0.25);bottom:-1px;left:-11px;} +.popover.right .arrow{top:50%;left:-10px;margin-top:-10px;border-width:10px 10px 10px 0;border-right-color:#ffffff;}.popover.right .arrow:after{border-width:11px 11px 11px 0;border-right-color:rgba(0, 0, 0, 0.25);bottom:-11px;left:-1px;} +.popover.bottom .arrow{top:-10px;left:50%;margin-left:-10px;border-width:0 10px 10px;border-bottom-color:#ffffff;}.popover.bottom .arrow:after{border-width:0 11px 11px;border-bottom-color:rgba(0, 0, 0, 0.25);top:-1px;left:-11px;} +.popover.left .arrow{top:50%;right:-10px;margin-top:-10px;border-width:10px 0 10px 10px;border-left-color:#ffffff;}.popover.left .arrow:after{border-width:11px 0 11px 11px;border-left-color:rgba(0, 0, 0, 0.25);bottom:-11px;right:-1px;} diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/close.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/close.svg new file mode 100644 index 0000000..c161bb9 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/executions.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/executions.svg new file mode 100644 index 0000000..84068cd --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/executions.svg @@ -0,0 +1,3 @@ + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/expand.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/expand.svg new file mode 100644 index 0000000..f6e75e0 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/expand.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/favicon.ico b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d2d20e116df94a676d4bb18395f0479304aef6a4 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/fullscreen.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/fullscreen.svg new file mode 100644 index 0000000..91f3b27 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/fullscreen.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-dark.svg new file mode 100644 index 0000000..7eb4d51 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-enterprise-dark.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-enterprise-dark.svg new file mode 100644 index 0000000..1127d75 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-enterprise-dark.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-enterprise-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-enterprise-light.svg new file mode 100644 index 0000000..4a6e1de --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-enterprise-light.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-light.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-light.svg new file mode 100644 index 0000000..f519eef --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/logo-light.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/sort-down.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/sort-down.svg new file mode 100644 index 0000000..db58a09 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/sort-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/sort-up.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/sort-up.svg new file mode 100644 index 0000000..bba9d84 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/sort-up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/sort.svg b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/sort.svg new file mode 100644 index 0000000..43b658e --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/sort.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/style.css b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/style.css new file mode 100644 index 0000000..edc9626 --- /dev/null +++ b/gatewayservice/monitoring/grafana/provisioning/load_testing/5users-2cpus/style/style.css @@ -0,0 +1,1199 @@ +/* + * Copyright 2011-2024 GatlingCorp (https://gatling.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +:root { + --gatling-background-color: #f2f2f2; + --gatling-background-light-color: #f7f7f7; + --gatling-border-color: #dddddd; + --gatling-blue-color: #4a9fe5; + --gatling-dark-blue-color: #24275e; + --gatling-danger-color: #f15b4f; + --gatling-danger-light-color: #f5d1ce; + --gatling-enterprise-color: #6161d6; + --gatling-enterprise-light-color: #c4c4ed; + --gatling-gray-medium-color: #bbb; + --gatling-hover-color: #e6e6e6; + --gatling-hover-background-color: #e6e6e6; + --gatling-light-color: #ffffff; + --gatling-orange-color: #f78557; + --gatling-success-color: #68b65c; + --gatling-text-color: #1f2024; + --gatling-total-color: #ffa900; + + --gatling-border-radius: 2px; + --gatling-spacing-small: 5px; + --gatling-spacing: 10px; + --gatling-spacing-layout: 20px; + + --gatling-font-weight-normal: 400; + --gatling-font-weight-medium: 500; + --gatling-font-weight-bold: 700; + --gatling-font-size-secondary: 12px; + --gatling-font-size-default: 14px; + --gatling-font-size-heading: 16px; + --gatling-font-size-section: 22px; + --gatling-font-size-header: 34px; + + --gatling-media-desktop-large: 1920px; +} + +html[data-theme="dark"] { + --gatling-background-color: #1e2225; + --gatling-background-light-color: #272c30; + --gatling-border-color: #555555; + --gatling-blue-color: #1188ff; + --gatling-dark-blue-color: #17223B; + --gatling-danger-color: #d9534f; + --gatling-danger-light-color: #c9302c; + --gatling-enterprise-color: #b2a2ea; + --gatling-enterprise-light-color: #343479; + --gatling-gray-medium-color: #999; + --gatling-hover-color: #30363b; + --gatling-hover-background-color: #2c2c2c; + --gatling-light-color: #394046; + --gatling-orange-color: #fe8e5f; + --gatling-success-color: #5cb85c; + --gatling-text-color: #dee2e6; + --gatling-total-color: #ffa900; +} + +* { + min-height: 0; + min-width: 0; +} + +html, +body { + height: 100%; + width: 100%; +} + +body { + color: var(--gatling-text-color); + font-family: arial; + font-size: var(--gatling-font-size-secondary); + margin: 0; +} + +.app-container { + display: flex; + flex-direction: column; + + height: 100%; + width: 100%; +} + +.head { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + + flex: 1; + + background-color: var(--gatling-light-color); + border-bottom: 1px solid var(--gatling-border-color); + min-height: 69px; + padding: 0 var(--gatling-spacing-layout); +} + +.head .spacer { + flex-grow: 1; +} + +.head .theme-toggle { + margin-left: 20px; + background: none; + color: var(--gatling-text-color); + border: none; +} + +.head .theme-toggle:hover { + color: var(--gatling-gray-medium-color); + cursor: pointer; +} + +body .toggle-dark, body .toggle-light { + display: block; +} + +[data-theme="dark"] body .toggle-dark { + display: none; +} + +[data-theme="light"] body .toggle-light { + display: none; +} + +[data-theme="dark"] body .logo-enterprise-light { + display: none; +} + +[data-theme="light"] body .logo-enterprise-dark { + display: none; +} + +.gatling-open-source { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + gap: var(--gatling-spacing-layout); +} + +.gatling-documentation { + display: flex; + align-items: center; + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-orange-color); + border: 1px solid var(--gatling-orange-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 23px; + + font-size: var(--gatling-font-size-default); +} + +.gatling-documentation:hover { + background-color: var(--gatling-orange-color); + color: var(--gatling-light-color); +} + +.gatling-logo { + height: 35px; +} + +.gatling-logo img { + height: 100%; +} + +[data-theme="dark"] .gatling-logo-light { + display: none; +} + +[data-theme="light"] .gatling-logo-dark { + display: none; +} + +.container { + display: flex; + align-items: stretch; + height: 100%; +} + +.nav { + min-width: 210px; + width: 210px; + max-height: calc(100vh - var(--gatling-spacing-layout) - var(--gatling-spacing-layout)); + background: var(--gatling-light-color); + border-right: 1px solid var(--gatling-border-color); + overflow-y: auto; +} + +@media print { + .nav { + display: none; + } +} + +@media screen and (min-width: 1920px) { + .nav { + min-width: 310px; + width: 310px; + } +} + +.nav ul { + display: flex; + flex-direction: column; + + padding: 0; + margin: 0; +} + +.nav li { + display: flex; + list-style: none; + width: 100%; + padding: 0; +} + +.nav .item { + display: inline-flex; + align-items: center; + margin: 0 auto; + white-space: nowrap; + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + margin: 0; + width: 100%; +} + +.nav .item .nav-label { + padding: var(--gatling-spacing) var(--gatling-spacing-layout); +} + +.nav .item:hover { + background-color: var(--gatling-hover-color); +} + +.nav .on .item { + background-color: var(--gatling-orange-color); +} + +.nav .on .item span { + color: var(--gatling-light-color); +} + +.cadre { + width: 100%; + height: 100%; + overflow-y: scroll; + scroll-behavior: smooth; +} + +@media print { + .cadre { + overflow-y: unset; + } +} + +.frise { + position: absolute; + top: 60px; + z-index: -1; + + background-color: var(--gatling-background-color); + height: 530px; +} + +.global { + height: 650px +} + +a { + text-decoration: none; +} + +a:hover { + color: var(--gatling-hover-color); +} + +img { + border: 0; +} + +h1 { + color: var(--gatling-dark-blue-color); + font-size: var(--gatling-font-size-section); + font-weight: var(--gatling-font-weight-medium); + text-align: center; + margin: 0; +} + +h1 span { + color: var(--gatling-hover-color); +} + +.enterprise { + display: flex; + align-items: center; + justify-content: center; + gap: var(--gatling-spacing-small); + + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-enterprise-color); + color: var(--gatling-enterprise-color); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); + height: 25px; +} + +.enterprise:hover { + background-color: var(--gatling-hover-color); + color: var(--gatling-enterprise-color); +} + +.enterprise img { + display: block; + width: 160px; +} + +.simulation-card { + display: flex; + flex-direction: column; + align-self: stretch; + flex: 1; + gap: var(--gatling-spacing-layout); + max-height: 375px; +} + +#simulation-information { + flex: 1; +} + +.simulation-version-information { + display: flex; + flex-direction: column; + + gap: var(--gatling-spacing); + font-size: var(--gatling-font-size-default); + + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing); +} + +.simulation-information-container { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing); +} + +.withTooltip .popover-title { + display: none; +} + +.popover-content p { + margin: 0; +} + +html[data-theme="dark"] div.popover { + background-color: var(--gatling-light-color); + border-bottom: none; +} + +html[data-theme="dark"] div.popover.right .arrow { + border-right-color: var(--gatling-light-color); +} + +.ellipsed-name { + display: block; + + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.simulation-information-item { + display: flex; + flex-direction: row; + align-items: flex-start; + gap: var(--gatling-spacing-small); +} + +.simulation-information-item.description { + flex-direction: column; +} + +.simulation-information-label { + display: inline-block; + font-weight: var(--gatling-font-weight-bold); + min-width: fit-content; +} + +.simulation-information-title { + display: block; + text-align: center; + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + width: 100%; +} + +.simulation-tooltip span { + display: inline-block; + word-wrap: break-word; + overflow: hidden; + text-overflow: ellipsis; +} + +.content { + display: flex; + flex-direction: column; +} + +.content-in { + width: 100%; + height: 100%; + + overflow-x: scroll; +} + +html[data-theme="dark"] .content-in { + background-color: var(--gatling-background-color); +} + +@media print { + .content-in { + overflow-x: unset; + } +} + +.container-article { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + min-width: 1050px; + width: 1050px; + margin: 0 auto; + padding: var(--gatling-spacing-layout); + box-sizing: border-box; +} + +@media screen and (min-width: 1920px) { + .container-article { + min-width: 1350px; + width: 1350px; + } + + #responses * .highcharts-tracker { + transform: translate(400px, 70px); + } +} + +.content-header { + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); + + background-color: var(--gatling-background-light-color); + border-bottom: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-layout) var(--gatling-spacing-layout) 0; +} + +.onglet { + font-size: var(--gatling-font-size-header); + font-weight: var(--gatling-font-weight-medium); + text-align: center; +} + +.sous-menu { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.sous-menu-spacer { + display: flex; + align-items: center; + flex-direction: row; +} + +.sous-menu .item { + margin-bottom: -1px; +} + +.sous-menu a { + display: block; + + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-normal); + padding: var(--gatling-spacing-small) var(--gatling-spacing) var(--gatling-spacing); + border-bottom: 2px solid transparent; + color: var(--gatling-text-color); + text-align: center; + width: 100px; +} + +.sous-menu a:hover { + border-bottom-color: var(--gatling-text-color); +} + +.sous-menu .ouvert a { + border-bottom-color: var(--gatling-orange-color); + font-weight: var(--gatling-font-weight-bold); +} + +.article { + position: relative; + + display: flex; + flex-direction: column; + gap: var(--gatling-spacing-layout); +} + +.infos { + width: 340px; + color: var(--gatling-light-color); +} + +.infos-title { + background-color: var(--gatling-background-light-color); + border: 1px solid var(--gatling-border-color); + border-bottom: 0; + border-top-left-radius: var(--gatling-border-radius); + border-top-right-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.info { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + height: 100%; + margin: 0; +} + +.info table { + margin: auto; + padding-right: 15px; +} + +.alert-danger { + background-color: var(--gatling-danger-light-color); + border: 1px solid var(--gatling-danger-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-layout); + font-weight: var(--gatling-font-weight-bold); +} + +.infos h2 { + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + height: 19px; + margin: 0; + padding: 3.5px 0 0 35px; +} + +.infos .first::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.infos .second::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .infos .first::before, +html[data-theme="dark"] .infos .second::before { + filter: invert(0.9); +} + +.infos th { + text-align: center; +} + +.infos td { + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing-small); + -webkit-border-radius: var(--gatling-border-radius); + -moz-border-radius: var(--gatling-border-radius); + -ms-border-radius: var(--gatling-border-radius); + -o-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + text-align: right; + width: 50px; +} + +.infos .title { + width: 120px; +} + +.infos .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); +} + +.infos .total { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); +} + +.infos .ko { + background-color: var(--gatling-danger-color); + -webkit-border-radius: var(--gatling-border-radius); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); +} + +.schema-container { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--gatling-spacing-layout); +} + +.schema { + background: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); +} + +.ranges { + height: 375px; + width: 500px; +} + +.ranges-large { + height: 375px; + width: 530px; +} + +.geant { + height: 362px; +} + +.extensible-geant { + width: 100%; +} + +.polar { + height: 375px; + width: 230px; +} + +.chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .chart_title { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); + font-size: var(--gatling-font-size-heading); + padding: 2px var(--gatling-spacing); +} + +html[data-theme="dark"] .highcharts-background { + fill: var(--gatling-background-light-color); +} + +html[data-theme="dark"] .highcharts-button-normal rect { + fill: var(--gatling-background-color) !important; +} + +html[data-theme="dark"] .highcharts-button-disabled rect { + fill: var(--gatling-background-light-color) !important; +} + +html[data-theme="dark"] .highcharts-button-pressed rect { + fill: var(--gatling-orange-color) !important; +} + +html[data-theme="dark"] .highcharts-axis text, +html[data-theme="dark"] .highcharts-axis-labels text, +html[data-theme="dark"] .highcharts-button text, +html[data-theme="dark"] .highcharts-legend-item text, +html[data-theme="dark"] .highcharts-range-selector-buttons text { + fill: var(--gatling-text-color) !important; +} + +.statistics { + display: flex; + flex-direction: column; + + background-color: var(--gatling-background-light-color); + border-radius: var(--gatling-border-radius); + border-collapse: collapse; + color: var(--gatling-text-color); + max-height: 100%; +} + +.statistics .title { + display: flex; + text-align: center; + justify-content: space-between; + + min-height: 49.5px; + box-sizing: border-box; + + border: 1px solid var(--gatling-border-color); + color: var(--gatling-text-color); + font-size: var(--gatling-font-size-heading); + font-weight: var(--gatling-font-weight-bold); + padding: var(--gatling-spacing); +} + +.title_base { + display: flex; + align-items: center; + text-align: left; + user-select: none; +} + +.title_base_stats { + color: var(--gatling-text-color); + margin-right: 20px; +} + +.toggle-table { + position: relative; + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: 25px; + width: 40px; + height: 20px; + margin: 0 var(--gatling-spacing-small); +} + +.toggle-table::before { + position: absolute; + top: calc(50% - 9px); + left: 1px; + content: ""; + width: 50%; + height: 18px; + border-radius: 50%; + background-color: var(--gatling-text-color); +} + +.toggle-table.off::before { + left: unset; + right: 1px; +} + +.title_expanded { + cursor: pointer; + color: var(--gatling-text-color); +} + +.expand-table, +.collapse-table { + font-size: var(--gatling-font-size-secondary); + font-weight: var(--gatling-font-weight-normal); +} + +.title_expanded span.expand-table { + color: var(--gatling-gray-medium-color); +} + +.title_collapsed { + cursor: pointer; + color: var(--gatling-text-color); +} + +.title_collapsed span.collapse-table { + color: var(--gatling-gray-medium-color); +} + +#container_statistics_head { + position: sticky; + top: -1px; + + background: var(--gatling-background-light-color); + margin-top: -1px; + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); +} + +#container_statistics_body { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + margin-top: -1px; + padding: 0px var(--gatling-spacing-small) var(--gatling-spacing-small) var(--gatling-spacing-small); +} + +#container_errors { + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small) var(--gatling-spacing-small) 0px var(--gatling-spacing-small); + margin-top: -1px; +} + +#container_assertions { + background-color: var(--gatling-background-light-color); + border-bottom-left-radius: var(--gatling-border-radius); + border-bottom-right-radius: var(--gatling-border-radius); + padding: var(--gatling-spacing-small); + margin-top: -1px; +} + +.statistics-in { + border-spacing: var(--gatling-spacing-small); + border-collapse: collapse; + margin: 0; +} + +.statistics .scrollable { + max-height: 100%; + overflow-y: auto; +} + +#statistics_table_container .statistics .scrollable { + max-height: 785px; +} + +.statistics-in a { + color: var(--gatling-text-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .header { + border-radius: var(--gatling-border-radius); + border: 1px solid var(--gatling-border-color); + font-size: var(--gatling-font-size-default); + font-weight: var(--gatling-font-weight-bold); + text-align: center; + padding: var(--gatling-spacing-small); +} + +.sortable { + cursor: pointer; +} + +.sortable span::after { + content: ''; + display: inline-block; + margin-left: 5px; + vertical-align: middle; + width: 12px; + height: 12px; + background: url('sort.svg'); + background-size: contain; +} + +.sorted-up span::after { + background: url('sort-up.svg'); + background-size: contain; +} + +.sorted-down span::after { + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .sortable span::after { + filter: invert(0.9); +} + +.executions::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 14px; + height: 14px; + background: url('executions.svg'); + background-size: contain; +} + +.response-time::before { + content: ''; + display: inline-block; + margin-right: 5px; + margin-bottom: 2px; + vertical-align: middle; + width: 16px; + height: 16px; + background: url('time.svg'); + background-size: contain; +} + +html[data-theme="dark"] .executions::before, +html[data-theme="dark"] .response-time::before { + filter: invert(0.9); +} + +.statistics-in td { + background-color: var(--gatling-light-color); + border: 1px solid var(--gatling-border-color); + padding: var(--gatling-spacing-small); + min-width: 50px; +} + +.statistics-in .col-1 { + width: 175px; + max-width: 175px; +} +@media screen and (min-width: 1200px) { + .statistics-in .col-1 { + width: 50%; + } +} + +.expandable-container { + display: flex; + flex-direction: row; + box-sizing: border-box; + max-width: 100%; +} + +.statistics-in .value { + text-align: right; + width: 50px; +} + +.statistics-in .total { + color: var(--gatling-text-color); +} + +.statistics-in .col-2 { + background-color: var(--gatling-total-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .error-col-1 { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); +} + +.statistics-in .error-col-2 { + text-align: center; +} + +.statistics-in .ok { + background-color: var(--gatling-success-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .ko { + background-color: var(--gatling-danger-color); + color: var(--gatling-light-color); + font-weight: var(--gatling-font-weight-bold); +} + +.statistics-in .expand-button { + padding-left: var(--gatling-spacing); + cursor: pointer; +} + +.expand-button.hidden { + background: none; + cursor: default; +} + +.statistics-button { + background-color: var(--gatling-light-color); + color: var(--gatling-text-color); + padding: var(--gatling-spacing-small) var(--gatling-spacing); + border: 1px solid var(--gatling-border-color); + border-radius: var(--gatling-border-radius); +} + +#statistics_full_screen{ + padding: var(--gatling-spacing-small); +} + +#statistics_full_screen > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] #statistics_full_screen > img { + filter: invert(0.9); +} + +#statistics_full_screen:disabled { + display: none; +} + +.statistics-button:hover:not(:disabled) { + cursor: pointer; + background-color: var(--gatling-hover-color); +} + +.statistics-in .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('expand.svg'); + background-size: contain; +} + +.statistics-in .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + width: 2px; + height: 10px; + background: url('sort-down.svg'); + background-size: contain; +} + +html[data-theme="dark"] .statistics-in .expand-button.collapse, +html[data-theme="dark"] .statistics-in .expand-button.expand { + filter: invert(0.9); +} + +.nav .expand-button { + padding: var(--gatling-spacing-small) var(--gatling-spacing); +} + +.nav .expand-button.expand { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('expand.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +.nav .expand-button.collapse { + content: ''; + display: inline-block; + vertical-align: middle; + height: 8px; + background: url('sort-down.svg') no-repeat; + background-size: contain; + cursor: pointer; + margin-top: 6px; +} + +html[data-theme="dark"] .nav .expand-button.expand, +html[data-theme="dark"] .nav .expand-button.collapse { + filter: invert(0.9); +} + +.right { + display: flex; + align-items: center; + gap: var(--gatling-spacing); + float: right; + font-size: var(--gatling-font-size-default); +} + +.withTooltip { + outline: none; +} + +.withTooltip:hover { + text-decoration: none; +} + +.withTooltip .tooltipContent { + position: absolute; + z-index: 10; + display: none; + + background: var(--gatling-orange-color); + -webkit-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + -moz-box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + box-shadow: 1px 2px 4px 0px rgba(47, 47, 47, 0.2); + border-radius: var(--gatling-border-radius); + color: var(--gatling-light-color); + margin-top: -5px; + padding: var(--gatling-spacing-small); +} + +.withTooltip:hover .tooltipContent { + display: inline; +} + +.button-modal { + padding: var(--gatling-spacing-small); +} + +.button-modal > img { + width: 14px; + height: 14px; +} + +html[data-theme="dark"] .button-modal > img { + filter: invert(0.9); +} + +.statistics-table-modal { + background-color: var(--gatling-background-color); + height: calc(100% - 60px); + width: calc(100% - 60px); + border-radius: var(--gatling-border-radius); +} + +.statistics-table-modal::backdrop { + position: fixed; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + + background-color: rgba(100, 100, 100, 0.9); +} + +.statistics-table-modal-container { + display: flex; + flex-direction: column; + + width: 100%; + height: calc(100% - 35px); + overflow-x: auto; +} + +.button-modal { + cursor: pointer; + + height: 25px; + width: 25px; + + border: 1px solid var(--gatling-border-color); + background-color: var(--gatling-light-color); + border-radius: var(--gatling-border-radius); + color: var(--gatling-text-color); +} + +.button-modal:hover { + background-color: var(--gatling-background-color); +} + +.statistics-table-modal-header { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-bottom: var(--gatling-spacing); +} + +.statistics-table-modal-content { + flex: 1; + overflow-y: auto; + min-width: 1050px; +} + +.statistics-table-modal-footer { + display: flex; + align-items: flex-end; + justify-content: flex-end; + + padding-top: var(--gatling-spacing); +} From 9a0be0ba21494163a8ac517acf59b64b2d7f9b2e Mon Sep 17 00:00:00 2001 From: Alberto-Guerra Date: Mon, 29 Apr 2024 13:48:41 +0200 Subject: [PATCH 09/15] Ui enchancement + originality --- webapp/src/components/Game/GameOver.tsx | 32 +++++++++++++--------- webapp/src/components/stats/Statistics.tsx | 8 +++--- webapp/src/components/stats/StatsTable.tsx | 7 +++-- webapp/src/index.css | 5 ++-- 4 files changed, 30 insertions(+), 22 deletions(-) diff --git a/webapp/src/components/Game/GameOver.tsx b/webapp/src/components/Game/GameOver.tsx index e0d592a..52f43fd 100644 --- a/webapp/src/components/Game/GameOver.tsx +++ b/webapp/src/components/Game/GameOver.tsx @@ -32,22 +32,28 @@ const GameOver = (props: props) => { // Set the image according to the score let score = getScore(); let imageToShow; - if (score < 3) { + let message; + let scorePercentage = (score / props.questions.length) * 100; + if (scorePercentage < 50 + ) { imageToShow = images.lowScore; - } else if (score < 8) { + message = "You are NOT smarter than a penguin"; + } else if (scorePercentage < 75) { imageToShow = images.mediumScore; + message = "You ARE smarter than a penguin"; } else { imageToShow = images.highScore; + message = "You ARE smarter than the SMARTEST penguin"; } return ( -
    -
    - -

    {props.finalMessage}

    - - 🏠︎ - +
    +
    +
    +

    {message}

    + +
    + Score image
    @@ -72,10 +78,10 @@ const GameOver = (props: props) => {
    - -

    Score: {getScore()} / {props.questions.length}

    - - Score image +
    +

    Score: {getScore()} / {props.questions.length}

    + Back to home +
    diff --git a/webapp/src/components/stats/Statistics.tsx b/webapp/src/components/stats/Statistics.tsx index 429daf3..06318d6 100644 --- a/webapp/src/components/stats/Statistics.tsx +++ b/webapp/src/components/stats/Statistics.tsx @@ -25,18 +25,18 @@ export default function Statistics () { return ( <> -
    +
    {username.toUpperCase().charAt(0)}{username.toUpperCase().charAt(1)}
    -

    {username}

    -

    {email}

    +

    {username}

    +

    {email}

    - Keep Improving + Keep Improving
    ) diff --git a/webapp/src/components/stats/StatsTable.tsx b/webapp/src/components/stats/StatsTable.tsx index 0dd182b..6725168 100644 --- a/webapp/src/components/stats/StatsTable.tsx +++ b/webapp/src/components/stats/StatsTable.tsx @@ -28,8 +28,9 @@ export default function StatsTable() { return (
    - Left -
    + Left + +
    @@ -65,7 +66,7 @@ export default function StatsTable() {
    Statistics
    - Right + Right
    ); diff --git a/webapp/src/index.css b/webapp/src/index.css index 8d39b7f..2575173 100644 --- a/webapp/src/index.css +++ b/webapp/src/index.css @@ -278,20 +278,21 @@ .stats-table { font-size: 1rem; - color: white; + color: #f2ecff; display: flex; flex-direction: column; justify-content: center; width: 80%; margin: auto; border-bottom: 1rem; + .header { display: grid; grid-template-columns: repeat(2, 1fr); width: 100%; padding-bottom: 1rem; - border-bottom: .1rem solid white; + border-bottom: .1rem solid #f2ecff; th { padding-inline: 1rem; From 48f7d4b1f63cc34aae1e9c0788b4917e5952392d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Tru=C3=A9bano?= Date: Mon, 29 Apr 2024 13:49:35 +0200 Subject: [PATCH 10/15] Excluding gatewayservice/monitoring folder as a sonar cloud analysis information source --- sonar-project.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sonar-project.properties b/sonar-project.properties index 66503f0..2262fa3 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -14,5 +14,5 @@ sonar.projectName=wiq_en3a sonar.coverage.exclusions=**/*.test.js, **/*.test.ts, **/*.test.tsx sonar.sources=webapp/src/components,users,wikidataservice,gatewayservice sonar.sourceEncoding=UTF-8 -sonar.exclusions=node_modules/** +sonar.exclusions=node_modules/**,gatewayservice/monitoring/** sonar.javascript.lcov.reportPaths=**/coverage/lcov.info \ No newline at end of file From 5483afb2374211ea9d0c995c8b8d7849e397768e Mon Sep 17 00:00:00 2001 From: Alberto-Guerra Date: Mon, 29 Apr 2024 14:01:09 +0200 Subject: [PATCH 11/15] stats table fix --- webapp/src/components/stats/StatsTable.tsx | 2 +- webapp/src/index.css | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/webapp/src/components/stats/StatsTable.tsx b/webapp/src/components/stats/StatsTable.tsx index 6725168..c70eff1 100644 --- a/webapp/src/components/stats/StatsTable.tsx +++ b/webapp/src/components/stats/StatsTable.tsx @@ -26,7 +26,7 @@ export default function StatsTable() { }; return ( -
    +
    Left
    diff --git a/webapp/src/index.css b/webapp/src/index.css index 2575173..c060f0e 100644 --- a/webapp/src/index.css +++ b/webapp/src/index.css @@ -284,7 +284,8 @@ justify-content: center; width: 80%; margin: auto; - border-bottom: 1rem; + border: 1px solid #f2ecff; + .header { From 0aa55e5b0c1f1d55784fc12d8d122dacdc387065 Mon Sep 17 00:00:00 2001 From: sergiollende Date: Mon, 29 Apr 2024 14:05:47 +0200 Subject: [PATCH 12/15] More questions normal game --- wikidataservice/index.js | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/wikidataservice/index.js b/wikidataservice/index.js index 2e7fa31..70943d7 100644 --- a/wikidataservice/index.js +++ b/wikidataservice/index.js @@ -65,18 +65,19 @@ init().then(([jsonCountryQuestions, jsonElementsQuestions, jsonMovieQuestions, // Route for getting questions about mixed topics app.get('/getQuestions', async (req, res, next) => { - try { - - // Generate the questions - const questions1 = generateQuestions("What is the capital of: ", jsonCountryQuestions.results.bindings); - const questions2 = generateQuestions("What is the element of: ", jsonElementsQuestions.results.bindings); - const questions3 = generateQuestions("What is the director of: ", jsonMovieQuestions.results.bindings); - - // Combine the questions - const allQuestions = [...questions1, ...questions2, ...questions3]; - + try { + // Generate the questions + let questions = [] + for(let i = 0; i < 2; i++){ + questions.push(generateQuestions(jsonHistoryQuestions[i].questionText, jsonHistoryQuestions[i].jsonResult.results.bindings, 1)); + questions.push(generateQuestions(jsonSportsQuestions[i].questionText, jsonSportsQuestions[i].jsonResult.results.bindings, 1)); + questions.push(generateQuestions(jsonGeographyQuestion[i].questionText, jsonGeographyQuestion[i].jsonResult.results.bindings, 1)); + questions.push(generateQuestions(jsonEntertainmentQuestion[i].questionText, jsonEntertainmentQuestion[i].jsonResult.results.bindings, 1)); + questions.push(generateQuestions(jsonChemistryQuestion[i].questionText, jsonChemistryQuestion[i].jsonResult.results.bindings, 1)); + } + // Shuffle the questions - let shuffled = allQuestions + let shuffled = questions .map(value => ({ value, sort: Math.random() })) .sort((a, b) => a.sort - b.sort) .map(({ value }) => value) From 25f70fc8eee74231c3cfb0de07265da9b9589411 Mon Sep 17 00:00:00 2001 From: Alberto-Guerra Date: Mon, 29 Apr 2024 14:29:42 +0200 Subject: [PATCH 13/15] question fix --- wikidataservice/index.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/wikidataservice/index.js b/wikidataservice/index.js index 70943d7..ca588cc 100644 --- a/wikidataservice/index.js +++ b/wikidataservice/index.js @@ -69,19 +69,19 @@ init().then(([jsonCountryQuestions, jsonElementsQuestions, jsonMovieQuestions, // Generate the questions let questions = [] for(let i = 0; i < 2; i++){ - questions.push(generateQuestions(jsonHistoryQuestions[i].questionText, jsonHistoryQuestions[i].jsonResult.results.bindings, 1)); - questions.push(generateQuestions(jsonSportsQuestions[i].questionText, jsonSportsQuestions[i].jsonResult.results.bindings, 1)); - questions.push(generateQuestions(jsonGeographyQuestion[i].questionText, jsonGeographyQuestion[i].jsonResult.results.bindings, 1)); - questions.push(generateQuestions(jsonEntertainmentQuestion[i].questionText, jsonEntertainmentQuestion[i].jsonResult.results.bindings, 1)); - questions.push(generateQuestions(jsonChemistryQuestion[i].questionText, jsonChemistryQuestion[i].jsonResult.results.bindings, 1)); + questions.push(generateQuestions(jsonHistoryQuestions[i].questionText, jsonHistoryQuestions[i].jsonResult.results.bindings, 1)[0]); + questions.push(generateQuestions(jsonSportsQuestions[i].questionText, jsonSportsQuestions[i].jsonResult.results.bindings, 1)[0]); + questions.push(generateQuestions(jsonGeographyQuestion[i].questionText, jsonGeographyQuestion[i].jsonResult.results.bindings, 1)[0]); + questions.push(generateQuestions(jsonEntertainmentQuestion[i].questionText, jsonEntertainmentQuestion[i].jsonResult.results.bindings, 1)[0]); + questions.push(generateQuestions(jsonChemistryQuestion[i].questionText, jsonChemistryQuestion[i].jsonResult.results.bindings, 1)[0]); } - + + console.log(questions) // Shuffle the questions let shuffled = questions .map(value => ({ value, sort: Math.random() })) .sort((a, b) => a.sort - b.sort) .map(({ value }) => value) - res.status(200).json(shuffled.slice(0,10)); } catch (error) { next(error); @@ -95,7 +95,7 @@ init().then(([jsonCountryQuestions, jsonElementsQuestions, jsonMovieQuestions, const randomIndex = Math.floor(Math.random() * jsonHistoryQuestions.length); let itemData = jsonHistoryQuestions[randomIndex]; const questions = generateQuestions(itemData.questionText, itemData.jsonResult.results.bindings, 1); - + console.log(questions) res.status(200).json(questions); } catch (error) { next(error); From 94db0a6362be65c757a05c518abad8cee7a05b3d Mon Sep 17 00:00:00 2001 From: Alberto-Guerra Date: Mon, 29 Apr 2024 14:40:11 +0200 Subject: [PATCH 14/15] format normal game fixed --- webapp/src/components/Game/Game.tsx | 14 +++++++++++--- webapp/src/services/question-service.ts | 1 - 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/webapp/src/components/Game/Game.tsx b/webapp/src/components/Game/Game.tsx index b86280a..487e63d 100644 --- a/webapp/src/components/Game/Game.tsx +++ b/webapp/src/components/Game/Game.tsx @@ -48,6 +48,11 @@ export default function Game(props: Props) { useEffect(() => { getQuestionsFromApi().then((questions : questionType[]) => { + questions.map((q) => { + if(!isNaN(Number(q.answers[0]))){ + q.answers = q.answers.map((a) => formatNumberWithDots(a)); + } + }); setQuestions(questions) setLoadingData(false); }) @@ -58,11 +63,14 @@ export default function Game(props: Props) { setCorrectSelected(false); setQuestionCount(questionCount+1); setLoading(true); - +/* if(!isNaN(Number((questions[questionCount].answers[0])))){ const newAnswers = questions[questionCount].answers.map((a) => formatNumberWithDots(a)); - questions[questionCount].answers = newAnswers; - } + let questionsCopy = [...questions]; + console.log(newAnswers); + questionsCopy[questionCount].answers = newAnswers; + setQuestions(questionsCopy); + } */ setTimeout(() => { setLoading(false); diff --git a/webapp/src/services/question-service.ts b/webapp/src/services/question-service.ts index 98c27d7..da924f7 100644 --- a/webapp/src/services/question-service.ts +++ b/webapp/src/services/question-service.ts @@ -12,7 +12,6 @@ let url = process.env.REACT_APP_API_ENDPOINT || 'http://localhost:8000'; export const getQuestionsFromApi = async (): Promise => { const response = await axios.get(url + "/GetQuestions"); - console.log('response:', response); return response.data; }; From 0e1542e8c5afddd4967de5d0525619f940118d4d Mon Sep 17 00:00:00 2001 From: Alberto-Guerra Date: Mon, 29 Apr 2024 14:47:19 +0200 Subject: [PATCH 15/15] url removed --- users/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/index.js b/users/index.js index dacb3ac..119dfa4 100644 --- a/users/index.js +++ b/users/index.js @@ -11,7 +11,7 @@ const app = express(); const port = 8003; // Connect to MongoDB -const mongoUri = process.env.MONGODB_URI || "mongodb+srv://prueba:prueba@cluster0.kjzbhst.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0"; +const mongoUri = process.env.MONGODB_URI mongoose.connect(mongoUri).then( console.log('Succesfully connected to MongoDB')
    +
    +
    +
    + +
    +
    +
    +
    + RecordedSimulation +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    +
    +
    +
    + Gatling Version + + Version: + 3.10.5 + + + Released: + 2024-03-22 + +
    +
    + Run Information +
    + + Date: + 2024-04-25 17:09:28 GMT + + + Duration: + 10m 1s + + + Description: + Load testing (10 users/sec in 60sec - machine 1 cpu) + + +
    +
    +
    +
    + +
    + +
    + +
    +
    +
    +
    +
    + + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +

    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 literal 0 HcmV?d00001 diff --git a/docs/images/2.2users-secA.png b/docs/images/2.2users-secA.png new file mode 100644 index 0000000000000000000000000000000000000000..73a477e709843f87edc4d21d40d4393c053b56b8 GIT binary patch literal 112029 zcmcG#RY03v&@PG;cXudIthl>7rG=KZ1b26Wy99>-ZE<%fn&R&66eqa56}OZ2`}f}G za-WNHfvgbTtdTYI%*?YQ)ITUVB{azXl4iby;XoLh?qd6*R0pZ}VyZ?T{_d67u!oj^1D9cHI_Rv3C zMw9yC`Yd@SIMT`8&7I!O4P`Edr!I~l(>6}|YJ5FsU2RuTr|n+5?A$E4#AEZ$efeM) z(mYdPWwW1HSW>Vh{gyfag*m&!(SV+-n|t@=PU12>Y`)sdZNfhKMTvM z6g)aQ0ujSLGk;f$jrhlx&(eCI-qt{cMBL+buv-0LyNnyV+VcF?xGyz4{}CbtJP}hh zub${K+Fef5W`+G#XK98BKfYBw6br38elta8I3^EBLN*P613h#MRQWGtxmC9RdklOT z)A;w1_wH22tLC~QlXZSl1vo!pim)GoJ;1GEzrNqxH`tpHu`-(f89<41udzb*f1880UI@MBf7u51@3{Y0 zE96FbK&`K+TTQE-7fM7I^pL5n(v_-urIS&h)f`Wj9D*H;<;lR~p zD{@W&wb7o?@~;=zqv123dLzF}Yz<~;{}9xrYR!Pcx=%~kjx$8hFvH1eN_fxw+ zd{iGZ2>FC={g1-q^LSQXI9R^bTD`>|rcE|cdNjNyOt!4cix`wQfH(#QY-i#!Piuy` z3E9KrL{qlq8n|;FegQRqa+{FZAN))4l*O|5i^3khQ4>n2jYi_GnWoHnA%BD-zN3iw z5UDe7#VKu{ooUkAn`E7pOzFP<$^etAK~GV{Uc#Jo9@+{-Y<7(v`NZu)IB_;23v7985vDZrX6jX32s*Y zoXO*gax@GepFT`2qpUwWcjQYS6gjNjwU>7{>1iPft(D3heRnWkU@ARdtYqO0i}SN^ z;-hPzSsuP`_~rf4rVe9nEQsyM-tbe}wLrz5$n@f}#SBkQ#`2R-o$g=u zB74+5OPIBxPoHVcxmP>1K*>_q)x_2k159y7}L7ina$5CaRcwy@0iw~vC#f#=H@nig}G4kS5h7{_gJ(b9a#A zDekPbiS`>?f;dxuUZ~p%zJlPW_HW%f3JKqC)S=My%Ko+w8`6jkN}n2DeZ226>Uv3w zTBtth&8P<+ChF$ClmU`2BVS_uyF z6%K8}^vXJW9Y=&haRD5hQB|2EE*wkN#^ay7mpC?NZ^c7`SMB=d(i)dy8@XagV<#m( z5mM=g?UJ-dUFkjuit?x%P3GzPV)ygLZtAwa6wEQ=d%wPK^Yn03;XAr2P(So(^aOG{ z%o2ih@3fmC;$m5N4VPd*aX$Hx!3)!)`4@84?tZ#44P?G8`eP-58t5UoRTS+8Dv5Zb zx^rFHjE!V5e7Acr>j#XIdF+l|H>z7zl$W9wLV#?VtRH@kLU0wYm(pwpN{NV};fM*4 z+^D62=J9gkNLjNvXpZjGw!H4VymRxTsbuXxWMwv|BXVtkU-ft@H&$0sN~>59Zc_&~ zjbYKEedp#@k6dh#y@hm8L7)##Qv}|BaB}ZY5n`~zzaH0-C z;}!88f0B21!^r;WMwL2B-5)J-8p+aa3rwKwzA-lM=pmZybZ(6C=N_F>+#_yDVjY6% zZu>5sA1g1nwP90J>?G|5uJ4|Ib9(=iP>iy|1^r+$|BRPvQ^)Mm{bPJY^4(ruGJmir zSnidSfD2(?>^it~RKB>127JqL!z4OpaO(7vcrjc#*-!8$Ri^cIJ?U#Kb?H#+lbaGL zKKD#7k1#o_7w@`Rzt!T9`AkZ z?_^OMAB>(o#iO-63{PZ!M0?;8e34eaFWarBcUt%)R`!j~;l@R*sS2%LQi2Q~Y9(#p zM49F{LR`21YZD6DfjA0!2vr@gf33Prx@8xP+35E0EA>x{PV)4~v^(5-B_@_T*it6!9E!l6->-*Wvsdc$xZ64~8)m$53_*?CQ}?jNxy~S_ zzmM2GKge^Zmv{q5`_nO+S{S_(pC8+d-)MlK(r~}B@ci=gPh2@g57{Jl(*E~(XL3WE z9$bEe_zh7%KsnM-6IonAFSbyR&+BLL2z&J3<9^+0J$g-{%H0AFv42&Fb`=os_m^fj zz07$yeMRWQp@|xdI432-2jxIf&X>Z3)<*_6i?NdfEnXUMSqMU3gS>s@Zq?<4z8bEM z7d7DghPKGJ_dPnzddh}5F5w*y>X}l?mJ|lBA#V=o*{Y`YplBaNPMvo@11-&uKYUF7 zQ(AO>*t3*vD;)L2AngJ2x2rdLoR?FLK$DiUyYpo4mQp4yyyZq$(eX_D2BcfS>lUe&AJK8cu%g*E^m_**F+ zMgyA-y-z&ZQmLbI0-=65v3W7D-)6r)i{CA-tzkgVq-EZ7AIFQ~z1EEb} zpsx2o^ar&c`b{0QATpOgV(CpgXm(&Of9lq{+inh@2jV z)ASfsx0&at@jv4etvZYQ7o1E9`@pH;RwjAeKd3JIVibLB5zNO`rEGC;{K$!8JrdBE zz*)h61Yi;kietKi$pUlUo(Pc$BYal~mC;BB`)oR@dfVgqjZgmeFFNu-xH_&~qKW`wOu`f(OUlgC;S7;^`CQ$;5Fq&uqgY!vOT zQ=b5GHo!!awyi4SU~@BBnuO>O4F4EU6PX4Rx|^mv6K-y|R~xyHMsLLeHxoVbU1}w9 ztg^k1yka#9iX&Q3)S|D0!k6rsI8SP^qXKkH=qXRN0~l^%`?%_8WV`ToangmG3~s+R zIjCocKqIvgscU!3;jwL`wh>!yhZWD~^JbSkByQtlTGM7to(h-F9*!$F>)9MTh)EEb zl7fiJe=lR!Y*FbCNIFQ5Ec;~3{WR;0wG_KMJV#vvicVD`JF9-Oh=vVj1_mybJJ_!Ycn9 z$PEoqJW2+rW^z%g#AB0*O7vZx`a~xfoc6{~&DNl?T2+(pTcN~%E#53N4X4Ng4Vow# zc9k_I;}yX13C}-{Cjc6mvJBiG#V@%WtOKq(qg9b*jgZ|6x3klmziGbeH#x#33ff>Y zG_JzDA9C?|Tv_t)J>H#nOx8i^ice0Dwp!=0#K18=Zm*|nO>HJcjqO*p_x1+Aa(-|& zb*y9$p84STiH<`ToI4V%G-{SLW)@D07kt)10i}*745Z&R+SiHV;{1d>y={0Jp9gh7 zu$(B4cQPiK_4`Aecxqm$6>0>PSLMq}e7k4c{@$1LlF^X~;43`Uc2DZ?BuYeP$HDkU z?`e#_i`!gAY@?wa@BNN>%k%C{L%)Okfv}AL7Hx16_5#zq_xm8!6U5V&2x=K`_nK3{ zn}q%NelWq^tckJQkD+^g@uAka24XW)OylnKJ2OwZY%#&*dwu&2>QjO+vWQK*-qxhu zSPkhRD%pDb`S9{a=sh%-%WmTpGYDTz?1VHuu?d6X+FWY+X@Er1>Wxb|Uxy{gfF$S; z4KCr&QS__!a^@e>2xt%IUV70_f=`wJ5I>w>T6oHu44>oaaRqz6KQ!1%xh>A!9+m3N zH=f%Zz1@-M050JZ5Jk=oWBNM1{rb3#RR;BXwYwk)`GjT))@}Y8hJ3PLaDtcYV}WUk zR5E{WCsHG^9*$vhh+OZc))Ny6N^kCO>b|{4a(=lcq?&rUL0h?9v&ly{@J^&z4ya$% zi@;LExC;oM9)!OLpjf81ZwE&!`cxr&(vxtftwm1L7!E9?%x}99Te;o9#QX^%-E}C( zp>_QsHDzx44f`g|hBP-X_-=RFv}mKcvYz(Xzd7#f;=L$P$}p)N$n7G6Nb~t4sAn_N z32HX>j5R-~w}s0yZ*}QzOd;APT*BqqXZotTCY(Y&vyX}?v7%>=sVtDlcVGJPsnWr4 zxdO9zf&0@DLdx&$wP=AG@0J^Z8~x`sdY{BzFdIHIq6yc9z)9qTTxx=zulV_Vj9aRVN~b!mYNle1j0Yhli)`e7F{iLea3KUQtPAsiO|(m(W%k)PqnJj9y0odOSF2|fF-UsnCEM;^p1a| zwk9llLaN9Ok8WS61pJ#Zbn2<3KG+nF^52xcdd7o!u?Ws61ar$~o-#Y<9<%LfSAkMQ z1FbD01Lagnj&014=|&{#KKGW3wqArb+i@mbTr-s)dGd%^ua-F84^4iiH0q7n>Z~)(wN8}SFNw$QJY15Jpmblqmz~xDlQnZ=H_pj`h+*<8V(*l;++YcK;9lgs`nIDd18;DbXlG_N#b<0mr zL%i_^mI-kqwCHcRTT6&jn@ZcI*9IK%$GSjZ}??`myHCV@BjU=T;lgEU9#FK`P zoq8XuwhN%=%1+{(lk;$T!Te?lbilwL{$-fb@kb3L;MZRWn>8mDe`8jfqwxu)>}Zva$5oF0pMunipx7!n+MZB>%_}~B8acpJUBKbS3}EWy zvOsFR8^!d~2~p%~-QuS~Ux_1@Gze2H5~p_55~IofE28G#wL}X8n|=d`jhh5Fyqsw< zemx7$)2S?^q;~96-ttB(VBNQ~!wRIfg~RZZh3iGYkw@a;7W``Wv0OSfD#qi`rLTS&&#mO#Vi z^C%z}cf040k_%y<4}1HMO3;qg+z=XN;2Y`P`}5`PzF=9W&W9k~NUtoV9>bH+FfY%G zpUC8YK>Qxh@0P-Rsg~L~aiz>FI?IUUG zOlWG2V4XOl_}dTuVYQ;X+1!J;f@ajzyBvgDd8eH%qTM+Yr4V4ZH{e!Fgy!`jv3-UJ zE$-IF20V%22^gn-H6)7t#2JI6@?2E$T-w&}$x7^MML}W!S)TCQw{N)bNf@?>vz3>F zVoGK?joBkvfD_O3^&6Ary>Rqvp_tk6681%Itc~xO}HXY!7GeM`Gc5Vt2B`eTzv%WxUQ2rhtG^T(S-PU87C{UR>{S-I14WR;83V zC){Gq1k=@?Yd(7KC1M}f$fbH2xT7(plP-{+NBA4Z^GJm$B_gp~tLyjnX-(Kvlcn(~ zuA!@%k@E{4H^DQ2r!kE-1a{`z-QSu8pHSA9 zY-Es|olX5N`Q0F1%yy)yH4~7vz|RqTqSXDln*LEp^xlPexlkrz-jl3AG@Q}C=yj;b zdva5Y=jg1)8y*9HD-V2PF=3K(4RgaCAgA$Um+7l>B-={ZAz3K8C_4=Q(DUdC1y+4r zQ}|^sF0y52k++xYI(b+io)j`-Y)=ER|61)A(pZg;_cDPX_HYrU1m>Y{kIvvUB~82) zB5uD$Pi*7DiO`?z|HUD7&v8?P_GLlPBb|q0;x#5iK4wI3j}|Z2Gi3K{(Ll22+ZNXz zPjy_kKCioKg37!gA}Fp6f{($8WXZX@h)fJPTc2tXRx_bJ)c(zwTy)da*=r;GHrK| zwv>6`a=QrAm_w4+N`+`n6GAjL%91N+6qiaupDcX#WA?8QeYd4ijTjL8J0Y<%{qjUkF5Dop9(74lITMTw>Fdtb z>igXbRx)=~sk=I$h zh&P+VAO?ta#mxCuO4(KTm%Ck8-7=ZbOn#WMX3SAu383AHzV4+8CuLW~aXlAX#E$)f z*T1LV<|TBRfV_j3oZyr)1Q!Ks%I!o^!H#_h9c=QjGY;`9Qm@Vs70p<@M088!1Crco z>kcf2%-DS0@b|`Oz?nnl11=So7?F{t2qkEtw+@CgwqnbBrU<#vVJ(F5IMsX(_R1ih zF%zDDIxf0>ki5wSBY7Uo46M`>h&JHdy(bpuAa=fVcjzfHIF|8T%6Y$JZ58+-U$Iey zLQAXPsY1%6Rf4-NJHu7B!YL~VWI+~q{vCP3epcp=sNbHdJM`n}loQx(Q;>XEvp2WnQO zUJMlxwqu=*)Jh58$hJOr9ngi~D+LyR@R9-K!?2 z`#hH8)LpUOqPH0|BXZaKy6L4A!G+3Ek2tazJ4B+RDu?`dHrDXMtZ>#>wQLu`Q&{NqwiHO#vww`<0kYdB-cs>T9Hh=oB&#MaQ ztgXg-z7%=u8EE^GV27)nFq^M$70+c=FJ+}q{ct&--vI(}je+9AE!BGJfc&fPf3U~} zMX|IGc$EykgLMJ~Nk)6Prn8GL=rDPRa-Yl| z2bfr&FQ`8Oz4mlGob?niX+rmkbHY(^6hGU(p_8RwGi8x^e@A_Lw;bD~@e# zPZzB1K}W}fKKcB~GLpCIZa9X}6haFDL@T?$Sqs@EF}i%2-4x{H>^OUnb#y8wU!5-N zpT$U9GxbLg+*s`%TY;x8@JC`pCOky1D!r%h(P+YZ88ir<@uXS%{@DIn?+5y>2S(wO zGye1aVDoKzE$jJKkil6Bmw7cA@w-(&Q8lHc#Y|ohLhHX#aGewxI|!Gj1JcpI?EYS1 z>QA$}{a1QTZ{%HT;Do8A!L#rH`>XcYG(;;;w&)d4+|v{|Xj0gd+5YXubS*I9Ne_X0 z+JuxYJ@2Di9lB`y3w*QRd^d`&ZNj$9>HvZB=H9>AwhNd?8#aVC1h^1B-*%mzj}6VO zi^_w?(IvYy?_Q+Md(TUQ*i@Zb$*+yoI>z9MtEuB$w6<^G7GU+x>oj24RKG;p*5@T( z-(~<_dL_9|A;LZaSi{bN+l9tA|4p=R4Rt@|OTOih zC$#-XTcEAy_&XUNkTQa-{=d82!fd&_MojqnLrpXV!xj{La7ry+|GF9`&(GAK6SiPbtM6t( zbYf=VjNsbR6sHlYb%(+8FHBjwt`b(fe`;zpgEfh9W$x*tklMYU$)J8ON{>tqSSsYx zUD0V873@fFa&V&#jPM(Qjo0r_Uw^c0BxA7=@d9UB_);I*{r+W|Q%eBj92BzFM>r77Ld@eQJQ$2t zb(`$ErnI`)U=kr>BfTW?Of zNvO-jj6PmgEm5|>Dq2NUTGNi4zmD*Si5LS0{RGcQ-}ZweM`cXLjZ(O;jomwRaiVH& z5ZOmO-*X6*z65Ko_~4oJNAK9wslznY$$q88Q3D+h-y0^QjF6y)wu_j;Lcd*#pVCfz#Mrs{3&ESs5M!zm0&!BjGg$`&b%teJhSYUPBCU+GFo z)$d(!nT^Kd@gt6w$sP~eL zhb8S=d^8Ilk5p2WxCcsF;m_<*U5n9+iIO;Ig=jqbK%Kc88=D8pc<&I%%$+tiEeR^E z4nopO>_OPK2^onmokf%L_-c$@KQ`JMAm+BXEu~t|E~ENdU4KCuHyz0oK&%qTwR{i> zr($i!{`yibpKCc1M`m!NYU`&IE-Xd_h9kiIeo750c_{&vFd?i~v@w5o=zJW6Q%?3e zY0!kk@b@n|Hq&Km4zuJMYl5Ej<|W&{Ln~_uNABkLf;4vT@m_fAL+z4KKKo$(NXRIw z7PqNW#iw&2ySzft=`jyb)7;2eYmXtEb?130vnKcA8HAUorrs>uw69iESVwZ9velp7LX zfArcSXxx^3LKdy_3+8;jr^CN<0Kl~DULbb)N=0rrUIVCYxvw`9lfb3jV#tZt*H=~j zRAQ)hB!L7bZx+GSg(PC_SxTrg`d{kBTz-JzxItSSjvZvU?lLL=tAv0rl97z@Ab z`B*b|4ol%`)$1{aY9!R&6rRD8+Gh}ama1>MbJ4?0I^~%**H_`IU)eZ1iFK(dz~4?% zF!<%>)Z{hIa469*{l#)tR0-YoSX&+zBVLnJ1`;bIyvHY{?&+5W+)(xE zVTVt`5XLoYW$^pM9IYJQy>f9HlDMLo!x}74`TDa3Wb?VY71>w(+Qw~DljYKghr9#> zk2d(T%?)j0r!$LV)wbElLOF300=ra;YRo85|D<7QJhBKPrV$oiGHb6e7$~)JQX1xB zuIHU-;oSeZO%%WWgQ=mX#bFD!ZEIS5kEGzsBf5R73<-_E!DMaJY(-C3Et&eo(zsoc zImu3o=`v0dO*>iT_yQ7Yr4x!IB_GzQDlD3(!0_PKd*3Fie{k^0j7x-wvE`OAQ5EjG z!k6MO)!cZ2_k6#-p7_Q80pr)UqFv%>7xVVBhv$gTJXt=j@WcA< zg~{#BpuNB3Ql2@IM5NsdG~`&+P5KRS=Lz`&Klfz3kdLZR<|^pf^@OfR;D10*MbX&z zk!?QF$6MV{Sa!(?co^q{z5Yku0J6S52py8?h8F$>#^G$uN>1>&hMPCm?25Qw2Mp5NdZ` z9*9K-6|#8!#Ic@9G;DtNxLOL)xq(51G9+rdeNOilxbfdvtuIGH8ct6oP2)X1!GfIr$+AR6G}nek}8iTWKiIsCS4rQucR`$tq6plrY+ z!T!L=E!pac2x_e@8}Z9N5nDI{&y9Z=jeu`h<;^Z)_wIVIWPxE&KB~9-alva07#9*^ zo49|&ur6oUG-2#ba^-bsDC-7&@%@NZAETlttdcg9oaiFRX3mRs13ND;P>0MHpVoD$ z2IIcs?^VjlyOwj!kc@CGC}+3<8_eGQ7sAep1=zp!w7}h#~*t>{t`jwJo=MUERp75pMlaA}-)$Wx{SDFK%`_04S zh;P4~VHMQX6O6LDly`#z+x1jqridC(@aqYLz2Wh7XvC(Ft8Rl?`bOO#oQ5m>1#g+% z?!{0JNuq^n>ZfAhuaDaHR4x-kBjv0#NWyo;<%fQHFcjNJed))Ig7r+~`zfs;p*;#+ zmN2lY+Fc$}N0>s?4-)p3{jD4PY9?bq%niLZHLA)YFcCY5-6cn9Am)GX0<#7)=r2{4 z$FT~oD`TNo*b>zLqfbsu6u>B`(>wh3e_6tmjAri-TLcc% zuCN7aImVX-*xwPG*O)Db=^ck*&y6-hR~DMe7dhrm-02^&wHzD zuK6gkj^t6(bhHL-t!8-IGRbJ_4p=veopQ{=cLC~m!GEpdYlXejQlpi;7%lE8GC<#V zHcqzB5-f1a{Ar<#Xu&6&#r)j7MZyAGf3=HTSO-j}!zBA>ULb|Z2Ul*CeYFuhH+mu& zXgv&B$cDn_UTD@$au~Wx}zl0s?s^ zNL<;UnDXTH3x+6&>%YG*=SG_UZ$mFYKE`y##fj@@xkh#-~>Zp3Oy<3v}9AHlfNS z<1Au*_hJ;;>w=j^>|mah>RHGT`9s=TQ-hYopgmK2dU?YenUT z9yYb;?&AB3!RcW+hwQ&Izmr0v;zR1l|3o>oWsGn9tmq{|;{862b=uFntTB9x zXAA$ye1{-i4iX-1=F*Tj`1i$=zqIyBipyDkt)QKQ(jRDJ^$fAP@_WvIYnq#$Ezri% zO7xPKL6AR-Wv9+)2MC}Urm!~8JYKXAiNf!2 zgad>_7z0Af3TvY(Kv9lEqG_5)d7{FDW4NpFx=AaEQDTV+Ryqi@1`95^6WGP}7RNv73H7$^HT5TUXR9oOu=mSDOzvQ1G&Zehh_{ao0SRE;o9;Vp0C2ptY0 zdS`3{X|#jag2y1Nm7sxjE)c9?ReTEDtZF=KFlo6K^K2TwP_Ol?*)Gh!m@{89|tqrMWMu1ECp3q*-`0`In01o!LGq~u%04B zv7HE3Dao+z53~m27%%mES3UHL$0_Ak)we%pNU6HK!KN9;Ewrc1X!b(J0N;9ecaM$| z@mN?0i73$$M;SU;#J+>@oPc{r6ymJYa!gyh5v(8m?KZ4!$-XaO=1qnd?wDJ;#uQIl zs(+dBS2!XswtaXu>WmQJ*Yc3jB-FAwlL9Ctd$VMBxOaZkTn-Ks~P)c-cy52AmaI9Z2M|IP7_nkF}7Z!B5%%F>tPqaDyUheaA^Ckd}-2; zLK~u*b{&Xy=v-#=Suv1!=fL%H^tircw612x{zb3rc(s;a3BTz}?Tl6jtQtj*`U_S5 zOWlTniS5t6!r(}M88lXzcOtG?7qpKz4yzj-omsT;Dh*MN=rw;x{MsbW&aZccE?qY_=wbhO zd+_PQ(Z{)LdFhYbzdl%O`WWG%&oD5vmr8wc#X2~kxXq4QuqB?I@@4#v7W4jn13)u& z=%+PdQlir#$4*vWLp~vLFq$!hlp5+*(y(gep@d8G=;Y?Mfhcx#o)7$gx5=&lCY_ki ziC?;VJHI5;WyDA6sq5%qGz;j3h97%)F>{GF~fp` z36bQjC8~Z&9;1G+$dcFdeR-QY^7-@U^T4E56hDQ7K-uErpP^mLSZJGlYh$2uQhYo{ zHs!zg%UJZEi|ABU%UWrXL3=Z05ck8oCJ_^eW-RTkiM5p+E^ai8yBfHa(uJte1qERm zyiB393X9$Fk&dsL?l9yckM|Ww8h5*6IYzbS)R%+1xi4h=&@(^jcY!gxAF`UotpgJy-0FO9w&|S5oDhF@k5X)y>kT_c?$z2~{ zZ20@|3Z_I9@0+6a&)32dCQN=?c1ol)<0uCIAgvd{KY*hU8THP{;fEB5E1vd1f=@5J zkUPg5xhbUR^*c2aJuARXwqb&#LBn;}G@_6f9l;frwoyc9QCTiN3Jy(gV0Zt-)KnKr z5}-a;${*be)whQ?PTzW-E@MTZ(rHEx7XH99u2g+Zn+;PCbkyYh%w~&9z|eKMH-Yb zH-A@N^xrMD#l9G@>{qu6E?CPapVhn?jrFCCvM6K9Nnf^qtd1JpAMc)3;w&8o5wz>JLY5fLW80Ut zddO*+UN6N6kL$aK?62ftw*}(@W0ACm-u}$yU?I}B|JN<=37wbr>HFgycY6!4)pWqq zj)USDk@`nW;IzOy8viwn&D)k&^6f!k92^)mC^osgm#Ypq;CD} z!ZEC{0=}Q;7ihLKr)Wj;Z^^PxzU_+-1C|hn0RKgIxNh-{wKs0W+JlZsLO%6(-lQ=K zZ4wx+6ipKAIh_r_4Ugne^P`0<1?j}JIHwD~59wlvnvIwd1P)>4!m#8g>u8x^%(wENiH=14BQ7uN&O|iaw`^-9)L5OG`tES5lQu zw0DNZFGa#{qN1Av=c?(Wqa-_VnO#lT8KMROQvM7Ey2<}MP!w4{TVBMRBeCqBN#Myr zv~A&!T1(O?bLTYNPzo& z!Fk9Ph0pmMNjxd*<`NohJ`+T$DY|+bjUE*Vd71bqq*UOeNk@*H`genKJVFTU&cgXSQ3E31 zBJ*ZANWb$@+^klBoQG^jC`dq|P#4oZG44Q{ENd+@`G#vF5txL^xp99wRD1dv z4HYiEFo3!g~In0wEErBZu)03+rDrekqR zZ+!i1tR}13bNT#ayx_eJW@hw2Js*O&=@seQ*UPweXLB6?^psV3dR&gy=gb_uCXTuz zXNQjAB{rn~OQl00B@}ZsV|s!?G2wZCt`t^65YmT5IcxBBSUA{&OG{a0f)VemMten` zccmsZ{B!G&xx%-hq^^$x9b+Za47bb@D^8)c}VAWn*JAZ zm^s)L#~Q_QYG3}&^kD~ciIgvp`0fXi$GIjiUb$$HYnD%R#sTVx@16X}rARQ5!xNdJ zEb(Tr0h5&b#%m4*rq@6BY#z^-%j3lB2;UVA#JLq?engYae(+;>ZjcTmt85FpYlE7s z{?|vW*443e#LfRy!sYs;%1AK#xOwXF(vvk|Ym2XK$I5U}f4jBpf5HDIoif9a(^$3~ zU&g*~0Se~qn@8m~QHbrjw|z_9uj@Y zv1@tl6>NFEMv^HZeB+M4=V-s7RH%7EAu}xe&hn=pqZaVzY z%HG~zk2#nJsKQWLd*u9kI@^aEm9nRmx^A;NH>&&BhvgC&HILSN z4rjA8E4vbW<{ERfGPVJ(w8ql2?uo5|jFMQ`GbaQ)m=a)PMKSyqIGe9NV7+E{U_Yr% zT!H8U+ekUFrPZkELXsP)Lf%J9hNp=3EPPmBEZY{&wC*1iK!wCet7Fb#e$RNN9Ybz0 zW=_u=)|?>{BHRD_qn8Lqn4d(1>U*Ry%17cXzb1n1{|~LtD%z7Eo99QxGhnX->8S5z zj@OSlz|m4dC=3WcZ-hmz<4-kfubMD{EjCE1{R4?jczg-{?Hwv6q3M1-d5!ko6*4HK`1Sg8rj4~7K>9`GBeyOr zhW7{{f8mC92EaHKjjj+5IisAMTgMsE+mlE0^tmjUzOZjl#ycBnW^N68Rl*xgq5y1x z;YeB)^vT|(rZrWQA!0-)k2VFVY>2W-ap-tPodd8O7L;q8Q|q4-{kL%ln_!^Bvc)}` zw>RFHK|_G1zHTH69gV_|T}Pv_4nf{qT0-jL9u!v13#2-SHv`V4;pF)6oH$54Y8D!C zW^gRbpDy!oaf<%W$x!iWTi#J!<&r))5~#&?bwE;;GM(yEQ0Z~YlAI0&b3#}IKT4jL7Jco6#B#&%%DgbM5g#_3@F z_0fD9qriw+!{Ln(PNN^cUq#=fzZszdh^332Th1d;t|rE8pS~36#f4Z)>ctSX#zbN& zT6r>LQAs2JKRmr`NOV^@=q% z&xPOr?|BVxcIKLybB^;kK2t!TT{yY87`?J7gZ9q{(KL54LB?ta4W}Z=K(fQ%!aVqCqNSG?$-ZihOm_Dd>g@oQk> zeAH&7qdYqJ41Z#QYwW+XZeIqn5r4DQ(4 zHo@BM{p{_1rH`Ljf$8d+rpe*dlWtc>;frSMgy!DKr#lMtm2b8m1~?v} zuOB|w5bS=f2|>Cm%&WX#pTP~rS-U5Xr4qzWkR2uNIF3+A=_0c|#5TFrJ)tebRT=k0vKQtB@n;3-RA}`M&D~rCxeiiZV;Z#2Anl&d zIiN)Z#M$9IwVzcCTE%yFXR2K&BEud`P};_OeekQo@<}aAtpl|!!U}W{o*TL=Sr|bn z#SfN&qd=q@Tu@&61p3h3Rg3L21pZ05o-K5%{U%C3JobdR!*f4umU)3f9O^R$&M%^i^&;4rEX(jH{uLmvZ z=OOP#xkR!hlp2-184N7{K4V4`lV3SD!XYOekL0}OnNnrF#8sx7j`tjIj>xf1SB564 z%JLBL`&6PSs1SEWnSLbWH{J+z@@OG1s4y^sf2_ajMtj569v!d|ss&3ZDI?m}ZczF5F#X$9|pKt1&)rtvoe!mh{tP>MdktV6`w3(Km zIu05%l3Dy1T?s5#1GO0BL_)ToPp8gE7g(+i7d4$-L-2`%aKr1bJVHD>1tA2(P~lVb zYyUM4Y7ZHYzkFG=e;`b2cwpGc>i9VPH7;o&fe;?|Tu@6>k7+Q1Bs!PQ#e8;@)hk4O zrwQWIjs?{!x__jXUas`25G6!@v% zwM0XZSQjTI7VJA`l-VRlNWDIgU&8l)gTOIV)l}vkBesMX7pzezI4k$ZPF!uIo@e#v z^vKX8@Snm3%Zq`gndXsltBR2<&c`uWABhk9`#t|I3VeimHSi_n_HtC;q-T=Ej*mNh z;+FtdOUTz?vzm9B5O(#=U}48X#6eypd0_tL_nkwl2_04U#|5htlTK5eDBCO`!A2xO ziJdn=_DRI8Va+|JMHIB|-{_1YnIU0v#+BSS;r4}f%0q@M|KxBg zYLqXRVyztyLPsA;rKhG`C`L=fFkC4BF9#Jyb**_rQcCjXqr2vYyK)EWSdRGz!3!w` z%`x#bu$or0dnKE^=_A8Bo;rFz7*A069<7EtE$rE+g~%i!PZ1Qw!zlTlkDHSs78_eu z(CM?~e%PpadrPcyHey%ewuAeoZ=v@RAsvMS-erns8pQ)H9$|z^K0ce9D`RVX9ELiw ztllGZyEHf}k-2wAXEu%8h`l~6Q>diDq^)XyURORd!cXqX!j!!#Ot+E(+lh(V-x0?l z=-IaYH1bqbG@AH>Orz1BjYuO_YWIfGR*jxkXCFivflXldFLZMo&fQ%z2M_^(<*qG) zTFZ#*Vu(*47dsIA&h*`84pLf1_bTjT=hjV?Y`9v^vpN`PHMKi4t%E^1MMWfj&t^R4 z3=@5E&vHGL{qJsEd#N3i*AYlyln70;QXaE0=ZPrmSDhbaHJ;#=L)n6#f=QUy?hutf zToKmWt@fj6Emn?|f}+x@wVFeY>5@C}Lk>)G^8KJPZJZhFTMS}@nCysu_R+l}NRb6$ zCldykQo;D>$=F0#`}}}kBCRsy#_vzNrPXNXPT6x`%JIF*9yjteqDbt}xTvZR*|=p! zNS%9Wab(8C@Oh0*3JpVh43beVwu$VIH}jYzd?<}?^>I4`*^H@BGm9h_eg2%1Z6gNd z4}FK4aGtHKWhJGg=9U{or5R6&|LZ0qbN$~v3xCi@rL?G=sKCzu6KcQ6-D@iH9rT1m z;!x}uX+3WDC`|v1972?9SZ5bR*J74d1J2?9uY9C)rs}1?#q_o7TNRc5-eE`H)3p)@ z?!I6Wuejxvl`bQWjiV(!@9SgihuUizo#E*4i|~GZ<7=9EA*#2#xHtSv(ESahrd}i^ zd<*_?O6cI~kJp@y?;E>kmdKyj-byltf|q$frh4>7I*SU81{d8;S&^r!JDDEOZA6RL zGh#`}nxZTzr}|(W8Nv+&mNxI!)5|N#kJ?QfuA6pu5ZA>17*e#FrNHP!i{O-}AS~wb zKq5C2qeZ$W%c;8401T;Yx}$vQSu*q--uZ48Jh%ez7SC4hV3C;PBivDm!a%XaT#?}S zNFj!C39{8-Jyv(B3f5pA!+d9Tiv!hfIz7)qOfpRC0(m}HDAY!TD-yjz6txP}2OF z1gygaCkU+l^p$`8%o%V7$tIu!2w{#}3cS-?S0<0k>Wc{mw)!v)F~G4o=xTDJ3UV>- zSzC@e%9-H>^RZKl94$x19P&YTAH#CS*`z*2;9>Kyp}L?-S6ZTm%7)SX*AgQC3)d1Y zB&wevMGZ|ZPJMIhiQ?$tO2)hOD{K4R35Y_-4KqJKAM!3he;pkTl#u2nY)wq7OUZ!T z6Y?vo0w-(C>7w`J9u_iCE*b$=-SjWPi(MugN*^J9!&*p?2R$ewUryiWU^xk_Xj{MC zo%h__M8BGwQg8~mlX!E>RZ!0RIJJ`ICYhU4_0_%`^av?o;9WORaP|>%8p;@t&n-F| zqBqJO(K;rrUwHCdyhq5x#`YE@2et83^=bHJEp-237Yp!hR4D@K*hIZZpW?E+o}7~= z0B-Etr`x*!<2@Y!q$&E*{zrnKNvAtqn+aCO*)`zM= zS^NFs^Vc&X!mf>d#yi!QH#;+Y?~Z{Siz9S1Eh8=bR{2BN?I-naabWbCLy)8!b*-U# z^F$IXpfi2YYc(bjaJ=L}r+Zbrfureh+4=2vX78OyAp1mW=R;&hiV5x!Z+v8fX^Md~ zMCVz%(Ij?}J1woGCnecs^^R{;Lysh{8Y^2`SHwV}bFQkysT=DPG7fJae@uGXwg7Qt z>3ODEZ8ihV`274X{|CxGBd92d;xF|sT$Yx*2adbM;Hp8TESC2%sHV!#4ChPMNJv-< zxf$n59N|Bs#mXK~xxji_N5#;6g0P2I7{KGj6oSt!M5LZ?e&u!-ldu6NI-<2hFw#dY zN}|JX(Xy_@5<9&XS5oUSBJ|P=7WHfqIXN%-H+2kYiqeb&O^&+;#CyN%;_vy-=^i8* z!u~F?D7e;xwi%k&6eYLJ186)P%V14}u04|qV$8~~BK>v>c-b>R8P+J=8C zyG01Pg+rnn9e+Cv{p}JG6h-(%CxpvA6jrg&z2#%r{d~kGRfIu3X<7QUso75l#bu5a zVgeE_+NA;$=v0&$tOf`AKz31Jj-{uzv!$ZpnUdbfvArMRiP;4p2zu|l-57r$98JwG z_M+(Cd6MkS2<)zdokLq%GA02j*D7L!*LdLSm=dA^VAu)(MBA9izzgiHrw;H`6wDtl z2j|xW?>w2!3oiE7+mC^B0&u4(fon&gQ=Z=wo`!dFWZ7DI&&qQH5t%B&xJ5qQr6koq zr2*69Nsc-xNgef*PZW~2xW!GUlHCr*(Az-BI*egAOvSv1iL2+oAn4W`C`{XEb}@%7 z*K3JM!8$v?>CY>l%{q)0J`EiiUK26W>vb54&Uel+Z;rt~<5X}BUS}a*x@Qs+f)Tf> z5s*iHyh~ABNEm;1aWNi!VwG|bE1;HIPV$(f;d;{rU;J!copC&If!6aP=oH063$(6-aInMNP-!Zdmhg^QXc^ZOqh8*c@B2P;QWZJ|f!Y03Am+ zu>^H%a{>8CJf2|W?W_MvrjhVwKA%Rr1uCs{0y9`muIi@5W;U)AKhjLC1rCPfvC1Tj zc`_hNUmIwQyh^P$7yJ()1kD^sUiSok2F&1OsI;q7%J8h{k|MWcKq7xLP2>$+#5<@; zxEU%L)x>I?|7Wepm!B67|Cq#BQi@-27n?p|b{5(eMQVbAw^kN9Vd6;G0F;=2sbH~_ zLvlyTg3&XDP6-WdUi#rTFcHYXs5wS$@;r^4CfO1vOUCy5W~?uMy5Sd_1FC9zfp|D! zjunOHaophIaKB8LFB@tm{;LT_0T&(0wHQ<%LYrc1OHrV=_bW_I1B2Gb0#BpL?p?+o zF|f$$a`LXzH5lZv-g3!O9L1 zSwPzm@Sq?wdy{j|5vcJAl4QiF6hYXLw41?E#9}9ty%vRpunI{Zz!N)HZ9^he#O!CN zIW_nUn1re$Dr$bMa~YSH?G?(+CUZOBK!y8*N#VBZWC%_4BNh+U5gTc}BdH0EV=ceV zc3B>@7|B0{h&MK=4Ec%Mm;>IH8V@^1-gzC}=8vJ4M_Vn_wro4}2n6LN){4OvZ?cH0 zKO_qJ4sUQ|APH%Fi1BhSxxMvX$Pr+tOUB6q>^-Rg+urVluCg)|DSFzP(mQZt#5TSe zFzISpBNXcuBn>nLstiP_t?^@_R3$|d@{nP4hOQ`v6q)(VHb5X?{@RY zY<^K%_eZ(5U!JW8aUR19{J=KkqHTzO!n2&>%dRg+Qmb(2eXCF7dfG|(X%i2+=pVV^ zWEs-;QWpi#YZ1Lt)NkXM<6{AFB?0%{BX;SiawG#N)hc@R>5)GaC*(92cggYExr3d^ z+$Cnt$`}q)Kc5QZybyq?|Ap(Q@ylwnYF6K(Wp5KDB>7c?TzUh+FLV9XFGXCbfvjEV zl91fM+*Bc*@869Nay?nMlhrxM6iKLrJ_DQeMQwPoZ8f{v1`YckSA~+6n09Z(J#T8aWLjZz7`R`pd z44yR&L@a6?O*(6-6{~7s1N76pc9%)A!3evo?U~~R zg+ZD*;IL2xBEfd#S1DdJvG?(BTrmcMwQ!QM7DKS^or6RE4U-hmA6yzj`*#hkABgPx zu3%0`St>bK9Cb>%(YIh`ylT}v!aR&c>wbR*mpJ^%m2sl=%3&f>g>+F?TybtpA6W-(FN z02UwmC%_A8&KlZ+y)RxVru)gPZ3gGfod@c5x!ag%NI7y-_bOYR8`AfKE{ptAQifHY z5fnKnOr218Rwz847g$Llxd11VnOHbL=IP;`#?!g!hv$b+S~t5fjK4u38sNl4PAeL8 zsNK7?wA{;uC`5&v5cM=ah9C7Y3YJP)HHYFOO{A5P!4F87#u815CniV3S7P-zvOQET}_OuMNypoWJF>$$r-#!sc+JdW!+ zHlrpqO^13M|CM5cog4c(qE_G5u=Yordy8Nf>s&fo9AdBWbBx@PI7KEp%-w&+V)`*A z;mC3)asQ&Jn~7WbAmff^W)SObl&d{+%NW>v07^3s07IlK_w}B}Ifd^fVVlu=TQGOh zuj++%y$M7Dj3Y&%Lgaw|J0K_uG3S%d4Gl)t+%(E+_@c^0mzZtXElu!6BP;tRov@cg z=#7j{R1Ny-SF@ktW{G7ydUwN-Hr9MU(8^X)qw@(CtIF%hRVJ#;2U)t0n47V+Tclmh z-&B_usU|kEbSFZGJWi&Wbc4(?{`_e-O6Og1F|^SdXjsZNj0s{n8e!Gp>_1ZkjB|mUac0~p^Z}ta@9gb ztR%Df%pC)*Fh3XJCq8d)qcVj|pjy|JaRu}X zUz&fnkkto)9QSek;}}v>1e9VzzS%~9r1nMGFMTPLtlY7mi3M4vyNDecD@^!62nWf*GYThl=Jr<(wLd4GYpmo{) z!d+FTJopIvUa_4+;9rh+JIr!-x}}005BCoQ1Wi&8!>L6Cg6Vy@j*g|g&6O`C-WK7v z8dqse>MaCzBjoen&LK56Hi>}~oJN+eAnps9XoF+yqNbuCqKi7pnGET^ zPDrdlP6v9g3t2k#o_L7~9^XI;B?Y`&A-BH4FXgl7#sOI7qxPB$fC^!OLqp#q*ID0T z2ETc&kyEzo~$yFGcX0?LW34mIDO!NkU%Hau?|f*J#e(9}mB9zpcn~*et5FD`7Do z2^tS^06bZ_BO38_EyEj3XBpGnl#`!k)>v5YZ|-k_z3}DmAAG3~K87szrpu-$N8di! z(*MVR2=_&%@=zB0U$DhYRJF0?Y&8@;QcJEmCVea(Nfw$%*kxdXV-dpDi@hP=Xa6|h zVX`6LK+9{zh>jkms{JYIXiSR#at-6*0cLdhxjPZQbGUWO_N0}gykwXZ9|fR&TClw9_(Fbgj90Dzju+eDcRlMkqT_w~}j^^Q)?( z8eOe{BHm75!7?ZfQxk>lJ3E=FztgdAk6baA6eIgw__3m0llY8O7nD=|d@K>wSujYM2@3Ct4-s;3(OE8(q$pGsg zTEK%`p5@)tgue5hkZ)gimG))fwhoRktqXrGz?kmZ(P1}jg)9<<`~ z|NH8TUWUS*kuJJN0{><)u{v#i5L z^5-Y+joc=jcYR)GaUFhv6LH0~m(XQ9>bR=6Op&qPF+_fA;h7p=e@^WBqs5AM&ck%doI#qTyIBe_(b z^}gt5V^BfaNSy3naZBkCKFm5I|CTADFi%9nqI9ADTKW|lB$4S#IlQKgo;c)>=iE$e zCeYGEQuyTc(@Pj+>C`)jB!Rm+*4GyTGBH#0h9 zAZ10a<*pOeO^;1x|KRUcC=$8buq8T^C$`*SxKn6vxs_wi%Ke^cgW4BG@Tq}niVj`K-%L&mW(@eqO5 z$++#Oo<%2Dqi&%j!MNq6vpTI&O+=mAFN)q>dMS!d`3FbHgw(~7H~Mg=kxs-qg65Oy z4&JuHf3H*iYBR!_w!J&s##8Bk8~mm@42yIOee*8nEVwIsw|-#|CD10nv6ceg@!rnh z-v;ObY!^}o@Hl+LvNA{CGMX$F+ ztjN+kiUv72_D826DSa+HbVr)a94i1%higF=JaP`{Hlk)4UhZvfS6wH>Sfb8x_-*COSH14NoTy zZM=oX55GU*oFh${1OFGkPPu~}=fKCkujMf47LXE(%u1bi{%Lv-2o3?qlR2PAEnNc4O=VURvw*%u7e|m;l1-hN|Pk{`ZCWux$ zC3f4sEv!~NC)4=cU~{J_vnx{BSMn4Rl14ky8A-I(b)G<6DXJdsXFE1fgmM!0)(_#& zjat+<_B@(;H|9T{?v&NcA(t)^fL-Q?y~*sW#Gznijf!3`hNob2)5OWIy2@Dhlp5^M z#OUae>w8;>3E}PfbX(?`-hyp#`egMh7WyGXPv|?`4`zzY`L&Yo3CgwbRrlTX<^Hsw8`z9^J zxWq!Qr?hvt|5HH?UsO;!r%xVF9~=E7;2)EV{`ELMbA7Fe-3(SjC)VT}q=+eE9`0Qr zUw|5}xt<4wvY<{S_HXi9F=4|5QC%|;hr;!6h_aNQqfYU%Hh=r!KS0iR`uvtFeRu_Wx?kqVbURZVvfB$;eNOrFKJ@2K zTS2UDAi*agn-bBeu)uo?+C(w^>2n@m@uu9__j9bpX9N2FXLAy7X%Eyg|N2%^l;{5cm8%9C(n2+pz=&YI?2n-9vqCSoAPJS}NQBrtQ&PZl4WAvZR z^|!b@Bd6tQK@sam8{L^Wx?$W$`eFf3;g~pmaUzt2I-b~H{xx+o4~L>tfQqLv{Czm#dR5wH)dZ`WNUdx`mL-C%MoB+?&L z_B1^xu^egcds|OdayhuF4cS*2k4a{|x$WU%eE&IiUC@VPe|wP%t-8{rIbY_hgNd!M zTZab)Y1VGe#%ET*)5c#3>x9s+{ML~F_J!xjHc9Bk^BezXN@RS?t}8tDDkP7CD2tLU zEX5~fihR-}r90q0ex^+HrK34LpmnV(Sm46@?TWv zp!#2E^tll@dV9aWLmj2ELx?)D6xIGpeXIEFQ}EMIN#B-ET8Ia+XEzw#*)F;rP@~yY zTDQTz9z$e$Ok<@R2%1-5yasB@8x{~?l8ZCC{_$}FT)Ny&DOlcU ztCPYq+7a4U($Zl=tTtck^E4-mx10{}JJ`l_>$EH-0XE9l^RyQpO4W zKNF@lj7YvTF7B8uEEu?X)+9wYr5BgPc!tQu5SZW0|^LY__C$Mt!h%f%#m_#8l&wbkidgz4T+hSIS( zvie`SOpSEhuSa#+=RFEv?@PpL-XCF&(!(gKT39Lbo#@Pqhvd1UTL@3__ws-n8RM|V zjINYJ7-Ja=y|2aLvD9mDO& zh2^rx9z9cPAQG8+uY$Vwnwhh*_4w-Tf6I@Lm7alkQ^yDfOjB>$Gn*bfU-&5Pt!qDF z4?G0ovN%9%ETzCZ&!+*)YeWc_m?dbIm4cuVM|GRQ&A7*xtT+fLO*+?UlEoJ+TfmLc zAuWsz&fGl$D$xnbVa9)}NqX~xX)UYyAmV1HXU08>) zq}wD;byt=$E-6MEE!vlPkYz-{eLLc|p7funZ~XDasLkIXSY6z~AL&aeDduqvBb%Wm z#&PBsb%zP}lTXYcXs};`x>$(P=M$NGn{b2{y6p806jJp{p?g(BvOZQy8J&IRM?*7W zRPPGL?#jgCKfqjF3Tj*py90?;&WWEWbt6J-5#X4so4%-rL%H~XpzMA&)B3JUtXC{0 zQ^Me%)%HVgL7<^TMS3Ia(WYsUruV4RvMgdty>=^%3(vUN_sr@NX`Atnts(t;viIl7 zCAaJSnv4P4-{7_4IdCuH?}XLcallfUvB#I`f62gWy4}riI+!KWKkVlly=&-4okh(2 z&R8$067gj}?1<K$lf!_VI1BE=5QJJ5mp)QdDJ2 z@@cq3K=_KZpw~MVWDL1!YlkE1-P6Z&8HWezZ;Xl+J5gN*7>D53ZiJ>cJ;vc)A20=U zqa5x^FuL_%Js~6f4|ffRl{?#t9>N>i3K}=(ms&b(WJc2&Mx0J7N3W~hhM+|=zoAr2 zoAoD7AQ|~KJQ)$;s5^94e1mqZF0}UUAJ#MKyqn!PMEt$_*#%EbiEH%-HN>}U8Y~Ed zOEYKzrfqna@#u=1){eWn@4|h+m|cmjP_jkgPM{6C!==Civi2VY>0Eg73#>vo<{s7U zu)O>{M0uiG)_q@NZ;OWp@Vw%}k+&!VkR$W!{=CkV)QlgsYdSrr#yIhUOVgBEAT9wN zHw$zA$!9SaNn*M)I`WoWvt+Pap$hDas_pFJR+p*?PSvDz!Gt#o?sh$ALw81RV}h?KHzd)R}agok2~?E z208=IjccYEue4;eG=}p<6?KnX>oD3si|1Nni95b9r@SCk#{U7^t=t-l4gkT2Hu0T7 zzt3r19c+frQ}&A0QOxXg_~+v=(9AD{yrk$*NpZDOGd;^}1zRKYt{fZ^MBk>0zpmO1 zqOk>fjO!Gy`{L6BNUmELU;A*NpLIk?_O`*Dk{!TTA&@H$P<}Lc<1C^1V@}8-XS8P#&RYJb3%c zVXHn7Dd^%ootXjl!&j}z{J&;9552k=}3lr-czYHmxWH#|5#Ix z&3bl1zW+1az0bO)-94q|ZsoUNMAE<(r%*XI-RUT|4e7XKzz-E7{=@OK!vs-I$f!^x;8A^T z-H%v~1|J2yxP&nNbDV=*aWZ9p9b{8Rk}gX;-%`T zv-I>~-+?r|26%H)3JMBzjka>6=1rPPy+)SzwSF!Q-G@%BuOrf<5iiXz(^G!Qa*-=i zS8Ml*#a*v7*K&z)Z8J`1u-0ukt@KA}DD%!PV71mvo2Th4__F7{%Cbn1;N^N6Xq$C< zL%Fgt&uM&U;O{Y3K9WxFT_AVJtKBkP>lW5b~^v7;ah7v9knO>n-4Am zi>+5!EZ*A$dAp0eNEyI_Yr<2C6%R#@@>oPAms?h)h0=ZC47t3mz_{kuaPH%p#*!#N z0Y5FMrv1H=6+VCC6e`jh)*|NIPQ}nMI8ZJ^)i>ccCf)TXvP7EP%NW(;!}X0B0>X$&^aLW(z*gXYRkGd{jAX-eXBMYoIeEM+P=h zI4O^T9^M5a?hQ!8o5kzhPyCe+ud6$RaB_!U%}G*6dxP=aS;>QX7d9PM=!{WGcCjpI zop+=wvk6-Sn&obN=H7F=+MANHf~VFoYftqRRWMv-xv4pZS_mKZdQ;?1iTsxVUTlN4 zi%?TuoyHI_gNyWDL9WKl-n8~(ot9(S>op8FCbhQpwl6dVHuohcmxI=+gz0a2+Go4_;*pZ(YI;gsnxv_p%I2Z!_C9 ztmkFJ?sw7kkJn(9y2`uXwXjGeO@=vP_HqC_PXAE|n6Q|OZ_-h{2Jpqb2&VsKi8~>> z|J@eOs)il^MvL2=YcTABcy)(-dC5FJjSMBY+8Yb7*1vJAH?OKRLTOp$pxpzfM6UD9 zQYL&1AW7sTjPQ%>TU^5eHcL1NC;g9AgWy$mYKdi(!uV$i0YjXSD&nQHkgxjQN3_nB zVNFAbmvPCs5yy=<r1Aa_aj(q~ft4NAt0}Wl-;{$IejS+THQ~x{4mhfnwNe?Z z7id>zEv>%V1-7lyVAfW`7$H)EBEyPeSXt>t$MChNHKy9H3g`gJM`S_0flEy%n){i3 z*%a6;(M6*$_)FxeHnAoOq8hU`dqpA+3u*w0-Q)a}Q~BWR;xsRbNf}cQir;(GK$m)$ zyf*2>@n1%MTLe*!BiE`s#>3?~1>+lYRuzm-Qj?E=Mn)ud7_RiiF!;9-ste3dy_+yzEF-jAmK?3C49ZWR( zX--AK^9y3uS$E`u#*gCet`0MkwHEEc`*y_TYV&Yaq?jpGnP*y5bZlg@AGGflel@nj z$J$|Y@Maiueg~|Y2w8aOmgolw4K;{UHGxp_%`Oy;QF@Hu6SL3@Ka8`@k^#qqLk#b- z;7)6Y!m1( z&)s1DR}Zi(GE~+~`)0I$?i=e{WY|f0<7uEy%y}NN#LuKF&9B;e8~t)!)BA%B(lhD$ zK4!UEsOiFdz^1XAAHm^m$Hu#U`FuwKAA9;U=5Bj*f$Y(ABTLK#Af5dC5K3dk58Dc$R{kiM8=Xa$i2h#g) zL1(%=0564*fHIY>@4&y6^n(qo{UH;0RM2vuKHaV{yo)p_l(}1`NXq&h zpa(-PuD$Mf!i$hh`{4M&cMsZ;|Mc(=!h849MI>zwqz7)So}z|xvmE3s90x5Vltp1x zm^d1*Qi;Y~9UT1=Gw51F8|hfyy?S@v{m!g_U4baec;8~=>@1eO>Yzlk5_Z9qWH8wY z2t{JFVl@SLtXMJeOqn+<*)@V}>ko1HxPr^)`u-bP5#kp?w5M%jxynH-sp+?(xYR_| za2mT|L>vF|Po2QCCohLQN+pIV#$k`CX{m0M)-+#Nc)b{LisI%L3{}%m;6sl-9<{RIxQOE6Woz#T_UNU`8AmPZMcKjKdj(* zPE@Xyv;~E)u&mf&-s|E6Fx8iWF#e8r5a<%YsM?GBXd}dWrvxlxxE8%Pj442-lZ(^bd{EBkZwT@_D!|}B`$iS}xXDuelo1;gCHFY0lk!DlurtV- zw@hFV4$7ZU6dNh8lf_7n8))M?`?GRF+oqzm4wB?~iGDdhHuX!Y7`*~_2Ub}aexIDa z*NOp6Okq2y3v}BD|2M&CjHIWl9SzdLbhDhU@0_&>tcqyi$uPEgcQ%9UyNrsEF|eut z;cl@vvW@ANA31f^){;hPIo*9C7Fg-&QpYTgBEe?E=Wmu@U+;f(ab91!wPW|T=>|YY zpxLdtvp$iRbTs;){wnQuJ@HkWpFyjjBiL6~h(_TO^Y;`myTLBy z4A!+5R@qWyg2eI$-V_9c$d;G*gHp(r2TMkN@QI-G72&SG&sU>Sl&Jq;Vwr~%#F5_b zAmJPjjT3Ht4l&YnKZ1@XKQCZ1Fj%B1x^Yy|pi_&!6Wc#TU{_{0`}v`deF8-yc-U5OI-l5UD{unICUYJdSs6-ZQzp8$t!I^sJp#IlmFny^q$3imO z3(pStAZMZr$b{Uj@n8+7Ql7?8-oTk=#Z<%QzGZWt+g7GTSm#98%v7m;6|#-iD{0i} z@Wx}yX`a7b;PfbF3L9KY!0;lgKoYk44;>(GQ^0`03g!#h%?iHfdp&6w5&0F?GlRvU zo|HZN2WcFF!tRB_=Mnx@MdfqQUu4R!OJ(I0-*#g+KmU~W=w3X=0Ti=cJ;rMQ= z38^eo1-g*-nq+TFe&6CuY5KMRcwe8sg%yG~U$%kQfLj3B-hv{NBIn|&|F#>P(+6Ui z)Zp#O=INO<3T*E(8dES%XMx=IPEFyp3mZHLo6-__C4`F)m2dv+piR))sUWt9!VWQI_+(@=^W)!tyb-TsahB|c z)nMYwpna_-ckoq4!eo_Z41M3zw}3{(aJWu+jI6KCMX{Qhjp{1(sSK`N^(W(4k<_5% znU=UsnV8jW%4)j}e1j@Oa)~ z><`kOUChIjc4AJ0A1G-OcqS5DdtqRn_S^>keAGRd_#a)d;&S%efBOtQf+N{K z-V>btmHRQxZyJuH;(N!)seC;eMIj5kW&8qO&+15U2S_&F5L=<2A(KSB?_<&h?X}qN zZ}np2U4tzZAvt`K(3l;7*^yJ zv`*u`-tsmRC>onFuuz*NB03#~y^Zp7{YS8%Za8a5#mynlR*jaD;mVA$MOwu)|aG78Q8<2a!RTqu3pmhmBQin)n zLU~59+8tr2vZvxV`f`{}BCm{R9@fcEufv@9+!G1sZ6kQK$+=NMIx1rsW5`GUL} zd$lnw*ijmb%~T|tJIB|;J6C`YOloM=JBMN)Zo*R2E=!m0r7CB? zZ2;k2--9pMGz|NQoTy2EeE1RHQ37w$M5*_fc>@ziwiE1AdnXBbG8SV3ZCRFcJFVD@ zP9C?%%k~aFSCQOFBN%!w@Q8-qBr*01lLh>?!E)*M;)AoE=a`SWa!tR_{UC1=d<^k|4CC@Hd{8^m$ z!-W#)_qjDLk8VT`4q~@gQ8$^9qw^M*`QQ4KPNT^l({PIMpGrkzcK#na6Hb)Oj$^+L zJhNXXLVxL?{V!UvQX`05m{zRVDlR$JBb5=5)f@iJl(I z?Af^&!H9{mlzUkMrPtMA9h!xO42fdfeama$u$MjA2UP23vLfcMa9JLsK1ZaZirHBM*E4X5-Pj=B4roEX+C%inY761+9*lGZUPKR>%E1obda zY@8ZSWY?d9!6)ZZqwL-5#D_ito!~_A*F;drv)rUgSQ|Wx4)o z#gYW4ec@}p|GCxW&4C_G+iA1fyh|n9QeCT zs|m-jPP_QV(=fIY^Pj3qiYYy~%{$s-M*IvG*7pux71sdxmKsV2*b4sV?FI0j5<9;a0E2MdC8u?I zWtb{;WOU5it0tjEOhGJSk@o#4yQCibcC@!pQo<*jV)r`rZ#tVMdef(fJdrr5i%}!t zp6$~$<;_m7LKPt9to3U*EyjHIN5$rKahoK#_DUE9h3WfuE&4GU-~qvFr7XL)V+{$a zmh6EbRwio@jRC!a5tl($kI=%8)P%RS7p-P2KCkhYtV0&+coD)g!+o!=7)v&bWfpEuO%!{g5GUxbuxewJlV zqACf9nD|=NIiw%?4kMJ-%NY;-I`!;Wvzh=d;Tp;0U?mricM0b^#wGumHq}+DFXpZv z<2IG^`K6+kIqpcc6{FRbL1FlWd6l{}Mv3N3Hf8W_D?sSqF%hK_#A4F?@)MPm!y0t< ziDj?S^d1N<_yPFIKGBV8#Z*pNH=DIy6kaU=?w2FZx#s379pwrj>waI&X?a?;&Aa{u zRqU)Ro*TpS{|w;+rXwe=JH_liITXcZ-lK<;dR-?=3t&+qWYnvopcH>jtH$D;buj&g z5j`ety^uqWSvy-o?&xVsd)59k!g&RFt$wb@z81yq`H=%N6R$T8+#70WuFb>}RZ!M? zoX_7;_|J(v6|6;%flFGu+tAyw6lThArTHpFdN-@4V z#DjIa)4gvhekFx6ELbMAx&F5AG^{87#*+f5OeR0ucBYSoEVcy`jjQVdkFqn`@qK0f zKBba_0NDE)?4Q4TC5GQ;e&u%Uo?ZV>x997jhv;0{5e`wj?HHN1)+zSSD4^XZEND*r zmqy}&?&KBw7+xU3S384@^{~$GZ@PET;u8CeKeiZ!p+^o2q%M53mkEfsMhg^2PSUgk z6{v^zBm1`S5!d`0N1LpC!OTt~)4Rmqg3X{G>eSLer5@jPQLewE2V044RDTO!s5M7F z78jsyd@*-rT>$SP1IwJ#p(@HWCC12l%+-9)m3~%z@1`{6P&HFOj==id;q>uSV`T>+ zeIltrkN!J5s0wBl0lcOkX;w`4K}97rrXuOtM_}9zcy0((fy!qc-#7IhvHEWJZDXiI zoO_Ds24D&0X36bqj)61-h-D$l^@H8W4O8{hW}J6$rvD#vZy6M4)U1n!;BLWvfRNx4 z+=3Gz_~7pDuE7VFAc5cn2`<6iNpKx}kl^k%z!~!GTl?&)Q@76jch_H-cjoQ2+Ma&8 zR~tKkA4B_DcpUp;dG^3WKSBDD6K|6Ub2EA;19REqQ8~E1D(B;N=Y@04+CBPC?H8bZ z0KDfQLSzVjV|@eauOV|zk?%#7LB7Yj*`(S`p{=?G1DShDv}xmSK8c4;EZ0kcj2Bq@ z7qo_zs`|j`%MfvxAhAeA5>yZ{AGlO*wYUsmn3Ef`o&OW-kMi|~VlU0_=I$?D7cHkj zg&QGruO?FEE}>u$jE%j-HV1}<+dn#YVa-_dfaCAce@lKjC1~_qvN|HTXJ)=5n z8YY+-ZhxVbE}1JDD6@3fx3T9N(Hjj&+FC|GoB|QwB)Z6&i&GF`4J)oUR*f<~HV>v! zRc&pP+#OjFaIn0}^Sq}$i1sVN2LAdE#vP}rB)(a)in#~UEdyOdmWpqc39vc>@%E^) zr22m!6OEZK8D;}}Rl}(hWpCXVg5w(*9N6DmJK?vSGe-{fpYI(ctY*zGFjF1lzs-fs zcUAN(A>3!GHL66;;V2mDI`>$3$J;n&`^j8eNVa9hy=3$F^GmT_71nvs^d9#sAK8T^ z9rd4KkN)i!!DO59e7{SKfTnbaN849_l=lyy&0yovw#{-&dhE6-cysu(PsuS`a$v{1 zgg-Ems&<}RIqsW`1p9S!-V4Z~AG9>4cboT`Ul)B{a0)Z;D|D^PrWQqvu;{NcrsNpm zyWlOHPZcZS#B=T-f<^P_`T<9+o4ot{w=>(eZ0=Mx1YB(70UQQHdV!RMGG#5?rAaP7 zkl#KzBS=F#jre@|TpnaXOEU$?^|L}APqIS=Dh_&@5BV=+k<>GPZoh4MWU8IBszD5E z70mdK{E226OVX#dv>r?al8w}GelD%K^NCtUBcXE{r#^6tZ_(2%^h7`Lusc#KUrK;o zt5ekQljUWquHj3uyv5}&QL;o8s26I;G5}3R{5I^MBoc>8yWoin6W>tR#B%<>!E?2k zga}s6RzV%z82Yhe8QfEEsVCJd2Jh^*s-L?lb{f;fHD`zF7rV9BK_%KjeiW%+oJHpD zne5S)J+^zY(aZwXUfr-WNUjofA#2mYXj(8)of;7=2Uo1b&4VN=#K>%82|Z5EYq2Wv zU>RNH25pL;^jM0tFbQhoD}F`4jELGzZokt4!Qi*|fU{98$>kmFno#p6P%e|T^c5vV zDQ^RHpe5>MtY*BO8HcuV(wJ~ONrHgD0`pMMkhvmkKqs35CTHEMm@0Md=yGKJJVt%E z?N@I=(x@)^in(X5N4-9wk}cOCWlar0^sFOl457_8SWk!6aZrW6cgvJHhhFOM+AbZ2 ztv@Y{JYBU`i$q;VD;T6O4*;%$g)EuNd6zd|^yq?Iya3x{asz%Iz97tt@?iU6w3l&@ zyvG~;0!=OR9_$)~C`OIZM8EuUd**x4hIN!R=RsfALVh_M> zvJR|hl_3l3i{z&QA(eD*+|L=QWi2R?6jFYk)T!34hg8k5?ibu`J+d+;d~c;!R8FYb zf8o(@G9>`CDw&2su8@?qL0Da8uL>=%!U~VF+uk4=mwqqBPe=xkGXG%$kRq$B0%TFZ zd>xe5+H@!z3C{^O9+RKDr?>U2o^+eH5?gMwqK*@%Ps@B^>RNM3UfzIC=5SvWLMwih)=(AOx?ppeQ?FF>x(PjW=kse1wOANn zxaW8n+yiL6YgZope?~;k{$EZKdj27PkQ17`vu!H<P7A&l^y$}p_<~*V>Qu}SvL8)@t0YiExYU)k$If`g?eOkp2ShXTUVZP=Tr>E$aX1{yQBi?(55z_G#o5(&zG zfen{0V1uaUL=ft?hSSf?y7i=G5W`T^Izrdz^)68obDL z(M5RLKr*-(tMG!>%NAIh%Hu5G1&~IRQRUJOSS&_p?+xpFuwCPy0TNr6Jj!6sRs0rc z!CBfEegPVr>@TJFYHT{j6l7LHw8AmU7JA5aeF+JQ%OCE2_VE-lU|Fcr~VjCVs#0 z-mOLlLLc${0u(TRDt*{+{68`OkJ!rNU*uE-i|TJ5mKvy8$p|81<4iXcbK=H0VH3qg zx;7}b!Y9W=X*~jnVX2+A-)0LzF>rIH2pu-Y3gpB7N`zKO0Hc;2MsDb}(Ai&L(3H7?YAL2tzV&KT>I)ckQ{ZRkW(SEZ>rPh$P%U#^%diKGN}0P4c79uQ~!xz3upqOTwJe#y9AlKe*;PIR9WYBG&Q zz&mMCGSsR(haNm|)$I;x=CT)@MFA?!SO46MwPCQ_-n*e5P9Pe#`p4rP6yD=ILB{go z)b)^ehwGZ<;v~givWBqwnJ1?Di3cT4u!En8l^o1J-al{UZXd=X>Jpo0BI6kl$CdC0 zIXMxzvewR*Z&Kqtg zQSX{COo0)vD}s@mEy{x)3te7E=MB^p$(_tH{=UTc8BBfgT<6K_1O(na-HI|&zeWQA zl8EU)7}I~SUa2uD7fjdYx7Zww@EvW-5Y{`<;wmWmJgRl~A!Q6=81FTjd6swZBQ_A~~-oF;jPK{Y}*l;D?%i8@a<*O2~mb}j@P#TEPg1`%XoWHl?>A4SGYk8J)CIh`6 zdoOX#WJr6wZw0;W7$(&};WD2c@_EYP(=`ZT)fY4#>P@4)Pntv2wHco=0i#3K)-RPA@G>H_Smk_$>%P%Gi+nnkllpTNw21FZ0RWtjs7&=?TfnqKU7n*|3#|jhy_hzM94QCpA!yRQ^ zkeuh@a^A39hpfI9gSg#j-MRJ#JHJMwL0qWmD3~#*$Twa#Wp*liHavjm5b1E?hFeZ< zvC`HONe2W130+v^7RsBsjhtLMm0d>1_a>SSUTN7P(mKpkon5jGZlqFO$(VFX>ZSV# z2k`s_kS})PhYc?Cf_CyNku3KW3r<_xZ)Fr|#%7|(ifNl~A1n=NiVsn){aZ-NH0-6E zffQqZA1SDgR^#F6k*obLo{dIZn@gk-6w{+D0m}zEhx4gnNd<#5(`~8O3SyEo8uyoR-FdzJKIK&|zsO z3A3w`>*4LTzZ(dWGEycd9gdgD4eLrf*tobVz87;RKg{CQ!-kmHFBv2zIvqq;4H_}H zvbBQyzk9BGRnatE4E!qcrASgFqJ3Vu^75T7epmN4nEZjX`8%)4Lqw}e9>b^E2TvN? zY3alJse7rp+>K%T`3`Hc^T3jsY1j_yRMytY0TJ(1Y9}e2eUs9OIcd)noGIcCg@dA! z&}OnLfMQ_-$vYbB!{8Wd`5i@lr~Xd;m~U{x85p&hi~=lAW6lIPdt4>OgI^T&NBPeJ zYp}Rut7IT$rcMUX-}&S5>(J&Re8t?>b@FZz;^O|qti+8(D-WHVS9f` zGAf0B#*JhY2sGqiM#j=^>a$;SO;6^WqEA4z3Jj-xX71g?w^Sz}A&GI?QD4=T+`18S zGxK!Yn?X!lA&I}W_2DKlOT_ZmC@m$CGMs~7=g=4KD6U+*UD~nf?~L`cI|)kMU8E(p zWVBJaz1ikY_Sj=N+YK~zoQXU-05ie42cCrg>9xGnyZL)__IPbVJ|x22ktX1V9{(|I z?1;=P5t!WKjw$x!iRgodi;H_F2tm?8!su;kMrRLv>TLopM`+y0_Wp< zOIxVRT^gsEufwJ&Dfw5aWAqtIOkaSOwV^S4s>7_Bo|ze=-!OT7x6z!>^_+PuD@B{W z((HjThZPc{Z+JK`aZuTt;z_rj^!^t55=9_VH>#;DpVYqXTF*X9&WfLb z>c@w(Nh19f`A6T~I#bFJi7S2YaeCPY@NfbSgy{L!58I>T5>t_)a>`YIHq!n5<2Bt= z^O+z49a{Wu&>E}Q(IRVfvWqsJjm`La-*2`5emQYpK;=olY}83ew6D9==x@#$w}Z&& zEiW(bKZ+W!^h3UDy2H-fP`F}dY1bEd);ZH7`Gz`z8G4i*#@5`^x`KDVnfe!^Y*Kz3 z3pAY2b$DHoWtIs>m<|pn_;M1RJ(DgR8bqn{$h%jdDfj79Onc=PE?Sjsw_!AWpgG>p zE?ud`M=n*q|Lm$efPBA78CiwaDK52Tt)5fTPsFy9S36(t?5!PEDz5ObapkD2rXO3W z-3c~Wn@PAuFRyHfv(EaUNJ!00JllYNwf zdCtA}HHO+I>|nC&EPWgnF~Cr z4nY>{7UOem!a^1mj5-ftAn#6{s!{^zB5Rvn%d3m?B^@76A5urVQI|=YXI_%NYfW?z zQdZGaE5_5_SD(!rP}A{w>nWpErA%TgW;~}NTyLEf92E4N4Pwn3*cmpGzb^AGVdgIz z7#(o*thz@^87x)T<-P{21A$5k{m86pKur$hMZ$IDRpkaD^|qI` zS4`g?9j$#(0RX_Wnn3`bWtpwhY}fEr@-@+$H!*7oILQIJVJFWg?2Ph^Ds4M_9_`S2 z8;l0|9afas!zi(@c$0;;7rsmH7u4d^`hmMMKe;xLxU&#xxpdU&a}~4nYHfrPV>kY^ zNcXo6tGJh+U2BxL+#H4f`jl2G?LS_CKSr6>o$9FmQ5H%2sRn>8)5%06pDm;1>sn2x|__(<4`@}Mc%m%416VA;IqpC zNdSU+dV8IPZZJAlG(c`b(@n=O#$c2t@M;)+7NKxYT zmw*5|6c|Y7Fgza{b^1Z5yv|7d8a3u-2!rI3%mLMc?p3q&^+*hbPZH2eDY+u$qLGGb zotV=Y?sQ&@0E#Qa#S=#!&A{`Mp294_+=H>2Nut9M(F6F_C`Nvb0dA7sG%LsZJMJwF zAU|&OpFw{o?2bmja8Z4wq_iFh5wdBc^hG-0x;cQIIuLX^uQx(PUoHAqS>=S9U#=Ph zfgS1*VU+0uqx#$E!xUK!5>hXv*FO4`KZ)$J)gnrj&&N3l^!9|SBW}x!xL}hFiDTFQ z7|H8%aq8sb^-i`se)Ad58`sUgn|uz}(sPj~-yh3SJMg}@!j!wtQr6duxY?~NMZW_K z0Wh0>h{_FTK&}Q@nkUjNPDQCfcV+)0$3$+v2~E{P0VZZ#o)zu z2KwLh!d*s1&Y5=5lnuJ=;e}RLJ6-Kh6{53JP)0{rMymk5GnQK8XX=}fH|{UP_wCJrkhC zQ%1J>Fudh)$vn}FN8U&VfY1X)c(`Pvqns7!J zjgk@U3v;u|T_o%NrgBv}`jvCEB74T5!<_ek0V~O-quF6qn66S>&p}eG2Iv(n$@8Dj+BkWaH8iD6_u?y3_1U^+f|y3bE2hUBIs~(tv?34FFR$ z9v7w{(2s6Lknsn;1H0Tg^3|t#0ovBW+Be=>;lj1TDFN@LLw>RB_h>t*-=#;ks#O4k zg%&{A7yVS8>KvpYcM|x04<4JNMWqNe9D0C!tkJi?h&bw-13z^)rQY@%kzn8A&;5LN z8JwsRRSpn36#yW=!KLXIg|SSL);vU~t5DqOA;H)DTa8!3`eUeWZX z^l|<%%~6HP7l?)?*64sMf?X>c`S_5xD?3bjeP#O?P6iBdyQ2PEUTs!kClTO9Y7y;S zr`DVJ+%ZXf&aJrHcb<-PC@Hd%!7N#uloxCmV>PZ(U{zpLvrEJIC&i1 z!fnNI4?k_AG8A$wrbo1Z!`2$`7LfneZ9mZZ9C53{!1FWd_22Ei8jXDq zeg}VO<2P^j$C*tz=dZsIlq#3QY=r42ehd5!d^n{LYTS9B`7_0O?C3-^@Y2w09~{`V z>fbD#mbM|C0UE+WDx}-IU}F`Uo@DCOuXsaA7@ni|V0!rQmP#tZTnYv9Rrq4a=CkFv zMxL!3kzU3s5fSEbNW!U+8|rcJSa%kXFa{Rv@^{?kILRBszqp{I>_ zvnY;Jo&EV>g3*J>pXa+IcF&Ivvl0pAUT(c@K`19j83c6j%;&&cZPbo{omY(VOcUDB zaCdY}31wN77B|ABwM}aI{S^2~E&)6$e`q=^K7G9owWe6;#SNj8l$_ynd{mU<`E7Ma zs=M>q?Pq~)+rUN*7HlFqAiqmf8yIFuiKU8J1HZpAIB)c!W>(ldRkdQ2Ubg*eb(kRJyZy;k zCRLec7rnI$W=MG4;JtMjZ7kvQKJ+jzZhQBzO zc;VM9D@aDWRcV{`+_u$o_d1Vg7SFmFFQ)b#`{9#K&TSyW4}I>5Z$|K(P5|E<)aczx zA3DZy(U9?{PT~27ZO?a1%!7O9T&2bfN&bVt6dDqv#P+*iq5G@ad!a3hsq{0~?E*;d zJL6@fl3_U%YGPC*M*QwgX#7=y5#^%CV(Zy}dONQhN|YnQIHLvs`uVqlP4}ftPNlVI z$kA8_?`HzsHd{t4U~=;?85f|*lE9&)h~3>q3B9dUdj-=io{P^<0he)mk=ZIN=o-I% zj%5L_Wn^XFiMNK)l(&#ipzkJ#ZSOhqMh$KUZ>uIy(}k5(Bf<0b=6sARPIdvL9#kY<<~ zIx$gs`%oFU`yOW5-wfHQx?73XW@iOGjI4$aK;roW??}zdxnO^TE8RWCP0r$rR3|g9 z|EBICFN-4H5)NP%dcD#jo$KXEg5?(=J8~4NsNX_;{YRF7FEMuePatqMzh$6KUHxWk z@y-H4$80VNs&Ka;wjxkqsT%stLlH=|csJvQ1xUqSv-wpQ?!Gd0Aedg5Z!Sx*Gi{bDk%izJ{?L&sw2jDC*p^cu5e|hn$W`WHz z&}X55OrI2vZVPg_w24a4E=@qZuVksSw*BtJnCb09w4w2H1hR^En;ejZ)0c@8p3UO4 z|FC^`S(`*}??;l(7*H^TlQGu>wR9-0oRDrQ{HKry>4WIIp5oz7@v~La(n*6mXU?*> z%pb_t*H>nl`1la?gZ&_c^8O*yNO}3SQ9*>T4aMrC^rT(EOAt6zRA{xuI0jY;a#&ae zuAM5{E!}Z5UYfv!8nj*J4=KsEVpZHNE}oCKVdmu{)^GKYBH~~Uk*Ei{zq{K(h26hK zrAzfdE|?01=RdeOv$vp;>tIw1BI3GL)mMqFD;~?=R;W;Mm4#MS4xp5%Yig9;!IJR) z-y3pg>E`p#Pc(it=emBEt!&ly$BKX3&MLkcFg}%fl_^-_N^s`l;gK@V4QIm z+KiSE@Voc?MaB0TgGaDm1}d?Jn`w9bko08#HlX#?d*nIfJDBT&-J$PQJ2MP&F*LZ= zmY;_yidps)W~c{qm}&I-!TB3_O9Q>TK*WXi-zP(pW7 zi50dN$-jB?CusRyh2=2f9?M^TmCG>i{YJPx)yU2^_l zgRkLg1Sz*WV95UazmA;8RFO6D_A{nLHW=GVveL(k&GSz~OeS_@4rKhQ?L3qUUBqdx zg0WY)iQfb@|9sVJXW>D`o zB&;kp0cE;Z*s?fW;Fcif3EcZFM9x2T1Qs~F|PVer4J!y%uJH5YB0yYt+-w~J1X zS}!zd_rM|?9>~2ldYyE6zb*Jwx#g%4%IVdV&s02cwlzKOf2iK$*F`I4c%@^!*`d#<IAL#nBb6vKpL{c0o>Ohe+5k`%h;K!T?`cghW)8}aim@|QEOrWVRQ%%Ek# zEO2kkNc`LxTRbqk8F(;i=OdYM;`SKOTP+B?)M?ek-Xvv_U~n$cl1n&naS{}@Goq#8 zAo}vN5y`5mRhSL*@u+z5qL<}6F`~`&=YKpHB3A(_NQ$`!yWZQMP-zC5KA4*Jb5>r}mC`>6Al>Vs>+sryhrY}0^arB>7#Y@OJcsm5Zh(3C+2vz+cc*xXIz%hC6 zSjrrK5Q~9EBHL70Jntb)QK?OdYo1ejl_rMOctS*eun^Umcl|T{C+)Shp4tMzy0o&K zzha@Qs9>y^xEuW+6GLk)_uWdZzI8sd(JlqC_ly(xsGgDj$6B3X_KGECKQWT`kGL#xK^sZoL0IDurPtwo#19tESnOuvo3pty9GXRZ^`4Qd&%ToG}KG{*i8v?DX)g7?zX80l-D2!$@2L@~{UqkUh*UABh>UpQTgKrr>) zquXp=A8}Ut6d#F@npmB593qKc>CpHb{)+lx42qw;FR_ zqU_jbM~s{_XgE0$by(p{N9<65_L3IDLtR03<2_KpQEPBdlJNS(vio^;X5}AMXaG9; zwS2Lua{#Bs!I6u#AGgpbhdwZ;1|gMPn=pHotxj@eB!lodR^u?o!s3kYwKgor!|25-M&g|JiAT{tM-;jgGDF?X%C+%vC_zU2}I?jAtE(C zj0>@c8Lf^vtGD+{j}%Q2d8zZD9!}ws-xx%{3mM}|<&2SxuyV_PVi0$!gixg ze++w7;M&lk)gHuZ>&ZIVIkT_7Wv^ex!lC42B&8+^tAJ5ntyGM=S~sAsC2`3#Z@p&z z%hpBaV0;QLx%zA{^U-XR&EZ3hT|_C~mUR1GZJvdxzgbsxg-;|PAAM`{qdevxkp)mJ zlcte>_;>K1*`fO+AT07JF;dZ~mj5~P zCcPWaxPiqPmXDt>{JF(kWQS$g6eKLtS9o>yZ-iXR3OJPGQ?~)4LYSThuY&Aodxs1X zF{9_0GE-B2Yp;*We?xOr^i|wbn@8(ohROyFJXUp64eQZ!jNB?akC71uDN6mbxHB5R>Hui+IwuQ zZGgn1J{W@@X#QujCO2N{!m-4(z+4+pdPKcoAy+UvF61Yw`5Sk~qe)}bg|(`vjAm2N z^GJL#3Admw2{c4`I7tjU;<(N9zEq5<=`3jsG&P+Im?(ET`zh~1(MMs+jyDCT%8A)> zSM>a)yL@E=CHvU5VygW1I;078;^rR2_Uhk&YO2*c{+5EYOH{g+A37L!Fj@L5Lk4zQ zInmZ6ihhfCluHB1D7c@F?G^~-!bduArp@7-EUxetbYofR$l!8+UZK@yHBCxqQ~GwTVka>b(Qm zafr_Z$9}b4lqbFqF)w>^LiOMGzmC`|U)lr^Cor8hxH2MC2Va z;{dPs!20&r;8Lu=KYf0C8C4JkW53~>;lK~E|I9* zW-!u@YQ}C$T1mZGyv*DoA>h2dOA&|?`_at}!RZ_Z zkq2~j=X0uSFc=M$v~oaAj38;P&eXRq7|(ZE#7REF$HcBos;!hC=hBeBL{|;o3OY); z@jhz9tc%F?BR292q7B+32@51SHx*7^Q}1Ar1abdu^Rk| zvkpQ$sd5xaHdbK4Zd`9>p3Xn`xb+cTRrso!LC|r{%}B^dzuI`EOhDrsj8Bp9SOKBW zcY$oiS43ebkp$BL=WIZTH zy|)*4i5JUxB`6~bO+8Z}E-K1K-4j*X&W=1kq^#eIzElag;g#YQ=)`B@bBdG-0v#5% zw2(gE?Cq4UJ+nzv4t$XxW&J#~WX4@Fj6|0Y%eVcq9}BbPV1oLqjckR%OFYR7iI#aA z-;HzFv*8X|8wl(~eviD`mnr2)3x&Wu|LFSA{e!Vyz@vG|h+a7V0i*Na=7p1Ej=xsR znzh|?i*%sIG;4EHr_INP`mrp*2!g71kf`6CU=DY+HN z2#^kw1)CEnJ;8;#v3h#dxZ-QQjNEI%xz6XQ2y%NyR4u~PEFdxoA2OckC0EP5Q-xz~}~uCD{2 zUYGCa4hcjWf z--}=oqyYZ`9zUPrUkdYymKeW2$g^(*aG-Z~3SzF{2JeDw{s!C%WczqCIbHPL9(6)O zLvw9l4Z_lj+tFG{HB|7F-@?)xF+NIC;Hdh)I)Pe~aB?m+qJQ={QIPygf*uts-|j+f z;(H}|7pXRXWgeF;H%hNg3Grqa%%dl2QE2yliS;o*%MRn6cDA-`0_ji}W?Rc3aOTc}~ z6$J7tQ#v6g7tkvo)EV#S)F+bGaC|T7tZHXyNT=_^A>g?eTwCiRoJL9;qAn`ep}x$U z3B+8b#O^wY{g3!o@3WF$3jp)(502(rY!K%x%e$7+VPu73`Ttk40yF{x2MQ?;lu>a; zW&N}pahV6s(^OCrPTOz&P$TM~NEMYmnK<;wBbrB=+@)UB$&w6W9&0lnoJ?HmMnSx2Zyw-8s2_F~^W$Rw0Wz-|4ygEV zTPq!f+=k-M*fwU{eM3o4KqIe)Ut$|6bNZ+2z?_YoX2@ z6Z`2z?eO^t83ESHlsh~g-~(UzoJP|Gt)33p22O2B^AOE85yLR{JIsd zxr)a#ajWY1T<r>k{xBQeMiE=pki5{ggiOUIvtfya`U3s>`Z@{_F3ITX zVY2ya)8sDQ69X{^;a#Vq&7${N4zcR=SaiCJV%9BYGTisN*;z(qH5HYxsanoVA#b^k zbXJ`I7-nKCR3nUEIJn*e!TEs)fDl#z2`MB^Go!FY?EkXdBv!_#88G=RhLsDz>;(Un zNy0zymEa%O?&TOr8uWa8sq?+8#5DE^SZe=o{iT0-@_&{$>i>WLJzA;{Q;j2V)(|!s zBd~u_bgZX(#tG)_{5_7&?1CQlg(wfHpkS z)_#kE*X9_ujcuNV%Dt{h+8)gd4N8x)s>*sHB7Vr@N8V_bHcAISj}HF#0uu@vns~9| z5mmfy<32XA)2Be;Z8G$n2QHqct16L&fN5^g4jt^fIT#U06&v?%E;rfC@2THGc+My2 zd`W5s@4ws+jF#5-F`Cf-L5MjcHT=(r`M0`CJWnAJ?3?R_h(h%2f$J*UOV!weN#WON zZ?8Mog71Djlg1188%B-q{V4ub_0-NfAY)tW1if`8u(JNisxMGbr*)ID=;|Xk{J0ai z{None|*7rkiPmY%Aec3lYqr->AdhPb{OD1Vt%&qftX^$ zE_7SNuBz=ZYn6XW_3y+55fX8i+`5o8I4*`msTQl?^k6pjWuamG-|5qg^uB=8&78)+ zZ~ym50i>5;1dai~joHoLs!}xg-l^JmaT^`$AQ%*|a;dfXr=wy*;@U<3X1gMAbwI4*qwl)(;sl9A!hUk(n2bFRCzKVd8X1Yz+?nNWg~K`kIK~;H z$BlL_?tDfJp4_wzp(VN?$_u+bQEbkMssD~`!hjL4CHsyps{QVmKlsa2z(yF2_a0hX z`;>=7QHA^NjQ6k$FP{0uHd5&ZgPAG^^EE9!Ze4@_y~QFCJPVvL<2D38&XbT;jCBJi zi@dnlliic0>tc_4$PX;2BKw>iZrzy`3fJst(waSmE43Ve@30Gu-M~T81+mUlhmoDG zrn1C=&t)z#j2FvN&twd6FATds2-~1d6@+eZc6& z^6K*;=|Hvmsy}_Z?xFwdRRDj~Lai7hK<(>=*#5m0)!D zH@GOMSTb(G^bE;&OwDmow?c^6Oo*NL;>eZ-iya(G`x&;M1kQ zcM<->c?hFSF7VWuint?an;BUtcZ%D!1*TIHr78{%gsjUp&!wNexQrQ6j9<59WtJxE zzl@3fHb1o8Pbtv-wd)%I`r`OMyl!)mN2%rMEFi+Ld$fd7);)70799H<2pju9>@|CB zEZCP&UPGF=&yoF_KCux`46HR?3~UzJ9``{-nY*qGJ3<*Keen)l?~SK~;Z@Fn$Ui0D zXHeZ~pR1hd$$Y>Ms{kB^+8j3Z%t&`n@RQi`jww)i*I0DiKBbc0Sz(xS?Q^hcl-kuX#0c^JUrOB}d&}nWqRR zDpxU%R?laD)Q;S|&v<@9JB*@?yD_M@Xr7nda$v4BWU*31jp{W`D3|&Cf(gG9&K-PF zN1ccu!a!Os?QNmZ^hW)-AK&soU94>)rjfXI-T`=jRw3b;SjxG{>CDlTnc=Np@o{)R zVBJFLh3?BS8b*40)=$>1EH&M}oET#SJhWi~|*i_Qj} z?95n%-7I+FTe%bXwNNH$98^!<1Eh5vStDKDzc^7|!JJjOWW+&spdT)bjL$wmO78QQ zAZAZ9ayiT5>c!Ij+qN9N8*0jogy0OefUt*v=GO~EE76)cBn2TXTmlNSpk!o=_3pCL zv)_(yH#)#KG{#WZ+aor&>a8@c(-FpYBkE|XkcjLy)Jf#I^^Qm-)6G4axbn9ocFm5J zhe3=^1f6Z9+G4cq5R8U5nt?o|7Cidi<0k<`NJ8opwNf!)o$~A)YZj z+CP$!Q(;wu?Ayy5{F+181*E}~8b3e0jsSlEq2nC7H;!-s<#D_hQ8X8{O(1slMq+q% zpwF=KBVzd4>QJ9Bi=>Ns>deg?+)! za>myXXb=;i$*{I&SY*V3t^jALEXOJGywNibi91~)AfH40qym}-;1ZD$ZEXC4u(E85mk+)9RU!05~LUh=3)py9S%a2+LyjH&mJ_J-NiMZfwV2? z>*-~QHJM^BsTd5+%VJHO3`pCe9lg9pgetTSVt;W2zWkzA7Lu%Bap&J}( zvU3s`R}=UI_j5C+*KR>j1#0v|Dj>q#b;qRDU@W_1;OtL!)1_#PjYKmORli#LEb$Yh zQ>HgTZH?so@9Sk>=P-wPPx9?pl!1H0Cvy24Nuv?dRHNa+Fu3JgwtxA{9T}32UC+YX zVd?UR*G<+%>HVrPkgKL!#iy2k)0HSTfN8Z1K+8+ zwC6hN5$n_*UeRn^JaH1;R84ooI04-U}zy=7aL()*Jh&bhpHyzr!B zI0xXhb@V*R+5Si^CnIxg??1viT%JvAdxT=5=A-z(mvKOAxV?_BHxs@ZL;OGe%bO^$ z;aPa7m(0Ac5Y3^#5gUU*1coM-qw-)aoTs|eqGN`DAn-0)#Xx^Uzh9@sy}$vgP!wR)StXcC;&Nsi*xp)l>67utALGbLH4U+j`_QXM6b(7G`;78 zt)?3R3Ons50Zx0p(W0jsC$+KXh+OTG*O*@XoW=D3324hQD@++mC?1fcPL zHjKlxrIZ{mpVg{@;DVOxf1lsZQW+08awbgs3K`5-!~HMX-ZCn#rrj1zup~Ia-GaNj zB?Ln7ppCn`I{|__1a}B7jRg1L?%IvJI|LfJP4d3q-gk_1#+9*8{h;Y)(QB=$T2-^= zGoM*Q!O;C_C8iR*5p;P->QP^mM89a1F5Cz$LkH_4Xx7=**k1=U8?Lou)VuIg1MdkQ ze5+m)atj8hA+Gcyk?z;SRgXpI{isCmX${i5ccbk8p3sW6HsWINdt%rSyQw23EC>(VQEm`dXVVVAq>5wzDh2cUryzcZR-w0ywF~6t=#><-&i7hQ|QwpFiuN zi24>x{+dtKFGlB02vUU@m%n00J;}|3M7{hZ2DtWxB~5qEr8C^r<2xIBZk$~rcR8UA-t<9gzz&HSgh*ay?(X%G zD#r;Y$98dITu?HZh0x!{V^t)M@AVeD;Pqv=8(S$B_AP@QXg6zPCr^!x=j<+O2DPuC z(e3xbjCvI*?SoO+nUKsAR)Ys#(Edk)T60X{;#Qn?t{U~Q<<51HBZ~(F9 z{@jFwBIs`5M`#AA$HxCqHTOucOu`DW7jzD&Gi158h+j6p9mJt~TZz<_G!jcL?0{k& za|zhax>PFP8JJ<&*`ZZOEL?T#KdVH!7D$Fjx7SAX1KsS;_%~_fdP;qh!;}}?4hJlh z=N1KMXt!eFlSMxA{MOWU;|u}|qm9YReK=kFEEM~d~N=22m20%n{)pr+5IE(T|{bNAc{ZJD+Qdmpgx)#$x$Tv^`4_g z#Rq5v>bYoDMJBqSvsvN2t+VA>e48_yQb$Di#YO)xuXM(&n+0ce=8WyP*?^OgR|WNL zWQcxErQJ5VvXzd1pX%|XlHW6+T?DFaI3oZ;1Pur=#moCHpf%giQ8%%!wr+Pb!jltC zaxfpH*UwaL<+-^;gr(y_v;Fkm#T{As-k3S_juDUN;g|2C5nFLZSklpZ@z&u)a8eTM zv(yJ#Hh1vM%q`DcbDkQBuHOZaH{76Y#HuQV?rv_wX(H$)Tg4k+eIE98!=ngO)mv!p z`E+{&pX}a@VKw0Gg7%p*Qr~xjZvG!?@iEdbksF7N9(Bf(d!LOC6{C7>7PaSf^|zL0 zxGb%^mES;tw-K5C1Z;=U6bsTjy2OVqOYs$U6top&qW)w*8g5)l=RpQ&3=}^3X&-&s zYpb1{k#fEo71Yi!t@O7t`&Zb;Ckxi?Tm?^Wcg*ql-En*%_ZRBCzHe1dYu?WI^LOF zvhbfI@`AtLrH^!HzVBf(q@~bN#a@iQN2{mg=@Ws$!srSjT$2AwMk;m~X6G|uGj-)* z7M89K_TJnagc1*L&&<1BGJ~g$VyIAyy9Dc1zBp>!a9)BLBO0~jFJUp-lY`wwjzVGa zzM4U)l0OB81eQrBhTQ`BOYlgy?ap#ep~9u}2J7)aN`p$&{RLIayg0S=AZ2^sM!N^m z5UDwy6`jBowv>o=l-kK&RQV7|PcQHaIZa6{k>T1!jEcqMZuPfv~cTRz*j{H-r zlK1jyz>V>4hAe&1LsI@AIbwD2!tF5{$earJ>+-ul5XpJGSkS`cvb@o z7Xeyunpqisa}Pfj6D(tlUn8msht^+Q%KZ25HQ4m2M*_Gn*-w1~5Z5t9HTZg>-{@#Z zmPJUO?Xv6`Eabqg&fl5*?4!V@Jdi(#h1^QJT>^MI6J;IQ^vj;$0AGjfmC&G1!k@xV zfuPZ{D%$&2@M;&iMV%k+VrQ(YJkP|r!9u*}3Gz0vwFTo={C={(?6~5qF46EgEW-ms=*r#ofo;3a?*77-xRGGO4h+smK5!b(?-|yU z-gk?*$P2Q?uyxva82^4SvpbtFjR#fOKbL(yJhQVB11oJ-;we(Ew}h}wNINe>wS7)teaMHZBoSn3n&-+=j24NOip4(m0N8SB7NVW z9Fdk#xfIVz;LC@N)75kM2A(b6y0&{-637M^xq9DFo{P)b_s>nYT z(n94(UTE=PZ}=zz33pnSeBNr=Cp2#=%4F4GWp#tY)o`OeI8o00?SoJ$l0kOhVn6Y3 z;EGUm`zVqBaiFa8)uCiq-A2y}QxA=ztKkgkNkHo>>lejs3C{_@^0<1#$r+J~& zGjziQ1<;^oG>uWE@i?VA2M4w`Y%#&VClY%8YkX&-lt|xL-&n^%)`9syxA`*UPl)i( z*RcEvJN~(we(ArFzUR-+-~KTq`15(oxBvOWS>QEB4}AZbBSZL^q3`+k{@eQ#6=H)g z&rhgghk);+V3U){kt6huiOyYRAKToe3m=oHb;k>}|49IXvU<679JEyUS-w@8(X}ML z%|(>wv$yefih_67dy#S($rCbACBGN~0F{(4?AM2n9)p36tD-}-B62-#w(VVwP5hLl zf$h+k@-)I`e2`y~c38$!|Admp*j9ab5$x&qbDTgtvUyb$Da!&KY7}s~9gpznqA0m> zMB@zo%jN?7t7rd)Kc&ATarocg|4&ri|IvntlY3y16$S=tZZ%m>Uj7>>jP<>{4`1@w z{pChAUQNRz|IZ^2%_2+^qZ`mc`dPXEpF{tLVvSPIO`J8?Rqn9FWj-IDR``eCe6ClG zLR%}A%YFPnxeWe2I^6C1+Y4To7NTJ3s6D!4l+RMVJGzInhPXlhbXr8WW#*RH8?JiM zVeh@H)Mj5`li-_RY55#E#uJo`9{Wk20)e(WeqDL{zkzdTSHd}US&M7|Ho_YmOFvD= zeeLVaqq$6Wy*waZFarNd^TVl|_=|a7%A1H(>e<*jJaN)U2SO%AxLltQVE&g4R9)U) z<}TZ+bGK2mj}2;0%7oS8J9X%Dx{VvUCHPMm)<{z_I-z7PUY_MwK>Iz{=O}){=_RPv zk?SZ>O*PvUh*z5qWcyDnw~iW?uHDxwN}4-d%B1$*X4&fgIHkuU%=X_yenfPXC8_C; z?0W!{O!bR&a+hSZ$8*~SoJPadYuv){QvFR;+d}}95qrd$_asb^^ORzbCdtv0vD=Kr zuN!WxQ4;fnsX-0>}Qw!*#F^VN-N&Y**PL@8u%4LR&jbV}9&pN|(a^n+5-Ct`KJm-;ZlZ@gH0x!33K`h! z&*&o#Eg2E9LLY>2Er*Sl4n32$h_jCPwGl1}NKCJmEgzX0D+0F8Dqrz5fS5ba+UTo% z$!8^*49h4{KM>iTyJdu*%v4ztiAFgqtOO!|9yqG@a%FwA8GTdbJ7Y@NmnKLpWNm2J zQtNB{wa2QkhyPH@@#*-V2LS)scL!Q<^kMrNm3i1oqKym&U^CIa*F!g0P3e?Ei762$ziepMsuMX(R^IpO5r^Ca-kxZnn_2X%G*e-<0*O@tUT$Tae3@;Zs#eZ79Xu9F+>o7&dKwmP)@y>V5?;Q&5Wqhy3gdixCx9^}jS%Ia z)Kgm3J`+-m#5#GOW}84ci`-48AHoD;6drp$kN5JuBXKWR#u_F!daOl8_njWuar{br zu(cJ7EWE1M9|h9$+!v0Z5=rGm^C}xNXk@ zl+_8o2KpqpBU5>dm-{HbE~W3Fv4HLvA|;0XD_01vzT2f7pl@VX2CyEW{sKOP3=8#_ zhV^~I{sFr!%U-R;9ExK*y%Jh=@+&4?^=ZiZ(AJ%s4NwMI^V&#O_SKbjq2)6nQv2Zf zkuRy{5GbK?)YVMy*?TVJKHpnM0n%q1(6_`Ly#iTPp+XS<9j8X9kapLzsF4aw?gDAQ z4epb~M+{>F75oVEG=c};jmKNlIKC+uAWIlFkxCK^Ffr>% z4jm@Vl(Lq|AgmfChGrhe4*N_(`jENz%3|-tTA=l>abNG%bHQB~7+gq5dR*a}bBD4y zsIP1ItdWA2B0#|^{!CPl$0n6VsW&eNW>5hY#c(V+43^Q53@T;b4@LS99k+b+A38BP zy7Vl*aByfiQNLd&qwH8c^G@M)f*GZkvuJc68k|ny;a4i`gg~hG$Of^H4=s)4`z_c@ z=tsjElN($}7e#dRtQ-xRxH>3rbX%(AQ4{k96^}lf-tRI}-h@?ZBYafej?Mf5?U3y1 zx&C|%Y-4X3Z`))JVO6eV;;akZ5arzNG&75lX&ps4&xLDAmkwF_Pr8P6N}haN|MWcR zOb^`iX~I~Re}`5 zw49Rr`%EP$nA#sdt58m=eB5tur$_ACbOI1>pQ6ruD!un~554nDXGN!CRw-YUoXrhB z{nbWmm~nO2Y4u&r1YE>zw&|3oP2h?$ML%o7p6AzcH)Fkj;(4|J#C}JxQu}DNA>jU6 z6ZK#W{gaVXrnQ@Dk? zodyjwuj+9VX8se&)Uxs;^MU2zvw;n?!023fl$fJ%yqK!Q#RJ97m@1o$2EG!}@}z9C zTRw0u5}J2f8M2Ch6WTu|M5c|-Lc;LH^5#U^*Gm;%A&P`SWuv;;)Drl?#F^YN<(2QP zC6|o>@SnBDrV2Zmfsu1aQkn2Z05Yb8#3K~ZhYkY z2{mnM#MmqHpJ5g2^e`S?EbJ#kF4sJ?tg&*5Z!jhvLtupGA{8JV!T#}@f)dtPE;4wXpr2}THB@k$WptScILOP{6dAD{Okzi)62-c zC}7*@oD%rLgpldqi5Vl7$xR?;7W@Lr%l{eup+9tf>HNdSK?(2wA?*L(ndzy2Y7^=n zwRgeda*%_xksvyh2^M^Il-l$R_!4&u5}y`3^`fDmu#IV_Sw{T-2N-KLw6cU7ZdPdY zu7RYAPlNW*!8$i8q80UdnV`?|?&t%8ssz{r$z|tI%>E3cyXQ(wW1q~(#+wxQ0BIzR}39q?XYM(Hl!1lI2@@LB;Uq6NIcHiX`<@??T z2O&2OIdRz-G5x+;OTzQmuWZ24X%5(q$vqDcG|MtSoeWm0_d3e^@W#!c49_NyEF9Tn zDT5#i>X~xl^*9OL1u}?*D31oc7VWt+Dt4@49@o*7B3gSt+0v)w3q$?4F8ZGOygkAg zDD&Xw6ZDPZ8Ybl<7$OVv#}`;`Poldc@~^7(FWL7^?knKuS(#8UED(r>noWu$I`2`G zB5A4sY{}N{1`J6n@$0D*>#6RB?gr&q*V{XX5?Uo^JPZ!1Au#d!T)RzC)6~yZ zI59_)bSN<7{4wJIY6-Mm`^mxAnsr6D2nI%KKaLW1V)Vdp;{+6`ZETL0yRBKFL{bqN z*LPqBduRJiQ+UqUv&P;rz#0AE(TC)V&4e%LT$^j>r0G#Od8PjMz1i9Aez}46GOlF~ zaAnjIcyP0PnrgL#Kyj1&2cQd6)u@5t0Y8MRs`hIy(ZVmkC#nbGpWwo*nY;a-Q9G?{ zp~L0bFZp`f&#+Ieje|F>WK=b5b%g~0>xIL>cSqKGtv8*K#W)QyBo_#e1w6;~C5214 z*e!=)LI&JxY=viJJCae5SY^hN;tW2ssy?-bOlwBA)66R3giQ0B97+U&QH7a9BNo4fA|Dp1yh6zf!VLFiHBm=On&9G?`PnhFDHU{ChO zoQ!Nju99PdUbm7k&xuFRO(3mSqZ%yPhIVqdKJ4;9**%OQ&WjW3z7Uogb~I9rfYS#9 z1=Lp+pYOn z9=KN(g-c9UFH z4OL2ljVSqXx=5rjc;*xOm&^rQTTbak4ee^Y$_^VARzhg1BUZb~n~C-;FD~QDr4rj2fr1oc z+DPru5;Zt6%RZ+K3}|cvNkio2IDNh#6Loja+L|^4fe&ayvqF1vEtgnc15p>~;h>oho_PSS^1Y zA~etYn)hX|3u-%LCC}FtUM628#K3HiDLNrWA%#<<1@lQ93(tv=i9PQ4YP~PK?RCh4~5+Q#&0iIdg+PE_4F+Q`T!;eZDonfoddJ#bg)S(#PzDS z9-DnRet|RYmWRNEtK>m+TJ8^5lZz9ZLQikGRoV)Ds23!p4e?oI(?YjQAao{+jkLU2 zi37ePSRNN##PUUj1t_-#K5XrH>I23`K_f-!^BEsYP z4c-qJmg==GCO7%zPo+9k-41lUvb9#aTdhnI&99kfJe)Lqr?}UUL@Jn( zI<67>yiH-U?O4Py6Bk4&KAGwj(FVk(MRl?fq5;s+hR||(W#(lHj_G`VoqhLCaal&B zn?ZT((t7F}<a^P8qlshPAubvf=|MIc#L0xiz{9b4Z+r96G9+j{EmY;_zP z&YA}}KHCqi2$uCC+^Y9XyUv`R^QY4s!SP-zy#d>G1IzsMRhHIMCzKRVo3B%g4h2$b za|u1H?U*c}qe+FSG2PuFHHXOMl|&t1?O8T}xOb97CQl0(TAjoxnYT^?%(E^_@txC7 zQwkX~@r;U>QH1no#}%(BVN_2 zLy?5gKY(f(+Q}6u>yn6YpU@vrd$^8^hnM-@1|Z4H}oh3rZDtG>bL zPqp%)K`X2s!M+BclV=I5vXsgE^pmE;VzQ5e4NR}qf*#!0V~wvUQCoF-x0DV(8zxV8 z7=rCaSeA8()%Q=w|I-b6esf%-H^vKsTo zDTG9_W13jgt*55g8yFSt-n8n5giIGpWQ*UI2P<`5ttXUEja|o;|JSGlJ%D$3N){+IUbnt+mUo z!S0gxK9W>&jhgH0CSFRxI&wE2%Fea;FU+bCCFx}D+)5cV?rr9WHlHqMJxP;o zp|CtAW;E-7JvGP0-6n;Kqu|gaXQ4FKBbB+M#H_7Ha+unn3F`DTZ$oR{isdf69pPfA zf-`#B(sk4ezfX#?ufQj$<_bE(?73T-YtKxXI`H1%UZQy% zS|s_gm0X$0!PGzkQfs{cH_6T#mXK_uTO8KcK0ueAo1NEv!dx)84;5-ON7otdMWWDT z#Jj%e`yBtr~F_FgEQ`}zvh5+us~YQ^*xqZ*Y3D%~`;H<{zz z3y*EuW$Z#G{!YhSrQ{0b`G{kGXW*rNy}vPr0M_sv(g3UI?a$5(^u;3-wv2`O#U-W9 z>`pTZ&W1unQnRA14UaTS>vWI_0VA>HqA#US1<0pEWy2;|a9gsK6Uoi-!&qA<3H7_d zg0qJ2g&Ht!-b7t*bw9=}0GqPcZL)rY3mWk(E7~p4-xIwb265fBJv&D z<|Uk?<|7)C;upp&yp0Qf@~RDAC>cu~TwhJsMP!5@88ktMho&9uIYLR#uk6jB*LNBq zg6~4k)Jq09PS#EGFdyC6ZMb0(L)l(l36;9ATvbs=)1}{F?&=OXG3FqJ}pLJO~JsdU>TpvLRws#yY(ZO^VvL!rqiW zYzPwN=0wyDnv!XJoi0{*Y$`b%w)pW+0FNQ+k`Ei@xoztlo3e@a8_-_bHbpwYUugpe zro#8y3)Md1n%quAy6F9a0EoE$^~1b=zKyi8sE#t99XGpOmxcZ{YODplQZj%B{qkG zR%m9^4}6-M3kg-W(yiUJPo`YNx7FPIrMBEN)tYOI;^EHAPQ!Q%PcvCGAobV{k4N>} zZV3(+=ItR2!K$)=)a~<2$rb`jPG~mZ;=s%Ad%wdbdXvU;trFGyB8?v*vn$lv4aJNf zGub*jsRAa4vH&TZ-pK=5ZcYKilLD4#(ao zHtqi$-nIwpiV-O_?za`m!p4jgfKHS$Xm`oVZexa#KQ#%+zXKg&mS-zt?{65eaQDhK zefAO`ej~C#^SIyOVV3rtBHDN3CYwTJY$3vrD}InFTsB<^b5fy<<5z_DszteCb`EoL5`}$lvg1 znvDF!y|UJS6BO<6WK|R#(sJIYDS@FFW5deQ_>V%Y@f{L!*t|feUiP^AbdW*Id5d-46RN}ah72%YHlQq{#u$)S{LW}$r zf+Yu(IC0OgC$Et>4TWZ3Iv9~f^bvMh!2sW^yhcxf#sGFoqPdoPb5_yNRRf%Tr~ouJ**$$|=-RKZBke5u(fG?Aed<(PY+8=5 z=6+SrqhiXP2}H)fc|}B|QxrOhI=^OiPCRH$-zz?zIbrHys)=&M%$h0KpJ}gHfoWd| z3aUY8I1u7F5isNNAk@lKJ~*kXYT9-=u9{A2Ev4 z3@IYzg?+hzA!gcIB)bocyELXQ9~B` zvZSr)#J-T5b8%b z&ePJA2~6>4)`@C5wfXsx1>L+j;4%hx0A~Fsr|66tcb%m@>i&#lU7Q%sLM2Z+iak$` z>})fgL$lF`mGj;SuhgY=Yv-9`kiK==$9m`%+Klz~xnB*rhbugp+1W)SO2|#fe+kMl zIMit@qFv-ZV~iP4{p{WxJONtq5=pTIxrx5+E6B8INSb8^_wu~b8Imzn=tp$4ldM&Z zq5*7;W~0^f!w}I+bWvI(>M&ZM#r)l;wpmkKCeK0l8^@}8k|6GF= z)3r1x$+{OgXa?z9BSeU`Zfb$Bj6d4yZ(Oub! zJs5I=d5L8kgO4fE70c4VS<)(J{JOz%qiZ*D>UFg`;rjIt>)GZv=gr&!j8O>vnr-E( zNA1K8-b_L$#a{zu4oE7RDme-7tfnW+B?=@(mPYaiU)UF%4{eNF-BZ3YO}0`!xxPY)D;V zpg^Q_`Tn%CcVOI|F#CJL6`)~zQSVt&@$wt}>*Uvt902xoz@!JID{E*t&%c81$>lVV+&5mhNAY3*HVF+ z(0RRVefy8=(0d`?2HB^I8G(XJ7XlCm$wXv9$eqOhJ(z77yqFHfnnBRmdE`C!KpO2F zOm52pLEhp>3{R*>o7I92IK4luY@ryPCx(4VRd^vSY?pB(wEj$Z;YGd`)PS}nCQw^m zzRR|C%XHsl`0_4mcJ)dGIAe&y)kcg{Em~yzY5zvhWQlusO`A`MO&lQx%y=RvJqOB2 zv_W!k$>Zfhkt*?%mo9PSsGnKFgt#oBij2ou?_n&!(#WS<)%$AZ0zl-jwAFS#3d`Lz zMVUNM_ae-|uJny{ukoFV)Pi8+yjcEIN+7mfBhKzv`Of?3Dp9^R{(W}?Q)1Js#w{j!~&AEYB8U+>x(t}1YkeQe7#JeMy7?JbUNKPWxv&^8kP z(Qatt{h=;jnM&2DZ48|jSiP%Qxw2WjXWd8PnYC!AVb7oUprl@cvZ^yEsr3!gK9xA8D}{2*M?_cUlq!qmI{sS=0hk`bgW39ncIyI8wX1B3W(h6=G~uZC zroqI=d-RO5SNq+D5&d!mCmE6|m_!1&1Hk>^H$s4kg-;ml{S*NYCK9=Xf+wwcjqND1 z50*5~EW2V~fo(_X9Q8LjI-4IeKJrkux$~Qp5fP(Zm+)=HuKbU9Tv z?}?eSXMAp_E%$1|30hjtr!AH0JU*{f4(Tra&X)$l1U<338#aW263BF_>odlD8cKqGPMqMhhSVSC;bk@(n zWJ5WW*&x3d(YNgW)|s++6&{9{a}TW#g0Tg$t|Y`+M)@YX%!u z+`@2UJxcr1?(4KqOy)UpS&D{p;E>gLjLJc(S+{==2TGFqxS_5iUldH6dP#Js_xURKzOt$B_I_ThNpp}q&Ifsg;qlr$5Nf##`I zqZ1)RapC5q>c}0{-dodgSUK`100$GbqK->=wVlNWN7TAnu@S)r*$ zr{dr@%2rk#;GA7L#2($<+iR$5V^<(YyodqSI#xP1#8z~GoHZNd59{R@0n%fT>-nhb z1_WtY+i>A1Mzrd88-lT|jpeY^AsccoV!FVjdNg1ykt2z4-~RhLfX%Dt4S*=lm8|XK zr%3LdTMue3T>6zw4^VP9fkNtVlXX9pJ&6r(8~HEfOuYw|zem*lNT10y>Rq;u#9A-+ zsvD!fIL#Sko&>n84K&q1w; z>*MUDZYc}h?1uAravfxibS9eacY>v3a-iX71cnhS+u!u)HyQAe%sO0zt*P9G*z>67 zF~r6MM0GrG4!u?67V4iY?RRaSy}YHF10^4t=u<5)<<)M!iw&96RTGoVk^Cq-{5kSB z%D3>%ivXAQ&%OMPKPr(1ZPybU8w0%y2-&U2yVNiK>l=N4x5XP8Z65O?K8>0EXrV9- ztf|tHtov?bS-5hA$Lxt~^+VG~z?$Q4tdN^Lt9Kx2$+OZdN^}vY`7?n9C%XA{YVPEo zN>W|ZU|4GX%PT^Tt8P;WBh)ml)XH}$Ev=+37fG#TFpN!}>-&QEhf->25bP$@R2Yy9M(!{Ac$SifRnsed1y|zn@Gl z-&sDNpoRNaSUIT(zv1>+(g?y&)M<=B02t>Lh)PsU1cV)$_v}vOk!Ky&3@*`1#|nia zOTI;{vM-yEgQDi{}Lmt?-j|PFRAEhry6<8be7dH_sE*K)dYO6Ezm0I>&9EI-a2|8FFm-3-?M6`$s? zt({nhMrfa9ZFtbmd2)3?9QyRog8w^kp)^IUbhRb<39rx_C!@(-$CoFF3v#`iTZ~ZXAB9q_q@AhgUL#I%q~kGg{M@NaDOE!4paLR=vD5W<; zkQ&lp&ezqygD>XoOAub8^^_!6;Ms38&T4K*)+q*G(O9zOO7fJ2p(4iib)kqk1&2lh@kgLEBv0DNr_K@wY$1$eP6ma=aV2H)ZGLBcG02XwI&#g z3>1tUlMJsl(sgs_0^!t5r!i=qOAd6%r|OF(O{YPr8|$ha>Uyk+-X?K8YL~adFiS~h z^vNzoJUy0#FM2PCQ0I}ifnm-^HxvD|ud<)8_B%FSQP*%WHAz=I=(n2BfW<=6l^Qd(DWOYFv6FHg=s^)Pr^`LaC360%l_9l3L48x$ssnh zyfE)12EGoMzq@{kIN1EM@RuT4L7As1Z%`Yj)+=2Zp{n}~xcki@pk3iD+Yvont5XLY zZ}2_^7e;MpMPe`1HVg`m8A9DdNlot6&HQ&DYx-HqFMtaC||az26EdR#HOGJ4w4H+CWbs<(xf=%hGsDIwD? z1*-^Fz1_rj9f}gG6lao{Q&&Rc>vSGX@yOlZP>4($gWsYihI@*JWA?=a$}qZjxB>>t zDUn)7ok#gqD}v#?FWR>%Np1+&NnANkD+YPTy2+D*XH|IZ70?zFgPmPGhZlmIFT@dO z5YL^^sT|SH(cztMXN_)+^fJ-LQi=n<)*DqyMk8g;E*v?FR`PYe%{9E#%R@> zopfypiPk@nt#(NrQ@CB-f)%gKx*5Sd==>n#SD(8>8DVKKal?&`=)XtU87FDxx*Zp9 z8C%3g93F-L`b4bU=&hH`fmk|O(%o5X!|CMlrQPXA5MPb;@V)|c<`P9zvfH6i>`0Kb z%g>w^b%zuFK(6CF;KNoljK_A;=Aja_xWbpNr5%O&TEeZGv9s9`b*5)s?Z%X?Vu2+r z79aDv#>OXgWc?}by?>1RIcKIY=C{tG&Z*rn&}c@_=Hyhe7N9Wcye>g~a`jO{_%d#$ zK}d+}yC2@pL+nPe`Sx3xA!+vG9V7bYtI!s&^Ck^d@-dgRY8y?5)>qJsL2unu@*v$) zK!Ml+N(KjBzl*A`28SmH>te$VN%Bq`f!|Vt_D*jUU)F_PCMSAeI8pq^+jmtjPMV4> zrfgIh&3n(t<`%lH7q$flu;%K54#ryybx-0e#lhJ(k;uLC;gBQ8N}Xma@66Z7QGD_T z;895TjUSGR^(U+PFtdHmsx~R6BHhVC*zBMNAY(BPm z4DP0!DI<7K%|v~&c3XhXG0anPwniH@n_mz6EhCPF3IM9#p1DAJhI;TTh(-A^V>7ZsK@*6;azu(MdS zRMoD4I)XtH**m%WZIU^^#FJ9{_xIZprS6-Uot^5~Q?f1o3d$_2pR~_am2q!f49YA-n ziniI%Gt;2>^$THL-(H?p35+>qd|gvj)*9J?61p|NL)$VWbE3HarW#BGftny%f*$yJ zJce)6As0V#9EjMFQgUUm8A!Db6d`d3him+L2NypY``W<5w=dejil{B}SmMOS%4wF+ z9)IP&o(XZbdGcPr5Dizf{$!fmpM;qFGxsj$H-?WGyodxo&5zIc4icZYq)ig~Nxj6c z*(ax*V*143p&O8v*YS7koe>rgy3!2Vdg+i5uRI5u>1b|UM zeG_7=v@^LhSMDURqGvqG2`7BehA&Xsh$}~_wQ@;urr&kcDjv!lu9gD=i*%gHCAo4f zh%}Y`yXeC|n$}-(!Z4T`@t0IsY_^xp1eVQ&SoLaX_iIGfqBtr- zAVb;{UA8&ckN~LLFBc6#L^+O@?WfY9LSKsxX8=S9+eM!Hms?iZ7i0HxOY0Nyf(G2f z(@RdUi3IZd^U!+_6~**GPiNgDTrkkF%W#w#oJGSZA8@f3Mm|#$}`o6Ww(g$Q$2F5ES;7nC!&6% zX0a@k4>OC8VT#yN`Fq8yQ8szT1rwv;8q`80DiD|76>aaJq3oIEr6$vy)&P}e1_`n) z&f^v;+~1oLY{Ga46~n4R7(H57*dzz>Um;r#C-3y`iTRs9V(^%?F$!cBy-(Q(6d_3J z(s%lB#5hR7G2hu^qlTW53cv7p(z+JM^4Gcfma`x5rAmt~iUOv!9G}r%%!kxW>V%mv zNhn|--!v9~amLVAsBH#+!vk;T8+Fpmi#77Z>_PWKg#|{3_oiSR)H23+&}5V!uKSZp zj2YOpoFsS?X5ni|GPBZziVM)INDay7m$gU1ShPfAXTjQ0%(t;OiGX}* zlQn^W7j^3{8A4WB-v6T_qnqJbbosa3a@bz+Pj@~mL2^akHSZYS zj9&jb&NvEQ5&+4QImZrq8?gMdig6H_|IevoNB%#W5?0QU>qA!p_K>PzR@=bL)!y!& zQr2o9QOWz!#o)?!O0rNT3SnG%FQj5F$HvWbBXU0T{ttx5JAr!lp!D(^QunS@p>Vvt z{1jlUecLjZbHY&hgtD5;hw&Oa?_Y$k;|0f@i4{adds>`G5u&FRdU}bdXE64AQR+w$4v)Kino1#u87WZ1~UQqWlB^KPchq z$$GR9lr7eiOySHln-j1h;bS6D$e@xg`-Rr1l?;TX^ANZl`BC-%!V;|ECl2*U{Nn50 zsne?Mrm;gY?BP!IWk$lYE$OG`7_rTXFB3%VP_HHXI)MRnCAz+rY&rVS3atNFvC+{o z(3H;p>%rb=iN;-hBXp_%derOGkroLTuht@6qHLJ%FzhiGUpR z5zB#2H`tV;={+9AO4UjHWg>uZ4521{6(?2&KqRrVs8221(b>3$(a=>zY0vhe9(bF) ze-aAKQk;rB3qs>(DOv2XOd`i?uG(2b%XYC$M9c-Pw2)4e6e$B8~26%}Xzu1z{N3 z*F0H`=#Iq)1&!iw3CdF+y_m$+%S~Tq_zeFPxpy3(ySxdVqK2sf7w6&q>aB>DIN{-e zf*4zsd=+@FO4zg+8G<-A{mK)$+ITnK_-E?ay7%?;-Yx8VpMPbSyX(GG86~~**pw4f z;cLU~0`v{~v9dvRQ_5q@(Z(*HnR^fH>9$KU`U#Xm@YuATAvSG;<}9}ybO}l*dXfc@ z-Xq`TqQPlpj_uk}(EdT~p*~BRA*op2V0=6&h3xv?3thqK*gwt(B%w_l)_tVuh06v8 z+#|77Y-s<3jK6&nTDFn6e1Ev+Ri;Rp^83e&ki$X=PDNU=m%+)Rn@?)6Lo5l?C%j(>Q5*&@S?awz`bqGa^jULFYy3%N`aN%r~?a?uT7S4(|9z8QB5!0UME=wAejyG+_;_tV*xYsCd>PF%YBm8y&~d+Q61w=bjQco>iu}I{842qSP(=tf{5n7)Z>2(kG*3ic}rl(q?60W>BvNw#<*s3?p=<+a} zzI`93MObU3QxWw%qxy5DYo2*5JPe6)EGy!*aNBH$ZIymWdFe^CgMVvU{R%}Gp1sr9 z>TJSFBMBjCC52(VLc~qn2X5Ka1p`ur-qUU@o@gxbaE^~SH7#P(8{KIE?A_Z6s^h|9X7x!)&-^WDG2;QC;fb>tWb)-4lJdJ` zg$J1rjfydM!Q1OX<^>@30kfHarSL8EJ99@Ob5`P%a%GGPWfG>TNqwVF4C7$O01C+F z4f$^S*sI0JS6LEXK7$P5c05Y%#a}%LbH4@k$@MNAVmMzQp3kVE52yO+Jc6hWUU~1j zIf%1`f(Y0&;1V8wsBtK6zBD!Cl9x?PdNrqid-hQa$KDgS??n#TtF7L5mE7#NLN?BW zbAF8mD@GZ;b_F?R*^jS7PlZ_b8o6HI4q|$(xu#1=g*z(;nUP$;Rpouh6$Yk$wwxuD z>%-a=I4sqU$-QSB5oYBbbfIFJpKEChZW1u53QPd~8i?t*(oCXN@I7Q&lFR@K>c@Z+ zga#sx=i|>WABHs~&w$v8%j-=u%9^ zriA^3@s$z#_Y~LH?e>vIAntVbTZP(&?{FQh=Av3$pQY)@kC3JWAFEPb+-P_<9QFpL zDedZJ3g%E+EZWS`ahEB}q@zQ6*-z4MX4IBbw#fEso+|?^cd(f2-*(6q@?x;8g~@g? z^{8p2hJK%s@@NwUK9q`}0{5qjJUyI|M`YUi10aThYqmVnEWzn692Z*CAVK02A}NIjeAF1)C+lxgXXV>^N%x7~wb;8%nl&%;W*`Yc>2FZw92n`2s(~ z8FC=(G1hF)Je%oeLT_3L5M9z?gIM#kFHhp~-$F1+t3dp%Y zzL+6@#gxkmK$mZ;36IdEB$o6kDS2Dr_qN?=xD; zGMu+hX<>kZl{AAypvpmLcWz@>2=)iiao*b_lh%>mYsJ@JT1kmDW?9{NK=h$d{|`TCEyj1C!BVkC!Us?Cn%kI%Fgab)&|Dh@g>A`KVhN;KUZvA6p>TRdNBDy>jo{q@h%56+S2^i^1GCJtr{bVl1dvgL+%G8$Ej+=s}Nf znqh+1?w1%;$jAajZC_d|xbq9*8tXFqTYF+yoCW$COI4tNg_hf^t&(BV#ph63(}HrA zz2@;i2K``vWq_Sy>wpeFN^gy4bh}eX>FveDsi6aE&Ay`tptaTxtcx8)M7{OX;RIVg zj}~2cjCS3T7_f_~O6M$;b%@5}UdFx|Ykd0KV`&-0_CQ zcepMNJ%k)?z7wyc1dU__HsMXL7aki7$8TJdU9^d5rRVE79jBZcb`p|iyzdciXu7b` zf4;0mG~KF#3W%XU+3h1ZOy1f0@Z)L+zYhtASuRd!+vcC4%l`=?h7unx>Lk97fn3g; zXUvjhks*i}y0iU~a&3|jXG(vOUHBs?G&?7GY@vD$qcNzgQXT*Hm$#;eD5pHd&e#4` z7ZPDH;fjp}Y7c}JCPY$M(@zqBa)<(i{D}gQBa8JX-IgvuFb}V?tRCFa9jOG3!%LOm zF_DDx>RyJkG?bq|w=ZyIO6YoCza-&Ni@m_nil3L17kkSjo8CQP;?01`>VmChyHH=5 zsOgFwL%n|{-!k@<5Pyq?r_Vc1U@?aF%_96DMLn=s^rdO~O|3E>&b1B@F*ColXEB8rDEbiv1W)P)-Ri*8ys| z5VbaTtO8pxtU!B%nyjZt)-Sw3*PhX2{Y;{5Z;MsemTymls-3U)ZuS7sNgzEr_ zb1gK$aS|l?xn3)(E~o6trC=w=2Qq;9X%_~?q?|n=iyIH8^^}--(>l2J70Ho{8)aC&FDt_13Ym1KGl%vB8s(I6LRIA+xDA`#XQu&JQVj>6!$Ul( zWwE(s4TqxSs2HXVQ*xbV!hwy;vdR$uW6)Jk@8>akTgE5~g7(a>6>&xdNsAZ{i!#pMmZawitzxdUSpAUt`B$E?=I#^2{-5O ztIVtnm>+ep>9mav>O8iD(E1;UV9jjKa^4;204gc);qz}OY|XmmZ;n)0O#6bCHvd zmtpgx;VrGlqwhjQFO!V+8V4Acj2J>&SrFWsMsXgV)eFAiK{nzR6$yF2=(h8^-|0s9 z`5UIjJIjnZ_G9w7^!!RKLX+FPhdl6Q5P=iKViGB)n1FqUE;2AsEOP1ey2Q-{atyj0 z*51Ha;%4`u1;8$vZGX8wZLU>gYzzK>(c%u4>)&uNYZuYiZ2lFaCp5Gk@FgB_nsn__ z3@eM0iuZHsn_gt`{hjMn&HK+z^Z#gohxYE%9NynoZw9E)&7}0D`U_yT*3;~Qdsopl zPtS6Ji0e|%+W}RF`;ijY!Pd00<22_3m7?Exa#`MiS_CAlC@H)GGbB^y{J< zr=0iNfX8{tlyUiwrQaDfOu7>VGth7XD*d>kqWg&RL)f19EtQCQ<-o5FSk~^Q zt5=#lln4Udsy={O4fyVRX2R<)>85vWq$vX^S-N3F3p1MnAnhwT$w7<$tK>yZU)z_Mpf&>roo6Jl7K&P`6I z?H2{!{M6wXe+siz-%3%Vg+vN$0hr$|qz!9$YrD?f*rumA!fA}&?Oy=N9PoR0wwtHm zH9IT#_JyHW}7$ z4yT-x#GB42>I%ePDx>1U%q!{+=OS#KPrPvXOk1((Iy0qj4@7LAzBM%ER`?~wRVKX5 zEUg~V)G3$9DmWtFDSf*mv{4*)N?`y$emtniD~T>On4)V0=mH~S1Ne09@vZ{sxBpK9 z-z)(M5uAoy+RPujU5VMSZ9uK8s#PSMQ*TXQl4x8R+hgS8cBmb`XpGadOerQgOC8jj zLerRIK>=c`T8j)?7LMAknzLZ}FRBI_p@hD-hm|PoJuR~}dPeb%_!g-YM>QkMJZTii zfe0uwjLmo`OD`!b^4l0^9=3xBj4Fph(}{wefj`Gjj=F`~mMUs&GvNYO0LNocT>?p|)G$KL+&8|GU=545z99``o&Z zFgke;mdUnvQ@{;P26xgY(}K`Pyk-%deWj8nh9e@27<7&HefTddJUD&A!fK^&%lGx* zzl6MgBYK>+*R=~K6jm2~og42rh_n*uC%#x@4enUo9t?GWh)Z|Z8hGU`Gqz7En(H{X z+-=hTP~w@zA4)8amKCrgo={p95@A;u5}Q{)4p|bKRHH>=hROi~i5xx|*)&DL$Ll=*Kxs4BR2l2k3Rl4c(4^G6IBQsaVF?H7)Yp~J)#OQ=a<0AoWlrd>60ijs{ zBRw${m+IbYvIx5WoD*JyXCn!ZmrB@*oMSktG(;m__+I=DIjR^nS9gc|wO5g#!@4c+ z7(w43qk5v(EpseuX@aabYgHFmJ;=2M-WL>f#9IAui_5Gdpe+=b%G(oek+&OEX9DV6 z_J|T~nLRV=AjMS76Inco$-cARybn<&R(6fUYuabeK{533%op@Uc}1s&T3+t(bt6&2 zN7herpy+e+Cozzpg%(+_p^322n>4q!%wm;!_|TSzlrQ!0)iXmpYUlV23(0i&VKz_A znYp2hIrTU)8>&hhhx&>2i@CVlQz7GZ&IJ~xTG@!36em8}gDDZoEymbD&(Kix`*+;R z9>}jky!(~oP5J2}hR%lnk^@Ny^*y>t!CwcUgu_aK0w~PriDXc0Z(uDj>F9HM>!c)* z@9uH;{TX zGu^JY+c@kyZuo_Y^1%n0xDp&TAos^uBqSN%mqtebV`bg8Lh&vH1@}bZ$G&P+$NfYmb85= zdh`PB7gCOU9Gym7rLZlTo3^YEH$RIcbO zuk){!s~23P2x+IpR{R%lw~9wmuz?yz`iPHaiMYW2FK%BhA`K)7asMCe^%@oE1t32a zSrSfKPW{A7I^y62|>>S+8k`1El%I&dM?UV8YTs>@nB?s^9>V|Nm46*xgpg?>}~cuiKil|L=TA z)J@}Z4RzV03FMsN-kPq>gWu2A&RISmcV2WKv5LqN8K!LfY-8o7zU?Bk$CNNH!Vays zQm(xK801gRv8c`>wuKJK08r-#UOVQ})u}i*;`rMOM!NXTgvm`?n;22$u4vP}&-{5l z{WgFxunihil@UyO=|yO%TRFu4D-rU14UHjY1jqG+MB5S>qXXRotXBVfGU4Ku^De1B zHxb{f_gu~b;;oihC5Xan7ql%Qm`5}ZewZ`IbcJ^ltbs`Ig4y`i>?E#47d9;|CjI|_ zL2p#JUqN)EC4JO_`W19E7yT;G+RjAWzcs?vqb|*9P}ib=60ehU*`lLPDo1X{B+`rJ zXaQ2zDI~+S$N`@Vs#K0VSTs3*%r{NuwfE~sZcc8vtUTZK-RAN?L5>zLZ15sykQlAA z=}PCQbxD2lhRr`sm)r4fSl#l_nw#JcqsY!Y$B8j=-Ui8&S}XWotWaF^etzwP%$xFt zCkDTC+-*Z4GPTzMjicN+wpT2fOmipxk0Pio;`Wyy_(lQ{1ToTr$gHs_{77>0kf|)G zBU4=3#ZZPHQm5`%ED>qgyRqTUV9^4 z;>xt==s9T@zX6XcGe0v?#HlZNN~D>p$1k%0cV)nn`I2yitY~_aZ0sZq>bQ)DP?5Lj ziSJTh&Ix~5aajLQZrs2!kvzASJre#dqw#|*aPl|vZ%0J{Q#_AU3bf)Wp|~NzGNkO1 zJGRFL$+Easxi!25q2h)rF)npdzYsOnOIZF>J>$hdVblvORm*Ld~+sYw<8p{>al2` z_->7WBulupvoBZP?YA%}iXd1qV89H1u}2to23CvX(DBX^C3lwfP!)EH>fa7ey^O}L%gVo1QPQ>+VTC%*|7+csYt!x5H z5|7r6h!b^eP-oA18y=~8h?=<-Ion7F&?p8AtS+`6IH=lRb5wpLC+}eg$y}%3?t2Yf z^nnfXwGCk_oI1d>7O!DI)6qtU9rvI$=b7hod5}HQ17?F~>TVDeH)wT5hsxhNV0dEj z?3Yw3EgfqIREfd+lH35SvC*;Ni=|3*OA$l|kr0<8ilRHazZq`A@9g=63l8n@NKA1I z#zA7?HUJL5>UD(bo(ltGup`;gH2@6S97)X+oa5j4@Fu)P(fd9`!e-V2ft}Dn(A9aa z?f?roErkq@mf*YX9~Tc}&UECFv(!tmE#v6FE=cV`j2j}RaOk%Dxi(xNWhLnbqrK6L z>wp8l9;x{i2Qw~zzTl8INzVclO>5n{ILT(H}9=L?g#FCKDUhn4)Pix3oBnPw#~L$FMrzhsITV%z1S4yr>2%pTxn%xE=Z53F~>O?LGf%tlxh;MY1^~d7wtlIFO$6kcqpqR&O&?^f{jK( zoasc=xP7X1IlR1n3LsoBJ%Dg98V-;HGRx^^d+tgtjC>5jPc?s$)8D4*Hrwi;OL>d> za{N;V+0*4H1*fiUQjGxHCv&T|XMPI`LO zClkK!=o$dI<|mK?;*c&-#I&;QGG_m3@rhVOe417I=Q4bXO!)Ia$p4W5dEh99$+Znk z{X8HV)c8i>!U8=~BqMsza-LZ8UO^T(12sndA6d0$=RCrqkIqDnAe4y9*93)PQmPn( z#%ay+YaU86G6&N5?wls);lz8ytoOSRH#1nYB>7w;b|QhWepPOE_zEz9Wj;ZUc0r74TD>u-~azq@g46&+N| zCUey8Lt0(kYiO+^NDOqc3+PvvmLL~FqoIeD`=B*t$#72Tr+&v1^m3>poX_c4VJUTW z%frA=*iP@I3_AW;mf%y5%?!}i#9#MD%^6jHiJNk^aEnEAT3K;5TOvYi>iy$an5fH6 z{U52AXClzy#u?1UtWV`)J>d$hA6(umcR6$gGMkiZ_rxCLAnwaf>kCC#siNT_C@LF> z;zjCMO1be=q0iYh@0*p^vtibPUR6}#*)pdfS|qVxp->cyYOlQ?#QtVNxt0rdAU>Jy zzm6&Y-N%wnW_>c`9rSnM9)?~>N_(&@tEvgo0!2K|Yg+~STB9d-cBK8&`WrT4c;fgM zSsPBbnPpm#7!0^~wvF|V2bpbL8WG|KX^<2WM2YgnvWoL=KA=Yo)1nqk3|}|=A#$p- zYx;h&m(vL2&4oD0wv&(1VS9(IuZxg>&^dc;4}#3q5+86J14KbVyDytO;yPYIH+VJE z(FP@9Pfl;8_;k}9F_Us>dvcdTD82BL(`);UF*n4h%f`RuLy4N@k;V1;*Y7hL%g0dG z_ZH`Tpm&(ugp6RNbqX&Rh#2a(4-vpYY^wIsASo?6rjwzspQ5lPDPCTApH1q(QP?JYOAEi|JCNDI1=FsIY<4| z(89HB6zAChbF3#2IJtgkEJWXlKiq@O8XY9t8K&@C%@Yi&OSus;ku3U6a7`;Hmxj$J zjJAh-b?|e2w_RUA_UGI4evOV+b>Q-5A-$X@gZ4}syoJ9(gv_3J`JIi?L5BVyr3#-j zJj}KdOaeo6EyPJTemRFkfxfy#&fLBb(+IqB)nNmQrxKhLW#t=oBS57 z-{pPqzOIYe{iNJ96TE2(PGiybjmJjdfqUER5|BPY=%kTU7SHYjmoC8&zwA?KU!Md` zH2<~7SF#?>g>q35NzBl|6^qrRGncq%(hTnnq1?Yb;HdWB9`M`m|HcDOc|tz!9}3v9 z0xj%-vbMPo#Kva&mo(Ypq&F7GM@%UsdUNv!y@SVVi_@>E%-LQfS3ee=&+U&O6qGY%n%$CJ<^bd3i{L&wAN@?b zRr>r98=}iu!|UpmzHm8e?>u~{ti)iwgV8{~%;wC+}cB{D{>nyF5ddZ`%6Ywe5L+y^o4g%$L#WxcqIThgOTz!r7 z>CR?lJ2i#h>7}|n`Pz39Z<+mQfe8mjd->d4Tdjw<+GnzX*}N+Bk9yP>5{7b@%!M5d zi03{Lq*EPjVVZ904Ln~a4EHjvb<}|$7DYoj@*#ocvuyaWY0s1}0aAhZg}QwF@6|x$ z#kn_o!q?1#LdMZDL2yB&)X+C)=wAtq1!8LSOJBzu+~jhkmQT>X%KZH5@p`N2eko_~ zAfK`pq=?+8F&bNEref{`5g2E8zsmIZvJ)$?Fq++8tpi)F$;lW^i87#J-AEPLwX1v< zWjj&*F`MB=rIv}@dM~F%SDAL|K@gKjp(lz?_-Edv$%Bu1Kl<~g8u;O?7+9WlcU1le z?`R6YnV`sY5+)~weE-+a%e}T!wG65dmfEv#dQ8Xk`Sv=eq!R=kM~mZf`t*l2p4l^{ z5Qf$9#mSpgnvP}i8-Jj$e|y%z5`sW<(mt^$&HYQC!}pVULIa4?psJS%8F@_M+6l^o zULanY1n}+!93LxQsuh%P(bmF`>8~BqZ5)aiVp%&AS+f(XxT1eAC_pY&d@b8=XRa}b zqec1gIkV0#T1VA8HUo@QnGINdxLrE@3|KO%Z&d2(Rsu^=#uVVjtXZb@mUDc$O|8=x zjGs6BOe{6FjB>K+U!jR%eR9H}+d^>X#LVc9PmrP}(P}N@zam@WNVV_Xm5&V+$J@Tu zQK)$}U47_@FRt5;)gTykD&~wuWk*n!s&nH&UBFC>X}>@5yfzYeEnm>@<4H`_t9pA_ znz^t#KKGx2_lr8R7czydkvNeTWnO>bIMaYiM5oX9-|xOIrip z>9F2?+*$AQY;I-)-g12d)6{YUiiI*`RX9sKl8 zUvA8!%(9nbCPp@Mw>$Os&pxsagbYtBs7a1h&+n2?GL!jS(w)9k!Y9eqsOw4du07QTo<$hBJ;>RQN`IA1ST{{T=WuYD=U+4Wbj9QV)rb$)futi1ruKJ zuUsZq2>&QKB;Jmi8i9VL9G#EAP5q*>C$GiQ4qq%Z| zUrL033v~c!2ocTQE?hht-c&f=O&fUsc7mH9nmX5+E(Vmc4EmzRS-j)VNF@mtaP;-kw z;~xkZ2MpQ!^N)mtjQ*s*KEa_}QmoPR->8{MNIg^Z@p_<$Qx1RH$v22{E5^m~&khlze@cQ>DF4h<@BimKqD-cL798eDaqLHqFJJO$w^YNz z$|k?zYluM5y;ZM_#{PJja&HVYwOEj3b*orSe?z?@Ek=Of=Azt@1=d)UjLLkVpoU zzZR-P)ODAQ@#gR8V6ui>8Cjk1t#R?k2e9yNZS+N{1uJ-vKVCj4xK@&{IKKF<#A%M% z%;7*DTy`xnu%eT{Xn}z@>)Zsd;UMTGRMbN$d6P@;tV1b@KV>?oR9@wBQuK@6DZJUK zGkc`5G+Mk?bkl^8(snR?g-@eJR`2Wp|7<(0AXDG;I9*hhYfFA6R<4hSl4pxTYXNkf zVA3`oZO?xad75vjzWrK}*Uq}oO%Fb%`#h(FQgrjA(~aNt1hi2Md#eS>9G_{zH8AIS zoPDTt!!W_4!f+Hk?62pzJIho`(~QPi;+_(vqXL%i7c#3GNGpj-n-}~VHb>ueRy%6x z46fpEI4;LTG$&S2kId2VIK-3Cj^9pXWXs*Eqj)UOc(Gm~vWwz#>YyFq2t^>@vb`xP zYWvV(=dkGMbxNLVn82CZ${Z3tMa}R@=glHGa2A*0VRY`oX^2K-qi);S*0u(FA^4@* zRz$%E;V+W%+Vdd%<6nidGkPuKify&bp;v0(r5s<&;m%vOL<^Q_^v(bq!~?hSN)RdC zwW2arPBTPF=-u|vahKOl;|^VNi}9rYTYkK5qZcS>ZEaEy<;_a%ORZ1WOwX zNH&`p0PE;IVr$~b;`Y2ngN!fN(Rw-zGJaf(vl76p#o{m#tq~|DFbpn2Mir@(6$d5e z!$><8Dz^ojC|fX`E+Y75g2Y+IZp#lzC=0i>=bjW4vG&jXvY@)GCGf&N%Rlz=ovf%k zo&qkkx#q2u`giv)GeZrZXYZU59=BkyCr=J{P13@GS6ZeM#r4*pbcg7htIv!+AD9cS z+gIGZLW*%UhywfUFh*AvaNP~Qt8RKZr1arr49V<_n}2I7Qn9Oc%VhFI{+xcYA;=jN zwj!CuspzL(*`k|0$if&d(9GmZ{ram@vo>S$6eF2UR~0U1C&Yv`yV0Sm4SGzLfy3|amHRX2F{ z!YA`jY4$WBCYe71r3LhjE>C|zzn)HVOn|-)t^QLmtIzoKO#Wle^<&SZ zI0kse9moQWtv1~^0+z87wE=qr5)W{W%;DJ^w*0B+TV-|2SLV0MXrM*D_B7^+L;+T1 z5khVf?JHxz9_N{Q1V(WM`JvE|8qxQG>u1CX3%~V#dlUB>z zfTTKG@>4#dhd$nmsf$g99|%0E82gC2>1gP^C4Nk<2wtpJOc&Y*7%WD4<@CKT?fLq} za-+-z#zRf~V&lQ9s%)tO}dwE4h>8oo7x)>U|pe z#2TFR58Sfr``;c{lhr?vd2TnEH!40Tr8CF+mVB2;Am)^jg@j;qOkfTm!E9?OI7OMO zc_U(ck?D)k-i`S!xgI>+ze__`^K7Hdewe0-wy{~?u12}@8B{E!-6&@t81 zOaK+Sa77UWQf8-=cxt<51V`59ny52u#WS-$o{6h5DU3x|6nzi!*c2~&uW{|TV(8YB z9=UZHl$g!zymBOFUqc-NeHWpoPMjA^LWhnZmi$^Qkt>jOqpQM16X`l_Q#D5>b{9Q+ zgam|qe_xvKr+nZ%+*%W|nSqxLpKNc@AQ?5ux^yb;d~Vk$1@{QBJ?ACKE>rgY^uzX; zuKRrGPvS-~UQKVe;euj|dgnQ`&tp+6yUFW9<4kQ~F^r+PQmxa&Tv83R>Sq^`D4=~s zSv!NPU&5j7LHd0wwz8!4eO!MbtQFgi=C7RY&tsk=_mBG}(y)W<08Qm+{r`-ws-#+h zq=vd;)oRJ3`?am(?X#!Tib@`mNMi4Ynh$Aaom)xQ?~Ho1Z2OBJc4I0Gc`UkNW|2ki zyrtK1T}}tFkc6CzkK-CkL%%SrKuJ94;@$oVsUDwQx_j6oar8;$i7Ka1yk1UcWSs;# z5Pb>cjHsCj=LFfEc;RO&64-C?+_cP0wo^TDFSuEHTJP_B0qe%fcCxz514w>@r=N3M zozZm4@dQkB2mF#va7%hJfoyK2Fo4OJ*}Z4(aVg97?o@ou_E^yRuG`;ryUvDB}T!snumd$Y=qQWRN}R;3<#D_L<-w@v#WOfb`_HeEADh4J)6)sQaJ&;5{8nHnM5m zbxt@f&$s^D6`u>G{f8_5Z&~wS&@`q(>L21Ls^Mnxay`wL_%5bLc4TB)#QmAcHP8E* zM>g}e^OeUD&yJJF^2H+P1)s<3XOKZ&7U1KHaib7oJi+k_%zhiYX8QPw9ewe?a2WU| zNOs?=eD%}%#{i%Ir;zA$(HOSTn-eg3wL@amtbr)1imn@k>!ZAGXDDTQm5h+2<`Iv&r8_BH&l ztGT$D{5-+YPA%rzei?@d-}=?4XW4ZKjq#FGx(L3H*HI0y4ltHg`~t_KRU+n0?9?+C zVr1y3`K(OQ99tB&FT9!hEGN0{4AC>3gL6>Y*Mc8hDEipA(xqFaMxWa~ydKu^(UmjH zfI#Npvmc$3bmwUEW9)KKpL5!eUG`hXP;Fc;6yaI-oJ~lnqE$@@;sN)vA1xOVWoY`6 zkB4}H^-a?)RX!u`Ur-z|XK%423R4CyUcT}@+bq~XAoc6fyyH2M)=7t!lpL-vbt%be zUzy{~FcXzZ>#X33TB&ADFQzy0G?C>k=w;MMqgdHaq#Zz^w{D)+3wLYYP90c;4PM+n zQ9MYdcTD3kdH|~0Ircx*=MlK83p4V16T z@d}uT7e>h6?k)yg$X}a4tr*bR;a?wV5J7LZ+@vj3%#3}u)EIW01b3oTRZ_`LmgA1V zD6z!V=tw2)8=4?|I?v18jyeRLO!inPq@!ZalI_@! z;j&Z|;y>is^UK=ms{rjvy2tcf-qoRbSQ08Z-?QnvaScfw|LzuY7CwrBh+ho(?C5js zf%qhxg#{fWG;#xyqngm91ovM>T2BqE5XF_;%{@eD>6IP@i&I<@X0Do9l0PctvF^j? zW+6+XtYc16f2@msW;U~rmZgRlqmcW~=a{q|8RhF|+!;TQ*2uJ242^Zz!IkRHJ}AFp zN5$mUVNiZb`=H7m!L^p+d~J$do^%|Y15ZTnAj@=8#p$xm3xW*AR*(VSJ6n`l?1o^D zy&U)F?tEKj)c{No<7Ie} ziqpb+NOQHkZ6SBSbv(fTXm77z%Za{ z9(K018I`?BnHAj_b=rFCoGJgZ8f&GfoO{_7TZn?dVui+lbAju1UAsa(U!9nQTK9MSHMr|rOh9t@M$2NuZOvW zDC8&5L2=T4g&WDT*i=z!r*cA}wmsTU=+v5JVvarxA7=~80?{@W^~J>8^F2b|)=U;k zKv0J7KQ-?@M0Id(qo;eO^DIFu!sjmeOcE|y*if$eNw(9tMr2H0(D+?)7H;TJkY!M) zJ#1@U&mw>&w8R1CiA`Q0cIB_)4^z^&3dD@|2sHwff7US>)pHEkA$rM3&)zZ=XiI*>oV zos3=JDF|Gm{VbtbomUu^K&8_{i6)lsB@QjGuG*UXT0K-)%6$JxFMUqR7*n7KT@m=Y z)_bj~@1oR8YTcZ7IY{<~=9@;ps8r6wi!$no6Rke(2!AA4M`)q`)+BU- zo5UeW*^IL}QUwsxIh;xxsERw7mf4Cr3%R;9g%3w8hfm|1qlS=6&vfJwXHeooLHjZf zR;XL|`RF+Z=QOD?k5=_YYRv72WBXxrzt+k}M$gCFMei7cG}}fHm*J-st-3^JF^l8d z)HipfD4q}7i|!Rb$>)llSO_x3O#+tZrXfNWb-}s(J;7kom^McRSivP!_p_9zYbH!}Ysb_OVv*4-UixfWQ^iq|#_6!*g}6ytY%CM$S)o%FLTm?ix&Pugy} zMJb+r147(>GT3XCXGp{wsDfdDeMg6uMHMwK@Mw)#f z=jHPi;N1#)n5-B)v|QH1sp`PGXgD|=bkI*re1Cg+W4kxnRZ5BDo?+kG%gG+`B<-Fd z$H3N(I6R?iu+)f3J)r7-Uz^}g021_^J>Zn3Ae!W-Y|W=H3TLY_Pj&x|wClc7{&%DJ zP7jsWmv|yx%n|o0W2{BUS=PY4DqAwwUyi<7$bSI8{Y?KT36+bCGoSwUOy-Gz6_ce# zdUn$e+kv|SxGNKL#f;Kt{}P)?@qX*Se`*z&{#irtZw2Ik<^w5`r#gz6Lfi=GSLS_u zD2DubPVSedBh^sE9Uwfq@xZ3Q1{AYz8sn*dL3(UL%Mjt~05*vH^Ndy5o_U+$>vyHC zc37=Ty2@}DLrTYL0VSRR^!(4J&x-}a)YI^i+FSX=xmQ?A+ee)IKW!GF9i-5|twbCe zT8mIH)r{Lr-o#W@yW;B)Rtp$6JzGqg3K=OaYJ-@?yVNNCJoGoK%F8)!ykw}bfNm%_ zFM-~&oc^{1(Px-1!cZ{SKJNZW)SNn2jzr;9C74h|uD`SFDPcXm(I~TemU53NLXVgh zL~PMAesZZ&lycY};{iE#BEb4_QC$(+zB9+WGjgluo5t+ypu2KRHyM7$VPs@|BX7V_ za7vX>%^cZVUMrnq;51&{MY{$|O53s>1y~2Hc$_me@+Um~+yI?&(MH1-A0L!oZw0Y~ zC5V+1(f3PYh|BS zOdYRN?|$M`7A!uPzz^S_!Mk5g8zHpXL2dKR2b$lcw1bN?p(sv9?Rh)TC`>0?rhPLm zS#{sEbPPp_4y!=l!i*Vown#%!n=_1-;o@BqtTqKv&KV(YLk2Sq&fyRyRiK;+h}mF6 z`5kJSwU|SYIgjeqG*gR#@xub~*ApQhqTSB^01nhZ)vPHgEAY1yKW> zQcAPm9w?(%D{$mJhR-<@2T6i}_Mp78YNH8$^@Xi$og7PUeHr!P-%RSX&0nSsNVW{b z6rOH2EXds@EvX1K35sXDabjPeuvR9i%HdYAp=jL=zmHWZK$aJDQUMsAnXB`3VEoN= zd$uUJCL9NbV9kZYFvkKq&*ixiK9A=l3s?B|&mdZd;8Nmfn+as7Oh{(qi_4N=SoQ4c z-qqtv+qJ=GFcD{57@0JU`^on5+<&O_j=@#u`loNxIm5!~#R$)8^AnWX8Q9U?*f_EcWaLrn8a#Z%VOy=l>lkmJ56AziP3Ho9M4K8Lfq2*TsEFbiNoJF*iDB}@ zJWkxci?&xvi&&6eS`|NkMtzkgiZ?>S#2n_BdsNAu`lCl#Y45(|@ZGjt8>dOs(g+j= z>5lodaFqFN{mom!VlA2GQx}F8g&sXLZ3#k)li+|7;&84VeXp+UD4`lMBl%#;{`Qr| zgU@5{yibh{_-)?L7o}WsSU(4p*67zZiDJnVxO8Tt;2Y*SXKg2GB2%D;6 z&s<+o4#-0#aR%)DIdh4XtN{7q6lhjkcc~y1ao0{*X9gN%r1E| zL|?HyLqY+R)WQF@k_zp*pM#^Q?o3}0+o!QyF#()I>D#ht*u1m~JQ9=bfP>z*eqHIH z!nV)P*SJ7G@_!VAgJSbX0b~D`I#PHf>ov-#!iF?B_rb9K?lfc$zKBhjFvd;A zuN>gl8wNEdeq-XdBQd|8DtHpW*Le$N8~i@W&(1W2!h1Bb2-@mDAUsq~!*eCS z=7*b+#L^8LR#XQb6Lav793YBkj_e=v<9^H55p1M3o2i$y5cZg}Q;#QCrP(J`XljwNcZrWd8C6MNy;qP)u|4MNG4*1jp zVlP@Qk57tuIb6mq-j99(_cWG~Z4{B|^O9YV5ob!o$gNYe?~lT{|6kRe1yodhqxF># z2}MCd5s(%T3F+=GDd`lD&H;uL6eW~S>28pgMx;}^hwh%C^E(6Tk%tCm;Ge;NlSfu!@+Zv zPR=mdl%?)mZC7{0TkbE48;kSMtk{%NMCd+F)w~Zjr2Vd(=Sat3ReXEH9q&!AQBBkX zu0Xcim@5k(0^HaOQ*bI(S$@y#r`B5-oNbn+@9Dw9BkJn(ht2Vt0yv@-Bb4|s0#=z9 zi!2rcHpvi2YE>c>@Oi3G&O*ZDPj5+bp7wB99YI2Cxx;1s=LO6r@?7q57+J+1YLX?} zt~^!c9m)wg5ecF@BSLgoA6jerNp&KV*2#UkOz3xK~n{uyOQT}(=(e;mqes$z=i$M`lc(J(1{%SSI!;%bk{;VfXSpna8~={B!-f9Tc7owet~5ao)DE3pnJk79 zXK`}Y4V*N5WkSkj^G-iZ$JkTlg;`qH_QPgZ4nqSdwy5+*+(#d7OzpG^*S&8|0QjFUZ-RvIM!CAq^elsWGD~G-f zVum7rk9Z7XNT`I+!6+kn^V8!SrzRbwyc5`wTbw$@Iqy9tnrd8{rvyPAK*?l68#F%;XU)`0V}wKitl$GL!BZ8;?J zZL!Yakd5toVuY0(-3(UmG#WPXH8b~>yfk_t10C!K384#OPEi8{{_uK4aICV( zqH#p#0>!I*gpfdY`IM<6Mz;5zDG`y`9!Wzo)g5N1+7G&tXa+v*A@}$Cr2E=n ztcH_lN?a>l+w)7Jp%9<;qt3)^4!tQRZCGfdi8p^H=%Ao&{*jo$gALy{K+PR5e19YT z;R7EgxW)rB+DR!tq6iA>dOxGlZ`5WabO=5t``>7orf>^m{Q5Hs}f z-QQ#o2ro0rxE~gv-{zfcDUBD4QmNCQgaK0I;#A3?Pprx7|FUaT2mkqhY}P;2;baBV zDvnrc7Ck+dj2l}aFjvT-ILIp*yEC+(M+5!h_Lj>yo$-xn?uX1V_ck|^q>?8&4d3Hj zoR-{i#)6u;R0Avmi4vFgd3Gn_p1CNCrXwt%dG92Tl3U?l3OiM^aP8`cfH%4}b<<^m z5O&P@mdWt@I)O^gtt+FDI(Sp_D9?8u*=U?u7A0|(<;w->_Z6kL8gmd!%*6%slG`aB zrMaa8ZRezPD1Hx%-IFG~>7J2Al(7fRMQrk)3nade(E7|H^_CPv4XYeN=Fn3(0 znRPGVkcWx$O(( zgWtuT`qZV^i)}c~|4cJ0Q_+>;2Z+h^#z9@2ZCK#Z{PiCEd(d~v?de8?3YCN4mlIk1 z+VJ>0*rgU-5byEi>Y4H+Cy>43+Gy0Ho7^HDPxHF}dOA{NK5F4%XtiItQ=hTFInh0r zLb?ObeY}R7(VVgN(P&}`wY6pPXx(m8W*X4P1erlY^wFGorIK1ygiegy9}8b2SK0Mc zc=!B;E9jdOW8}S>s6p$<9Vp&y_6(NDB=Eq-jV3K$1&|XSoq?;6*Qr<8c-iDzAD>sf z|85|@AcwZpYUciw?!y|B6^nOy#854XFvQN1(X&CBMX>YYmZa~T*WzhIg#1R77<)_58E6*;x^G*Xt z`P|Bu-6fj8bq46o4r~p$O~ch7Apg`BU3B}1b6YF6JS>(LB_8#?SOv<`DBM{KNg}84 zn-~gMX6w79A;E9+i0b`(d}u`fZf}!KWEJzXYF`6)A?6=NNf>u)nbVH@`WgWcj9*?3 zXu63__ph1qsuyEyI=0vYf4KVV5BK%`fn$X(uRr%De-neDMV*&N6v4k5Jj(_>2I6;M z1TvhmA7B`6loSeM5INZ5>sPbljr;x&sFTaa}>^UsMUqlQ$|xgDgP0-l-d1&NHijk z|3xXJw7wdM%1^W~L}T{!P1m_0?A)o5&p7vI8Us|`z66uL+dRwIHIk`aLz1l<4V;OE zMh5>9f4*>CD?+6%@o^?o*5K*5(dIHQ)9Vd0Lu&8dVwdmqYAbD1iK!{`9Pe+(v6YhX z)Pg)EGen??ESp3zcDbA2FrT*l*P2v-wWsC?Ym60>2Nl)iZHka`FU5&9^(o9x=yVSI z4us})W9zsN`xfU)KuTorx_(oD_f~n6Ewybu*Vn)H7IK>N)%Lgw0e#^GB-!)rk7~-6 z7sbd+?#IZyu4_#1bSgaUh%Fjf&SYk4ReC)`!_@9#GM-61C@o-_S#rCj`ew`8Zax^M z{IynK7r)S|zrOte2J;iKmNOJ~D}70a=x;|{#mlNS2#9-w^^@;?x~|V*##vYmcj^lV zxLD%i8Rrz{i3b^;XG-ea`;yu&J;~KWM&yoj!rA%a6U{ZpcX#<{rw*pElG#hfT`9bE z%7Y5xfLO_~vld%Ivpt7GmT%D(%IRtvpw^udseGmJ z#I7_RuF^7XMr%b~YXNo@tTEvNq%Y3UcI$OlF<|YHOR_qhy2Y|Td;OKHrrY~55IHYS zyo%j0)hTsth#h%jJV7j*Tyfd6M5#WoTDy>yeY}(m7krkLO&C+3ZU};mfIju(|4ZRF zIPNkk8_oewtz)%sJ)zZ)B;b`eL>CD6ykyh@fGZgMLgg>Ztw6CrKz^_*q^FKWqIVoUC0V4Ihey{g`jv zYmG}|n@&W*(I&ai_DXAJka)XIWKvf_arG@nc{4QGtrZsrUu2mHV2wIEYr?DNK*937 zC)&0+MMUbR?5_C_AFov-sCO*$cC5IPss9P?bgr{LAIWO&!TWxMG%nVUbX?N%X?de2 zH_}oxY@vYW^nwZDF;heFCy0ee2mETF*5)}HK_5s+lc)bPjvgf&+|g5XNjZT^hPU0u zb3vc-k3^@@FYDl1+ymV-Y)=GRsamiM1hUQ2b)!qJK!c|w1+{g{WajLz(P+Opp+|_5 zO{-b94Sy_K0)by^6Bocc4cS`M#&P#2aoF^*&8` zwbe`K`gO7xYp})_n;_D>VN)@sN?QbRSPNX|RgZq}bvp??Kro-elyR5V>JiX3=v0%+qBkCN*_PlYuu zELd*@BdJ-=r8~zC)v5#zqC+&j{Ic_#`M;suhFczo@Z)Be}LI63ztf z(D*8ENCTw8)SX)jpuFEw;ae)#`7Wa5h_*jOlUS*ynVYK6rD?>8HOE1>kab_A<5VnF zJ+k)r&I3~;|ZJC z^wU0sxNA2@jQ>5M-V7&}`=jTZ>hI?6-8!O39GMn3wQKnrM~8c?&9^ba%SnanVcK=q1dstoev zgIjsJISw(+!;1$)dq_=O`)}=gBpT6B4od<`8aM!3uH16&ZswY>cIm^pzgc*sUQ`D7GSTjNaiA!Bm=+M^ zT8VHL8(3fx*ZMragm8FA=HEL05OtFi9TkrxKlU=YItlaKj=Q+nFBQP|0bbh7Z8l&Z z4`Z}n37r(`WCe2JTh@1`GVEchiO($-O1OfZu&_6EzxX#`2`7YqHQY*B+DF6~d_vEu zA!kS@GHjX=Bi|E-0jcW5Rsw&Bvg{%yh|nLGR4)1yQu5^Gv`D)xgF&!8NeBZXl_U&& zwlA-a?*h1se&U7s;{gDM(}jEfCTTk=&HMqTBgew`%k=i*9oJG+kFe*+b&TvEo}OdX zL0)-Y^-}6HBJn$wHis*Knv3WR*b61hVR|*}i!l|%-#CE+v=x0Z zo@-K-ElS*NDhTz)sb7hUt5snNvHtpxQ`%xnzX9UEmC_=m)dB0wmzT2oHAFh0WshQG zZMc+UJ1ev0y}n!kj0Rs`D!Ttz%Kh2byHs(PUmEcB03Jvx(Xg=dLPl8F|JyN3>7mZW zUR{^E_1VD%Z0hr=#}hWQulv&;y!Bjmn82rNYV1do#oq^&JbA|ytGVT$_N4O9TC^P) zf&2xQ|4niE`*-v^!!wgBBUV@Etz8bPMP+^5<&Kep_r6>BE~}0S?*d(wQPnozVv3^0$auD*c`Adm1LiTz z{lOn9u+6So?)iDC<&BV#mI=5AD$mt7r-7GguTGAsJ~wKBZXQ3cIc_w`vp9esu(~0u zZEnMQtWD+xW|DIa9F3upq%5#ii^SbgTGD(ffdZ#-_TFr@gST;JsF~RZB!)-PG7*Fi zy795hQsAmeL|B+l;lGi~k)yx85~;wG?P~vv%Sk=GCwiLeI`u|sJ1ikJcLCSyr}GD- zy1d~yRfoi|?HQhEi%H{_ApELj4bKw4_P`DKa5}e6RAJ78q#C7jwVYi>N8%kN(mYZe z&2j`QBo;Y9-f=8)y3(x3CtURuA%r62Bp}*S9zZeB?{QXX7~EZu@YHXa_%Ie!87Of) zKZhOrxvxLo4wgCViEARm^h@Tg>W2`EL`;IZII`j{bzZU@Pw8ImRr5ao8e2!M*V#(xBLh~Hzh9^S~Bcwmrx8$r-}oIvh$3~5RRR{4n8DWn&2+_O#prn zmL`>1VpJy>^bFmveNou-F*QzEZr%J-qTca4(#*w4ZGxRYhu3!=#iXcSA#Y-sa?{ zW4E-yjX~A>&r8ojPWl8*)Kt8axDK|v&uB_WK01DWI8MaF-?QPeT)}0$pZ&qh&*{JL zGT`fIO$!Siop6;V&JVdMb;JgltxgPEJP=XG_Fk=_tKDF}vid%&&&B5xTJ*Db()+MvlP56 z1roEbYTkrIz!^~3%D*o8R^5L}zFEL=fxlt9QhW=L-xZ&zb;E*7=MRGo>4SX^to4iH z*UD?_?Iol=dyS_#>?V8Xrs-ZRxHjtb<#l&NTL`Z+S(=&+qqhji)9AMvtj$UQ91Ec2ZCCh=nt!=)^Kb0P_ZG=-5I=Bk{+yuK; zU9XFL)R7)6jhCEQ>7nNJWKb0rG4B0}@v75T^x-PIrRDKgR37wE$$m>^SW!xsZcFZo zJP$Gm!fgiOv&>zKmF2ED9U#mSI)&+m7XncPo0emhGO|#*?W^|X%2WUKm}7un;cu_Q z3bKx{=MmTmh#}Jwz+xO%_qrFt`8*xnFIJ95>sX{j?l_l{zT0e^$&-#Fa9%SM*!dHm zA1Lrj+~zzwKj7fH7ca&EPVT8NkIdw!w(ahsszRXSJdV5!X_KQa6<)0#T;XjIJG->{ z;yPqgRWSY$(%QEAeD9tLA7YYlrE$B~h5X$11Fnux<@jCos(~qgQtrDh&|KgtvYTS} zA69v1M^$$uq6BmdW4U?u<4YL!t5=$usKOF}CIhR+A?7>Mmg?HupU?9gBEmA}^r)94 zwM9Im#y5C9ecJf$Pc@!H3l3uKn~m5B-!j^s#sYaP^&q&2?871Q$~)Y~-Gw-@QiJ2D zvmTBroEq8MVYluZ=S$CJkC~PGz^{dGIjYMB9)I5-4ZM*l9iVA)d9Byu{&k@GcLU8Z8ua6@`#f%KXIYcK zcIm*;$fPgL?RGoN>~`z}f7pibZ|2vE&u^2A|0GfZ&uML5m8(%39#r9T z!=6@lWd~h2Y#;KL#DGXij|(+`^4%%z>3ITe=ds*&hC!WR)zRt7yV2Z*EwkvgshN&% zQ!}+{K;KSbEwp<{8m-ug1 zO`ce}m~d}EXdxckB^P`%-(4PgkG*&T_%22%BvXd%$~Elsn=i~g2*7H6eqsK# zBEj7gbE@*g%nQru2{8g284txT196~?FU zaMN|X7u*P@vM4k$2UFvF4mOxoi647Cy5L0Bk3UpD7HBjU(lzafvh+?AWW7oCsRP<5u zFtcL!>_sh>1@5}@Fz>jZ9GT8EsQBpv)(gUKbrqgBN?l!!)r?bS%L`bH6rv8VslueJ z=-loPz_Tp3lv0<}MbdqZhEl337d@?mzPKUt%(ZlTmQ<^<|ffLU78^0{3gS+c7ah z@~$j#F0x${4c3LbYCTJrH#v(xegqCxEOj-zPs^9w_l*+%G*8F>6RTizc2VIeOt=FY zf(N6Mt>d?`l}yZTP)ax2WN;%5e%to4BW=3?8pFgcnZ#C^X9ZEpGI91;BIjedz-E!f znDhNDi(0cG=){PRj!u>$m)jc|)6)6ca20}vv07yjqVhoNrA}re`H$gumB;BT=;^{D z43+UK?J&0{3IqxIoKQLnH+m6iD+O3s7Des}jy`&W^yneH>2?)}M)~1=}ZIy!G2 z%Mdo9K1MYO*TuDY0QMYRC6sprHP)dgBYCAbatoA<{6x-AZJN7~ z?0X246{~&N5D35CawrGZ~$-%d1C=Cm*uPgjX8?k7SBM54@N*Jmt*UzWTY|r=~BPT1~ zun-ER8Fse-H+?ztW)Mv0rqfbr=uM1>bLq_v)H&PlW0C2zPi2c*35C&M<4fvOQh**7 zKVZfleKfzFw_+YASB@6izAcjY%+Xw$U_eBZ`^~rTlvAoWA-4S5;thi<0GOv##vk`=bnY}0=(eeMqzd{}*NX!KbzQ~(Hu?Yz z+u%pFfw^daoRh({`4vZ8D`w+80Hh~52d}uTlW2_=;{;3l$4x#rkG9bu{g4UG2YbFM z1XdC{cQ~~auoxBNZ$Io&P>~Zo4UuT3JLdh)mMe%EuB0`>ANR){KGcIi*J8f zOr?KJR~IJzd1S!QKdr~|d{{yrmdcL|ZT!Rinqz(Mug7e7Oy)48*Jsh2T>d_`oHTA# z!g9I%##NxnQA8#vbxARt8!dW0<`4z``Mn;?V@m`(Y&GAFjEHPezTJw7zL$PZf^IUw zz1Ydk{8yL-TYEK*_0E5eS$HRmN9yY@yP#azw_Kib*;_-#^LLya0yNOj`4F)hWS0w2 zmJ!hOFf{;9QD=y_-x#*MB0)$+v}xO&0{6a<_P7-eJOOf{(@oc9BdS)`w$G6gt#O?= zvh5=3tRGKUpcC5zJ%LKZWjf z>(KyfTt%4_ksYK~`)if#X@R5O3w7I`icYtYm|9Yh766*D2eWnCOpgGXfmY)kzEw!H)!X29e)9p;83l)(F!;1m8kP+#;rOCV4|ja_gq*9YXkgj5t^>yzN1YvWOvuI|&yxeOYrHZj(bORBxaC zy_HN1MUztNQ-FHyxJ3+^Gx-=6CZ*-_Yd41It>o~XWlCX20gs*ZH1fM6#) zJu{0h2W>}OkM_=5tDQKHSy_y8oni~Uja58=2)#o6>icRF<+eynah|Yg3NQ~7{GHBH zY4tMd%uG6H!4GIZ2Q>Gno)?Wpm+Z60gl!?j>T&XTv7vRU&mLR+kaB~Xt6M~oMtRhY zdM~thyVE{!w^~>N|=-ST*)+4Mi{Rzlg*+m`>mT|9nWuT-R#ppRi0FD0FzK#)f5|Q zgK1-_bH+F4uV>8SSTWK~!(`^nIy#{KOWf`GQt=-|CbUtH%-ch?OID{eC#zEZQ|7+~ zYhw`CW)h&V?{%;;XK}6#3!R_b5c~=XX;{{otdB1dN8{&L=nFy>T_mzQ2VMw9fA`5! z+{q_Ps9t^w0R5=BeT%+YCtP|9UngAjoQ`MjQ>TOnqQnjn>}O;9aA~REgIA-TGq>wLykq#DZB>gmD05921-X}IRb@QeUjHK{U*V)_n%2tvP)_y z=I>l7O1Tf2mAMb?g5B~KJ>oE$GYS_dYj0<{@Y-A1tKM;;ZjIpX^{8FWqMMhjE3vw}CcwJBCij&~s|Z5f411W; z6j*6;Du~H$czzLofeCc}*M2C*cl!o)3dD{K6R)Es^j3+Bf||PwLJy(a&YLKPbzV6i+A*3c6N=9``ALNJNmE&P_DdED6SdZQ z|F8w!<7P*akT1(h`KeiD?kTjuN+F%PQd0SD2hB>hzQKy~73pTQ7MsG4jR>=Pc9;%5DQFWhi11}XEiuu8r%{*3;{~rA(XiFn9Vxjw zFEODt?sm(4^#gF$mymQvZQUW6;A6xmf89GvNZfV%0XZZ~qU$D#+?ZL7jvRXO=0rxP zGFI-|F)#3z6@CTd{BIM7qvZ2-Q{$XkpW}dJQ|NzkviVoX3I7swm^8_M?48| z)bp1u33>4Cd0exmLt2wd=jAlZc~Vmt75_o-b#onBDa+&C#fL*_B6iSpht!s=y0FT0 z46gnpaiF>uvqrK!>>J|I$+6PWwD!^y-2Y;BVm4Q30cdnrsZY|TAXzm#@oad=0nfJo z-hn}%H6Y0R)38cfDtut@s1_yiPE*q4A}zI9MYzbuz1ypG2K#a1vmtWGeNSoJEJk+& zhsvUNfhJpOz?4j&-1RBWsuUl9S7;%K0X9{g2b)F0s8(IaZ!1TKZ5U(w*l!9|!H880 zPJA--byhzW#Uc6FuD-ZlEh|ZACva?Dc9B_=ov!lzED^^=n32%;x7@?>y`fZz@}RA?n9W z%=;`!I~;26Z{JJQ6t=?Kf^BNbFWrrN)wR7AX&xOdqp%#u5!=~`XU}TDo|%HPj`2(< z8>_0Dx6*naW((%2=`aAJgrD%)=v?1hQ(Pa&AEtem9rnnRcJbq~F1N3>aJx&k^dNga z8q{E$R#^gE$U^is;u}z$=wD)AaC~kuW!awOnRzn-h#DWXku8J!Agb?$Cy;#K0oW*m zcI=e%3viU*7EoK;w3A_Bxj{lA%R@s1(}W3B%lZ)&0}+eLJY;Xsesia10*!yWBM`~A zcm-HDv4~gX-PsZSxS zz4Ql__8iaIign-=DaHfD0yo z3WT-=U3e~;{F#$L4>Q6_Afm+IB6i;II8*jPk1TD*xVly%z7akMS6r8dpxJ*)$@*) z1CA-+aai$hDlx@7TlM~Wx|B;F^Gg`=zh&N+o3$t9yQ7%NrSSf6DPs8bvs7A_GSbG}!{u-@dV2dy3eV%OqM?q7Iek*o{VdXfMp75YRr<9gI@Se&b;6-ywFlXq1jnV?7 zel@3he@8_I2PChjPZRi4GEGhGnc$#{~{V=0o4O@aO88E7vtM8M5)CYg$XweG(P zuPff*58-vV^lM~9=TdlGjf@B`zNO|6^-qxgo{l26H$o?&>0CT@6aaJpzU&`~p32ad zB%O^E473npu;~Kv!SVYisWz|?@>*_gUsOPkiRhsw_q0zJ9rW6rTz_X8fftvTQ52DE zR@yITsUb(y4qD|M2~B%#2MI-sGtn1U z-84a~6*Xdj%o#e5xB*ypn7UT%Nii8xqs)Ly*Pe9A9(V-x#2WBoBkOM--tZ@rv*#i0 zPfkNN@Wgi-48-sTx@ek;Ozs`n#tNlMz%6_Iu(&Sci{rus3PQR8v3sEkXU!Lrw&t6Q zQa~ISQJV~%-jDvr%F8oKWtaMIq?QT9oWE?jGgW{uoyBNpx!i<~skP@IepdVQY?5B= z&mup6|4)IR3K4%mqh7h10PITfy-0QOf|4}3N$>2F`f0(%@sttWm-Ca0BP-Q&zKEDo zU6*Y>;_0}G_rRwi+Lh+dQ-#FUafR;70tTZ3uGXIc*#)$c&ws3x{8K0@{~!MV>md?g z1K6$F)eQ4?JTrmcD153JSWrV@c)a#Q2pvm3y1NF3PCX(`22=fy+Li8GNc)XY#jrXu z`3o{ZZ+G^4^y7v_S~?GprpnQ$+$#q}RzEb^l}f8l5Ey>}2*JS?$O8Lnkw1J(D}AQ>2Lq^o||=n_f0 z#JQ7B|LP#08)DZ@#rHP#P4Vq;f9J$4Q&7PNEU4v;WO%G$%eb*FP=0(kc@r3KZ)yB* z#ZpPm6eQb4m+oTL`MD7;(#l-rtDtt-Uvdttt$RJg`g>U6E}Te!Qsa+{q!rM`ocE5g zQk~IQj3=S(7oC|S1b4f=ay&;|1Hl_XxLJn(9rx{8Dtwc~3YdZ(`s(`#QuX0z^ZGUrPJPj8F+`?p@t^*6i;yfd$R3nv8U?e2LOFt#vYgP=gQ!?n069#_eloSvUfqeJGMmzGO*zzxzF&kwBl%zHo9 zC33q$77n$Bm<3a2b)aS-Ee9}_b zzSSF7ENXO6z{@twJojz%ZeOLM@g8|Ti2R8TV-C<$R!qaA!paH2$@}WN3`oD~k^jWj z$O~RH!#5aMudOd_IxAO~OPlV^fURoX#9Bi{bg=X@7pg?^`CDJqN}{V@g>51>K^mpt zJ0pnlsKD+>DVfXni}2A$@nO6KM?}Q~5~)(}2dupM+A~KO-+xYXpBNa_=O1uOvMhvS z4y%zzEe~^D;Hhhta|yG)4_riEuhc$0oQPTS|G6*%oCtz-hM4(YJ`=*MB`Gskc}i<_ z{Zt#|G+)BpE0X{R5_syxLh9AoBv(yVpv1wMs)4@Sw`SJv_Y?x}_Q8`QKKp^J*ZRC) zt<`lkKMHx&VKJc;*grPBTIl>WMoRwq;2=PyC-Ewar!Ri5LOATuQtm8>w3IiQtjScM zv;s>N13r8mk{#rH6D@}n^4nD1MOWEy8=`CzEhJgz!EL}n(|N>c_#JT2YyoP#g~}ce z3=C>8K5OVTA5|+C2NszNdk&xMuZZOEy6=rk4Kqvh2SY+uio-A9KV)2%?@E}8>SPtx zff)`zSFC5$S>K|SHQGw!QC$}Z?GiV&&WC-!WgR$dRo}F~@#s)l67pZ1I9bifCyYuc zlj;>fh0+#+5EVL#WYV~o6~@fc_93pXreCvl6O)!sUV%hd`;dgs(((nxWaWYcGBRLZ z?))nkoD)4D+{8cFH;M_fWPSA6tRfvAv&3 zb>*q%E}?jzZ2S&Ws@bQ3yQ%Ka$=z6CfWK;&&(#;Zk#0nHVL${-&|T{V)m}p)KY{e9 zj4VX)Xpy}EZ9(gRkPJa|?V^kv;`cf$R3(x(LxC7uTM{JUnD2mUac6evTyiqNr^& zsx#USP4~Fw@(ne^^|9fQw0{Kd2jpZ5pTGdO!zOhTcFX1=`Gg~PT4}ium+rPhx_!)d z8uI`w^BwW!nw^;#Ev3PJpatn(x6_CwCR{sO7i=U>R-G=S$~AYP^2Z<2+5#3haOQ^E zu}|BZapOvU0L~QodypxzzIty)$)96d_L`rN>DDj!z~LqUnR4B<0N(<*gg#r|{e$6O z3nc%92$WDWBD{o9fnU&yY`Zw`0RRQi>z52&IRXqrE#Siq{(;+nFRK%~>bD(dfJ42! z)ZTgiLy+}PtihirkmWl!9U1YFpKfr!7N|+OEa^uy0j>Jl(LlW#xD6-qzs`mOMYk(< z+X7R_BP`=0g$AU3x#O>nrIjy4Q6Vv&y>7x<{2>xt2I6nkcc7N=RmU@N4$shkP?)oyCO1@R z6q5D`5#2D8IRxt<4o!1SJOt0XDu1@R!y~#r&iuLP2I8%bUYm>S-7!%iT8q}_-A_1G z3hMdYSga37^zG^og^b6?S&H$4=i+0Unnq2{X|Y~L^VP7Y>PYToLVN!h8VL{iZA5MY z8X8tQA^6z=umq+UPh`n$+A?&_Bd>@6b%#1y1+_vrX%J+a&j~5ML=AX;ACQv|wzIry z!@0rRa9P8nlSZ{*eQ^q=f_(jtUS=8#5*quwjOybNb_vV8v#6S?B3?9>i5&}$7AQNA zJ-5xS>(h?iI8sya(wvBTCHaJ>uq9unY~-5Q87XaI8&bz zfT82TI{7t9$O4Ny{l`Ul9Mi62ua#HA{f%Etj<|lF=Ao2^1YeMw`O|_N_~DNQIh%43 z8;1FZ#ivhcHpXQ*>}$~v4R;3ZEwwu*m~dLnc>!LQRf_c&YbtqW2j$l@qa6oU4H?2) zqb~Lo)!c{o;VG>xPtNftq)@o_i&=Lk`tryVyZC9mwFSx&M0uVQ+)y(r>)xVyxNc$^ zJN2mW%EOcT;o)JKge)8V>dz@SUH0c>`+p3J$Z!1=bLPXCsGwjSYbJic#6zSII&%`* z@My|4O8Y)wguvFqbJq}f@ID{=f3D=7%SYXUPm2sdGV@VoE(z1Q@k<}?VJ4nB7~X?U zlD^M;LwFL;8#fecRow)%p9tk;T27AI=B& zaZx0Lxr5bonD0rIU~R?4D-A*R9)dLyj#JH&1<`B|#N?vq)DE4wqG zRHth(P{9G#s61^EjCvUCzsfDz``|VFxvX^eU*8kKf&IQG@~Q2w?};d%RE;?;5X0IK z<9DuwL`g`D4&TKpo5p>qRMXGAU0G_|0`r*%&exzS{=u7e0PC^G2Bfx|O;0?7m2L*( zxwp2F;f3^QJOCb-1^;HpPDvHsu}eRykW$AV)*ILj<@-~`&OFqkQ$e6xNj>$+nn{CY zv9w5ISg$t*QYAW`8%jvYFmo+yU3os$V-7IsBpO2BlL7`g?m16!_&rcdU{lCCK-!e< zCY@4+i>5nWBqDF#LKDk{1is+ z-1i36r@6W(ZYEN*=V68`68()1o!G}x1ZZ=O9Ew0{s-8v|2Y4`8(y#z$oWyQ zt7BX;@R)+@L-w@XI= zTL0!tn0K=cDvU9CBDd1@$#obt*1eec8?RxW*BK5#i8}Q$I{w)DJ&fS80NC%qgR)gk zrmLB_$H5-&K+l2>t#xvi>m~kawgEAgjgg|NbLKQo%|2J# z)AQJLdQ+%z@%7I8?y_<-BSz8|9yWjf;=vIW@>V7fXB+Xlun?xcKcpH?CS0n;F%3`% z1Mta_WV^a0i4H8R^yTGQZTCKGC>%#s1%APCIRS!(P>CPQ9oc9qzNf`1!3J>J(*`1O zb$$iNp**@$6j+SA1BxeypHkrf3(qHC8c;S@Ip#*|0~Ia9Qk9Mo;AY;5`GY)*4j0yN zohC#&EIQ&}_8RC-==)swj_2FjQGbMfOcMfH$hhNq}7 zT471gZ*0Cj-ok&ob(Nzg{_ED-!#B=`e=+^>?ACAaXQklQi?I-3 z`a@Iw9*Wpk#u&5?AR8sZ&(0l3bu2!1-)=`}g%PJ+$Rf_vJ(p z(nZlvz&tN-bR$jK+Yni#tFl`|){pcw3GyR7CAsXnolOH>w?C(+tAmi?cb{pXuI*2O zMH@cn|Mv$(097|_f_Dv0z2+f;)mI5>Uf-_-Ri%x~2y8+%iIQs-tSH`IiQnenawW91 zHOrdMs_u@YA2Q|~dsfGOytKkv39>>PHDV*1`yZmsIYQzen-KQi0TZCOBma7OI(YVbddhs2o@OxA(dPO& zDO$oZNgc`)sclMiT@iBtSL-qd9aU=P{84377>a9FrEI03Yt=!1+A7sS1k}}r=2>Y$ zozMu4GAZPK3ko12#eT%JS@OTDbd6 z@5j+)eA_K7Eg>4OACZzm5C6TRbfvwOX;xa-)Jd<{h3o8bPPQD`Tncz!Y__3+qg)VQ zdtdQJzZ$x-4`CqViG1CBa}lY?3Pkuag;#9eD;BA_YW`LvN|_pJW6eh^&Qzd8{*s&2 zouP@qPXec$63@g6B&+p|e!HYzZx&`r1xO7lPzUDT3QN^y2 zr{nN48l?ZHjH*2WWE8$PP}bw!lu;6uc7X47FiyI4!coqM5U=lS01QpD@SiQAO^1yt zfoVe+3`QjEeg&b^v)D#%>-Cjmi8TVZW*PAcwUtF})gOXkj&L_DwygG~8t_itNQgH3 z#%};~9Z_cn*N}Ij&X9Mwq2z^U-h7vb;O?e{p|E8rP?C~* zF!AUt03#O(esWuyqMlKZBWhK~8oTJu@!f9pCwKb&c+>utNDAWxmWVGeC6ntICG2lh zy2LKmbm_IasUEq#0wfsx%AEaoie|@Oe;HS#w*MFDT^*sQAdLuz2lwgICq!8piSM62f#1LXLI5JAIcH z`&2bfaQJ=#VJ0ds`sq_`9Q=zRz!mm z8zk($4s@P-Ju`Xfxst$AR0N}nh(KaEY;{4p7_8-MRl3YC&m(ESRW|;yJT^ZrQmutU z(%Jlki2_6a8Eufni`uQ(=lt!y%?%osB1I%n!jIUex%GbCYv5XFB7Of^pp&#PZd9p@ z1p)Z)W3)yRse|pmrwHtFh7J?|_hldf*8TsuIQoC+V*Ir99!>YX_;`3U2SslmlrZam zUpngcJG993q_PCg7tb@c6p+o;{7E~~4f=mpVUeb>q`he5N568sm|I8>$_^#s8ZpBO zHT>6+LSBe%_-50!o%Qd6_u^1qhBMs%RKPJ!0sg;SMBz16I&SU$pEaQ3?a2FyqP+fj z0#Y0;q6fBKkmLfBm~Rpj;1@0rmd1Wo46brT_k^^JC8=o!JO2FOrrAerQl1IHcjt>A z7zn<(uDaL?Rg}3pzgl?7*xog!_Du_wdA$bY8qs4WwsNAkaw$a=5+L)ObZ`8d3 ztA#(A>ia?_jSdFRi6wULi(2{Ms9>C(C(Pc7kj|2bum5yi-HI3G zcuT`f8#>F4J~R5+m2{^4(=E{_jSr`SRIXkb*pPKC$91dW?Zx+;)jF*ajz zXMO`aZw(hhn3~%5yzRyeE)f5bfH}`YZzR|45+oPr*r>>Bwrh09yRh9DWlGKf7^@u! zyooyR5swoLZLMYqCgQ`1#?mk@Wyk{_T)RP}Rxtz)XPvc561UL7@+k*7hMG0p=X3+OisPh=bU3DsjSN@| zbL}tZ0H$hKJmzh~1LsGhHdHIZ^pwV(_ilt&_&Le5&!*!!)tti5i65B{rRu`< zREadjJ`VIqX6Si@R{##7D^F@@LhKjN+t2(--uzoj{?m0Dm&a;dc2HqHr>=rPf%%nz z4f_$Exn~<5YxA!KWH@V6uJ<=|?|8@*pS2jk(Mf4|5V8+%(}rd`xqoslc8+2!naQlzKdVx4R+s>wr)*E zYW4WB>aPwxN7Ob!UgrZd%uK*md}|g8NuWWw$W*_P4E0)gx}QCsRB^HKiv_$zr*gb` zBanU1njz0IB{dsKTAKFN=DI|h=j9R-I{DgIgILW!Rnu9HZeP`^9Mx$r*MxxUSwz!x zLI}HfVl>odLv2wyE25sc1!h0P3u-UwD#jMrNa(_H>q-M(VP z!_JC$7mMZoYO9iL)0<{w@G?YA!n_)wdo0}ZB`jdn z#<>81AiN?q#c#++$9>#_hG8)DB+n`)Erya?C&H;nnQ&P4Z+no3S&n@)=II$vhW%wB&szifPpo4p z4@tz;ZciP+!=%$u04+SVo-6J6(1pQio!<`QXx}Y-Kk2$=s7ailzy7NY?YeF=s@KlI zPVfmvfrRX$?hY_Ga4P&>#jv##C2G9jRGWLJ*(|$HTK`;1H4K&<9*&h(GOoQ(Kd)>z z$M|E--{6b5tSzY$be*^T*J`-!e=y5&+LK0yPL(A>Ml&DOe!M>LoX&yccD?qnOG*7J zML~2gTp&ZhhoB)QT`|=QljvniGKHV+b3{C>Oe}Yf=ZbpCH$imuOjcYEUJn|a_~5^@ za)0-~Ng5X6|&cQRIL&IdDu_lw-n6T*KSstu2m7l~|!Jm$s_<=-!Un2UjTn5N0R?pPb2}) zc|jxY_+@AcYx+ss0^2Qdy)Imuf!XhXC>%>C-s!RH7taB-A@5_yK=ER zjw7deCC-qV1u@W}m9noBLY&EmlwW!xy)WOB0V_*GzXV}69vCz{5OpCX}z7z509qNj0vtuJESdk*Yi%e@MB5woz%c%~fdV$<#*1RAGZbbhPI_nLfvsPHW z2Cv+$GCCUV|6MzplT!Z3^F4y@J#1-2dHpNCd!k5*9mYf3_4E+HTbmr$dY_sa3==S< zB}N^@j=4X%-ES?Fmv1%}7!UWNv#`;_A5!JGJUgyBjWqMzPiGq}L3tUN6q)&<=*vKWUwu~FS#Z;fAQtM-dS&w3CKxT+fx5_XJiP{hvWjc# zLM64&b#9`NbMO=4%h!XZD8gXIW1faCCFeU z#XDOYx$FW*Hr7lfe45o6&G?D6%8E*tO@9u&$}=Do`0ib)@w~CIowR@OR6=z8ny7KN zkiGetPrZo>uQU}GNATI2;ovr7I*1<@B`G6TrEK2Ti~fiYp+-VWMcGrk6)|&-;AQQU z(Ht||1xo^-BOnorz5=U-IlD7{8D46OnAd8b}{v(MOvH7R)jvWQ^XJ82($Kkec0tw`)6K(s&iwWdjmI2 zS&t`MkZNbYG4gsi?&GsGCRp%5neR(MZ*4IEA`wxQW~BpM)fv(AE02y>V_t%Dv&$^T zXbKE6r37*Y|5a0iR5afH&n>{ckf11!iaPKr^dOH zu6_KnSudvfgIg?$V(n*vVj?5${IIM>CokQG$?En1ADo*fB2m!I6U)J@*H!>G$K`pW zvezuB*U=%sz_uv>LCgi7#JQ-;;PZPYUcZL+eE{Vd@RhS&_nX@>^SPfQ{C=!haunTY z7#!ww-B(RXTg}|Pbr@fTR|48c-lF-59@w+cd#L%a;h8!SoAgtv&&r`Ge%y!^JgwQg zKiwfC$&_}OOI&W8_q!l7_YJe*=hd5TFCW|XFEtw~y2%>3okHhc=kK<=(AdDgIMQ4y zJtEvZGzyMfM)BKqgLitM(J!bG7DY!*`A$-_q(hjMz_{Qkm3$6fJiZp_?HVT86kh#v zwia#D*$gfGcyDQKJ4fy{47TcX{f9;l@kK4kC1v|e26;&78)CVb1M`4pU{=xA|J1jqt(C{hLxZFP0kl)68 z`Vp<~jbD{oG;ma$)qB0oJxR{cBQ{O$FI4;KdLk{Nt%r6nDyNAA!91IK5KjEh%_kFf@dgjD6k}*;uB;s@Dlms+>&5WQQ7uFtA zub$8kmo$?LQQZ+WnewctMvn0ZC_SFlyMxO4NODmYblezCqiP$v%4uA`9t+x3Ii%S&L+1RJUBJ=da~}Vfn(Z;}OVFE|!6OwK zg+mD7u-k8wxThig@9Ih^UJ}yYn7-v$6gRXJRhj*#Qp%g_?Xq)fG2`FqW`vS47b5OMXf=D$fCF{dVlO zP_>JMHA26f5MtBX8*-cXv&A6Sl2V&5VkBM5dEtAeT-8o1+<4dDil9jsP{ zProkh03NZzNZ~v8U{90~U&CDWNo%1!Y@xF(kdX}@-p&W%yyFUosCf%)lsFMaa?Or; zpRc#U=HNI(<^;M)sdO=rQ!=pzx1PnyQmChqdBAC8ePBO7@pq zk7qCU&}BVsw?Ah~(YtTHL?f>7*`OsrECeXx`djZP0=)HeNjs)0B=?VxnKohH;Qf*I zUjRuhHqA>#ryAvH*0rFejV?^FpQ+}5{e(DCm zg+3bFI^b4auJ?-c!$SRAS22GE489lIUfj2UYHLn4>q;q;OG|<4(T&UT7SArdplxRE zJeh~cR=%2QZ~k?UObJjO8K7N==Kv=WbEO7!JZ5g`*aP*XqZS=wwb56M@0vTi7ciq1 z#%PtiRcodv$qOs$Rw%QihKO3Qy8b;RM!zG@547)sk?0aPLlju0j^4IjDY>Yof}Zkt z;&4)}XnURC-iUC_Wh3HY0nOJSG^>hX__{|nyD;P7!C&LHz~!yl02#CL?DQf&^5`FW zonx|sS5Ybeh!z%+EQUHgRWa4(&MhfW(6|7q>qp;OaT}!rp|jhutc0G3L4QsN6MnOt z-3rLy+-X+bG@Fh{Sy$YO{IV`tZ6+$`Iu-M*1uZMJhs8F>H?A!|vvT>=q8`&9 zP0j8Gx0e!Rx4qg4-1Xos26b$a_BQ)Hy5N@iptapeoveazv-~bC+UgsrYDA6c%T`ZI z=r_U>iT!ZG1}2$=5xORR!Me)DJF>kZH5^E+=0T57O?ff&FAH zVU}>>(AIbsZ$3=r2RSXPvAX=+Ml(r*2lnO$O>@TSi*8E1d^w`hPPpwGk-95i73Yt6 zE5q^!I9C+)kNrJHe~gaGht10EHeHE(HwFz)9tX7NBXaIiYSce<`ZEOCEUnLvSTt|pzjEn1{)~OCLD?y}B1$hcZq8!4 zZ&2_-QxKVYVN9*M1SEjFgDKqT$-{=A4t>E>^{>zJQ;#HwM!d5v6c3y&|McO9zYJ44 zQhz1~Rd=ityl~vq0N!G!=2szthA>_@cmQimgTJCL21_>6y1S=L!WMRLf4%CZVu$Ew zu~7j`?H?wReB2Fm!GCC?>%3#De;qUY16r%~njkj>P4)Le|o6+5j6GT?u@D#+# zWXI0W(^hP##Ol~o2N(TCVLp%@_d&A2kMqDTP1!6q<}=k)|4r4fA2|h>42g}Vn@j3G zs?9dte}nL9Co*?|PHh>$GyvUl8x27g8y?Z154)ZQGCEQvy?{_x{S@F_ZJy9>GrMh` zH!DV2qQha~eUGG0Fd8s3pu7^mjKu{ht~DAmozd~?wsUIbq=2wyK+1)#=~=uN(QjGH zD&WZf8pi)P75E#6IO=G*WwSUp%@LsQtj~NDrqd3NGblDNReYAw_SBep{LBO#fTM2 z=J9>PH=1q#@i`EIU1JrQw`r@^ZN0m7Eos0O+1G_(5hUDJv;8%JKQJ5iwfC$2!pzsp z;b{|%%PDI2w>h(m!OogQgbxlu3NL4SyLx@rUDQ;|Ubk|1`{;z>(h!piq zx<3Kf9c6b2ZE1`9u3|Wn-(B6oc(WBQFC$h_1ZLOvNSS8r$ih?ynf@gWHJzQXSbh-J z_F?RR+!)2=lQrY5`Kh&(Q+bq{6bTa@(!2zHPx}03Vs)C~&|t`12caaQ=MVXez@GS| zO(Lj3BF}cBG0Njwpj}_W;iF6(yzdm3R`(`+7`q|IYX4^PzXvvu1&D)n zKM)<_ela)Wk6bk{v%T}!2`tZDdQtZaTY7GS9lPj^gq}dI^uml2ygdThRQnusJ$IeQ zLU3C)`2`}oaRc`n4eyWkFMHMhnBT=e5Oz5OR(7P4Q(zauiKoaI*4l{{dv5@(n0?3U z`6cT}P5E%y%+Jj0^w{H9QU|evHfxA09h~laA*zcrTSd#|K~3(L(et{hxIwPkH*@ExT&Q6j$+a8XV7*rIQ!Fx7QFqnIQ*Q= z)t7A8(JQ~nz#ih@-d4!@J$3U}c8xf&45&+xPlA@w)En;|XhM2!KkHsb1f{@c|Hp{Em4Lq2+Rc}Zt-Tj4 zhSsx*Zp_2*#)h1un6BdDsPfr`3=Q}ryrk0eOLNvQ;O8*>kqeLu_wIfKiuFkJ!dh`< zCA@&+g(gEoNBDW~2hvC{WG-R*Cv4|8e3l+`VLSz0=+V}VV3*t9HC6f{Ec}}hUzE(Q z|0~CYvS+~A4Qhr%`}t6LXEXHMbs$uUu_^G_(UG-R8>zzDpQ>_`j?|)_^GX?4^@XVm z(?Qw3k=n{T8H|;4;y7Ho8BF42Ym5_HVGGd9<{NugwWUeP^ov!W>Vd}Piv&>xeoWP6=cY6{I| z!z9Wdajd7j1uG!LL&04(+?Z1WfU<3ZcI8p5Z^F@TO3LpO-#CT!-A4o!;R`BnS>&c5 zOgf)PX{fSt^pteXfn^TB$JFEY@9DBEB=*c|f$K^W%Dq#CE_Zdxfy!I|5z1zWV_oP3 z-eb);YyFq3|7c`B-%vVk7qD`?`fsO^$9oxf*XCEacaX8y!sg2SUO8!0jK`L0L5EQn zUHC?8Mw`1q8&Nbb9*d5qlVQR#(%SUS;0|f$)MBgn@_U=b-N3^GykDl_l5J+jVl|EM0-ooNW;gxBYd3J}iSm0mgIYHD!iZypxQ6~C1n#99X8$kTQS(17 zVF3^PzYRqIei+97-*se^CG7vJiv>6Fyk9O}f3n*+es07#NAi90wSQ`B?sog{%j96Z zlEJepAITmLTL*&M2)u7^-@Tt3*7u6S{@k1TziMW0OlZ|&y&sq`L`?UgBKBS1zOVNsxZkK+ae>AlB0`Y+wl>4U_ zZ#j8aW1yd3z*pvWxP=XO__NnbM!;^`SBELxI3tftNXXxCC|IliD7&%H{Z`f~xmMDV z{h0rTH|!h;Z0K8*cE-A+ngCZRKAptl+MC3EMU_2R+uo0$JOB-Ui^wxD z87|DnRx>stKKaod*FJ$`SIFWTT12M1X5Dz)kWu?%5^Bx}b;Y9tdB5RvkZu1N#sly@ z3>!t!A{D*h|J(*dU<7_yZ51Q}{I&l(krn4{jH&jXMp>JKBTyyX{nOYm1-{SckL#k* z)^Jt-T6A&oLX!a-SG-Bp z*K`Pt+}izDPXoiX8R2UO-oOhseP4h|XgVVwts1@meAg^Yz-zWsG@#d)e%==3cF$bB zol6hDwEy8U-YS^nwuA3r?025DdOjxq^c^l;sJcjdFUJq<+Y;?p2w(f|RGuBVTAg68 zxAv^Dk4zwCC(?Wgo*&Hg@h2Ks^@pS0yQ{Yb?Y^cwP2S?AgW9?=|h=!vOBetGDHxQrW5rWh0HJOT znbcmV%0Gr75Po!p_VLtFEs4(+*y`;jx%sierF&VYrx!b$>&1I4zj=y8+5!P<7YVA$90ZbSl-tcZ+wHCrx9X7%# zVB<+(4Og=rfFCd0Z2HG)?*-m@kF&54fV3DX)~Y)>R$N{FLH@4$ZsonwQi1qQ1-$)M zbFra<5x!dc3s07BHNyk=o`&%+?^zF%-^%Z_1AdCLZ-G>EJi(z98e_y3QGrw|s@59TluCC0gBI|8KBCdSw!o)$9+9P6a#yY?dpxB^C>%)h>j5p4HNvj31UbQ3T7U z#xQ(?jf^}Bw1R@hy7w_07TfwoZ{If*G8l_c6$I@_NqsqIOz!vTHy$^sHKBGJ6{ z8vRxL0>0S?tw3!S=}6J?$=6Gghr5x&kPhDy z+G-|R2@P%BM(=hgyY?mm$=1{E^SJkYD;wdMhfZcB%>AKtx8;gjTd-AT9f(rq1P>t| z$lgEgUG`HpwM=PJD((6XTc}ozCt$01L9z=xtlBG)`?|8-oCw#a=n8=sCzq8x#&Y-( z9$|DSnMAmhw^S!3@C=19QVo!O-mS))YOt;(M6qlZ#jz7H)mdi%W=Ut+nF>hnGZiIvqII z?9ToZvBPWpHLj;{ZJ;~PMS|`zD3~ZOQw@jeW`caq0Hw;-ll;le;{GlKSmd-3m0Iss z8w{<)Ev0d6Ts-@v4%CH}tIhABsxJzA{4$22h}eIdHU+dG?ChfYi%qr`^{mwTUJSmM z)RQVbGa)QOSI&yu3d6^L$JKLrfzmzc;V2kHW8obOZO&hDpkoxff$xN#Mn z>Me(Vc)rDWxbMa5yyw>gTHBwI$Vck^o-$}HZpJ=AWZ}5syG>W{&3BFN%!XZhR3kMV`U}SuAc_(|;AT#{;V$YsIugDk=W7sD_EFJE8 zqVo-%XzVJQzLWx{m$O$4x!2B1z)lQ8TQjBUWJo)S8dm(3tjL$ohP1#KrUFN89;gRQ zw5vqJ2Ou0(yTMZLYJ{p1hLmOPh;}DmCeZSD0WzdKHo<{zZ7F1Xhh%jE- z;;{3H3Awv4!LLo-7wOFtG`%Ovrg2E~;I3=Dekqg-7N3?6r58NQw5cpvcs7}{w70XC-Y9-<_t`2KT8XOqD9UE?DM)*g*fbgH+&ZquD&1H$ z`^30gGL(boue6~U>yJ`+B8r}Tiu_?GDlV@j?3b18irPwm{dahUK?DdcomOfB{BnjP zf05sUC@IyAx?x9Lf*E>QZwBv-i*JtjjVAZb-L)B+@Df=2O6>IZt;X%8w#KC>EEw=c z8Y+F4ICiz(VdYzO-^&le&8nU&?1e7Raqk1QH{8yL{il37cT)qoDVLIf8@d;&*=I8# zjamN4n*iuc2GO<~fyynFzeZeB_MC!(?(0Rx^#Qmy0;d+uLxc&J>w{eYkQ+)!_*y~a+rlXRJH{AqPopec!=AcS}U2uIR<$Crl@*R&S?#jO-JbKA+dM;16vcZwAg?EjGQfp7!&#RXYNu^_S@9X4vRK3ykYqa`Z6V}5j0=1g zHx?$@}PU!z)7%g$BY5ML8kFTzuDk z92NH~?SPb!iqTkFsV4a;*08}+PSmNZ7y%EbWj}o2I!dqC(^S?MvrrudEJ`a8u-yip&oYbW zH;6Gqc18UW=q@%e$vzq&#y%imT_pyrW&YbUj!q5E3y*LoWG9a?v2C_CJU#5gn{_mh zSoll7ayIpLb+*Rk;K0zsLNctzlMBK6GG5RaMI&G4z`2uD!_;L9`<4Vp#B^nm12P`g-EiC+)5@bC$6h~k1dYc~2=<|K;48~uBW z3c6pWl#;G^@A*FfGt>OXSSQYYVUy7k`uz^KpKdJKwZ5R zBKt8X(QM*rS6cPF(HIjNzXfCp>lEHg60YUmfffp_$CON9ZwTr^j|5JE<87-eB{nTy z@)O8?3&ST0&%zgA^vj!N$mt+cj4T(k?yp1?8;Dg=ZmV8kJ#qM!PS_7^;t zL|5*h%rru#cs$JFeeJn$$&LP()4LT5Xj&C@c1|Q01D4)!4eTP*Mf-_1OHRkfAT!n6 zwBBhK=D6M=KccA4s>ZyM<%&H@?Cy(D{HZ!@SIX37s|l}i(&p-T-h%^ssnJP4MYITM zb;{CPmp$?wd$hSF{G{04;cb~>biO0;mMegNeR9;($P)P2tf zLe>XtU3zR@dQBdpX!Rqu9&k;WA=I<*0xkFS{$cX(u^6&aVxtqBqsIvXrf?}p@V;K` z#u{^zUHM2-KVG6MW5RkO@?kLI*`vFtI;l9EQ|FTLRj~;X)oBg}kby<$npK3RL#SLj zI4Xb_Dz3m*?s2&rsyLa@M-mZHkPz7!96Q*8@o8s=m}Y=Qj0@@5c0o-PZE}x-iK7oE zwknnCyf0`r6?X{oHQg3`$b1FazbcZZ&faihRQy6CX)RpmzVT8Xb^Rhb?HNtM(fAHz zb|m6h$d#P`qu3^mR;WCuF=$As<~Z?g(Ls9 zLc{EL^p&y$hit9O)WE;2q^}g3CIxL&G$v&mjK0F{=U=?gxax%PKh+KzaFDfx{*25-5udHYScXFz;76gCcwttDr z`ewG*J~-uU_?w%+&!GT%0g1Va`$>_p{j(rl?r*#;^-+5gvl8fMf)vmqL-vp9{&l*I`DPS;e9<>rq=o1-5c5x2W_E0DoQ)B2GF4>V;{H z(X)Kvc_jhTZ|4=X~pB;j>*G$F;ix+ zTz+UCd=I2H=v+3aRn0$;uF!!wNS#MO6r0aSU)F)y#2#pp&$DAtqqRsS+!do&Yn1pG z9?kfN_0@giaRPzRZ*fT*AcUwr6UZimP&igAzs6ixn_1FZ#XlCRX5}EY6SK) zv@%l!#GsJWI&sW9vV&C-`Na_0H_a!ij54c!*%mdqnLozA8o`Y@xikul&Cp$5rL6GFz zaJS~Sz3tP}DS-KR_VpH9>a5N@3_mT6fO0dAlE-`U=nT5}cd2d>EvA8%ot2#&q4M^Y zrm|F8@;9Pw6JjN!DjvSIYHF+%Dz3tly~D9{sMwT5VKZ-f z+jQNiKf+6)8=1-xROxEB>{y`wo;Qt$0pe&?^rDso7_`6V6C~CtR3v96H*M8u5k7Hf zp*R*AuZJd3sdZH3pbJqp(-#W@TOUUB<6$6*yv@lT`te2e$VkoEc;&-G65+#j$ZnZQ zw9MFts)#^Iu|48uFt$H(*?aC62z}Ou@8{78!+&?uHN0D$51;}pu^71DvPkGqb`lm6 z3&$QawPOgQj9@P8OjHx{D~Fxa%ZiE~s|Cm3!p=&{uM1l-|14y>{iBN;(@Tm*_bM5F zK12~M$>9N=SxxdMI{-Az5ugd8%SKIvW>obhN2m+bPq{Bi`Yb-?ZUbihCGF^Gk`NI# z)HPc4$$>zHIU;f`!rg@g>`Tr`KJU+zFKmC}uuQx!lyk-qBo*5w<~)rkIKGnzm!qa0 zS^2S;zgohzWM_R3;;vqa_~T{`1n#TmumD3leJoXj!q={jU@F!LQC}p_C1lA;j6TVZ z2X$lzSpx~%`J9+TMZMP5X>kmgrI5x>*f-qf&tTP8W>uL@4X25z47O(SFIN(2Y06m1 zNk{Xc(sf*pk=p#6Sc%>d!CtIwnC9E7x%4|?96(E60T*9|&~YfPL3#tXO*0HB?n63$ zX|-QLEGAvXSiRsebC2+9VzFo-@j5$oKPpVVsME-LgSKt0Apv}5SAlV0kXsEAb%4hz z&65uTmnD`=qpq#e9eSQ8-^(tw`abbTa;m2gqU?S1?RAJbw$qqv3m+;^&9jj@N7(^( zBmBMQuxkBVt{4HimJ^z8h@T%_B??-meAqA11?QKvyZ+$-O(R)H5u~&X=|R||<9k9@ z|5=%LerJlYf^9iL=^1(g3f&M9#W4nj69B&yeq?$YkG0!hQK6v2R;rm9{|0PMJgUfL zLDh2*hs|nlKv)oysUKJ-fq|M+gJNjsi(FW z{&2Cg5Ex~MW6Fa{lo~$U5bbZ`ZZG>)R-|Pv@&t$vSZ(1Tl=5X@8wJ731MZsUe63*A@6YJNxP@RG=8+y<}I#)(X9WfFyP(qS_ z!#W{te9?MdF)&k|Gl`yb^3TCk@m z5}~5sv?d$QQIsFY1+&lJWXu1bal$MjW9wl>k8XHht@O#(!7IZx6Z)!p&Wgfb|ZNh@$z@@N2{1ko69GM`o z;A6h>E3u0tR+i7(KzxeH>}dI2gFa_RijzBKg>!3*59kRS*f~nBo7H(ylJe>V z0f!FbED=d|l24lT@piSjGX^1?n?1N)X5za=a~iD{IkZsDFzGzd%G0Zh*SnS~ToCg| z^>C~vVq{uT3poG^1EjT;mUDb$ZP#+&9YwVXK(OG9$qH)X{@+92~YS2QU*pp)L zGXSTTMb=kfSFSrbYw-OOAs{k>(!tN{T(*t!@l}3KKJP>flu_!_a*1TN&-s6|cTl}* zTWoXW78-Y;W`qR3?t@aP=>V?wC~DA6Da;bhjzZDXt}dB88!CsG0!z0^Pmj-$Fuxua zE~wgeULl}L!6Nel@Jmw|zx91P1s^#un0}1M+m-qb!5B|O5$rW9uslV@OlBcFZMiAQ z#Ly3=v2zdQ2bnONKD*RyR6Codw3aLWuGb?=!v}Z<9NIP*5d5jc0wl;$C}p}Yd%Wyd zz7=}J@qM~eetzG?03ttnqbw5cj(|BR1m7jf`${X)b|U~1=%a1HTD8PS zjCV~i^fVUxg1z^*VJBhg6eke{M`BIUBp_y4BVzCi=`!D+OCN%m?DxHOI8U|ptdvW! zjM>#;@~36L)iU@Y$vJNqYy8$eMU3=CJB@cA&cMfKTYg?Xt}&i@b_ewpO7A-PRpjp? zBRdeQhfChCh4eYNl(3tSwo4B?@^f|GvG`t2+(LVBht`mshi>e2zwc(BZ^8X0@S@GY z3^t9u5t6N|5$^nyZdR@vH1KxC!X?4nt;@|MVi+8&mSngjOx#Z&`xsW?^%PXL+0jWH zK7Lfc#Xq@OZxC};%A#1TU}bW#0`8t@4q!n;FTB1ut}@;r#RRp*g`5VbC%82;BeuT2 z1?jVqNIk((5327-Y1`V5tPlOn1axPFa&}P9O&FPS;=M^`+)R`Do`bP=GMh?={ONM4 z`cdI34c&nQVat^r^kw&ZN+ILTP+Z=_59cGq3t6@+e5)KcQ*v!z+_Z;ky2F&6R#@Fs_}Pqf%2Ke8k%|(Rbq%ISB9DxJ z8$;3HO|F?yiJI(ndRQW*qd05hZ3HseB z4SZMS(gqI}^`SP9c}s`XX1Q-~h|jQfeVxq-X*RAtXSpAIa|gYL%4yK9s&_-_UJmcy zGxx~`L-b*Es$7<(fIQA@!(<04ruG}>0(E8}IP;0v@{J~rl|7LC2_pmR5BxWQD>_TZ zZ~f6K@Ci3!qe$nCOhYm9_>q&K)0RYHo{*LSN;??3Gt}~}KZA@*xQagnma3`8#GBVABTGX6AyoiVh z3tzfp-z8Ix%Cz--E?)j-j5gJ>$^0BQNR^X3bLhEz@kkOCHnq%j@K@Vn z!*w=T)|@*962amw6Z)F6&ocq|3!fp-=m`ZmM=5{6RxP8ccB z=R7u0Ev?aVBGz{ICE<~IKyPFDRh0MnYmr(QjR&jqO#=cX-f1kdlJoi6;`XBeposdN z^^@%Pylr>av$-J>GA9MX@MYjxuVcG2g`4@iV|i=ghrH%5n-lKtP7tOF#6dOv zWEISUDEKGompO&CAsqfhhFh07>_sTWd#P5S{02fwV2xsC&ue5X^r6C5@ zPt?XFgjl*!uOTz^-GCxrs#yoKsU0#BO~!JWnt7Qt&yRRz3Ym3;3hdBD$qX>>Cp0un zI~!1ycYT^O-hj&${>eG)z7@N^EQX>*f=7^5nb}k=W||4@{PgBf=j8i(0UH1xao9yL z>9iwV7DlIRTm=aVvPF(gc1wFB?`cV0LZUoS?_1RPK6$NmLERadk}%StG)j&f#}f@N z_PLijiH^|EUp6%|Nx;(4Lju{w23&ANH3_Q&vEh561s}LMR#aMjG);)!i{!tB&!lz4 z(cc+~isEXvVwEjbh_&M3j?J#i=Qaed9MG6R`!t*-Yw~Y|0s5WEk!JH$CCzo*N?{#U z`DV~-G>?Zc=6@_R0t;3`&a9h1F>9=vktO%GFx&UdYAb z3@lG;wj128*zj9EsxXapk6-n2$ei$c71Y#;&Evqf;KR_WmJ5rB2Gqw`IXq-|FsrT_UuESlj~~?VgC5E{zrjvW?d`P*aGyqh2^41P z8y0l!{jpEV-yAmd@cunGTnYD$>5ulI*d1=7$6E4K2-)Oca#tk3gU_~Xbb?dNF;TCB zz`+J0(Vb7j6WUAE(UgL+r#%|V!E|9%UB5=+_TxYD7?QdBBr zqTY}Y41G^&@g)hTIja1U`_!RJOM=P;2;`UgqO4C@#>ymbK-IFAQ}Wop^Y^@ox1=Pf z@{7<~r%1b8czI96@3)Z0eP-Z{TS9sFnS{_IBBmh#lo)R*(n`tvW2cleV)46;n%@j@ zaH|Y-T~MBoe-cHZJg)rx{^I)=NiwoWxl4TC#8Iu|AAP^CRSo!Y_iqnWn;9Lw z#SBos5fnzgx!klJ+LYSP7;Bjpr^$*#Z0h(esHxs;2v$Q~JFXbA+J6yx--FAFt4V{C z2s4|UJ6$F1c?KaD&JNMRuLV?8#)7kZASCkIHF-I{gJ+@dKrh$xAsXRE82`IgYosAL z5;v|N?AHcDTK6e_zM>;)sk0ZE-dNKJqigwAJ9Jn>r5SHdda3>g`5BKdH%eB*(vxp` z=k|hQA-C=_$EEVt9EWNO4H`bas62~rH}I#%89XaLb)FwJ@lJxe*-?54kioe4O_XM` zvaDvZ6NHk^>3VVl(!ftZwagaJ;iaHXEJ{KE}9N#~p2Vd`Z}G%C_9s=r@Y;=X1!Bj?^e zZ_b;`(nPqx$w?cS3I?7P%Y3CWSE3>@Mw$5ydk-Ut2OBdRqUJ+V8B*{`0X4-R=69$W zpFsTAr|BN5Ik{VdnK?Txz1;Eh(ALK7S7J=#r=@2Wx8)5~LZzsrMv1m2OIXnPA@=3q zHN9dBmuifWFb;(!y2@u~sJFx*bPxxUuzq|fR~Qs`wn`Xw^=eFvn_ah0vFc7s>TL>t3*mgY zu`y-u`>q}6m31SGIk2UAyWR=xJ@S6N_ir)$0w(U7<6Va3AC`C_Van*4kYt+ERk{E*t81?!_*<9ql!{@ZrkWv0_aXoI7`5 zdm9PC)*5X1;!V8r&PKFuKXjerduFSDsj&{l{_EkPim#QLgKK+7n2mc8hje)jKKBf+ zZ|!d_Wf-HiBUjtiV;M=}v|WkE*Z!xdQ{4r<6!23HK@ynceFmmzpTr7x9DP2NK%ldE z5a#;_|Gq!?B@66ICVa|EYA}u?WtM(A8jJXxKe%Zg$3!-Qmpd^O`4991lfaB?P7QoBPyb0$cl&uPlBJmOYAh0u-l5w zoOr#hGBlcW=rBlXtO&m>A>OW`I@^iezON4(-16H(ShXZ+&Zp-^EY(>93GnUM=&cBT z+dn4iPKHZLh8BTQ;AXQ0Wl?d6ayiv@D~47?fKD^kq1e|m4DV!JC&p`KZ1LYupTw39 zvk}YQcm+j! z20FOtgE@BwPRuf*vdo6;N#igsGY0M3-@yy-Z6NI!-0TQA)&cc~M=Ctw1F>WgX8P9P zxffTXb!hvggGxqv!2fu-665c}kJ~@R8{V&>k!&!?-z0n`bo%l!Uh_x%CwiZnx@|B> z@^)ZW`!qBn2U@w21b72zi)JRH1Ol3rpvK5E(bP)9}(`} ztt2}2dc-^I7|{|26I#$5`E!)$5`*6!9*M;El`RHr@c#iuxe`u)Iwomw3%`8U+_-!PPEGbi-)7(?3P?q`mUw+ zu!Z&>c*HA;7B>HQjMP1hH=}CRbwkA{PZNx7&!Hlw1+7LYFu+4vbyBrVZMFlgk@xkx z&K^sqxT@gmcpfr6>wIcVixqe$c5U$6{xPfRI&>*XFlquR|2D-Yq0L}KW@j5lbOtgN zbovSquX`FFM-{7|L!4*dhDhf$Z1n$zp0^HaJ5HRdoq?yrr(>U%Q{pkh1GCPH?AUf> z$IwErIrN$uX`^;0b9i2 zbl{Wr7GeA5-vmGPjzznV&hOAPUw+}i?#{y$`Dd^dYSEA!Fu(84#I?_3RsH{<*R;T- z8Tja$PcfpylY_k2KcoJnK$P%-5?x=8J!|j4`m_#Myk6-2y_@)VYIO)F(LA;paC+l0 zam;O~7=2>!+rtyqQ4ig!80_(1j7a@Xw7JJ%jQlq=ofQSI_UJ{Wb=ywt*nL0U_ga)h ziWGPO6XbTi9%CA{$Z~%T*SUj`G;|QrN*?5fZ9_rCdZZio!s#=j#+8n}j%<|J$D@6a zQU&I0c^B);p6<1db$YUqgw-(2+>Dm^?BLoX$MQc5YL(dt*Y`9_6LmC0eiLoy46R32 z!j4ju?7SD-l3U=X4!yzeSLEJ9muEXqgC4sOLT!;f%n2lB%=AU|RQBDJmP^hRJ~`*dvT zn2Ij{@QOsuFwEexx1tiCt@$GO>AMGud*-;}EPWHE>kILf@Bd(ywjq%2t|ukY31~MO zF|9UWZtYS=(zY!q^W1>1Jdx_UqvcX#GTNoT!YJ*ANN*RI=QcnD&r=jVy-LtYeTzni zG9H=I>!|iViPznS`qBQL`WB!2U!y&ik=SbsuI)dCOqV)qFDt!AB6gBU65kZowo_SWAz8T$PdWP+6z@b`8`5=ugH1_R%hI9b!76=) z&)g5A*n9LHtSgK;XptU5RZI=)EoMZy93<{!bm$F8?NE@@(Te4cpV09KX4*a!B!+u% z5IJ~tr8m=P@WOq1jHyg2Ac@YMQ>KJ;~F_$tzHCJ!+{tzE| zy7^}x0Wq=%XBZ!bT}hy0?Fp_8;8L;?MaO^3`75;eht529k#Q7k((kY#txdJw5H2R7 z4y1S3sGX!D9Y4Yoj$>z{)?aQj<)9P~!Gvw_N>+NhxUkxJBO3hubG1pMYLjnxjqYU? zH1s^Gw}h+DN0G)-#L5uQND&~@rHn?T^fjLAdMx-$5y;Pjhb@)(pLadgk7nql8oG!1 z$ddjE3!cR9x{h5MLxvejW{l{>1ru9v*4V&cd`p*B4b&%0`*+luvAxcO%9g=#6=N8N z`L;RM;(lnSZ-#=5Ld?GEHr#gqZJ0lA5w5+DUZ+F{zhnj*k$byQ4W{SmRoDwe2UY}) z5&_@@!tcF<#7e4kbiw7i6Cnj6SRaViFM|6CPxE#X;<8qdNvZIf^azyoxVS0$bPgd zqo~{haVkWxL6LVoL+an)z&Bx1&xMX*)Tx3-Ag)FDTzBXd5-X{6okvzaM~g;M)I9R{ zpI(hsx9-3vw{6EolbZ46-Y{JLd^XN|YBXNm6gwosUSJAFVed5?1Jyel(vZ|Gy8Mxn zB)O>lWzoGo^q$IepIenN)HVm_e)mO~l#FIe;CUg0{r);&(9(0nPi1lZ1=SO-1CVp6 z+&olHE_!vtp(G6`*L|EEu=0?C=>}W%foGzTu3g~N1_rgn^VFjx)9V35RQy{1Npu$4 z-~git)Y*xBI2+j-2dz71LYD~*6P+=FXpG~m$-%JKfq z#cCw}|2w||KRT%nH=S6Ai|JWCE2|S(aZWY%3Bxc9(>udU+~=N++kSpO?!NFe67+e< ziqs=5m&E>r>|>Ax|NDuELf_&auZoY}5W+UZesQnni5ID!j?6s$U___eCyk}oF6s;) znfQ@NP<4=~P1PJKEHh;ixFpI0Y4Zk@cR{7j94G@D3G+5(EJkVuz7H`VU{j`})9BeR ziu*#|-^Ulhxx7#$QUCkb*-4PI=wF%s3kXbcU!90Uigs|Kv@6I`?~@qp(JBYThzPXk z(h0euC$V&7F$s>8X_+?si8_g2-nmW9BY*ycW^Ai9sh!GG{yGM?ygCBwD~2`_s>m(h zp^OXGu|tErNQw~KGGa7GAEP5lBZ5Y1RUv;clF~&j$cPlp&<==7QU+a3&+8Pv|6L?* z#o$JVGG0ylcswCeLbfXTbl!nyofym%83*DuheoyUix@euZD=4=STu?D92(pZgMb1t zcpx$tL<9!`1i2*c_u*8ve#pVWH(}x7QmksQ&M`7a&1b$_bT~D5WkVe9els0s|05Uq z4^2>0?}=ygJ3FG09O1@=6Pt1C>^eMnRu!K4K^fk@u>_m%-GZ-vx)uMsZYQ3+WDkCR z`aWDUqd~O<5Gnb@06>iS+ZjY=7-kp~SAh9HeFXn{_29JY@8H!(u0i%N$>uz)#C=#? z8q!TRtp8vQDusU3>7mo;VbHU*A1ab$5+x9#r1vO>p_wVsajmxm1d>bwLST_I)z_mX zQ{zCBGO5pV=nq27in#3>5}$^Hgs|w;H&drxI)YhyL1<8;!6N1)H5hRO0&SvBOXZvc zmxem@-9&M3gl6@{afOf;xywbm!f!$}cAY$i{-u(TLNoV)YmQb$|Irbz3fR$Twj64G z5XjFTxUSd%h^77@OgzO5&uiE0!iTr)P-lEfe!hAC^4#U6NRD#jxi91KgMa5>^1~BU zK`%O$bsfhha&xLI(n*qV?4yo};AsM*bo6Z|HaMsz_0nEKf|hS`ac=rA0x z+z^Nu5^5SpqiAoF)X4P56C-4onk^%Ak0d1^&|~EON2(8#Lx1@L0~g%~xdMY5q59^A z7h#B%4`d7&r*)vte+sqf1945Xk}z9VuuqwXF}lIYq`)x8E5d3@hoU= z0=#!~F?-^#aJ?nbVAc+EPuOa>hs9YOQJYXi@WEw?+Y=Q(k=>K5`ttL(ny$m6Jh|MMVT0M zJqR2_3=RnKAR(9DAKkqYRuML&!ley}x%?8Tj*!VU8E7+x7Um(t_pNqVW_x<3+xGG2?&T z%Oi2ov!ih8V`J2TTk*U<^NCzs{Zbb0Uy+6v*2k;QeXn1_yxewmmjC4|cVp8%Tky_} zC8|}|siWI5HN%F9sdgkqa&MAhzMsS*(HaX~+h#oXw_o6i$DhH{rw=U4-`*UwsXP7| zUS|2bSKx{NdmOJ6RiUz`4wZY>;JK$B$8#Sa2k8^OgCvm{Yzz6K2WNP@BRa35vnr>M zV2TL@zX{D^i&?{VB@fA(Zx)^3M51P-`nn-044V^@)!=mlNBHPF0z&wpbBdC4=wG?d zS=GaFuurYs=zvzvQ{VR&;dg72CZf|2=u~u{@$L&D#KkP2xGx@rBUS!p(JE$2#f)iB z3kZ@kblt+8AhjO@1cxI@7Bj{&TpHgYt_25N3BhvgpaNDNeUcWV*%r5&SGaeOprbPN2MyJ2O>j^p^lT8%Mt_(dk|i)OsXilve*95#;8~VO!n;N}MLnKY5&=UG zAjEzL7ry-1_@xiP%SfAB5Z1-!9&Z=dUQmD?i+=#$ypP{;TM3jIaW@dtSBb>(74v z4D(&56Rqubc*3(W`>boQ=-Qskg0l)Rv<{qu$M6#Oak(g*Xhq$}kK=)tS7S>nV2F-I zSg;Sp3@##=Udw(z;X_BW_jg`(G8C;0y;0h4nlH?Z+mMHp;Oy7YV3u;xYzcIj{d6Y6 zZ}mt7zL?2uRtkEESkYPbV66JSFYAQE(PlL5_o)?h8eC}ePf$(N`^!j87wVOh`{i#R zA{11wBN$XKwjZtlX(S}XjA_W9H-s375pD^>J>h7G4xU4Ub3MX!M`=0F3r8ywK0 z|1+V25wR}nVAZH*mVdpl98=P4YT&y|{+WXXf6v9gzl=w_tqXQvcPNKRQXbKP3f zV?DlHiWr6&4D2Xf`!PP>2aK7$087qa*kifklqs;X&;8(|A2kaL&s~5Ma|^NL2Nz)B zteIGJ`AxX}yn^5s%wQtKz3PkJW2W~2qVsA9KOm~KX3YW9d@-Y}gds)Kdn&xyx>jV7 zsQo5Hpg5Q6^B?RCd)+Wnhgk^xuaeRSWTr2~d#93#ly1|=Bh+Ae6X-k9i67Xkn3#2S zk-!f5)Cx27MvI@0l1_rXdmQY;GhQo1ceFaw`Az=zAwriBGQBoP-<&2ZDmXJK%0b*C zQGVi82pVzxG|kbCNt&b#*o=Yu6uJ&yq8Z+_a7a2S5G`HrhhIuozdIa8ogWMHTU0;E zcW)}j52rVvqQ!upEla%%&tbEv|fTs4h9i&it2tLIM~HR#9k0>R;`0d z0ky@W8&Dc7GBtsLKXrhG+Jrbqac|sIMlPhPGvNKfEv3+NBrp&v_95CqXmHCPVNeGV z0)F?xbl(R<(4Rk3lL?m+rv}hF7>VwwXrud-Q!#D;rujMae4VFnMzde9rt%Ymnh{5s z$%A3O>(qAWu%pg|wR^(x_O@uexIP|#_#j!G=|B7LxvHPPN$ba*r_^BCwL5#nbvbwu zv;M;LUzq&=l(rXs{wHU5AUpo}c-}D#(+4Fh@WhWV#kpsmi8BsbF8awcC}p4f!ACFa zs51m4jGKd*aW<@fV=2})>k%De;b{3oK#Inr&hTlZLua&wAW=K%Q94K->Zp22w2-(L zh|aOB1O^164@%QEhB~Kzu*^K%Co2 ztc^xOaE7io)R{?XEC~uPU8_@#@GtJ4_`Mj25yTv207O5s;0d}sgsvkbY!tn$M$C7T zXm=>-eMa}6GpYl(&924TpKMcuAB~K2;a^|IeDqS9YQZ8n z*u_LxoCs{jfQ!tCBgiZ<6l7}r=)?#$n?UG(2;4dkY*b(SW949x{BSA>s;~b30h`Fc zUncR46xK}|v#bspsO?sAQoD=~q#MOty8psO=0GsL?r6|~CS^ME`e~pdf`;B;+y}QJ z)9-Zjgb4glq}yW{W?+;y8dZ0%Mf5jl<|E_q>-SRC7%sgn!rcF>a(WK?B}_=Mt5N)g zpZ`A=@4<>2N>pEeA^d+fzgiu@&Q0un@`PcSV~q~!m;Vkgzxof{cK&Ht^nWkm&HufM ze>`{v@&;yb`mLjhjE?n_}=P6f(=T*jPTx1aY0?8OzH5Xmui6&{;caL?dmRgj2K6b~sp^Mi;(rF+&L<%?s zI==!x3C3oVn8B40CsB2nIhFX&z! z2_pDnvi2&}hAUJrB=tIku=hs>&PTOl==9KClMvgPfOh{&=v1_bF#2#>ZaZ!{xegDV zQ-$*;v|vhx9iNwl1vEH*U`0If&QMg9Pr_rCNI@+}dWl?eP${Mwu2;!V}TJKleX0*H+ zTfFt^`oUy^_Ds~7V&T^M)gW>`kyMKXqt6YqE0XHmDmsV2K)|=jEL{ei(wWdnwb&ai zggLb-Dl-E;15B=1_>@;r?>~GU%+N$o8#|9$STm}_4C?dIK-ylk0m)6}Af8=rKip15 zeYQk6jnGRj81Xh8>o#he8ajS+aBn@4RQI6-dXDbG4!UP{dUhR-%Zzo%(~3ZRMtaW0 z)9XF-EZ#xw&xVcOh~QQX!weJ==Vfb+8S5&-dR@LGVgKRINHv=O3+v)l!T+C4u~@ky zihgH7vrVT4ggrT@6Z7-huxN6#8W8rhymp*VVqg3XJY{q{P8eZBeo7anq}$bCfBjtw z({0F#cOuq8f9*AjdcIg~Y2JneuzM*;Ivi+Gitmee3;t zv??PJBXyyjx|^lGzVn`+pdXKYmZ@knd7#U%Kr!o}X$**PA@IdOf%vo4KY_2nhbTI` zF0}dAs-~)^=tt5yok5-K8v3@Kq;^CR1Be5mliOOgQ+pe$Lzr{IU!;3AYrR$eEpvQ+0pF$DZEvmrv5V zY5QBDMGKn3Bs5WZ35x?42~VrN6S6;?zVl$8@AGdI4!x1B^&w1iHC=~e|8;27v`96V zW2A8>Mn`W)f$0krq^v_;$_7kIEy7t7o75C`qEnL)?!^ZsQGwt`%hU1ZmKc;Z9q`>h z-nl^EfFGMGsdg)<@EfTl4_FrzYDZGp&r=0=BZ)pSFecnf#K4fKyF%;=;+!^WWzp33 znn~PmRo4xaLj72{Z~~o2mFhMl>aq}$5*^E_)gjH+PRI09JBXt{V>Kl7N`k)}9K>@Y zP4`0*$f`U(q&|x_8yJ*Q5Ni*El?3NHPi^qqZ;x5}N%Sn5O3%7VwOy+Nd(?RSbQ@#s z78tM!dwhpCsm;C1fgrHV+&+9g;i!R6-V{ zN*|(0x{>Nf0|J>W4n;hhd=M!lWolomu-AVej>W+UQGc1C7Oj3AJ-;VmFP^36!+5$J zC&p+#$Gh%f;xx!G-x0dp8q{~{vAx!ePf8=ym@$9ak>cqdI^vV`L}oUqN-7UQIj5 zFidxR(5B{N_VnpEVYC(chA**nlNX~hWbFLnV{EHFa<`geE$*fCkvZR_KL(9ylMAq= zcz5vA5s*-b1y?S{X=4%*8*;Vw*|6@dC-LXkHV0QQgMmn!G~f6`l>5(tN!lJ<8$bwP zF}rO_GeRm|8we!%X=uquTN2@d+?aJxY&CEdp zKB127?Rc=OZ!_d;&6i=jc|Iye_@Pe2t6kR0gVhz=S|&S@Qbf-bLr8 zNSIh-zSQ=5PoR3VbB>h&0cSt~eK=sR^XmGh{K3Z`NEYfCtk~%_lSqSqSn5`D~ zP?)cuP+I|)GLp8d$GgtE(L&;Ep#0Fh7%j?Kbf34Y^;6VSQHMo+7WX>0wE>CtPCCvg zL`&Q7udY7@e>phhYW&F7FFR~~7Hw5X{)x3DZ1Fz+-t|2FN&WU_mW0d7RhFC4piD)( zrDlJ-7QXSqf@fS!96dAc$Lr3+4}{FqPl7>nAIbHt_#`b&y?*3UTNHyhE}uI1Da1WW z+SGkdsilsB*NXA-BiQQy2|a_hs3N{ETu6ssi9iPC;xR|>LHDv zl^daz#1N_s9oliWW*+XfXQQ?c3m=AIhCjkGASuF)q)2*=bR${3r*)IlZHP1ltf_>R zfv_<6s3cNNGsrLu5m$iOi_gbgs~bC3zmApk_i|RM8|y!Q|EO}@Psq!`S6?4HojR<< zeb}rU@!*e7M|9O1tS)Y$&JIE1zH-xQtlh-3_k+n?T?>+QPr$BNVUT*7mxn}yDK}j0 zvF*hVjjh%}_(VKm`vI50-tPNPO^_tAfmI7@pn?y*IY;6GHz zm}!f1OpjuFOe8w943MH|5x)J@1=erx*~)}?agewdGlO|84SkAoVcP1ZbFwP)u-c=; z$%dbyNhu&P6zI5rl9~mh?1#9daO&U-;oBQx5I}U$4H4Qvz&O!)H;_yy?}U^3>{F_u z(BZiPpL!4P%YU0?F1|8ejlHoBRZtx4qkK3*f-S$X0XpX>L!;Y7rJ@Lrlb12&YbfN!S1L2w`_cpw3}Mvn?JC zQYsqcbToFvquHH^HeEcr_GqxLGZx7mMr5}A5zCz4jRCpaOciLC{)|RtrusP&TQEXi zfjH?seC!5Vq(>1a=b|K`L-n;j_&$dQX+&MKxT5La#bdAM9BlLUZPC&fSD5cbhmu2W zb~nCE$`H*lATkLtpd-_o>9rNq4$@Rtjy2B9=)4C$h|m{v^oejrJc_+BU47Q)(DjaO z^drt?LyhOEUI(NGlNj04=U|Bl>{(!VnKZZu8(qODFxOIBo~rX;weK%f4^ALKUjv;~53dqOe=jpIPjfDo zyE^cpM_2(c4D)?sY*H6yjId$m$PP@WSHX^26V~nx$C|Qmd{KTN<_N=l|IooYZwVHi zR*1Z4>c8z-k7chuhxNPr?=ssPEbb43K7SGJzGE>)R=tkj{^fa;HUz(52AxZdO(a-8 zh90%lIqW%bBBF0AQAWrqX2^D`@JgTxg*va&-VSuRB!7Qv!K&SnwR zO`$bi$^?wn{1soj{?}_~GhgFFn*I%S7SNPsQH8tY_QP+X4syL6n!29Bp@i7A>*zbb z9|a9HF!~N{j6PVXgPe<8=|*hw?nJm|1+@a|WMiKin6Jtj2Sd6UQnejjo&G*&@5La1 z5CC$rN%bukx&#fQ<2VX!)WhyOUY1b=ZT>9P}ZjK9V9h)nE@P`<&X;7~&1 zURWzw+eKCaGv;f~!rN{yEeE2bCx^RnYvx>7;z>-UZbC}@9weB1`dZt&BGJ;B4rfOb z*0y+6Gr?Ae2Ca52z0%$5qWARLm+$)$(;|EwGapSBpL!kcF~XW5Fk>kYRvnVl2X{pm zj2;6D8(+f9jt|uDh7u7W{BCnOiJ_5dV6nkQq%gb6WW}exe^K3Tf$($pD^Vm012dxu z(idpOcyt(C*dDJ@&AmlH$b%8WTOAN2((j!R83FBZyKPM)MsXf z^d>gDpFE^Ki@<#68BA0cpMe`O(9`t<22uqw{Wc%j^55b2{~LdCqzBhC4D)?ONjzF7F2ZB~eh2TqBbHb3(3OQGLYcuN5IJ3je2@>Q zn0ZvARm2ya2$I)4sp;ZFcD01}c zBZAizsZ%4FiUD^7RC9Zic-apL8^x$qBj&qxUaAX$fPO>Ge0>DI^8W|9 z+QEO+i9KF!tj9+G1N7cWb-i32Br-|cV8l-7(1=E5ikcEq4Bm+P*_*Hz=;%9P31Xu% z6vSu-F1}J^;p-nxMeW!h@jWE$1tNW7s7_14Y!=CKn)*6en51O2?rVCPu@522K~0Nj z5YG-Twki+cI#YGv%RwSa_TUE7KK$Ig2k{~zzXbf)TuJxn(DSlt0&YQ#mcX+tRA!-c zlOlFNf6_PlsZNW*o&EXkEy4B@dPa(87d<0<^o$U$0FG{TQls>AB@)lr&~xSh3jMAf z)yh0vL*;dkxg2+xT5**r8Rr}4B1`uGKJ>job-ke!d;9#2n;h_8!mbcx6}x)bn{II9%;0-&2gDlHjtv2Dn( zeEroVuunjov=!UDy+d3j&EA1oIgQsP)BQVLJ?5^MzzlSEk*&5vDG;4M+T96_Hy+_q z36)DlaEqg7qJAEBMJGV|hTxE508T9Fo%Lu{rXg8wrgmA3s$OQ+2ZB~oaF)IaKO$i- ztTvkbdeqWBopg7svKuM1?klgbayh_s{S1=5<53mmA`vg`kMJ+bOPJ;xd_IIb&DiC8 zm(H>Gwk+1>>6g$^JlGpWzoC67NftHGXpd*4800bp0*^ZV8a1XDP+#OY(&aOLzy6r|eW^Gn#>*mporh8ezS z5H;as%*k+KYl#!13&tTo+X~cf#Iko*qrM}!*%83e@(+i-4pl9FM5K?x==4N{d77}} z>yNN@Bm3JACI-om3EERh*k({?xu@?#k0|-hZsIKjb=XD9Cry)Me~Pc}!niv!32ZOo zM1Pk=$Qo1}6ajj&{%n+n#{=;sm`Tj5>7+u?Z-l^?+g*nYFo;gMkfv=$vA;tj==&uL zb#fD7lseF+jHQlsjVjo?NPy|HbkM{FJH|FTNC$O-O=hIp4&GUJ6Jr!={WfCukMxPgXsHYlEMVUDp@hRJI`Ivv=j#}MEcEYaLtD-N2C@T@Yyi2b`Ql}RVB?(^tQWC`dw}qLg zi$-hsA~mCd$?Jtr#2|1}nUJsvA))}Q*%VrxBx*#uz%cA}zTM}*$6&C)AfZ*dm)=nw zkgKuDb9kTTfuN%{a;v!k8~jhw?mf_>=ghMhSlSmJrOu$&gomj!xk4oNMd&`*=>DX1 zDlkb-Z1$`Re%n7LX~)n$W}r2!9nDl{#k~;w?T#qzP;~wnhaO>Q#b$4j`uS)Pv%#Zv zi`7A%&|p>ck7i= znkYnR7NOPBMrE%Lw1ea@HBD%bc0g}MJ2;RMkM4u3dB25}n62L)YgMfqMEQyO5bkmB ze}+nuo1U2o@F7OMw;HKMjn1!^s;ExZ(dWK<9})t;)e9FXWfMw#V(@@r80JvyZVfi? zv*6_oaq8^8c#NH#-GQ^mx8d@sjr2UBCyG}>gN+9XnePf7xHZv;j+9Wpry6#Xg4W9Q zczNkd*s%M^BjpQ@wYWdBUevcm>TE2z`)Bz1;?po^LILKSwg^9`&r9YGu4(D_omAP0 z7EGW=chCIOhcn6Fk1$Qw%FqP25x?mhVP@KjO8){(()B!63<;(-WgEG0;4$SPg8com}Wyq0%j=f}|{fFyS zks_`+bRA+}ZW2dgcF!NC4_GgVK<}a`40Ntu`fLhZdpn(bmdHEa3lm9zB#*V>!Hdtw zQ}Zsz*`r>^?xsBa>C<20(xva>{*`~l&sIH-yDDG8U3*`|J=_0{d$&A`U+jJo|E~WD z)>O) zbKt|1q|HKyA+TR1F>oFtb3hM-Nivm<5+C^9MdC!{#ve+OH4Esv{Zz*s^lu=T<6v>7 zt_ijNtEs#qNh}HLmVlramMtRKqKHc&>RzMSqSnLi11f!C@O#y|)oFCWhFoF?57j*q^bqL{zq#DRHo`Q&N;zFM&1V>f z=?`0~&G^OJX_)!QINbYII!YUjxZ{)>ymrkle0JM*{OYVKoJhi7+x@}LFvAfa{f(@% zAv!Y*omG3VyWRuqn3+gF@Mm~fFsx?o_2bUKMYB^-^}k=^mY@9@ua@|bJ!L8qyNdDI zhAQ+uFUAanaau1V`6lQ{;)leqpq&JPFct07B%cV)(2Bg;N{2@^%|BeecuDe+9I+xx zF2lo4v@s;2y$ZBrsf$h8Pzg<<)24mR-V4Ov8DT~%gm1i~ zOHFGP!i#w9R+d1ER_fT3Xg7yLPuHbQ@xwI20zY-i{hboDtuFXI%Kq8=kV(GLNY8+H zGc*w-r6XvEP9VzIiUds!Qni&Bsojb(iJLGZZ969AmSgecCR{V40Y8~ri=UoSi}Pl+ zAvb#sorea?b}qtWpWlafN-jWUTfqNU_^o@gqQpo9BqxV<`Z z=={r)2OT7Aa^!MU`>T+sy%M!ydbCp6Sx98|HJdB)tZTeNbbpN^Z)@Poeo&~Jja|{1 z&?t1CDM3@@gGG%%6F7HIiwIbzfywa^8kC-H6@$fWodZt!K`Px2R7ZNCbEd)Je;Mt4 z%)AZ+VeWse$%U`{k5c_`alfV`ARx5R=&jDe1 z5T>laKL5b((W_*h7bh0xaY zBG`tdW+&XVfAMVE9!Gy0sSX7Of&y(ql#y^T68B0B9QEd6G;lHm&uvosN3;5iffKM?gZz#KMeYbi*Wz#7a+Ri z75w(8mC&Df8-8~27}US>e|X@9??zg!{Pr572bv7pHwkV3 z9(ola79^6g7M+^&UgW;-jZkE6aeQ$e0Yud4iRvFEkut0_+NgG{Ez>M8j*_6a8sTYn zBd&ZmMzm~4wyy{oF{Kz2wF72j-`CL>oh}V(+jXdE*TZ1*!AiP(Yx@Bcl{Bsxi$p9Ie?JI=bN5Vt&FzC3m0?@vpAwpU=t-Ab#v4U3cyWC^_BIF2oEYYK#gv8_x7?50$2H^m zM}Ldun~r>d{a8oKA6^0V>YC6JmxGh$oQcaWyci26C&96ECI0o_caAF10n?Ld`h0ZZ z1n5yo`Z*xdg!mN!=k(D!s_+Mb+X;l|lw+yG8j5Ks{KQGv=xlEIyox$=F2qEb$K7N0 zJcQ_Qc3><YIVBol~*HREVt}TD;Tnh36Ek#yNPW`VzcRei@!yzXaQt zUyVCI*@zdvjz?;#9mdKrc(d{q>}i~XI?@0Q7CMJ+v#df0`m7dJ>~$9gqKq}8sT@Q) z@J$J+;4p%tWCN^I!CD)u`b#_3Hi{XQVo3IzCZI+&UodyHluLJ(~-BC^YV-nOj58a;w2O}(d#6X8b zu_94^jjl(G7%~jQ939Pet?HvMvg|y+E?y1Dw_;liKH3?H&-aAm>q_d^(6jEG@vXS5 zunCjW?6A2sB=R}c9&?=Hb-)vzj7WnEl{+`0yngu1+z+pSda$8><45?Yo;u8WJ2rms z5B%n@EbIrH$@){N6PyBF&=*vQa}nf8bUw97ChD+~FbQ_lCA|dA72oW+QYZL8 z&?q1D9WFKfnJ`xt{>Q@1_25}OS#qjEG*xcEdQXLFDmp=bA&O%np-VNZ9b`=!b-qRZ zc@hbJ#Ro-9pp#A)nXOcDFZOd#=)?zH9^z3G;ebOg z(gYsf1YQI7hH+MeFJO zC7I5y&5Mz?Ds1m(M0gQ^aJIe`=jj_zSylK`7z4g zfz6(6!L5#r8%)*Mtvm`BqE#U&%6%t^Dj~SE!eAvR>eYA*RR3k+QbFY*+C;Al2|#r) zKxAE@`zh|dsH+aWj5J##+**b1uUB1swAl4jrf8?;R!{9lL5ETRr*tt!YNw;tVh)(Z z`$!~r^LZD8MGBoy$kIa~z8A-FYJJFbDA+W>;C;POpr4K1(IRD>zlXT@jE;pr)^v#b zj2OreGvke>FjSB@t+Pa+OD9};=(;qsknCHJeg3|MY6#IJ#_JZ*^CCo=COVLdvPdob)K)~ygM$(GL%0t_P}50twV}wnDfrC+rWx|7t<6M3SO;w@ zLldQkKa%QQFSGXhp_3NREmOTstvmgRQQ(m@Xr|{yT+qcx42%ddA94o~g9KiBzJ8Ml zzp!ZN!bptMyn)q0%MXTOn88Ar-?uxpsPELFyv3lJ@(ba=Vp}wpZj4pGo1SUI4@l%M z%x{5%w%=acd;BDZIdfrw zu;8BG;kOr0$Apwr;_o5Y)l6i)(9(vVOI^~FVxn?#&en9S2}^|S~PDmtg46E8ZUp-#9Eq6(;E zj!f#bE>n+2Vv0JqApv91Ix#2f zJzO^NDO{5OZ(KX^Z&)<;IZPY>0Va<71e3?TgT%N}G&mCRMa_v=sr&#-4L`zjnSa2? zmc`g;J_S3wa;Y)L!{^gO*I-x0kmyv0I`7&9DhE2IE{24YS*CK3;U&>38R>jFNHBEy zpm$0**S{U*%6+I*&QWK3jnW>vW}oW6@6_q`&%_CHd{q>>Xdl7ym6NCp(&!R}P7uYV zienONc9B-jO=S}hQDXMKyJdnvh#5t)pfXxm2K1cG4b3he5PYE-N)ODg7+91QDDSp? zUrf_YM0o^>n`pZK-7+YI27T1?rrk(kR5!%^qB;Pb3|E^QadcmIJHJ%7?~4T4gLCzb zYR>W;O*~xk88}_{H8y({7EHNNT`97m2Qn4hwd8KBDR(hJpr8 znB>K2hB4Uf|Dl@CUd#v!Uuj`VZ#MYh85MIt)H{Nrp2|T^pyL^-d_ zZtX*bR@kV{hS@UE;r(x~e*6ProOU6~qQVccL=n#nfj`QiUS9|yoJ9r!@odnLxD{#W z!~j#1g`N`@Hw^j$>Kwiw+`4Z@YP`_vZ^hnNSHK#9+CXo!+XC^d(b98GBf02$v#8vn z>32>T4-=!nBMY;BAjKhJi)VFUWj6x;_G#D|N5Wn_9}eelAA%}_NQoz&kKG46`a+bI zmdZ%@-#44h>hn|7Jt6AFwT9w5h$?olmC^u*KzP5w$aK|WFf~SMz!vYGBhF61Fbp$L zy4)IkT^WWK*2k-9_aaR`+<0O=esppjPR(ss{q)7(s;X8t+h>k7kw`xAbetUDh%Xwl zaQ=)`v{W@BJdOH!dp4n{^2k%Jv$#JD`pIYGin9vfD|!=udUh#R)#{NoehktbW%z7U zjhHlMj*<-O-$!Y#19h>{Vf618_QD_3A7={qiUwz-#Eh~mB1ne%>!J@IoV`Cd@SEB> zrTwTPpPt-8Q^#E< zL8Q(G({F=)W5uFFu4xk%k9ih9p7lG-$XE@N-ho|BW3Z)m3O=crhyU%l5F5Wd9iM-C zAwK$i5gu>(A-392M0xr+*dh|44JVO2n#6k-?VtL_J`&o#_JEMq(RGV}Tf*d4oUkU9 zwxLroBpU*Q8?ppXqX!cGO;Wn(+(}2-ogVl)&VoydBz;$=np=kuX$8f(3(@Tl)4`h} zQpg3&w*{&hzHq%3dMucQLluZ3I87rRg9Kr~G(QlCEi?mKYl%P$m9H3>X*0P<02q4A z=8Boz(Cjiu+zE>ZaeqQH#tEHfL`fU5y&rkuC+p9^ju@*Nj8L`c2%URy&_~n_agE}> z32O^Aex4yP@L_HDlDJ=`Zr>eI7shKlajBsmmm2F}lBZ*{|9))q-;H`@78)=cm*|(G z$g4X<;Gb)VL>q2EYgi*1%yiwtqGUt_{4PIqwm3Tef6#V>B6c#JlSBR!Rc|c}Ql(nH zqP&H$Qc{JP0^KiF)KfVGMZG4Qt|y$TtB8$A?L~^GS86jNFeG&J*(=%$oul}l#Gbex z+V+6l67{0{B7Cz&{SzY3M{THsjxQ`fDkJDM%#AKOrVw}`kt&3}xX0QkF$my?Pfrar zc)taroW+1nq|<~r?`l-|k37|ji0mI8dF3JI?W!e;s23ieT3@>#KZMv;oU^z_aed+$ z;ghs*YE5vrz6-A^t^4K#{Rp&M=Bic;;-W+*fWw)l3j(wFEoh*2*J_dv8vsxYN_yzt z#@nJ$>3u^u4+OsnlwpqUMk;@iGE-9HR;VWVBBG9#tNIbJP0o&`$2sik!V0fv!_qT z38SfB+wdipZt`MOhK!wGe2i_?N8U$baeo*zF{3c8a5N&C*W=CqeS~tuXv{1e0Z-Xy z_;hm}i~B)fyly0n@@epE8?iAlkp!V1;naZ?9Z}U6JlJVfXJ$uH2bBt)BnmVUS|}ts zy3gJVf8*}6%Ysk`Ro2OH>UD5XCtjG426EoVBVKYsmbE0BCIKlrRTyYuNHC1GK%Yqa zBSGY|DS;XC;B0V&wiRc@zlxuXybl*t5QS!B6 zw0(>YiYrhi!cD+0X6#76C?5J_)aFKdXBTy%%T%A=?vzEv?VsiJrbVc!{e&5}Ks9G4 zy{N_p>;5y^zYxl>(RaeSB52AjqH2p-(9jI1n=YWkU{rm<#r}nO5%t~AKqkMp$MM4I_N{^s|nMgCoaO5zDH0le56T?h+Oh|sUBU*NYvvD zT&({uw$LB@kia)m;ZN0HK}9nHRZ$MOv?Rh~>E4Jz3_2cZb0oXgW3O-EK@kO~=#$Zb zOX)nSR96yVjxS8M)yxT25_EJ7nd*OcQLokm@%KOs&u-A+N%RrL7}T! z5QuW>7AW#y#Q6)+?4+tn(x_%~hMdi{D-7r%axUYm%oD#Fy@dlS>_s?finphXq?=hJIpx(%7JZiE^9NC@}rkILVD zi8g!Tqvy24!_PKmAoyWx>O{LG0%k`!R=x8&R#n?!uic5Y8@I#Odz{FA!O`*$gMP{t z_|@HuP+$qJ=#IS%&prA8magr83NPkRt}u>Ao%ZM0lH8#Rdy#Kh%qn}bqSfz1kNJwj*djKhuCs*%alIXyx&xhTF+dodd3J1I`B!bFG zjBRgH&s_*7T?&Z->epz^Bp@@4@OAni8%1v&=qjb_rGB?(uMRG{zVQ`RFp}sH$8(VA zXf>Er;Vls5D{^9seI8u4LL94R?FU0Y6@t-Q-7{)_Z;0y^_feF)H<22S7@QHo+(g-g z?om~znsFdhHe(tkxyi_F_`Qv-pqm zv*4Zv#;xYlu~)eoCTTMoEEYA8o*ErLB~Yie)X@;vuA&a^(Ca}@S5dcgv2@>(gjquX zXL%RA<$m~Usr86+rRCsuGZ6M?TcCTa8}APcz){oj*U&Wh!|s=GLym zzq_6a?qT3uWIPc&Vy{J;*@31~kKNk@( z-);X9zHm3G-wVz(PNiqyU23#_aco0`RxN+g7DP^afynY9ten*Hr+XYi9YByJ^|>Nu;NTj~Tms+?*kG_Au0r;@As z+g6UCj(RW!o?*Ne5hsxNm4Fy;EoSb02`5(n2XP48>`$7{#QSyUV{_YdRY0iXg@l8? zxOcPiP--cGIh+LKWFz!xB;Kt?m_|_tU(75DzwjzAx^~#%>+->~CooVU&R<-IezZpw zu;$SunCZOyP7=(*EZZ!@Sw=$H=YzLW3wMFxx2{8?J3pKJt5Ir)^~b0QO4>lu9z_m9-}+r z9*GMG2@H|dz~qrg$V9>6TZj+ceVbmMX&8fwxO-sF)j%fED(ige`G?{Im~u_96a;2= z9Hnm9x7p~gEeVgkG87UYzMWkNtGFFW@?M;vE5JVGGBhcZNXUCgZZ<$GHPV^&E&xTQ z1Cj1eL)%V~uf$_iH!mnEuX!aJn_(+BLC0`08m-JMEZL^Cg~hJQLhY|4G+4 zG0X555=3z@NTq68NG~a7A@0Tf( zr^UR2y)h1TpiHzUA;ull#)SpI#D*Feed31nL|E-q#>T*qVTPm)UbC2Kr`sW(P2yE# zG7y7ju=`YTFLK={w*Ch1x=I4u6N^n(qtbE`%3?e{26|*$w>CeXb{8Bl+@Hpi2&KgP zrUAPCBFbD4sxxX@MY@i>=7wH_3_6t@gkv8*aovR~HqB@H$QXgM-#TP8@3 zR*TlytI=li!5piFKOa*qs)a6ItD4KJ!S2i?Q0i%8 z5^!o>^LTS$fPne{!bCq5L0lC;)X^6K&zk%O>MD2;;WDDdOd@_nHL|02VM6RWOpREB z@yZvNS^ZyJQ~YD(b$*E^Z8Da2UXMqVhw(}KS*Wc~RnJc)Xl~w{f3JZ0yQHs3WYGEP z6ZFuGAh8{(hb}<}O_;3CDhu;}b>@wJ?h}I=LDPJ39hxu_auKu>>dWg>4Qi)d2sW`} zk*ZJ3;H$!1hy@bI+9rqUODv+*2LgzZ@bZf@2$)Z+aSTXwi{N?2u}0{k>9awGHky7L zMGJ{Su?Y78G3)DX5Pto1Fe-0FIS|+2V1z*QWJjyM+>$8sUVM8c($1o+)O$?l5b!Ss z5<4wOlXqjISKP?nnW~?G?Qz-AC6kz;KeF0f+E-B6>k@ScKY_%CxX-js8>xZ2iUf?7 zK2uqWh}}w;4|6-hAj!9ou)hFKDH=M|s8Q%Ol1(k2?uePzcB6^PPN6#EA@SczQZf$J z%7wVV@G*-0cazw+VP~9PokbOa%_J*{iGlsn(1J&Rh~%wlHU@$#rqV^y<*6|Rx}gczz&y^PzKXgb24}=TkZ3pB7%kN$T1Qny zL-)u>SEE*<_P~7-`xOIP{S|&fRC|<(kHuhv*ew;MaOY6nX4>d|FiJlx zI(S;BEPW;|IqgGO=MD?iO}AP$|%=dJs)GzdbE>-Dg99r(i_%=JYeIuY-~ zlxl=T0$!Y>7z`BIJ=FJN&_fKsQ2B^jqG@-j?h9hjAgyaRc6ck)eTnaczkOY}pN=D` zgBq$yzOarF^5PjGxCrnPM8MKGwd7gzYz7Jyv4Ig zEFo8@?h*ETHP4r{bW5@kFTIJ<;Q2Dl;fRpDxY+2#yWW+Ek#?fR--K%V+s!b?65)Ga z)1g;q-+NoSN9g}zZ#Y)%j>Nk=qSf?#Pkxq&mBrEO_hM>e9Etsl3z~7|^v3^Z?@R!r zs_y;&oqZ;mER%g_OMoB(%BJ9gR#9=QC{}INwu)`_+3I_J^=bR;^4i+v-|BllZCzd$ zTbGuKbr-ZsTR{<&MI=ZPwuF#5Cp`C}Ea%nFJ$BvA-9{~Hj&*JtQFG5yJD+*U!i_1@$jM=B2 ziX8tw{A1VX1=`8VGW!DTOP>$N)EI>0Nf@z6Fod`cPn2d!Bw?RN6;BfD&TJCIELus!KQ{BhP#@TZt>qNt`2KA%mS z$gfK{P@R>XOP}5|=o=W7e-_$d5?;K9zCG2U8Y#jo$Vsg8+WOp(5ggNapM79&fI#5p{oQ^9u^_n$55*}YqsteZm0L(FTeH^)sK5FLn z80}*$Psb+7Mk4{wIG*4Oz!P+!D6okh9ld8J&2uyAGZM*7^b8WWZ2HZ@p2IC+8TpIC zFxW=!;sy@~g?cB23kgY{a4^)uD>bn~%jHSK~#(UKGb{1qj zfn05jwj7v^R4Y%47C<5ng+E8JYD1&Dn#7E=Yhp8N9>oc}i@nfJLaN@0nD)P-p1eI2 zmN^!n6=%V2I)snXvosTINpj37ja+it>+;dEaXG&dVI2Qq_A*Jvukrm zI4M3VaSWt572*pdYcB8=xeAQFV!k(=&D6g@gR`<~?RK8KZU~3;asID-?7_zs^d1eFFg?8kpPkd71plo|YOrW>D^lG7HHN>=d-NrO z1)(=0?gzj%X)!KboQL?BY|P3AcD(c=4yMe4r{N>Kv!$#b172aUWF>wT4bxL$Vsm<~ zbnBIH1FooBCzG(x(S*G#-%crr3QN6LO7(Py^rh-ZFuUs;G26KnXL;7)ip-~R^W^`= zEt7wN3({W1e9uNqi`|1nTOA3yFzJm19B#JlA1I(gkRW%OufD!jLM+0TQ~ZN0Mh_kFfGJCbKfc5m$;M8!5Qr%R>cBlc<94 zBypeSfGv%LI%_Dpmc7Eg=iFcsY$U-#2SN?35=qo&QMk}~EX3Ii-V!NQ(l5ok~4-d!_X z1?0XI3oIlQg5EHKO;nM$(lf|SMrA${W2SWHDIwUh=(#cEe;z?#%-pVjSZIXlemwc1 z)_WgRg31*nanMl!H~xgfA>Hu*iB#8479LeLN7bkD^JY7)I530ewf z1)J@&X!0N7uq3yT&IkwT*-iE6v^S!e{8|~KiFaP=jm12F^Mr>!i$(Pavw1a77{`-^ zRmZrM#fO?L+|)pijin^%!(JAX6jy8=5z2R~$rzOzC>l&Y3;dOSOm5qSeZj$(Lp*Wd zT-z$NBL$`8Po98{8xO*6D~W1)MgsYVvV@vvfM9>d6vo2B4L^EAjS&v^ObXj+4wxyw zg#1*^pv1{@N%*TM-NafD^3u7nbTXem2!YRONv$K#0*`y1JGG$^+(T?4_i#g#tH7mM zlQh!rz4Ho(3!UR{@nL#vJ9Y+k=sygeMUIs?$GB+vH7(IPx2bY)bRdCfMUV8Z_AuuqLCf={5amPtrWM;7CkNkLC9a)IJ3q3w##z zoTj(~#+5eO|czSm#mdr~<^R5keYp3+w9}kl( zcK8!-M1aS8Q$<$wX0ae+9iL2sDZ5+PtDeWHRP!Yf%qHxhN~p(QiCJx%aYo&XxIFZG ze9`d>+?4Y$&QE(8rzO4*x3vWaywmZ|nv3z*iktA;1OJNO9Q;?c{d(24c+0yI?;SZG z8%q}BW8WD#V4Z{7m@Kq;lHkgBYUa)?*y%s_sD)`yf(XR*aS?1o9cb1J!u1e%k= zjNN9o)AekvK;dDIu^`Y$&kEA@VR}Bhfj_E(?owvAEX>TI0PORvDqNMYZwqMxaE1f+ zG!pi4BeRy4QD~UBjymJpZ4`X1_ z&SHgE24I2TMO7-P@>#0 z80PSd^X6~TGn%j`B}VnybK^lUJytc?SabC-r7!NS=Xoetw5#5Fwy+?K-g*uj&M&Ir zgU)CDX?9WI+i06~m&I+>hFv7mMSST10$-V9vvr0c@Ho%1-qX$TEeTe{&UI^PDZ_^L zA_@Syo$5ViOLcZL#WfF&@plB__NHS05Qi)z(5ac$Z=g6uo6OFfrmd;3dhICPFq9lPGn&zKli}&(I%0 zAU{FnbDqqOg)O5@)6Et&fhDIQHQb2ePzi7fFLh2Pxs%EPb2{ZM64I(MjvGcOTdOjT z1U}Db&%O6?oo@M?WsD3Q)0 zpYLHICy^g{?hn-%$6;pNn^40Ect{eLb$WxJ(a6E(`LxkP;B#X~WB4>oGrx{cDEI%bP`FqL0!u;=mg!VEOs5JjRZv+B*t6_#WKhMK1h6xg zln4tH5~7*yrMUUPcW_JbH*rSwUoormeON646bEKwgYPmtzxRuHV*fpOuIwxLd+iGB zY+i)&_9A|8Ov};W zt|x({_1d!=IGioa7oUgq3-I7y71^hg)#Z zI;UX^o9a_~i=iJISZr!183LcwIyFdtaGdR!fkyXv$|Rq|B`__K(zzy_dHFXr z{3D|0np2T_wlYnpRK<-S{GZ$$O4fR&BSk)+uPuoez~RnM)iHyG)@i6pI-Al`fWp{@ zAc=Oigi*cQdLHL^V$*cKkJG8enP$Sy4x-a$(s{}B913^UfY?DF?I#u1q-YTI+F|kf z;R~7&)0u$g_CJ$eH>>gX2Rytqp_X2`v4DA8b0WBDn(R9V7} z6Z&%uRAVd~*-+52z>jS3Q+X+hz&DeJgGfdi<(qB(ofKNib%M}`dDd1WS+1h;VLm0_ zVoGLiv?B|drsuIU$m@Oz!pRGZ_5*beyuCL8|My-R-rX06qN*6x0Fa&F!}7u=_4)k5 zT3k4@5tp3Oh|6a;;EXA)YPSEpq)sHdg7m62qqVcIHKcHIBjSD_vXIAduRc7&) zSF;^A9=snn9r!ll1GRW1>rT8f+=hSDUx3}=(@;^JhmH>J*3~MXyaqT| zrg`i>i|{VIp|j;Mmp`<6@~b`}X3`dtZJ1FEE|UUe40RNw~cbuq$vAX4OW z<(jtDxMLCvks_aaJynl0o8+fEl)nsa90sij zR>Y&K^{;~#GH2SClMX9DaSG)PiU8GX&lVUSr<#9(MPU3n@sv;Osu6`hJcNQj)xp=zkw5F8LnZNW|v(>U6(~+* z+w%a-*)DBzNJ@tc=W*5OGsy*emP0j=sXWHd<2eer;eyhOAzB$F&Pn9+WSE?uS-|oz z5vM5`RV{C+a|{;Smtb%53^+q{-$`*QHr2EBJg)9TY0E6waw!k1rSf8?G+@IpP9!crp8K{3`!{u{&WYYF&8|;A zm*6$#xtH2PLY{?OZ!udy^-9g5KGk{wt|TGSaM8o@}yqmCLWi~*E=TL zV2L3=b#&ja4|LqjBALR_SI(ZK1G;H`*lp9s@LK|~&$Pi+K=&sv8a@ANCVLX67MEGY zr8U)xKwVJzudDZ-d;D5ENf?CDYPTZJXUEjgr}!jLqdi||a?Iz@G&zpMJw1T@oOo6| z2}*j*0B$!LOIR!g8c2|l<3crkEh_p$nQ$jKy95ghd_%CXX+Og&60q>*xfC3^4y`ev zjYK&;mkG9n(NP~pYQx`9JBXR#lT3bOTEDJDTr~+eHu-0P&z1pf$zjQ)xFum6J10gp z%BY@s3On`Tp%nbxNp6fxzrEogqf-p?d`{CmS)*YsqI}9$D0Ggp-k?u!b8JhR8Lovc zx{lHS31V)DV=EA&VMpDc!hnx;lu$&oz&6Hy^L-p_njb($n;FF&(I>C#4MjIn;=Y0M zgb*A&d1NjLY`xcBnWR(Rv$}aD4Jtz@Zn<~eUrq5#=}?JVo~I!~+$t*@7RM9@$RM{n zov_xlAz-$l(;9=;hL?LJt#r>VsBy)>5ocAs^%fh235SuCvzVQ2tM%`*T@p zGpSWM*jgqM9-K;ZLrmML^T1&*@N;9(aH^oi@9B-0?8 zz&D|joSBKK=5lNc9M(=0gb1kA##PQd90*?zo2i2KJLuKbNyS<^T&8v$3GPB;m@}>* zOkAp4ZTN)5J&)U8SCojqY)i)P-cM7)|F1if@OE(m_EtO9`ukIoI#o~qC9@ipY5%ze z&A9y324(Kg-^*x!@#I!y#QU+o&Ix~z-wDEaMa2C8Sd#KFfAKuzIRmi8B_bhb3Z}=m zVaLX|uyK#JPPZ_0mf257W#O5yPNK>w2{n6?Hg1^Lde3g#i}~(%vB0|?pDp=0E-U+A zI74lCG3PEkn*Rv)#Gk1qy)rPwFpC+UIiD4X67+luSENZ8^Ri#A=`paz*%0t?%{rp; z%HoB@D-R8Dof-=pi{~hU(GZH~S4O=dF!UJ^3o&uNvrQ96ho>ND+W zblvAr=J6s(4`Isy4riVfo&C;p4a6;`ZElp|o_Y2^2SMa#FsO5RxCh;v#Jy^mqQu6- zPCz2OYleHyACz7q;a=OAb11*YP<(SQJ%x{RioIuAqA$Lu$}^lMx$#LCkl=+9;0qp{GIgZjkfO5i$3y!Pm|=ZW+vZ#XHPGn~%(+3YsuC;D%UJy)jtapblf z$~%)dk8=K`4~hR!H63dYDAW90Uo&ca2h{yM6c?7n8_{MD!ItiTDW1Y^Dus2@0{vVOIa$v^F){oMU84WAb+azjweCnGKtF!PTKnL02M>rK$^nW&|ZXA zS3Ufc&Xx56U8DTM@l4`gl?kD~z4uISf$!;TrORUJ_60Z`e1$Hhh!cbeW?0&gYW)IQ z!c)}BCJd!iO2#faHUsJAKVnai(~}?w(cqr>@+xYuRvRuR@&A>xs&M9%7No}ql*q4Yp%@UdxYYJEu4#A>H#dDBE82dG z1r2XtX2T}5T0M9xSZFq6|!*TQB{EiK39&_cwMTr#>~)W`Bpujyn&fxE&vB6Oq)NIPuT1B0?A8Kiz#D&>I?wf2u>?y2B z=zrw+ZUa7~X)xs$Ug03%^&{L&!pKkI9b;3y_hAwSomL>Br2y@rKcgv3kxR_8PDN$G zIj~PA!Q>1hZh>2gkUrz=d&AFVK|}uJ@aEauLD#F}ENHp6RTue6$g}A?xkU+2`puYy zoEsl{FQLYwUQHZE1n0%Wo<-u!ZKe3NX(EUlTv|x@(>;Qe&QcEtP}1>{I)5OR+Rs9b zb1n|Y^KAW^$-i3VfP^g131M+jSf3iBCeBk962}Rr9c7+R;+q>^jJX&3HQ`P%!Eu@m zR*yE!g1ggu4DE=(=)JdjtZ3icp$SoLIAHU5ia}oUy|c~&XY)&>_mA$ErS|i&KPg|W z;DF3neH=K&lbfECMd_W~#B+EU4Oo0jwszsCsRl3FXHl+1EnUNYSB+1cSLs_>_3#9B z2ijCaQ*y|K3hzdKG!|H=p*s02dN!R$;@Xly&!*yt(-!@Wm{gO(j>5u7JL(vv2Q&9{ zbKceSfdT)@ze*YC~I_(u=iu-+!$~pD8`@AE#{p>3I`vn!aWd2%QlK3Zl#_}STbv}QRj){T(BmQSR>J4 z%ixMGRaEKcke4dZ4iW|2YsD2;5-j#Ss}lE0G;t4HZ|G2$X+Dd#)?joY+Z(R@>J?`G z#GW3bxi_+hyBF+E7Vw?>N#PT!*FHmAqg)B}NcbL9X=X7Q(0lK-UU`SA+_M|iBzY0N zuRPwLXHg%}96u61hstucC{VYuv-%d4vLk z#0i`8^1Zny(q7YsHk%dppdC|#Mc5nAtYfCfUy8=5(_xz&hWj)(cw)i9yIqSjWv(7D zA;|M3un=LBGoE0Lg)ECCI>ds>%%Y5iJs;;|9NgRpqUHwZTbWcQ`2{5EC%IrtCV@|4 zk_9q{6~{4;f#&53Ee9PaZ(Xln6&*H3onyZd`{QHKMoFH{ubDtjys|7|u@$#S>$UH9 zJpEAMTaf>hRR#qITYvCe7b=WYJ6gABWjLQ$NklqxwFwzHZLyVt8j29jJ-pB1PwwS> z$15%HEXp*$pkWUV1P8W+BIhAF@f)b7bneJtYYNKGdJi$rmBGE%90$e_ z1qJzyo~D)v;h?gnt$VV~-WUSE#o<7_uNk&LJkrcoZ1Zo^&kzKSiyiY&gXOB% z-lP(&hM8VEJRu{`jI%%RA==nnM-YTzqcdPurv5x*|F7RoM^U8f zvu62$?0c}J!-u`W6D#m}w$87fRfS)yJcvtAX~e+>2i6xQpmhIvc*%YjUUS`m*K)s( zHF0-iP2#^{^ZXm}ankwNZ=X#RFdn)}T2((H$o6o!E^ly@H&}EuWqL6!nL+vC4N$~T%)%~fm&gQTz%%cf^{+&(o z`TqU(y7Du~KU~rGRru9?9Fv`DB0ZiYt-ngS>Vc(-yuX%2Ad3YS^&LG$J)!zDiQ{K5}Cm`8~^u*y&F7{Ahme0sU-*p~Xo8zn1R9>(A4d>K!Lh5^naR z#Ti0js|h;-TBU!IdnH;1mQJEkeNnS`Rqjt@*3clKnB=VndAOc9f)a zsAb;NjOfNhdL-^0lk93xIdUl_37dI%fJ2{Why}1D`93ua; z(tW*2XpHf9Sq((`oiR-E?HQC#sEl!Nyrk2I$}`QHhss1cFX~XDf#B0Qxl=Up1f3jb z{X)($v-`+hp`cAIaPflAH z*>pUMJ_)WMk4%$U`cEJt?xW$Fj`MD~9v7ul;-A~f5kKP$Trf8erm_wA?XUkEPrap$ z!yJpmFS#Cdfm4vvyd71cM*ZmMaSdhopImtex1Up`*5G_*Ybx&f>m)q)VG6dF$D%R$ zCnztNj<(5@;dLazZ*@{|+m$#7^2Bq;QpY3J#is1s^T@)Mg|@0Rljv|v(u6&Wc0R@? z$f~iw)1--WoaPL2x=974{rIDzkk0I>263xBkY#Pksu6JeH zk>`LTmn!ruCAByjgm)y#|_XMxmZS{7dBSe1oO+}OM z1$2_|bmo5v;Ta|*oE4`g=NoFTwb7u!6UUh;epsj&f((r$dyb-c4ACEswe>O2XOny$ zZ*G|5D^qpCFiGdM#*GS{jUi<1-$Z#bqAR=?XE{zot$T6TGH;a9G?RRKOY&rlY_*^X z*rECVsOa&g@(oW;$3s{2h9M3k9s|w-)f#Jsl>{yOk>^er)SM0MRQj;H*$m&$!#X&9 zbK?pX&0(_zwi+kOTi59qMCUB~Stw2|RK50WK@&NVoHfg$Rw-cN9?j~8kC^mEI3=V9 zY8Ya-vdMnX3}1Z^)BGmX`aT7cKMzxujf6e@=A?>Djy|rPmG-3GNK#ha9Qy64X`I2RYIZjI>W_m79 zz^SYfc(nsMcgO;tVPSu?%jg*@UU>wR&kj>_^xk`RKQ9&7X0yX*@gcrF9+ND!_&Bg% zKSP-4EVG-@YWi2$QBAK|Ze8q&DI98i`YI`uXQz1`c6YX&pjodGIuRguiXCLO3N0@u)>vW&f4*6G`S(*C3QkBC~M` ziQTu+u9W1+V7G>`D6dszAwMbWXML^o9$L#3IRq38<1 zKmAg~E^)v$)k)#4_i_#eI$ibN^U(0Rkct~#N{=VlLjuKFlpa?`^|~fg#Q5mLaZ3V9 z%?PfW=X0;R{Y(dmdmjFwTYVS}9QqfVM2CYW1iS$x?`grI&LZuHC@ivn7Q0f?)TC*= z{9Pb7PR-VDaR=d~G~k*>{^ztjRR0eKJ&p3L`D(d1?!DK|^SM`;|2d~<=J<9JkPb>m z(Z<bFYcyrm;1F zv&))*;RZ27$Sdev&OaO%Z1z5&z~{p(Qj@4WDGQT`NXMl1Pf?w+6pjLyn)kq->Qv#x zXX!|b#mNNEOsE85!p^b8w` zc3Tg>GlogNJ>97+DR}uoRhH7dl^H!HU2f2{lHgY+6!gn7@WHXhB*BwjOfhSMR3dJFn!au{!0Aea+=gO}Y-gv!|0tbE#ft z=M+sKL|vzRDCiY(Ugur)DpTc|C!te4i@KR~HzX=ZjPj&hEbw{qIbNEM8v!DF)Sb@5 zaK{zH;i#c2NN5G()p0}M1{+Cs8oh3jx2J8@Yfg!S&*SB|_<3BRcAwU>0l{i(Mts69 zm@S>O&67%nwCB*zs+T<0tVB!ix@$8(etk1_{exb5OJJV6nuFLTm!vM5oZUIgLKal$N+Rl!TL- zd@YH^E}hp*X(_@yKRh)C&e<+FC-oDq+(^Usr1%Jtm<)XCLS%I2Jn^y*c+{=lm%ep0`3w(+fM~*fzqdkL!A`55o>!5_a zPS@mmX*P5oqWGrUa@ca73sL5sRB;d$feQWXo}^lw@F#x`rpYAYDe)LR!YrPxQ+Q~A zUCWE~pBwae*a?eVTdI|WIK>zHh5Qz5*W*1!n@OH6ccK;I9G5%+ra9J%jtVo9!f|NI z%!PfriOLDPYP9QW%rhDd+&nyiJY_8RN2ulE_}QIQo)l<3{d|pz!-$~c{L0oZUFn;C z905x?3pJ7K{#==bXwG;dwZ*0 z_^`~aX6Jupmj};&n1UxZrmG(RS84x^-HB@AzM1Lms)O(gi)wMzyn0Mc?u0L3Qojku z&S;B!Q{L19z2-6UES^6PJBy0-z43#6+CnUtla7X>jVRiq+bj=~Gv9obLK!5!{P1pR zNBUp?iGNl-s{cB8l4ApymD#4o&Ywab-p)zv?uj`}nfGsd67aXZ3D|sqYT1Ke*5Y5o za&3yLAUkrc!z1hsbTQ2S=8Cs#hHeoM?f!f&2~_Uc@_yW*8Ua`cs2R11xVSw^c!xr2 zRxuLVezdn`qoX6c>p46g-ghK=#kC98u2k`76ML?$u$#Ddmn-cKM=fGv_mMcD3VF~) zaTXvU+urpYHK`s6a_(VNjS1et)x5c)t|mz92i2>`jSt5N3t(<2@P62im{Xmq;lK#D zA;ICu!kRW4-)VyHJ?$Q08;KgWs;KQm;=uq3-YWQRD^Lw1M%Wz_{5+oYi^G%!7KuSN zm*?RGo#h?y9rP)&s9;C2VFEdcMX6ejkfJC=+A~;BJEZQd2b*BNC=qdI#gN$3$DKzB zS2l;{l?*y70%-nC1B&0gS^uRcXW6EqD)T?lZui5PVbg>?Pwq#bm`fapTjW-~_S{G? zRMEqWLta?D<#Af6yg8g*?ct2`WY1qy~O0r3SQk)%Y8d8lX zbl*T@5FMX(Dyt0+Yu{cg@;AMKw;F$^pV^b8@hfp?_Gd|yJG5aD`m=cs0N1=2C5pL0 zEoM6XPR~$+m>UnsAKc8nRd8ED(=D3BiJ6(1VuqM8F*7sD%*-;gV^GY@%y!Jo%*@Qp zOh@^?^Pl^2Uhd1STcro>y;UP=X1aT=o}M+-xz|Kp?%yYIg{z{cQQ{HO5Wm!=fnM&J zN?|UkOIFr%JvD?fSq-)ZsiMcxmXD4K;kZEq>os`X!z;+VgAenorm!)O<5T_JH*B8e zeyDf6O%(Y=5DYELzj?lgMW-J5tmrbn=6i6>E-$3lvyO(QW4PX4$94OSpd-T7vuxhD zxeu;Kis+orbVNYXBJ$LyD5y%-uIXhQTsDx~k@;g-uRt)JT?FQr$mH*=2T~idt$eq3 zO{y+(;mNRhA$r3Cp$7CUn^%mFV zrowCX8^M{uPvm|IUeOPK9GP45-ee`Mt=eFD#hu<6Ev3uud-6Kjk1#3-_XEaGWhspM z_LgtuZIpuqmZRV4I`@$pPJm>f(3jjz{u5Qt6U#(H0I$lSrd0Jkhd>XSt;Izy_}xB zk%0VMf=-@(L3le9xFAHr)4E;^t%at-=$@4v_$%CnPi+{%QSHvtAIQCgp0?K4W};oa zFUhR+t8oB#Zl$LvNjv3wdjFh67Rf>vwQqLS1n#d>J`T`mIY(3Vcv2kk@?f^N#E zH~s9#13f&BTKx~C4&Ny18dBZerbwE<;hV$GUwG>?sbqFCmeJ8-_%pMTwZt03-mGiP zrG%^XgnpWW8d<*bg}d7n87wZO?Kf8c-s-2dQ9mZT=SrhKvL{19y4u_#p_x!zRwzZs z52#YR^g3dw7)6;=DpZi)h)GCe$A`@f!IKOo9!CJ`thy?^mr>>PPR@$xaFXSjx9?1j+Yh zUmC41W1mrnyaP**G_QTg)7V!J`iM<1k({VHF4HKu-}crH5eP}{DxhzUQPAs8u^{G3 zCtjRR21SMH5tSnKcD?y+e&Az27%SrwU1c9dx+F<*>sMSHl3jaY(k_cv8ME=oE8VEX zeS3+j#-v2#=+_P}xRg|;h}+Tk%+UmNoh?w7ZT1sq_W2`9vaSLJYPca~l_1`y?`@TH zTnc%>ro(7O;@Ou5sm<3QYmQp~^>L)0{1qTYLxT%!n-PUukfv+7v01fuVOYJ)by%r+ zJpbSg5i)etbq)%BsSdQnO?X>ruonXhuD#BQ?t0m?CH!cQxOm_Fj&CtN!37KVeyOG& zQ_e>-RZiqYeDh%wOnZ;avhy}b%A6U!sa9^tj>=uQ=cHET20vzlde!2LG9hK~qprsK z=*oWh=%L4Z;K<_jQ9qDRO;)3dSpkThtA87V*u3RS`$o<%XOabDvtWZNSUZ8%oP0uU zgB-@HvtVY!8#tWp=n%n+$WIko7QHD_L};E>R&Tq^m-NW0|hk>Pu3UF~zB zTfzYiB4{zecC&$nxq4mJ(82X`JmRO$C0uC!FbkpPvu%Pd1 zj6UI`#W2cXr|tP?j5ng>-u3J0yWT*)h1l$yeBed~**gggw~*_P75qW1s`w_`C7{F@^;bpdBkn_maFvE3LTV8HyQiC1&Rn`e|dUBaxDF1;8 zf6f1#+P%aTH&mL{Yg-2^(INvLc4i+*YwBJ16O`WTm!rOnN+_yIZHIANfMjjg_Crsc z@E14K33>q8&kJ9^v0vLutGRwbYu&f9v1ts_l8}E6;VHTg^f*) zgJtB-N*^pE9bMqkV%=4LHp7V2QABk!N6D-#IqAyLlJ~l&rcZ37s}Phh`{Kopw$}1| z(@D&tnzg|A=@7PVHejP_kk->r-SXXv8wqN%y#e7Jbl8O+XkqQe(`V$5QxA`~>gevk zPeaCi)J0c v+g(!8BjL&nw|4=EsKd&r{H(7YvoqUDESxkfch5MnpkLqy zrXA?QBLd4Po*Qsd#&Vx03Ko7|FQyGUyUo3rz7;V|g=QN$MxVGolFxxmBxhO;#HF)Z z=vX(`ftZg``p~Q;s8f?q2v%1Q=_-2Isd-8`@%pe?->pP265ahLkqV9Kx0Yv4sx-kr2*23n4F#Wt7*6s3I=N_>c*ga%8+bZ=eIaujZo%KsjE_I%lz+oc~7V1`(&p2u;FRj`a* zm14{l`C#rH##H4M$Hu3@-6xz2qD|FlX^EcKW?~`9tt~NU_NX zhIB>Mb4hv1AlI+Ciymk4FSsZ+1wfbD*h}*ufyvLdI%wSzt($*?$;?qz%=j#L0A0nB zi>UzwninZiB%2!Ae-EpcGy&E3>1BUJq&N@rn#sdOQE9d^7=!ewMVpdo%cJ>RS7Y&D z!lfZF3ACB(cr-Vw;$z+5yG$%p4N?Kw6KKcDG9GeNIx9HR13EJY@j8hw3NHKaabQd7eG~a~3uV@B58R+qY(c?(%L) zm6SfN`Hp0xsFUX-`L{_DglYnJzHcYB3*EoWr#r}E=S-Uu(fW5us;EDgU zcRTCe8?iZXcgb;&?hUT8`jre*MVSnEkSG76zPp8i*#f%$4AW;vyB5A3I&FFJ!@A(I zI!P12R;RFh=t5@r7=4qL8R#uW96|%B^gY(@)$*#l?P#?q_guu7^Z?H}Ehb@YTKHjZ zcve1XIxOrQO*V@cJ0L4_n93n`%C2a0SKOG$FsS}_*qEd@+myS9`+&{SFkT$HkjXHf zQ+h|=?{P|+ME8Cm=H9MP#*05*0(QMwbxLYnk*WPgynyuXJv1!>A~2IN==|c829I-X z`sg|2<50c{BhT%~|8HI2XwNrl_*+t$crqt1wfCbS8qgw9f!lAfv2v^E&e&*|e5z}` zqGXwhA-z|4ws2~mbb4~qVPry~IdL1rs*l4Qliv?y&KAZHlRP7%Po!+$0I1%pUkrwS zE9e?@KOcXg)HTiQcvDtgsf9d|FU_cS?xt5pT&V4u72T_R2T^eaW=0)NWdA8VP<$Q> z4RFkmYKdCKwK(ZOS=~Nm>`~F^DRPa+Y%0JWV@$zgbGw#$ z=d+@NTHX?CY)1g_7#rN-|Au(3&ocvb4|H2}!=0(!wOpg6?_AS%n90p-2YH=y#IC3$ zFQkv>pqys4f>l>HG@SV_g=3e$ZRy%u=sVQ#0H-&a;0rsdaAWhk%$bx$jIB!((?o4- zEJPdAud6`Qkny=DEveU5@E9bggz=Kdd9GTE`9VLaqt>%!xfx|0L)apJjflr0N~tBW zZn6I+W2{WdL75C0Pr0>RDkNb*QhaPH3o)>U%D28p>Qj({8kM0x#&TxJ6fCkPT<*1W zOevDK=h7eBloqz%%W)tHy5Y4x*+M-(91kGDxL785svNRb*uVtxxQj~pz+S_lSv8cn zrm{dNRZE@cTe?MI1XLxy7H>!DVCVcTzc}_H6S$5_+_Ty>Nk$O6=@&XjQw40hwqXBIetZM`FPP5< zOofV*jewMBDY-1uU5e6+IHz)m9)m(x-XQC;F{IMiH5nD4Wy40!lv`j=fRZUThE_@S zOF0d?CuL;D7^dM;)rnB26;AbSMIH--pzV+cHzw?KY_WPdnNLHl62_ly_Tb|ad*#Z| z+}rJ}TdSFjGs*|-UUdkk?>a*Zll+D7@BF_e_G>skCWxvZPxP{s^|KqwF}}lTASL}t zD(-WX0>b}_R6fY{8H+@G3`g4TL}W}6Lb)odsXc-j<)cS(hZz&EVIvJX)+Bru{=3rt zDYKWMe>~1{%0j}IUbIy1arlWKchA3mn`M?QNd6W$Eg8@q9AViJ0HwNTFmT}=NY$3O z~dn2`7dZW}#IFR;?iNPIJ=_rmr6iJ$kIOo z@X z#2qTX-h^V5t{`KZ6;(ENi&%wW5DEXmN?}^7?3zm%E#LOpiEZ>&6bQKHT6HtbyAY3X zGBW^hhSshV;hR`-P2ouAy1A6T=Fum}>X}rCo8=_;L{3dRxwZ+aY7{iE2HPXO20g*=U;(Oy9OeCxI^fwSlH%aBQhs`nO4%8cco^E0@- zqA=U|e8j1AQSqF|y4KFic6Q|;NmHo!wQ-XA91wVH(93R) zc2l1x{nKmzyP0_AH(P@QZp!FdqrrukJf--K^CX3;6CUv?_5!AS68=i$Qe$*9q zF(P1oIo*HP4}efHS9u8Yl(luODKfgs3B#elE@H8y+#(bjs6F63O!j)~kEEmI22~n2 zJpPh6=B=l$N&((mh#K$)^l*vCBd3=9G4t>B%{HfC%7~$>NDyf72>d}kP0~nZSxP{fDmq~g_!;_ChtEO37 z5x>P*xO!S;5=Q;Qzcv9ARDPTy>%*-g$y=pya)c|RZ)Pu;i5yb5@68BPFj%$u+xaiw zw1eN*;A_^GHlDM)`wzj!XRi1g4she&1A%10!S*{DTll-R_`9$gX{c~v3C$IpY}Xl* z(I|kiD_ml~5x}_lMkPlY_Eip>fiNxW4-Os~)#07nsr0zAhrs$N0&GI#&i6f*sI_HT z^I@iyg=wXU+mVSq7UJ1E?Pj6_irhYl4%@srNv!_w3TvfPgzVkYa99jviyqx#PeNyi z+|&A43h{8y)~o8K%+@q##unAb^B_DN15nNTdh870;3$my(0-Gu=Hwl%t7^d?{2Zsk zwd%{!;+T5l;vK`Z7Vp>J6va5NMzl8+?hGCWAK>W1W1vZWF<_kue2^vAG6z~GPZ>Y`WSiOtrMD7$sy4}15V zY2rdwK5P3XZ0N>#Xf+|7L)CtH0?ZUh%$jv^tSw;%S8L2lnp}i9sYd(B(YI{n{+XNF zhfn!8#2o5Jq)HufMmq{dJLM>%ycc0268?urr0dIHTbe3pWuI^vF1Vx{BaUbHgpIJx zUfvdTIO%Z%yEVrK49v+sMDy@$@F^RDA}HK}oS>JuH>XH7oq?jq{n(t{&$)D2L`PKI zGgZVn2UXt+1dvzKLBMYTm{7O6b@kI|uebR8ei>a8*_@NtgaVm6$${P=;9Yz2`x;U- zLY=lN%jREd?cEQZK z!Rdf1$;$G4Y6vsyz)sw}IISo8-K;^uSn=bK3Z-A884ZM2ucCNKW)|!C8Lde?$OGYc zMY`7Xq$@jg5#Qy3n_Kgbwn|`JiCnaD8`k}}s#7znd?Gu6^AW2;DnEobkdFOaqA#=J z#phWC!Z2xX=K^VKs$lQ&ei+{BX>H>2ur%P*neTIGBaxw7#UrM--Hsx8Lj!5Ta6-Ay z6PNe%>HW_J#PXL&y!Bd7<-O4$K1o0)P6Yi~q@<@UXMjEPP|wgE$)G0N*5e^$({lfZ?UuJ6ENqF<577E-}&r1-PN2f#;Su=@Jww=x?WBL%zHlD1w&Nw!w ziWAwknDElI2g2R)$~!m~dS{m;e0IgC8%l8m0&Q(AL{z9 zW>1k@aT{llxqe-P5O09TzR-hp_c7!f&w(y!GzxeExwp@GYUjWDqvenn%Erc~(*8t# z@U^1K@jc4b`6w%58tn18ZtV~8mJA`dp7A_x$q{u&b>VEKAq%g9xOfL!E=lPIoqP0J zATC}8=o|^`yC9#&Sv4-R? z=3e+cbl7Ox-UQOl&q3#=mq7!UozTJ0r+%UP4_$%AwLgrq)|7ZiIOT=$gWeg~GQ8-n z*qJev`7f2}0vEYV(FCgQEjAhQ~nJI(L4WHUH>Qx{Y zU1g2Fveh=!KlHO%Vs5;h)?3zhf=DDO>{_=mgkQpN_bJy1+f|6Wf$AP)J;fAyzjIN` z!z1na6Sf~>w#8LzSxa!%d>#vhr|XHkk!|{ZTHuO}1L(Agz?2)+&#*>5!s?-iurHh7 z!t@x3>@sTxBe+|riP5~iN*M3ocJ*jzqM)RDZlgqNAgCBjiNzDa? zraOCOAy7Y1AtT}f&|(d5d}daFSMw6EKfW<-meu5=rd zXS9e@#AN-d53YAA3uyIG-s(T|P)sPy3a>Y%ygz=9d@|`y40zpQN*XlpEPL|Ff%JUA~Rpj7ny0qe9 zKjX!(pPXBvjaXHuer#@Ubqkl5YtNte&j)6!7xc6Oh_v&GPJ)_k#z4_EA6Y5ieeQNV z`MnMoS>DoY&bxcOytTrJ%BCvaUm4yOVFVveQlM0ip^|y~ZD zPF`dje#1t5eCc=PgR-s;uL6%OVz^e(t)4w%R(--y@r$)B*5I2?{ndg4KOe3Z*?%qZLm}1>np+@m z@m}Kt!QUbOXvc*OtH(CTi+uH>J`NFJmx=mgioEa5i_vI^-NEm>wF9&f!bZX%3OS1f{iCpvQ6%qgiLDw17iLu}ys1tf z!p?X>QwV|zP3=-;x?g#7x~+IvV1YpzvzOUGZRj$Ugi(_7#MDSi zbqZ9JF5>+d#M<7bhw?t-A%+QfaQKJ2au59Y_cndqeM3?CsjPLfG9LstTnDfjpg<{5 zIdK6H`=29YIO>>moG&z&@kZQz*Vt#9Kh1FHU<=D!IDuk|8Ia%9ITS`xn4_U&5rtRb zAZ~uK(eRm0Q>&FKp);SP$`+mw|)u2LzfkWYe6;sgIXQ2;?zUfn!_V6&$s}TC&$iz zU0>CKi&!*v?uiz36$910>JrC0se`DvY*VEAl+81m6OXc!hmY@|LrjV!yq`+FX@f)RD8Mi)VLJFdT2g72 z?3`A;wI1o~@zfd&-0!!5B6@|z*ipLryDokmT}1vS}C)Ax%H2A>bJ4B1h(W$0y5c8b*b4O_Nn^`Rj9eEk zi+SrIi;5>?qfp(W18pO-Fv;IU(+GWK!8oEjOyl%J_s*hPJjw&UFiexxUzwGum16hT z5eSfj5IP;v@*7(sL#dk0gq%pX!gtaUN4!jST#I^yOu-wcbf;@t1bl6vBL_QQUgS3X zJjphIi>~sb52MUiLmnh}Wkk^lh&9Tgi7y;Z93D8g^kn@mT%5bjo&VcAXz65Kv{a-P z0bKsheT#~LBDJSFnA(UfW0;g{W(rMMm#b(N6foWqjJRsa3A3mOcWS6t%55pBRx{K3BZVx<;-dEIO}pvoA$emzcKmmwpXZ~ZBj^!nuKsag{b zy#LO)A}>S)>~g+X`^P%3iZ!bY502V+pWX4JJk)uwKC3vz z=^Y$Vt|*(k6<`Nh6}&Ag{<1*P@(#6d^Lq9}R8^=VpM}&{ZmUnH{ zLa(E&x8?6J&pbnKE4Sclt9{a>QB|)>A5A3N>4ttpOf8zz@!Z7NGkUGt@@kO;T-#V<4o&!&c{3-3FJVS&b00?R_}H#?Ht!&_z`G7IH#8h!e~e z)YB25?0b6xA<@m=^D6nDA$jLqL=vd4>Rs+P+_oLgdNmShoxkR`bJTObHEnbzCud*W zQB2PIBUL=6fo~=`477=-HK=cdk5fIYa#Qws4adZb>ozNHgv&lH>qThTXVzbCfE)U8 z`hQ7{ks^_c!pw@BhfVKN)%U5^!(mTTuLiJpt+=&z- zLmbs@D9hS62A|b8Y+avM2CoBQJ1j!>RqUgR!JXz8c!3IcL99TvH*Cwe4q0@*wfARB z%gcb$L#7b(1!g|}2t%Foy~fE20f2C$04e@UUOw~D{dw(b`aT)x=qPYT9OT$9$basD z=0$p=+iOoB3F>>rrC-gBXES8(5G^CB0&?y+RU~yGe89oyN ze9RNmJ`r}OH@9#}OSSg7y?i@MoF|Yw9_a9=GV^f;pw{#Lyi$sZxGDbIbm|xGYpS~C z{q~C1^%p9ERLJ#UIoQ21g?5shP|be^y6H`(giwjXldhS-RWC4zhWceJ5Udxu2;z| zUG<#8Gpge%-d}ll)Ru$gh728wTurOuE41w0jsfe?Q&jx@1{#ik1p%o-dR##|2trfp zZ*C3LL^T&WVCq8vral1wY!7Hc4i6oo9*f)o#f$9Y^PiI*UkM9fL!aM-A0S)ph|YJVIZULer@<7sZSz9QceE!TN(?IV?tb1l_WzSr4r)w6G`jU+9?h zhefs_PW3;Pel1msn`2!+yGY(j z-NX5Cn!3t<75JSEg2b@3CIWpM)qW$qi zFD6W@+iOxEYBQp3B#jAN<&V!%H=5-ueUnuYKA+;<(!MiXjn<10BMp@0hfA#(UI#M^ z$&+jkertq%bn~`hsx-o1xK-P`F#Z<46Ya0=zUQa>FkeL)nTe_*bSBdF-g zd@8%0jizJQ{}5L0)N4d4T|A?mCvhE9Hyh32eH?Wu@A6x72UJidR7wh6Xb`bXGwolW z1OqesFy}Tq&-J1_Wr?0``9^Td2b`t%)FcP2vU7%UWpAprE5tycYK?i}cE^2%0dT1!=|Uu=h0VC>*Y5ELe6d5Q=B zZAkusgRWG4kg@W_xUYBj6VK6NI+6v#_%Mw)9p_iT>ObmFNvzYBAiV3M*Gm1Y4=xzCxci5VO)kd&jGt^~tr!35~?=aFGwiTnJB6K9FnpjH(f;rnJj1C`nCf zWfiXC!%AMGJdx3mro$!Vih>+p>+W{SR)e+wx|C!&o?4V|Sp8Hq9H~#8){=CC%WFeG zbmE%Nkqq~6&=zzm-rc<$IbdCVZ5|IdVI_fcTZqIP$g9*>kF;AJCbs|Yuyg?!??|3>}pv1$G<{kn3^8$ z{v3ba){U#fc01h7? zdp@6~Rj25w>9HVDFD=)M9x2R6biJ1J>~B5kbdM3U@b_1&M7$W`-{S^|m5v^TT zM&Dc(8Wjz-F@!%ofW>sAX5lpE^V4P*No&9!r`uRgEt!=V2|%S&^9tDvTF35OaG9{3 zUSaXuAX_s|!%fIeG!@Nd;rQaf*ha%RjBw)T-T!zJDQL;;2KO24YBB$1nXs|!@`tRG z>SqQHmre-P24iQcpR#oUDv_V~2719j6dOal_3*r%%0Rpet--#s!6l8#ZD)8MOhutG z06v#VyX12awTc&ATna_7mKVBI^*Qq1IaT!Ts-<=`eotlBViWe8%M`gF8{EfN1MXit7jL%3-c3)LdlI3pXMn09yLI8iZ%%NPVV@ubT-zG1WIZ2NT9Dm$7d+#e=mmA7(!k^f3%95r0b%=6M=>LTmR^rv7 znB2V;o@@8eUc-_Q;MlQIS;rYa*p1Q3fz&pMcvkJeb;r*PUGAKQLm)pwA-*4_plxoa z$R<$Wfu4P?`WRC8B~x^cXB&Q~L3D0LcA`C)Y6j8|cbBxJZ8~MGqHCN_720w-7pBK& zoQElaJ5q0u`@x?HvFS0q=C1tx`%A62bcJK)kCohuyNL{exI-;NDBT18hnm6@;9Jed z(ZfG%H}9-=qV=Y9wR!^vccf=I6USO_GmU#|%uVB7(>YS$c8LJby{~|6Q{2f6|oy*G%O9#}5lyi@yQ9fV~>LK7=lq7$-oqfZ8~6FH8Mn zycA?;$UDBD*dKZ1RHYZo&D?kN&{V8LLlR6=0umS9!as-I0Hh>GUS{Ovy4-_F7AoXa#jOAvg(p}o4- zNa8L1PtK<%tG>R$(b35Vu<~jDSybO$rdIw1jF{p1>95gbKGu@+qc{73rn}O>Ey3P5 z=$m(_m8j?M3`-z=>O4IX@PMRAs}o$=^_z5B)t`v{>%^_y{M;I}7MF|25}=3A{h2_X z9tAwqe^bGLKs&0j&bX!qGGIS~_z<6(0L_2KlQASwFj>EM7)*cH6P4~pe^UcA+BG}= zi2)ME{7vk(vOg3XU{Dn!jbWJ({xz(<%xVtxZHt_o!JWM|GV>U?>ZtcSsrQSQ+<)dE zzzs|aBcRP=6Uc1m$Dl(3iui63hr=^OrFsbS_A@FoN#LPylo-XvM^6CN{hb)80cA%E z#~l$eZvB@MH634}yb5KSu*1v?PdcQnwqr~I*J+g{yl7~Nr9=eYoUiHC8qXO_F`U}p zs}{A*EYCB(ac)|QOfL90=KXpL{f}LAUxJr8zAF9^(C}hmRg6wZSgjLSA4+oJO0(yp zemf+YCGf@~C=V%CT=6eBKD(T8Ei*m6)#fr}(XZzOZ=w=mhj9;|3wq-r6tQ07DO!DC zF<9jyPdYd;jo|xh;)ys`*COwwPeAi~fs{WUctOP;mE@Esr|TC?cG0uqi7Y|(gEF<8 z;@V`xzwD^=PrOf^x6`foI6od&ke;C8JnGxv5CW*qHuv#V#!~6~DRc32#=l>khTq%E z*-|V0mkOncE14>?9!E|cm3L@kra>$%tqfjyZXRqHsjaJYs}45@)yK#2>aAuZn4_7X zo5b{RB@U%5eq`>UnLIUq7h1leaEpN&E?XF{zl6-My;4Zro%AZlPIS%M_BIfj(acCKuuy6Lq zdSX~7l$ZNskweyi_c?93LIREk(HSWbJz_L>ZP8%mQ#sB$^p&T|pR2)JHd5z9-A$?W-3Tz%~ICeCp-2DNokq_%yg z&XinUQf)x)fyr8+Q!E|VlYI`;C$0RoDc0l|h!&eymTy+zIVG|ve01}}%hYZ2c6vz{ z%EvTdxw6ttO=BSf(xgU4gHjp2Qo+Cd@2*I1{%C;%v7CURm4TxhH6!|@tG~CASrw62 zx))xJ*V$baS1dRdZSisv?oa;5hAEMuNvWtRLG|{{+Rr%MX2f87nps^941jtlm6MT~ zAk4V>ni^6lqv4klaB@rbHlx@9CBbES1k9B(=qK$hO!My%naF9Y`$b?`@+_}Xzr@=t z&=`}>byq|Evg^vJ`0D?R|9&gSS#@KN|M&=_eEP;Z{O}HAEaD^o0-g}QDG(>(_`9Xm zv$7AD5svi(c_fC%`9(ahapV9B#qS^@E z-%cEfi6V|WMyhDVvwcC!JE&L0`NMT4Sto$GCED`+#zxHHUPC<7gR87w{VlO;D|AfQ zREv%KmW2{k4~QTQ7>l9crZn2u6LG%^r&hluqIv!2WdW`Fhq&)w1ISGKXoSUj->|bz zCx0rdsT=`!V&hhCw(?N4#NQ|T2OaJ-72ro@7t?I%e(>5V&0&t8PKzMMY%1aMk zzV967yG@~TYTKoWD@cm6^Qr5n;Z^K8A24g z+c=rc(-UwHrZe+q_9Jihf3m&d_o`&1{QVL*+b+cDhUrC!sia|gAUgEv)5ooZ@K5FE zzsnB_8htC@mD{VGv4EWX@!B(GN=&c+jox-r(_8oZaDjipfE4wcB#3mKF5x#7T$$W_m>S+!QERQmHI z;HKi=iJ*;zqR~_+2qd;mm=Em$^f7z#Pi+W&mkkR?Vs74nND{Y&v5SKXAbdQlpZe9@ z@ghH!r77n=u}%$+>V@4Wusrgl+>)&+6SzUR99-U(IHrWxDu)HCF;ulE-nMOp9E2QN zC+l}&{;=X=(%$Q|LqQV|k+Cw9S9^CgMliz7a}Jv$EX3tq!F|DcV1rsH4NhObybNo; z_BjUPp3#TI0o`O{4TGq-F#e0R!09?WZ95Tm{<9x!<3Q?Jf+gYYK8Tv73ZkQ6+68Sc z!ZHcB=Qt^O_f2Q;xg>9c)m_^Hlob~a1iaapNL-w{$5B?ws^5etOrL2UxsUDK*i$Ba}JOY=5z1B@h#XRqSf+)9qM2yXCPU20>n zi;)H`Y}}Gr^=+$MMYDHSrHga&YMlrWRPk;DpO;I4Khmz!&{ro>$GU@d!sso7{rmPs z`)g^Lc1ABqP5Td+yr#Scl;8ggAicp!A$+XWnO>6vA)R5m$)!MfYTsH3ENYSow9u=z zf^=_=zpxdml=n*e-ZE!MKkk#LD*kfCOuFTL=stB#YwDHt*R7D5{FN0?hbmo*ELh&r zs~=vG|Ap}!Oj3R`K{=ypidu5tQ9y*l3znq4Y#>nKy^=n*3bvJI!j@3FWA7!mGnCrU z?f(go5S89W|3PrnaTPMw^Mu2cj^Br(MMEAPDmnB9A5$}tfB69q(~wcBU$s;}mynep zc>;ojWevG`^q5m}7+2_#Csm^kB}YFLG`tHLel}?YpgDTGXh|h|=P~jg_-`yo?sZzdoIf9+f9C_v*Fyp7euy#Ddf9f+hxxngpkb}eHA`ZiYa#n1s>SfHs5ne@Y_mFoO z7d_kJ@)+~zsDjMOB*u&GVq=_0GKAbkJkmlGprSB3LWM(Vd_slzah2$An^>m6rf|T;62U zL!c1ZDYr@=E9mSTBtM9xCq@s(!T$nO>P&7o8|}w23EN+I$P6|8V{=zh!)0T;#%Tb% zmVR|#Cx(Cqo4O3o8Qx%qH@&r9P+GE{pmSwBgvX3>4aAkX)Gt$*_ z?xtUh%pE4C0NbDUYx_oQuC+g(>b+NOxOWS`SH*woL7?Bue20NKxi?TmgS^@xUUFhyP~&bmKwff{Fmo(PvC_-M;=X-;*mMl|QrWl0*{S}PJ+0jm;E*0B z4E!*>&~U55v4#)(mC?k%X*uVE!;Q}|_o5fX%8s?fS}_N5iRIdJczm;V8b5iCZolOG z2%O~_?lz!y3T7RuWDbDs*gsAu&xo?M`k2}zoHH+6Lnx&X)%dgi2kJowJ;5n z^VLw?v)|o>`sd(Dm6pVxd#F_7mer=Xko#k?oF3I5&LJEmmd|X@(K{jZ7-{EL^le1n z>YumRF6rytb{QXCjm^8=|BTIsz*fTlVZLLLPWRzhCGXc@0^&Vn=bsz?n6naUY52vq zD3khO>xCN|!;)C!PPM4r&XI1d62~YbHU=Scc7<+=ciZN-1sTvR}?-F2e?U}w~IJo6#0+1PNqu4 z7C4#Xh4`BOaspYKCsW8?iwmJQMTsqkQ6>^Yt1rIW-D=N1;6y=Y3K^luW7 z6gDP{GP&68`%Q`^okWIil#gyt#Ka(NzJ^L9NgD9$$}kxJNpob!z>PAj#}9=BSs%bM zJp@-TmeGHtmbf8N(Q&dA>QtB@a|E*{jk0qZD#lX?ua~7x&DVlxUMk_G79kS>_0#;dq>9Dg9w+R zL^o5~iF`?Ss>C|QI`^yNK~sT10>$oE!GFt@!^aY`ANtbjIWaSgL^tn-?Hev^CgpVt zvjGVaUK;T|ak~7pXz|7L_X^}&V*BNEXnQ^GofTmZANHemROREXyM@c$<1Clt;Q*zK z8s84x^-MvTZ%BR9m49DHA7-hlfOuxBwnlnY-Qd(_HcG}QE6Qy{PEDJrfXC@2FE(8X z6j(HPXKbYrD}CKU5=vtC039{!fP|6(Z_GLK&=djwq1ADH%Sm4MRt&W%^(dpSWMFwg zS8Pu_09KAY`M^u}IGQTP=mb``+>f3S7qO$1ay|l*Lp8AHGX`i%e4G~nr|G8Ja%A(M z-^`X?DUv^WZ+S}p!_L!w=aWy3j~g3eyO`7&!}USug}TkMLP#pJQ_A;gO#}AP~vgvFMbTe^vA@ItuY^G)%<9f(4PN zcov-0`M0jyg+PuEi8+xOk}fh(|G%hv>!7yYu5GjwcZX7}6pB-dL$Lw{ic6tDad&qM z#odY)C=@8}#R~)o?k>fH7IzXP;e_`2z3=m!Z_Ybs=A1viZ)X3I%ue=gYp;9Bb*(#V zegF;fm{d7OCZ*@qB=e;G2R3OD2p*EOFQjC{^h@h|U^(k(uuiJI;F?aoD^~kAA4u~L z#}{g8S{CL)-y@cVn1?OBNw_E@K407t}et_k7 z{42BiSt`FRp79p-y>w8K?_>U>lo+K}a`D?PN$mz;L{6)bl-I!XyY)$u6Od6j|2@rW z06$6@--imk@mYN-?8)pgR{8x zC`Ykqld-Dka2r>*nf>+Zj8hzO=ztkrBLf{{;M)KbvB%W0tfJ0Rr1&Mj9b5e!n~)e@ zK-dpf;cN@SS7+gK5o6ijqIh-zZXI%4Xi^AIj*rgtI$Qj+7sp(@3=_iDO7@8R1~kbB zZ2s8sRAgY-IW8c2Xy@ir4fPe)9%ZDat(lz!2OkR z;F0kjDINB>hE6C!&`6Iyt+(}~O3@TBj# zHVkU3J)pyU2Dqu67~>0aYE{fm4jJBz=T<8-CQ{IsUVPJRt@CBk{i8M>RDs6$im#C$9>XN2T@skux%M`w+1lmTeL;qw{c> z3cKi1gbo}th#0|9R$#74%WKWUk}b8FzCwKM^IP9BIE_wsG3eqKdIT!HC==;3#$bpYqSX`kWy|{0Rx-ste8*}`8{GW9k0)X$&t|nuuoW`K3_BrbcvO3u zKhQA;-;fq*5TM2edWyPOEXB9%)UTtuE3sg40`+|bF~?Ffo;R&GOA5Mq-HAYAa^4w_ zoqV?jUOhGM1W7$AWzL@OZULH1eG3)s!lef`yyjcl)&_@#)eVs6AC05A%$;KThK0LL zQ~6K|@rYMFeSbsGWlA@HW6q42jw$z1bP?mNH;9k>WU^Fq^EWRe(=?rMg91Nv3;AB% z+{1(gz&pZ=7oyu9caSf*Q19cqCzz48 z#w8jGP%()vA}E`Y_}LfwEKs^H=K)#jS&|?0>PLAGtc;o3W-7x90gFhT6D^s%RZ+ll zx?H|F#Yh#cMswY3pg*%GJWTJEzgt6dfUfhl(`cWWvPb*a*{xkRcv@#ZCAvb#qoxs9 z*fx{wZhOVx6;uhGp3>x;v+5#NrJlbQ{P^^$*gem?r12CdI>+dnlz%U>-QcjOKx@#a zfyw(xce|D0kvjehaXCX?u@XEGX)WHNB>)ZozE8v}Q{MR~EotKPBJD)R_Yu5MJkiS+ zKYsO=dM4BR2xMK%KIzLKM*!Om*Gjmh>1hNyGuaH?2QEQh?LksZ3>|RQ@dIM+H_i>p zCCp7&V+i}~V_!J=TCidV<|c@3sS|^1Qqw8 zDFu~;^SVjM|h(-96wTsz@$fyA3L^Up>=}YO)r^S zmEOEtrA%)R2=6{c4d`U!gh_wl41X;yea>?qXX|)NXoE+#Hhu7fy-E7kegXC8qv!K> z*B*BTi__NuN6#g`M^cd8*utUM>V!JEVBHBiBL4jy=lhvkbOY2iZPi$2#^}A=V0*=tpgv z&NqoCdKmTQj`?k1Q&|5Sk*NBDsgvX66+=X=pS^hn=*p#MNiUN_b<~KM;Vs9N#uB`X zZJNR^b*%3sTP!OS<$mWTeFvX9+Y#Zex7a|DRZN&M(Cng)_pRQT@^K=Ubb6PEP2Q+7 znk_jU%dCOsPHt?gz}d}qnJOYs(h z-rd+<;4P3WZ|V>zKluw+Wo@(Vdi&%EJU4uW$UlQb(*Tx9H(6U=(4*gdO@y|Zb#&}O zuP_k&7ecSeazvV=6cgCXDzcqndAsdA2kI`kS<8%w%z3Jbb5b3N=ScbyU5G2&qO>ZL z%6F({ieMjWqtQ0m+I3g==cCC`|FrbuPEx4Bf`R*px%8B#BXEyyWOn3Bm7=taX{^|a zp;SdJt+-C?ds-ZkL^J)K7AbCTT9s;{0FwntqJ3Gzn~_gUg2P{~h3e%WW%|XVxNqIR zMT8KhCxg&F=(0~18oah4Bf%x5B+TSRe(4$aQ6ampLiZ3;Dq}iH=~DB?uZ(JC(q44Z zWX@5lJT(BD?@V;NY(W80y&`Lh_t z*_Pq62XsSQ8ll^lt*UQ#Mi<*!`P{Ms6FUZXVK#&?5N1%QpJ&F)n~ro}$&JXxy49E7 zCc+P zFay`RFhmcZ#a7ATq2xWKu}-CpC2x=aA$gclMx=0xr_w>5D2u4}-2TlfBb7FF4koQM zPJTH5=7fssQg$WZ1#WBeSgN)s_x`yeZ&nRO|5xw)!7=KJ39YcTX5$~02H_2FN&#k% zE)1Y^hApJoN;lt4^)0R^yw{P5F8xOKyb=1}hm(HfYzT`_;Zq7t7wu>!QL`s{;N(&~u;E|uIFmn?OM=(Z{ z`b%hfRSAsWKPjw6WyG#>wv*^sEuRH$yH8Yj2xv}b7C*BDn}3))op<1`D2h&rWc!^h z0j%N(tF#a9L6owkWTECOd(Ek0?%thP?5Ihsdzx_-WYn?yLI|Q~PByYD^TkfRAijsr zb!#ha{hj$tlQw@ZO;T743)@=EkW5jd`j#;9eST|?X@7ItiZUs~5nUzQeK=rd02iXj zWSN5Enzt&u`5RcG^TQ zUU;7rWIA+n((D-nxGUGpU;KI=PO0n#Kq?b8pw>FZBgUt7Ev6$7kwtBHmF)CLVSFs% z6EI$5lrUD?VKUo;+@3$(AWccrWgQL-@}s8Ssq5a!eD?_j`Kx|j@Hv%X-*p^isTBCr z!cGa!wSNCe6we;en6|l7xqZqv?%1->6e;H;FzJ}Q5b|V<5CmDr{Hncla+`oRt~Bfx zGrHkB1q*_E_=Gc#x1<~?_3?>&OrG-d<p%ApX4BY^xg7{k{c)X zsz7=3*KATew0C+!yL#BmLuDV>Fj(5H0XV8&C!(6(#0>4Of+xb+W4REXaN?Gv)zt%< zOF-f6*`*&XY4M#_JNm734{38|z|QO75yGm};LR5V-pvXvY?>TAw%abF^4A%aTfVye z0a-beWoR!On#vuqez~Z z%J9RMa%~j-Yvt2^I2N={XK?sKOBA`o+Ybs~!@S+U9C__4<7*VDSqDu~6bO@gE=(4) z0(OP`D&=)afQ&y?BGz$9Wc?`co52@(z}+vbG`m820eQiDVs7*(uXTS57U=w>&2J7~ zPnqOg)}zK(r7E+Wge6nDdsb&^%#Xv^J+O#@oI+`7Zwtj2E*Y`t<&U!fchnl;uHC8t zm(seCYuTQnpYdcsKgA*X0~svMIE6E*gd<~5hEiAm3+3&*0sIYrWqLjF@0rYyFqSwC zu@{gNe+_+}VdH`x^c^|}sJP6d_6asFTm=vGHu@WCOZ&z6%Weq$R2_6z(J%5#=~>g=Ff_#+w3-= z>)f$jv0|;mHL2pie~}!s-m5Q7NW0>Oy^I#WVX+ z6t-!$&{rPrD(}&x0_TF}DP08!=C}~c?~@Oz66F&$s<8~`mJfy4+pSY=TH&q?$b&Pm!7n9qW0P*^?~*D zM*3C9m>NgF@N4*2+)~g$ir$MjIV)E{U3Gun29kS~pu0-tfsJI?aZjJz^xi63>ljam zYe5c&i=fhZOPs-XhPslVF;YM!N|Mn=lyKLvmZrC5pt0+C!+TADH=M$Oz^KMdBsi2s zYq}+eP~~x%L>W%f>NU)se;*fF1GC}RMsmXV5$STfREgi}%PtlTGd7M<&L~BL&zfVG_T#SA;&P<75|0|bsk9WiU|)A4aEQWw z_L@#jJjHlrm~usI$cOf_^O~%juJlOlLxT1wEQ$xpgKUSf8LQ3g6USo%qy0l+tG~pv z?s?ve3hpC}+9Qb39qL{|m7Nqp*R z6mD}(uce&-nWi;w3@NiLIeAz3W4aWiVjVauKj=upc)yF`R&jgYk-TO z)pb~x(NVc#^3if6{R|;-x3cQnC6zZf#0c14Hbp!F0Tq{$q_BhynlN^5_uo<+ z-&*d(*+Zcl@h9i^0CjPfGp>d8Y|A7984QP-Gp{=5Qe?2lxgfU#VRF3RCOz$SzpU6< z;={+B(>tytpz{=@gTY5+Z2&D4j37z<(?-xM6JB07m43Ddx|zzOW8kf4h@?r-KlB~Y zz!><9o9eaT>!EFBGlZ?oO({1|ez<}F!2Q$Bth;hu2rC}VQq?ggePG0`T4CGQIfXyT z*9S0Ky0)8#$DS_e-LrK-a`PG}n#+8U_b(<)h9-N3d7<&4D=}m{FK=-QRdP!HK7{xY zwqLDI&;wWc33Uvgqi+BiaU{38 zdWCheKL|JkJVUPwBsO};D3Mb{8>wt=jvAEv3~&~0xGSqH_BUR)_<#gLVEqtSGKvpn zq%Vu4#EHJfjVhZJ6z%%{GcOn$X;*Q0H#j2R1`1_b{^V&{tqPlwe?WYH8wzoLsMby4 z`p;Y={`fyrrLu^h9hu8}JsBBtS(R_WthVsvX@E@Hw(En%fMg!+25yTWogXK8sB$v`#Ww@X#P973v@zn zas6LI{y%{F^*?ga{^5lweo2n5OE&u#bn(w@D=U}U?pNO%eL*m=VoI9~|3Rhx``C@8 z?I-!^zx+4Ilxye#v-z*(HhmFQEl&6s#`%u~#QjBV{{6|5o&V{kjEw#44I*gp@FM)Z zK(Ab$Z_n2y}FlfJN@J_j{ z^9K0`FsOEiZs1o0@~w^R={2Zd!nx(3R@)ga>BX+eTxK;B|Ih~U*NbU0Dlzqv<5-c& zKSG-I264vKo-TCjIJ?(W{3mIs&J8%ryy<$Uz0;8vPL?`Sw~HQ6PWf3`Cn~ebAaY-v z2c6<2?1Xu(8H#tec9dCtRvxPDG3!#UCxTs*5A`!<7Q ztp>>SFq!oaqiS_x@jXz~gB`@aASIr2VY17-nOKr#z zotfS(_1#%-X!YUZC#^xd{s>f7h(otR!15G#8n@5rz*1_jos={+jiYei zUrGx+tdQKv6a@%-7iGYWs0Y0lkm`_Xj>v?QmFFh;_Q}gbVvu zWoOwrsO}Z`MO^#G*T8j=ECEsExGS`Sl`FK_HaP&-5_mEEu--v2AN_i;ALdvtC5PIQ z6Rx8d%QgzW*pgOQ($f>0i_J>|gxy0gd$WxnK-`Mj|EBtT|Gb1u1lUB|+2PpABcFb# zdlnk0OA-isG@9H@hW0mpFd3Tlcgm?DD%-Y1Hm3#WT2>ZHnmjyeqUcTm_p2^i1=IECUiuJQ~?zArLiHl#6l@9h` z`E0okvaJN6))pFH#aQ>BGl0|$18+hNI~v73`L~q^dpB7^1tBrNs%Pz_5_h#2m4gqWCN4QLsDo~Y%^(P8JLmI|j|>=+((^nhRFP6DB70C{fp zsUKi#@lOGEOVN1C!ZB@YB6^KyBJ9ICf!Qb<5;Jw{vtI-k&NhIg9n! zI&c#aO(tZTNSpgpjW!<|I`s){rVaDTGfmZ;44>CHea3Ie;BmU%+Kk%`)qV%gOiK;d zDN^?tJTpC)%>nsOEJKg9s=9@yek7)dQq*z_U52UN?#i^**DG$TKWKas?(GKyC*2DL zCRpc=+>j73O_(nX?gC1vOs^xF4%-n8x-URb>B~RHom@ zYu87N?}u6j^rAIbk$}uN=XfxtjtzWT){UyiUy0OQ^(LY$-G$bnYLDOHi?qb{l#sW~ z-QyTu_e#yHm+H?Ei_7ziL~#O)N#Pr9+Irrzie4GJ-r_*~`})8;lFV?_qOY+%mS4kP zSo3Q*0I&?350&rcG7D7SH|fkM-So(Vee|b&M+^e5?Yi((vEa*Zx0`BAu_!F#rEpEC+)&e^^pJse13n* zFslh=5!qQ^QV?IP5;nOUA}H?;TU`#6ZtRL?&fL^c^ZTFoj z)r^^(RkHPIp3y$f5 z-1UrV;XDX;{w$4lcNgW|;Gon|vbT1F9o^ZXf!+1F=jnA745NLA_YX#i>B%1}12q3F zA7!k)`D;iXI(8a|^onYjSCWw<$7-CXSb2zwd*+REu@!d1(RmlGs^ufHBA~=VT_K6E z$A`S!I+QIAw+@=6_Grz$+@#fDNaQjJb?|JoJqm`FMBxDPsJ-t5Li zxm2Q)&d-7ALG<Zmh!Pl{Pw4`00b(5iDwaepV9MnG}q#k|%&x;okV)h!^9cBzf% zx_2`yar#Kgnc{jVJ1`n}XXph*H|+Y{Z1YCituawuaR8xNX_+pM!QyV}6R zlaiLA;CEa^Q1jYKh@=b5tqRVuIh&E=?+zBVz3C!v;Gm(TsNoCkg+g7L`A8*_ou_gq z4Ay=7_=hqRooE_I3vqd9Sjd*_lepo$$!muJ4k4>^m;n*3_Vt~q8PSh_GQA$GZYd6# zT&AP4u_Ao$hcJJ@A%AU%C-hLK-}U4tX`%*1)>EqUITm%E3R^G1fb#jn>RML3>xn)3 zOBr4g$8J~7@}A@C^R%7Q-Z<9Zy%5->P(mFx>MJwLAMQv2b4Q&+oVyO*U?Gvl%LJk? z)hF@6pStUE)0&Z9BHy+lw?r=-YTtI< zceKMDkQ)T%6WiBZmR$R6*oP+qj`5>-G69?c&lJJZZ=Gek)JVA_Zw*(27XepPvndVg z+&WP+jmv?gNm(%H;rr?O66}&*DPv<4w7y~+l&H~9qt#CZazl9Ly&lv_h}xS!e%&jN z;+3FF&dM$ie$-=7yfW>Ogz!?f9(yzVV>$Z)_nH{v!S1=!M1g`@lM@owhTL!>^HR+| zF_jIvh&4rZT3hfA{0`4!da}7PKa;?VZBX@>{Eo$Fr#JRaC(k`Q``2wcB%SaxdL=0` z2yTJ&yp}9wwwoD>!pR_QP9GXk?eB|qRcX;k75rv@id20c(GS_8*fd06md3%5>xn_p z;mWsW!$7=7gBk+wpJetd2uWjTof>V&YzzS4J%wMfiCpy3m~S5&MF)RUu~l^HrRz$< z8E(ayTXyC<8_ek$gP+84Yc>j-67C-{#hAD{Us=AC0_XA6Bv`hee=zA|%DLE&%MWuK z6k%`KaL@y@fRf@x$`oP7(V=DT0pgI0ywWC(=($}5=Lwzjgn*ukCRnBxJ)df@4-u4N zihRBNy-Q-F84Foq0(J(QngOj)@EcB>A*bS51;9{8-V1UypVp^oIg-{g_c{-gu1xZW zw-v%Az28!`R?=?!`2B=V9JMfHEnzI|4%@LuRBKpj@=;r*Y-mWes5#>Y!1W?@tDd1d z6S9^~oCL&vVVA)6Js=LOu3=sGW(2;ey`2T_X% zbPjJd?ZoXn5#rMtm2U$5g{wCn>52_^9eOT>M7ta=w~gQ4v{)ipuUl(-!QG()oU~n> zRT-F`z7#9V7f5*iKPYKQG(kHVVf(;K$~%WkqGA1NDo_6%E)iFV%VtX}^TLmsxl$y; zChqFZsKwKv7S28qUF3%H0Gg^hYbEic^acCWRoZPtUAShFxeB=0?A@7%Ub4BA)C6N| z?U4#>h3BNR*6S?xu()p1WQ$t7x64pJa%e0ocslsLV`#D8QG^7H9uKaeBrnxOYPdVp zyz^gugh0eCo{rwOsO?5egRcd^;*NT8-pDbEf8K)$NsB*zmonl!>r8elN9L}|cyUlA zvWRjUX+3(W)3Rj(J`6V7yxVlr7(xW_0LMFS1v_lq|HagjCa)e{Fy%Aa+iy z`0;C7XQPb|cD9($f7|vXPR5@sDA=A%mt{^+RhLY;TnWc3!{;MKKbeqSbo$f+rN=~>pt0%84Q{F4>N+g8U$1l#-}AKZ z?v*lt?lvw&`9p74;W6TO*Bn$(GqwgQhn<8j@Vb(hx$Yw#3$u<7E!g{p{?wG7G;b=t zEcrSSXZu`{`gwgP^Yu*necwbvx|p|ou0-MpM_DY*P+gsf>J1h?nX}C9c6B_YZ=A_< zgGf*Xp@PHOypE4K*LNFP#1>w!Rfv9SZ@&>1xeJdyx#Cu;-pq91e#;V< zJRzFnPoe^BA_gMeefU8B#@CYg3UEW%kSP8!1qMJ_;U+ockd{MG_bO86o2@x$04}(A z(^mmwUG=!dH@_XBi$zMwvwkEynI{M5W5zH9^-;TG>+Zq5Bu<^k z<}jRX{zIm8j>h$#1E7n8>u(_<;Q=l8EapLgyc$j*>FWKq{IKn6P!4>~vqr)I_TZSJ znAOcSlh;0MFcME1p=yTuQTQGXeZ6hrs^VxNq8nx6A=JVRrc;&b8kgzffBgQCL`k22 zFY%Y2nEi*M`5>o=D=g&yz5o9|1_%CkxXI#ZBcZ)Y@ED@x{3}dXD@9O- ziNhpieJRUlF_1ERUVm8fCU$DNkZ@MKd>BOiVA^97J|jqpDVJP|Kmi zdQHOeHI3!O6mx#$`1f-*!!-w8;vSlNmNHB;L>)WZo4Z13#5wrv5gwX}Hfmv&$Tp9=iR9LJER=Rtf}V?ey+syK$@@lilDWoVi|B`5Ii zIpFrZrMlXP+2ZU2%A{rfh z33S`bRb>*7CSvZyFNn%7_MB@~=!fZU@<`S9^ap3=Ca3E>s;_>>c?yV})>PlN6_;Cw zG&T@jioJfC7O}aBW0v5xa=Ptfhi_)IqCtsw#4g>oL&C1F`c8`mnT*l|W4n}8os(} z@ja&n>I#Ro(C!~?1>990nZ}EUg}02hv6<)!oBxKc*@{L4+#UK;S=k3xZPSZf-U_Hq z$`59l>Rt}wqlqI{_EtNU==O_`}MKEEp~HGy`w7rQKfw>aWK zH8t%9M6=U}kYq1w%BpyD7}MVAgXDO|Q%TU%*VkMp-BTHeAnys2r#b#5j35+=&9PI- z$NmMD!ZgiV$Mrk@<#Rq4IrDKb*oZnn30Ca{+O`*GzNwzk5Go@k+JIV|YjU#E!oS)6M~0+j@cf4>ic3vSMN{8N%J%X?6*;QCg^lodJ7#I#jPp<* za(!<7CkUSYB;rQsrFI>Y@emKhI2d52^O5M|KAyEOr=4_S8W2%vCae)}0qfrO)B}@t znuQZYd}9%RnA<_Th))mTqgja`3}_8XgFJGrf{W3#IMY#~ulAfD(>|HDyUv%n)2Mr& zp83&(&ilM7p#j|ZPSlCOLYHh|BhE8b;*YXNELO;AAbY4M6=IxjOx-JnGlD+}A3a(e)S$n0g1Rta)9|g*gp)s@4n3tpEctjb@Nh9o zZCPR`W!#(g-23J-q=6)x5(7GJjF-FD?{F|*gRZm$U#oaC;hR~#`wrK`(VwvWdLvp; zbt|0wuz21uBwk$X(^EsX!6?tX-&0t;?z8#7lj5s)RHfP#z|IP9TY7>D!_@6o;e-X@ zcu>iU;#4fZ)_tkuS%i(keXs&VC9U_jN4a4SwT#XeZs^ddq2_YuaC`PhA)I{n4R-lT zSA>u{mXanM(dinn;taJ!q$mhx5#0Ab;oHR708u#j z^mHh(>X@rSIJ>*lcdnER!sZUs`2)RvW`6>`!M^;mIW)KNd68x^j+E^3m%&xX)1^Sm znKqoK`*K;Y!`qpDR@9>oSogKJ>O1b)mL?`=6dvQ!)*c*s!LbpftFAt3&g1SyzWmhx z%4rD>{O1;hsECO;O5qSPHsuWO!0?+h9`*!xdKgYHE}5 z=D&o4j?UtGBcia^Cq%02i9X}AiKLj+RK}mjPRh-Wl75oUKW6L#!QggB;1qtEJM^jW z-6llTzOU|e`#*YKQp0TczcYK!VqE{@D~1#T@B7bB5h*v<|Hvf>{wZtrkH-7|a#PX! zJvInI;Hmv5ZmIWZ$1_EKi)J|Hb&wPXwqM$^nSZUi#{}J zQ0n+!xkU^qx+hqXO|&xq(bZQxh!S#tW3Yew3;O@B^Z(J1prv2r?fVbwm4;$5zLkby z(MP^Gw(y(h+1_`zO@7W{fPbb7F)~Gw-jpWKqC$F3QL=aG;nB)NpYHqV>bxw#ty6`a zl{xhPHF^x!69MQJ@{>cIMvC-6M ztk==lm`N~sG23#Gr$;KN=zn?MA@<8YB`x;1cBf@f7`Cozb2|~h^QDE-Ai-aQ^^e7A z4B`fK!|Jx0u6v_j3G@UvYxz-*iNJWXuLo@O_<4{c9Wnu*|LMY?F~v7ITE8*Z6m1m~ zZ>=|HE-99j^X6)RyHaQS`nIHR{dY2onCw4^TR#4d5ngQ7kSTh>N%hFseL!&09Q9lO zVoX{`ABvVJ;ftgPeMl^gpx%yyMPrR|SHW0+ziosl2SUeX9|(B+*R+13)SK4i*$1-U zeVge^m#X+!p5L+KDvn`OB^C1$(T*~M^FZx%<8n$K@b7yYGGVS4c{@AEO=Y9f`x%@3 zdA_-@!LMOPxR_hR(1Vp8LM*3u#JNQ}0_-R!&+^DtxjdUeWoo zopN?t-EQeZjCBuoBZv4U$jXHK3zzu{^#x+9Z6muRrMxs`q(M}QK=B*-SCW;Og2Gjt z0F#Hya)5}v{lMpLlS#Z&sn!zQ8qL|&q!gn#{w2~)q=<{WRbm*V>*42`#I*b@kxgvRwoLUuO0>4S<=CJ2)Qbj)Fe zvuWC^yj6D@(_B4eah>^-g-3Li8|ZWNB>~@^Ptz)tvKc$o#32hG_tHRT2N9_TqY&os zVk5Pa=Nd6laarF?M9LzNub0$m+`9gM1tEs=!`E3WhrXKieY z$q_wch+>_lc$gh#o`9ZO4Aj>ISnkYI7x;$vB9DP&u(_J}Au>siJbax~F*62eBH^*@ zhah}wXMpxdu&?yT@|WF=+xxz65Tyx1q$K=R1ZiHwEU2s-a`Oh_2FWN{GY{+RyK;TP z0bvi)OhtQyI`nF!9bMQ1=NJkV3Pqj21AF|Duk{t9NlA7gQF8bXj`<(;isHaw$JngmxyVP}h!{~FdKC8fkm15~eAWdcaFh|I1@@}e0lkaEe3mG7I+~5k_<~Q_ zZh<^J_TqZ&8|5MV)H30r@hmI5{ua0}6uv_STGo#GN{h%6I=048_ZYw+rU=x*qxqf6 z?!!idSm{JI4piOKPK9=mQ~*WWn+F-;on++bOZL9c^C=y%XxVF9IbZRd&}dT<-{=OJ zoD2$GYKzs%MP6&mVo)=*sq? zjeRb2K98N-$dlurOgErnU5Qo7H0V69a*(iX0W1(u*gK0?rh>40cTCRA@Y&(Y(~Vx> z=z%wt=*+99{QO6iGh+``^JSuAO47P^M>Q1IzWk9uC*~bA^X|0~Op<4=3n{z5;G%SD(-pUt3Q8dy+fj!z4I>j-62FBxc-z&lk zoG`$0^s8_+G>p=}hf=P1yMDc~vm5LvDN+h-v0+;I^%0F?8L{NAekx|vJ_W13t2m^= z3tw|8$gi(?!tp@HjGEkqq7#7Msc|DjT&L%ph2l`#S)SfO zsP<{-m&4x}>8JOigitFVGstz8-i4K zm@s$u28c$UP4w6s(owD?n8S7{^JoJM98UJb|+&u0uJwD{5+06fnV&YwMu zos0Lbi|o1am49)CAbZzD%>8TmQCo7d+!EvF|ps#N;(E-K*?NHX2!>iZ@ zCEt@bV=t;YU<$uJ5gvK&_*POi{{mF|^rwNXXdju|+z3l(S_>aIO8z!Xk+xj;H&5Zm zZ#~MlFYoBnax2%Xo93Fo`uOw>#v!2tz1~o&#qepTb9T2-82^A7^Av{7m;&q$2dok} z5w>WTR25YMjD^bMbqn%m-Qrh8ogCOUKH((zFuSFUTXbpP&3YH+j#tVE+ z_u&F2Ku>DcZjpT@#&lec;)+sf`z@r_vx^O=)y|178S{fk8BL~&VG7_I@@ni@(I@yH z>FeoNZ**nW5#F*ZmG+YEnrmk-wdqrxZ?c6DX-=$#5tE|Xkwnehbcq$)Jn=QqAa63+ zzUIuUs7H!*M_ni;^&ETlMC9&d#Fs5}bah#({K+B%DxZmj9_}bXnvh!k$+&JnyPmVi zQ9oaFw4A{YdC_q$8=~Zg^^hSt{~>%bPEAfXQ~y|q^v%0;)RABNCyTN)eGay>%L%H3 z{^Cz8mLqaj-SMhV@u7zS9-U5CqFzv4Yi7VP=H2$zL?$od^?G6p4d+Z1Itl&dXiZO# z?b|#ia&OK%L;kHfSCO)wwf?C0nICMlVBG+6_+qdMQ>!p-<42tfickGJ)X1JO?x^z6 zBdoH^1)lIQ$9_AnTNRm6_`MZ9GBH6j3YurYre#}YtYDnVIL`O1Q?_YM3vASO1Iqfm zsZ6sd5Pa--pX}EfdmiIzP|$(Ec;3uw)flSU=lic%%4teEao^!uzlmyM#93Tri8Iz! z=s{i=q)||N@t_o(NU+u0&k1Ng;jRD>#-@ z7Oon|PM!6>K~7R=#;n1Y+R3W1X~2|7cTbCVJ@AS)vT~>`Yb8u2kKIA0$Eqnx6f?Hv z?T1R0EdO>W2C}0g-6=UepckJ&=o&3IW^n-W^wXyZX)9aXgMxYDeQosCJ0@N9EDT%f z5JtVAV!72>84~&d{@f1nd-rEFUQAeNVqasDSHEuzS|*+RW-{)t;O&1Le=y#$;k)SX zdur%he!qDj!Y)@nyCQ**0}|6ri#m+!f`T?wKHT!-shHOmRy7+Vg0_A9z?-GCxx59U zSnp^~kdl^uXmp`$r*<=?V|y(b#dYjL?Sn*{NI1GX9iTc*`98lNFEcUQeEj3NUuMA$ zHy<5^8vK)E9}ixnm?e*>8RDa4KEf*G5fp<7OoEY73nnp9` zg$e9Sn0lB(QOeM|f6ODJr-R|>eiQTDz{gCaSfT4~eIk&jOFozCirD;8jM|Z~MU%%^ z_<)GM`-|y>^CMYd_5eNaBXCmCbtC){WZ8w~Wd=<|UJO~5|9)fQkq<^DezJ{h-cQw5xx5mJXY&rREq9W+Xcq~XF$Ju16W<)qpwsu6po_t_p-;GyU=>)-e;|(XP z$Q6)sY|+iz*H&_Bv-9rhpPeLd}2>t88C&%H~s! zCC^zcPqllWL-MSZ3N=IiVKc4PU>hAweF-ol88R#I=x9W+!Jqac(G;OxJvwE>c3fjJ z#)Ed{UkNn9jS(VOlFXfJxy=LaG20CC)XAdbOa10dR}b_}C0)N&z*^f{i6d`7TVpzY z3!b4y5>($qs$FG3k*Rv)>L00^mszj1V3kH=e&t{Fa=9!vR;1H;N5RqGRVuP|b!CB> z)UVd@xnEFWt|BwkdFoh3_2QRgO_fN=d{SHk*%J}u9^2>wCcra2ecXr~Z~Twlw{`Uw z)Izfp6Qv_PTnL?PoxfZYGAuorl>^eWeB(agU|+|n*S!iu60c_eKDRQT(b8X3`W-aql>ng^yt;zBA4h7<*-9Tj+dSsFT2l@S#_$%)@B3OpNeKICVLt_ zY*gX=O{mhKA_oBjzrA=bSjFYMV}x|8r;wQcgs3t>c{>v!X@e8YL6U;XZ=KAe+&&vvrR z6Md42?NX!8{1g*O3A)`x5f7k>lNH14y3*s>%M{j~Kz*Bqne&O4cRI3u9*>us7qh4R z#|fpq*=A(MojoHc`gm2RI|d6N>zg^;j;}&=zDZ3_a;6;LhU?R|d|`3jtl%OxA#>Zy zd4U6s7BUJ6;d}lK|MlxNixWbv5$3Ubb;^SfnV{+G_Q25*jM^8N(tYB40xli8!$SFZ z8GBgf*`oLShC_8hdGyEDW9l*HUNl^fE#9XJz#Hiw-QTcc7)HBtG)_`m#Cvq#@PT`q z3!3aDxJDI=WtvoY7GCR_js7viWU#0&xZZPls$*H?cq64&3R2e6k62Z)ODh~8K#VpW zxv*bWb~D*x7|AZH`1V_x#ds0DLCx<8On9F&Ahh$X7>LJq7Eegy!G!2#W8afed5Qf~ ztz?F>wdWg~d|cI3HWKv7q8aq~;P*$Jwp)|j{;CXpM(pJYQ?KJ6kJ)3YB=l?93|0?0 zNp4={j)yC3(YG%EB?%cx%mwgs#1^ZYF<*SiJvC?Ix1pzxR(2#AgpH^>AL}${i~ip2 z+*!J~nD^}I(L_&Dg;QgWsARe4;A}ZMJQ1Xh85CGVCbMX-h;<|4+hv5JD5V*AHgHYv zE}4J*1dMpsMke$Atw6rKtgmp4K_bE)W=Mt~wOx^#=A`nI?+z4kAutJKB`5ceMFc3J zKgQNm$O|<4uM!1v)MDf^v~r?=XL}EO0?!1URj-hsqw@3Te#0l{KMWL)Dy$$Fk`W4o z9uBMFrF7F(ny8mIov#ih%YRxub-H`RZL2^2xrJ1>Q7E;j_`#H<1k$-Ch(LC@Npi3N zO+BQiVtwG$b2ddR+m7#RXdyRl_?et@Hv{h_m`Mh2PhF5_&7pb4y){{e9}053JK3yk zD?kM@OWXZ~WN~%YTer0fcVhp+N_Y zbrUP|Si5}F*-piMt)0u{G?LdVrxQxc*^U=cG7CS%^Gk9Seb%iXy?TONW4l~o<#1rn z>ontSG<(fCsPXCl0y06(zMk`L@=X-VeFhG0`K2~uA9rI=|1|;>V-8P4JC-I^VNpVj z%+oi!TO&ni4EXerk34q^oX|#ctl(h|6X!{#-S(0Sg+ehp=wVrM1+F}M0cHi3vUc7y@3+j!pYWdSH$Nl%NLd3r3@ZewHLxp`Au5W_UF>PK1n)h!&Mz*T3uTUt) zKJISqGBh{Drv+i+I@sI-KT|6#o~;NCj(~@UNeaR`v?JAbzxFC1r@|c>1x92P8F4^d z^Zv1NS^srdFtmN@(kEmdd8<(H?IEkg>)f&JgX^@BktHJe8ib{+LQUyDZDeS8`ou}^ z_rA}5ppEoq>XIkmZVJ|N+y~x18G3K_OGehVKXz$}=OW(caiPeB3#FWUV!Je&m@LUC zJFx*rc0Or+S{H(1&PD9B?~3OimLd6FF?jgN_uBL69cbvIm||e`*@#QO8%KBl1;xiY zBRdr1i}|rNSe9IkWkTT(^R*i8sOVQU=y0&mi2a40$Pm|#8tcXqwzVby@EYW1yr7LL z6beOe43n2&R#+YOe6ba^QXdRK)UsKK(-mRc$+1Bakb?OaUyO6-&Bn9{6Hrx%13TB@ z`TxFx4EtG#4xyC$elX0s5x>6w8l;Q)?xYU8UVRk5{LfbOEbG)2%f7(D!?=Wy4$TV$)b zp7@2$N8;?CpuQ#ttxb-vm1d!|m*%b)iuK>*eYP!R)&BabV`y#ZG?2J^28y{0#-2}Z zM`L|=@BEa-f0UoCuCn)cWG{V_pY}I){Z$+7#P;_Hi!C1b{C;^`F}`7#{-T6xObM-* zh4>i8Z-eb8_plFtrZ?6d^g+ouQ1+)R{u4~T323N3hCLg;r;REU3Pl%;@tFUedvMp{ zD42A5G#6~fU;q9#u>5Y^xhN85w4iY3%lPFJuOMeojnqs?xcN7D_{tRd9$8yn#-E>l z1zAoAc2lkJ`k}4W1r0)=I(8%jyANuY{kySs*B%@z>|c0pcL9nHeTaX&v=_#ibCBj$ zfvwwjpn1->ard>05o;6&!~V_KxGR4`R^4aCW`?y^7H#cTkV>IY43GHf--loL0@)7D z9--bXxFoFt_be^I?=H&4IjNOWNY5-aVn?nS9}B_!ja~kD;hRAGbyEl)UKfsMwgh8s z-o@Bw{43Vyq~oiiS=d!R1Ba?pP@|iU^3ua2Ry{o=?jqR&uDP*H8|jUU&H%l;4@!@J zBG&DZkCKW_`z~6=-*ME4(ihClclQXCM$Ve@1KOw+de#%?JRo!J2bi=vx53tV zG{&$V0Ymy7tt+4y`>=i9_8c=lIAFo^Vtsh->p*;w?TtglM%1^sVsdB$E}T+3s20=G z!qL)d!5Q-sQS$NQcyyOH7R;LjbBWLovj(Hjw4l7C93>qFn7slqY0_*gUwRg%#T$`- zblmJ5Hq5L{;iCrg5`1qhNo)^mg+Wo%BF7<$~XB#e0T%Im7W-qb{*lH_Z;}Qtu3rtcxpEDwuQ@Jji6|5bMK`M3&=xrf z3+FAu@ly1gz@9szH`Bz{?v;obo{s=LdkuZHJ z=1=Pu^FLuQ`ozd1KUh=j=p%@-4(nbY5-unb@nO}itug%7;pX|YZuFt|HY310F zW5Rb{i9`DD({RIc33%%BU@4dngwD+qme6^2qiouQg3EsIBZ2%rrcksF;Ps^koG=%B zq%m7k6nrmPq>{!d9{;|9Gqpz*3WcHz(eX%63I>X@kyB?tR7x7s0@EGlP|~Zw_l2>HJk9*lTTpFQFnwS$H32}1_*%?BRW7#g+=^pGL$}V1 zSJ+01Et@FBGF;Q<`B5kogCowr5%c3~aOuD?ketu zUfM4;lI?Se~jw#^z7(Rp!7QZMqV2(RcB~%cjG(z7}on1~jyI zVsc6_$}+#gvC^T}4^m@}x8D5-pVx$7dU`mjHot-wJ~}qx!tz=0D>C(Z**n?A#YGmT>Ka0< z7(L==+^Z=?hqMvJXu<+j?EQYnnMJrFy?4lJf0t`!mf`2;(A?pH z!q(~dtYQ^@{b2(BvaShRbIb$gyfTzJEb&TIm+Y~dV;z}#gUrirsxQ(;I&pP#hlgh{ z3Nl~o*V8)`e1m4e5;|9=0`&jh9rE+lSLcZDuv;4&8KNeCOM16komLFALqx3)Vx#QTasK2=teh^^%0)#8 z_iaXUPy+(JS_c`*?}FqrehIz78x1wb#Q|(hIbnfFgJ%G$insS$+e4vHOgx%9%m|r0 z6LV6hVP;YkLOSxX{*#S3YMF|qGiGCUVie59Tk+!SAE0PZCB!Uyr+#SMw$h2HTc%t68!ptTw}|sHMS7(f zCSF(7SsagwXYBO5WzTebq38^q*Sq_oEbj{^D!f*>PMCb+?HUz&!q3psRECOzue1^8 zLnSt9%B`|koHM=9^g~jyt|<5tz9F*^5U~Ue)j2}<7F?IsL5v@ll2^p57dcU3n%{H@YD`yk6$> zvl!_0b4qdZ8O2zfSdEn6M(D&c+E)usws#DQK1bHE=xW5|c}4>ijcF>1P@zzCqv{xT zfAkU77dNB5{un-b<6l^}X+JU!7oo7RR>;pg@Wz`jWA~B4M%lH&Gi5#&#d{zpyA}yE zreI2pAFB4R#S0&9L)9=ujL}x^$4@IfAy7^`=OSFOG!;0y3kNE+AFZtxIXgFE%g)i8 zG#k-Tk=m{CjVW*mydqYjr7lZ)#IuxB(5NpKBu%3roV? zaQCw24;Syf5ACB+Wqds0>Sl&_#MP)i@v4}cVU#Tu%m^#Niuhd2i!6dsZ&lcK6$IeR z+z@dIMp3P&92+i{_&eqKMDK4?%>h&%eO7yde0d7w;C&*TU5_4@gC?s!qL*m!fyRzeO?~QGyklO zI3IVfWO3en53LQka_w*y{Jr$%1k@FO0uRe9xVX5XwQ(3tZij@6_#LCg@2N*iz4)#B z$k87PI=v5c?!hQI@GG=6IVYV#F|je|+7V-^MxtL8;{B_TAg*I9HE`Fpp`gYS?;eW9 z2Zy6j-(vOZb3G57^lNmWU7WwY*Aq8mq>w`jQFi$Mv=Qgx6@CR;Y7e8a$}xkhLZKL0 zj_2fRw@xAP3$SEPFe);OV40E%zuGKp_;@2KhUq6!eeMS$EFJUDT7o%o7N9&E-+Z|a zTegk9Vo$EPo0=AwNe}pP2za)K(ja>U4$4MXxN3?ws3j8xV!ch1?7T<_CN%G-B< zA@3a+HOKihZ%{cHR9YGTz86r;Cgzr;bO7AHX`2hExUhTp-_w- zM~~;=^UYss_f9{Qa^D{jOK{VV@5D8UCNwv+h@C?ZLt{2xdFoL-w_YhiLuJb1$7Oz7 zL-lcapGEa#F{h$!IQ;eR%iytYmZC}CN2CuOuh*+*WSxN z6@}UFBWM3VwMP{sVb*={4_}DN!mT*;^>4J%fmxJLEek=N5o1+IKRV!x7q?lfMUNyb z3N`z}S7i$_7BOQBvajF1RC}~%d4YhbawZ4Vwx z6$M`-d&i%&k>TTR3`F{hf1;u0gbafp2zOJ6EbO=Ky{ohl=aW3|L21}rps<@9pdCB)yT@qPai`|Vru zwnCv$j0B^t+>fhPc!sD{qy#i$>&rjI$}29x$_Jmv)`k$IBt^lx9ViA16?qnHVg+X# z49#zDEQcj{4m>oFs)*b|d)oV=!j zZmlfu3J;<14uq#y6i-6!HC9;6t-kuW%=>O@sU1+cW(YU?zdIAI6U5Q*cNUG)={(@7 zbACjG4R8M`vOV2Mz*+}vd)MedA-nMi3+lOx_1)7aRvS@_G(0C0X8%MgmJ@B>*^=*1 zpC#h@^?%0`$DhXLvWw8#){e!&8}Xf#zu*tE?!~K1F2keZ`s&!1aAoAPILH5KTrf=t z#^Ln{Fb_6=wr>I=7oR-8!;@EvHLCvtrwWBaF`gJ-eeN47(9&jrB{B|v0VagR#3NYW zjF!4OCkJg!96Zcn(ks~BqawGgvg`tc#9MnN4;JshbmCTVn{vgqwU zS$o8ahrS)F=NIFpZ)M`kAMV3%FU&=xr5Ug9^urzhi^GCHO~KY$&2UYR>sHb|yxtjC7p*E(6igX8nu?W1zft zHXf#MxVm{bwUAzS+GSDEp|rjm541K_i(j(?{^5(X5yeR2>SjdJ+@HfmGu(wGYAHJt z1WWKNOk4gBS(I~gemb7ow+atz{{vQi_8RW|>S_FO|NVF~=StMHcw>WcX z#^r+41;3S{{*ARKu>XsnNI|wgsB}$U^m`fheCVrRp|WU)_Q=TM6Ep)UXZ%Vi5xHn> zwkr3waKwXO{t{Ki&Mk;GUYRs`39gxM#3YaRVex2yr%NF$?%ngg%j(?l)ln~ep6w-D zH;twuZ;zO?+k_yyLZ(`@zG7Ps=hN| zT7+-#Ow?6oX(Rn(JB~9p{~Xn&d$dvK5g54?aWn2kZTUgj-(4|yWYm_JyPY3>TN_b~ z6v;xd_YIyS*7~Dx)f?eq48+cLtI^z8sy*ZM#Le9sF;j1svIY(JOjC07eD(KoMVJpz zdGJ>VG~^-B)B-~vDuphHEy8%k^4kWpmBL2=0_Frqc& z4(YV0DLW{h*)A1Tb{N_5;Z4#gdMfeqn=IDZA4r2}dBK;+{N`cpk+A^{4pW!>85Q|k zaCqzQwNZuQbU}}(RlmmXubvDP?8g`Tj-b4Y=eRC^8#cVZ3q$FtrgH8bzz{tfvt~!4 z<=9qi-8S}eA$@~p3PrU*Zen8{_R|hcxJ+zxz55;8g!94Xq#3=Vkhb(MU}*8S53Z46 z=KaC>Vz1lUsw}i?&oy`k%9Mcpn`n3#T+jFLlvRjGUWMj{QrRDxO45PN5A>^}g7%cOwd_4C10kLA3$ZjXL?9u|n#C{|A##jP$e`XV$9qo?{vDAt2DI?zbRc79pg|0E4{eGwRaws?F~FXQ4sFfxZ;z#5_4D~5)x zuE4%cKSW){@b_kgeL~_dLiCi?LM|wl=eCQBPOJyXC^+&Ka`!){J?r$tFZ2w=&G^1d z|7)x*L~G07x}0!5WSX8MMp1_ChxxQ1#JgEu(-08h+l*-cCZq&+${CLDt+NzC=T|(n8fx+EkH;0$us0>*%TM|%sgcYwHvjcHMw}i|VJF^QKYV%O9 zDK~w=Ubkl7L^RbEXd}!!ua}|qK7r|4FJ{O7Hof)n>EDxmxOw45Nn?Xw$Xt}=f8I-h zuzKttkMOmp}}L!VDuN)jVelLgrJcv zY4-iHHbm#~-66xTy#gkqF#8=@NcMEY-57+)XZ}Ivwb$1i@3r?jgjhqkZtBEdSem;* z8?;Y-vkpZydSsV+VAlzgjNbY%!xyh?55QkGh2XO+Z)8@*p~Ghpd~_!;+y5(^9rh8H zhKP&*i?}*v6K)mz&ZX1Ju{fayVZP017W>LbM}YYRO_#-lc`P*7mk62ZgsiK=KL0Jv z)qSp=qYaHwOd;g&sndI+TC5jzpePil4;}EFv=ED@M8V=2fWS%Vm@;$5$xCc#JMuFN zhm;0B+I{ZFSI+%7fH~g07{^IY5(SU`a%ib!FvQm)6m~~paX9Aix3$#4FL;hN+Ba0- z?I{e6wFN@?4o6tx71~Ju7(D!?qCjQJ=Jn)8)KGO4?xs*oUigR%5wvkqvDdjv0|fJ& zTbpXc@8>JMtRqcS>J3uh<7ey%t5|b0721n7a(cr&$(7T~@V}cg@%|kL@$GrV$foVcCRrfAvD?M0z#cSw|JXIJx0;KWuR6_%G(%fI5y}eB+Z8_Sg6{eu+ zTs>s;$>~T?%nBhYcc76*`;MUph*Hrt2TT#?{P2|Qz4@N_yz1L{?!<3!-#356)f?Z$ z^`F0r?|%6V9@zOL{&eg=cw*;D{BOHIifi3)%NfO3bIW0T{iD73^A*RiYE~&ieVkX_ zi4KK?SwBL`8NU|aO~@dXS<)fFx#HU0(o!Qm`D2BMNjHek)nctf($OkYv=oZdi#lX& zS&uJH0F#zngqtqAyxZl*vt}V=oaEe(E6u?$>qh+I$tQ9Ds`N2i9p9)`ly-Kd>XAUF zHw#79(ydZ{Pgp|N+h+j5ke`7$Z!99$6Ds^HpvEwJdI0-_ zVU84{TwUFS5Y;_wnD1R*bxgMAvMKoV=ATsTtB;;krdnHT#Rk>}OUPV#f23f$Gaf5V zeN^IZZLXJI$b&-@eLfi!i7mIrq|xusie2HH_K2<3Uz(Ks1XWx!}Ho(q0!Fh6|UVI9<~BX zjD#5s3@!bAwKP_r>q9Oehgb?zhtYiK`HmchLI0EE}23> zbb2HF!xtlQ_WhWB;Tj~(dr&ALKa`I-0*wJ|Q5cbWoi;K$n0(?8o_r0`mi-0O&-s_k zaSx8YPOCxIsL7H0N>|#&dcZLCP+3^dzF}p&!Z7^6=oQjfF21-nIy7j^ zb#-wQYr}9m$hg2S;!Lzi->BG7Ed%ev9X~#Ym&_oIgy(4bLUu zjop4o4Q;?L&pUw)-#Z|S`t^1BZZY%mqd*6AN~+w8-`atG0W3$09%THEpDCSO|t~ei*LRDwK2f_O7eSLSOXb?M=+o)$k3SBSY)$73<;mqX&RR#sZ_xMsUpe(hxwU zpF&nwm{-itU37G2MIOGh zs0gVc4cL_BjX$mr!_VJ~lHrt<4Q|@A*^_vc^nkTAcCH;dHxKE#&Ch&Y8yQ=$mo;+} zt*IuO*GdSyJeDhqz7fBBnRToOp>Y?%&BJfNR(FozW-v)ZR$=zr+Q`reidrs}CtJHl zM`08b&+C$$kF}9b^adY9P5u^I#9Z(^=Q+xb5%kc}_!S`51=b5-5w4#2ho321A~K~# zF+6A}V`#pYB~{G(8Hi24OU^&N-&FitTdIX{KUE%+1EqMd`wEMh@>u8oQhfZwevQY& z#bilDc+!=Kopz^GlC51dT;!g{eakO&o;bGZ23@zs8PF(AuRIO7_Ksmf52(=`(eEBP z9JcC1jn2w(|_!JCZ?vidj`p4x4LAv9LujV zVDk}gyzosRKFaV#ZiNB6@=UUoYR?N(0qUA{@b+j!a!@0dCRNK?F&9s*zzuUs@vV6! zLeZ}gk2N4MJ{^{@1t_ej@3Y{kJTKk-#BuC~ih{4T(NjahoS(o=?|ss7!VXJp*;;hu zUAywuVBk62b#GTFP91tg-SAsH^^2=&pd+ zfuVI&cB@JT&aq-BBn3piCpRY+Y@(uCS@@0ijP8U8CEMf^+ouPcUQBvCSUsQl=`6C> z-ri&lU(=u<8a3r+p$O+oPe@--$!Ke?72hRTye->Y9g$-_p+}Hy#7c8Mm4czOiJ5wv zGypZ!oRA8QeLCc3+Tqe6i;azU*sAE;Lb!S8!d%>ZMhWJ})yV4h|M@xy_q`R3*LL~K zKFGZgf>!MGyU^BDBZa$8T%_@%s(3q^8|^E~rxJRt=r!-E#M3uNA+@$_zYJ}(2bEnO zn|&z*gMm>g6jlo|Uz6`S972TxB@HZtG&-<-A&q7B3=CAzxdt(8w=?IsL;lY6=DVAM zWlfNPh%@Ei=I=}c9SKdiT&4>-!w8}fzmv{GMmD*5_)0;WMiUwyX>?(`yvtYchzWJtafaMOFr-@EAO&AdexgnLYtiWu2d%27vNtqeQ|x*9@~9Wq9rVQ;yZ!OpH-R$GpZgle z4itLI%KhO!Em)CSg@q9rSmys@wjY$1j=(u z;1wBy#v?niJ7?&}=V&YUZE?fBzcsS;uZw+8DnkAyBly&(qqL$j74%Zm!nfnz{7MRW$0YpMT2{ zFIm`V-9aB&>3$&SiA!Dhu&g+5Q|yTCH#(8=67mlJPa7ROOg{7fdhH+-*8V}hg1zVJ0^a2Twx?jZzxDtTYObD1{M z3B$gbo6Rpx zo~MVU91aE+h~)lSTahW|qW{PR&Jol2_I!E=Sb%oC!)T!y=e!`-FnY@pVGB_)Ht^q@%qZHRb!YdxM9OjZ>FCfoRWz z2*oCZ8uQ_;uY#AM2HtMf@X}Yq+fWT(gL90QEHqnKrN;@e*M5=hg^v#UBENEQNv)F? z|51ABrJUHMb^_M}MigZ4_>(p=IFjc4Tt>K2p=YEk>!=*x`!ouVoSKdW3I#p)A(!2U zhi_T{nM_!`8P9Gt;qoOO_~?n>;FYh3eqO3pc>Q8R)CH?>`NC<4_pQO^PmdsR(IgbU z_ZXh}cx<%9V~!##oYET4kfq!MW4Fx>`;{^rv%Y#@rI-Q|JvnuYk5 z@%aPV$S@I#O5&^^!!LA!%rADtYE4WNsw&~ldhJn8W};- z6&878DC_=BKhj3V4zn*3>p)X=uZR>Du&gfLWw%E#g-RL)SObEd>)~P(RI|1|in9DK zw9&ysfpq$ce_D^*LH5iy2<4nbF}Htko%Eh|;(}S{zbq9WM-&>?)L;h*olqR8=<`0$ zPgN;@^q}%@76N@;)e#)nbe}jIJJ(wpTOudjB-F%JZAOyfnWqz+S&h*=a(afFm|C})%DR*@R@eS+B1C_uDZfvk|r@vR3_;V81ICN zV}VuGx!(^rWZQ;qEjzmVZzw+Yp*HF`wsyNcjl}j~ngr`4^aWGFh9cL|sW5r*W8(co zg`%7#z2A<&eU8WZzR!N3jr0xs{o7grcHO6w0viz*U^Oyjm3Uyi*o)U6_Lh+d{Xyd^ z>u1F3_Wz=(HG-K=fbtoK$&qcMu>j%U1D{#;4S72VS4+2f?$lZMyp3~+bvOWVF zw&kAkuzU)^VTqT^utuxW*(|-wV-<#nb75sw`vI}#SP8+XuN*om-O*FNEsNmU3UBeb zG$2q}vE{MZV0{7>>SNeqXISpQbZCW$7#_;c&%ZaA*E<3?8|E1I_k9Ng!_U|vkU48M z;ddbTome@XRhEa+gPI%tw1|4lj;_U7NmaNwtpeB0D#h&!i}B;-`MC4ULfkaB1Xs-{ z!zJP|h6|pVP=mQKwV2b#B|!)XZbI=duG3>ro+myz)*MXj1 zJH0qZT=hnAT)nT2bi$TM)-d(Lem#+nB99->U}+etDI2=C$=iPt{3902u;;KV zjHv7{MZ$($TZBx+eY)p`-;0IiigVTtx|T%T^t{(}EhEFxNe)<*;pBSD@rgHB4K^HdFE|LP7LmN$dn^0N;NUFT+!VTV0EG9mGo$j{L=e}1q?Wy6Ucdm9WtmEX7Kg!H5i6`V;2QyK*aZA1PDJ%dHxn{&^{5q&6pQkgA1lq;^s4oalcUB?_N@fOVi4+ zJh@6L?Cclc(&j3Q0)2JN3!e(b`~$J^zp=|-Z2p1x*Ox)~>!uL=;nOggFKF*VrTwMt z0eE+>1sgJbur0@ogGENhVkDuVlOfJN z!85GA%Y}k7Y2m~2IOpEb6Lw9}8~tQjRYl=f+Guy^<)$H(>nsgH9$w)n%llk=v^P|A zV$yDx=gDBYH&A(?g3k)&EYfN35}J6acwX&*g#-J8-cF_q$ii(79;Y+{GW48b<29xG zw9)a0m)~TBCR{2D8alg>qRx#nmCvAMDn|Ll&AeB7?7K$~^+kvL9qe6XfnU#{LD!N9 zjy)e?NmohPNE!(Sfz3g}{cbn~1#230GWVZ_0iP9n{hqoN;$U5hw2)G)nsyks%rD0B zlqxApFmkWiv=D)@;IiyiMIU*O;ldi~l>Pc$l+c zh`(%GrqlN;X!eKIO8pxl@JtfQCl!0gR|d1b2C2Rom=~}K7sYJA>X}>d;CUx-*WyCE zmmBAn;Jitd(o4^@I9Bw1XRn{!#Q*wv2!8ibgjC+?N&n!01z%))V@Iw@ZuTr>$NYDO z&^x05kF)R&oF?lxG)j+g@AI3-B6G4S{Pb0@aj?)kL}i5qoZO8;@;qT7M;fgt$WZv` ztJ1v&MXq=ruUMb#G!<;+6aleP<;15 zY2+9Rj6SI@*((IPBie|y;1&z*(YUA>U+}nfGnf%5&P^6PWLP=FovD2EhI^kYyaK17 zjL{oCkNKpP2#z^du8-1yCfv^G8 z!|p9?$yi;sSBwq5)gr6+dw4~5GiD8lShT6Ua<3@Len;*<%n%O4C8h-?d`2H zdXN!BgE6=>8Y(bysg!kwohBfD7ulB2f3hrqNM(N@7^TFPh*V~WRwJZC%9BiSDad+L z-X9Ju-k3D+7jO%{2ATEq@OkC6__XvU6gJ1f-?I^C$7SO3X{ER}Z5P5l4x_rh6~&Eg zMcg~`jtV<3jJD|yre{t*^HG_8!!*$T=dDAYr!FpfaUM=~s7sSV;T$Z8Kj$i35K)X* zU(0|w)&u*$JPJ!vFsd@Y!M@y~8!VM_-yb!($oO&xc5_`2Cx6C{5Af{M|HfCD&b1H^ zm7v&j;qDnCgSPla~uDX#&MOJMd*mR4CuaTUUcwI!bY_G8@Gbvk#UoOJh2 zGmM^PPlLjmga|kL5?0X>z+byy3c#FNTRG~c3lg+B*Jq0~h4Q7$J{yIJk7B`_l z8_YB^4!!7L0xw5Q>jZL`=>Vz6HOuCQpJ zJ;k0EMhVea$aJ5O*bC7iZV#@Fo{KD`M^F4<&lmn(M)eS9cq?h7V9)=qkqKQdOa*ZC z?=Z3=b^b%rz{&QM_MkC4VdlN^dyj<7!{`vEgP1G{C>li3HGWrydJie`$PPU244wh< zvkYWZrcyg;(eLG4*Vh~qUt(yAIXeci`v7y)X$Tt{F49n)H0NhxO%9Or!Dt&AOKKY$ zaI`iFUsqj*brpBwSi>~vb#0jE`@WPz&I9Kc z7R5E1BT-jWcUCz3{?a2y?c(-vcCbR+g2Y(#SU6iiDHYjVL3ys>s8 ziiWYQDdoOjA~EgTx8n8{bC8}CgM^SU#D;ny`_OKbj{zAmGUYm<5bCuePeO<{`lG63 zw@^-;Z^a%i44q?$+h9Y)=!L5+-qy>DM-O*w+U;m=t`b60PpfQ)+z9pV-Y7Y4?RU+> za(SV5 z)Slg){Q7WgDq4cKb1uhoNAJSgs$XNx*A4h|SE*gao|irOCKOZ~#QP3DuYIf%nR=5@ z-VOa9qcSQa1my*rwexQ1L{0g&>>eS#h?-}C0wslh9`E!r%PReTlTeo1+w*QCB6$^D z-E8YX4>TdIzA{@V4V?uhDFjBOTq^~cp(-u*U|j-(P{MfLIpSsN35B=lDYwesU?{IA ztb$Hutg>jUywAu6S!<)dP|mMn93s|6sSJyAVBmD(i0oBQOBWiBjt==%PtN)XK85YCa3Xy7W)p@ z`G)!`oTv-K*JWqn?PF)5ve^%jrW`B``WzQWy@gbt43szdp{CUfE$upaF4t93MzSyG z2F0w925&k!7%}50lnZ$dntbC>bfkBU8im67w4hmMfyKu~9CLZ7Gj^aNXDeQMn5AGdMpt=`4%ZmI3lpvpg=&2uk^t8D0IS2pBqP0U6I|5ol1hISBxwq#!ZgK1y<2^ zW`41=;rF1ImEXH!kYV4<-3$v3!IeS3!M&6I4@*Nog|EI6>kH4u(}(WFe~)|%8w!@& zy=*C7gaegRP|y&D##X&G^jvI;gZ&KS85Y@!oqC%PI;m9lZMkEZB@HPIx$LSe4;Eh` zP_w`!3%vCiDy}Is2BV)i-*u=g-mX2+iChP!avi9V&$S1I0D!V^q}Y!;&YWsPs&iBP|7@JTXE5__{*e#?krE5;?%%((NP7K z3J{M&y@x-_^EYGCqDNs6#|4$1o+0Smmt5#U37#%J{kA$Kvfp;nRcMqsz|J#(*+qON z{#_RMVkj}|!$<{YfUxS2_>16WNfyr=S}h4Gpxi52-Mud*+7TEE9+r5eG@f%kvnlnq zi`BbcCsPN5W6y<~o2S^*_jUU%_#UZ?9+vG5*|t@tUbwi(hzobm0I?r+u3scJ{Z9El zBe|#Zcw_36!QD@+C%s$M^(06rl{A(#*3;nNJVPRnXT8y1{6;=~MsY=?UMJS{vt&0Q zXGAh^E$4b%eEcJETsp33@b{Xs_)oH!E1eXqhai4v?NNJl$a&^>Y;JeQ;p!B8n0EoT zm(CH7xMI5h4y*|O5SK>1fyq8QVba&4vLy(4CwkY4pwT*c-mm2O+P&DOW3crg_lmlT z!)m`!j0%R}82EV^;O%EXb9DvE>%=kWAgD6M3|i`>~T?>j*j_7^4}vd)MLF z#~#PuUfqlgvB!Iw^%z{|PUpj%a$0jc7u^oAI5vufDMGtHc3@R|deay#IT*O{w~7Vd zH)NJJ(h0qpQuz^&+e3OWgj2&sc}&&`0d%G|FnHX>xyv?%JRTWo(H}eq zS{f=5C=_0u5M+De?%8u4=nZp6*>0&TM(-$j&5H2O#P)t3LtKa05|XqHa;@kJLrP^q zC=IS3eMLPePG6eqi{T%>08^JdX3fj4Ink#fi|1iSTdS-(ZzFojE#f$A!eDyg4;Omy z*|v;c&giMPYNLI_h!m#P^fXuu2712fNe_-aPlot&?-?vK6t;J?%Fo{yG@8~{WJ$$6 zB;it|E&sbz=owzmsI$pu{z0ZluwbcGv1*q_R2B*ij5=HVHus7#>t|#7n#m`=|0pXb z!88u8_iTsQA58y=NV!J-9_=koHU^2`x4FIy{*g=VehyZ}4^O;G%t!U0+Whth=e9#k zcTmi^+K6LBPWqOV^>`fjcRUP4R!t)Qe&|kIx9L^jCT|7Yofa}a1ON5c@?+VQue98KezLNW4~5HfukZoKkx+;myzW%b3& zFe|G6wvl6vana}AF#lHE|E;A+H5s7yHo=S*R8$M$(A5l!u@)O&`U4($b@ciN+JnXE zSTuz#c5L1Z3hdkr_iy^Kygyc8HSpB=zXf~454KMbGEphjWExlg?koM>t#_o zhQ?R4M4%&RB?>CtaHJ{(MGY)QGj!ZN0^n{AwbLtn=&%qLH%)p0P6ZUaqSJ0e-oaNj zFIRUM1;bWpjck?} zfutVmKu?UOFk0BKq_+}$Zl9v6z8<1HZ-rwcA}k6@*7dUqMR-X9FVH+o0o=H$=A2)99-thE_M)uCfQJS+}8|{u!Jf61fNg1BZdJ@Bh=M5|9Gtwbz+aDY@7%-h- z=6Ns4y~0s%Ck>T!M6k;b6)G0uY!<%}i<#PkHAN^3@UvxZeMCk*1;}Xm4nspb?f47sCmO?+f`k#M)Y3utoenf7C{WyefXPv}J#lMqcKM z5695c6IoEOu@w6@(y%fx?A*dOlZ-eSs1WQ>@$wYMTSyKUacX)T_&>fPh&%GUV zelbXhGNG-p9;KzF$SA?%&n-c+J>36&8iwb-4#MlZ{AD4#eD9wi-{o8! zDRo0#t6BR5L#M+<%(;i36jFxU@{Phs>Vn_OmW|$isVK;PTa1pHeeWa@lWvfCc=S#& z47FA$k6neJsL3}A#ari?0w`X`bP>MCU_;A+Q6>~=dw;hl%%i6~!Vv8Kikx+YDQGh9 zUhL(p2G6~{XJOo~$bDWsm%j@QcC4d8V}FYij2Z*eA@&A0skpMRp1m|cwp)vxcBc#l zABp0AR(jWxV7eCfR~Fo(qr=&T4jQld-Dp5^q_AGhlw06o4n<=P^WjHkpKob%LAlF3 ze6qh4e|oP9{}b}jJ9~qXY5Xnr)Siu<#ql^&6OTBrBUlo;9v4Ks3vYcj3hKigl8-uC zo1}uzHnPs@ilb0C1nW?Eg~7+Y2|0&$;Mg#_vZc*+%f z5*o{PQ2}B@?EHSRn3Yh`Th>*+| z?$<)zF6V;^CT}y3*O_?Ky=7NiUAL~AKyY`50158yZo%E15Zpp=m%=r;y9IYk;T9Z1 zDBRuMWzRg%`>u6PJLeDVPqap>f;orwG5X!Fdyf#qo-aUVLLY!1nVAex>0>=&+JEwf z)$036hyAFKYC2CJoPtVV+EiO%8Md5`+Is6RphoU^43GGD5uoylUJ%crUlwe z1*!UXs-07^KS-M}wT`ai1Wp_G_R%WWk#R@9bIIzAYeDLB;1pTpA;+%wbT8uZvjtV; z7cbF`XAOw@p-RUcM+65N(V*}KQF0yg&k`@2cr(2)jVdq-y^!}{GB5i8yh*f0m5QT(^D09;fBczURO*}(FX=RELW^YQZwxF~MNBv}^!nBhX z;)5R5Ai9{WYFc`ch!KL_@nD-8$JO;01?aCTT>P+Cl{G{HQ0NK1B^)h0^cxdQBqU-T zEF&ABB5EOVK>A0D0V(+Nm6k1XIZg+M(!A_eQ9ls8y+3)V`xzx)u3%N9ZbH<(?a#Xkgk!BgCt@J!3xT#Hf=_Rbr1 zapo>ZuJxuJU2U-)>)VPvqovQVi08YTOPQs%4XA7+U8I*#&1)}ZoxM4`zIe<`hT$oA zMgfDnOW~`dci}&m&~M4y56f#BzoEXQc@X(_Y+~rQ?{j+Jj#!+9`k<{vo6*B#Qk`iES1Qe*V#7=qC_=5s;G=|yekZ>|i!!)t8%4EU^wv2N z$G-K<2tn+$(C)#J(R;vqH)u%1HA~bW{XosOtxNlzV+K#QKRvL{5WYYj=ToXn4tiW= zl zfZ>PRysF?2`V=<@G#*PV(~gC;f4;*jb?6pTO*-;^cb@uiWB)RKq&P{&pnF8outP=7 zuW}^1Sskl+8)B8Q{tJ@ZS|(p{y?h%3t&wp4c>sJji^n|tAWoGxx0-x~O`7Gx`~p7X zt5AI4FMhmbQXe^8qkDlF%&d;S>VrXG_hX=3!`ykoX7DUmMkZyKUorI8hJ0m^b9Bll z0JUzP$!13LetL%7;oC&fZ?6y&hXKn$IP#`$wnlHAvX_12%F=mt&pGTT`t zG-r=xEm-Nx(S_523w0{6x!}6gP_zRNc)K-DjW<8uzvdYY&q-Q$p;m+>uZ9b|M^I@f z&eQ&#`ccWFowSKKJQsE*Xt&N`fb4cT7Ov@)Ow-{7jY;oS=;V2a*_~n&&Yk%d6WBom zLo^?ccOS%c!Jw$gKed9q^eDxc=>)r%lvm;!mL!^+H`UNNbhvkjteG$8D6RW8v z1c5QJH&+NUDS`XOCT~A#u0>~hCtOvjoS}xd%MfFoFR&l=Ziw4PQx-@y)Yu}9GTihk zyLL{pvutMW_KR17-vzzo)&`oiuOnz#Q$Ay*ySJ+A&o7&la)h56-!z7dVrJ_xj7y_= z`>`ApK_8z@M){8Z`3McRFU{m&^F*`FJc#)8XxPie_f2~O#dJgNVSMf4rlHkcSYR``Lb<{1~aKQh&9zDHd1#%w{;ti2n0? ze9=5SS>j0ih1_O7wrf7CCH!z28m}RE_F7lzLVfCL0u#3HH5UR%*ODKM=x>O#xE4r; z5fUZu1PH~X(vxuy)5nLO%M32Dm7NhK12?9Udv|SDv7<1)oTW%cFbmF-|wS ztyNQa1 z7zJEb-UFh1WS8A9zXd;+iqp*DmMLrCoX!kLk%my!T5utmI3=9wZpB0hiiheE4l5x( z2Nj9KAD)l~Oq-5D@!1AYibs%OEPxDY#Tn9^_l?IZL#y6KigOK-o^w+@!O?aQ@E8&W zX~i1QtR(D2+laD6}M(YB-?!zY@u?bVNMIt%<9Cqog zXMcJrt!k@d+hTNzzB-ruCMu#{vi*eKBb9w84+2Lq3uw+yhskm*zUPHP(LwHx&AAuf zLosAKjort$6AQ~_{RI@z^$$KUP2&k(bLq5#Ym@VimcevaADqUCzEiSkq#g2!RDO>o6fArKKyHoOpy{Wh)5yjoUR$JRkPH_056Fs7P zi5$}9_-;H}v_jmrpl?z|8b#^o{**E1eqf>d59=Q2PSzG_cuC3Woz<#Z9=@OB*w%w+ zkn4K9TYs&cK`5n~1NxzV^;JzQwmw<3;rcXSbi zgFuY@{YPCA&aLW8A6` zxSy9I)N3oAXVy4kKfgHTI}pjw&(X<>nn0|y`aXDQsqWexi#SW! zJbLTb@wqAhBdCi5Wi3Z|fYK{{%mNjoG4A8nH`+BXhx?wE<;|~8Wim=Qe-(ik5x;iZ zFIa0<-9P6xekYZ-Dm$vJ88Ouqdr!m9>Zqh?(dE7Kp|*P}Xp)@E3m0NCm2oibqsn8< zO0Rj-Tyn%4#W*-TMw9pm%@&(%q85XXwAYyUtVlBVM$PATMDqD$W{_3bl6^^E@7!eN z{!VT{(4F1lW6aEl+(t9Uya91gwli2+na8h)Hz$mC@AMl4;&KyK;bUe7 zHO^ceR>s5AGtFmt-8=ZXfr^d;9_{BjrVakRK8GPDSQs4#s~{h7G*0@{X*o$ijH3=& z&1}}u5BH1pvGVF+xx%j;QZb4r%G5$+2vRw+t9j@|{)i{*>(_`tp=$3xFRZaM!vB@{ zCX#1x4z_OVj=B!B<$8&Z@NCIcv7&q>EWhAX&VfkHO-h~>eV4v~Qov{Pv+ygB1w^I2 zBd^61T`hZZ1GQ<*C9>UdebDVolN zLWHLvEJ=C*{LtM3R{-!sk0f@gt>kkY8ST^htEWG)~Mu3%4}+@pk?uAfk& z_B?~)JyyhS82Bz?mbmREhZ1-WeLcK#W3b2j6oxR5^u>4K3V1`Hwt4w1JLuA4xnqn# z%n`V9B?=~HG*NA^h3=<4`9nc}F+?c}^eHLzJ;J>dosb%yGXn;s=XdmCtNkERzd;;? zoVB|BYwdL9i1{fO8AR*g*jkimM!p%Y`B-;ln)lxd%vNptLauYnR^wGUc1Q=-pXYm3 zkHS??9=qdO-lb$?1pHu}*r+0V#+(qkr7-k%LJ<-KMF^T~J2ic&)#?);G}VM0~8$-7p;C|ft+W%r|Y%b+IDYPYhB`za#yM)`FZ-;-}F*D&Kg&x3&UqE z@8;>jnsg9{8y& zhtlfqSn>NF)o7b=qYqBZi`PRWqqLXPDB6TVVe^gPpG4ZCnH|f zx5liUkDpnEEw;|4bGuoVQBz#^qb)khqhtx*WM#D9Mfb$H?U@Ht8!$#Q^p?p8qfhgE zh*4-#HO05_c)`1(8i)Tpu;!SUCe=y@aM!V55Rc$n*Ux@x;rDf)Y9`@vQVHG>chyiwjGyCr5GmU3E zcjplV+p;#&RSsXgL!|MZ5^7u%@$Ro4_idj$ykE|DcuU17tbbgrAF9LxxZS&(pP1fq z`hTw~?`s=X*PGp&5I+sTY+ujn3M2N*LDF0e1bGaBTNuIMFnn0FRxo@op zKGQtGxw{M?Gc{Q87%C^z?>LhY*-k&GP%=)(&b1V&?QS(sd>2hjNdPMyOAjNE;80QV zcJdFBTtRQ4q+i_1VF+E`9Df|)dk`f#{{A;u0^Jq7sRRcM*~`yqkFu1~Mh#7~2%_{N zq?ZQt5O(PtpX2>cYrAB$6)TT#&V8bQ3bNv8SIm#^j1xX$T-#D^C0^EwXKs4Z+O~%+ z^5w1ZV;-Dt`K^c`MS$9#+!?$X&XB#W5Y*i%0^6>hWIE>ng=JdSF*DG`o%scDE-Vv)=dmH=t zsw-7ui0oU{q_J#oeLeO_ZOk99Q~T=`G6OHwlfSxp!t~HAMNSz@TjSc!_)NcSw@UkX z%gc6TPJ4F8e6i4mO0Sl70yimxn~ozebBisQ6FxO0)wb6?tDW!zgQ4C| zr9<%CBrKd2q<;lt3eIwlBTuFP{CJ=+4)$HTUcWD@I#){`I0#T3t+Or+gXPrq^Dh$w z9*s{%za9M=nmIus?QIx2U)HPc%B%vhELxwB@hh#LLp*nLqj7<1l4fmq{f3vO<#^C; zuxY(TuYoS<+z%-* zRBM*)QQ^GS+IP{Y*tuqlLLC+ZJ2`o6->Qk_csI4g-eyxoK7EDSz%0#aO9 z&96<}lV?^VIa1DQt!gk%h}yF^F>z4M$Eka0H@@8WR2#tMCb{c^n>jx?{%Xk$l#^nk zY9q&a#H<&)?(R z?ldxo+*OLl6$~ycYL)P^^&v{!EzRuxv01L#qcy@UyDZc3@hEU00aGQWFVX=ta#&QM zT<Adbv`Am9tC=KVn&LBNr2!iUW!NB-^XH^z{=lQs|Uj`H{kVPt& zrTeUxPn+3PJN#5Qn^<~y^c5`V1tBUdT=)%HcT^Cs;HeK};qc*~oCdg`5(l^1i8c%h z^&u4rO%|{ZmY0ng&>bUJ{;)sCfEZr5CbbyM?!`_Qzfa_Xm61Da>FLLrZIVu!t6zT< z%i}VAn17Wr6Xc$Wci=Y*B0rNNH?B)1iTu?nI{}09*uAZ{5Hq#;m@R5@(+*U$HF>AE z9eqlZ)6$AZkk&)eaXvk)J>1mm+E7ct6=WEX7ho0c9b0vMGnSy1UQY^?(n=B)N^dH@ zlVZdpdKNA5iY;SMN>k> z?vqp1?@Wz3o@g^bQ~}BV?Pa>#mVv>3?V9GQK~Ex3a;nRpx|(4{WNS9M7g9A9%!LoK zuFhpax+#*LSznrwWsofe>flK@75Kbqv3=+sUl*s`jC?`))Bx-^w05tR`?1LQB466P zrS6%+go!PamwQuki_BMp$XN&ohg16NT1xpB*$+0R1JGlk`Vh7S$1|g~9Sq3=V)K6g z)}BFU5YLO535#qI(j|$#*!kTIDQ$oU=<+|@+m%Pz%!!C~L#6e))^>BhQ~7?QHD)9G zMx#t%f%tvK!Dc`;i=nX zwd-qD?n-UDLg4s=n_D*3n!Q<;ysVA$m|vmqKv}}2OLO5Q7OvEF{-FL@Q!2OPPg>>f z0G$1aP@MotDEpJEQnbOEE^i;)^~KwHG{qgKI%WNbd8NoxO=_6I?w&v= z*n&T8V~I)011e_=HZ`d4oDWA7y<;f(U!(r1zUWJv-3!7PzAw%fO2rL3qMYc_ufS5) z^01~z*VlJ(beZB;&jIN6-$F?xLO`+B>vc>u&>GAFeH%$(7VybNFo!!$HvqJ%sIj3d8flx^+q3=6yI-r^o9YY}!1X0L%K`D> zzyjQrE}MFG#BXDSFaf!p>0JwO%+m7&fY1JveVfa0usQ0z0}{<})VZ>m)-wW<`fkq5 zqOLB1>IZrYC;)B$#8fR;OWT#&Q4{{MOoXPlBCm_?_HT(i>c?@9H_2=BY-}bnAr{BvAm(w{99;UaosIe`Xjr)Z(z(=%F8BU z=@45yh?Xlch=!d-T6nk1Sux%q@Mm!T>2lQ8npENBBH6S*w$uLpadY?5O9UVHeD-M; z7gLcla%wMiOlzGbaQT#CPR>9F@yT;*926%bgtNJ`B|QOw{s{ z=&Gl&95p5^?Xpj5*Wjo9DMRJ$a`{<%PcJrupf8YC8(MftZA5HU*2hnV;8hr(o*E)@ zr*NfSHKvl?!EAu*(CrUw=l@JvCxXs|#*6|`Ko(X75#g}qJM~?JCN$4w7cKl)v#4uS zg0sdnxdJKut^5lhe1IPbyxv@>N)#YEp4^WDSn8OAx6fwZ+MchB0fz~o=5aGKQI_CD z34i)kG8vBx5tLK;fNe%rw6xeuO|rY>16TElv-gK9Jn|Q9c~7STC_SSWXi{&JE2^=O zDSASyk?cfp#_=_ra5(w~_?cQR*7Cd-t+BhqL`Hc*N9ogqp}|MNl4U=N*1gpJe99`F zp%NP*=Nf79zj`?}MlbX|rbN%!mAr?fFKpY+Cm-pgzI{S$I1N)bkm^FVple-3%A)=~kg)bcE#gQ*c^t0&A6~kH z<(iXRG_EfX#(-fBZ!x|X&9?7*?+w<+A4E=v5%XbUOkBQaY}vjZlyr)s+8qv)@*i@} z0*)NKLCna`+0sDKMJT+eH&}_w^5~_& z?N-$67~%7&J8@%>3ih%e1Q|VauyyLklm2-& zJ^QAiN$>FUc{;5BFl^RO%}m0-DEggy$l9z1o{3cy!8RQCTH32nC}X>l0eOAbo-;c8 zHf|c0F!~Yon9wR*=Tj1ZC`WUCSIp>zIi`SPim|`yJp6Q*#9D0(Wa8Wp4r(iHQH92Y ziHwp)A=!VQ_n!eo6B3lMf^@Q@y!Y+oZ|adwi zS@Nee|KYeQlb7h_g-^+P{J`%x(Yg=MIzw)=`^9#o5_H7ih3I^;Z-N#fgm%q2*bv`g zf-lIoQ0u%rwh-n+m2*!c0N$*C4I<6{EfR|bv>gIeEH2~N6T2PjNC1k4@hj@!u=I8 zSOI$cL8!hiWbyZ<=0;kZ$rB$PRy+`6JGnd)z5q4(u>iYU)a##6~E6=WRo!#n>MQ9b4nB6|u+ha&STqk%JWZ}pRlXFTSya~s0PnBC#tGb5^vuEiL zy0Qk7)s4&@)a-7=-N2!df7M5|Wzj+R4YcmEU?S=3c@Gv`sCi#ithe6r%&?Sl4B`e# zhTJ`vkL6ea3k2bXcZKg=PCjVMx|uCP=J)Ie4|29VI06vllvo4@{I9fgv zoYA_yxhj!%Svx99As=vmqjJ(-XzJj2{KT;+XJKZuukUT(2}_sZ1Au(~o$eqp)^zvO z9smnWetP!mNU4$QTYnP8x)A~h%2gGyv4nVXwZo1x4W_hA?F?&A$oJ*5}p1{VHv&^baX%SRza(AgEKxY=Le@ za(3Yy%J+n6_X}N%Q8ITJQFlrs){W(PrP|Z46c#tjP|>Vz)~t)|RdLEvBa5DO)qn>g zi+^VoKGIyzQDls-KY$1NZq{A93;21V0w|jNvOI~H`QEj43x)YV#(nnU2H6#(!svY5 zZfQLunoDpUEo63#;}Clt4gsMhJPVL_7}9q%%DHkFX<5OuVN}1Ljf)fZojy6a1a(Dq zjhQ){>e#-FDCDRn^4;ItPy4eXDNLl05ZyYWjD*e+zj|`R5wQbH8_MFHlwXU?kNvqm zA%Sn%2t?TrAG38%wVi~3v>H0GTi(xOv(morao5@yH{?A6ms|K&wwEG0W^W=g0+p9Z zLo>gwm1iwF)%3yHW0YfHx?wCV5Kd|*tol`Z|L@o?t^v(sh0H=UzC_FNn`FRs)>ffE z3OCF-6OLlVXk;8j-Xi8 z123r|LHP3PJxO+DJ3QKI>zhV0fe51)o5Nhya%rr;EitZqvb)~HE2>S}gz5~{@!d=k zrCZy`y-6TfE(1z=(NvHi3?TNU6OB08PW+Zhb*a`y4xH3CqKo|U-~9r(zzALGrNDW5 z7^bweA>uKB=*$V+MY~8YV|&*dAwu;`1RM3GiSgbhoB2$w%tkfs5ON@aI+&pYA|uOf z;ecXVM)1?oUO%LvL48C92J^%ND!y1>{&q2>ELo5(BJHR;HNs(d$JAn8ers0pS8WyY zr&d2vn%h4>EEYOGxUuTD=|YW(fg6}V{q=aItQdtUoV~{OyRbDoT0X4@>yF2^S#Mix zoWVwF<1yYYalf6Kp?I7$s}Qqpl%IJOZpvb9=hq*$a*(AJa9d${28L9%<2xy4yjy+1 zvXGcjp`=Qw^S>(A?fi+CGI&qP+8zo-HhD zA+3ZbeEES=Zgxq1N9TNWpw=DmGDMFLPCmwJ%gz34%6Ge>ky>3Xne{6w-66YM ziPQ@X2X(fnWmn&=_p_$ zRt@je`ak46r;?m;?!W?`N(Fz){TirH(K^VYD$`KujNaBe-9O*1731gr{DbVg5Bqcz zKUn)1d~=5{0osmb+tI-@wbF&ZLgAge+2`BBwn5_&fn<6~oBVmY@ntmo-~YPK!&K$@ z4Sw5K0NtFA3CG89Wqv=<&sQkS@L>w6W@}VEc+Wci{7?IwPmQ9Nv2A|hqf;NRg^@p3 z%6R6(@1&b1u9mj8hywGPF-Ao)9=HmLje~{u>%rjM0_fx8W5+)Vlc&|)n_ZHba7+SZ zR5Ta*=<-`;qE+Ds`pUb3e0Vdh?}4AG&`l0l3w^;txQUsCSx6jg$o7B*(dF4aUXIN_ zKvUtERAIMd*TXBR-Ge~aTFdZPDuyc4#tq16YHor^eGH&ZT3Dby6Ma94upXUpE0GP8 zjTCItBhjz08!_7yUmYxvtnwJRfET8Z#ow1+8WV)zLtN?;@WPBY`SUkdcWh8zHj-Y) zO7Sw^v+^+5bTs}udT0SJ_2i6z({F?x@t~=>nW(ypaGf_QCBMl(vZ6ksDIQ&NvogU_ zUm#6Q@^~gW4ie^d2Uuc7*g09Haj~7Ja`D2n-;&LoD9CS^{;gAr-4F9lJ*FdXMy5E=Z&w+srdV3GTYR*m!ZExqn z?Qx{BS$nxDp^snB`>Ir0S}_e&{R7hMa3b--|A{Dpy}&9^_2l0J%6~S*U7Bsf|L%@| zLuIF!|KAVrNZ6D&9w&&gPMJ6%;|uGtB=VoyB9n5sW1ait~iYKrr1CSj=Ye~4t3VzDy@`9 zXJLj2!+F3+)~R;!Rfln{Qn1li$=q>INapl0n} zI}Li#g6wLAF{d6Dq9ABmnYemNJSVKBn8Mp)u9@Aa`trtE#C9;|_%WNw`3wx)p~~Jr zkBg=_=Z$Qdd7={Q)Hm|p?cXb8C0#VKdU=I|PrcekyAOC_4CuD?Ag?RHH=jL;DXC+# zI&O_YW;EL`4ZA1;Ef+ermA_A9`w+N0kz+IcgvPz7u*!C?g>+iq79|~vRl1Vhjzbw@ zP6!+QO!?S&oBup_%yYV_e~gMjecBj4hP<#JTCpZ;+j+2Q5LTv8m*#_vb|lg2Y$SJa9bwJY?*lAk=U`f z6)SCM`UI5&u5kCKLLYBexXZ=)rREDZQUCI9H`Jr*@SBd)xoqgF`4{a$-aVVK6J9uP z1?7+@q1dAvab0He6Q?D{mGaAbsB_YkUQb(r?@3|w52}Px0V-+GUS7NS>Clf}w{M)g zF1K~xZw9-%~tX|Fgux^LbjSRwoEY-~`^sCVb_s9Wzf{L8BDSCCLr(OaL%OjiOGU^_~0BOc-^D8 zPejutAMFix*3#fOK7LW8Kx8LPF$;e&?S9-r@!+pVuIU@fFhjGL5RD^4jI3Ps(w}(S zsb>wVDWuGhLqTASdNj6pmjUgG$#K|P;5_NFBGZRx1!~qgR$Ap<)77HVO_$M3_LecWhsGt-4tUkKBHa-mZC&L_8B(7Z0L~$3|Bxxa&`$~M`v*K?{We6Xh$3#~zxio9J;kwwHD-&hIdx1w? zxyyF@4YgV_Xi>r1z*`fdTJ@%BE+gnXxRh#lO>>k>M;cB5H8@V1a(sKvR>SlU zF}&xf=mgkV{`V`f3?+zGRmj&P7@@xU&-m%vo!r}2w&Yr2xGU=_@3m;r(E!TBJ?;K` zXJbLC7G{CSs9@&@jyEwMxrAy6cru*dZ>3u;e7NF<^BI-fC5{q?6@=q>xV*7Gyu=!B zBD^2CB#z<+hL)%a4~4ibzOPzFW98zP$5Ff4Gop|bNVc|xhPqwPuTP@B?=ANmL5Hr_ zw$UWO-{3MIz*U@u&M;-h6F|}BwOijeV4OFDv6$%oRr8eM&(EoJ56B~a&}bcr;WK}{U!c^l zwATipg0i5OG9un-GbU0a`DSJYjnp!9f4-i(aI!Px5;|jJ!>ll)A2uX))|A^F4^X!4 z#E=yv)64Q@<21=13lJPwC3dW6?(xL*`a6wy$S!Je{F`cXT%F$sr!T1=+AuXIq#K_; z#$5B}2B?mATl-biOXdSzslOYkR$0xvs3gaWzxITI*h`cP=gfF=yDG4gpP4BL=XyJi zzy;?zk>tb!cO`pUS+kH4^mfOtXY6fsj{vH@q;+!BOY}MK-qMIY$UL&R@P;4mhWDR2 zE0F=+E)df$j9U)-stDOsVEv$pW)>v=U+{rVOq`Utyk%0SopJfW>?rx;?0>>_Go;ru z$%V>}vPvG{QjX$3zeNQ3Osis@U*8xkfa9fUZ~u8&%Mar(2v0pbHn&Ihhnv8;;@?(a zeGjnI%WM8U%w_hQzoOa9R&|S~Slv4DlIj*LcixiSt?heN^p>O><~YB(d*XaWlWS-X z${)Nne7@2Z@Thi`{x`(=4McDMJd~p8uS|(l6S0HLk;eGiaPgc3M6d#_-(`t*>qW_& zCAj3Dn8_45|33|%*(2COL5>ycor&b!Q<3M z4zBF9p6-Aw)O&<$beHnE4Le*}R(uEqjeV9sDZTufFpi|FkrEQPze*pUn7ZWrw~s&k z=S_PEfGH7IVK;X-Cp`yj)Xp4RKIo(2RsFM%H+Ru%oG^%LME)k)tT%WY6oK<+$|f;oRqK#hn24H?}d+_XE!e3 zkF8?P=8m;@Cm>dap1!bZd?zIqFGn(m&L3Qc(EX&R|Jw$N|844!F+t!OvCcEg!{ZAc z3sm0yDlzwFElM7$(aVcR&5bOPkM}rtq>ANNh6UqI?z9cg@|qq~PFPz8Cb+$I$Vz>R z^s_dBHKXW)zJ83190^^_FMjtOF5eLOLVzbR;jjPGtKl=$_p zt2$yoi_XOvluc>7YYxobEDDu`PvYLAvrtSs0pMkkKGCtWK2kZ{#JFqd)wVTeH{_21 z(ra*h9<(1MLZ3LK$1{8+nx>qv42T$WKU45c=A4C8C`y~a;&}MN=DpaQnpM|}oc>Si zJ}mw9?-a|!NN1@zY!mQ{JaGQ!89=5YQtcDq|924X$oBu30smPT{x4l6{y$3@lZsO~ z$-*&)#eWqp(SCtYPYrs{zh_rs>Mmq~1;gn9eeIOFT5e=`t5J+qMR~Bplp;UIt6u^% z=`H|zW5SS!Q@O#ZL1?& zzkbQ&@O=VCx0C1k$$AV?m0r=Z8Vwcd<<9uP3~fTA7vQ9BJU`tp))YQ?*eo|GT)5!cJC}89cPoe`G#uSmX!`NHSm--Hv;;R*#Nu>)cjFIk>p2{&r-{bE@7sIbwk2qtHpib!TXg%+AFDt;6H~i#cqw=n3~`bjEon-K1DFJP{8j7 z>Hls3l+phV23A{reSM7hI>ciVlA)DzYT(`&w%VU|p#Tdy!9jpRwOSeg48Lbsmu=Zs zSfKpR?m-#*-!DTIXyrB*k$xN${(gH%R}YjjgF<=bSA>_(kp!UuPEGh}Rx}{yfYtX0 zfWX$VfUD=<=^rKV@7mN~!{RB~!)=Kh5exW`YL``x24}3uwYxoR919Zw6$~4F0eH#= zbwrg4oHSzwXhH2TLZbWsII{m;Z>4aH{towktB}aM-4lWepi7`AC&WCuald_Qu%gri z(BNzPB<0IQf_KZ;VzsW=+`W@1=zL&|0M_07v!O@8|J8Q;_v`{q$18%njw)d7kq?;J z`|16=s`rHa^Nt%Ff$Qtx&VC_hTN>~RE&4US|n3a ze7`2VNluE<-S7FUZ~Rw!(c;S>vKwOQ-~jv|EA(OT z_!^9sRuC6kop#T-KcEvBycGxnh>sEgH);DBcy1}c;=ayPIPwWbvRVX4-FE$^$L$}S z{VR4c?Z_6DT!)A`bpSVLmd7NI#n7G&_!AN~a*VRh+|~txdwU`-`@X3@SPcOuEeBWd zVY(r6SM7!56g($lEv=8%u{R;HlEo|j0}B+y%lE-|OMYU~di42J%ca==Y{8kT0)m2y z2mCL%wMLS`**~lC1-}X5z8YCIOJ|1FpkpVwhA?JV-MM?L|Db0YPyo{2pvzseg$66_ zrq8Tj6qTgy6gcZ*h#}d$FS&6m>{ptsPUkl_JzJm3?hXze0EY|zmdWA;6Y#M_)Q)5D z$4ZHl0KCb3P^eo&bN7hDcV!m0k;m}?J(`hhLlv4)UoF7qGsOro{U8!>zbcE4Lbiu> zkoaH-0;I{GKp72psr4>^nC!Hrh}|WM{S-GimxgQf2zBw8|(c4L-4t$34XM46ZP9@k^`VgIiDwq`5Y~ ztjbZHZs+k`VP07tcJ#*Sb#Ut$j#wJ=s4v`onnNzbsdL`ij!mpJ=Z=;FJ^mIDEE$o9hbEr2yS!f#Z|C?L%izl{9zN!7ev2v3Xq z*aNYDZ~fp$%C4Biu*-%vXMSao3L(7NbO+@YvhcAEFfj$D7ZyUo!b%MvVnbCVlcTAC zRox_pOxW{+E&CiO+=>=+9ACJB!~P700e9oo{yzCi}+go{FNr_!ts2|{C$v&7<3rSlZNwQqSmjGil_^hv7 zMWYUm^cX;r1(*m177wWYHHzSf(-qsvXF0Sx7iw>?_@=7mr2X`)5Qe+k?$<|gcc&!k zING|wqdikjB&v0R`iw?W#rKzDzcGFKmkXZ^I9*~Ht@U-MY_V#6eKG@#GAJqW#7voI z49k?GP^nI}B@|i-__&pbm#?)FckIyzxA?F>cLps)$OnJaC%^I7jV$5=Luw+v&|yb( zPifp**{Dqcx-``j=~QUA8-${kw~UP7OO-*SilL)pVVoqG*-4v_Ib5}nUKJc0EW$kOwyTq}o(Fc_ne*igTd*tuVC;5s7`}0wX z?I=#aPepAXvRL%KH%Jdqk!I(K{aU02>@!e*tMMyKdY$^0iRJ0jyjxQWrT}Yr8b0?u z_syfd2N*tS(xjZ*dMrAaD(-#0mIC0Jm6wDDuknDSy)s+2Oz-#BBWN*UT`M@a6$L#9 z6^@q!3s^%Fo@zIhXbL}7i}{slxjp;W?gIP@if5eqS74Jo48Pt!%gsuZ)~oqXNC6hM zTPJ>~u(2X{(pfNgTF_t71gIe^Li?7|ziMM0Kkw$KxPN1;a}x;p8N`fKv|n=*tk~k~ z^)L|q!^xGR$0dD$=QXS!K7vQ!&YG%q+)SP6bCawze z*W_9!oT@TG-T3}ti5fDgFFt)mtBk@yC0d0yrGPKnCuqYwhEuq+^Z3T zepCrCVCj*jxg8tB+3+p9k$K%i5rU8Id`Iqt7qMtqT3r~o=%!sg|DB=ScbCK$r-=8k zsAO_0<3q4Nh;6l@vQgA)r;7#bPdd0Z=iGmd>5c$Wwm3@^s|V{s+0yRd@u3BXb)iNX zk|&1!+VH4+Mw(Zokf*u6;`%G9)g*EF!HgaFKz_cAW!_^w){3mbO%dh&om*pg zzKN`kv#aowc-|@|dp0d!772wm#gI*i2H$Dsnm#L9_JG2;AoyP6BmZPoB{#yk)3l|R zz~H&Q$;-{L-Pi*7W!?GS=SPIwkn9t3xm$3|jpq5n!dshynm4BY%7t{1P1cl%7NTa! zetl_d&pji|IxjoN8>u%epa}30q6g{OPm);VL}#TSGeC`eG57WIOj2ZyVo&g?HI2gU z73nMUVPx?FR4|nR?Ra~ZPnAW?h6y6pVUNNF@i2B>FJW48uXPb zunU05$#632;DD~LpL*?VUHs1T5H-nJSQf}=zjKsmMT_p##^t#{NoV2)*XqlMh#|ss zB@ZA17-!rc7iWkdqaguW<*z}6fMSKaptX#+Us^cPq`HHgy-=%-xhGgvV!I#rg+B7L z25IuW=lUimh-_U9l4NTM3VyaAH$bA@^aoKJJxBj#2>iW=`OHo78Z32zpqpJ zW}E?{v)q9Q$o73k5qU@kTavw3Wp(D;-m`+@r3lwNY*v{3lJy{%o}TYj=*~Iwl_HR` zHFetCxA7L?C{2LBWx`Gf8wb2OyZTd%dN7Gbt`rhsDa~BUE)bZ#(c*??=w??@vGhAx ziVjev9p}G_0H8HEUWBZLaR>gay(50#muw%gDo8-Q%NRh>?cNYSD$<%flBE?5hV0i< z&c65WUc&&cD+&~VR;!WBOX(@fXm4gfoy&R4%yU9;8%gtJXWzBHXm9ZhS1 zAMsT1vuFhf8XV|kqbYdF2KT*T2xi8mhk*+c`qc^4O1CUoyrsIAIMhpxQ8V=u#fZK$( zJU2Ed+I7{@$oY!t0h)wJQk-5Y-{+t~fkQnO!m2zjH;GuKjf4Dzeg>;jw_9Y4h-dlo zDa9c+4r0Iy9&1p7YiY~`K3veqw<-Qb-ba*|n(bP*mg-#|#jBi^_UGUazsW-NJzsb}?gDhE-4XPqmv>I5x!(wiX)cBOFKLdHMa+ik1kKYBn?h-a?8|8pm|&@c06 zdB?}%*@}*t&~Id!LOzBZ+Jx9Sw$Y}KNb4O_U$KDPSOS-V0plyCe2tn;#r5p)U{(E* z3%3@72u$(W_oQq~o#xgP*w(2HXp>f|R(@%cW497`SE`^WUaj##hop1OZpk<_qY!@Z z4z!4@)i2|@4(?$~V)XKu50WBgR{#0qq3q2mjQ}-&pD>{cG3a>r8=ueVsw83}1YvuZ z2k@e$UQLkVrhBJP_LG5DOeYhD?A59!cr1y$u|w=0f?&R~hr=|U)_-=B6F7~P6YbeI z;I4Io0MXY1V~E!7Ml>pons-McaWYVFw8sv5_SgWv2)U9$+G*J)#{nzjLxS}mHBZq<%brg^XF$==2s4248m z_oy?kCJqfsd2gz+HMDgH)D)K564!>tT$V>WE8{hQbW0jPp7ij8!Kt&pd`QF{uK3qb z^xB?tp9A1FNwi70Nj+}JL!Dz7N35oVIu0hs zGvqj=FEjL@4tjdS9?c2{uZMCqD581v{I?fER=1?S*9b1Z`kQh&*8+W-gC*r-Q8XT$ z*x~%+>B%0OeS+rtyz^&3=3~lS<7p6T9R3BLG!i?+5`$P>8%4_R-Yt!Lg!eQSxAr^) zK%g?dmQ2g}&?R~yn%I(Qs;%&+l(%+BAii8{%wIeaqF%wOp|79zb?gC0{kmMjXvwSK z$B@x@L})NZ)2xk8cj8-u`>Ca8j|w6YB}(yXubxRw!apI8g7Aw!ro{F1lIC}L*Jyy9 z24UN)8C#j8sG#x_y!&}6=B|krK90oObkIs$5Bj%kXbxL-TzheaZE}v;ExCYYHTY!? zL}i*1?kJd6;!kLfTqQwYl`I`i zbM)xZ<7*p-kKwrCiz^pd_LDk_n#rQ;(WzL`5n3ZP&|x(u1!9l5d{tsNCzNOhT$**Q zI6M!`q`G_vTOy=f)s3vquL^;kMy8*thC-4YMUSqpqz#sVU`-vgQ%&4DfL8;R(v zWLCP(%7QqaXhu!M7`)pA=#HaIyh{YSy>t~*l$BHYy?lu`SW(DBqK4~3Wy83Zm{2SA zb{%H+lfTpQ0?45ll&G*{rY(#B6MA&YWbi^tO$8!OCBr zw0gEYiE(~rAUj-LH85`|aTLO)3m)j@2OpfAu#ulK6>-ZgpNY3^BhBgMQ`sZKR91{8 zj|;KmpkgZiUP#NYi{e=Hw{aFIw`>!qU_SEs3J zHV+&k%qz4 zz!zd|Ik)Y43}hE26kcFhnOszKi1r|ZIVYE?Lkp!fpcY$a{_N!XHs?wAHV)8M>ZEgd zL7m`It@TV2688NQOY?XnER(Zs$S8>ep2C42z7x1%DNcHl8dsai?uLH>$B^k&z1R^J zfX$v3&6>6diJdm&iHN$b(Vvu(=0Dt0d9G$T(@K4@&xQM%FR@RSKq|ALRVYrvy(O*K ztu<}ozjO*S&cZXlAZwq3ZAnv*ls3|87i%NmA+Yro{GJ|QVCBe@1vjEcfqQy#^THt3 ztRS|ne;^a!n47<`Pu?t1y|6JuGQ{r~o>7B)h4z(l$s0Xiw`pvqHxh~{t;#t#=9zU< zzHhH3hXr*4WuS&_l^)U+XGd&eJBSo;R<)pdAhpk)mg6Nu;>emPBesO`^O0C-*M{Ls z534vnDwC`I=o+^>N}vg9@dmn_#$nFygr0ymzJ7jb&f?>LWp?h(7Hv~wf!(~TP}$0{o&Wp zsPJ7mq{&)k0V(&nyQ%-JW6e~WXr0zww9$oVzVo}V^luQ5RbxJdl>45K^4ZV(Q`&Nn zp}v9Np;78V?J}?z^j1#F@mczFets|)iRVV`Z}#JgQsTNJPaB%V%mfmcXiaCF)P9P6jw#zZo|(TwH~u6;cBYJ*4I(YOzGS;&5CQO*<*XMtXOXMBHDf z34+fONUk$;g1z3Ipgz|rIf5V!z=W^&HfBWcsEEpi)86^}Gwt&{3m}7=D?R!?oui84 z(7%t$ajv-AL7`O(Bt=~Tk2eo1YnjCRNiKc60ekLm;7%wT7$nFW#7?D_*S%f%{F67` zOFNT99>epyUi}Sqi1vxBl7KhJwNZ-Vnweu;soHNtM7Z-2gU9|Lj1vz z=X1}MvDG_dy`!bwhS>`Aa2KUp3-^##q)|)qaf%tp+*#mBcdH55yFEps9_QGx*x6uOv zuOct>7`MEiP(`knEtK?~tgSy~S^wq7b*C@V6pDmkjc@KY6lJl$m9EC#+|;L}@9i0r zh`AC(paD@FP7;??wY5nZKOCbRnB#U!cu#zfz2?5V>#RK|5w(jykX*|%OE*&Q4q8ys zThhXa$RU>fNvIC>@fOE5j12jR>qyVi;r(MPLvC^o7&{O^!DALE~ z3dlYIvo7LR^QLDrk4|Ecm_Ne}uu7itRXz zdw@yMLmEH{X?iPvNvF%H%E@3Z=nMqwY&1B$F9vQ)>n^}phcJ@6{lK}%ZXt6-TMNY) z)_-a`gg;|ae=%aF(fZTej*!Hcby@Jp$tPp5EwLU6Vkf8Q7hjLQyWK#Cmr<cStdy7F`#FFo#L|b^;o;w1y zi)@DA^KrTq(t2T6dqK$uQ0>Q+T(MWnGCT}zJGpN$65d^a3lR`6V^pm7pBq6WGSVEM z6Z7YJKGhD(wkgSdJ)t?pc3myBv$C8IWWlMc9c6^Xu@=;KDup`%V{0Aho-29yWKF6% zR_&nxB`URsq>vKFAq+Qy1Ptj-jf)gCN4j;T@<}5w)WV*6I$oNUCN>>a+XKb|}LI=&ORAtiGym1Sp!8bm(+pdu> z3{u<_kuG{?#d^DKxGYE6LvdDv`I2FCw5g>TY<<5!7KYtGG%`S!r=XB(7V;ziIyNR6 ze=ZDUn0aBy7Xebg5k>v}akB6-Fntx9QZi^%$Q@vda!kG7Yr!ymX%~eW-$6iTY$RNN z`q9qRG%xQRGvh#)CPG5A!1`i_ugOr!3RPJ3QMhw{83()w&SS)DX_vDjM{JdJC%ROl zrZ2P8gCB!v-AATG7|Bak(UNA8#yYgFPB0*;h)YhgwqL>Noea-A`RoYRQh7YkbRuL?U;F_(SfL$?C#+g>*g0>Vlg-`B(5LxRU3t?px> z=Of=;p7WxM2T#DsLpRry$%$VfLMw$b* zA`QAW-B3os2cLXj5h+1PyO1sjg7Dx?R_HutmeJAK`SIlJ`j7!fgpaN7o_nMae8{7F zG#JCM_^;QwKNqr#g!R7L{o#JWt(zQ-EqX=`l?MAdI#i#`UnmBL6lF15htoN@mJ|R& zrF@4zbu*1&v_!^$Ibvyepv52r&X+pv(=0AM_P=(>9Z6Uafkaee36Gd69-QtqTt}$& zghQ(0Z0&nGc!jpkd7-(@A9jv5WHa}&Dt3iW^bf_gcV%A|Ix;~iPwX--RqUCN=csad z>0jxl?SiOrlqD_&a96$@A!&uSFvHa~51078&q}Yk|NboeZGycGVZ_Cy&M#u>3at11 zm~9q$>3+5`{^LaJ8r_ z+=}c7A(E>IM^lh;0FMagON0-4p`2z{?r`z+s5(9ra)9A@DSp+rdZ)c?bjrN3%!hu9 zed@SnmjLACLo@(4BAXDkHdi;Dn5>J$L z@4^Ch8!ly8rQLhw_!kTXZK)S3yd2weUd^AlCT4bopDaeW6?8XaKO0q4k0$QwHx4(f z33p|&_zxE7_@ap>>e4eK_29((niZktA>pvdc=@%uoaQxADRPN0X+b9Y3lXMI(88X0 z;NWY-C$n7KEWs!i^Fhb9+JlM%65&E^FU1V>@nBv!kAQp{wsbw@XTb3XSz*=<7UvJN z>Em{FN@XD7+Lb8@*kDiFP&$1!+}a!@3ej7L-+N$l09mDwx$b&DKsKnQ%TAoHdn>Xi z#zgt$cZ8uFBZ|7coN_}vSw zgyk)K;(K6qU-Fd4Ub8_Iu$_%GiTxRW+jY#R>oA-aWO<+MDd5O?@qufn>3$6KqXw_w zE=+BY7fRqV=XUPuw}k*rcgXaV-ccr3dw$z{eTF#FyWa<-{%QzJ1DC+5{jE&`7H0H@ z{op?CH?(cpUFYY07@v`t?$t($@q^viimvSfp=BUdqxf=eRhtJ?s*{J&@tkf@b0{6S zd4q=fpbNt&@Of0!xh!_SW5XK^OZ;he^VrV9Bux$FQsv`qIZP}n3LIJPiRv7~r)s*8 z_hmRY0`xuppgHTjF@FXfPMg&0OvWo6knM@oolpW`hn{dga z_kAwX=*|h6$x6A=s`}%AooilM?zdJ-kGWyPA@&^B$Fi5aUAM5L=f}J6nNO~|e8{C% zQ;};8Z=8JFT`2wCzmXBMgYo=z#c@5dgjd@=VmUS(%$lB*6O~&pxz@r?xu{tQ_l6X3 zco4YDr{qU%!d4yJVj2k;LHw=e+;_Q6hzwE!+@FFmsYK!hdstFGd3|vx>Dm+tgNg=zrSj-h#3b=4sbd#Vgl*83eVd- zepKU9qu_Re*GiN@rMLnV)?fMd2ynReN&?91etA$@->`njd7>~bss8dqdDGTw20BGi z#JFUGN@qk3Z-w1o-5?vL+1lvdDtrsAgvebnqh~~^2@*CUZM4+!a>Sg&rsO5w{B-$w z)#8V4_(WYUTgAeB{d61Y#|#@!-^+#3&DTyA{{drLNK1;OZ`V}uXTF~q9>`J07kZ&T zqU6VA-Lcl{;To~NRo_KbY*QzrR}-v}tZ}LQiQaWfeyl+ya7OfQ+n_9IT%1h0!*q2YxH)!CR zbjdz4HECf}Spg(lTlysp|L%qz?ZLb70R!>aXQ`SGHA;|LfK?;0t&ZJD4O;-CBbz-E zaC+;r%V>Ca^_5RO%p2So-|M6D#p5UY+9idV=l~DjLu=8zI%W(%v<{ zf>Ug|?>qAV_{R29V_3E2gz^Q5vvcLx&-Q*D||05z2+#7kTEeq#Y<7_gblSBP4z@d+V zWzAf~)z$WZVKL&5E&=fjl*1pBFGL-{ZOodgmgv`r@x3- zew^wZhi@N!`!HN&0VdaEwWoESdOboF%p7xJ90q6nRVX9@n&nM@R$Gur$lc=H(+Ps= z2Bb0wVxeYgbbRGd5^2Dfp>nPkQ7XJf)~l=NzVSGqpdm0tfQ)4ACo%`7Kr?R2Hjnow4wH84Vr)vx&Di+E_X+D+FwBjJATZF)u zuA)F$_9iKjIx@m*{=F^_{eg)X=sD#c_z|!_adrEBsiieTAM1Baj^d~h!eqj3lmKwf zgAh{4@|%E$Fjq0B1f@`({Dg!kpozdOu{$8!2aq5&9dukYzqX;t__oB`=}Bs}Ex)e$ zwK+rza9bpBvYBsGCdaV+tUH9Zh~r3yQg=}I8PeEBpIa~Fm?h3H9tTJDE==h|H%|RG z0flX!_sGh4&$nncqt|<@*EgO436xVM-$B*pt;t4@d%Wqp%&e1|oipV*yN}T-W0s+& z>mhoE8OQ#s6Fo7Fj*64*L%%hjohx?7 zFEY2>rY_y|MLg#6IU zp8~{9%nCvTIc-x!IX$KdRFjy@l?h+xotDY%2Lx|ZI^s4TuMYQc9d`QCAh{u@6S&cm zg{e=r_w`G-l0kdb+?evj{+ZA;WXrFdML%RgMDDkuJ?;q&Z z2h<>oAG7;3viIpg3eSK91%OFbwF)szO3A#MQJ8_0JvGjXMY#Qx9k8?-6aQcidOIUI zU-^WQ@<3W!5h|*QAYlJnbhfQMugSmRtXf4GgxU-~_u6=xU2Zj!B|M2I8@6Dpo=1>) zzY)|U9@h~7=DYx#Q92XLUX8oh2|V`;`2vGHoPZ&)#+5iWVEpJ6tL-$#5Sd)dUtblo zrNXvP>S_ec@0Wli#4K#HS~Ww*E;uq`SC5^|dbU6xNIUNrEhbGTCP-o#LvLqMw|As_ z*wXu>t|z!+8)|h(zXePjzj&1Ec-&829fGP1Cr@U@>p^+PwKZFnNJEB(>_7AS`ai0( zPe<1;H#$B|W61k_s41~x@@Fw9^>S|yKXkyo93Qd&8Vw*!en#`Z|HSv%VfXepe-Bqp zRnFf?QT%i6Fc^e zC#v|v>$v@#SeUWuT<2A+W}WYM>1>qRBcT2Qtlq$lPd0wQ08o66%A`HZ0BK0c(!nk{ zJfP(I@XQbH>pB=+jkW_5lH)ArW7g5v|A`zFKK&lj?91%BC)tF&puGpQ4g%dcB#l3u6!maXF)P24=m? z?Eb7q;ZzSSFC;Jc&W0fFb20+jI?!=C=vfs=bz~OP>`9?j6?5?MX@{ESYy8) zVJ{iLat@y*)#SGj3O1R3uetZhOPJ*s6J&ew#VxQ*oMy5eozX%h6r?3Caq_(VK?-oz zC~Uf19Jy#ytQ_o=d} zs=QC)R(#irc+1xLhP~@|yAoh@HRz~~-l8z2;Sk%|eBb z>L=oK)x>YCArrfUO_5KXVy(JUi62rE$L^m|hyp`r@&{;dO07eaGS5_!Cs9&Oj zpTwG7-iu{seha0AT=j<S09>uGTJ5TPz+}wLKGRKGx#^Kz^;Q^ z@7;T^u;Tq+u0p$HJ7zN>3FT^keZSB|?%c?ZUSGg7HX$zShVb~Y*-U=5ncpWI>|7qh zB#Vnt+cO3M3YN!~t6E6=*K%1*GBU>0#+v$iXx6Ez#$BwxS)caQHLO{%){-EnhMX)f zhbF6mR|Ib}1IE76bF(56Hy2nc5)HKd0pKhGeyjaI(5Q0kCUwrqvgQ%P4pZmES;kuQ5dP97yTmHEc@Eb3#?cYEC_n9AZ z1^fnPr8%!Z!aQ6^85d#_kZzDm%ZZ<620rHInUyTvnzd z_75lXI_Ga6N@4zYkp6F|E<#7uT>5RI^j|5s%U?(`Q7qtp`y$)AeOW*yS5|F<@n?o5 z`WHpZta-U`I@vF)*w83Oh?D;)35TsX|%Q4PiqFjUneCnRxaiv|JCKa~ml&rH#AP42RV8 z#Nm^*lW_LgnUzi^23{ZQhY}y>BruLi0(K=hD9;r=_LGQ@4b|<@%%?KKT*8NuAaBe? z8IE;oJt}x?HP)t+>*rH|P<+S#*HEL7q>&K$Q6TTgkLLJdvgP1R;ZN|&gu;C_D{U9FGwdF5I4{ZlopN-gCAR!V0%tO41kcH7(@{rrASm;2X3Qos4LtF z{4=EvDhogL9&}uchXlTpKW!A^gU|e1ebLah)c|$EqbAtD#nL!1qBRm>+PE6cBm?Wp*zONz<|lK=Gvl(f&N^tr`WcLJ ztp?IHuNttt`Ykq8PC}#nhEsZUgmV*o&PJbv(J6ZrVnQuZvmi;%wqu`3Djl0%{kJd7 zwl@PaklFelzs}9BCit-vqIkJ*Fta0nlw`@O+Kyot^CE{evm*~F6>nD%26uM7unKv- zKIo_Dl%92DnAZkyi$HP0k(yRB+3xv=xS7_C6*#^gf+!=umC?7iSWOS2? zC4X!I1O^I?lIt(){Sm)Z?<}Dr|5TyBJ^kiW1E+&gBBucB9uVyF`Y84({`mnSi=#gq zwKL@C-og{+BhN~HR{}7l_5O10vu-H({++O?$&I0=EO1#kabSHK<*U`lm0DT@&69w? z^bMf^{aaulEbMkyXem;?QxC?5_%-!agv~KUi4!i_3sA)_=rz}Zs>Ga-%#W9RmA^hv zRNWH$u#m~Up)OCAHe_J{kCrX9(hCOIZ8JQi>lm=-!WsrTC?2WJbK<(_d_j_n7ntuJ zhm^|&Ud@i6X50b`U#G21f)2~muV(Po`zF(CXB~&9TA$hlN0%DHsB2Cu``d?NYJa$* zRZqo*t3zjeBUWy@l@)n71E?ZG<%j^`M4nq7NAcPj1X$HTUPI=iGSfnj4V^v+g8Z+f zEhzl8^zERQa_y1s^@!|%76-H2wO3z*?qCa`#V*)nJ6Dv=B0pZwL+gWb8>;rJzI zEj~l%a!~ZRsK2)x|8mrak$r@kfBIcPv}o>A`~#p9cow4Bx;pLH&`a3pb}h27$N6ynfOJ1|@-&L8qvGZb zWX_|AC{puPt%PEg!da!T_g8Y{cdoZeoclp~`O>cpHVu|%jlQ06Zrq(PJ!Eoa6kuaw zuRX|tq5E%+9S>Q7yN7mhfpl)wUm0w3=-k?=`6Y`68Cw9f7a9R~6VwYlovtt6z z*0v3Td&scm0BO;4*u%F$-1r#VcO%~%FFnFICgcfth46S~y9dWV;XMn=)}6(5I12lm zQwO~`iKuDbU--2iBuCWh^OwKOaEajln$ykG3oE|d3_(8DkNlRSjqLk!~~%4Vr>Hgr9U>ofV34i$-M70 z6JS4r{rZA$KAizq{F$*6h7jd1`^H(jbzGyKqB0sb3Q-{76ZH1{rror+?RGD;R|hs* zb-Lj#RONaWdPAHIA1;aDfS`_(<1!kLI!SL|0UVy|SRQf=z_$_2*&PRT(5D?0SKo|056XFgH?qc}PD7||j%3wB=VgoQbyTG@CD1W<0 zN4Reo*sFaOlDufC^%TjlM-A0a{Q8~;<_BhVJ5P}h-8zm01;Ij(zC=btJY<8>KWuiL zg+Oi$>EjeOf{PbVR#XK>d;0T_z^cM+hclqlZaaHzr{`cmK>nEWWZd2!Og+;{(HlH;1QVKk3bsC_&(oOe= zmUD)s)AdGy2o$B{e_1jLDRh;(jVPy@n*idpHz~7ek2F|<$Te#u*zG`Qm2KzT|BIbX?bV#m^|FTs zWsh?Fpt6hOOcg)X@n~82Hp$Z_N$vf^E$?B=lmDua(dP2`P=Q0(4Dbg%$n>6!ME{QD z;`gzOr-KV)R=Db9+X>o+mlNNsGwEsJcCeN1{PfdI{H0^IJ(Gj=6Pxh^xV~_=rLdtY zM$LM&e>0^v6X%slv`s)7f$}95xtYD^&R7Hl+RmGF*)2@wul;UJ%2HkEm#ZM{Wy9!i zuN{5)P5k}C<44e?OMYyPGy30dn|2D595)o&)tVBINzmy48wvBBF=r0Ydb5*!rjyu z7;7x@^PsG#hpAZka0_KDs3l=D+D0-H9=SG^HKK!GNPWLF-a0;3;Zv5_LgoB6q}}$@ zuU?d|IoN;mW*Pe9J4scELOiN5_Z}T6v^4jdM{VJ#i-;_ULU}v^?kkDyZjXpa-g3VfYWm>rU=9uE6olU+nDyk6MtqMt+@c2Y+*~?E^7;SJ~@J`T%N9`Y-`l9L-73pYCOjFshhljEJL#^aPOy=GyuonMe| z=XWeOe6Xrv2o7}>;}5DBV1^FGm=Bm=_$R~qi73=uhrDW zE1j;K>R;LnM>9e!^u6GKj+=|bK;!E@Glm`L5wh<9N%&kdQ&*b#_tS%<=$+vSmj}ti zkWQRdtj!uEZGp2}9y;L$!jHaBAlvKnl=9f~p6!|K{fXjlN_(6X7F(O3=ZS=?>23So z!!{?5Av5Epp_ZNOW%6U}YeAcvI_J$CH2;QfFsmuYyA~k$RLEa`#JdwXMs>h%o#@xM z>3J^pAX;){Sa$lR8|1}KL`yf>e(mHt>2}E9x?-Ul4qJhac)6UTeWurfxV}nf`yo5Z z$G(fC0V~utY*981gR8eh-e{yVU^57?iT3=ti$r1Od$wdpMPo66fm%T5tS%|p^RZ}T zbSw@TCCtbFm)%8{+lInQvHqeuj`3+TYgt(n%n}ohI!|7E8&QY5{lLSs{7QQvf}62m zX3X;L3v5hXaXs1-ur@Ei2a_m^FBRvqzl8O%tiq%J$ZD|9ucOv(U4Jo?mP6+hq926a z$-M0Qyq{ZZ(7qgfu6(&*?F9Y)tm^c*MYL+M;`=5-k8EWMm0_ce2wCijWMb({-p{S!lb4YTkI8Fy z)yi;p>1rR6Fo;DKuV(P~p7o;EdF>+Z?(yZ;5HfjXm^5xgQpzxuyhexu0IY9^=_XQceo6Q!AreZUj{#UfHI{m#aao)?KTpea}mCbXKOxe z9(xAN%`oWqz}cL3UU}PER*D2RO^EfmT!I7F@Q5d|Ff*Bv>zvljang8t*_`UnTO;j8 z)*THO*jH5TVRRZ8#B0%zyPq-FA>jzUb~8Q|vjg2Ekm<$j!k!f(xU4XeyjG*Mq)nCj zAeYRE8#RpctOSB!5ZuK}0|=2ykPzkco!%{}Gm*`G<}HiV+C+*}4J4Irv^SYZ34iwP z{O?P?AlHl(q+bk7Ou$#~%`$@@ybvLqUR@pswqXMvEZK^lpaB#7Pd*nLp~z15dtsp4 z`P0zktz9;(*admW%I*v213bt7G$Y1?OZI11EM#HTA0+y?(r5yYblR>U28tKqHczFq<2R(PXc-+c!>$tJUrn96jMLZtxcn_7Bi;O^rXD9amM=gCrYb@bT72 z6E!ZwV~iv}^bY=C%wte7mOLF^D-}KB8&Vk7Yi*Sk^>nrSOn;?dN$QsQ z7gYfTDN~0R0=zzG-iQ~o4k4f*O4!=QDgl0D{fkuW!G|YI0*v;djK;*%o}xKesHHTi z{2(amf8ZO!134oj1eE21X>ID%y9n_4mznRbX~vf7nYHi!=P_KPLqkIa!&;0ik2Odx zjLGv@p|tbq|5BSM$;QM5T{TVzVMtI^p_RrxG~yeCAC3RLf{Knr{sGQttcSNF6N3ng z3c?EDUsh0@CG+7jva9+(zg|854ww`jVQZEk$N0nV|6atDhUDI&r+MSxo=$4rqzz$3 z`VZ8{k#3Q(k+iy^ytA#spQWJg!Yo3TQ0sc~&X}{Y{mn`xp63(D?FW%vPgk|_S!g*r zyR4ue)uOj)Ki1y}Psj}Ss}HpJ6JFua982n57vXgSC$m2q_+dXcG#Q*^LK3lw9CN)1 zlnqVhRx#Jc;F3TL-XXFQNzi;|+<|g&@>?S43 zs_DNeFiPvU{_9{*vDvUijp;wY8&|8y6BqJ@-ge>Y978Io=6X)0_OR;(ltVUOkQ>mi`Di0W}a(^v%D|V@1gZ z4@qE`0DNq5y+xmE*vCInXT9p-d0Cu(y|s6!`7rh5dDYHI+SsX)zZ1h=cSo__*BL0+ zpGKI-Ap&oe>1_+%^%HrTqEn4B;jljQY6T@NUrl#7?C-O$0>RIABG;2PAkeA9)#JB> z{hP75XJ+>zry(EB+HQg`*tcgN8$SrY`ujHgB<{SuBOU#C@{!+*al=T;NbMu#&8J-y z`A|K2kw1t!1j8rHt1rj$CJ3W_#j8Y=R8vd)!x{u8Z^n4-JP^t9A@lIT{>FlbW2?&` z;@&=*|09B0G2<#t6w%4K<*I*#+zKUh!!7bIcCOOPbi)$ zo7#spxHE4BI0&L;YMD;Itoc^>dbAokwXIZ)Q66VLwY`2^t?1YYTt;-6LStEV#E?hB zCqh==O{4Vz?HI6qDb)D>D=TiL^UjZDMQvtF3o5Mhsb-J6q}O^8ii$Mr)59f=4Bp1b zfRqmZU&=vH3WrPxg||^@?Aga3^fOTNZ0++Owe)Ux=DRV}Z(k`f{ofI@)-$XoS~@Xc z;zy1tPgMS3*mLf{u=m=JsN4x~m&(0p)xKVgSQbUsz}JRNXqBID+^-!pM9XC>4DoC* zNwHB?a5|!<%BqioFZ%`&IvAl8l$lNOgacvpIL=5$unqJ z9!o6`G0wK6`uqa&ejcYfN_Jp=6YEB=2u&W#m&rJlUBl~Mi-ksh5@yGtlNDVv2N^`- z!nXk=wV<{zF33E3=sWwj#rF0_20E1PCyZIvkWKaOIP^Q1;G_3=LC$`d3M6a++OUHI z!%J;tZur4`oxzaaSQJHN1jbr#ZQE6*xIX+XjyrYN%T^pF|;zJ^2MaMt)KJ{z*U z%3^g<{xs-+@yEwC0=Vgg)E>M-20V9E=vmC(>-uL}X~E>LR<_}=1iUH>$rrU&vsj`q zbUdls2!d8|?bxb}gi|mNT={&$70l5NkkZX=hScZIf8$P;lc?kBQSrUOvV8-9Ni@Hr zeF3IoG-?klEP<8;liuG$3j!aDHYa2;I0k?@()1EP`pO? ztu*;0C^?%WBO?O54tr_QaE1oyA48vB*gQ=6+;JM444%a8eV^rMkYq`2ANZZd#PM!S zE{>6}kNXafcONWPNg;!SLYd;b%9Zsra=bP^kEGBp4hjEqV#d3waeJo%gRGF|w~b}T z+d{=~w^-UDtSn`R8cXSydqu5hKak!-PR(+kt%HBw8@&d#j{BErApA=6!q*RsZFADp z=>RZXqf;dz^dxj5qJz(!z*Ix46#wH}^AVTq^CSL`AvL-xSF^ld%%3xSoOYT2XGuo$ z7sT|k)Z88X=Fr2On)Ud{r_1?|r)rNr^V_%Up@?ncR8B<(!e<^XR<6UstAS)Qh!~>d zY&;<*l?C`Skw4Xl-z}eJuGhcZx0#RReZu}*fC>{jYI|Pt!{!hg z{?mm|Raa*A-(IuC1uAA20{iY$bWr<+iGYZEzU$Q(!q_`cJIGT0gqeSECTa4ox6Jid z0mS?Bdme>_@kNG#P`96lPS>y<8Xf$i4ADOH>@yd}zs4MfxOtQI^G^P-e!VcR24E!o@c&dBf3JE7ltt{gXPXgwFNYafVyJZ`nmp|%h91Ce zRj-f3s&c4VaWCRu_QGDfqUYCbwz*ANZeZ6~{yB|S2vEwQf_8!q9FT^MF_@CXxw31L2o=T}) z|D6l{Kz`GX;e>u_M~snsGt$gYu@pXN#BkF=3aAK=wEa@Eidv@ya|p6j5R`MA6a1v& zI34@FU-TcNdt)yGr7!V7;N6IHKV5y^xK_N725Kg$d~G|6qbJGLqir1UlzDoV4idxsB{GF`?xf~9Kf8Ft5Y95}@ zO@I*(0R~1-{rk_3+Y$dA zV8HJc33%Xt_IiIN^Z$pt`nG0AOaNCfT|a)z3z0*vi->>AL%h1pm86kr*XbWG@d3+$ zMqihRm&lQU06g|*7sshId?PT(sr9*B$MJZ>c9-xk_4dcUSsm#K_NhZbdWe#WQ0Qwl zogfuAGww`zgFpmxtpt^DL`L2+r$G$omaVzpQ?0!H?Ay^JCe z|9XDcXGQ+e6o3!pg1akqk~~NMh{UMYM344`pg#SHO@&c7-dy1@rR?!L z6PW+{;hi6DDt5NoOla|{h2Pj|GszJ_3IdGu)_KrEprD;$&VR_H42cV%Ta1~K+={ep z{lssyaP&Dp5pwbuVVpLqis2h1=JL?L!W9y`B@yq1QaH&yL~fxk#ug;f`H(%tuc*ZQ zUyLTlco7xrH`_#08)un_=P!#h* zy&*SvvlNb@6#j_oYu*k;=b<@$C-0rA)_&`DJE zRV+kMP2O+}JpMZM)x*I&+6Z~W+Tenk@rrBb`D)wj#rLGnDyI)?j ztuV3v5F0RR#S`F3C9~LUtnJ*Y#083rTf7aJK>2*IqW$>v&m)F63NdLr_>9~n8AY!?bxuP;ZAGo-!Jy1Hh)eG#Fl^nag*nwd|7PJ8q~^#z z(@p{u@f0WPyrI(N@EUh$nL|uff}kP__;G-!MsMT*@$q%MgQt*G8D=!Nv0AOeaK*P- z_%;wI?axE5#lg56rzjketPGkrIMpwkmyWa^9lz;BfUr|85G12?A}eVuu^Ck_V(iGW zgL~8o@$SH${NZHC64%R-K{K4BRLe8<&lnH>A;!VJN~TaYq;YI{f2=gOk9y<0?#by9 zW!zcr&y#4H@T)#?;+1~KuysN%hH>z};L!b=PRrtEuj~2d)uW|=)nwvqGR3 zkVWrV(yvyB-;PGV?mV4k@b>zpLW?iFY-O4aXhmosw11cZX-tTAG&vLAW+P=#^(T&Q z7MK{$t9&tm#QKopI16$SYu8Z&;+cvg+4mv!0?}@H?KkXg0EykKj+b)bqw(Vsh?51) zZ1BWQcKEbMG#+A;F;CqAX=|J<%}}}W3X-mxkfib6uj1YWB}+WJQHvD$MK%Gse9+w1 zL{1;QLzVu_{Y36K20AgT-g@%G_{rh;V3_{Tmt!U_98B~?)dlh^jcuw75Y&ikwsq;o z=bY8kD3u5mi=1rDaNu@L!ne`A<0>|&!CRFChmBl}gXpS%JU+taBdu}eczj>G04?5I z;XDj4465dxW+q`8B>3(s7OBv!D5Y%V&)3(bqh%7TfX(+l^qzwfbsDjB4QdR(0zSgA zx>h&OC^4oL)PKL-eM?jfJ@y&1RhAv^>)R)y^&4ssa)fN`I36KW=3$w2T7J3o^u>hI zd>%%QB!rtRqVuw`502+U59extkK3bivi;$#F#Mq#5RCI_`zRYTuu zL?VjUpDXGipTQ#dxYUBGq8Qf0ti|oEk5wUjOh}yP-H6@ujRYYcc}R;ZRVxk4&JRY% z>zSvp_wo2Pt~+}qFx7mE1zc+=g`H4Pd;7OaVKliHGQJt}ABU{;6o zWML4jg+Em&pLkGpF4qPt0k?TMD*?AVx-?tGiC)*!TuRov(1@wkUnK75zyU zS<%Donj)pB(n-P?_xik(VuD1J{blN${YAa~10yx>t7PIL?y=5z$Ld(FEScM64+g>| z*z;7308zNHmS5gJgHA9}YdZ&`OI`5nIQXGPuVTV(7uA8RdzZKrD z!hv~spy?j6&l5zYH0?IEPh=>38#x(Qij0`Q{#e`c0x6%`Uai(KS_nu zR!jzj_*A=f_l@7DDjB*Nz1gzpIlbxfUd%N6fY`AAoFCU}`cBlmp@-=!`VcCT^&BKt zY999g0P;W$zc1`{Zs-Ia4KKlWDwBU1mboYFu+YYk8eh;9eegTxD5IimBKUqm7iMm9HNcZ3{nv~{{$$zK0Jm>hp}HNzNi{AYeN z-3T{3%YPWv_S{mjgCA0m!G5DN&Au8HUS4g&MQMSxa=<%z)%v7`AdHVHQGKO{WTf4D&N$I(Mj7$U(dkw+8Ejk76n z^>!<+ZT4VKQJGNMH8E8I5R@DE*MlE1hc=#YW2yn-#i2uwh?MwF-iXn4} zG5_a|&ymxz((nYVcyqWKn-oVc8W?>tJhIt=e4`Gx3d13;8=r+gwKm~{EH&1sjz0Hq zhb0iZq_|?`UZLd7mJ?&fyzBP3089A9lW@{hIJC47>;%4QiVTjZ#>w12^e z5JJeAP6os5TXE;Samb3$K<>2QV8JG=T=6XyFW-AgjmXq3zf;l3`oj&lX~t+|C&yt( zSQxwMP`Gb98YrJ0A>=GIXGAK-yV_dMttJE39q#|`UsEzuFx%t8_X$drOOFP;VzC4h zD%{ws4@5zEjZoTqV}_XV`&h7V)B?GEK?7I`qCQG`H+7~dSO<;(7#lz}v} z4X>w2f15h5uPGD?j4iQagC+pgjV(gy@ovnFM6}(G_hWqQvmd=KZ)2ayqgP>ikp&e| zk+8bFcvS1d;Sf1K2|2z>66up8tI~$|Yb@~k`sce0CS36T(>^^u*c5`YMma*XZWi!c zFfp+elapF-9t-*}9Z`?#$JXHbyc%SfY!HdSXXkfvQz4K6_0@zV7>C4QbMe4+VI_nR zK!wmT(=jd1g9B?8d-2PL9Vl{W zkur1`OpZhNWfz?Y2q9;utJ1;|&Vu`*U>U+aUVK^9|Ksj&%#1>;&5n0tj}J60VlQTw z`A})lV%_0Np|oT1L3ZTCnK6n5T;mg3F_zsQ9c$*hP`_|#5iVnaS9X+@&x-!><`Der zhbX+d+Jx_S8?bV}9={&eAv=6HQmf?nUxW^JpP0`+A0ksAr^<>?o2+oTkDi)uj?tq@ zE5a|vjsx2usT?CKZ1|+n0i8yL2i0P1j!|NbuK#+8Rm#1XUg?86!ibfJ+CQJ&9j3t{ z7O?-SKe?(=D0d^vD#2v08>6EF5oCAb*>ou%_#aCpmSc2<3tIz>sHkrgO3!>Qj|h9J z)c9tnkq`7=T@!`{TY}kk6o@s20ensdn^S_^A!f|YY``DK)v#^S486(&3oGXWej2ym zzpfgejp?lxXf)!Ja$XQZNdI!7dB<9;Hye>QY9i*$I1l48qhYHrKxyr%o%?CbeP<+G zrwJ!YcP_)5&pwBjKU<3e8=%(8AQzrO2q9;iG`kfCLggq3k|D9d293J^vxJW_xAMv5 zoH#ys(GXvK&YcYZRQlH7t9FFlO!Z`q6gU0j5RXP4s6DV2Qd>HMq)Oh|0Sx=cOgUVD%tBh@A*K@J^xx z8ixmI^%i`UrbdJ4k2P4u)W5)S&Fn7X8BpWp_ zMr339^fcHjwxY1A|5{cEA!M)#4%FjMDj8PCDzHcG!^8?V8lofmH5+Q;6}k(7m1;Z$HKB z#Ns$9>e%BQX%M?HxlV*|wHPCsTCqA_iOt+Ra{bJ$V!?f>3zgB4*jLf^nUA<3I~GIi zTu%uR+#L)JXl3PYy$U`l@JUGf=R$|bhw*H^fNe7;4p|^=>MU$qD%0=@7`Yby^@nxX zTcd)DZHHVo{)>k<;EGXo_`{eQzL!a2hy#Ht58peWnQhag=OzqI#-&aN)(=r4rqPYU zP!kSSQ|mn;WS|(3FzZsxjcLTfmmk2R|67FZ>I{s}2u8!c_1IO~`wP0%a^DH3xd8_X z^08@eAr4kl<6v1KHtpVv?W_`8THb(G8|BO=gq&SwrpNJr_o{p-kvP!I0@5+s{>_tm zPE-KAEI!<-QMOhb43)ty>iir6Ea!Wt zknXu6Tn;PS_CE}3+c(FADEYsH5Hc{FaCuyCd0i}?7}Vd1Wkv*lABbU(oSE1_OP zA$I-p6IL!?ij~`|(crDe_8;HI=L;5N)T-aU$lxH{Ap?G9+xIS&2Wd_zLfsyGS#*5QA3_M}KQ5T94tAVwMs;x^Dr#*o z=1xXxfE~N@m!q(v_c10V)a!(N)YW+C$-6N#*omllx8sg;#$ndPvCvxzu<5|rlNg8) zLXP-LxE94h5^N4=JMqY63gnhKu}vS;X9?4kQZLRQ+KBsSmE+zS<MhNj+s)R9^ zHGK-^oI4knT{IWdl34wMo0%;<07bhuqq>)!v8Y>qC*)cUv=Rrb+8pG?0tYv&LcZOI z#5fZr)ayrcM-M|<%<0P}!Oby!>y+Wb(wU8$UTpHv6k&;+=xo^zx{GV^3O2j3Kk#Ua z;5Mb5?=n9nN-vc39@nM*k=dnK^Vi*Y?1EBQoMNopKNZd2U4TDUUyLhi<{fvtvSu#s zYM6olYaIpW!6dkyv1noePk&1E+E5ZCW8ruELGQ+J86ujUxM6fMzr07&{j2Yb^bR-% zxIbQ**o9J~6jMb<=itwAnsF#thE`GEe3k=J_O002Kg&R8&i-_`UV*27iom#MhT^u* zhQMr>;K>V0@a-S>;k~O4;$P>L@wq34MV!4uB)BA(lUkavBT|7TVf)^vWtCI5n@$~; z$S)H@NdGe+dek_Ki`AmBx|$#UU0i2|lbwGX8!T}4zTtkr`BiXlt|~=|EeLrta$suB z$KnlKF90VTG}gY~%+DQ$`y4H}EyW;|47?k1Q*cc~17;tS_4-W2WypR|>A-D41J_FE zPi78J=eL8I!_$NkGAp(1qT6oO(X)=z=R;AD6vMr}3mCXA^nV;zjSsFlh)=KEk1=s( zyuLORlb=t=pFW9)vfhN!KzXNuCYSlWRVhZSq<;frsYHs{CL4E zXEX5Z%5Z*a$LuHzfAQ?|>-S^tgZcP|1^o}5TZUQbP0%U&ci$N-em^E1YKIRi!;V%* zxtthWZj8}^eYedMLP+OW5MQ(hYu7Bo%TN9l|NQ$scz)S->^ZatOBa2Kf(qeje!#!R z+}G{Lu2M7VDz@XZPd~>lmlo2NLabf49u*A(G$!&a!j1EMROWz$#hMC{8y}UPo}mx7 z4ly9u=7JOQ+mxA)`(jsR^#6+(70qoJraW**jTK^Q_Caq zpC2QzrBn;6vn^rWE#W$pu)uJeuJho7n{!>~@%8JR``j_=0;vx_#mZ43ZNIBMH#J|h zNRFr`5B8bl*r*@;m)|SpYMlfDw?mLaXq(QmmKNc*_` zhzsn0IT(OXwgltt^`ZQ}R@S6|PU%5B+xM;-UB`FhpP1Of=eY3rMEscjGts}IG-%O? z@MY-H{g>OyQ(aO-I^8GDxIqXZ{X+s-+%V*(ry^(KY)qLs13A%Jc$@0r8ZsSIhRLyS zcOmS(NK-@I@;k*%duKvI<`mrW*T3WZgcxLx8jsO&M&WVNSGerbPlZU(qLN@~iVDGI z&w$LGeIkWij)cax7RZs!%@B#s+;NKM2)(GeA+=M}w@pYU7;{=FoM&k}wtZitM*;z6ah>r+RyR)R1qmvOdt9%Sp_ zooSu-))^TQ$p76Z?|hrsz>Z~{eMbLCXl8{QJ0s^WI4LZT~YnB)C4W1|P6}b?ZGl@cczZxL{c08PlrI z^}-4>yRjnG4KFG9#sI(-2$FuA4?<1;!QbDAC(1)bfC{f494N|4xwkzBTVT|VSvHsan1 zUt+`GcJhJzlNXlYjwzLxp4!X@@-21=c2%nJ*wRQ$V!_0G7F4{*0t~LKBO~J5h5?jy zW0tBawV3~Wy{VkbWm3#)Y(z$#1=F)qh0>Fy$vtRd@6*!7SoD0E9g9;{Sj)b*zt|8e zh2G{tT%!X!`mjs>5rxXOi)Fd7A^cx5c+|Ga@X@AVT=!7|Mn63acP)&?vb}*ApU{G* z<`!eq-8=b!|JpIN2oLbzi=CGlMf~)4ziLjNKe|Bc;V*Pg?}rQB+;KI$)rG6LBM|5rj$$8O+%8 zYd%U?JzpM{fKXO%bU3>?ZZI?(Sr?p-w1i_So586_n>`AEXp^%8!(?581axY^b^JxnD$a%Q=FWHMwPAJ(wS&H+}DPp3Jk zPZDZxYXvr1JP6e3`1@y~djdSD(Me!dif|L#78Fu1;)CqSi*Lon!|QSDgep9EP8ps& zXE)Si*I{bJk9g3q8vioV62q;Nr?CoaxOhurOhL(0}cV8=Nq zxVhR(jNSX}ivk_6^ie{(fv`pH;OD&OtQTfN=u72dCmb>nGBlL6eK6x%_PMP4_kI(D zkxymfx(^fhz@O``&-J)j`Ip^%p#S2fhjH7)Dojplfyoa7{WTk{5AE}z*WGGGYM3QL5L_Q*3P^EueGzl8-R#7sROlaDLw zAr=$nU3WJgdHrL&d-v5iKVE}|g9SKPVG*9-AN*>}y~m@1J~5-Tc18vu>oIp!4$hl3149EFu%R{?*WCLz+%aPeCXE}5L|rvDZ7pRd znzPpf(}!bXT{GUxR%4f}Etuk_fy!+WLn4>ryF)d6*+98FRD;40DSp*^kl>LawZ)DP z%g(%M5C0Y)2pbEA7KOMGB$8ufg#%yPS;bBWXbJFVV*uY(Ijq%#eL+Detm?n9+^5Uq zvoesaE<{y!A%ceNLqgb(yyb*C% z-Gc`%n~tfu<1sN2*tT;QntRkvra|K6f5!tCkHU}u5e~2W2#-AW7(QRN3w5o+Q+kQ! zx$lhLgs=b!4%L*PrnVjhTYtctufK!!2TtzNbs}zRsOo)7@Y=^ap&B_FnYw0_24>^Z zY!QBZ=NWwM8IJR^Lr}hVEsE;;zLmruT$z`NYnqy{C|!+}Cv=nJPqHmed^~_j^)ln5 zaj6(s6{o;qxf^o1oS(mYhcOuCb!Se1A7=`~O|0JaQ-T5q6(0CxQj9Biqbec{yUWhp z1cE&=JSh%yWWdq{C9T%s_xxoFQ^P4d#> zDiz$T$m9CN4;7!I$(gJ)Opl!LyQKg4>K#gu!R}= zY+YR!Yk)=N!&+mKw>x79m6CJE?*{ zB{Lb*d@lSDD?^?5%nR;0yVRa;t?S;3^vRJ`X~+9D7I=MU=XuYc)tY74QliBVdklD= z1^ZmUzxGf7Ki9t1B}RtHhS@`#a2*TwrzE!^ROjNy@pJ#~bmH>&+^3adPlN)i^&RiK zK@vG~%Ix^c(RUZRjR88`rj+5=SS414h%u$ag`kuu{CsF|oKNn|OF@doj$nrqAJyC7 zp?UrZIi4vC=ggamA+_J*sikIQWk$l~Hel?SB-Ac{4o~F=VBDB=Xlu7))4`rhOz%QN zZ3AlAc~PqiL3(-)rcarMtOOM*4xd_pPYLxpAvdLA)~rbw<5-WEAASfgzq$|wW!<~l z>SRItrWN^+B_tqGCx@fK4Rw$SGFv?gi%U^f(FB*qgrtZd;a{9xxIp?2OEZ2QqQG|n zCtoZn)kzR)b`NM$z3Fkm{NH?5!R2gLy7`MV=SBwb%bm$hO~6+ZlliOQgWZ)wBlz#N zUfcFP4~iXpcf=7|R!DeB!EL{JvD}R+y#xtXtl5HtQdwGv<4u%GW%%XPC)P;+sPR4b0bMT+0u~^_51J%xWNYoRtiB;mug^bywlH;Lrda<9ai;i$z&`S-ypAxS< zCaVKgy6*P?sM1Rj>Frrxs7teA_+)^;=sj$|@Zr07B_dj!xH2zGct)EngM#nOTPQu7 z`&ylv!|WI%V~3rQNwGo+>2Lp@o{bNtcAQ7zRJ5|deM6BJ@2n5O-@l5*)EClm-pi?c zUX7YoDGTyzu<*uxSo!BYd{_SVZf{;$h`Xj$;N0{k3<>I=o?{PueYhacd5glRb`Ecv9O<48nWBA7n*WwTV z{RB%7Szt^|Lt;e#B=+nteihuq<%HFvLE4Nv@a{(+;bZRh{%g47;;yqwbF|}cz@68g z15@2vytimA%ydEYH?xMcB~^Mito@*=NEknxmmJe}X8??Vo$of+AZq(ec9EMOk3Q1Y z^_93g!exkTcHreS1K)jjFq>#;!CsRbP3-$|xbC z0b{JyCOqOFQp0Tc1FKkb73chWci`RMAH;>34cJ3 z1V7wTfNkt}_3^a_@W46cm@~8yf$HA(lHq#gd^9DEPZpXVEyrGI=NAtSOB}E$#2BUS zy9?c8)IL6!#bHU?ap}tlK<4)0&m&I%1+HtxW%I|_Pg0e9qQS{sw_^};_K8hEc5)a{ zU5FBk95Jbx$P5;8f}QH(Q&Hhy%_p9LEX>GuP z{rT8*pcDrys@ra*C8%ody03&hV?J)UdKMBJSK`_KJ&RS_%TQKR1(zxa3E?J0MFc`- zsX|Hh**W$wj#ZRvbscXGg|fDac7}0a654UWNPMFe1);}xAKV@y=cmpYI;7)^3^RwP zBcZ{DtuYE1ZEn0ce(+8!H+g6Zj8-=`gdN`+dcY{-v-t)G3iIQgjw;$_2blT_lLx$ts6Oro=l{*>P=CrX5L? z*Bv!#F^ufD;-<9hj_kx({-WH*@T1T7vHun)uzlI$!8Liqgi;`})rw-n;2KBlZ>((H zau<)dSqDh}nVFS}cVje&YH{F`Obs@~DR6OJBQoN8o^0||Z7b8@jdh{?%oy$6xFnmG zzmtUQCo^&WtEqTkaWuA;YLFCS!_)JMvHq@ISa`!e{`kfv`Q#FQcE^OF$@m~qk0DJ~ zEF7xFE0Nv1NN^}viZq*9SUPnX%`GS}9X-BOiCx$dqr~L;=F{HOZ=S@$?~mJLcI;%w zz~K$8kckFYHJz)oBt)2mB|-+Cc1RksSasy!nz!)JPu8MJ9)%>e4NYzxV%WB63O7KD z29#De^f-r_>72`P!;B0BIm~CxMY z)!22YtMS(wB+tDO*W`vlr8HsWggKbZ>WG^*RU;^KET#<4L1tVans+S1dq3=j{mdM` z*{MH9=~-|u!A5=iCu%OK-k4@FBr*xUAAlq;bB3p4qT7MRLu9Ct9IbfP$$Xem;e|IU z2x~eRBln*a10T^mo#;hzunMyeS&=?07E60D?suTvo)v{~haGRnaBKJ|w^V}h6>ii< zny|B!#@$~R&Gt_Xus+ZSsaS%sY~36T2}NO5t?-P#k#4f#vJv&Td15s#%5K2CtnS|~ zA6btFW|iZbF}0YL){GI+7C77@9H>>{^KC(R=(}jV^=l~Kz5d9USCL4Bm$OU|v0wki z1RvbTZ3S&gWFCxe5hGLN#%JX%>={1%-Jr%URzck^4CUxZBMbhgvsEMskYmXy?ziWq zMIy^)$49YVc0A}Fok)g}RW57`Fmx+V#w{b`5Nmhf?Ktmo>!Muh#wfEG!<}|~T5U$0 zDHK;IBv>7*K(XvBJYe^sWS11ttxhZ$z34g@CnfLv>(t@6(`n{szj!%Yg^kLt^CTS+D3N1SnFHT@q-Z_G9$VaSy}9sW`4A<_ z*fHgZA{J0jFLNU@J_O57Q$2y30`(%N6W^t%P$+jp#N`+&ccCmI5(g^#_B_{H+;Fg` z)NVw?2A#I`M2OR;g(+hsMyF+AWO58lz6z}PaTN|5hGEKx9ONX$KwGm3AAR`)s(Uiz z9tK2Dn}ZplWmxcaF~U+bDBIV9kO&3Jx39;p^6nqEPDBay`h^R277(=5mtx=HLhLIl z!rpxa*tKFAHkFytXsyG({2%ctw;}k+9EN>~>*{)&LBn4uE>Lw`ZBJp9z$mi|3rhOG z5_m&;I3idj|NSU0-%b4pr^ts4y96dsrH~%44hNu z<&*05#qT*Tz7^Nz*5cvWrMMxl2BYK5usS3xFz;E5iHimDzp_d&7szvo@BYbx`2|~o z@#8){c2=nQL{=x_D!tp&9c?8UCJD5=HfGZ&eYMmCdS$Ms4h#VEiR8ZT+ z_MIVK8PXbTc(1%kDD0iflR}~Qxv(TmDCh>CSd1yO zE=6{f1?Ocn@fS6JpHqkH*>RMck}o^jgFk0RBCpJcgY5YIOo|wlJ7TX2%DyZNI@0Hjx*>G6nJ~Ecj8RLX)}gdJ1&c-C5xXcDV3nTw7yG zt%TJ9*k&OQQV)tc0GIgp1-2b?(+4U=Zn_vqPM_u?Y+t$*D{7qZT8prB;oDgD%Wf3x zuSS*KjOs&MvGA(}*nX&I#~NW%(LV^+{g=Qp<7>c2BMl|pK9v>{(+{4WK#~bM2 zUKA6bbaGQsKgk`LjU5FCgr)A2XPl2KE=))3FAK16O{q|N`o+dX3-|onkkBAJ9t~} z<$tjXD7+p#GD^v}a2|0f+ida<+3>$W6V@E65K4~rnGBsFjY`X|@|5hi;lo~v- zuXh3Kh=^LuOen>e=xV5hmf!r!VEkHYVz)3 zECg@u>AZqEW{3%QHPzsa936IP+P`RV$1WFw&0cH^3`A~yBkmqIxbtcFgLoF4{bhYC z{!br<^+lCJDWFp+F_TqnGTmk@w5z(jI75#2azk>H_q7HkXF7@7v7`5;ye;WV% zVBl6#M=rYXd}uWOl|ivRVXhWjvVRYrpB{pGO~)1Ym_|2l_@xdXq-3L6+JBX5wbzB~ z3bx?O5rNnqee(Ng9bVkMqy|gkhp?ddXftB4%Z$tS@50Bqf!J$0`QKf;z8=waE_{$Y z99D5#@(q)#8CeabNUAf#DHZX(1P-u3e^qcA|9F3zTDu1(iv`cI_1>P5C01Oxtp%^9 zkA{1Yjk_C2dbb@{?aRlT6N6D=XzT7dFTW8{^&Wg0JBnZK4!yJyS-LIA4A_DIX%p(5 zA*gmn;D9w12Q6uEc!h*417v2+E<`n3`2Ef%>-zVNuVt0Ibq#Q_U9>hpidWhC=njR; zhx@;;#t&?NDLiI>>8U^N+ko|~^7&(G&$2w-{Bs@Z6`C&hsc{Yak<`$L|IQ49w}aIY z-t5NBtLpgs`%Q9um}}(klT-7^H&s|ZBnJD`5eW2Hk1^MF|5UoFi zI8?(4DYhU9KZ}N;3P%%%cIBe2jfksr7Fr|&lkeyxJ}=Iz-i62( z8(y3e0y#UM+`h6FpQU7=MoNh|N#8hJT!PhWe-)O_JQUowLp%OvJo1-0NRzqXl(Pda z3y3UEq5Gi6jE&#Eg6FrWRPN{&7|Ff$7;euf7qtjg}nO+I=DgB>3NY z7d|o?@%+kdLTTT-YwB=ZR^Nboa*t+^KhcBx#BhqFxP0Y4p#=D5LLxhZd-1Q-_P>J~ zBK%_y5Mc9St04fxn_Btl#JI#{t78=SMdL=ERf@}YTJe-B0AH-%Dg4X67o-oscS8(V zo~*(`L;EfBQC=Ay+~~kdS_9r&J9xJ5fp+7>Y~0w~hz|tkg3KRb@#_{J+NPl=ms}_ zNl@aWknVS(erTTvwNe#s{BgHX(lgvKZ9#|vA7`oYv#Mv~&TcN3A-u_pIcp9IB_|8e zYVbpH2-Xf!VnJ}{Jyrf%Bt=SBQ z%DPN?dE{93n%;o7emQfF^KVScK&;J*dxUEi5t3F+Ru*HDsssUI2P{4rsytd8as{Hq zt;bN+H@dLDq<7oZj*3N5kPI(IAK#5w&i1}%Ho37X$bkEopPp^w)#*c#UDt{ihpVw$ zZf8dW5uV@d#VSJ}9{lmtKT}>>!fD%22^lB@9o+jxbD(+6`}p@u?_=SP5*F0EV5#eQ zw)}zgYK#gG=bd_X>VXmiH)>gc+gV`GalnH*ofwIdF2?zuq7gnDDg(Jp;2pnDewYkH z8twe_T%1eUi95W-g>T|J?oq&HhJGPk#<$Lot!c)g5D8uyp~i#hJ}lGP`Kk6+XzVCq zC)t~QW+*sT{IGeGbZNohY>^Wb=x3wni z)%Wbseb^vFQgiR8av2)g)=QvF-uW@2JymKkLd>pCvp!!kA_+2&59_+onD=#bTkG*2 znnb10cdrt1g591Q>_h};#89K08(9;xNey;Ma0(;K)Iy=gZ5?pI- zLUdU7dgBas36bH*sxxB^s|y`b;nCq^%TU}@cOIT;&czyg3_R>)JW*MK>vj2f)UXQg zhklDkjjM36rhvcARv$#JvK$tDEksH?rVQzQ&!b#+$Zwkhuj7k{tv)w?OjIJZ*^EiU zl7-U#^}8{{`04Lfm`=W^!AuJ+UZQiWK*$ zHC}P&!FQ*n@%!oWG4XhKMmEx7jv13c23b9d8F3@#@dp_*Q#|%!enEx*mfZ3OT%9AL=?t>=Vge`=9K!SB3`Sp5@zx z(!TY@q-40I9{eY<^UwRo3Mpdiy*O{(*?VRC&1vZ{cpZ2&`RKZmi$r+gR}Vf8GUB-v z+n|(raaB$orX;szsplN5RboSt7HbX#VCDY7Ghy)a(=#!up&1X4Qt*LOPX+qAo&xVg zV{J-YyWNUwn?2Z5R3?;m9~ZD)THk=%$Mk$&`7w4S{*Z6QbuB*ZI$R=@9`B6X18)y)|AKCU#fQ8S2aJ}s?R95}21{DS_Zo|_8O3GI94y$kV=$KS-kwvmB7Lf!H^qh~Aq_M34-UNnxhyP3<@;>}l{ z!%|l17!0OmrQr!!`76XzHx>z{gBRBd^GjMdzDreMQDEoYVL5Y}6_{OM!_;nchwhC_ za);vY_EtPUQjI;b&JXMl7l_a-RbYujj=z|j@O%#YH9vCw4+F zK7M=UDs}4*>#({|$4}kFRrCfMZocbBVZ*oSYJ3+ka21yzpA?U8aN-TU0dMr8>+g#* zh9TZ&#{C&WK@Y@u6u5tr4gXc?@!9$vLg`Ul7UoY)N-Rnn*mXjB?wnQy=Iyp&S*QUI z9MeshneFS5!VeD9D}r36pd<@j-X|6F|6sMT1R6w>2;{L*>_rX8^1-!dH*Z625|;r)TT zK>uA@D7Hr_@J`sN&Ay;z$N6Bf6$W-*pJ#T!;I?5!eGT6`%b;;1Q0d|C2c3|Bvz8tE ztIaY<#Xi)TrD$}9W4cv`&%;glLE3rG6Hc;Qfxm9C;j176p8To*D&$;{`#*&n9}m;u zXHEOl{3+S7``L|7ED1K^UqANWaL8ljrX}D7xf^@J<#;~!q-+Jy2z30_I$dbhN_eym512@Sx=G6$bHmg}wef;<49{d)2_gOL6qL(CNq z`P}M-{YY+rL27tHEY6qt@JnB8=CF z@p*X@ynUFd_U^nC46)hqR$Tk@njgy|6=Q0-2hC9?Y%B4P>5}@=tkf1C^k6u5#Rsg8rQC?3E6T8(E{M&OmzCM??m+v}3exKo{dYah4-cZfWci;1@=Ql>`Q5zt}Mt#qNG%ln6x#d1o>D5@<&eVlB z%{vFoW6BRdlK@LH^=%YG!>bf{Z(9;}Fvp~a{`nB9wcHYWo5X=>Do z>4}&Q7na1yP%G~GoO;9owGZRiDK$(d!=l53V_x&#xN-bYjI!A9ev%Z;;!~@YIk_G> zUL`*^-{}g+i0uJ*zAheb{OrTR{2+Y1IT&yM8j2TxG4Xj+zS&{Kk9+m}6nzyfawsJ} zLicQv=e@(DU~oI}PK>9+`m38A6I0wW#9QqHGX2~gQ-|Xor-dIj_DTnJlt#8)pIhcb zb4UQzbaUU5=)h_|#|t>3N>L~+gFJ}}KljlpQA9pA)=yVZTpBJyEYxffMI zx=!cjH3b=LHO)kaw3OCeFFJ8+~pt%pb>2hnLj8z0@ z9(KTx9)~r3R0-r-bso@3uq9fK&DyR%ua*5K;~PbgsigSf5I6DtnJ*#Ojz5m8!BcaK zF+aN=VwDXA)**PwG7KM^hhmc>0=t}{P+7t-?0^g}RQX`G4TinHa}Q1#hKv>~KYqEn zlYA2WCDAQq6(%P>?qLN{Dv{!Lg9f`ya_mv{d_8mf(%5D()U4iY4Gcv>c*t?LOT{++ z;@m33;QtK?kgxS3!6U=WIx{Axhhs)lD?f$TE75M)j|sJ#SY_QPS72JD8S7Pg)HHQI zmrznvI2u~IZWEb3G94FMZCI41!a;fW_aiPyI?SH`bC3@zwGtPUwPNhhNc>W7>(lxD zFUp8UhRueLVtlMl(*29V+;jD8edU!}vC!^=tskeG?e4nnjekXIP^A~+`=Gu(#??x_ zETCi|xJi#y?F5u|mlzFJDN36Z*jJ;%wo(n26a?avEx{NonF4cDC>E*%(c)F`Jpo3@ zt1wkn#3%Th#{P0a{{`$eku48bRI~43L5x{~5qcxOJcR(0Ti2r!Voo~lrALL~%GOq_ zNK|20J5%8vOC^&dx6FZG)m`sLy~Pcyd1*o-rq{Rd!y?~|aCg}F!0qM3EfVNheemnU zUH4H=j)}kFUHJUlud%RvLK;Yo40m{q`5#>r81WDcfIaFxdiEbu)LD#!A`zCZZ$SMOP6YiecR zUA@0PZzytD#q`bO?u|v{#CqjOZ?NJ0a{rzOxif0H7jrWk@X&eX`0Lb443Dz#6|{9F zqY%Ay7+x_Z;GpmL?vyeXbdITTVP8-P4p;YL5YzzTw(Y;TZTOj0 z%OXa2s|#;stFfF_*4wjBrsqm<6Ca{tzDopWK6=g1aBsAJL$YU`ja)s)j^h zQzsYCPsPmPX?RKHMc&XzeACB01TM@OigVbp8OK?yqx1VUsfgyPY8@_vpB+JS^xhLSXbEn8FWW z)-Y~}mzf{>Wp;GGSJ=3WM7*vQwR_x~SqFLmW9C+-Q zWMy69rnU-e_I8+5?@yD4X^@bS8?$4woX0`J~2ax}72d3SKh?;6Ek zSiAZBo>D@Le{c7qMy0P(W(;RzeBqJdB@pRxH{j0YZ~1sC@B|8&kQ*+ zX3WoSz`5y7d{R8F^7Qp~BfiKF!r^)aU+KS`Z4-YUBjaalI2QNYJip%E?^84Og)b*1 zL*sJcp<&`4C#35uu^t8P>tyVEM=l$iiMy=LcyzQ1r6=S$=&le}5e)IPUnzEqyg1lN zA~!NPX?h{Md_XL*@;?~^`1X{g#Ex?GkR-gKDWck>56og6fPFU~iCI2`ehR7qu zB|rClBEpQgD7+FZKbM}Q80`H{xm6aPkI?z`e{LEY}nSpV}XtlzW? zbu7pnO#W;Pz?Mik3=S_u5=ob>5U1NMrT~-}B-p0w{(3a|9 ztPL+*ScA()mm|$&!!HK|@P8{J@WA32J{ew2jT zZv1h3w+1nF$M;80k&pjfyHY7}BaWRjCO2EK%qc;uwJj*;lJLD8r$wa2fw!{MSQzZ$ z$Ma9GFrz6h27Ag*-lw084}ez!ycOx`lbjXYIN$Z5VkEdEn90s(Q_{mB4l`j-dGC%V zT(Z<_R5GlI>0a-%_9zqzj4QEWtxDJJUT@vO&E)e6TYo+=@UM|FKL5td(pGrcd2L%4 z=M`>R*heR&LlPK-gO%;K_797X!SxP{hVJ9W$VV|i%_I7i~e&(Sg%T_S{8UHGJA@P1z| ztL>k3Dr}Ba;DDn0Cu5~piqVxW6aedkD0}-n3)`k zjSeZA%x!xJ*J^V^UIzXdrNwL(JSf~ge3zs|v8;b82ED~~FHChwk!QBy%O)qBuHFS` z_hy7a#X{2eBYJj{OoH$Hblm;;gjW1vOf4QczZBPvt;MLQMo4XPtgjk| z%inHmsXtVI@|0HB#2R2#0qYFy2bL)=8KTTCEEuHw8CRkHw+7f9p}=Cp>2IA*XZxSY z>BeWBbdf&M@8g3ZVu8x4UUV}igtI?DglQEXqz^G-@u6B=GcF4c`)shXUH;ij1@_6> zS_`*pef+WZ+*TX*=z~#KceML8*Mnr1*@}g%qE*y~=Lqg11$TVWs1z7lqVRAWs%n2|Q)YZLUQW~_qtS{fJ{LlU#bb3lpX=_Cv52)g@OpxeU#It{6qw}LrtMuL0C)cN1gJ3afCoQ_Qt;ugwswR2Uk~eKy=7Ef zP0+3#LV~-yySq#9KyY_=m*DR19^47;4DRm1GlRQ31Hry|-t(UG=Uc1S{Ml>oy{5am zc6W8%S3QN*8C}4Qsy}?8^Q74h?>B!v=GtixM5{IYDn6_kr>RLMqY{mOI)qojw3pf8 z@`0INhBq=9NpG7><{(+sO>%PEx#j5Nz?^c>`d!I`Ox!4Zq46-)aiWMP>=dLtxn}hk zW9$|k?&Q*4Iu6&J?l7o~!&eW9v8U5{CKAd5NUT9<3f{C2DP;biE|ujPcod^IPV=u& z8KQ~!v02X9U`k%I%%C8mjl?MUBV*O?%mKBs{oUPkTxl!fxDFw2^E~#fCvQ^R2$zDG z>7f(N6_ny?@qcdLWntVH%F9N`#!SX|7cjo~QjJ%-?$%Zf_>QpiTEJO0B8kk? ztaN#F4z@ck&lqri6W+AA+O(eS+C#J`r$1jI*{;`kBBu|4Z;$TQ&RFWwjK^~X`SBTl%GpcK1=l}hc)zAkI*Mj#t@rrJBdq{yCuC4&-;F8?h zC46V-jhGbE5oK|wL1mQT?LrG_aDFA$T&x&#i&7&d z!|_o2SjmLqtF-!BW8peXW|wbzZ4Sj}<%!3$8K{bnJIs&auiq7M$P`$cjOBj8AGNf& z4+ZkzTl0~lpITC~HR;5;m5S8dHjrh1z0ds^KG`-7z5*uqApYta{7Nb+6{X^&PCkAz z^yGuc!d{ug&jsVIs?a{VZd?yPnE1*jPSsr#Gm7DgGvG3*RF7df?fW9Q=bnpo#F zLby(_|D(GS+~j`AV_eNiB)T5C{o@A#k06Efyn|$_41A{2pwXFD(;L}$Q;C|EY^7sQ zd*itcK))e@{wmIz+tI3rBPOPvi=i|o3!zTp*`2NP9)Mta%Dz8sA19!*pP(5@Ez)8~ z_L0yg&#*i5_bB+^CUWa86~N-Vz3X;p(<3*$jo`CoUOC5108%Ysj@Y6 zzM*va1%XQd)cAU=UHMXuI`-8a`RT}--xlaCjESi1#OO?3x*V!mhL=-bl)p+%f&r4%9Fc6G^S>*Y4h~>|@J? z!1_7eF(7~YQ#!1)d+|`B?lLrQMlbg4UU-8gNdRJXVsZf-LNb6sKt%6UwYAC3JS(6QMMEKe?r#x zGkD8=O2i4VXM_!+Q9bn%!K^&k{R^@5%pEM91tZ4|oT>?{6fk2_)s$yvP>lprZP;*S z#A@RQPt?prTV+)ZbPeG2Z{mDlQZ&l)%^9n`cc$@)gs=-zL};CUw=EPLp~ zi6;`kf#zc`u)_px1(y(ld1TJtb2$&8Giw%i7SBP^N3WgmFIpFs;w5NoAD%uqG%Gws zOLQZ4vb$TeC(U|k0OQ1T;y!9GfK(iJ7wUTkYX$G#U*E}3^!fT%!?a@3Le0f@TYKZ4 z0JpeOt)mSymuLU?j)eq-9;CkS?oZBo=(YrjsJ0z9XYDOqJ2^-=Txb6R1P@l;mc$9` z=y^(7@~E2hKRF>dQ;2VQ1coy`0|8zXf2qtm6G8*t-IRG5hRVU*bi@@FcJnH5Pd4LwE==X(2Cv0D&GBG^Tnor`9LLzoFf# zL>WK*Uyo8Y-k7%%dV&c=WOHP8ha_yEH4XS@w@`kd8Q+-9{uM7O^|zBAHJL%97C{zx zxC1up`H!O_@m+rQQ6iT824Ip3XGJCsq)F9^@V(8WTl{@JK42+?ULp0fIrOUOO>BJP zs7Ag0Gw-?UH!JY28IE~@m7R2nbQmorOu6TrD2m*+*+bOqXOX%ePrT96=kS?(>Epfp z@2*?E`n9-2Q@KgrYgd?6Bj6cRzaAG_OY@3d_5$QS6qW4_LmIX77)7d)z(99Xmnf*j zdopxWNoBP6%xdY7Qmn%@pUV5?SI|4CB?w4lvUY+nqG(0e2f|#a$$$A&ebigXxgE+q z7MS0X^}X9FX*brymTC3=9mHO*672T4?mW8_LBd;w_Q#DQ%Thmd%Ic78<`Wmu->~q4 zzDNaFMTdg&FrU2ZFOp;w`tX?}F%gK6z>1lTqjct-Yio_^-)g_vd$EvAq2H2S=4 zFkt!m{)^P=r;~&73NA=-FC?`fM3zLnvUt}T);~KH{=rWsN@O^PusbC)iU@jUAG)kSKf_?}Um|@(p}=r>m78SuO%8PFM$f zxlR~aN99I`Yeo66Y0F}QlNmL!$H`t>h0r4bML3ZtkwEK-YXt4+u1YpEc8&P0eF$nb zvY~yHxmd4ig35!Y{{G!=cbf8=1Z6{g@f`?Ozx};y*wH>t%{boC`O71bBa4G$fN9To zWPK;Q=*{$fTamQUSi@FfCXj_(hHuSdOu^(YF(~U{7Y+LmOZSOoxS*_B3HUQwHT<*L z58^c&J`vRZM!*Tnk({44di8PY96p5xMa5*u9D%?U%w}?K+7}^;=DVSN5x9%jVh&zr zJ9NF(BV1i}BkJJEy%AU@x|h0879fb<&nye;hJ~GGS?B5e#fX;CS6IVR>Ff87x@R80 ztJLE3JUyV>RTx)kmV@7W!KI=g5c|^CZ6Z=jvgt0c5JQ$3C3nkq=%9vW1leH?lYGoB z`K=uV;BsjKQRbYjd#G5M0i{-7FnGCkTCKUo*DYV9xCGmONHmWBnhx>7L_AFYp254V z?@lf{Cz^>!rf#|u3D4z~cE0hKv^h``QIC{U=V7Hb)odO9XiLu(<4Ll{2^l?4^^aMi zendCIFN{Paq>H7T>;8g6Q~4-@f8U_v$fNPHv4TPcc}xCb)iEz*z07i9nQFNp`Uwc% z-&)$gS&&MSBdA{)CJx3d0;{Mnqg`@TBJ*hY5!6XUjcV-d)|aKgEPt zjIZ8z|EbFuPf|M>WRXB4Vgh`?BF?vs(luy$`Y;$lmq{{?rn#cZ!xwG58<58TDWp&i zA&uKWy#-XC(l`0+GcdCKaEHsZMqs12M#Q3j(GKcBY*(lfxb$#$WERcSSFFJYg?-VN z-g5FJxS_#qsOQ;fEK~8jet&Kw!+C};bm_k(*)t?UqU-KF+MANOAZ#`QgRUGI0VQ5z9+B`~X=WLA;7(S(+v1i>VbX_DU?Yrd>%?2`_Qp!P}gr!%NPmXT&^I!-v;$HgI9u#e*-f@V>Ci_dl75Y`&wRW~>| z&ws2HhIGl6nu>{lXnd<8dYQMp>8?STre;I_0yJL_J8W2!sAU@8b|s3-t2PBu%Th_(utKm%DiI$P8$`cuSoGij_4pfM~BV%Al-pCIB_>qxrBm(?LQs>q_}e(7_D z3;$gH`2qirmHijp(`Ufm0Ic)e2q(LpIswMLt7OHYv8yG;{-By-W*UI5m(VHv)EXBo zkcYLCKd@-)$;9%U2a!F8cY5aZL)ieq1UNM##FVDbEVi+Kv+K^~hvEhG=RBTd-4*=K z?6oWtQ2xcr6~N zko=s&WQ~o#sjSU=feVi32}yees)B#kMYc%l1b5f|TGm)%Piby#cdfZ6)v7sKBGgrg zYZdQ&OYikOOHb zSh!<(*MBcC_Sk$T>v&PCb>X42_hKWiJQX9!or^;e%I9n7Q>q;gkNHM_D}c8Z_(PNH z1ALbBj?x;e8jXn`2{{YNHSnH@5BpV>I(JP*qmB;%PcQ3#QN!}>}q!zK& zituaxHNDw7WCt`l^1LU$ZS1n$1dC{)dIvAd0(^d;Rrlo{HyDl<1a=^TW#p&iLKjX) zBO3A@0*QAl1;_0#eRRL8C5ZuKzB}>lxHhegnnk7(|JirNq*0oQXe;{imAazO(@P0L zz^zA4kdB*-Q#Vln4d{5+_XuRd$>O}Op@c6>$B&}_F%T=-+;0eQ z!9VWEczSpAcA5+4m$=a=#o>eq_)`+%wL0fZ(LXd7wiz1q!@W!e7x%M>P?l`EE)R`r zaBeo>?o=`UBKRD4OxQ#@xNhgkyJt=m0yFa?tsCvM_FVGXU~+akU|nzcq62K#v~cf{LD-m_X| zmS`Uf;&DK1$s+B5r3_!b6UhwhzpHkX&}GKGGiLoEXxwwu^ks48>FB_3dk1rUm}R33%rv zx)b8;tn+RSJ#y^O2MpGS_`12%qv-CBPfkV1lE&-c&dIcOBLKmfxsTJ&F2C9s)2PSv ziECAUJXL2x@_-9tKJ=(s`oYq_#bR3iweg?zAq(H>T_kSndT5O?CTT7HF*#$llI%w3 z-|3^UpY(i+4S-H5eR!JS`GU%&IBI~rcyl!hf3cZwhaX?hOh4`!(VDY;2>kMOP*30Q zwtbNqf~s~%X>-_ykvOX5C1@o$iMOqKEnlrP9aFFyQu z92Q<|Vvl)C(C2x&q>0<>T<=Sw37*~?`5__kBsYQ%g4CL6t<_F0Bx*5R>e&49Ai&Pi zxd!gIvS{&AUWnfcO5)s5{7q~b4tIpmlaMfS!HCYRhy`|G&0K~e5pnK>Y!0`V@EyIj z-^d+s({N!P-a(hBZKr;IP7|?BnBgfr?N+WmbP&X+JRKjjOOFn~;Rd`wTyR%zUQYIV zGlCQ&{rDoo_;K@CyWI#$5dnDZ%Pe(%~wIg9WkTvm=SG)I2TbqL5i`^7-y1nf#6c;)e0J7*?uJXbsCa?Teuy^9 zDC*KOCV^jpGC&s8E1I6(ey55Qo_)X+crse_;YQS-*O>FI@?A} zXRn{}Gizw;Wsz#-!yB;r6b3`T73ZW;^y;qMwdtsG>oN_G0jxP z8vv!zqd`Ba?XeRckjHNzDYYO~|faT^a13 zikH8_uKKI7kyDazN|G?ermS>@EQFA#2? zo6sK|fsd#7!XWi@=nUkKv}^7AvAg4o;V3k8M&+Y9N2p~v0D%E9J*KkCfADg{ftC|_ zON9Iqo7F~^_1gFqUa$K%W|g@bEK-+3Y^o?KcM+4V>BJEQ!3Ighkvl0g_ISG?Im?+; z6r`e#AL`CWPbNI@@`k9rOadLV94^`%j!nAPW=#mdp@S@~rO$SzMAX}q!lh!<-m80c zv9!iNA?Kvwz;Qm}s>d2JF{!IW`ZVQwHI6K4MT_(kxGXMLFMS*?ZjD`M6Z-Rtj!SQe zpJW6-DeUJ-kuye2;b}6u8jVPU3@o5MlR5$?+4NPn;A~FO>{%QG&HhQqlQ9t(=M{km zdL(ED=4n_rqcLwL++SysOWn<|4*dRfPPOFv`>kGafMvyJkE3)Ry~O=e%;H-)4LW@i{Nwt z*V_)`2x4fL9nD+*CYiRj`{pp*8G9PDO$v^`gRmV>3q-Z2wPzJ8Ny7n8H4oXYPLa4o zjuv7KvuC3rQF}w10*!=fXP>xV6lFLzkElmXo93bq7XIw9eEBI^t85IxBKPrDCJ8eU z7(Vu(Xy*GR@8qJN05~a;JbzQ;O{|Cov=G%la&);szvv^2F-!}YOP$Z-@u>^wk1*)` zSo=q(jC5(tr#wx~@zXe6J|4!z@CoM#zwC1H6NpAErKJBoIK@D31>ff>7Zi6VnC zAcq}RKBA2Ho`S#1ffBqG` z>jMR$?sRbJW?*)+$eHtfSHp1BbRX^&5|S*^bVS!n-tPmuJXB4{4~x2pLKpIxuD+Eh zFQEr(3$gOgGR|rQE;_?+@&av)OQ}v%)i$);iaEIPfuaSzs_s}QakWl1>p0iQ}&vzNpWPN6S`_+(u|p2teVY5 zYA}BbAYBU#KA?DuXd*YOhOO#^uQ1;Z6segCRfnyN5jzBnh6qA!L3W;YEf_#0(BT?G z4B8ZX_um-QYTY%%y`kwPI`ihq+lmF#fWzpzb1k2SUuQ6tCiQA|L;Q-gEHS9k@^VBk z4Ny;S4R|2Zx>0Ww*q`=!wU*f1tEp7ln9jD?q>iVw9n#U+)Rw*JIfPqJ1l7h!kHUk@ zc3s!n4hZ4_vM;zKtcsS{Jekl&Qn|tsj&LXPh=Mrr#$y|FIQc}t5HAIBHY!!rjPU!n zUe%F=g+)exW$7=b7O?AsQWWThvmA{{6Op(WettaQ=3q7Q5ibuSyM)+~Wy(Qf3SLc` zs^oeBH#cM=6RRT-UI7thPR&!6pc6^z^i{MuG?D9e4<<_~7`8nzuS8gEeABTX^MD`E z052i^4;9mOxLM9r*v2dxRtGdXt=-|7UbA}meB(dObUj4Gm)DJhl-9QuZWWqyfpV#L zh(3|LdLf3FGrbbaXU2Z@Dd{rJ6r~#0UgcDIW6hmIL|k#VZJ;bR$Z+S|L~ku!Rrz+W zK?MP5DwWpE(GaOBz>nm^>t2Cr^Gxjg*d)rHrGIj!?EI&%kF!A(tD0;>!dKie5AwrK z@pwB^SdotNw4?3II=eCCA-q^*BP0zIuW-z!w5-&_^&^fPqp}P$=$CHLPZleL@bOSc zF1AXFW>|x}J`Z0lEmZda<4`_bo@pWejPaL>xeJjU^qFtN3=PyIqjh&qM68DB5E z^ow4xPaYjXE$krKs=*S89<6xk0wmWm9LmY_?`?mTai~VLCK$R&PX>OTy;pb8FtFm!q= zfQ}xi$dR@e@hTwe+?f2qFdddrfno{9WpTxut!;KN#1U0>{YtGia~DWOy&3O%w+M8Z zyFvslWi}>J){G1#Zfsq_zNjMtwE)l2!UA72Je=+SN#vqyVmGXOhZLZcp~LE+3qBgIU(cn57FJ%K zuVyYi6*Mccg^S40{eVsTznXR|EB z^c0N7&UFRs`tD$&l&|C<>;ry-dYSiUJ-YjLDz4%WIUo-TN zl;yQrAzv29rN+C%@3DB%=T}GKN+}=1u>Ca{JCuw4wXlwG!w{B&__ThWc!Y)6#TBf+ z=ljeooXGsqC2iAoKH(u>`Uap=uVHO+c8;Rga3x>6fC&FVvwQ560b)|Pi*ZR$eosaz z$EAn@pmtU`4P)01L^Vq220+YmsBq}Vpdf$VeN>h+3QhRZ?&_~E(^IkH5;n{~7iiW{ z9flrL@*kXqac11MNaE3H)R-_RS(_3DG0gjKAvRv>{HVRk-KB3;!u%iC8j z6#>vq`^%L#*4K!Lo1$$-{c_r`j?Uln zzy2&UkS|&>>WxVzYgrCQMdlb6-u!U768f~yH2LwdVOV$h5Rl0z%W`n}hny_z+h=%% z&qcB-fg}NlM5%UkC2PUhu*pkx9uy_T0BiCLA}%i zmOl{LBQ3(#xu@I=)sP^}YMBe6s5Y_!Hx?nCG-}Z-p(*ia+6H-hijc-Fx8kdeyw^#+ zXi@ZVSLm9fHJ7vctKtTj)^RWH86J~GueCjZ`y zlUbGP#WWIMkXJqy@tek4Z$n#0BfcFYUEcFHs^KFqnYSx1IkD=JLN@@c>7P6@CF!G#4 zA_~GCN4F@qMo+gLIMO&2fatEi^Sc`uPMc|5ulpc-{(zngn^SkIUl{4obCx-1Mpylq zTi-|GWTAoXA=#B&MQx=>3G?27n-roi>h?o|FI79&fNkga+VDkolMYYZ%fTb3`XRzI zKhR2Fr~>Sy^fYw=fI}F8yq3j2>XIKINN%>5Z zp3}(RzlR=Y!v34aH{M&MlzJn|8UHvH!k--H4Q+}FitELS@ZdHZ6w~pKMcZj79QIJU z233wxq+7>+POj^WA?#P-)GkcbCcY;XNw@l3S3m4K6e4i#o_}UEwJhJgbDZ!NxQlgj zOH#8M>9fjm)?W{)6Xcd_61Drqt9Q|~zUa(yF-=B8bRVuksWrKqOP8`cHVBh*yHN9$0bH5`rK*O%s$2_6Ws zxpc~O#~tb4eyXG4c-vRPmxhCPoDePZNK#MruInY+_0LJ@sO}Tn!gdhZ6MftHp}$_D z+4K}x(Al-0s)_f0jllTwt19UeBhARMi=rET%wFCawhHSI8_>~`9kw{kzr{#Y%p`P$ zjdNDmaik0eJ3}#EOj`~kL7mrQ{U*d@{HpnP75W3z02@$odl9_ZUooPo{iAR6(7>qZ z_mCyGbp+70UQTZ2ddt;~7iW56pch0rxgd+ijf%VFhs^SeD87*A;?Qxhtv!Equl`B} zA)+7?S0PyMYLt}bA@_@t9s90~;IErzO=yvIPi=Z)A5~McYugqm!t$(ZOWM_Lq;_=C zjm@~$9TTtn)QzU|R;g4IUY~32+vEHeHJTTxa=%3>kHQNb0^ddaxI@77lY-IVePf>E%0pAX<)A9HQAm4QK| zvkyCoTk(DN;BDRfB+i5NOE<*CjEf0z%9-(V6^u{tAlk`HkR4CTu zRYKDertOkQBu}7x*nc~_eYc3z;L}vJ!kQNVMs*Ou#i+rTlIMz~7d!dVJ~uNYFIxJQ zv8e(m4LCLqXkL!yCda9H_PZ8ka^Ur--%RK_TUv7gfZtw8byDJ+t50v5y>+=fnp-xq z>&4_W5HpT63n%`@u^yIg$I8NV6Nvl+-AXKbi7nQjdwRL1giO-$Zcg zmyy->S*6vfiH*MZ&RjaiRd69)B3QnyjZcqy;kQIXPtZ7E|Ky&}V30Ru)7eMt*!vSv z+fib-Ms&)FG6-nL34QGn$(k%S|8YN+6D5qq;Hn0qaw02l{@&5_JZJr5@nIW+)Uec7bwuf8gqLhd8 zshxz5ee$h40SFl#qV!AqB8W887R?I3-k4!xQ!W7t6Ge@p9e7ku=CPrY#VVw`+mLQG&L_i>;D znudV5@07Hkj0o1JqVV|-`Qqu8TPOMMZsg6YaVog2uRX@M`zo?j$i#qAvitCb)iMO$ z(AKAg8tsK6B_r<`&?p(doExU&KpdC}>I6Hk;47DLwzq-ZUe**`ljTIGv6#3|WkC(5 zb9Q}WtRIcUl#Px7hL7s6Fl{0RMI?MR(($7~IU)j;X-ILo_vS*tlWNT`C(aL-7&iV_ z)5J&9gAd%?PZvU%33h&-UY=Oi$%Y4mod3{XD}ST(VHSY1NcG!4tFxR4NU^Bnv?^R$ zof=5Fdws+Zj!3#!G-|M7?qPR^SXjPD)Hxp@acasw;yG{e5b6_bkKMI!lsE?Bjr6}o zUMO;9Edx9wRL9wnI1#+fMbRuDw%@-;RJOzp2y=F$)`aS z;cxlHpX>#2!e+)ooePJNP=SP5sX-(Dq%BIPpoN``kGE#4oi2Cor;`((Y^hb; zc1V?Iy|aOloCF4H=snaQP3(PbB%*mG(w$R5r00&KDzW%m&-Zo!-5zn-GF6kIlhk=@ z)g9iGp4bYWqGjtPFV5ovk5fYGFdO^t3toGL-=`OCttBg%P7*Yc2}WLcyzi~icJtnO zCSPEde#V6FK0V(|c~0KXM=xBjLjm^NZ$ibH&vmi$V-F@chS*9nW6u<_jO>S4%jv%& z4aM>Q6~|CxH1H~14nqYKiQ6|I^22NDC+S2wmGbu2fD0Fj1~SEuQ`Z9BaS02vf`=eO zTwdQV3f%}A6VG#*VZ}xQLf>AY>2paYqkhj+K)>tNAhA@btJpWK$ zOI4xQhxyjtQ~=|i9ycK|e1rjF(#uo}#>2V(Iih%1!DfXw!1_nw_sDE16!ovaZ|>^4 z_8#DC?WOJL8l%x}#ru{1cz?in#zfXR=eQJ8t9OKNhcRNcl6X{D;YFB0nl!6VIzrzQ z0$iiFvu`}%OM?6Gw%u~AcG90Pw~8gRn|+^QxE-Z6eOn?1URkYo{pZ!`y4N@*Z4fv( z;1c<1Sy+p*qFGC%p{c_bt*+78P_rDBn)WpT3y@HcbvLfW82b`d^d z><)H;SIR1IS-5&TI@sQ6)CpNkyZs_a^{?Q*?Z-d}7FM{;wWR5sRH$C8`#Am2ZB$5Q zqtXtNk37>spV%wym&@E`d&%EL*fKuRGfrkjMR2$|iQhAQdsSJt>t)qs%8D*nC%n$&hgz#Y%MQ*geNalYHTO%B zK?Vsct(v`brHWPD8Yka;Vc|F;mot-+{eiY=ogc$`abul6`}|+m|JVB>MF!@M8|!fw zDg%JGp*Ojc2~2FNuz&_kwc?8`xs`W3!txkBPrE=uETECya&fs%Z2P0$+Fwx=JV%#$ z_{K2NN)T8O-i4j6zDgwlCQ*c)@F>?^z*71v1rr_8!i`H77ID~NiQx5f@J?cfQf%y~ z1r4%@>{5~bVpopf#AS1pMgt+lhiT8%o_D%!r8#^3BEt1@OAG&c<1R1cj3v&v2uD;>FAuL zH5Zt=orvOUV%tJ&RmQvhw?hLUQ~{GZNPMd=m5P#(p{5iygT%U!yhF!A3|WRmY}~p> zb(}lCo^}!~bqjK^gO4l~MkpBwFE4O#uVT9rY=Ur@>)!5@RCjZxOTAtfi%0A@r=I|* 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%0Av{5ivu*P7a{@LG9e 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%0D@V{1 z-P_D3dsqI~(e{+*rpfFy5c?k)+D zmX=1kk#2aO4LIY>nK^6T_dBz`b69J;*8DTeC3QddzV7P>mGlC(es@DdZYKW|3g@K4 z!yPy3bIH+l@+#4F%mqX2Ph&K$CujR85x=XiBcrh2k3yHUy}*WE`fO^dv}xOGjE4h( z*>ebO>-I9syq)-o!NM9$t{(GiEL?q{pNyKXe5soSukaM z@99KJMfN=09O6py>b`G;yEE^$1O7d^(<=4okqr5|aJ(11p^&S*EFXbyUT89-KcF^ZZH&9wKQY<7Roou#b*##(->k`2b z;m}u^-s|j+cX1zjDA}aLhL!2-ddrIl^}UtN#){Pw!{6z?;u^XOxN@%n8vZSRFF#e% zk@_|^*Nmd}K`h{y27jcrv=AWQa4!J)g7R~!{h55pPxy^L30cy$r;$hn#4t?ov5?`i z*^^$t%NuxQ#bgp1#C`PwpcUY6w8+8g#eVmHM!5ve7TrnGQ7|C>D%Jj+wZ|(AUS4h= z?}}gB*E@bT{akz#{L-U8ur?SWPaFc1?{Q%RAz<&U(vT;0tz4mTu{2TkdS_tL>2!Yl zUcI$+l+Npg4EMPjf#zn#re>QJ&ofuxOD)T7(qHrj3o!}&_GtjZ1uJstm#7^L9|mO{ zzlF1p+HLxdpodhCmvg#3(29EzW?V2?!*Ub24s(U9cF@eq}q$Yn=)ii^$-$F~t)~hWkf3Fa- zyPWH63KW%&ZZFdr`;EffdP*Bh6sF%`NaF2*(4rFz)q6adLS3#nEL&_`U?R!->}plq zPh)3o)*HI(idJF@8YN0`%2@jKamtpC3(M=Tlhw!*)bp^jd+Nt&eDns&B`=l41ZRf> zpr(29&$Y5{TrK~5WJ(Ps`hb2W*&%!2vzc+@8L^Nq-cq8Kk#aia-7gT~&nzeYB=2(i z4J8pMuAeGP$iEv+9b${tMH$YY^*!SiM$2ig!H}ovrq8=f!r?F<%tgx%-|r3&08qfs zXAhl%VqF$Bgc^->gkh#1P%cJ7vk&b#re<`GJ~Jj-W@Xn^x*W#b7hG=0b35MebX|&R zbso?=wVQYE30v_ziC>9H-kqu|XmrR}x%8}-kogzN1Trk%<99W(4e={(%2=7t586#7 zC*8B0L5|$2*DpGI`W}#@o9|P+(_^2-hk{)0qyoOrTmA@_h%5bVxJ3BR;1WoA8-tuB z|%MA;?L7(HT|G z)JmG7g$UQ%FjBuqMIiI3U~9Mhs*jbs+ZD}5Wvk}>nSAX;64_0<&HZZU95j6$6L0Lf z%JX&jzFc5E)qakf`3bH~WUW0htDy=$fTEPxiV&|yL!+$G^Rx!hjqG|CD~#EsOQ7*e zW*sx`eQ-NQwY31=I`M^~Xl7z7ho!4}9q)$CbzHblGs$@_nDH@B=h$xExhF6<)!^y- zrA(v-V)T#6QkY+@xDFU68fSQ{;`5K>jC+u<7v; zXo36h-ngz^ek-pZ7#Ir#4*Fz?rVma@3q4(G*?74DPaayv42!;1$BqI&tm8dpx$Zft zj{sE2pZ}Q(xl;bFLY}bI_&g+U#Fd<36743HHN!oxxLZ1i$+1vC0rnOFMZEPah04xmBJF#+dD(rIDi;R| zf`R7<5X}y3iCUr`XiTJb9&xV?lwJ#dCgC2;&75Z1x3PHT(_txpCCX$T_OzQAV-Fc5 zCCJhd_D-H9rZBs!-rV-